SpyBara
Go Premium

Documentation 2026-07-15 22:00 UTC to 2026-07-16 22:59 UTC

98 files changed +1,867 −510. View all changes and history on the product overview
2026
Fri 17 01:01 Thu 16 22:59 Wed 15 22:00 Tue 14 23:01 Mon 13 23:57 Sat 11 19:03 Fri 10 17:00 Thu 9 23:58 Wed 8 16:02 Tue 7 16:02 Mon 6 23:57 Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01
Details

30 30 

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

32 32 

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

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

35 35 

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

admin-setup.md +6 −3

Details

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

96| [Managed policy CLAUDE.md](/id/memory#deploy-organization-wide-claude-md) | Instruksi di seluruh organisasi dimuat di setiap sesi, tidak dapat dikecualikan | File di jalur kebijakan terkelola |96| [Managed policy CLAUDE.md](/id/memory#deploy-organization-wide-claude-md) | Instruksi di seluruh organisasi dimuat di setiap sesi, tidak dapat dikecualikan | File di jalur kebijakan terkelola |

97| [MCP server control](/id/managed-mcp) | Batasi server MCP mana yang dapat ditambahkan atau dihubungkan pengguna, atau terapkan set tetap | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, atau file `managed-mcp.json` yang diterapkan |97| [MCP server control](/id/managed-mcp) | Batasi server MCP mana yang dapat ditambahkan atau dihubungkan pengguna, atau terapkan set tetap | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, atau file `managed-mcp.json` yang diterapkan |

98| [Plugin marketplace control](/id/plugin-marketplaces#managed-marketplace-restrictions) | Batasi sumber marketplace mana yang dapat ditambahkan dan diinstal pengguna, dan tolak flag CLI yang memuat plugin, agent, dan server MCP untuk satu kali berjalan | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags` |98| [Plugin marketplace control](/id/plugin-marketplaces#managed-marketplace-restrictions) | Batasi sumber marketplace mana yang dapat ditambahkan dan diinstal pengguna, tolak flag CLI yang memuat plugin, agent, dan server MCP untuk satu kali berjalan, dan daftar allowlist plugin marketplace mana yang dapat disarankan | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `pluginSuggestionMarketplaces` |

99| [Customization lockdown](/id/settings#strictpluginonlycustomization) | Blokir skills, agents, hooks, dan server MCP dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugin atau pengaturan terkelola | `strictPluginOnlyCustomization` |99| [Customization lockdown](/id/settings#strictpluginonlycustomization) | Blokir skills, agents, hooks, dan server MCP dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugin atau pengaturan terkelola | `strictPluginOnlyCustomization` |

100| [Hook restrictions](/id/settings#hook-configuration) | Hanya hook terkelola yang dimuat; batasi URL hook HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |100| [Hook restrictions](/id/settings#hook-configuration) | Hanya hook terkelola yang dimuat; batasi URL hook HTTP | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

101| [Login enforcement](/id/settings#available-settings) | Batasi login interaktif ke metode tertentu atau organisasi Anthropic. Ketika diatur, sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup; sesi penyedia cloud tidak terpengaruh | `forceLoginMethod`, `forceLoginOrgUUID` |

101| [Disable agent view](/id/agent-view#how-background-sessions-are-hosted) | Matikan `claude agents`, `--bg`, `/background`, dan supervisor on-demand | `disableAgentView` |102| [Disable agent view](/id/agent-view#how-background-sessions-are-hosted) | Matikan `claude agents`, `--bg`, `/background`, dan supervisor on-demand | `disableAgentView` |

102| [Model restrictions](/id/model-config#restrict-model-selection) | `availableModels` memfilter model mana yang muncul di pemilih. Menambahkan `enforceAvailableModels` juga membatasi model default yang dipilih secara otomatis. Lihat [surface coverage](/id/model-config#surface-coverage) untuk cara pengaturan ini menjangkau CLI, web, dan IDE | `availableModels`, `enforceAvailableModels` |103| [Model restrictions](/id/model-config#restrict-model-selection) | `availableModels` memfilter model mana yang muncul di pemilih. Menambahkan `enforceAvailableModels` juga membatasi model default yang dipilih secara otomatis. Lihat [surface coverage](/id/model-config#surface-coverage) untuk cara pengaturan ini menjangkau CLI, web, dan IDE | `availableModels`, `enforceAvailableModels` |

103| [Version floor](/id/settings) | Cegah auto-update dari penginstalan di bawah minimum di seluruh organisasi | `minimumVersion` |104| [Version floor](/id/settings) | Cegah auto-update dari penginstalan di bawah minimum di seluruh organisasi | `minimumVersion` |


105 106 

106Organisasi yang anggotanya melakukan autentikasi melalui claude.ai atau Anthropic API juga dapat mengatur model tanpa menerapkan pengaturan: [pembatasan model organisasi](/id/model-config#organization-model-restrictions) menonaktifkan model individual, [model default organisasi](/id/model-config#organization-default-model) menetapkan model mana yang dimulai sesi baru, dan [batas upaya organisasi](/id/model-config#organization-effort-limits) membatasi tingkat upaya per peran. Ketiga kontrol memerlukan paket Claude Enterprise. Pembatasan model dan batas upaya diberlakukan di sisi server; model default adalah titik awal yang dapat diubah pengguna, kecuali organisasi memberlakukannya. Penegakan tersedia untuk serangkaian organisasi terbatas; tanyakan tim akun Anthropic Anda tentang ketersediaan. Tidak ada kontrol ini yang menjangkau sesi di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau [Claude Platform on AWS](/id/claude-platform-on-aws); di penyedia tersebut, gunakan `availableModels` di atas untuk pembatasan dan kunci `model` dalam pengaturan terkelola untuk default.107Organisasi yang anggotanya melakukan autentikasi melalui claude.ai atau Anthropic API juga dapat mengatur model tanpa menerapkan pengaturan: [pembatasan model organisasi](/id/model-config#organization-model-restrictions) menonaktifkan model individual, [model default organisasi](/id/model-config#organization-default-model) menetapkan model mana yang dimulai sesi baru, dan [batas upaya organisasi](/id/model-config#organization-effort-limits) membatasi tingkat upaya per peran. Ketiga kontrol memerlukan paket Claude Enterprise. Pembatasan model dan batas upaya diberlakukan di sisi server; model default adalah titik awal yang dapat diubah pengguna, kecuali organisasi memberlakukannya. Penegakan tersedia untuk serangkaian organisasi terbatas; tanyakan tim akun Anthropic Anda tentang ketersediaan. Tidak ada kontrol ini yang menjangkau sesi di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau [Claude Platform on AWS](/id/claude-platform-on-aws); di penyedia tersebut, gunakan `availableModels` di atas untuk pembatasan dan kunci `model` dalam pengaturan terkelola untuk default.

107 108 

109[Claude Code on the web](/id/claude-code-on-the-web) memiliki permukaan admin sendiri: di halaman Cloud environments di pengaturan admin, pemilik dan admin membuat [organization-shared environments](/id/claude-code-on-the-web#organization-shared-environments) yang menetapkan [network access level](/id/claude-code-on-the-web#network-access), variabel lingkungan, dan skrip setup untuk sesi cloud anggota, dan memilih environment default organisasi.

110 

108Aturan izin dan sandboxing mencakup lapisan berbeda. Menolak WebFetch memblokir alat fetch Claude, tetapi jika Bash diizinkan, `curl` dan `wget` masih dapat menjangkau URL apa pun. Sandboxing menutup celah itu dengan daftar allowlist domain jaringan yang diberlakukan di tingkat OS.111Aturan izin dan sandboxing mencakup lapisan berbeda. Menolak WebFetch memblokir alat fetch Claude, tetapi jika Bash diizinkan, `curl` dan `wget` masih dapat menjangkau URL apa pun. Sandboxing menutup celah itu dengan daftar allowlist domain jaringan yang diberlakukan di tingkat OS.

109 112 

110Untuk model ancaman yang dilindungi kontrol ini, lihat [Security](/id/security).113Untuk model ancaman yang dilindungi kontrol ini, lihat [Security](/id/security).


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

117 120 

118| Kemampuan | Yang Anda dapatkan | Ketersediaan | Mulai dari mana |121| Kemampuan | Yang Anda dapatkan | Ketersediaan | Mulai dari mana |

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

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

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

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

123| Spend controls | Batas pengeluaran dan batas laju | Pengaturan admin untuk Teams / Enterprise, batas ruang kerja untuk Console; di cloud pihak ketiga, kontrol anggaran cloud atau [gateway aplikasi Claude](/id/claude-apps-gateway) dengan [batas pengeluaran](/id/claude-apps-gateway-spend-limits) per-pengguna | [Costs](/id/costs#manage-costs-for-your-organization) |126| Spend controls | Batas pengeluaran dan batas laju | Pengaturan admin untuk Teams / Enterprise, batas ruang kerja untuk Console; di cloud pihak ketiga, kontrol anggaran cloud atau [gateway aplikasi Claude](/id/claude-apps-gateway) dengan [batas pengeluaran](/id/claude-apps-gateway-spend-limits) per-pengguna | [Costs](/id/costs#manage-costs-for-your-organization) |

124 127 

125Di Teams dan Enterprise, angka penggunaan dan pengeluaran per-pengguna berasal dari [laporan pengeluaran](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) di pengaturan analitik organisasi Anda, bukan dasbor analitik. Penyedia cloud mengekspos pengeluaran melalui AWS Cost Explorer, GCP Billing, atau Azure Cost Management. Untuk merencanakan anggaran enterprise di seluruh Claude chat, Claude Code, dan Cowork, lihat [panduan konsumsi Claude Enterprise](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide).128Di Teams dan Enterprise, angka penggunaan dan pengeluaran per-pengguna berasal dari [laporan pengeluaran](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) di pengaturan analitik organisasi Anda, bukan dasbor analitik. Penyedia cloud mengekspos pengeluaran melalui AWS Cost Explorer, GCP Billing, atau Azure Cost Management. Untuk merencanakan anggaran enterprise di seluruh Claude chat, Claude Code, dan Cowork, lihat [panduan konsumsi Claude Enterprise](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide).

advisor.md +2 −2

Details

7> Pasangkan model utama Anda dengan model advisor yang lebih kuat yang dikonsultasikan Claude pada momen-momen kunci selama tugas.7> Pasangkan model utama Anda dengan model advisor yang lebih kuat yang dikonsultasikan Claude pada momen-momen kunci selama tugas.

8 8 

9<Note>9<Note>

10 Alat advisor bersifat eksperimental dan memerlukan API Anthropic. Alat ini tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Perilaku, harga, dan ketersediaan dapat berubah.10 Alat advisor bersifat eksperimental dan memerlukan API Anthropic. Alat ini tidak tersedia di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, atau Microsoft Foundry. Perilaku, harga, dan ketersediaan dapat berubah.

11</Note>11</Note>

12 12 

13Alat advisor memungkinkan Claude untuk berkonsultasi dengan model kedua yang biasanya lebih kuat pada momen-momen kunci selama tugas, seperti sebelum berkomitmen pada pendekatan, ketika terjebak pada kesalahan berulang, atau sebelum menyatakan tugas selesai. Advisor menerima percakapan lengkap, termasuk setiap pemanggilan alat dan hasilnya, dan mengembalikan panduan yang diterapkan Claude sebelum melanjutkan.13Alat advisor memungkinkan Claude untuk berkonsultasi dengan model kedua yang biasanya lebih kuat pada momen-momen kunci selama tugas, seperti sebelum berkomitmen pada pendekatan, ketika terjebak pada kesalahan berulang, atau sebelum menyatakan tugas selesai. Advisor menerima percakapan lengkap, termasuk setiap pemanggilan alat dan hasilnya, dan mengembalikan panduan yang diterapkan Claude sebelum melanjutkan.


159 159 

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

161 161 

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

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

164 164 

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

Details

55 55 

56* **`SystemMessage`:** session lifecycle events. Field `subtype` membedakannya:56* **`SystemMessage`:** session lifecycle events. Field `subtype` membedakannya:

57 57 

58 * `"init"`: message pertama dengan session metadata58 * `"init"`: session metadata untuk run. Ketika hook `SessionStart` atau `Setup` berjalan selama session startup, [hook lifecycle messages](/id/agent-sdk/typescript#sdkhookstartedmessage) tiba sebelum message `init`

59 * `"compact_boundary"`: menyala setelah [compaction](#automatic-compaction)59 * `"compact_boundary"`: menyala setelah [compaction](#automatic-compaction)

60 * `"informational"`: plain-text status banners dari loop60 * `"informational"`: plain-text status banners dari loop

61 * `"worker_shutting_down"`: loop akan berakhir setelah turn saat ini karena host sedang keluar atau Remote Control terputus61 * `"worker_shutting_down"`: loop akan berakhir setelah turn saat ini karena host sedang keluar atau Remote Control terputus


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

234 234 

235| Mode | Behavior |235| Mode | Behavior |

236| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |236| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

237| `"default"` | Tools yang tidak tercakup oleh allow rules memicu approval callback Anda; tidak ada callback berarti deny |237| `"default"` | Tools yang tidak tercakup oleh allow rules memicu approval callback Anda; tidak ada callback berarti deny |

238| `"acceptEdits"` | Auto-approves file edits dan common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, dll.); Bash commands lainnya mengikuti default rules |238| `"acceptEdits"` | Auto-approves file edits dan common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, dll.); Bash commands lainnya mengikuti default rules |

239| `"plan"` | Claude mengeksplorasi dan merencanakan tanpa mengedit source files Anda; file edits tidak pernah auto-approved dan prompt melalui `canUseTool` callback Anda |239| `"plan"` | Claude mengeksplorasi dan merencanakan tanpa mengedit source files Anda; file edits tidak pernah auto-approved dan prompt melalui `canUseTool` callback Anda |

240| `"dontAsk"` | Tidak pernah prompt. Tools pre-approved oleh [permission rules](/id/settings#permission-settings) berjalan, semuanya lainnya ditolak |240| `"dontAsk"` | Tidak pernah prompt. Tools pre-approved oleh [permission rules](/id/settings#permission-settings) berjalan; semuanya lainnya ditolak. `AskUserQuestion`, connector tools [organisasi Anda set ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan MCP tools yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan jika Anda telah mengizinkannya |

241| `"auto"` | Menggunakan model classifier untuk approve atau deny setiap tool call. Lihat [Auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) untuk availability dan behavior |241| `"auto"` | Menggunakan model classifier untuk approve atau deny setiap tool call. Lihat [Auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) untuk availability dan behavior |

242| `"bypassPermissions"` | Menjalankan semua allowed tools tanpa bertanya, kecuali explicit [`ask` rule](/id/settings#permission-settings) cocok; lihat [How permissions are evaluated](/id/agent-sdk/permissions#how-permissions-are-evaluated) untuk di mana ask rules berada dalam urutan precedence. Tidak dapat digunakan saat berjalan sebagai root pada Unix. Gunakan hanya dalam isolated environments di mana tindakan agent tidak dapat mempengaruhi systems yang Anda pedulikan |242| `"bypassPermissions"` | Menjalankan semua allowed tools tanpa bertanya, kecuali tools yang cocok dengan explicit [`ask` rule](/id/settings#permission-settings), connector tools [organisasi Anda set ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan tools yang memerlukan user interaction; lihat [How permissions are evaluated](/id/agent-sdk/permissions#how-permissions-are-evaluated) untuk urutan precedence. Tidak dapat digunakan saat berjalan sebagai root pada Unix. Gunakan hanya dalam isolated environments di mana tindakan agent tidak dapat mempengaruhi systems yang Anda pedulikan |

243 243 

244Untuk interactive applications, gunakan `"default"` dengan tool approval callback untuk surface approval prompts. Untuk autonomous agents pada dev machine, `"acceptEdits"` auto-approves file edits dan common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, dll.) sambil masih gating `Bash` commands lainnya di belakang allow rules. Reserve `"bypassPermissions"` untuk CI, containers, atau isolated environments lainnya. Lihat [Permissions](/id/agent-sdk/permissions) untuk full details.244Untuk interactive applications, gunakan `"default"` dengan tool approval callback untuk surface approval prompts. Untuk autonomous agents pada dev machine, `"acceptEdits"` auto-approves file edits dan common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, dll.) sambil masih gating `Bash` commands lainnya di belakang allow rules. Reserve `"bypassPermissions"` untuk CI, containers, atau isolated environments lainnya. Lihat [Permissions](/id/agent-sdk/permissions) untuk full details.

245 245 


486* **Butuh tighter control atas apa yang dapat dilakukan agent?** Lock down tool access dengan [permissions](/id/agent-sdk/permissions), dan gunakan [hooks](/id/agent-sdk/hooks) untuk audit, block, atau transform tool calls sebelum dieksekusi.486* **Butuh tighter control atas apa yang dapat dilakukan agent?** Lock down tool access dengan [permissions](/id/agent-sdk/permissions), dan gunakan [hooks](/id/agent-sdk/hooks) untuk audit, block, atau transform tool calls sebelum dieksekusi.

487* **Menjalankan long atau expensive tasks?** Offload isolated work ke [subagents](/id/agent-sdk/subagents) untuk keep main context Anda lean.487* **Menjalankan long atau expensive tasks?** Offload isolated work ke [subagents](/id/agent-sdk/subagents) untuk keep main context Anda lean.

488 488 

489Untuk broader conceptual picture dari agentic loop (bukan SDK-specific), lihat [How Claude Code works](/id/how-claude-code-works).489Untuk broader conceptual picture dari agentic loop (bukan SDK-specific), lihat [How Claude Code works](/id/how-claude-code-works). Untuk panduan praktis dalam merancang loops di Claude Code, dari turn-based hingga goal-based dan proactive loops, lihat [Loop engineering: getting started with loops](https://claude.com/blog/getting-started-with-loops) di blog.

Details

57 57 

58Pesan hasil ([TypeScript](/id/agent-sdk/typescript#sdkresultmessage), [Python](/id/agent-sdk/python#resultmessage)) menandai akhir dari loop agen untuk panggilan `query()`. Ini mencakup `total_cost_usd`, biaya perkiraan kumulatif di semua langkah dalam panggilan itu. Ini berfungsi untuk hasil sukses dan kesalahan. Jika Anda menggunakan sesi untuk membuat beberapa panggilan `query()`, setiap hasil hanya mencerminkan biaya panggilan individual itu.58Pesan hasil ([TypeScript](/id/agent-sdk/typescript#sdkresultmessage), [Python](/id/agent-sdk/python#resultmessage)) menandai akhir dari loop agen untuk panggilan `query()`. Ini mencakup `total_cost_usd`, biaya perkiraan kumulatif di semua langkah dalam panggilan itu. Ini berfungsi untuk hasil sukses dan kesalahan. Jika Anda menggunakan sesi untuk membuat beberapa panggilan `query()`, setiap hasil hanya mencerminkan biaya panggilan individual itu.

59 59 

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

61 

62| Bidang | Aktivitas subagen |

63| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- |

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

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

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

67 

60Contoh berikut mengulangi aliran pesan dari panggilan `query()` dan mencetak biaya total ketika pesan `result` tiba:68Contoh berikut mengulangi aliran pesan dari panggilan `query()` dan mencetak biaya total ketika pesan `result` tiba:

61 69 

62<CodeGroup>70<CodeGroup>

Details

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

150 150 

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

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

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

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

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

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

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

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

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

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

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


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

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

819 820 

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

822 

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

821 Tool blocked unexpectedly824 Tool blocked unexpectedly

822</h3>825</h3>


887 systemMessage not appearing in output890 systemMessage not appearing in output

888</h3>891</h3>

889 892 

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

891 894 

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

893 896 

Details

188Wildcard (`*`) memungkinkan Anda mengizinkan semua alat dari server tanpa mencantumkan masing-masing secara individual.188Wildcard (`*`) memungkinkan Anda mengizinkan semua alat dari server tanpa mencantumkan masing-masing secara individual.

189 189 

190<Note>190<Note>

191 **Lebih suka `allowedTools` daripada mode izin untuk akses MCP.** `permissionMode: "acceptEdits"` tidak secara otomatis menyetujui alat MCP (hanya edit file dan perintah Bash filesystem). `permissionMode: "bypassPermissions"` secara otomatis menyetujui alat MCP tetapi juga menonaktifkan semua prompt keamanan lainnya kecuali aturan [`ask`](/id/agent-sdk/permissions#how-permissions-are-evaluated) eksplisit cocok, yang lebih luas dari yang diperlukan. Wildcard dalam `allowedTools` memberikan akses ke server MCP yang Anda inginkan dan tidak lebih. Lihat [Mode izin](/id/agent-sdk/permissions#permission-modes) untuk perbandingan lengkap.191 **Lebih suka `allowedTools` daripada mode izin untuk akses MCP.** `permissionMode: "acceptEdits"` tidak secara otomatis menyetujui alat MCP (hanya edit file dan perintah Bash filesystem). `permissionMode: "bypassPermissions"` secara otomatis menyetujui alat MCP tetapi juga menonaktifkan sebagian besar prompt keamanan lainnya, yang lebih luas dari yang diperlukan; lihat [Bagaimana izin dievaluasi](/id/agent-sdk/permissions#how-permissions-are-evaluated) untuk prompt yang tetap ada. Wildcard dalam `allowedTools` memberikan akses ke server MCP yang Anda inginkan dan tidak lebih. Lihat [Mode izin](/id/agent-sdk/permissions#permission-modes) untuk perbandingan lengkap.

192</Note>192</Note>

193 193 

194<h3 id="discover-available-tools">194<h3 id="discover-available-tools">


831* Pre-warming server sebelum memulai agen Anda831* Pre-warming server sebelum memulai agen Anda

832* Memeriksa log server untuk penyebab inisialisasi lambat832* Memeriksa log server untuk penyebab inisialisasi lambat

833 833 

834<h3 id="tool-output-exceeds-maximum-allowed-tokens">

835 Output alat melebihi token maksimal yang diizinkan

836</h3>

837 

838SDK menerapkan batas output MCP yang sama dengan Claude Code. Ketika hasil alat lebih besar dari 25.000 token, output lengkap disimpan ke file dan hasil alat diganti dengan pesan kesalahan yang menyebutkan jalur file, sehingga agen dapat membaca output kembali dalam porsi. Naikkan batasnya dengan variabel lingkungan [`MAX_MCP_OUTPUT_TOKENS`](/id/env-vars). Lihat [MCP output limits and warnings](/id/mcp#mcp-output-limits-and-warnings) untuk perilaku lengkap, termasuk bagaimana server dapat mendeklarasikan batas per-alat yang lebih tinggi.

839 

834<h2 id="related-resources">840<h2 id="related-resources">

835 Sumber daya terkait841 Sumber daya terkait

836</h2>842</h2>

Details

6 6 

7> Bangun agen AI produksi dengan Claude Code sebagai perpustakaan7> Bangun agen AI produksi dengan Claude Code sebagai perpustakaan

8 8 

9Bangun agen AI yang secara mandiri membaca file, menjalankan perintah, mencari web, mengedit kode, dan banyak lagi. Agent SDK memberi Anda alat yang sama, loop agen, dan manajemen konteks yang mendukung Claude Code, dapat diprogram dalam Python dan TypeScript.9Bangun agen AI yang secara mandiri membaca file, menjalankan perintah, mencari web, mengedit kode, dan banyak lagi. Agent SDK memberi Anda alat yang sama, loop agen, dan manajemen konteks yang mendukung Claude Code, dapat diprogram dalam Python dan TypeScript. Untuk pemikiran di balik desain harness agen, lihat [A harness for every task: dynamic workflows in Claude Code](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code) di blog.

10 10 

11<CodeGroup>11<CodeGroup>

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

Details

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

32 32 

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

34 

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

34 </Step>36 </Step>

35 37 

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


77 79 

78Aturan allow menerima glob nama-alat hanya setelah awalan literal `mcp__<server>__`. Segmen server harus bebas glob sehingga aturan menamai 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.80Aturan allow menerima glob nama-alat hanya setelah awalan literal `mcp__<server>__`. Segmen server harus bebas glob sehingga aturan menamai 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.

79 81 

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

83 

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

85 

80<Warning>86<Warning>

81 **Alat yang disetujui otomatis tidak pernah mencapai `canUseTool`.** Panggilan alat yang disetujui pada langkah sebelumnya apa pun, oleh `acceptEdits` atau `bypassPermissions`, atau oleh aturan allow, melewati callback `canUseTool` Anda, sehingga pemeriksaan izin yang Anda letakkan di sana secara diam-diam dilewati untuk alat tersebut. Pengecualiannya adalah alat yang memerlukan interaksi pengguna, `AskUserQuestion` dan alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool), yang mencapai callback bahkan ketika aturan allow cocok. Cakupan tergantung pada bentuk entri: nama bare seperti `Read` atau `mcp__github__get_issue` menyetujui secara otomatis setiap panggilan ke alat tersebut, sementara aturan yang dibatasi seperti `Bash(ls *)` hanya menyetujui panggilan yang cocok dan panggilan `Bash` lainnya masih jatuh melalui callback. Untuk pemeriksaan yang harus berjalan pada setiap panggilan alat, gunakan hook [`PreToolUse`](/id/agent-sdk/hooks): hook berjalan sebelum setiap langkah lainnya, dan penolakan hook berlaku bahkan dalam mode `bypassPermissions`.87 **Alat yang disetujui otomatis tidak pernah mencapai `canUseTool`.** Panggilan alat yang disetujui pada langkah sebelumnya apa pun, oleh `acceptEdits` atau `bypassPermissions`, atau oleh aturan allow, melewati callback `canUseTool` Anda, sehingga pemeriksaan izin yang Anda letakkan di sana secara diam-diam dilewati untuk alat tersebut. `AskUserQuestion`, alat MCP yang ditandai [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool), dan alat konektor [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) masih mencapai callback, bahkan ketika aturan allow cocok.

88 

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

82</Warning>90</Warning>

83 91 

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

85 93 

86```typescript theme={null}94```typescript theme={null}

87const options = {95const options = {


109SDK mendukung mode izin ini:117SDK mendukung mode izin ini:

110 118 

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

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

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

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

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

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

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

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

119 127 

120<Warning>128<Warning>

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

122</Warning>130</Warning>

123 131 

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


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

253</h4>261</h4>

254 262 

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

256 264 

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

258 266 


265<Warning>273<Warning>

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

267 275 

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

269</Warning>277</Warning>

270 278 

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

Details

138) -> Callable[[Callable[[Any], Awaitable[dict[str, Any]]]], SdkMcpTool[Any]]138) -> Callable[[Callable[[Any], Awaitable[dict[str, Any]]]], SdkMcpTool[Any]]

139```139```

140 140 

141<h4 id="parameters-1">141<h4 id="parameters-2">

142 Parameter142 Parameter

143</h4>143</h4>

144 144 


171 }171 }

172 ```172 ```

173 173 

174<h4 id="returns-1">174<h4 id="returns-2">

175 Pengembalian175 Pengembalian

176</h4>176</h4>

177 177 


234) -> McpSdkServerConfig234) -> McpSdkServerConfig

235```235```

236 236 

237<h4 id="parameters-2">237<h4 id="parameters-3">

238 Parameter238 Parameter

239</h4>239</h4>

240 240 


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

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

246 246 

247<h4 id="returns-2">247<h4 id="returns-3">

248 Pengembalian248 Pengembalian

249</h4>249</h4>

250 250 

251Mengembalikan objek `McpSdkServerConfig` yang dapat diteruskan ke `ClaudeAgentOptions.mcp_servers`.251Mengembalikan objek `McpSdkServerConfig` yang dapat diteruskan ke `ClaudeAgentOptions.mcp_servers`.

252 252 

253<h4 id="example-1">253<h4 id="example-2">

254 Contoh254 Contoh

255</h4>255</h4>

256 256 


291def list_sessions(291def list_sessions(

292 directory: str | None = None,292 directory: str | None = None,

293 limit: int | None = None,293 limit: int | None = None,

294 offset: int = 0,

294 include_worktrees: bool = True295 include_worktrees: bool = True

295) -> list[SDKSessionInfo]296) -> list[SDKSessionInfo]

296```297```

297 298 

298<h4 id="parameters-3">299<h4 id="parameters-4">

299 Parameter300 Parameter

300</h4>301</h4>

301 302 

302| Parameter | Tipe | Default | Deskripsi |303| Parameter | Tipe | Default | Deskripsi |

303| :------------------ | :------------ | :------ | :----------------------------------------------------------------------------------------- |304| :------------------ | :------------ | :------ | :--------------------------------------------------------------------------------------------------- |

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

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

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

306| `include_worktrees` | `bool` | `True` | Ketika `directory` berada di dalam repositori git, sertakan sesi dari semua jalur worktree |308| `include_worktrees` | `bool` | `True` | Ketika `directory` berada di dalam repositori git, sertakan sesi dari semua jalur worktree |

307 309 

308<h4 id="return-type-sdksessioninfo">310<h4 id="return-type-sdksessioninfo">


322| `tag` | `str \| None` | Tag sesi yang ditetapkan pengguna (lihat [`tag_session()`](#tag_session)) |324| `tag` | `str \| None` | Tag sesi yang ditetapkan pengguna (lihat [`tag_session()`](#tag_session)) |

323| `created_at` | `int \| None` | Waktu pembuatan sesi dalam milidetik sejak epoch |325| `created_at` | `int \| None` | Waktu pembuatan sesi dalam milidetik sejak epoch |

324 326 

325<h4 id="example-2">327<h4 id="example-3">

326 Contoh328 Contoh

327</h4>329</h4>

328 330 


350) -> list[SessionMessage]352) -> list[SessionMessage]

351```353```

352 354 

353<h4 id="parameters-4">355<h4 id="parameters-5">

354 Parameter356 Parameter

355</h4>357</h4>

356 358 


373| `message` | `Any` | Konten pesan mentah |375| `message` | `Any` | Konten pesan mentah |

374| `parent_tool_use_id` | `None` | Dicadangkan untuk penggunaan di masa depan |376| `parent_tool_use_id` | `None` | Dicadangkan untuk penggunaan di masa depan |

375 377 

376<h4 id="example-3">378<h4 id="example-4">

377 Contoh379 Contoh

378</h4>380</h4>

379 381 


400) -> SDKSessionInfo | None402) -> SDKSessionInfo | None

401```403```

402 404 

403<h4 id="parameters-5">405<h4 id="parameters-6">

404 Parameter406 Parameter

405</h4>407</h4>

406 408 


411 413 

412Mengembalikan [`SDKSessionInfo`](#return-type-sdksessioninfo), atau `None` jika sesi tidak ditemukan.414Mengembalikan [`SDKSessionInfo`](#return-type-sdksessioninfo), atau `None` jika sesi tidak ditemukan.

413 415 

414<h4 id="example-4">416<h4 id="example-5">

415 Contoh417 Contoh

416</h4>418</h4>

417 419 


439) -> None441) -> None

440```442```

441 443 

442<h4 id="parameters-6">444<h4 id="parameters-7">

443 Parameter445 Parameter

444</h4>446</h4>

445 447 


451 453 

452Menimbulkan `ValueError` jika `session_id` bukan UUID yang valid atau `title` kosong; `FileNotFoundError` jika sesi tidak dapat ditemukan.454Menimbulkan `ValueError` jika `session_id` bukan UUID yang valid atau `title` kosong; `FileNotFoundError` jika sesi tidak dapat ditemukan.

453 455 

454<h4 id="example-5">456<h4 id="example-6">

455 Contoh457 Contoh

456</h4>458</h4>

457 459 


479) -> None481) -> None

480```482```

481 483 

482<h4 id="parameters-7">484<h4 id="parameters-8">

483 Parameter485 Parameter

484</h4>486</h4>

485 487 


491 493 

492Menimbulkan `ValueError` jika `session_id` bukan UUID yang valid atau `tag` kosong setelah sanitasi; `FileNotFoundError` jika sesi tidak dapat ditemukan.494Menimbulkan `ValueError` jika `session_id` bukan UUID yang valid atau `tag` kosong setelah sanitasi; `FileNotFoundError` jika sesi tidak dapat ditemukan.

493 495 

494<h4 id="example-6">496<h4 id="example-7">

495 Contoh497 Contoh

496</h4>498</h4>

497 499 


903```905```

904 906 

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

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

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

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

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


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

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

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

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

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

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

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


1257 1259 

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

1259 1261 

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

1263 

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

1261 `ToolPermissionContext`1265 `ToolPermissionContext`

1262</h3>1266</h3>


1744Dict `usage` berisi kunci berikut ketika ada:1748Dict `usage` berisi kunci berikut ketika ada:

1745 1749 

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

1747| ----------------------------- | ----- | ---------------------------------------------------- |1751| ----------------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

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

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

1752 1756 


2688```python theme={null}2692```python theme={null}

2689{2693{

2690 "command": str, # Perintah yang akan dijalankan2694 "command": str, # Perintah yang akan dijalankan

2691 "timeout": int | None, # Waktu tunggu opsional dalam milidetik (maks 600000)2695 "timeout": int | None, # Waktu tunggu opsional dalam milidetik (maks 600000; nilai yang lebih tinggi dijepit ke maks)

2692 "description": str | None, # Deskripsi jelas dan ringkas (5-10 kata)2696 "description": str | None, # Deskripsi jelas dan ringkas (5-10 kata)

2693 "run_in_background": bool | None, # Atur ke true untuk menjalankan di latar belakang2697 "run_in_background": bool | None, # Atur ke true untuk menjalankan di latar belakang

2694}2698}


3667 Atur `"failIfUnavailable": True` dalam pengaturan sandbox Anda untuk berhenti sebagai gantinya. Kunci belum dideklarasikan pada `SandboxSettings` namun, tetapi SDK meneruskannya ke Claude Code, yang menghormatinya. `query()` kemudian melaporkan `ResultMessage` dengan `subtype="error_during_execution"` dan alasannya dalam `errors`. Perhatikan subtype itu daripada mengharapkan `query()` untuk menaikkan sebelum menghasilkan pesan.3671 Atur `"failIfUnavailable": True` dalam pengaturan sandbox Anda untuk berhenti sebagai gantinya. Kunci belum dideklarasikan pada `SandboxSettings` namun, tetapi SDK meneruskannya ke Claude Code, yang menghormatinya. `query()` kemudian melaporkan `ResultMessage` dengan `subtype="error_during_execution"` dan alasannya dalam `errors`. Perhatikan subtype itu daripada mengharapkan `query()` untuk menaikkan sebelum menghasilkan pesan.

3668</Note>3672</Note>

3669 3673 

3670<h4 id="example-usage-1">3674<h4 id="example-usage-2">

3671 Contoh penggunaan3675 Contoh penggunaan

3672</h4>3676</h4>

3673 3677 

Details

368**Permission modes** mengontrol berapa banyak pengawasan manusia yang Anda inginkan:368**Permission modes** mengontrol berapa banyak pengawasan manusia yang Anda inginkan:

369 369 

370| Mode | Perilaku | Kasus penggunaan |370| Mode | Perilaku | Kasus penggunaan |

371| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |371| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |

372| `acceptEdits` | Auto-persetujuan pengeditan file dan perintah sistem file umum, meminta tindakan lain | Alur kerja pengembangan terpercaya |372| `acceptEdits` | Auto-persetujuan pengeditan file dan perintah sistem file umum, meminta tindakan lain | Alur kerja pengembangan terpercaya |

373| `plan` | Menjalankan alat hanya-baca; pengeditan file tidak pernah auto-disetujui dan mencapai callback `canUseTool` Anda | Menentukan cakupan tugas sebelum menyetujui eksekusi |373| `plan` | Menjalankan alat hanya-baca; pengeditan file tidak pernah auto-disetujui dan mencapai callback `canUseTool` Anda | Menentukan cakupan tugas sebelum menyetujui eksekusi |

374| `dontAsk` | Menolak apa pun yang tidak ada di `allowedTools` | Agen headless terkunci |374| `dontAsk` | Menolak apa pun yang tidak ada di `allowedTools`; connector tools [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan tools yang memerlukan interaksi pengguna ditolak bahkan jika Anda telah mencantumkannya | Agen headless terkunci |

375| `auto` | Pengklasifikasi model menyetujui atau menolak setiap panggilan alat | Agen otonom dengan penjaga keamanan |375| `auto` | Pengklasifikasi model menyetujui atau menolak setiap panggilan alat | Agen otonom dengan penjaga keamanan |

376| `bypassPermissions` | Menjalankan setiap alat tanpa prompt, kecuali aturan [`ask`](/id/agent-sdk/permissions#how-permissions-are-evaluated) eksplisit cocok | CI sandboxed, lingkungan yang sepenuhnya terpercaya |376| `bypassPermissions` | Menjalankan setiap alat tanpa prompt, kecuali tools yang cocok dengan aturan [`ask`](/id/agent-sdk/permissions#how-permissions-are-evaluated) eksplisit, connector tools [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan tools yang memerlukan interaksi pengguna | CI sandboxed, lingkungan yang sepenuhnya terpercaya |

377| `default` | Memerlukan callback `canUseTool` untuk menangani persetujuan | Alur persetujuan kustom |377| `default` | Memerlukan callback `canUseTool` untuk menangani persetujuan | Alur persetujuan kustom |

378 378 

379Contoh di atas menggunakan mode `acceptEdits`, yang auto-persetujuan operasi file sehingga agen dapat berjalan tanpa prompt interaktif. Jika Anda ingin meminta pengguna untuk persetujuan, gunakan mode `default` dan sediakan callback [`canUseTool`](/id/agent-sdk/user-input) yang mengumpulkan input pengguna. Untuk kontrol lebih lanjut, lihat [Permissions](/id/agent-sdk/permissions).379Contoh di atas menggunakan mode `acceptEdits`, yang auto-persetujuan operasi file sehingga agen dapat berjalan tanpa prompt interaktif. Jika Anda ingin meminta pengguna untuk persetujuan, gunakan mode `default` dan sediakan callback [`canUseTool`](/id/agent-sdk/user-input) yang mengumpulkan input pengguna. Untuk kontrol lebih lanjut, lihat [Permissions](/id/agent-sdk/permissions).

Details

222 Apa yang diwarisi subagents222 Apa yang diwarisi subagents

223</h2>223</h2>

224 224 

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

226 

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

226 228 

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

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


581* **Persistensi sesi**: transkrip subagent bertahan dalam sesi mereka. Anda dapat melanjutkan subagent setelah memulai ulang Claude Code dengan melanjutkan sesi yang sama.583* **Persistensi sesi**: transkrip subagent bertahan dalam sesi mereka. Anda dapat melanjutkan subagent setelah memulai ulang Claude Code dengan melanjutkan sesi yang sama.

582* **Pembersihan otomatis**: transkrip dibersihkan berdasarkan pengaturan `cleanupPeriodDays`, yang secara default adalah 30 hari.584* **Pembersihan otomatis**: transkrip dibersihkan berdasarkan pengaturan `cleanupPeriodDays`, yang secara default adalah 30 hari.

583 585 

584<h2 id="tool-restrictions-1">586<h2 id="tool-restrictions-2">

585 Pembatasan alat587 Pembatasan alat

586</h2>588</h2>

587 589 

Details

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

468 468 

469| Properti | Tipe | Default | Deskripsi |469| Properti | Tipe | Default | Deskripsi |

470| :-------------------------------- | :------------------------------------------------------------------------------------------------------- | :----------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |470| :-------------------------------- | :------------------------------------------------------------------------------------------------------- | :----------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

472| `additionalDirectories` | `string[]` | `[]` | Direktori tambahan yang dapat diakses Claude |472| `additionalDirectories` | `string[]` | `[]` | Direktori tambahan yang dapat diakses Claude |

473| `agent` | `string` | `undefined` | Nama agen untuk thread utama. Agen harus didefinisikan dalam opsi `agents` atau dalam pengaturan |473| `agent` | `string` | `undefined` | Nama agen untuk thread utama. Agen harus didefinisikan dalam opsi `agents` atau dalam pengaturan |


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

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

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

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

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

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

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


492| `forkSession` | `boolean` | `false` | Saat melanjutkan dengan `resume`, fork ke ID sesi baru alih-alih melanjutkan sesi asli |492| `forkSession` | `boolean` | `false` | Saat melanjutkan dengan `resume`, fork ke ID sesi baru alih-alih melanjutkan sesi asli |

493| `forwardSubagentText` | `boolean` | `false` | Teruskan blok teks dan pemikiran subagen sebagai pesan asisten dan pengguna dengan `parent_tool_use_id` diatur, sehingga konsumen dapat merender transkrip bersarang. Secara default hanya blok `tool_use` dan `tool_result` dari subagen yang dipancarkan |493| `forwardSubagentText` | `boolean` | `false` | Teruskan blok teks dan pemikiran subagen sebagai pesan asisten dan pengguna dengan `parent_tool_use_id` diatur, sehingga konsumen dapat merender transkrip bersarang. Secara default hanya blok `tool_use` dan `tool_result` dari subagen yang dipancarkan |

494| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Callback hook untuk event |494| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Callback hook untuk event |

495| `includeHookEvents` | `boolean` | `false` | Sertakan event lifecycle hook dalam aliran pesan sebagai [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage), dan [`SDKHookResponseMessage`](#sdkhookresponsemessage) |495| `includeHookEvents` | `boolean` | `false` | Sertakan event lifecycle hook untuk setiap hook event dalam aliran pesan sebagai [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage), dan [`SDKHookResponseMessage`](#sdkhookresponsemessage). Event lifecycle untuk hook `SessionStart` dan `Setup` selalu disertakan dan tidak memerlukan opsi ini |

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

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

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


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

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

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

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

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

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

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


623 623 

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

625 625 

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

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

628 628 

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


915 915 

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

917 917 

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

919 

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

919type CanUseTool = (921type CanUseTool = (

920 toolName: string,922 toolName: string,


1091 1093 

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

1093 1095 

1094<h2 id="message-types">1096## Tipe Pesan

1095 Tipe Pesan

1096</h2>

1097 1097 

1098<h3 id="sdkmessage">1098### `SDKMessage`

1099 `SDKMessage`

1100</h3>

1101 1099 

1102Tipe union dari semua pesan yang mungkin dikembalikan oleh query.1100Tipe union dari semua pesan yang mungkin dikembalikan oleh query.

1103 1101 


1123 | SDKTaskProgressMessage1121 | SDKTaskProgressMessage

1124 | SDKTaskUpdatedMessage1122 | SDKTaskUpdatedMessage

1125 | SDKBackgroundTasksChangedMessage1123 | SDKBackgroundTasksChangedMessage

1124 | SDKThinkingTokensMessage

1126 | SDKSessionStateChangedMessage1125 | SDKSessionStateChangedMessage

1127 | SDKWorkerShuttingDownMessage1126 | SDKWorkerShuttingDownMessage

1128 | SDKCommandsChangedMessage1127 | SDKCommandsChangedMessage


1140 | SDKConversationResetMessage;1139 | SDKConversationResetMessage;

1141```1140```

1142 1141 

1143<h3 id="sdkassistantmessage">1142### `SDKAssistantMessage`

1144 `SDKAssistantMessage`

1145</h3>

1146 1143 

1147Pesan respons asisten.1144Pesan respons asisten.

1148 1145 


1161 1158 

1162`SDKAssistantMessageError` adalah salah satu dari: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, atau `'unknown'`. `'model_not_found'` berarti model yang dipilih tidak ada atau tidak tersedia untuk akun atau deployment Anda. `'overloaded'` berarti API mengembalikan 529 karena server mencapai kapasitas, berbeda dengan `'rate_limit'`, yang merupakan 429 terhadap kuota Anda.1159`SDKAssistantMessageError` adalah salah satu dari: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, atau `'unknown'`. `'model_not_found'` berarti model yang dipilih tidak ada atau tidak tersedia untuk akun atau deployment Anda. `'overloaded'` berarti API mengembalikan 529 karena server mencapai kapasitas, berbeda dengan `'rate_limit'`, yang merupakan 429 terhadap kuota Anda.

1163 1160 

1164<h3 id="sdkusermessage">1161### `SDKUserMessage`

1165 `SDKUserMessage`

1166</h3>

1167 1162 

1168Pesan input pengguna.1163Pesan input pengguna.

1169 1164 


1183 1178 

1184Atur `shouldQuery` ke `false` untuk menambahkan pesan ke transkrip tanpa memicu putaran asisten. Pesan ditahan dan digabungkan ke pesan pengguna berikutnya yang memicu putaran. Gunakan ini untuk menyuntikkan konteks, seperti output perintah yang Anda jalankan out of band, tanpa menghabiskan panggilan model.1179Atur `shouldQuery` ke `false` untuk menambahkan pesan ke transkrip tanpa memicu putaran asisten. Pesan ditahan dan digabungkan ke pesan pengguna berikutnya yang memicu putaran. Gunakan ini untuk menyuntikkan konteks, seperti output perintah yang Anda jalankan out of band, tanpa menghabiskan panggilan model.

1185 1180 

1186<h3 id="sdkusermessagereplay">1181Pada pesan yang membawa blok `tool_result`, `tool_use_result` adalah objek output terstruktur tool daripada teks yang dikirim ke model. Bentuknya tergantung pada tool yang dinamai oleh blok `tool_use` yang cocok, jadi field ini diketik `unknown`; bentuk bawaan tercantum di bawah [Tipe Output Tool](#tool-output-types).

1187 `SDKUserMessageReplay`1182 

1188</h3>1183Untuk tool `Agent`, `tool_use_result` adalah [`AgentOutput`](#agent-2). Pada hasil `completed`, `content` menyimpan laporan subagent tanpa ID agen dan trailer penggunaan yang Claude Code tambahkan ke teks `tool_result`, jadi render dari `tool_use_result` daripada mem-parse teks itu.

1184 

1185### `SDKUserMessageReplay`

1189 1186 

1190Pesan pengguna yang diputar ulang dengan UUID yang diperlukan.1187Pesan pengguna yang diputar ulang dengan UUID yang diperlukan.

1191 1188 


1203};1200};

1204```1201```

1205 1202 

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

1207 `SDKResultMessage`1204 

1208</h3>1205### `SDKResultMessage`

1209 1206 

1210Pesan hasil akhir.1207Pesan hasil akhir.

1211 1208 


1265* `api_error_status`: kode status HTTP dari kesalahan API yang mengakhiri percakapan. Tidak ada atau `null` ketika putaran berakhir tanpa kesalahan API.1262* `api_error_status`: kode status HTTP dari kesalahan API yang mengakhiri percakapan. Tidak ada atau `null` ketika putaran berakhir tanpa kesalahan API.

1266* `ttft_ms`: waktu ke token pertama dalam milidetik, diukur ketika pesan asisten pertama yang lengkap tiba. Hadir hanya pada cabang kesuksesan.1263* `ttft_ms`: waktu ke token pertama dalam milidetik, diukur ketika pesan asisten pertama yang lengkap tiba. Hadir hanya pada cabang kesuksesan.

1267* `ttft_stream_ms`: waktu dalam milidetik hingga event aliran `message_start` pertama, ketika aliran respons dibuka. Lebih rendah dari `ttft_ms`; celah antara keduanya adalah waktu yang dihabiskan untuk streaming pesan pertama. Hadir hanya pada cabang kesuksesan.1264* `ttft_stream_ms`: waktu dalam milidetik hingga event aliran `message_start` pertama, ketika aliran respons dibuka. Lebih rendah dari `ttft_ms`; celah antara keduanya adalah waktu yang dihabiskan untuk streaming pesan pertama. Hadir hanya pada cabang kesuksesan.

1268* `terminal_reason`: mengapa loop berakhir. Salah satu dari `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, atau `"model_error"`.1265* `terminal_reason`: mengapa loop berakhir. Salah satu dari `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"`, atau `"turn_setup_failed"`.

1269* `fast_mode_state`: salah satu dari `"on"`, `"off"`, atau `"cooldown"`.1266* `fast_mode_state`: salah satu dari `"on"`, `"off"`, atau `"cooldown"`.

1270 1267 

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

1272 1269 

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

1274 1271 

1275<h3 id="sdksystemmessage">1272### `SDKSystemMessage`

1276 `SDKSystemMessage`

1277</h3>

1278 1273 

1279Pesan inisialisasi sistem.1274Pesan inisialisasi sistem.

1280 1275 


1312| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1307| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1313| `interrupt_receipt_v1` | [`interrupt()`](#query-object) diselesaikan dengan penerimaan [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) yang menamai pesan antrian yang bertahan dari interrupt |1308| `interrupt_receipt_v1` | [`interrupt()`](#query-object) diselesaikan dengan penerimaan [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) yang menamai pesan antrian yang bertahan dari interrupt |

1314 1309 

1315<h3 id="sdkpartialassistantmessage">1310### `SDKPartialAssistantMessage`

1316 `SDKPartialAssistantMessage`

1317</h3>

1318 1311 

1319Pesan parsial streaming (hanya ketika `includePartialMessages` adalah true). Field `parent_tool_use_id` selalu `null`: event aliran dipancarkan untuk sesi utama saja. Untuk atribusi subagent, gunakan pesan lengkap, yang membawa `parent_tool_use_id`, atau aktifkan [`forwardSubagentText`](#options) untuk menerima teks dan pemikiran subagent sebagai pesan lengkap.1312Pesan parsial streaming (hanya ketika `includePartialMessages` adalah true). Field `parent_tool_use_id` selalu `null`: event aliran dipancarkan untuk sesi utama saja. Untuk atribusi subagent, gunakan pesan lengkap, yang membawa `parent_tool_use_id`, atau aktifkan [`forwardSubagentText`](#options) untuk menerima teks dan pemikiran subagent sebagai pesan lengkap.

1320 1313 


1329};1322};

1330```1323```

1331 1324 

1332<h3 id="sdkcompactboundarymessage">1325### `SDKCompactBoundaryMessage`

1333 `SDKCompactBoundaryMessage`

1334</h3>

1335 1326 

1336Pesan yang menunjukkan batas pemadatan percakapan.1327Pesan yang menunjukkan batas pemadatan percakapan.

1337 1328 


1348};1339};

1349```1340```

1350 1341 

1351<h3 id="sdkinformationalmessage">1342### `SDKStatusMessage`

1352 `SDKInformationalMessage`

1353</h3>

1354 1343 

1355Spanduk teks generik yang dipancarkan oleh loop. Membawa baris status non-error, umpan balik hook seperti alasan blok hook `UserPromptSubmit`, dan output perintah. Render `content` sebagai plaintext pada `level` yang diberikan.1344Pesan status aliran.

1356 1345 

1357```typescript theme={null}1346```typescript theme={null}

1358type SDKInformationalMessage = {1347type SDKStatusMessage = {

1359 type: "system";1348 type: "system";

1360 subtype: "informational";1349 subtype: "status";

1361 content: string;1350 status: string;

1362 level: "info" | "notice" | "suggestion" | "warning";

1363 tool_use_id?: string;

1364 prevent_continuation?: boolean;

1365 uuid: UUID;1351 uuid: UUID;

1366 session_id: string;1352 session_id: string;

1367};1353};

1368```1354```

1369 1355 

1370<h3 id="sdkworkershuttingdownmessage">1356### `SDKLocalCommandOutputMessage`

1371 `SDKWorkerShuttingDownMessage`1357 

1372</h3>1358Output perintah lokal.

1359 

1360```typescript theme={null}

1361type SDKLocalCommandOutputMessage = {

1362 type: "system";

1363 subtype: "local_command_output";

1364 command: string;

1365 output: string;

1366 uuid: UUID;

1367 session_id: string;

1368};

1369```

1370 

1371### `SDKHookStartedMessage`

1372 

1373Hook dimulai.

1374 

1375```typescript theme={null}

1376type SDKHookStartedMessage = {

1377 type: "system";

1378 subtype: "hook_started";

1379 hook_name: string;

1380 uuid: UUID;

1381 session_id: string;

1382};

1383```

1384 

1385### `SDKHookProgressMessage`

1386 

1387Kemajuan hook.

1388 

1389```typescript theme={null}

1390type SDKHookProgressMessage = {

1391 type: "system";

1392 subtype: "hook_progress";

1393 hook_name: string;

1394 progress: string;

1395 uuid: UUID;

1396 session_id: string;

1397};

1398```

1399 

1400### `SDKHookResponseMessage`

1401 

1402Respons hook.

1403 

1404```typescript theme={null}

1405type SDKHookResponseMessage = {

1406 type: "system";

1407 subtype: "hook_response";

1408 hook_name: string;

1409 response: unknown;

1410 uuid: UUID;

1411 session_id: string;

1412};

1413```

1414 

1415### `SDKToolProgressMessage`

1416 

1417Kemajuan tool.

1418 

1419```typescript theme={null}

1420type SDKToolProgressMessage = {

1421 type: "system";

1422 subtype: "tool_progress";

1423 tool_name: string;

1424 progress: string;

1425 uuid: UUID;

1426 session_id: string;

1427};

1428```

1429 

1430### `SDKAuthStatusMessage`

1431 

1432Status autentikasi.

1433 

1434```typescript theme={null}

1435type SDKAuthStatusMessage = {

1436 type: "system";

1437 subtype: "auth_status";

1438 status: string;

1439 uuid: UUID;

1440 session_id: string;

1441};

1442```

1443 

1444### `SDKTaskNotificationMessage`

1445 

1446Notifikasi tugas.

1447 

1448```typescript theme={null}

1449type SDKTaskNotificationMessage = {

1450 type: "system";

1451 subtype: "task_notification";

1452 task_id: string;

1453 message: string;

1454 uuid: UUID;

1455 session_id: string;

1456};

1457```

1458 

1459### `SDKTaskStartedMessage`

1460 

1461Tugas dimulai.

1462 

1463```typescript theme={null}

1464type SDKTaskStartedMessage = {

1465 type: "system";

1466 subtype: "task_started";

1467 task_id: string;

1468 uuid: UUID;

1469 session_id: string;

1470};

1471```

1472 

1473### `SDKTaskProgressMessage`

1474 

1475Kemajuan tugas.

1476 

1477```typescript theme={null}

1478type SDKTaskProgressMessage = {

1479 type: "system";

1480 subtype: "task_progress";

1481 task_id: string;

1482 progress: string;

1483 uuid: UUID;

1484 session_id: string;

1485};

1486```

1487 

1488### `SDKTaskUpdatedMessage`

1489 

1490Tugas diperbarui.

1491 

1492```typescript theme={null}

1493type SDKTaskUpdatedMessage = {

1494 type: "system";

1495 subtype: "task_updated";

1496 task_id: string;

1497 update: unknown;

1498 uuid: UUID;

1499 session_id: string;

1500};

1501```

1502 

1503### `SDKBackgroundTasksChangedMessage`

1504 

1505Tugas latar belakang berubah.

1506 

1507```typescript theme={null}

1508type SDKBackgroundTasksChangedMessage = {

1509 type: "system";

1510 subtype: "background_tasks_changed";

1511 tasks: string[];

1512 uuid: UUID;

1513 session_id: string;

1514};

1515```

1516 

1517### `SDKThinkingTokensMessage`

1518 

1519Token pemikiran.

1520 

1521```typescript theme={null}

1522type SDKThinkingTokensMessage = {

1523 type: "system";

1524 subtype: "thinking_tokens";

1525 tokens: number;

1526 uuid: UUID;

1527 session_id: string;

1528};

1529```

1530 

1531### `SDKSessionStateChangedMessage`

1532 

1533Status sesi berubah.

1534 

1535```typescript theme={null}

1536type SDKSessionStateChangedMessage = {

1537 type: "system";

1538 subtype: "session_state_changed";

1539 state: string;

1540 uuid: UUID;

1541 session_id: string;

1542};

1543```

1544 

1545### `SDKWorkerShuttingDownMessage`

1373 1546 

1374Dipancarkan pada pembongkaran worker yang elegan sehingga klien jarak jauh dapat menunjukkan mengapa worker hilang daripada menunggu timeout heartbeat. `reason` adalah string snake\_case pendek yang ditetapkan oleh CLI host, seperti `"host_exit"` atau `"remote_control_disabled"`. Bertindak atas ini hanya ketika streaming langsung. Sesi yang dilanjutkan memutar ulang instance masa lalu dari pesan ini, jadi abaikan dalam kasus itu.1547Dipancarkan pada pembongkaran worker yang elegan sehingga klien jarak jauh dapat menunjukkan mengapa worker hilang daripada menunggu timeout heartbeat. `reason` adalah string snake\_case pendek yang ditetapkan oleh CLI host, seperti `"host_exit"` atau `"remote_control_disabled"`. Bertindak atas ini hanya ketika streaming langsung. Sesi yang dilanjutkan memutar ulang instance masa lalu dari pesan ini, jadi abaikan dalam kasus itu.

1375 1548 


1383};1556};

1384```1557```

1385 1558 

1386<h3 id="sdkplugininstallmessage">1559### `SDKCommandsChangedMessage`

1387 `SDKPluginInstallMessage`

1388</h3>

1389 1560 

1390Event kemajuan instalasi plugin. Dipancarkan ketika [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/id/env-vars) diatur, sehingga aplikasi Agent SDK Anda dapat melacak instalasi plugin marketplace sebelum putaran pertama. Status `started` dan `completed` membatasi keseluruhan instalasi. Status `installed` dan `failed` melaporkan marketplace individual dan menyertakan `name`.1561Perintah berubah.

1391 1562 

1392```typescript theme={null}1563```typescript theme={null}

1393type SDKPluginInstallMessage = {1564type SDKCommandsChangedMessage = {

1394 type: "system";1565 type: "system";

1395 subtype: "plugin_install";1566 subtype: "commands_changed";

1396 status: "started" | "installed" | "failed" | "completed";1567 commands: string[];

1397 name?: string;

1398 error?: string;

1399 uuid: UUID;1568 uuid: UUID;

1400 session_id: string;1569 session_id: string;

1401};1570};

1402```1571```

1403 1572 

1404<h3 id="sdkpermissiondeniedmessage">1573### `SDKNotificationMessage`

1405 `SDKPermissionDeniedMessage`1574 

1406</h3>1575Notifikasi.

1576 

1577```typescript theme={null}

1578type SDKNotificationMessage = {

1579 type: "system";

1580 subtype: "notification";

1581 message: string;

1582 uuid: UUID;

1583 session_id: string;

1584};

1585```

1586 

1587### `SDKFilesPersistedEvent`

1588 

1589Event file yang disimpan.

1590 

1591```typescript theme={null}

1592type SDKFilesPersistedEvent = {

1593 type: "system";

1594 subtype: "files_persisted";

1595 files: string[];

1596 uuid: UUID;

1597 session_id: string;

1598};

1599```

1600 

1601### `SDKToolUseSummaryMessage`

1602 

1603Ringkasan penggunaan tool.

1604 

1605```typescript theme={null}

1606type SDKToolUseSummaryMessage = {

1607 type: "system";

1608 subtype: "tool_use_summary";

1609 summary: string;

1610 uuid: UUID;

1611 session_id: string;

1612};

1613```

1614 

1615### `SDKMemoryRecallMessage`

1616 

1617Pesan recall memori.

1618 

1619```typescript theme={null}

1620type SDKMemoryRecallMessage = {

1621 type: "system";

1622 subtype: "memory_recall";

1623 memory: string;

1624 uuid: UUID;

1625 session_id: string;

1626};

1627```

1628 

1629### `SDKRateLimitEvent`

1630 

1631Event batas laju.

1632 

1633```typescript theme={null}

1634type SDKRateLimitEvent = {

1635 type: "system";

1636 subtype: "rate_limit";

1637 limit: number;

1638 uuid: UUID;

1639 session_id: string;

1640};

1641```

1642 

1643### `SDKElicitationCompleteMessage`

1644 

1645Elicitasi selesai.

1646 

1647```typescript theme={null}

1648type SDKElicitationCompleteMessage = {

1649 type: "system";

1650 subtype: "elicitation_complete";

1651 uuid: UUID;

1652 session_id: string;

1653};

1654```

1655 

1656### `SDKPermissionDeniedMessage`

1407 1657 

1408Event aliran yang dipancarkan ketika sistem izin secara otomatis menolak panggilan tool tanpa prompt interaktif. Gunakan ini untuk merender penolakan di UI Anda saat terjadi, daripada hanya mengamati hasil tool `is_error` yang mengikuti. Jalur tanya interaktif mencapai aplikasi Anda secara terpisah melalui callback [`canUseTool`](#canusetool). Penolakan yang dikeluarkan oleh hook `PreToolUse` tidak dilaporkan melalui event ini.1658Event aliran yang dipancarkan ketika sistem izin secara otomatis menolak panggilan tool tanpa prompt interaktif. Gunakan ini untuk merender penolakan di UI Anda saat terjadi, daripada hanya mengamati hasil tool `is_error` yang mengikuti. Jalur tanya interaktif mencapai aplikasi Anda secara terpisah melalui callback [`canUseTool`](#canusetool). Penolakan yang dikeluarkan oleh hook `PreToolUse` tidak dilaporkan melalui event ini.

1409 1659 


1433| `decision_reason` | `string` | Alasan yang dapat dibaca manusia dari komponen yang memutuskan, ketika tersedia |1683| `decision_reason` | `string` | Alasan yang dapat dibaca manusia dari komponen yang memutuskan, ketika tersedia |

1434| `message` | `string` | Pesan penolakan yang dikembalikan ke model dalam `tool_result` |1684| `message` | `string` | Pesan penolakan yang dikembalikan ke model dalam `tool_result` |

1435 1685 

1436<h3 id="sdkpermissiondenial">1686### `SDKPromptSuggestionMessage`

1437 `SDKPermissionDenial`1687 

1438</h3>1688Saran prompt.

1689 

1690```typescript theme={null}

1691type SDKPromptSuggestionMessage = {

1692 type: "system";

1693 subtype: "prompt_suggestion";

1694 suggestion: string;

1695 uuid: UUID;

1696 session_id: string;

1697};

1698```

1699 

1700### `SDKAPIRetryMessage`

1701 

1702Percobaan ulang API.

1703 

1704```typescript theme={null}

1705type SDKAPIRetryMessage = {

1706 type: "system";

1707 subtype: "api_retry";

1708 attempt: number;

1709 uuid: UUID;

1710 session_id: string;

1711};

1712```

1713 

1714### `SDKMirrorErrorMessage`

1715 

1716Kesalahan mirror.

1717 

1718```typescript theme={null}

1719type SDKMirrorErrorMessage = {

1720 type: "system";

1721 subtype: "mirror_error";

1722 error: string;

1723 uuid: UUID;

1724 session_id: string;

1725};

1726```

1727 

1728### `SDKInformationalMessage`

1729 

1730Spanduk teks generik yang dipancarkan oleh loop. Membawa baris status non-error, umpan balik hook seperti alasan blok hook `UserPromptSubmit`, dan output perintah. Render `content` sebagai plaintext pada `level` yang diberikan.

1731 

1732```typescript theme={null}

1733type SDKInformationalMessage = {

1734 type: "system";

1735 subtype: "informational";

1736 content: string;

1737 level: "info" | "notice" | "suggestion" | "warning";

1738 tool_use_id?: string;

1739 prevent_continuation?: boolean;

1740 uuid: UUID;

1741 session_id: string;

1742};

1743```

1744 

1745### `SDKConversationResetMessage`

1746 

1747Percakapan direset.

1748 

1749```typescript theme={null}

1750type SDKConversationResetMessage = {

1751 type: "system";

1752 subtype: "conversation_reset";

1753 uuid: UUID;

1754 session_id: string;

1755};

1756```

1757 

1758### `SDKPermissionDenial`

1439 1759 

1440Informasi tentang penggunaan tool yang ditolak.1760Informasi tentang penggunaan tool yang ditolak.

1441 1761 


1447};1767};

1448```1768```

1449 1769 

1450<h3 id="sdkmessageorigin">1770### `SDKMessageOrigin`

1451 `SDKMessageOrigin`

1452</h3>

1453 1771 

1454Asal-usul pesan dengan peran pengguna. Ini muncul sebagai `origin` pada [`SDKUserMessage`](#sdkusermessage) dan diteruskan ke [`SDKResultMessage`](#sdkresultmessage) yang sesuai sehingga Anda dapat mengetahui apa yang memicu putaran tertentu.1772Asal-usul pesan dengan peran pengguna. Ini muncul sebagai `origin` pada [`SDKUserMessage`](#sdkusermessage) dan diteruskan ke [`SDKResultMessage`](#sdkresultmessage) yang sesuai sehingga Anda dapat mengetahui apa yang memicu putaran tertentu.

1455 1773 


2034type AgentInput = {2352type AgentInput = {

2035 description: string;2353 description: string;

2036 prompt: string;2354 prompt: string;

2037 subagent_type: string;2355 subagent_type?: string;

2038 model?: "sonnet" | "opus" | "haiku" | "fable";2356 model?: "sonnet" | "opus" | "haiku" | "fable";

2039 resume?: string;

2040 run_in_background?: boolean;2357 run_in_background?: boolean;

2041 max_turns?: number;

2042 name?: string;2358 name?: string;

2043 mode?: "acceptEdits" | "bypassPermissions" | "default" | "dontAsk" | "plan";2359 mode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan";

2044 isolation?: "worktree";2360 isolation?: "worktree";

2045};2361};

2046```2362```


2075```typescript theme={null}2391```typescript theme={null}

2076type BashInput = {2392type BashInput = {

2077 command: string;2393 command: string;

2078 timeout?: number;2394 timeout?: number; // milliseconds, max 600000; higher values are clamped to the max

2079 description?: string;2395 description?: string;

2080 run_in_background?: boolean;2396 run_in_background?: boolean;

2081 dangerouslyDisableSandbox?: boolean;2397 dangerouslyDisableSandbox?: boolean;


2503 | {2819 | {

2504 status: "completed";2820 status: "completed";

2505 agentId: string;2821 agentId: string;

2506 content: Array<{ type: "text"; text: string }>;2822 agentType?: string;

2823 content: Array<{ type: "text"; text: string; citations?: unknown[] | null }>;

2507 resolvedModel?: string;2824 resolvedModel?: string;

2508 totalToolUseCount: number;2825 totalToolUseCount: number;

2509 totalDurationMs: number;2826 totalDurationMs: number;


2517 web_search_requests: number;2834 web_search_requests: number;

2518 web_fetch_requests: number;2835 web_fetch_requests: number;

2519 } | null;2836 } | null;

2520 service_tier: ("standard" | "priority" | "batch") | null;2837 service_tier: string | null;

2521 cache_creation: {2838 cache_creation: {

2522 ephemeral_1h_input_tokens: number;2839 ephemeral_1h_input_tokens: number;

2523 ephemeral_5m_input_tokens: number;2840 ephemeral_5m_input_tokens: number;

2524 } | null;2841 } | null;

2842 inference_geo?: string | null;

2843 speed?: string | null;

2844 iterations?: unknown;

2845 };

2846 toolStats?: {

2847 readCount: number;

2848 searchCount: number;

2849 bashCount: number;

2850 editFileCount: number;

2851 linesAdded: number;

2852 linesRemoved: number;

2853 otherToolCount: number;

2854 frameCount?: number;

2525 };2855 };

2526 prompt: string;2856 prompt: string;

2857 worktreePath?: string;

2858 worktreeBranch?: string;

2527 }2859 }

2528 | {2860 | {

2529 status: "async_launched";2861 status: "async_launched";

2862 isAsync?: true;

2530 agentId: string;2863 agentId: string;

2531 description: string;2864 description: string;

2532 resolvedModel?: string;2865 resolvedModel?: string;


2535 canReadOutputFile?: boolean;2868 canReadOutputFile?: boolean;

2536 }2869 }

2537 | {2870 | {

2538 status: "sub_agent_entered";2871 status: "remote_launched";

2872 taskId: string;

2873 sessionUrl: string;

2539 description: string;2874 description: string;

2540 message: string;2875 prompt: string;

2876 outputFile: string;

2541 };2877 };

2542```2878```

2543 2879 

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

2545 2881 

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

2547 2883 

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

2885 

2886Sebelum v2.1.207, tipe yang dipublikasikan lebih sempit. Tipe tersebut menghilangkan `worktreePath`, `worktreeBranch`, `citations`, `toolStats.frameCount`, dan field penggunaan `inference_geo`, `speed`, dan `iterations`, dan mengetik `service_tier` sebagai `"standard" | "priority" | "batch"`. Field yang ditandai tipe sebagai opsional dapat tidak ada pada hasil yang dicatat oleh versi sebelumnya.

2887 

2548<h3 id="askuserquestion-1">2888<h3 id="askuserquestion-1">

2549 AskUserQuestion2889 AskUserQuestion

2550</h3>2890</h3>


3538 3878 

3539Dipancarkan ketika hook mulai mengeksekusi.3879Dipancarkan ketika hook mulai mengeksekusi.

3540 3880 

3881Claude Code mengirimkan pesan ini, [`SDKHookProgressMessage`](#sdkhookprogressmessage), dan [`SDKHookResponseMessage`](#sdkhookresponsemessage) ke aliran pesan segera, termasuk saat hook `SessionStart` atau `Setup` masih berjalan selama startup sesi. Claude Code v2.1.169 hingga v2.1.203 mengirimkan pesan ini dalam satu batch setelah hook `SessionStart` atau `Setup` selesai; v2.1.204 mengembalikan pengiriman langsung.

3882 

3541```typescript theme={null}3883```typescript theme={null}

3542type SDKHookStartedMessage = {3884type SDKHookStartedMessage = {

3543 type: "system";3885 type: "system";


3725};4067};

3726```4068```

3727 4069 

4070### `SDKThinkingTokensMessage`

4071 

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

4073 

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

4075 

4076```typescript theme={null}

4077type SDKThinkingTokensMessage = {

4078 type: "system";

4079 subtype: "thinking_tokens";

4080 estimated_tokens: number;

4081 estimated_tokens_delta: number;

4082 uuid: UUID;

4083 session_id: string;

4084};

4085```

4086 

3728<h3 id="sdkfilespersistedevent">4087<h3 id="sdkfilespersistedevent">

3729 `SDKFilesPersistedEvent`4088 `SDKFilesPersistedEvent`

3730</h3>4089</h3>


3976 Fallback Izin untuk Perintah Unsandboxed4335 Fallback Izin untuk Perintah Unsandboxed

3977</h3>4336</h3>

3978 4337 

3979Ketika `allowUnsandboxedCommands` diaktifkan, model dapat meminta untuk menjalankan perintah di luar sandbox dengan mengatur `dangerouslyDisableSandbox: true` dalam input tool. Permintaan ini jatuh kembali ke sistem izin yang ada, berarti handler `canUseTool` Anda dipanggil, memungkinkan Anda untuk mengimplementasikan logika otorisasi kustom.4338Ketika `allowUnsandboxedCommands` diaktifkan, model dapat meminta untuk menjalankan perintah di luar sandbox dengan mengatur `dangerouslyDisableSandbox: true` dalam input tool. Permintaan ini jatuh kembali ke sistem izin yang ada, berarti handler `canUseTool` Anda dipanggil, memungkinkan Anda untuk mengimplementasikan logika otorisasi kustom. Dalam contoh di bawah, `isCommandAuthorized` mewakili pemeriksaan otorisasi yang Anda tentukan.

3980 4339 

3981<Note>4340<Note>

3982 **`excludedCommands` vs `allowUnsandboxedCommands`:**4341 **`excludedCommands` vs `allowUnsandboxedCommands`:**

Details

49 49 

50<Warning>50<Warning>

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

52 

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

52</Warning>54</Warning>

53 55 

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


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

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

216 218 

217Saat mengizinkan, berikan input alat (asli atau dimodifikasi). Saat menolak, berikan pesan yang menjelaskan alasannya. Claude melihat pesan ini dan mungkin menyesuaikan pendekatannya.219Saat mengizinkan, alat berjalan dengan input yang diminta Claude kecuali Anda mengembalikan input yang dimodifikasi, `updatedInput` di TypeScript atau `updated_input` di Python. {/* min-version: 2.1.207 */}Sebelum v2.1.207, Claude Code menolak hasil izin yang menghilangkan `updatedInput` dan menolak panggilan alat dengan kesalahan validasi.

220 

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

218 222 

219<CodeGroup>223<CodeGroup>

220 ```python Python theme={null}224 ```python Python theme={null}

agent-teams.md +5 −1

Details

249 249 

250Lihat [Pilih mode tampilan](#choose-a-display-mode) untuk opsi konfigurasi tampilan. Pesan rekan tim tiba di lead secara otomatis.250Lihat [Pilih mode tampilan](#choose-a-display-mode) untuk opsi konfigurasi tampilan. Pesan rekan tim tiba di lead secara otomatis.

251 251 

252Mailbox setiap agent adalah file JSON di `~/.claude/teams/{team-name}/inboxes/{agent-name}.json`. Claude Code memvalidasi setiap entri ketika membaca file mailbox. Entri yang tidak sesuai dengan format pesan dilaporkan sebagai kesalahan dan dihapus dari file; pesan yang valid masih dikirimkan. Sebelum v2.1.207, satu entri mailbox yang salah format menyebabkan kesalahan berulang setiap detik dan memblokir pengiriman untuk mailbox itu sampai Anda menghapus file secara manual.

253 

252Sistem mengelola dependensi tugas secara otomatis. Ketika rekan tim menyelesaikan tugas yang tugas lain bergantung padanya, tugas yang diblokir membuka tanpa intervensi manual.254Sistem mengelola dependensi tugas secara otomatis. Ketika rekan tim menyelesaikan tugas yang tugas lain bergantung padanya, tugas yang diblokir membuka tanpa intervensi manual.

253 255 

254Tim dan tugas disimpan secara lokal dengan nama yang diturunkan dari sesi. Nama adalah `session-` diikuti oleh delapan karakter pertama dari session ID:256Tim dan tugas disimpan secara lokal dengan nama yang diturunkan dari sesi. Nama adalah `session-` diikuti oleh delapan karakter pertama dari session ID:


290 292 

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

292 294 

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

296 

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

294 298 

295<h3 id="context-and-communication">299<h3 id="context-and-communication">

296 Context dan komunikasi300 Context dan komunikasi

agents.md +1 −1

Details

54 54 

55* Untuk sesi latar belakang, `claude agents` membuka [agent view](/id/agent-view): satu layar menampilkan setiap sesi, statusnya, dan mana yang membutuhkan input Anda.55* Untuk sesi latar belakang, `claude agents` membuka [agent view](/id/agent-view): satu layar menampilkan setiap sesi, statusnya, dan mana yang membutuhkan input Anda.

56* Untuk subagents dalam sesi saat ini, subagents latar belakang bernama muncul dalam typeahead @-mention dengan statusnya. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, `/agents` tidak lagi membuka panel; ini mencetak pemberitahuan yang menunjuk ke lokasi file subagent. Untuk [membuat dan mengedit subagents kustom](/id/sub-agents#configure-subagents), tanyakan kepada Claude atau edit file secara langsung. Meskipun nama serupa, `/agents` terpisah dari `claude agents`.56* Untuk subagents dalam sesi saat ini, subagents latar belakang bernama muncul dalam typeahead @-mention dengan statusnya. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, `/agents` tidak lagi membuka panel; ini mencetak pemberitahuan yang menunjuk ke lokasi file subagent. Untuk [membuat dan mengedit subagents kustom](/id/sub-agents#configure-subagents), tanyakan kepada Claude atau edit file secara langsung. Meskipun nama serupa, `/agents` terpisah dari `claude agents`.

57* Untuk apa pun yang berjalan di latar belakang sesi saat ini, `/tasks` mencantumkan setiap item dan memungkinkan Anda memeriksa, melampirkan, atau menghentikannya.57* Untuk apa pun yang berjalan di latar belakang sesi saat ini, `/tasks` mencantumkan setiap item dan memungkinkan Anda memeriksa, melampirkan, atau menghentikannya. Daftar ini juga mencakup subagents yang telah selesai.

58* Untuk dynamic workflows, `/workflows` mencantumkan runs yang sedang berjalan dan yang telah selesai, fase yang masing-masing berada di dalamnya, dan berapa banyak agents yang telah selesai.58* Untuk dynamic workflows, `/workflows` mencantumkan runs yang sedang berjalan dan yang telah selesai, fase yang masing-masing berada di dalamnya, dan berapa banyak agents yang telah selesai.

59 59 

60Untuk tampilan desktop dari semua sesi Anda, lihat [sesi paralel di aplikasi desktop](/id/desktop#work-in-parallel-with-sessions).60Untuk tampilan desktop dari semua sesi Anda, lihat [sesi paralel di aplikasi desktop](/id/desktop#work-in-parallel-with-sessions).

Details

111 </Step>111 </Step>

112</Steps>112</Steps>

113 113 

114Setelah Anda masuk, jalankan `/setup-bedrock` kapan saja untuk membuka kembali wizard dan mengubah kredensial, wilayah, atau pin model Anda.114Setelah Anda masuk, jalankan `/setup-bedrock` kapan saja untuk membuka kembali wizard dan mengubah kredensial, wilayah, atau pin model Anda. Langkah pin model dimulai dari model yang saat ini Anda pin. Wizard menulis ke `~/.claude/settings.json`, atau ke `$CLAUDE_CONFIG_DIR/settings.json` ketika [`CLAUDE_CONFIG_DIR`](/id/env-vars#variables) diatur.

115 115 

116<h2 id="set-up-manually">116<h2 id="set-up-manually">

117 Pengaturan manual117 Pengaturan manual


154 154 

155**Opsi C: Variabel lingkungan (profil SSO)**155**Opsi C: Variabel lingkungan (profil SSO)**

156 156 

157Ganti `your-profile-name` dengan nama profil AWS Anda sebelum menjalankan perintah ini.

158 

157```bash theme={null}159```bash theme={null}

158aws sso login --profile=<your-profile-name>160aws sso login --profile=your-profile-name

159 161 

160export AWS_PROFILE=your-profile-name162export AWS_PROFILE=your-profile-name

161```163```

162 164 

165Claude Code meminta kredensial peran dari wilayah IAM Identity Center yang dinamai oleh `sso_region` profil, yang tidak perlu cocok dengan wilayah tempat Anda menjalankan Amazon Bedrock. {/* min-version: 2.1.208 */}Dalam v2.1.207, wilayah Amazon Bedrock mengganti `sso_region`, jadi profil yang instance IAM Identity Center-nya berada di wilayah berbeda gagal untuk mengautentikasi dengan kesalahan `Session token not found or invalid`.

166 

163**Opsi D: Kredensial AWS Management Console**167**Opsi D: Kredensial AWS Management Console**

164 168 

165```bash theme={null}169```bash theme={null}


176 180 

177Kunci API Amazon Bedrock menyediakan metode autentikasi yang lebih sederhana tanpa memerlukan kredensial AWS lengkap. [Pelajari lebih lanjut tentang kunci API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/).181Kunci API Amazon Bedrock menyediakan metode autentikasi yang lebih sederhana tanpa memerlukan kredensial AWS lengkap. [Pelajari lebih lanjut tentang kunci API Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/).

178 182 

183<h4 id="credential-caching-and-resolution-timeout">

184 Caching kredensial dan timeout resolusi

185</h4>

186 

187Claude Code menyelesaikan rantai penyedia kredensial default AWS sekali dan menyimpan kredensial yang diselesaikan dalam memori. Kredensial tersebut digunakan kembali hingga lima menit sebelum kedaluwarsa, atau selama satu jam ketika tidak memiliki kedaluwarsa, jadi profil yang didukung SSO meminta kredensial dari IAM Identity Center sekitar sekali per masa hidup kredensial. Kesalahan kredensial dari API menghapus cache, dan retry menyelesaikan kredensial segar.

188 

189Sebelum v2.1.207, Claude Code menyelesaikan rantai pada setiap permintaan API, jadi profil yang didukung SSO meminta kredensial segar dari IAM Identity Center setiap kali dan dapat dibatasi dalam penerapan besar.

190 

191Cache mencakup setiap opsi kredensial di atas kecuali kunci API Amazon Bedrock, yang tidak menggunakan rantai penyedia. Untuk menyelesaikan rantai pada setiap permintaan alih-alih, atur [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/id/env-vars).

192 

193Setiap resolusi rantai habis waktu setelah 60 detik. Jika langkah dalam rantai macet, misalnya pembantu `credential_process` yang menunggu input yang tidak dapat diterima, permintaan gagal dengan [`AWS default-chain credential resolve timed out`](/id/errors#aws-default-chain-credential-resolve-timed-out). Jika rantai Anda menjalankan sign-in interaktif yang secara sah memerlukan waktu lebih lama, seperti SSO berbasis browser dengan MFA melalui wrapper seperti `aws-vault`, naikkan batas dalam milidetik dengan [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/id/env-vars). Sebelum v2.1.207, resolusi kredensial yang macet membiarkan permintaan menunggu tanpa batas.

194 

179<h4 id="advanced-credential-configuration">195<h4 id="advanced-credential-configuration">

180 Konfigurasi kredensial lanjutan196 Konfigurasi kredensial lanjutan

181</h4>197</h4>


223 239 

224`Expiration` bersifat opsional. {/* min-version: 2.1.176 */}Mulai dari Claude Code v2.1.176, ketika perintah mengembalikan `Expiration` ISO 8601 yang valid, Claude Code menyimpan kredensial dalam cache hingga lima menit sebelum waktu tersebut. Tanpanya, atau pada versi sebelumnya, kredensial disimpan dalam cache selama satu jam.240`Expiration` bersifat opsional. {/* min-version: 2.1.176 */}Mulai dari Claude Code v2.1.176, ketika perintah mengembalikan `Expiration` ISO 8601 yang valid, Claude Code menyimpan kredensial dalam cache hingga lima menit sebelum waktu tersebut. Tanpanya, atau pada versi sebelumnya, kredensial disimpan dalam cache selama satu jam.

225 241 

242Ketika Anda mengonfigurasi `awsCredentialExport` tanpa `awsAuthRefresh`, Claude Code menggunakan kredensial yang diekspor secara langsung dan tidak menyelesaikan kembali rantai penyedia kredensial default AWS saat startup. Sebelum v2.1.206, startup juga menyelesaikan kembali rantai penyedia default, yang membuat panggilan SSO atau STS langsung di luar konfigurasi proxy Anda dan dapat memblokir prompt pertama selama beberapa menit di jaringan dengan egress terbatas.

243 

226<h3 id="3-configure-claude-code">244<h3 id="3-configure-claude-code">

227 3. Konfigurasi Claude Code245 3. Konfigurasi Claude Code

228</h3>246</h3>


262</h3>280</h3>

263 281 

264<Warning>282<Warning>

265 Pin versi model spesifik saat menerapkan ke beberapa pengguna. Tanpa pinning, alias model seperti `sonnet` dan `opus` diselesaikan ke default bawaan Claude Code untuk Amazon Bedrock, yang dapat tertinggal dari rilis terbaru dan mungkin belum tersedia di akun Anda. Claude Code [kembali](#startup-model-checks) ke versi sebelumnya saat startup ketika default tidak tersedia, tetapi pinning memungkinkan Anda mengontrol kapan pengguna Anda beralih ke model baru.283 Pin versi model spesifik saat menerapkan ke beberapa pengguna. Tanpa pinning, alias model seperti `sonnet` dan `opus` diselesaikan ke default bawaan Claude Code untuk Amazon Bedrock, yang dapat tertinggal dari rilis terbaru dan mungkin belum tersedia di akun Anda. Claude Code [kembali](#startup-model-checks) ke model yang lebih awal atau tingkat lebih rendah saat startup ketika default tidak tersedia, tetapi pinning memungkinkan Anda mengontrol kapan pengguna Anda beralih ke model baru.

266</Warning>284</Warning>

267 285 

268Atur variabel lingkungan ini ke ID model Amazon Bedrock spesifik.286Atur variabel lingkungan ini ke ID model Amazon Bedrock spesifik.

269 287 

270Tanpa variabel ini, alias `opus` di Amazon Bedrock diselesaikan ke Opus 4.8 dan alias `sonnet` diselesaikan ke Sonnet 4.5. Atur setiap variabel untuk pin aliasnya ke versi spesifik:288Tanpa `ANTHROPIC_DEFAULT_OPUS_MODEL`, alias `opus` di Amazon Bedrock diselesaikan ke Opus 4.8, dan tanpa `ANTHROPIC_DEFAULT_SONNET_MODEL`, alias `sonnet` diselesaikan ke Sonnet 4.5. Contoh ini pin setiap alias ke versi spesifik:

271 289 

272```bash theme={null}290```bash theme={null}

273export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'291export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'


280Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:298Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:

281 299 

282| Jenis model | Nilai default |300| Jenis model | Nilai default |

283| :---------------- | :----------------------------- |301| :---------------- | :--------------------------------------------- |

284| Model utama | `us.anthropic.claude-opus-4-8` |302| Model utama | `us.anthropic.claude-opus-4-8` |

285| Model kecil/cepat | Sama dengan model utama |303| Model kecil/cepat | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |

304 

305Tugas latar belakang seperti pembuatan judul sesi menggunakan model kecil/cepat, biasanya model kelas Haiku. Di Amazon Bedrock, Claude Code menggunakan model Sonnet default untuk tugas latar belakang karena Haiku mungkin tidak diaktifkan di setiap akun atau wilayah. Dua pilihan mengubah model mana yang membawanya:

286 306 

287Tugas latar belakang seperti pembuatan judul sesi menggunakan model kecil/cepat, biasanya model kelas Haiku. Di Amazon Bedrock, Claude Code secara default mengatur ini ke model utama karena Haiku mungkin tidak diaktifkan di setiap akun atau wilayah. Untuk menggunakan Haiku untuk tugas latar belakang, atur `ANTHROPIC_DEFAULT_HAIKU_MODEL` ke ID model yang tersedia di akun Anda.307* Ketika Anda memilih model utama dengan `--model`, `ANTHROPIC_MODEL`, atau pengaturan `model`, tugas latar belakang menggunakan model tersebut. Menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL` tanpa `ANTHROPIC_DEFAULT_SONNET_MODEL` juga dihitung sebagai pilihan, karena model Sonnet bawaan mungkin tidak diaktifkan di akun yang mengarahkan Opus-nya sendiri.

308* Untuk menggunakan Haiku untuk tugas latar belakang, atur `ANTHROPIC_DEFAULT_HAIKU_MODEL` ke ID model yang tersedia di akun Anda.

309 

310<Warning>

311 Model Opus memiliki harga per-token yang lebih tinggi daripada model Sonnet, jadi penerapan yang tidak pin model utama ditagih dengan tarif Opus setelah diperbarui ke v2.1.207 atau lebih baru. Untuk menjaga Sonnet 4.5 sebagai model utama, atur `ANTHROPIC_MODEL` ke ID model lengkapnya. Penerapan yang mengarahkan default dengan `ANTHROPIC_DEFAULT_SONNET_MODEL` dan tidak menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL` menjaga model Sonnet yang diarahkan sebagai default.

312</Warning>

313 

314{/* min-version: 2.1.207 */}Sebelum v2.1.207, model utama di Amazon Bedrock default ke Sonnet 4.5, alias `opus` diselesaikan ke Opus 4.6, dan tugas latar belakang selalu menggunakan model utama.

288 315 

289Untuk menyesuaikan model lebih lanjut, gunakan salah satu metode berikut:316Untuk menyesuaikan model lebih lanjut, gunakan salah satu metode berikut:

290 317 


336 363 

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

338 365 

339Jika Anda belum mempin model dan default saat ini tidak tersedia di akun Anda, Claude Code kembali ke versi sebelumnya untuk sesi saat ini dan menampilkan pemberitahuan. Fallback tidak disimpan. Aktifkan model yang lebih baru di akun Amazon Bedrock Anda atau [pin versi](#4-pin-model-versions) untuk membuat pilihan permanen.366Jika Anda belum mempin model dan default saat ini tidak tersedia di akun Anda, Claude Code kembali untuk sesi saat ini dan menampilkan pemberitahuan. Claude Code mencoba versi sebelumnya dari model default terlebih dahulu dan, ketika default adalah model Opus dan tidak ada versi Opus yang tersedia, kembali ke model Sonnet default. Fallback tidak disimpan. Aktifkan model yang lebih baru di akun Amazon Bedrock Anda atau [pin versi](#4-pin-model-versions) untuk membuat pilihan permanen.

340 367 

341<h2 id="iam-configuration">368<h2 id="iam-configuration">

342 Konfigurasi IAM369 Konfigurasi IAM


397 Jendela konteks token 1M424 Jendela konteks token 1M

398</h2>425</h2>

399 426 

400Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) di Amazon Bedrock. Sonnet 5 disajikan melalui [endpoint Mantle](#use-the-mantle-endpoint) dan selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.427Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) di Amazon Bedrock. Sonnet 5 disajikan melalui [endpoint Mantle](#use-the-mantle-endpoint) dan selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.

401 428 

402[Wizard pengaturan](#sign-in-with-bedrock) menawarkan opsi konteks 1M ketika mempin model. Untuk mengaktifkannya untuk model yang dipinnya secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/id/model-config#pin-models-for-third-party-deployments) untuk detail.429[Wizard pengaturan](#sign-in-with-bedrock) menawarkan opsi konteks 1M ketika mempin model. Untuk mengaktifkannya untuk model yang dipinnya secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/id/model-config#pin-models-for-third-party-deployments) untuk detail.

403 430 


538 565 

539Claude Code menggunakan Amazon Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) dan tidak mendukung Converse API.566Claude Code menggunakan Amazon Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) dan tidak mendukung Converse API.

540 567 

568<h3 id="streaming-errors-behind-a-gateway-or-proxy">

569 Kesalahan streaming di belakang gateway atau proxy

570</h3>

571 

572Jika permintaan streaming gagal dengan kesalahan yang dimulai dengan `Bedrock streaming response has content-type`, gateway atau proxy antara Claude Code dan Amazon Bedrock mengubah respons streaming. Amazon Bedrock melakukan streaming respons dalam format event-stream biner dengan content-type `application/vnd.amazon.eventstream`, dan Claude Code menolak respons streaming yang berhasil yang melaporkan content-type berbeda alih-alih mendekode badan yang tidak dapat dibacanya. Kesalahan menyebutkan content-type yang diterima, biasanya `text/event-stream` dari integrasi Amazon API Gateway dan Lambda yang memancarkan kembali aliran sebagai server-sent events.

573 

574Sebelum v2.1.208, konfigurasi yang salah yang sama muncul sebagai `API Error: Truncated event message received` setelah seluruh respons telah di-buffer.

575 

576Untuk memperbaikinya, konfigurasikan gateway untuk melewatkan badan respons `InvokeModelWithResponseStream` dan header `Content-Type`-nya tanpa diubah. Jika gateway hanya menulis ulang header dan melewatkan badan biner dengan utuh, atur [`CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1`](/id/env-vars) untuk melewati pemeriksaan sampai gateway diperbaiki. Dengan pemeriksaan dimatikan, badan respons yang diubah gagal dengan `Truncated event message received` lagi.

577 

541<h3 id="zero-token-counts-in-/context">578<h3 id="zero-token-counts-in-/context">

542 Penghitungan token nol dalam /context579 Penghitungan token nol dalam /context

543</h3>580</h3>

analytics.md +1 −1

Details

228 Akses data secara terprogram228 Akses data secara terprogram

229</h4>229</h4>

230 230 

231Pada paket Enterprise, [Claude Enterprise Analytics API](https://support.claude.com/en/articles/13703965-claude-enterprise-analytics-api-reference-guide) mengembalikan laporan keterlibatan per pengguna, penggunaan, dan biaya untuk organisasi Anda di seluruh permukaan Claude, termasuk Claude Code. Pemilik Utama membuat kunci dengan cakupan `read:analytics` di [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys). API tidak tersedia di paket Teams.231Pada paket Enterprise, [Claude Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) mengembalikan laporan keterlibatan per pengguna, penggunaan, dan biaya untuk organisasi Anda di seluruh permukaan Claude, termasuk Claude Code. Pemilik Utama membuat kunci dengan cakupan `read:analytics` di [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys). API tidak tersedia di paket Teams.

232 232 

233Untuk menanyakan data kontribusi melalui GitHub sebagai gantinya, cari PR yang diberi label dengan `claude-code-assisted`.233Untuk menanyakan data kontribusi melalui GitHub sebagai gantinya, cari PR yang diberi label dengan `claude-code-assisted`.

234 234 

artifacts.md +82 −18

Details

4 4 

5# Bagikan keluaran sesi sebagai artifacts5# Bagikan keluaran sesi sebagai artifacts

6 6 

7> Artifacts mengubah pekerjaan Claude Code menjadi halaman interaktif langsung di URL pribadi di claude.ai.7> Artifacts mengubah pekerjaan Claude Code menjadi halaman interaktif langsung di claude.ai yang dapat Anda simpan secara pribadi, bagikan dengan organisasi Anda, atau terbitkan ke tautan publik.

8 8 

9{/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}9{/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}

10 10 


12 Artifacts tersedia di paket Pro, Max, Team, dan Enterprise dan memerlukan sesi yang masuk dengan [`/login`](/id/setup#authenticate). Lihat [Availability](#availability) untuk rangkaian lengkap persyaratan.12 Artifacts tersedia di paket Pro, Max, Team, dan Enterprise dan memerlukan sesi yang masuk dengan [`/login`](/id/setup#authenticate). Lihat [Availability](#availability) untuk rangkaian lengkap persyaratan.

13</Note>13</Note>

14 14 

15Artifact adalah halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai. Anda membukanya di browser, dan halaman tersebut diperbarui di tempat saat sesi berlanjut. Di paket Team dan Enterprise, bagikan dari header halaman ketika Anda ingin rekan kerja melihatnya juga. Misalnya, gunakan artifact untuk membimbing reviewer melalui pull request dengan diff yang diberi anotasi, membangun dashboard dari data sesi, atau menyimpan timeline investigasi yang terisi saat Claude bekerja.15Artifact adalah halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai. Anda membukanya di browser, dan halaman tersebut diperbarui di tempat saat sesi berlanjut. Bagikan dari header halaman ketika Anda ingin orang lain melihatnya juga. Misalnya, gunakan artifact untuk membimbing reviewer melalui pull request dengan diff yang diberi anotasi, membangun dashboard dari data sesi, atau menyimpan timeline investigasi yang terisi saat Claude bekerja.

16 16 

17<Frame>17<Frame>

18 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="Artifact terbuka di browser di claude.ai/code/artifact. Header viewer menampilkan judul artifact acme-funnel-fix, tombol Share, dan avatar penulis. Menu Share terbuka dengan toggle Always share latest version, pemilih versi yang menunjukkan Sharing version 2, pemilih audiens Everyone at Acme, dan tombol Copy link. Di bawah header, halaman artifact menampilkan dua mockup mobile berdampingan, bagan corong, dan baris kartu metrik." width="2511" height="1890" data-path="images/artifacts-viewer.png" />18 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="Artifact terbuka di browser di claude.ai/code/artifact. Header viewer menampilkan judul artifact acme-funnel-fix, tombol Share, dan avatar penulis. Menu Share terbuka dengan toggle Always share latest version, pemilih versi yang menunjukkan Sharing version 2, pemilih audiens Everyone at Acme, dan tombol Copy link. Di bawah header, halaman artifact menampilkan dua mockup mobile berdampingan, bagan corong, dan baris kartu metrik." width="2511" height="1890" data-path="images/artifacts-viewer.png" />


29* Meletakkan beberapa opsi desain atau implementasi berdampingan29* Meletakkan beberapa opsi desain atau implementasi berdampingan

30* Menyimpan timeline investigasi yang terisi saat tugas panjang berjalan30* Menyimpan timeline investigasi yang terisi saat tugas panjang berjalan

31* Mengirim tautan ke rekan kerja alih-alih menempel output ke Slack31* Mengirim tautan ke rekan kerja alih-alih menempel output ke Slack

32* Menerbitkan papan status yang [menarik data segar melalui konektor MCP](#pull-live-data-with-mcp-connectors) setiap kali seseorang membukanya

32 33 

33Lihat [What you can build](#what-you-can-build) untuk prompt yang cocok dengan masing-masing.34Lihat [What you can build](#what-you-can-build) untuk prompt yang cocok dengan masing-masing, dan [Pull live data with MCP connectors](#pull-live-data-with-mcp-connectors) untuk prompt papan yang didukung konektor.

34 35 

35<h3 id="what-an-artifact-is-not">36<h3 id="what-an-artifact-is-not">

36 Apa yang bukan artifact37 Apa yang bukan artifact

37</h3>38</h3>

38 39 

39Artifact adalah tangkapan pekerjaan, bukan aplikasi. Ini adalah satu halaman yang mandiri tanpa backend, jadi tidak dapat menyimpan input formulir, memanggil API pada waktu tampilan, atau melayani beberapa rute. Untuk alat internal yang dihosting dengan backend, sebarkan di infrastruktur Anda sendiri. Lihat [Page constraints](#page-constraints) untuk rangkaian lengkap batasan.40Artifact adalah tangkapan pekerjaan, bukan aplikasi. Ini adalah satu halaman yang mandiri tanpa backend, jadi tidak dapat menyimpan input formulir atau melayani beberapa rute, dan satu-satunya jalurnya ke data eksternal ketika seseorang melihatnya adalah [memanggil konektor MCP](#pull-live-data-with-mcp-connectors). Untuk alat internal yang dihosting dengan backend, sebarkan di infrastruktur Anda sendiri. Lihat [Page constraints](#page-constraints) untuk rangkaian lengkap batasan.

40 41 

41<h2 id="create-an-artifact">42<h2 id="create-an-artifact">

42 Buat artifact43 Buat artifact


81```82```

82 83 

83<h2 id="share-an-artifact">84<h2 id="share-an-artifact">

84 Bagikan artifact85 Bagikan artefak

85</h2>86</h2>

86 87 

87Artifact baru hanya terlihat oleh Anda. Pada paket Pro dan Max, artifact tetap pribadi untuk Anda. Pada paket Team dan Enterprise, buka artifact di browser Anda dan gunakan kontrol **Share** di header halaman untuk memberikan akses ke orang-orang tertentu di organisasi Anda, atau ke semua orang di dalamnya. Header menamai Anda sebagai penulis artifact, jadi siapa pun yang Anda bagikan dapat melihat siapa yang menerbitkan halaman. Ini juga menautkan ke galeri Anda di [claude.ai/code/artifacts](https://claude.ai/code/artifacts), yang mencantumkan setiap artifact yang telah Anda buat.88Artefak baru hanya terlihat oleh Anda. Untuk membagikannya, buka artefak di browser Anda dan gunakan kontrol **Share** di header halaman. Header menyebutkan Anda sebagai penulis artefak, jadi siapa pun yang Anda bagikan dapat melihat siapa yang menerbitkan halaman. Ini juga menautkan ke galeri Anda di [claude.ai/code/artifacts](https://claude.ai/code/artifacts), yang mencantumkan setiap artefak yang telah Anda buat.

88 89 

89Berbagi berhenti di organisasi Anda. Viewer harus masuk ke claude.ai sebagai anggota organisasi yang sama yang menerbitkan artifact, dan tidak ada opsi untuk membuat artifact dapat dilihat di luar organisasi. Untuk mengirim konten yang mendasar kepada seseorang di luar organisasi Anda, minta Claude untuk file HTML dan bagikan file tersebut secara langsung.90Siapa yang dapat Anda bagikan tergantung pada paket Anda:

90 91 

91Artifacts dapat dilihat, bukan diedit bersama. Orang yang Anda bagikan melihat setiap versi yang Anda terbitkan tetapi tidak dapat mengubah halaman; Anda tetap menjadi satu-satunya penulis.92* **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.

93* **Secara publik**: bagikan tautan yang dapat dibuka siapa pun di internet, tanpa memerlukan masuk ke claude.ai. Pada paket Pro dan Max, tautan publik adalah satu-satunya cara untuk membagikan artefak. Pada paket Team dan Enterprise, berbagi publik dimatikan sampai Pemilik [mengaktifkannya untuk organisasi](#control-public-sharing).

94 

95<h3 id="let-someone-edit-with-you">

96 Biarkan seseorang mengedit bersama Anda

97</h3>

98 

99Orang-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**.

100 

101Editor menerbitkan versi baru dengan cara yang sama seperti Anda [memperbarui artefak dari sesi lain](#update-an-artifact): mereka memberikan URL artefak kepada Claude di sesi mereka sendiri, dan Claude menarik konten saat ini dan menerbitkan ulang dengan perubahan mereka. Semua orang dengan halaman terbuka melihat setiap pembaruan secara langsung.

102 

103<h2 id="pull-live-data-with-mcp-connectors">

104 Tarik data langsung dengan konektor MCP

105</h2>

106 

107{/* plan-availability: feature=artifact-mcp plans=pro,max,team,enterprise providers=anthropic */}

108 

109Sebuah artifact dapat memanggil [konektor MCP](/id/mcp#use-mcp-servers-from-claude-ai) setiap kali seseorang melihatnya, sehingga halaman menampilkan data terkini daripada snapshot dari sesi yang membangunnya. Panggilan konektor dari artifact tersedia di paket Pro, Max, Team, dan Enterprise dan memerlukan Claude Code v2.1.209 atau lebih baru. Pada versi sebelumnya, Claude menerbitkan halaman dengan data apa pun yang dikumpulkan sesi saat membangunnya.

110 

111Untuk membuat halaman yang didukung konektor, beri nama konektor dan data yang Anda inginkan dalam prompt Anda:

112 

113```text wrap theme={null}

114Build a dashboard artifact of our open pull requests that pulls the live list through my GitHub connector when the page loads.

115```

116 

117Claude mendeklarasikan konektor mana yang dapat dipanggil halaman sebagai bagian dari penerbitan, dan halaman tidak dapat memanggil konektor di luar deklarasi tersebut. Hanya konektor dari akun claude.ai Anda yang memenuhi syarat: Claude menamainya dalam deklarasi, dan ketika seseorang melihat halaman, setiap panggilan [berjalan melalui koneksi akun penampil sendiri](#how-connector-calls-work-for-viewers) ke konektor tersebut. Server MCP lokal yang Anda konfigurasi di Claude Code, seperti server dari `.mcp.json`, dapat menyediakan data saat Claude membangun halaman, tetapi halaman yang diterbitkan tidak dapat memanggilnya.

118 

119Halaman mengambil data saat dimuat dan dapat menyegarkan pada interval atau ketika penampil menggunakan kontrol penyegaran di halaman. Respons disimpan dalam cache di browser penampil, sehingga halaman yang dibuka kembali dirender dari respons yang disimpan dalam cache segera, kemudian diperbarui dengan hasil segar.

120 

121<h3 id="how-connector-calls-work-for-viewers">

122 Cara kerja panggilan konektor untuk penampil

123</h3>

124 

125Ketika halaman yang diterbitkan memanggil konektor, panggilan menggunakan akun orang yang melihat halaman, bukan akun orang yang menerbitkannya:

126 

127* **Setiap penampil menggunakan konektor mereka sendiri**: panggilan berjalan melalui alat yang terhubung akun penampil, sehingga dua orang membuka dasbor yang sama dapat melihat data berbeda tergantung pada apa yang dapat diakses akun mereka. Halaman tidak pernah melihat kredensial siapa pun; claude.ai membuat panggilan atas nama halaman.

128* **Penampil menyetujui akses terlebih dahulu**: claude.ai meminta izin setiap penampil sebelum panggilan konektor pertama halaman. Penampil yang menolak, atau yang belum menghubungkan konektor yang digunakan halaman, masih melihat halaman tanpa bagian langsung-nya.

129* **Tindakan juga menggunakan akun penampil**: halaman dapat menawarkan kontrol yang memanggil alat konektor dengan efek samping, seperti memposting pesan atau memperbarui masalah. Tindakan berjalan melalui akun siapa pun yang memilih kontrol.

130 

131Ketika Anda berencana berbagi halaman yang didukung konektor, minta Claude untuk menyertakan pesan fallback di setiap bagian langsung yang menamai konektor yang dibutuhkannya. Penampil yang kehilangan koneksi kemudian melihat apa yang harus dihubungkan daripada bagian kosong.

132 

133Artifact yang memanggil konektor tidak dapat dibagikan ke tautan publik di paket apa pun. Di paket Team dan Enterprise, Anda dapat menyimpannya tetap pribadi atau [membagikannya dalam organisasi Anda](#share-an-artifact). Di paket Pro dan Max, di mana tautan publik adalah satu-satunya cara untuk berbagi, artifact yang didukung konektor tetap pribadi untuk Anda.

134 

135<h3 id="the-page-shows-no-live-data-for-a-viewer">

136 Halaman tidak menampilkan data langsung untuk penampil

137</h3>

138 

139Ketika halaman yang didukung konektor dirender tetapi bagian langsung-nya tetap kosong untuk seseorang yang Anda bagikan, kerjakan penyebab-penyebab ini:

140 

141* **Penampil belum menghubungkan konektor**: konektor adalah per-akun, jadi setiap penampil memerlukan koneksi mereka sendiri ke setiap konektor yang dipanggil halaman. Mereka dapat menambahkan satu di bawah **Settings > Connectors** di claude.ai, kemudian muat ulang halaman.

142* **Penampil menolak permintaan izin**: penolakan berlangsung untuk sisa pemuatan halaman itu. Memuat ulang halaman membawa permintaan izin kembali.

143* **Panggilan konektor dimatikan untuk organisasi**: Pemilik mengontrol [toggle **Enable artifact connectors**](#control-connector-calls-from-artifacts) dalam pengaturan admin.

92 144 

93<h2 id="what-you-can-build">145<h2 id="what-you-can-build">

94 Apa yang dapat Anda bangun146 Apa yang dapat Anda bangun


150 Tingkatkan desain visual202 Tingkatkan desain visual

151</h2>203</h2>

152 204 

153Claude menerapkan skill desain bawaan ketika membangun artifact, sehingga halaman mendapatkan palet, tipografi, dan tata letak yang disengaja tanpa prompting tambahan. Skill itu juga mencari sistem desain yang ada di proyek Anda sebelum memilih miliknya sendiri. Untuk menjaga artifacts konsisten dengan branding produk Anda, catat token desain Anda di mana Claude dapat menemukannya, seperti [CLAUDE.md](/id/memory) proyek atau file tema di repositori Anda:205Mulai dari Claude Code v2.1.183, Claude menerapkan skill desain bawaan ketika membangun artifact, sehingga halaman mendapatkan palet, tipografi, dan tata letak yang disengaja tanpa prompting tambahan. Skill itu juga mencari sistem desain yang ada di proyek Anda sebelum memilih miliknya sendiri. Untuk menjaga artifacts konsisten dengan branding produk Anda, catat token desain Anda di mana Claude dapat menemukannya, seperti [CLAUDE.md](/id/memory) proyek atau file tema di repositori Anda:

154 206 

155```markdown theme={null}207```markdown theme={null}

156## Design system208## Design system


169Setiap artifact adalah satu halaman yang mandiri. Claude Code membungkus file yang Anda terbitkan dalam shell dokumen HTML dan melayaninya di bawah Content Security Policy (CSP) yang ketat, yang membentuk apa yang dapat dilakukan halaman.221Setiap artifact adalah satu halaman yang mandiri. Claude Code membungkus file yang Anda terbitkan dalam shell dokumen HTML dan melayaninya di bawah Content Security Policy (CSP) yang ketat, yang membentuk apa yang dapat dilakukan halaman.

170 222 

171| Batasan | Efek |223| Batasan | Efek |

172| :----------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |224| :----------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

173| Tidak ada permintaan eksternal | CSP memblokir skrip, stylesheet, font, dan gambar yang dimuat dari host lain, bersama dengan panggilan `fetch`, XHR, dan WebSocket. Claude menginline CSS dan JavaScript dan menyematkan gambar sebagai data URI sehingga halaman dirender tanpa permintaan eksternal apa pun. |225| Tidak ada permintaan eksternal | CSP memblokir skrip, stylesheet, font, dan gambar yang dimuat dari host lain, bersama dengan panggilan `fetch`, XHR, dan WebSocket. Claude menginline CSS dan JavaScript dan menyematkan gambar sebagai data URI sehingga halaman dirender tanpa permintaan eksternal apa pun. [Panggilan Connector](#pull-live-data-with-mcp-connectors) adalah pengecualian: halaman menyerahkannya ke claude.ai, yang membuat panggilan jaringan itu sendiri. |

174| Tidak ada backend | Artifact adalah halaman statis. Tidak dapat menyimpan data yang dikirimkan melalui formulir, mengautentikasi viewer sendiri, atau memanggil API pada waktu tampilan. |226| Tidak ada backend | Artifact adalah halaman statis. Tidak dapat menyimpan data yang dikirimkan melalui formulir atau mengautentikasi viewer sendiri. Satu-satunya cara untuk mengambil data ketika seseorang melihatnya adalah [memanggil MCP connectors](#pull-live-data-with-mcp-connectors), bukan API miliknya sendiri. |

175| Halaman tunggal | Tautan relatif tidak diselesaikan, karena tidak ada yang disebarkan bersama halaman. Untuk konten multi-bagian, Claude menggunakan jangkar dalam halaman daripada file terpisah. |227| Halaman tunggal | Tautan relatif tidak diselesaikan, karena tidak ada yang disebarkan bersama halaman. Untuk konten multi-bagian, Claude menggunakan jangkar dalam halaman daripada file terpisah. |

176| Jenis file sumber | File yang diterbitkan harus `.html`, `.htm`, atau `.md`. File Markdown dirender sebagai HTML bergaya. |228| Jenis file sumber | File yang diterbitkan harus `.html`, `.htm`, atau `.md`. File Markdown dirender sebagai HTML bergaya. |

177| Ukuran yang dirender | Halaman yang dirender harus 16 MiB atau lebih kecil. Gambar tertanam besar adalah penyebab umum ketika penerbitan gagal karena ukuran. |229| Ukuran yang dirender | Halaman yang dirender harus 16 MiB atau lebih kecil. Gambar tertanam besar adalah penyebab umum ketika penerbitan gagal karena ukuran. |


189Artifacts memerlukan setiap kondisi di bawah. Ketika salah satu tidak terpenuhi, Claude menulis file HTML lokal atau mengatakan tidak dapat menerbitkan.241Artifacts memerlukan setiap kondisi di bawah. Ketika salah satu tidak terpenuhi, Claude menulis file HTML lokal atau mengatakan tidak dapat menerbitkan.

190 242 

191| Persyaratan | Tersedia ketika |243| Persyaratan | Tersedia ketika |

192| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |244| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

193| Paket | Pro, Max, Team, atau Enterprise. Pada paket Pro dan Max, artifacts bersifat pribadi untuk Anda, dan tidak ada manajemen admin yang berlaku. Pada paket Team, artifacts diaktifkan secara default. Pada paket Enterprise, pemilik [mengaktifkannya](#manage-artifacts-for-your-organization) di pengaturan admin claude.ai. |245| Paket | Pro, Max, Team, atau Enterprise. Pada paket Pro dan Max, artifacts bersifat pribadi untuk Anda sampai Anda membagikannya, dan tidak ada manajemen admin yang berlaku. Pada paket Team, artifacts diaktifkan secara default. Pada paket Enterprise, pemilik [mengaktifkannya](#manage-artifacts-for-your-organization) di pengaturan admin claude.ai. |

194| Autentikasi | Masuk ke claude.ai dengan `/login`. Sesi menggunakan kunci API, [gateway token](/id/llm-gateway), atau kredensial penyedia cloud tidak dapat menerbitkan. |246| Autentikasi | Sesi didukung oleh akun claude.ai: masuk dengan `/login` di CLI atau aplikasi desktop. Sesi Claude Tag masuk melalui identitas agen, jadi tidak ada langkah yang diperlukan di sana. Sesi menggunakan kunci API, [gateway token](/id/llm-gateway), atau kredensial penyedia cloud tidak dapat menerbitkan. |

195| Penyedia model | Anthropic API. Tidak tersedia di [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), atau [Microsoft Foundry](/id/microsoft-foundry). |247| Penyedia model | Anthropic API. Tidak tersedia di [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), atau [Microsoft Foundry](/id/microsoft-foundry). |

196| Kebijakan organisasi | Kunci enkripsi yang dikelola pelanggan (CMEK), HIPAA, dan [Zero Data Retention](/id/zero-data-retention) tidak diaktifkan untuk organisasi. |248| Kebijakan organisasi | Kunci enkripsi yang dikelola pelanggan (CMEK), HIPAA, dan [Zero Data Retention](/id/zero-data-retention) tidak diaktifkan untuk organisasi. |

197| Permukaan | Claude Code CLI, atau aplikasi desktop Claude versi 1.13576.0 atau lebih baru. Dimatikan secara default di konteks [Agent SDK](/id/agent-sdk/overview), GitHub Action, dan MCP-server, dan ketika [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/id/env-vars) diatur. |249| Permukaan | Claude Code CLI versi 2.1.183 atau lebih baru, atau aplikasi desktop Claude versi 1.13576.0 atau lebih baru. Sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) juga dapat menerbitkan artifacts ketika Claude Tag dan artifacts keduanya diaktifkan untuk organisasi. Dimatikan secara default di konteks [Agent SDK](/id/agent-sdk/overview), GitHub Action, dan MCP-server, dan ketika [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/id/env-vars) diatur. |

198 250 

199<h2 id="disable-artifacts">251<h2 id="disable-artifacts">

200 Nonaktifkan artifacts252 Nonaktifkan artifacts


212 Kelola artifacts untuk organisasi Anda264 Kelola artifacts untuk organisasi Anda

213</h2>265</h2>

214 266 

215Pemilik pada paket Team dan Enterprise mengontrol artifacts dari [pengaturan admin claude.ai](https://claude.ai/admin-settings/claude-code). Konten artifact disimpan di infrastruktur yang dioperasikan Anthropic dan hanya terlihat oleh anggota terautentikasi dari organisasi penerbit.267Pemilik pada paket Team dan Enterprise mengontrol artifacts dari [pengaturan admin claude.ai](https://claude.ai/admin-settings/claude-code). Konten artifact disimpan di infrastruktur yang dioperasikan Anthropic dan hanya terlihat oleh anggota terautentikasi dari organisasi penerbit, kecuali artifact [dibagikan secara publik](#control-public-sharing).

216 268 

217<h3 id="enable-or-disable-artifacts">269<h3 id="enable-or-disable-artifacts">

218 Aktifkan atau nonaktifkan artifacts270 Aktifkan atau nonaktifkan artifacts


220 272 

221Untuk mengaktifkan atau menonaktifkan artifacts untuk seluruh organisasi, buka **Settings > Claude Code > Capabilities** dan gunakan toggle **Artifacts**. Pada paket Enterprise dengan kontrol akses berbasis peran, Anda dapat membatasi artifacts ke peran tertentu: buka **Settings > Roles**, edit peran, dan atur izin **Artifacts** di bawah grup **Claude Code**.273Untuk mengaktifkan atau menonaktifkan artifacts untuk seluruh organisasi, buka **Settings > Claude Code > Capabilities** dan gunakan toggle **Artifacts**. Pada paket Enterprise dengan kontrol akses berbasis peran, Anda dapat membatasi artifacts ke peran tertentu: buka **Settings > Roles**, edit peran, dan atur izin **Artifacts** di bawah grup **Claude Code**.

222 274 

275<h3 id="control-connector-calls-from-artifacts">

276 Kontrol panggilan connector dari artifacts

277</h3>

278 

279[Panggilan connector dari artifacts](#pull-live-data-with-mcp-connectors) memiliki toggle mereka sendiri, terpisah dari toggle **Artifacts** yang mengaktifkan atau menonaktifkan artifacts. Buka [**Settings > Capabilities**](https://claude.ai/admin-settings/capabilities) dan gunakan toggle **Enable artifact connectors**. Toggle yang sama mengatur panggilan connector dari artifacts yang dibuat dalam percakapan claude.ai, itulah mengapa toggle ini berada di bawah **Settings > Capabilities** daripada **Settings > Claude Code**.

280 

281<h3 id="control-public-sharing">

282 Kontrol berbagi publik

283</h3>

284 

285Berbagi publik dimatikan secara default pada paket Team dan Enterprise, jadi anggota dapat berbagi artifacts hanya dalam organisasi sampai Pemilik mengaktifkannya. Untuk memungkinkan anggota menerbitkan artifacts ke tautan publik yang dapat dilihat siapa saja tanpa masuk, buka **Settings > Claude Code > Capabilities** dan aktifkan **External sharing** di bawah toggle **Artifacts**. Menonaktifkannya kembali memblokir akses melalui tautan publik yang ada tanpa mengubah audiens setiap artifact; akses dilanjutkan jika Anda mengaktifkannya kembali.

286 

223<h3 id="set-a-retention-policy">287<h3 id="set-a-retention-policy">

224 Atur kebijakan retensi288 Atur kebijakan retensi

225</h3>289</h3>


258 322 

259* Jelajahi [pola prompting dan alur kerja](/id/prompt-library) yang berpasangan dengan artifacts323* Jelajahi [pola prompting dan alur kerja](/id/prompt-library) yang berpasangan dengan artifacts

260* Ubah prompt artifact yang Anda gunakan kembali menjadi [skill](/id/skills) sehingga Anda dapat memanggilnya sebagai perintah324* Ubah prompt artifact yang Anda gunakan kembali menjadi [skill](/id/skills) sehingga Anda dapat memanggilnya sebagai perintah

261* [Hubungkan server MCP](/id/mcp) sehingga Claude dapat menarik data langsung ke artifact325* [Hubungkan server MCP](/id/mcp) sehingga Claude dapat menarik data langsung ke artifact saat membangun halaman

Details

18 18 

19Jika browser Anda menampilkan kode login alih-alih pengalihan kembali setelah Anda masuk, tempel ke terminal di prompt `Paste code here if prompted`. Ini terjadi ketika browser tidak dapat menjangkau server callback lokal Claude Code, yang umum terjadi di WSL2, sesi SSH, dan kontainer.19Jika browser Anda menampilkan kode login alih-alih pengalihan kembali setelah Anda masuk, tempel ke terminal di prompt `Paste code here if prompted`. Ini terjadi ketika browser tidak dapat menjangkau server callback lokal Claude Code, yang umum terjadi di WSL2, sesi SSH, dan kontainer.

20 20 

21Ketika login selesai, terminal menampilkan `Login successful` dan meminta Anda menekan `Enter` untuk melanjutkan.

22 

21Anda dapat melakukan autentikasi dengan salah satu jenis akun berikut:23Anda dapat melakukan autentikasi dengan salah satu jenis akun berikut:

22 24 

23* **Langganan Claude Pro atau Max**: masuk dengan akun Claude.ai Anda. Berlangganan di [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).25* **Langganan Claude Pro atau Max**: masuk dengan akun Claude.ai Anda. Berlangganan di [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

24* **Claude for Teams atau Enterprise**: masuk dengan akun Claude.ai yang diundang oleh admin tim Anda.26* **Claude for Teams atau Enterprise**: masuk dengan akun Claude.ai yang diundang oleh admin tim Anda.

25* **Claude Console**: masuk dengan kredensial Console Anda. Admin Anda harus telah [mengundang Anda](#claude-console-authentication) terlebih dahulu.27* **Claude Console**: masuk dengan kredensial Console Anda. Admin Anda harus telah [mengundang Anda](#claude-console-authentication) terlebih dahulu.

26* **Penyedia cloud**: jika organisasi Anda menggunakan [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), atau [Microsoft Foundry](/id/microsoft-foundry), atur variabel lingkungan yang diperlukan sebelum menjalankan `claude`. Tidak diperlukan login browser.28* **Penyedia cloud**: jika organisasi Anda menggunakan [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), atau [Microsoft Foundry](/id/microsoft-foundry), atur variabel lingkungan yang diperlukan sebelum menjalankan `claude`, atau pilih **3rd-party platform** di prompt login, yang meluncurkan wizard pengaturan interaktif untuk Bedrock dan Vertex AI. Tidak diperlukan login browser.

27* **Gateway cloud**: jika organisasi Anda menjalankan [gateway aplikasi Claude](/id/claude-apps-gateway) yang di-host sendiri, masuk dengan SSO perusahaan melalui `/login`. Token yang dikeluarkan gateway adalah satu-satunya kredensial sesi.29* **Gateway cloud**: jika organisasi Anda menjalankan [gateway aplikasi Claude](/id/claude-apps-gateway) yang di-host sendiri, masuk dengan SSO perusahaan melalui `/login`. Token yang dikeluarkan gateway adalah satu-satunya kredensial sesi.

28 30 

29Untuk keluar dan melakukan autentikasi ulang, ketik `/logout` di prompt Claude Code.31Admin dapat membatasi login interaktif dengan pengaturan terkelola [`forceLoginMethod` dan `forceLoginOrgUUID`](/id/settings#available-settings). Ketika salah satu diatur, sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup; sesi penyedia cloud tidak terpengaruh.

32 

33Untuk keluar dan melakukan autentikasi ulang, ketik `/logout` di prompt Claude Code. Keluar juga mengatur ulang status pengaturan peluncuran pertama Anda, jadi lain kali Anda menjalankan `claude` akan memandu Anda melalui login dan pengaturan lagi.

30 34 

31Jika Anda mengalami kesulitan masuk, lihat [pemecahan masalah autentikasi](/id/troubleshoot-install#login-and-authentication).35Jika Anda mengalami kesulitan masuk, lihat [pemecahan masalah autentikasi](/id/troubleshoot-install#login-and-authentication).

32 36 


133 * Di Windows, kredensial disimpan di `%USERPROFILE%\.claude\.credentials.json` dan mewarisi kontrol akses dari direktori profil pengguna Anda, yang membatasi file ke akun pengguna Anda secara default.137 * Di Windows, kredensial disimpan di `%USERPROFILE%\.claude\.credentials.json` dan mewarisi kontrol akses dari direktori profil pengguna Anda, yang membatasi file ke akun pengguna Anda secara default.

134 * Jika Anda telah menetapkan variabel lingkungan `CLAUDE_CONFIG_DIR` di Linux atau Windows, file `.credentials.json` berada di bawah direktori tersebut.138 * Jika Anda telah menetapkan variabel lingkungan `CLAUDE_CONFIG_DIR` di Linux atau Windows, file `.credentials.json` berada di bawah direktori tersebut.

135 * Claude Code mengelola `.credentials.json` melalui `/login` dan `/logout`. Untuk merutekan permintaan melalui titik akhir API kustom, atur variabel lingkungan [`ANTHROPIC_BASE_URL`](/id/env-vars) sebagai gantinya.139 * Claude Code mengelola `.credentials.json` melalui `/login` dan `/logout`. Untuk merutekan permintaan melalui titik akhir API kustom, atur variabel lingkungan [`ANTHROPIC_BASE_URL`](/id/env-vars) sebagai gantinya.

136* **Jenis autentikasi yang didukung**: kredensial Claude.ai, kredensial API Claude, Azure Auth, Bedrock Auth, Vertex Auth, dan token sesi [gateway aplikasi Claude](/id/claude-apps-gateway).140* **Jenis autentikasi yang didukung**: kredensial Claude.ai, kredensial API Claude, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, dan token sesi [gateway aplikasi Claude](/id/claude-apps-gateway).

137* **Skrip kredensial kustom**: pengaturan [`apiKeyHelper`](/id/settings#available-settings) dapat dikonfigurasi untuk menjalankan skrip shell yang mengembalikan kunci API.141* **Skrip kredensial kustom**: pengaturan [`apiKeyHelper`](/id/settings#available-settings) dapat dikonfigurasi untuk menjalankan skrip shell yang mengembalikan kunci API.

138* **Interval penyegaran**: secara default, `apiKeyHelper` dipanggil setelah 5 menit atau pada respons HTTP 401. Atur variabel lingkungan `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` untuk interval penyegaran kustom.142* **Interval penyegaran**: secara default, `apiKeyHelper` dipanggil setelah 5 menit atau pada respons HTTP 401. Atur variabel lingkungan `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` untuk interval penyegaran kustom.

139* **Pemberitahuan helper lambat**: jika `apiKeyHelper` membutuhkan waktu lebih lama dari 10 detik untuk mengembalikan kunci, Claude Code menampilkan pemberitahuan peringatan di bilah prompt yang menunjukkan waktu yang telah berlalu. Jika Anda melihat pemberitahuan ini secara teratur, periksa apakah skrip kredensial Anda dapat dioptimalkan.143* **Pemberitahuan helper lambat**: jika `apiKeyHelper` membutuhkan waktu lebih lama dari 10 detik untuk mengembalikan kunci, Claude Code menampilkan pemberitahuan peringatan di bilah prompt yang menunjukkan waktu yang telah berlalu. Jika Anda melihat pemberitahuan ini secara teratur, periksa apakah skrip kredensial Anda dapat dioptimalkan.

144* **Kegagalan helper**: {/* min-version: 2.1.208 */}ketika skrip keluar dengan kesalahan, habis waktu, atau tidak mencetak apa pun, permintaan gagal dengan [`Your apiKeyHelper script is failing`](/id/errors#your-apikeyhelper-script-is-failing) dalam tiga upaya. Sebelum v2.1.208, kegagalan helper muncul sebagai 401 generik setelah sekitar sepuluh upaya ulang diam.

140 145 

141`apiKeyHelper`, `ANTHROPIC_API_KEY`, dan `ANTHROPIC_AUTH_TOKEN` berlaku untuk CLI dan permukaan yang membungkusnya, termasuk ekstensi VS Code, Agent SDK, dan GitHub Actions. Claude Desktop dan sesi cloud tidak memanggil `apiKeyHelper` atau membaca variabel lingkungan ini: mereka menggunakan OAuth, kecuali sesi desktop yang menjalankan [konfigurasi inferensi pihak ketiga yang didistribusikan organisasi](/id/llm-gateway-connect#desktop-app), yang melakukan autentikasi dengan kredensial konfigurasi tersebut.146`apiKeyHelper`, `ANTHROPIC_API_KEY`, dan `ANTHROPIC_AUTH_TOKEN` berlaku untuk CLI dan permukaan yang membungkusnya, termasuk ekstensi VS Code, Agent SDK, dan GitHub Actions. Claude Desktop dan sesi cloud tidak memanggil `apiKeyHelper` atau membaca variabel lingkungan ini: mereka menggunakan OAuth, kecuali sesi desktop yang menjalankan [konfigurasi inferensi pihak ketiga](/id/llm-gateway-connect#desktop-app), yang melakukan autentikasi dengan kredensial konfigurasi tersebut.

142 147 

143<h3 id="renew-an-expiring-login">148<h3 id="renew-an-expiring-login">

144 Perbarui login yang akan kedaluwarsa149 Perbarui login yang akan kedaluwarsa


148 153 

149Jalankan `/login` untuk memperbarui. Peringatan bersifat informatif dan tidak pernah memblokir permintaan: autentikasi terus bekerja sampai login benar-benar kedaluwarsa. Masa hidup login itu sendiri tidak berubah; peringatan awal adalah apa yang ditambahkan v2.1.203.154Jalankan `/login` untuk memperbarui. Peringatan bersifat informatif dan tidak pernah memblokir permintaan: autentikasi terus bekerja sampai login benar-benar kedaluwarsa. Masa hidup login itu sendiri tidak berubah; peringatan awal adalah apa yang ditambahkan v2.1.203.

150 155 

156{/* min-version: 2.1.206 */}Setelah login yang disimpan kedaluwarsa dan tidak dapat disegarkan, setiap permintaan gagal dengan [`Login expired · Please run /login`](/id/errors#login-expired) sampai Anda masuk lagi. Sebelum v2.1.206, login yang kedaluwarsa muncul sebagai kesalahan model sebagai gantinya.

157 

151Peringatan muncul hanya ketika login claude.ai atau Claude Console adalah kredensial aktif, dan bukan ketika penyedia cloud, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` menyediakan kredensial.158Peringatan muncul hanya ketika login claude.ai atau Claude Console adalah kredensial aktif, dan bukan ketika penyedia cloud, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` menyediakan kredensial.

152 159 

153Memperbarui lebih awal paling penting untuk sesi yang berjalan tanpa pengawasan. Sesi [background session in agent view](/id/agent-view) atau sesi [Remote Control](/id/remote-control) yang melampaui login berhenti membuat kemajuan setelah kredensial kedaluwarsa dan tidak dapat pulih sampai Anda masuk lagi.160Memperbarui lebih awal paling penting untuk sesi yang berjalan tanpa pengawasan. Sesi [background session in agent view](/id/agent-view) atau sesi [Remote Control](/id/remote-control) yang melampaui login berhenti membuat kemajuan setelah kredensial kedaluwarsa dan tidak dapat pulih sampai Anda masuk lagi.


160 167 

1611. Kredensial penyedia cloud, ketika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur. Lihat [integrasi pihak ketiga](/id/third-party-integrations) untuk pengaturan.1681. Kredensial penyedia cloud, ketika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur. Lihat [integrasi pihak ketiga](/id/third-party-integrations) untuk pengaturan.

1622. Variabel lingkungan `ANTHROPIC_AUTH_TOKEN`. Dikirim sebagai header `Authorization: Bearer`. Gunakan ini saat merutekan melalui [gateway LLM atau proxy](/id/llm-gateway) yang melakukan autentikasi dengan token bearer daripada kunci API Anthropic.1692. Variabel lingkungan `ANTHROPIC_AUTH_TOKEN`. Dikirim sebagai header `Authorization: Bearer`. Gunakan ini saat merutekan melalui [gateway LLM atau proxy](/id/llm-gateway) yang melakukan autentikasi dengan token bearer daripada kunci API Anthropic.

1633. Variabel lingkungan `ANTHROPIC_API_KEY`. Dikirim sebagai header `X-Api-Key`. Gunakan ini untuk akses API Anthropic langsung dengan kunci dari [Claude Console](https://platform.claude.com). Dalam mode interaktif, Anda diminta sekali untuk menyetujui atau menolak kunci, dan pilihan Anda diingat. Untuk mengubahnya nanti, gunakan toggle "Use custom API key" di `/config`. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada.1703. Variabel lingkungan `ANTHROPIC_API_KEY`. Dikirim sebagai header `X-Api-Key`. Gunakan ini untuk akses API Anthropic langsung dengan kunci dari [Claude Console](https://platform.claude.com). Dalam mode interaktif, Anda diminta sekali untuk menyetujui atau menolak kunci, dan pilihan Anda diingat. Untuk mengubahnya nanti, gunakan toggle "Use custom API key" di `/config`. Toggle hanya muncul saat `ANTHROPIC_API_KEY` diatur di lingkungan Anda. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada.

1644. Output skrip [`apiKeyHelper`](/id/settings#available-settings). Gunakan ini untuk kredensial dinamis atau berputar, seperti token berumur pendek yang diambil dari vault.1714. Output skrip [`apiKeyHelper`](/id/settings#available-settings). Gunakan ini untuk kredensial dinamis atau berputar, seperti token berumur pendek yang diambil dari vault.

1655. Variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`. Token OAuth berumur panjang yang dihasilkan oleh [`claude setup-token`](#generate-a-long-lived-token). Gunakan ini untuk pipeline CI dan skrip di mana login browser tidak tersedia.1725. Variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`. Token OAuth berumur panjang yang dihasilkan oleh [`claude setup-token`](#generate-a-long-lived-token). Gunakan ini untuk pipeline CI dan skrip di mana login browser tidak tersedia.

1666. Kredensial OAuth langganan dari `/login`. Ini adalah default untuk pengguna Claude Pro, Max, Team, dan Enterprise.1736. Kredensial OAuth langganan dari `/login`. Ini adalah default untuk pengguna Claude Pro, Max, Team, dan Enterprise.

167 174 

168Sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang sudah masuk berada di luar daftar ini: ini adalah pemilihan penyedia seperti Amazon Bedrock atau Agent Platform Google Cloud, dan itu mengungguli mereka. Ketika sesi gateway ada, CLI melakukan autentikasi dengan token gateway bahkan jika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur, dan entri token bearer, kunci API, dan `apiKeyHelper` di atas tidak digunakan.175Sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang sudah masuk berada di luar daftar ini: ini adalah pemilihan penyedia seperti Amazon Bedrock atau Agent Platform Google Cloud, dan itu mengungguli mereka. Ketika sesi gateway ada, CLI melakukan autentikasi dengan token gateway bahkan jika `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, atau `CLAUDE_CODE_USE_FOUNDRY` diatur, dan entri token bearer, kunci API, dan `apiKeyHelper` di atas tidak digunakan.

169 176 

170Jika Anda memiliki langganan Claude aktif tetapi juga memiliki `ANTHROPIC_API_KEY` diatur di lingkungan Anda, kunci API memiliki prioritas setelah disetujui. Ini dapat menyebabkan kegagalan autentikasi jika kunci milik organisasi yang dinonaktifkan atau kedaluwarsa. Jalankan `unset ANTHROPIC_API_KEY` untuk kembali ke langganan Anda, dan periksa `/status` untuk mengonfirmasi metode mana yang aktif.177Jika Anda memiliki langganan Claude aktif tetapi juga memiliki `ANTHROPIC_API_KEY` diatur di lingkungan Anda, kunci API memiliki prioritas setelah disetujui. Ini dapat menyebabkan kegagalan autentikasi jika kunci milik organisasi yang dinonaktifkan atau kedaluwarsa. Jalankan `unset ANTHROPIC_API_KEY` untuk kembali ke langganan Anda, dan periksa `/status` untuk mengonfirmasi metode mana yang aktif. Baris `Login method` menunjukkan akun langganan Anda, dan baris `API key` muncul saat kunci API sedang digunakan.

171 178 

172[Claude Code di Web](/id/claude-code-on-the-web) selalu menggunakan kredensial langganan Anda. `ANTHROPIC_API_KEY` dan `ANTHROPIC_AUTH_TOKEN` di lingkungan sandbox tidak menimpanya.179[Claude Code di Web](/id/claude-code-on-the-web) selalu menggunakan kredensial langganan Anda. Jika Anda menetapkan `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN` di lingkungan sandbox, itu tidak menimpa kredensial langganan Anda.

173 180 

174<h3 id="generate-a-long-lived-token">181<h3 id="generate-a-long-lived-token">

175 Hasilkan token berumur panjang182 Hasilkan token berumur panjang

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# Konfigurasi auto mode5# Konfigurasi mode otomatis

6 6 

7> Beri tahu pengklasifikasi auto mode tentang repo, bucket, dan domain mana yang dipercaya organisasi Anda. Atur konteks lingkungan, ganti aturan blokir dan izin default, dan periksa konfigurasi efektif Anda dengan subperintah CLI auto-mode.7> Beri tahu pengklasifikasi mode otomatis repositori, bucket, dan domain mana yang dipercaya organisasi Anda. Atur konteks lingkungan, ganti aturan blokir dan izin default, dan periksa konfigurasi efektif Anda dengan subperintah CLI mode otomatis.

8 8 

9[Auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) memungkinkan Claude Code berjalan tanpa permintaan izin rutin dengan merutekan panggilan alat melalui pengklasifikasi yang memblokir apa pun yang tidak dapat dibalikkan, merusak, atau ditujukan di luar lingkungan Anda. Aturan Deny dan explicit ask dievaluasi sebelum pengklasifikasi dan masih memblokir atau meminta. Gunakan blok pengaturan `autoMode` untuk memberi tahu pengklasifikasi itu repo, bucket, dan domain mana yang dipercaya organisasi Anda, sehingga berhenti memblokir operasi internal rutin.9[Mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode) memungkinkan Claude Code berjalan tanpa permintaan izin rutin dengan merutekan panggilan alat melalui pengklasifikasi yang memblokir apa pun yang tidak dapat dibalikkan, merusak, atau ditujukan di luar lingkungan Anda. Aturan penolakan dan permintaan eksplisit dievaluasi sebelum pengklasifikasi dan masih memblokir atau meminta. Gunakan blok pengaturan `autoMode` untuk memberi tahu pengklasifikasi tersebut repositori, bucket, dan domain mana yang dipercaya organisasi Anda, sehingga berhenti memblokir operasi internal rutin.

10 10 

11<Note>11<Note>

12 Auto mode tersedia untuk semua pengguna pada Anthropic API. Pada Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang masuk, Anda harus terlebih dahulu [mengatur `CLAUDE_CODE_ENABLE_AUTO_MODE`](/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry). Jika Claude Code melaporkan auto mode tidak tersedia untuk akun Anda, periksa [persyaratan lengkap](/id/permission-modes#eliminate-prompts-with-auto-mode), yang juga mencakup model yang didukung dan pengaktifan Owner pada paket Team dan Enterprise.12 Mode otomatis tersedia untuk semua pengguna di setiap penyedia, termasuk Anthropic API, Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang masuk. Jika Claude Code melaporkan mode otomatis tidak tersedia untuk akun Anda, periksa [persyaratan lengkap](/id/permission-modes#eliminate-prompts-with-auto-mode), yang juga mencakup model yang didukung dan pengaktifan Pemilik pada paket Tim dan Enterprise. {/* min-version: 2.1.207 */}Dalam v2.1.158 hingga v2.1.206, mode otomatis di Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude memerlukan pengaturan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.

13</Note>13</Note>

14 14 

15Secara default, pengklasifikasi hanya mempercayai direktori kerja dan remote yang dikonfigurasi dari repo saat ini. Tindakan seperti mendorong ke org kontrol sumber perusahaan Anda atau menulis ke bucket cloud tim diblokir sampai Anda menambahkannya ke `autoMode.environment`.15Secara default, pengklasifikasi hanya mempercayai direktori kerja dan remote yang dikonfigurasi dari repositori saat ini. Tindakan seperti mendorong ke organisasi kontrol sumber perusahaan Anda atau menulis ke bucket cloud tim diblokir sampai Anda menambahkannya ke `autoMode.environment`.

16 16 

17Untuk cara mengaktifkan auto mode dan apa yang diblokir secara default, lihat [Permission modes](/id/permission-modes#eliminate-prompts-with-auto-mode). Halaman ini adalah referensi konfigurasi.17Untuk cara mengaktifkan mode otomatis dan apa yang diblokir secara default, lihat [Mode izin](/id/permission-modes#eliminate-prompts-with-auto-mode). Halaman ini adalah referensi konfigurasi.

18 18 

19Halaman ini mencakup cara:19Halaman ini mencakup cara:

20 20 

21* [Pilih di mana menetapkan aturan](#where-the-classifier-reads-configuration) di seluruh CLAUDE.md, pengaturan pengguna, dan pengaturan terkelola21* [Tambahkan checkpoint manusia](#common-boundaries) untuk push dan pull request dengan `permissions.ask`

22* [Pilih tempat untuk menetapkan aturan](#where-the-classifier-reads-configuration) di seluruh CLAUDE.md, pengaturan pengguna, dan pengaturan terkelola

22* [Tentukan infrastruktur terpercaya](#define-trusted-infrastructure) dengan `autoMode.environment`23* [Tentukan infrastruktur terpercaya](#define-trusted-infrastructure) dengan `autoMode.environment`

23* [Ganti aturan blokir dan izin](#override-the-block-and-allow-rules) ketika default tidak sesuai dengan pipeline Anda24* [Ganti aturan blokir dan izin](#override-the-block-and-allow-rules) ketika default tidak sesuai dengan pipeline Anda

24* [Perutean semua perintah shell melalui pengklasifikasi](#route-all-shell-commands-through-the-classifier) dengan `autoMode.classifyAllShell`25* [Rutekan semua perintah shell melalui pengklasifikasi](#route-all-shell-commands-through-the-classifier) dengan `autoMode.classifyAllShell`

25* [Periksa konfigurasi efektif Anda](#inspect-the-defaults-and-your-effective-config) dengan subperintah `claude auto-mode`26* [Periksa konfigurasi efektif Anda](#inspect-the-defaults-and-your-effective-config) dengan subperintah `claude auto-mode`

26* [Tinjau penolakan](#review-denials) sehingga Anda tahu apa yang harus ditambahkan selanjutnya27* [Tinjau penolakan](#review-denials) sehingga Anda tahu apa yang harus ditambahkan selanjutnya

27 28 

29<h2 id="common-boundaries">

30 Batas-batas umum

31</h2>

32 

33Mode otomatis memungkinkan push ke cabang kerja Anda, push rutin ke cabang default repositori, dan pembuatan pull request secara default. Pengklasifikasi memblokir push hanya ketika membawa risiko, seperti force push atau konten yang menghindari review yang Anda atur. Jika Anda ingin checkpoint manusia sebelum setiap push atau pull request, tambahkan aturan izin: resep di bawah ini menjaga mode otomatis tetap aktif untuk segalanya.

34 

35Mekanisme paling langsung adalah [`permissions.ask`](/id/permissions#permission-rule-syntax). Aturan ask yang dibatasi konten seperti yang di bawah ini dievaluasi sebelum pengklasifikasi dan selalu memaksa prompt izin, bahkan dalam mode otomatis, karena aturan ask eksplisit adalah niat yang dinyatakan untuk diminta untuk tindakan tersebut. Tambahkan aturan di [settings](/id/settings#settings-files) Anda:

36 

37```json theme={null}

38{

39 "permissions": {

40 "ask": [

41 "Bash(git push *)",

42 "Bash(gh pr create *)"

43 ]

44 }

45}

46```

47 

48Pilih mekanisme yang sesuai dengan seberapa tegas batas yang diperlukan:

49 

50| Batas | Mekanisme | Perilaku dalam mode otomatis |

51| :------------------------------ | :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

52| Prompt sebelum tindakan | `permissions.ask` | Selalu meminta untuk aturan yang dibatasi konten seperti resep di atas. Pengklasifikasi tidak dapat auto-approve tindakan yang cocok. |

53| Jangan pernah jalankan tindakan | `permissions.deny` | Memblokir sebelum pengklasifikasi dikonsultasikan. Baik pengklasifikasi maupun niat pengguna tidak dapat menggantinya. |

54| Batas satu kali untuk sesi ini | Nyatakan dalam percakapan, seperti "jangan push sampai saya review" | Pengklasifikasi memblokir tindakan yang cocok, tetapi batas dapat hilang jika [context compaction](/id/costs#reduce-token-usage) menghapus pesan yang menyatakannya. Gunakan aturan ask atau deny untuk jaminan yang tahan lama. |

55 

28<h2 id="where-the-classifier-reads-configuration">56<h2 id="where-the-classifier-reads-configuration">

29 Di mana pengklasifikasi membaca konfigurasi57 Tempat pengklasifikasi membaca konfigurasi

30</h2>58</h2>

31 59 

32Pengklasifikasi membaca konten [CLAUDE.md](/id/memory) yang sama yang dimuat Claude sendiri, jadi instruksi seperti "jangan pernah force push" di CLAUDE.md proyek Anda mengarahkan Claude dan pengklasifikasi pada saat yang bersamaan. Mulai dari sana untuk konvensi proyek dan aturan perilaku.60Pengklasifikasi membaca konten [CLAUDE.md](/id/memory) yang sama yang dimuat Claude sendiri, jadi instruksi seperti "jangan pernah force push" di CLAUDE.md proyek Anda mengarahkan Claude dan pengklasifikasi secara bersamaan. Mulai dari sana untuk konvensi proyek dan aturan perilaku.

33 61 

34Untuk aturan yang berlaku di seluruh proyek, seperti infrastruktur terpercaya atau aturan penolakan di seluruh organisasi, gunakan blok pengaturan `autoMode`. Pengklasifikasi membaca `autoMode` dari cakupan berikut:62Untuk aturan yang berlaku di seluruh proyek, seperti infrastruktur terpercaya atau aturan penolakan di tingkat organisasi, gunakan blok pengaturan `autoMode`. Pengklasifikasi membaca `autoMode` dari cakupan berikut:

35 63 

36| Cakupan | File | Gunakan untuk |64| Cakupan | File | Gunakan untuk |

37| :---------------------------------- | :-------------------------------------------------- | :----------------------------------------------------------- |65| :---------------------------------- | :-------------------------------------------------- | :---------------------------------------------------------------- |

38| Satu pengembang | `~/.claude/settings.json` | Infrastruktur terpercaya pribadi |66| Satu pengembang | `~/.claude/settings.json` | Infrastruktur terpercaya pribadi |

39| Satu proyek, satu pengembang | `.claude/settings.local.json` | Bucket atau layanan terpercaya per-proyek |67| Di seluruh organisasi | [Pengaturan terkelola](/id/server-managed-settings) | Infrastruktur terpercaya yang didistribusikan ke semua pengembang |

40| Di seluruh organisasi | [Pengaturan terkelola](/id/server-managed-settings) | Infrastruktur terpercaya didistribusikan ke semua pengembang |

41| Bendera `--settings` atau Agent SDK | JSON inline | Penggantian per-invokasi untuk otomasi |68| Bendera `--settings` atau Agent SDK | JSON inline | Penggantian per-invokasi untuk otomasi |

42 69 

43Pengklasifikasi tidak membaca `autoMode` dari pengaturan proyek bersama di `.claude/settings.json`, jadi repo yang diperiksa tidak dapat menyuntikkan aturan izinnya sendiri.70Pengklasifikasi tidak membaca `autoMode` dari pengaturan proyek di `.claude/settings.json` atau `.claude/settings.local.json`. Kedua file berada di direktori repo, jadi repo yang diperiksa atau langkah build dapat sebaliknya menyuntikkan aturan izinnya sendiri. Sebelum v2.1.207, pengklasifikasi juga membaca `.claude/settings.local.json`; pindahkan blok `autoMode` apa pun di file tersebut ke `~/.claude/settings.json`. Mengecualikan `.claude/settings.local.json` juga menutup kasus di mana repositori melakukan commit file atau alat lokal atau langkah build menulisnya.

44 71 

45Entri dari setiap cakupan digabungkan. Pengembang dapat memperluas `environment`, `allow`, `soft_deny`, dan `hard_deny` dengan entri pribadi tetapi tidak dapat menghapus entri yang disediakan pengaturan terkelola. Karena aturan izin bertindak sebagai pengecualian untuk aturan blokir lunak di dalam pengklasifikasi, entri `allow` yang ditambahkan pengembang dapat mengganti entri `soft_deny` organisasi: kombinasinya bersifat aditif, bukan batas kebijakan keras.72Entri dari setiap cakupan digabungkan. Pengembang dapat memperluas `environment`, `allow`, `soft_deny`, dan `hard_deny` dengan entri pribadi tetapi tidak dapat menghapus entri yang disediakan pengaturan terkelola. Karena aturan izin bertindak sebagai pengecualian untuk aturan blok lunak di dalam pengklasifikasi, entri `allow` yang ditambahkan pengembang dapat mengganti entri `soft_deny` organisasi: kombinasinya bersifat aditif, bukan batas kebijakan keras.

46 73 

47<Note>74<Note>

48 Pengklasifikasi adalah gerbang kedua yang berjalan setelah [sistem izin](/id/permissions). Untuk tindakan yang tidak boleh pernah berjalan terlepas dari niat pengguna atau konfigurasi pengklasifikasi, gunakan `permissions.deny` dalam pengaturan terkelola, yang memblokir tindakan sebelum pengklasifikasi dikonsultasikan dan tidak dapat ditimpa.75 Pengklasifikasi adalah gerbang kedua yang berjalan setelah [sistem izin](/id/permissions). Untuk tindakan yang tidak boleh pernah berjalan terlepas dari niat pengguna atau konfigurasi pengklasifikasi, gunakan `permissions.deny` dalam pengaturan terkelola, yang memblokir tindakan sebelum pengklasifikasi dikonsultasikan dan tidak dapat ditimpa.


181```208```

182 209 

183<Danger>210<Danger>

184 Menetapkan salah satu dari `environment`, `allow`, `soft_deny`, atau `hard_deny` tanpa `"$defaults"` menggantikan seluruh daftar default untuk bagian itu. Array `soft_deny` tanpa `"$defaults"` membuang setiap aturan blokir soft bawaan, termasuk force push, `curl | bash`, dan production deploys. Array `hard_deny` tanpa `"$defaults"` membuang aturan data exfiltration bawaan dan aturan bypass auto-mode.211 Menetapkan salah satu dari `environment`, `allow`, `soft_deny`, atau `hard_deny` tanpa `"$defaults"` menggantikan seluruh daftar default untuk bagian itu. Jika Anda menetapkan array tanpa `"$defaults"`, Anda membuang aturan bawaan untuk bagian itu:

212 

213 * `soft_deny`: setiap aturan blokir soft bawaan, termasuk force push, `curl | bash`, production deploys, dan bypass auto-mode

214 * `hard_deny`: aturan data exfiltration bawaan

185</Danger>215</Danger>

186 216 

187Setiap bagian dievaluasi secara independen, jadi menetapkan `environment` saja membiarkan daftar `allow`, `soft_deny`, dan `hard_deny` default tetap utuh.217Setiap bagian dievaluasi secara independen, jadi menetapkan `environment` saja membiarkan daftar `allow`, `soft_deny`, dan `hard_deny` default tetap utuh.


224claude auto-mode defaults254claude auto-mode defaults

225```255```

226 256 

257{/* min-version: 2.1.208 */}Untuk membaca kata-kata lengkap satu aturan tanpa melalui pipa `jq`, berikan `--label` dengan awal label aturan, seperti `claude auto-mode defaults --label 'Git Destructive'`. Pencocokan adalah awalan yang tidak peka huruf besar-kecil pada label setiap aturan, dan bagian tanpa kecocokan dicetak sebagai daftar kosong. Memerlukan Claude Code v2.1.208 atau lebih baru.

258 

227Cetak apa yang sebenarnya digunakan pengklasifikasi sebagai JSON, dengan pengaturan Anda diterapkan di mana diatur dan default sebaliknya:259Cetak apa yang sebenarnya digunakan pengklasifikasi sebagai JSON, dengan pengaturan Anda diterapkan di mana diatur dan default sebaliknya:

228 260 

229```bash theme={null}261```bash theme={null}

channels.md +1 −1

Details

261 </Step>261 </Step>

262</Steps>262</Steps>

263 263 

264Jika Claude mengalami prompt izin saat Anda jauh dari terminal, sesi dijeda sampai Anda merespons. Server channel yang mendeklarasikan [kemampuan relai izin](/id/channels-reference#relay-permission-prompts) dapat meneruskan prompt ini kepada Anda sehingga Anda dapat menyetujui atau menolak dari jarak jauh. Untuk penggunaan tanpa pengawasan, [`--dangerously-skip-permissions`](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) melewati prompt sepenuhnya, tetapi hanya gunakan di lingkungan yang Anda percayai.264Jika Claude mengalami prompt izin saat Anda jauh dari terminal, sesi dijeda sampai Anda merespons. Server channel yang mendeklarasikan [kemampuan relai izin](/id/channels-reference#relay-permission-prompts) dapat meneruskan prompt ini kepada Anda sehingga Anda dapat menyetujui atau menolak dari jarak jauh. Untuk penggunaan tanpa pengawasan, [`--dangerously-skip-permissions`](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) melewati sebagian besar prompt, tetapi hanya gunakan di lingkungan yang Anda percayai. Aturan permintaan eksplisit, tool connector [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan tool MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) masih menampilkan prompt.

265 265 

266Ketika Anda menjalankan channels dalam mode non-interaktif dengan `-p`, tool yang memerlukan input terminal, seperti pertanyaan pilihan ganda dan persetujuan plan mode, dinonaktifkan sehingga sesi tidak pernah macet menunggu input.266Ketika Anda menjalankan channels dalam mode non-interaktif dengan `-p`, tool yang memerlukan input terminal, seperti pertanyaan pilihan ganda dan persetujuan plan mode, dinonaktifkan sehingga sesi tidak pernah macet menunggu input.

267 267 

Details

21Claude Code melacak semua perubahan yang dibuat oleh alat pengeditan filenya:21Claude Code melacak semua perubahan yang dibuat oleh alat pengeditan filenya:

22 22 

23* Setiap prompt pengguna membuat checkpoint baru23* Setiap prompt pengguna membuat checkpoint baru

24* Claude Code menyimpan snapshot file untuk 100 checkpoint paling terbaru dalam sesi. Membuang checkpoint yang lebih lama menghapus file snapshot yang tidak direferensikan oleh checkpoint yang tersisa, kecuali snapshot pertama setiap file, yang digunakan oleh ekstensi VS Code sebagai baseline untuk diffs sesi-nya. {/* min-version: 2.1.208 */}Sebelum v2.1.208, file snapshot yang digantikan tersebut tetap berada di disk hingga sesi dibersihkan.

24* Checkpoints disimpan dengan percakapan, sehingga sesi yang dilanjutkan masih dapat `/rewind` ke dalamnya25* Checkpoints disimpan dengan percakapan, sehingga sesi yang dilanjutkan masih dapat `/rewind` ke dalamnya

25* Dibersihkan secara otomatis bersama dengan sesi setelah 30 hari (dapat dikonfigurasi)26* Dibersihkan secara otomatis bersama dengan sesi setelah 30 hari (dapat dikonfigurasi)

26 27 

chrome.md +3 −1

Details

65 Go to code.claude.com/docs, click on the search box,65 Go to code.claude.com/docs, click on the search box,

66 type "hooks", and tell me what results appear66 type "hooks", and tell me what results appear

67 ```67 ```

68 

69 Tindakan browser pertama meminta izin untuk menggunakan skill `claude-in-chrome`. Setujui dan Claude membuka tab baru dan memulai tugas.

68 </Step>70 </Step>

69</Steps>71</Steps>

70 72 


105 Contoh alur kerja107 Contoh alur kerja

106</h2>108</h2>

107 109 

108Contoh-contoh ini menunjukkan cara umum untuk menggabungkan tindakan browser dengan tugas coding. Jalankan `/mcp` dan pilih `claude-in-chrome` untuk melihat daftar lengkap alat browser yang tersedia.110Contoh-contoh ini menunjukkan cara umum untuk menggabungkan tindakan browser dengan tugas coding. Jalankan `/mcp`, pilih `claude-in-chrome`, kemudian pilih **View tools** untuk melihat daftar lengkap alat browser yang tersedia.

109 111 

110<h3 id="test-a-local-web-application">112<h3 id="test-a-local-web-application">

111 Uji aplikasi web lokal113 Uji aplikasi web lokal

Details

192 192 

193Empty `auth` block menggunakan AWS SDK's default credential chain: env vars, `~/.aws/credentials`, ECS task role, EC2 instance metadata, atau IRSA pada EKS. Dalam production, berikan gateway pod IAM role daripada embedding static keys dalam container image.193Empty `auth` block menggunakan AWS SDK's default credential chain: env vars, `~/.aws/credentials`, ECS task role, EC2 instance metadata, atau IRSA pada EKS. Dalam production, berikan gateway pod IAM role daripada embedding static keys dalam container image.

194 194 

195Explicit credentials harus lengkap: gateway gagal saat boot ketika `aws_access_key_id` dan `aws_secret_access_key` tidak diatur bersama, atau ketika `aws_session_token` diatur tanpa mereka. Sebelum v2.1.207, partial `auth:` block lulus validasi.

196 

195| Setup | Bagaimana |197| Setup | Bagaimana |

196| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |198| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

197| IAM permissions | Berikan gateway's principal `bedrock:InvokeModel` dan `bedrock:InvokeModelWithResponseStream` pada inference-profile ARNs dan underlying foundation-model ARNs. Untuk built-in catalog di US regions: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` dan `arn:aws:bedrock:*::foundation-model/anthropic.*`. |199| IAM permissions | Berikan gateway's principal `bedrock:InvokeModel` dan `bedrock:InvokeModelWithResponseStream` pada inference-profile ARNs dan underlying foundation-model ARNs. Untuk built-in catalog di US regions: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` dan `arn:aws:bedrock:*::foundation-model/anthropic.*`. |


515```517```

516 518 

517| Key | Ditegakkan oleh | Efek |519| Key | Ditegakkan oleh | Efek |

518| ------------------------------------------ | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |520| ------------------------------------------ | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

520| `permissions.allow` / `.deny` | CLI | Aturan tool dan command. Lihat [Permissions](/id/permissions). |522| `permissions.allow` / `.deny` | CLI | Aturan tool dan command. Lihat [Permissions](/id/permissions). |

521| `permissions.disableBypassPermissionsMode` | CLI | Atur ke `disable` untuk memblokir [`bypassPermissions`](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode), mode yang auto-approves setiap tool call, dan flag `--dangerously-skip-permissions` |523| `permissions.disableBypassPermissionsMode` | CLI | Atur ke `disable` untuk memblokir [`bypassPermissions`](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode), mode yang melewati prompt permission, dan flag `--dangerously-skip-permissions` |

522| `allowManagedPermissionRulesOnly` | CLI | Ketika `true`, aturan permission pengguna dan proyek diabaikan; hanya aturan dari dokumen ini yang berlaku |524| `allowManagedPermissionRulesOnly` | CLI | Ketika `true`, aturan permission pengguna dan proyek diabaikan; hanya aturan dari dokumen ini yang berlaku |

523| `env` | CLI | Variabel lingkungan yang digabungkan ke proses CLI. Gunakan untuk telemetry, auto-update, dan model-name overrides. |525| `env` | CLI | Variabel lingkungan yang digabungkan ke proses CLI. Gunakan untuk telemetry, auto-update, dan model-name overrides. |

524| `hooks` | CLI | Org-wide [hooks](/id/hooks) |526| `hooks` | CLI | Org-wide [hooks](/id/hooks) |


535* **Pada daftar aman**: auto-update dan model-name vars537* **Pada daftar aman**: auto-update dan model-name vars

536* **Tidak pada daftar aman**: proxy vars, base-URL vars, dan `OTEL_EXPORTER_OTLP_ENDPOINT`538* **Tidak pada daftar aman**: proxy vars, base-URL vars, dan `OTEL_EXPORTER_OTLP_ENDPOINT`

537 539 

538Konfigurasi [telemetry](#telemetry) gateway mendorong `OTEL_EXPORTER_OTLP_ENDPOINT`, jadi pengaturan `telemetry.forward_to` memicu dialog pada setiap klien interaktif. Run non-interaktif dengan flag `-p` melewati dialog dan menerapkan pengaturan tanpa persetujuan. Dialog melindungi mesin developer dari gateway yang dikompromikan atau bermusuhan, bukan organisasi dari developer, jadi skip `-p` adalah disengaja daripada celah.540Konfigurasi [telemetry](#telemetry) gateway mendorong `OTEL_EXPORTER_OTLP_ENDPOINT`, jadi pengaturan `telemetry.forward_to` memicu dialog pada setiap klien interaktif. Run non-interaktif dengan flag `-p` tidak dapat menampilkan dialog. Ini menerapkan pengaturan yang didorong untuk run itu saja dan tidak merekamnya sebagai disetujui, jadi sesi interaktif berikutnya developer masih menampilkan dialog. Sebelum v2.1.207, run non-interaktif menyimpan pengaturan sebagai disetujui dan tidak ada sesi interaktif yang lebih baru menampilkan dialog untuk mereka.

539 541 

540Jika developer menolak, Claude Code keluar daripada menerapkan kebijakan. Mendorong hook baru atau variabel env non-aman ke kebijakan yang luas oleh karena itu berarti prompt persetujuan pada startup berikutnya setiap developer yang cocok.542Jika developer menolak, Claude Code keluar daripada menerapkan kebijakan. Mendorong hook baru atau variabel env non-aman ke kebijakan yang luas oleh karena itu berarti prompt persetujuan pada startup berikutnya setiap developer yang cocok.

541 543 


560* `sandbox.network.allowManagedDomainsOnly` dan `sandbox.filesystem.allowManagedReadPathsOnly`: ketika terkunci, allowlist yang sesuai adalah union di seluruh sumber562* `sandbox.network.allowManagedDomainsOnly` dan `sandbox.filesystem.allowManagedReadPathsOnly`: ketika terkunci, allowlist yang sesuai adalah union di seluruh sumber

561* [`allowAllClaudeAiMcps`](/id/settings#available-settings): override allow-only untuk allowlist server MCP claude.ai563* [`allowAllClaudeAiMcps`](/id/settings#available-settings): override allow-only untuk allowlist server MCP claude.ai

562* `sandbox.bwrapPath` dan `sandbox.socatPath`: jalur filesystem ke binary helper [sandbox](/id/sandboxing)564* `sandbox.bwrapPath` dan `sandbox.socatPath`: jalur filesystem ke binary helper [sandbox](/id/sandboxing)

565* [`forceRemoteSettingsRefresh`](/id/server-managed-settings): memblokir startup hingga pengaturan terkelola jarak jauh segar diambil, jadi kebijakan MDM atau file yang menetapkannya dihormati bahkan ketika payload jarak jauh yang di-cache yang kekurangan kunci adalah sumber prioritas tertinggi

563 566 

564Setiap kunci lainnya, termasuk `allowManagedPermissionRulesOnly` dan `disableBypassPermissionsMode`, berasal dari sumber prioritas tertinggi saja. Lihat [Settings precedence](/id/settings#settings-precedence) untuk aturan yang sama di halaman pengaturan.567Setiap kunci lainnya, termasuk `allowManagedPermissionRulesOnly` dan `disableBypassPermissionsMode`, berasal dari sumber prioritas tertinggi saja. Lihat [Settings precedence](/id/settings#settings-precedence) untuk aturan yang sama di halaman pengaturan.

565 568 

Details

18Jika masuk atau boot gagal di sepanjang jalan, langsung ke [Troubleshooting](#troubleshooting), yang dikunci pada kesalahan yang Anda lihat.18Jika masuk atau boot gagal di sepanjang jalan, langsung ke [Troubleshooting](#troubleshooting), yang dikunci pada kesalahan yang Anda lihat.

19 19 

20<Note>20<Note>

21 **Sebarkan di jaringan pribadi Anda.** Claude Code hanya terhubung ke gateway yang alamatnya pribadi. Ini adalah penjaga keamanan, karena gateway yang dipercaya dapat mendorong pengaturan yang menjalankan perintah pada mesin pengembang. Letakkan gateway di belakang penyeimbang beban internal atau VPN dan berikan nama host yang hanya diselesaikan ke IP pribadi.21 **Sebarkan di jaringan pribadi Anda.** Claude Code hanya terhubung ke gateway yang alamatnya pribadi. Ini adalah penjaga keamanan, karena gateway yang dipercaya dapat mendorong pengaturan yang menjalankan perintah pada mesin pengembang. Letakkan gateway yang Anda sebarkan di belakang penyeimbang beban internal atau VPN dan berikan nama host yang hanya diselesaikan ke IP pribadi.

22 

23 Titik akhir gateway publik yang dioperasikan Anthropic adalah pengecualian: `/login` menerimanya melalui `https://`. Ini adalah kumpulan tetap kecil dari gateway yang dioperasikan Anthropic sendiri; mereka bukan opsi penyebaran yang dapat Anda pilih atau konfigurasi. Daftar dikompilasi ke dalam Claude Code, jadi tidak ada konfigurasi yang dapat menambahkan nama host ke dalamnya dan tidak ada gateway yang Anda hosting yang memenuhi syarat untuk pengecualian. {/* min-version: 2.1.206 */}Sebelum v2.1.206, `/login` menolak titik akhir tersebut seperti alamat publik lainnya.

22</Note>24</Note>

23 25 

24<h2 id="identity-provider-setup">26<h2 id="identity-provider-setup">


271* **Masalah inferensi**: model yang diminta, upstream yang dikonfigurasi, dan log audit gateway untuk permintaan, yang mencatat upstream mana yang melayaninya dan status respons273* **Masalah inferensi**: model yang diminta, upstream yang dikonfigurasi, dan log audit gateway untuk permintaan, yang mencatat upstream mana yang melayaninya dan status respons

272 274 

273| Gejala | Penyebab | Perbaikan |275| Gejala | Penyebab | Perbaikan |

274| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |276| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

275| `/login` pengembang menampilkan pemilih akun standar bukan layar **Cloud gateway** | `forceLoginMethod` atau `forceLoginGatewayUrl` tidak diatur dalam pengaturan terkelola pada mesin itu | Sebarkan [file pengaturan terkelola](/id/claude-apps-gateway#set-the-gateway-url) ke perangkat; `/login` membaca URL gateway dari sana |277| `/login` pengembang menampilkan pemilih akun standar bukan layar **Cloud gateway** | `forceLoginMethod` atau `forceLoginGatewayUrl` tidak diatur dalam pengaturan terkelola pada mesin itu | Sebarkan [file pengaturan terkelola](/id/claude-apps-gateway#set-the-gateway-url) ke perangkat; `/login` membaca URL gateway dari sana |

276| Startup menampilkan `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Build Claude Code yang diinstal mendahului dukungan gateway | Minta pengembang memperbarui Claude Code ke rilis yang mencakup dukungan Cloud gateway |278| Startup menampilkan `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Build Claude Code yang diinstal mendahului dukungan gateway | Minta pengembang memperbarui Claude Code ke rilis yang mencakup dukungan Cloud gateway |

277| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Nama host gateway diselesaikan ke setidaknya satu alamat IP publik. Claude Code memeriksa setiap alamat yang diselesaikan dan memerlukan setiap satu menjadi pribadi. Penyebab umum adalah nama dual-stack di mana satu keluarga diselesaikan ke alamat publik, termasuk penyeimbang beban dual-stack internal AWS, yang mengembalikan alamat AAAA rentang publik | Minta nama gateway hanya diselesaikan ke alamat pribadi pada mesin pengembang. Untuk nama dual-stack, lepaskan catatan rentang publik atau layani nama DNS internal saja. Lihat [prasyarat jaringan pribadi](/id/claude-apps-gateway#prerequisites). |279| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Nama host gateway diselesaikan ke setidaknya satu alamat IP publik. Claude Code memeriksa setiap alamat yang diselesaikan dan memerlukan setiap satu menjadi pribadi. Penyebab umum adalah nama dual-stack di mana satu keluarga diselesaikan ke alamat publik, termasuk penyeimbang beban dual-stack internal AWS, yang mengembalikan alamat AAAA rentang publik. Titik akhir gateway publik yang dioperasikan Anthropic dikecualikan dari pemeriksaan, dan `/login` menerimanya melalui `https://`. Sebelum v2.1.206, `/login` menolaknya seperti alamat publik lainnya | Minta nama gateway hanya diselesaikan ke alamat pribadi pada mesin pengembang. Untuk nama dual-stack, lepaskan catatan rentang publik atau layani nama DNS internal saja. Lihat [prasyarat jaringan pribadi](/id/claude-apps-gateway#prerequisites). |

278| CLI `/login`: `Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | `HTTPS_PROXY` atau `HTTP_PROXY` berlaku untuk host gateway dan nama host proxy diselesaikan ke alamat publik. Proxy yang nama hostnya hanya diselesaikan ke alamat pribadi diizinkan dan tidak memicu kesalahan ini | Tambahkan host gateway ke `NO_PROXY` pada mesin pengembang sehingga koneksi langsung, atau gunakan proxy yang nama hostnya diselesaikan ke alamat pribadi |280| CLI `/login`: `Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | `HTTPS_PROXY` atau `HTTP_PROXY` berlaku untuk host gateway dan nama host proxy diselesaikan ke alamat publik. Proxy yang nama hostnya hanya diselesaikan ke alamat pribadi diizinkan dan tidak memicu kesalahan ini | Tambahkan host gateway ke `NO_PROXY` pada mesin pengembang sehingga koneksi langsung, atau gunakan proxy yang nama hostnya diselesaikan ke alamat pribadi |

279| CLI `/login`: `Could not resolve gateway host <host>` | Mesin tidak dapat menyelesaikan nama DNS internal gateway, biasanya karena tidak berada di jaringan korporat | Minta pengembang terhubung ke jaringan atau VPN Anda, lalu coba ulang `/login` |281| CLI `/login`: `Could not resolve gateway host <host>` | Mesin tidak dapat menyelesaikan nama DNS internal gateway, biasanya karena tidak berada di jaringan korporat | Minta pengembang terhubung ke jaringan atau VPN Anda, lalu coba ulang `/login` |

280| Boot keluar dengan kesalahan validasi konfigurasi yang menamai `store.postgres_url` | Tidak ada Postgres yang dikonfigurasi; gateway memerlukan Postgres | Atur `store.postgres_url`. Untuk pengembangan lokal, gunakan kontainer sekali pakai: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |282| Boot keluar dengan kesalahan validasi konfigurasi yang menamai `store.postgres_url` | Tidak ada Postgres yang dikonfigurasi; gateway memerlukan Postgres | Atur `store.postgres_url`. Untuk pengembangan lokal, gunakan kontainer sekali pakai: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |


283| Boot keluar dengan kesalahan izin Postgres | Peran aplikasi kekurangan `CREATE TABLE` | Buat skema sebelumnya dengan peran admin dan berikan DML ke peran aplikasi, atau berikan DDL sementara untuk boot yang menerapkan migrasi baru |285| Boot keluar dengan kesalahan izin Postgres | Peran aplikasi kekurangan `CREATE TABLE` | Buat skema sebelumnya dengan peran admin dan berikan DML ke peran aplikasi, atau berikan DDL sementara untuk boot yang menerapkan migrasi baru |

284| `/oauth/callback` menampilkan "Sign-in could not be completed" | Domain email ditolak, validasi id\_token gagal, atau `email_verified` secara eksplisit `false`, yang gateway selalu tolak tanpa override | Periksa `allowed_email_domains` dan bahwa IdP mengembalikan klaim `email` yang diverifikasi. Untuk `email_verified: false`, perbaiki verifikasi sisi IdP. Jika IdP Anda memancarkan email di bawah nama klaim berbeda, atur `oidc.email_claim`. |286| `/oauth/callback` menampilkan "Sign-in could not be completed" | Domain email ditolak, validasi id\_token gagal, atau `email_verified` secara eksplisit `false`, yang gateway selalu tolak tanpa override | Periksa `allowed_email_domains` dan bahwa IdP mengembalikan klaim `email` yang diverifikasi. Untuk `email_verified: false`, perbaiki verifikasi sisi IdP. Jika IdP Anda memancarkan email di bawah nama klaim berbeda, atur `oidc.email_claim`. |

285| Log: `token exchange failed: id_token missing email claim` | IdP tidak menyertakan `email` dalam id\_token secara default. Penolakan ini hanya terjadi ketika `allowed_email_domains` diatur; tanpanya, email yang hilang mencetak sesi tanpa email | Konfigurasikan IdP untuk memancarkan `email` dalam id\_token. Okta: tambahkan `email` ke klaim ID-token server otorisasi khusus. Entra: tambahkan `email` sebagai klaim opsional pada pendaftaran aplikasi. PingFederate: aktifkan Kebijakan OpenID Connect yang memancarkan `email`. Jika IdP melayani `email` dari endpoint userinfo tetapi tidak akan menyertakannya dalam id\_token, seperti server otorisasi org Okta, atur `oidc.userinfo_fallback: true`. |287| Log: `token exchange failed: id_token missing email claim` | IdP tidak menyertakan `email` dalam id\_token secara default. Penolakan ini hanya terjadi ketika `allowed_email_domains` diatur; tanpanya, email yang hilang mencetak sesi tanpa email | Konfigurasikan IdP untuk memancarkan `email` dalam id\_token. Okta: tambahkan `email` ke klaim ID-token server otorisasi khusus. Entra: tambahkan `email` sebagai klaim opsional pada pendaftaran aplikasi. PingFederate: aktifkan Kebijakan OpenID Connect yang memancarkan `email`. Jika IdP melayani `email` dari endpoint userinfo tetapi tidak akan menyertakannya dalam id\_token, seperti server otorisasi org Okta, atur `oidc.userinfo_fallback: true`. |

286| Setiap permintaan Bedrock mengembalikan 502; log menunjukkan `Could not load credentials from any providers` | Di EC2, batas hop default IMDSv2 sebesar 1 memblokir permintaan metadata instance dari dalam kontainer. Boot dan `/readyz` lulus bagaimanapun karena AWS SDK menyelesaikan kredensial instance pada permintaan pertama, bukan pada konstruksi klien | Naikkan batas hop dengan `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, atau atur dalam template peluncuran. Perubahan berlaku untuk setiap kontainer pada instance. Lebih suka peran tugas ECS di mana tersedia, yang membaca kredensial dari endpoint kredensial kontainer ECS dan menghindari perubahan sepenuhnya, atau terapkan perubahan pada instance gateway khusus untuk membatasi eksposur. |288| Setiap permintaan Amazon Bedrock mengembalikan 502; log menunjukkan `Could not load credentials from any providers` | Di EC2, batas hop default IMDSv2 sebesar 1 memblokir permintaan metadata instance dari dalam kontainer. Boot dan `/readyz` lulus bagaimanapun karena AWS SDK menyelesaikan kredensial instance pada permintaan pertama, bukan pada konstruksi klien | Naikkan batas hop dengan `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, atau atur dalam template peluncuran. Perubahan berlaku untuk setiap kontainer pada instance. Lebih suka peran tugas ECS di mana tersedia, yang membaca kredensial dari endpoint kredensial kontainer ECS dan menghindari perubahan sepenuhnya, atau terapkan perubahan pada instance gateway khusus untuk membatasi eksposur. |

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

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

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

Details

115 115 

116Sesi cloud menyertakan alat GitHub bawaan yang memungkinkan Claude membaca masalah, membuat daftar pull request, mengambil diff, dan memposting komentar tanpa setup apa pun. Alat ini mengautentikasi melalui [proxy GitHub](#github-proxy) menggunakan metode apa pun yang Anda konfigurasikan di bawah [Opsi autentikasi GitHub](#github-authentication-options), jadi token Anda tidak pernah memasuki kontainer.116Sesi cloud menyertakan alat GitHub bawaan yang memungkinkan Claude membaca masalah, membuat daftar pull request, mengambil diff, dan memposting komentar tanpa setup apa pun. Alat ini mengautentikasi melalui [proxy GitHub](#github-proxy) menggunakan metode apa pun yang Anda konfigurasikan di bawah [Opsi autentikasi GitHub](#github-authentication-options), jadi token Anda tidak pernah memasuki kontainer.

117 117 

118Anda dapat mengatur `GH_TOKEN` atau `GITHUB_TOKEN` sendiri di [pengaturan lingkungan](#configure-your-environment), atau biarkan keduanya tidak diatur dan biarkan [proxy GitHub](#github-proxy) mengautentikasi untuk Anda:

119 

120* Jika Anda mengatur token, itu melewati ke kontainer tanpa perubahan, jadi `gh` dan skrip Anda menggunakannya secara langsung.

121* Jika Anda tidak mengatur keduanya, kontainer mengatur kedua variabel ke string placeholder `proxy-injected` dan proxy mengganti kredensial nyata Anda pada permintaan GitHub keluar. `gh` bekerja tanpa token Anda sendiri, tetapi skrip yang membaca `GITHUB_TOKEN` secara langsung mendapatkan placeholder, bukan token yang dapat digunakan.

122 

123Untuk memeriksa kasus mana yang berlaku untuk sesi Anda, minta Claude menjalankan `echo $GH_TOKEN`.

124 

118CLI `gh` tidak diinstal sebelumnya. Jika Anda memerlukan perintah `gh` yang tidak dicakup alat bawaan, seperti `gh release` atau `gh workflow run`, instal dan autentikasi sendiri:125CLI `gh` tidak diinstal sebelumnya. Jika Anda memerlukan perintah `gh` yang tidak dicakup alat bawaan, seperti `gh release` atau `gh workflow run`, instal dan autentikasi sendiri:

119 126 

120<Steps>127<Steps>


122 Tambahkan `apt update && apt install -y gh` ke [skrip setup](#setup-scripts) Anda.129 Tambahkan `apt update && apt install -y gh` ke [skrip setup](#setup-scripts) Anda.

123 </Step>130 </Step>

124 131 

125 <Step title="Sediakan token">132 <Step title="Sediakan token jika proxy tidak menangani autentikasi">

126 Tambahkan variabel lingkungan `GH_TOKEN` ke [pengaturan lingkungan](#configure-your-environment) Anda dengan token akses pribadi GitHub. `gh` membaca `GH_TOKEN` secara otomatis, jadi tidak ada langkah `gh auth login` yang diperlukan.133 Jika `echo $GH_TOKEN` mencetak `proxy-injected`, [proxy GitHub](#github-proxy) mengautentikasi `gh` untuk Anda dan langkah ini tidak perlu. Jika tidak, tambahkan variabel lingkungan `GH_TOKEN` ke [pengaturan lingkungan](#configure-your-environment) Anda dengan token akses pribadi GitHub. `gh` membaca `GH_TOKEN` secara otomatis, jadi tidak ada langkah `gh auth login` yang diperlukan.

127 </Step>134 </Step>

128</Steps>135</Steps>

129 136 


196DATABASE_URL=postgres://localhost:5432/myapp203DATABASE_URL=postgres://localhost:5432/myapp

197```204```

198 205 

206<h3 id="organization-shared-environments">

207 Lingkungan bersama organisasi

208</h3>

209 

210Pemilik dan admin pada paket Team dan Enterprise dapat membuat lingkungan cloud yang dibagikan dengan setiap anggota organisasi. Lingkungan bersama muncul di pemilih lingkungan setiap anggota bersama dengan yang pribadi, jadi tim dapat menstandarkan satu konfigurasi alih-alih setiap anggota membuatnya ulang.

211 

212Kelola lingkungan bersama dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings). Dari sana Anda dapat:

213 

214* Membuat, mengedit, dan mengarsipkan lingkungan bersama. Masing-masing memiliki bidang yang sama dengan lingkungan pribadi: nama, [tingkat akses jaringan](#access-levels), [variabel lingkungan](#configure-your-environment) dalam format `.env`, dan [skrip setup](#setup-scripts).

215* Atur lingkungan default untuk organisasi.

216 

217Nilai dalam lingkungan bersama mencapai sesi setiap anggota di lingkungan itu. Seperti lingkungan pribadi, lingkungan bersama tidak memiliki penyimpanan rahasia khusus, jadi jangan sertakan rahasia.

218 

219Organisasi dalam program self-hosted runners juga mengelola pool runner mereka dari halaman yang sama.

220 

199<h2 id="setup-scripts">221<h2 id="setup-scripts">

200 Skrip setup222 Skrip setup

201</h2>223</h2>


340 362 

341Gunakan `*.` untuk pencocokan subdomain wildcard. Periksa **Juga sertakan daftar default pengelola paket umum** untuk menjaga [domain Trusted](#default-allowed-domains) bersama entri khusus Anda, atau biarkan tidak dicentang untuk hanya mengizinkan apa yang Anda daftarkan.363Gunakan `*.` untuk pencocokan subdomain wildcard. Periksa **Juga sertakan daftar default pengelola paket umum** untuk menjaga [domain Trusted](#default-allowed-domains) bersama entri khusus Anda, atau biarkan tidak dicentang untuk hanya mengizinkan apa yang Anda daftarkan.

342 364 

365Domain yang diizinkan dikonfigurasi per lingkungan. Tidak ada daftar putih tingkat organisasi yang dapat didorong Owners ke lingkungan semua pengguna; [pengaturan yang dikelola server](/id/server-managed-settings) dapat membatasi sesi cloud tetapi tidak dapat menambahkan domain yang diizinkan.

366 

343<h3 id="github-proxy">367<h3 id="github-proxy">

344 Proxy GitHub368 Proxy GitHub

345</h3>369</h3>

346 370 

347Untuk keamanan, semua operasi GitHub melewati layanan proxy khusus yang secara transparan menangani semua interaksi git. Di dalam sandbox, klien git mengautentikasi menggunakan kredensial bersistem yang dibuat khusus. Proxy ini:371Untuk keamanan, semua operasi GitHub melewati layanan proxy khusus yang menjaga kredensial GitHub asli Anda di luar sandbox. Proxy mengautentikasi dua jenis lalu lintas:

348 372 

349* Mengelola autentikasi GitHub dengan aman: klien git menggunakan kredensial bersistem di dalam sandbox, yang diverifikasi proxy dan diterjemahkan ke token autentikasi GitHub aktual Anda373* Interaksi Git: klien git di dalam sandbox menggunakan kredensial bersistem yang dibuat khusus, yang diverifikasi proxy dan diterjemahkan ke token autentikasi GitHub aktual Anda

350* Membatasi operasi git push ke cabang kerja saat ini untuk keamanan374* Permintaan API GitHub: proxy mengganti kredensial asli Anda pada permintaan dari alat GitHub bawaan, dan dari `gh` ketika sesi Anda menetapkan placeholder `proxy-injected` yang dijelaskan dalam [Bekerja dengan masalah dan permintaan tarik GitHub](#work-with-github-issues-and-pull-requests)

351* Memungkinkan kloning, pengambilan, dan operasi PR sambil mempertahankan batas keamanan375 

376Proxy juga membatasi operasi git push ke cabang kerja saat ini untuk keamanan, dan memungkinkan kloning, pengambilan, dan operasi PR sambil mempertahankan batas keamanan.

377 

378Proxy membatasi permintaan API GitHub dan aset rilis ke repositori yang terlampir pada sesi, terlepas dari [tingkat akses jaringan](#access-levels) lingkungan. Skrip setup yang mengunduh aset rilis dari repositori yang tidak terlampir mengembalikan 403. File yang berkomitmen dari repositori publik diambil melalui `raw.githubusercontent.com`, yang ditangani oleh [proxy keamanan](#security-proxy) sebagai gantinya. Domain itu ada di daftar [Trusted](#default-allowed-domains) default, jadi file tetap dapat diakses kecuali [tingkat akses](#access-levels) lingkungan mengecualikannya.

352 379 

353<h3 id="security-proxy">380<h3 id="security-proxy">

354 Proxy keamanan381 Proxy keamanan


745 Kelola konteks772 Kelola konteks

746</h3>773</h3>

747 774 

748Sesi cloud mendukung [perintah bawaan](/id/commands) yang menghasilkan output teks. Perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, tidak tersedia. {/* min-version: 2.1.205 */}`/model`, `/effort`, `/fast`, `/color`, dan `/rename` bekerja dengan nilai sebagai argumen, misalnya `/model sonnet`, alih-alih membuka pemilih terminal atau slider; bentuk argumen memerlukan Claude Code v2.1.205 atau lebih baru di lingkungan sesi dan mengikuti [catatan ketersediaan](/id/commands#all-commands) setiap perintah, jadi `/effort` melaporkan `Not applied` sementara [launch-default effort hold](/id/model-config#adjust-effort-level) model sedang berlaku dan `/fast` hanya bekerja di sesi yang dimulai dengan mode cepat diaktifkan. `/config` menetapkan pengaturan saat Anda melewatkan `key=value`.775Sesi cloud mendukung [perintah bawaan](/id/commands) yang menghasilkan output teks. Perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, tidak tersedia. Perintah yang membuka pemilih atau panel di terminal berperilaku berbeda di sesi cloud:

776 

777* {/* min-version: 2.1.205 */}**`/model`, `/effort`, `/fast`, `/color`, dan `/rename`**: teruskan nilai sebagai argumen, misalnya `/model sonnet`, alih-alih membuka pemilih terminal atau slider. Bentuk argumen memerlukan Claude Code v2.1.205 atau lebih baru di lingkungan sesi dan mengikuti [catatan ketersediaan](/id/commands#all-commands) setiap perintah: `/effort` melaporkan `Not applied` sementara [launch-default effort hold](/id/model-config#adjust-effort-level) model sedang berlaku, dan `/fast` hanya bekerja di sesi yang dimulai dengan mode cepat diaktifkan.

778* **`/config`**: di web, membuka bagian Claude Code dari pengaturan Anda alih-alih menetapkan nilai, dan teks setelah perintah, termasuk `key=value`, diabaikan. Untuk mengubah pengaturan sesi cloud, gunakan [variabel lingkungan](#configure-your-environment) atau komit [file pengaturan](/id/settings) ke repositori.

749 779 

750Untuk manajemen konteks khususnya:780Untuk manajemen konteks khususnya:

751 781 

Details

1533File di jalur di bawah dihapus saat startup setelah berusia lebih dari [`cleanupPeriodDays`](/id/settings#available-settings). Default adalah 30 hari.1533File di jalur di bawah dihapus saat startup setelah berusia lebih dari [`cleanupPeriodDays`](/id/settings#available-settings). Default adalah 30 hari.

1534 1534 

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

1536| -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |1536| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1537| `projects/<project>/<session>.jsonl` | Transkrip percakapan lengkap: setiap pesan, tool call, dan tool result |1537| `projects/<project>/<session>.jsonl` | Transkrip percakapan lengkap: setiap pesan, tool call, dan tool result |

1538| `projects/<project>/<session>/subagents/` | Transkrip percakapan [Subagent](/id/sub-agents), dihapus bersama transkrip sesi induk saat berusia |1538| `projects/<project>/<session>/subagents/` | Transkrip percakapan [Subagent](/id/sub-agents), dihapus bersama transkrip sesi induk saat berusia |

1539| `projects/<project>/<session>/tool-results/` | Output tool besar yang tumpah ke file terpisah |1539| `projects/<project>/<session>/tool-results/` | Output tool besar yang tumpah ke file terpisah |

1540| `file-history/<session>/` | Snapshot pra-edit file yang diubah Claude, digunakan untuk [checkpoint restore](/id/checkpointing) |1540| `file-history/<session>/` | Snapshot pra-edit file yang diubah Claude, digunakan untuk [checkpoint restore](/id/checkpointing). Menyimpan snapshot untuk 100 checkpoint terbaru; file snapshot yang tidak direferensikan oleh checkpoint yang dipertahankan dihapus, kecuali snapshot pertama setiap file |

1541| `plans/` | File rencana yang ditulis selama [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode) |1541| `plans/` | File rencana yang ditulis selama [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode) |

1542| `debug/` | Log debug per-sesi, ditulis hanya saat Anda memulai dengan `--debug` atau menjalankan `/debug` |1542| `debug/` | Log debug per-sesi, ditulis hanya saat Anda memulai dengan `--debug` atau menjalankan `/debug` |

1543| `paste-cache/`, `image-cache/` | Konten paste besar dan gambar yang dilampirkan |1543| `paste-cache/`, `image-cache/` | Konten paste besar dan gambar yang dilampirkan |

1544| `session-env/` | Metadata lingkungan per-sesi |1544| `session-env/` | Metadata lingkungan per-sesi |

1545| `tasks/` | Daftar tugas per-sesi yang ditulis oleh task tools |1545| `tasks/` | Daftar tugas per-sesi yang ditulis oleh task tools |

1546| `shell-snapshots/` | Lingkungan shell yang ditangkap digunakan oleh Bash tool. Dihapus saat keluar dengan bersih. Sweep membersihkan yang tertinggal setelah crash. |1546| `shell-snapshots/` | Alias, fungsi, dan opsi shell yang ditangkap saat startup dan diterapkan oleh [Bash tool](/id/tools-reference#bash-tool-behavior) ke setiap perintah. Dihapus saat keluar dengan bersih. Sweep membersihkan yang tertinggal setelah crash. |

1547| `backups/` | Salinan `~/.claude.json` dengan stempel waktu yang diambil sebelum migrasi konfigurasi |1547| `backups/` | Salinan `~/.claude.json` dengan stempel waktu yang diambil sebelum migrasi konfigurasi |

1548| `feedback-bundles/` | Arsip transkrip yang disunting ditulis oleh `/feedback` pada penyedia pihak ketiga, untuk dikirim ke tim akun Anthropic Anda |1548| `feedback-bundles/` | Arsip transkrip yang disunting ditulis oleh `/feedback` pada penyedia pihak ketiga atau saat tidak ada kredensial Anthropic yang dikonfigurasi, untuk dikirim ke tim akun Anthropic Anda |

1549| `todos/`, `statsig/`, `logs/` | Direktori warisan dari versi yang lebih lama. Tidak lagi ditulis. Sweep menghapus kontennya dan kemudian direktori kosong. |1549| `todos/`, `statsig/`, `logs/` | Direktori warisan dari versi yang lebih lama. Tidak lagi ditulis. Sweep menghapus kontennya dan kemudian direktori kosong. |

1550 1550 

1551<h3 id="kept-until-you-delete-them">1551<h3 id="kept-until-you-delete-them">

Details

188 188 

189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />

190 190 

191Claude Platform on AWS adalah Claude API yang dioperasikan Anthropic dengan autentikasi AWS, kontrol akses IAM, dan penagihan AWS Marketplace. Permintaan mencapai API Anthropic secara langsung, sehingga Anda mendapatkan model dan fitur yang sama seperti [Claude API](https://platform.claude.com/docs) dengan jadwal rilis yang sama. Anda melakukan autentikasi dengan kredensial AWS atau kunci API workspace, dan Anda membayar melalui AWS Marketplace.191Claude Platform on AWS adalah Claude API yang dioperasikan Anthropic dengan autentikasi AWS, kontrol akses IAM, dan penagihan AWS Marketplace. Permintaan mencapai API Anthropic secara langsung, sehingga Anda mendapatkan model dan fitur API yang sama seperti [Claude API](https://platform.claude.com/docs) dengan jadwal rilis yang sama. Fitur sisi klien yang Claude Code aktifkan melalui layanan feature-flag Anthropic, seperti [`/loop` pacing mandiri](/id/scheduled-tasks#let-claude-choose-the-interval), dimatikan secara default, dan [alat advisor](/id/advisor) tidak tersedia. Lihat [matriks ketersediaan fitur](/id/feature-availability#summary-by-provider) untuk daftar lengkapnya. Anda melakukan autentikasi dengan kredensial AWS atau kunci API workspace, dan Anda membayar melalui AWS Marketplace.

192 192 

193Gunakan panduan ini untuk mengarahkan Claude Code ke workspace yang telah Anda sediakan melalui Claude Platform on AWS. Untuk langganan AWS dan penyiapan workspace yang dilakukan sebelumnya, lihat [dokumentasi Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).193Gunakan panduan ini untuk mengarahkan Claude Code ke workspace yang telah Anda sediakan melalui Claude Platform on AWS. Untuk langganan AWS dan penyiapan workspace yang dilakukan sebelumnya, lihat [dokumentasi Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).

194 194 


276 3. Sematkan versi model276 3. Sematkan versi model

277</h3>277</h3>

278 278 

279Claude Platform on AWS menggunakan ID model yang sama seperti Claude API langsung. Alias default `fable`, `opus`, `sonnet`, dan `haiku` diselesaikan ke default bawaan Claude Code untuk Claude Platform on AWS, yang dapat tertinggal dari rilis terbaru. Tanpa `ANTHROPIC_DEFAULT_OPUS_MODEL`, alias `opus` diselesaikan ke Opus 4.8.279Claude Platform on AWS menggunakan ID model yang sama seperti Claude API langsung.

280 

281Alias default `fable`, `opus`, `sonnet`, dan `haiku` diselesaikan ke default bawaan Claude Code untuk Claude Platform on AWS, yang dapat tertinggal dari rilis terbaru. Tanpa `ANTHROPIC_DEFAULT_OPUS_MODEL`, alias `opus` diselesaikan ke Opus 4.8. {/* min-version: 2.1.207 */}Sebelum v2.1.207, alias tersebut diselesaikan ke Opus 4.7.

280 282 

281Jika Anda menerapkan Claude Code ke tim, sematkan ID model secara eksplisit sehingga rilis baru tidak memindahkan semua orang sekaligus:283Jika Anda menerapkan Claude Code ke tim, sematkan ID model secara eksplisit sehingga rilis baru tidak memindahkan semua orang sekaligus:

282 284 

Details

29| `claude auth status` | Tampilkan status autentikasi sebagai JSON. Gunakan `--text` untuk output yang dapat dibaca manusia. Keluar dengan kode 0 jika masuk, 1 jika tidak | `claude auth status` |29| `claude auth status` | Tampilkan status autentikasi sebagai JSON. Gunakan `--text` untuk output yang dapat dibaca manusia. Keluar dengan kode 0 jika masuk, 1 jika tidak | `claude auth status` |

30| `claude agents` | Buka [tampilan agen](/id/agent-view) untuk memantau dan mengirim sesi latar belakang paralel. Gunakan `--cwd <path>` untuk menampilkan hanya sesi yang dimulai di bawah direktori tersebut, atau `--json` untuk mencetak sesi langsung sebagai array JSON untuk skrip (`--json --all` juga mencakup sesi latar belakang yang selesai). Lewatkan `--permission-mode`, `--model`, `--effort`, atau `--agent` untuk menetapkan [default untuk sesi yang dikirim](/id/agent-view#permission-mode-model-and-effort). Menerima `--settings`, `--add-dir`, `--plugin-dir`, dan `--mcp-config` seperti perintah `claude` tingkat atas. Membuka tampilan agen memerlukan terminal interaktif | `claude agents --json` |30| `claude agents` | Buka [tampilan agen](/id/agent-view) untuk memantau dan mengirim sesi latar belakang paralel. Gunakan `--cwd <path>` untuk menampilkan hanya sesi yang dimulai di bawah direktori tersebut, atau `--json` untuk mencetak sesi langsung sebagai array JSON untuk skrip (`--json --all` juga mencakup sesi latar belakang yang selesai). Lewatkan `--permission-mode`, `--model`, `--effort`, atau `--agent` untuk menetapkan [default untuk sesi yang dikirim](/id/agent-view#permission-mode-model-and-effort). Menerima `--settings`, `--add-dir`, `--plugin-dir`, dan `--mcp-config` seperti perintah `claude` tingkat atas. Membuka tampilan agen memerlukan terminal interaktif | `claude agents --json` |

31| `claude attach <id>` | Lampirkan ke [sesi latar belakang](/id/agent-view#manage-sessions-from-the-shell) di terminal ini | `claude attach 7c5dcf5d` |31| `claude attach <id>` | Lampirkan ke [sesi latar belakang](/id/agent-view#manage-sessions-from-the-shell) di terminal ini | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | Cetak aturan pengklasifikasi [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) bawaan sebagai JSON. Gunakan `claude auto-mode config` untuk melihat konfigurasi efektif Anda dengan pengaturan yang diterapkan | `claude auto-mode defaults > rules.json` |32| `claude auto-mode defaults` | Cetak aturan pengklasifikasi [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) bawaan sebagai JSON. Gunakan `claude auto-mode config` untuk melihat konfigurasi efektif Anda dengan pengaturan yang diterapkan. {/* min-version: 2.1.208 */}}`--label <prefix>` mencetak hanya aturan yang labelnya dimulai dengan awalan tersebut, cocok tanpa memperhatikan huruf besar-kecil. Memerlukan Claude Code v2.1.208 atau lebih baru | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude daemon status` | Cetak status [supervisor](/id/agent-view#the-supervisor-process) sesi latar belakang, versi, direktori soket, dan jumlah pekerja untuk diagnostik. Keluar dengan 1 jika supervisor tidak berjalan | `claude daemon status` |33| `claude daemon status` | Cetak status [supervisor](/id/agent-view#the-supervisor-process) sesi latar belakang, versi, direktori soket, dan jumlah pekerja untuk diagnostik. Keluar dengan 1 jika supervisor tidak berjalan | `claude daemon status` |

34| `claude daemon stop --any` | Hentikan [supervisor](/id/agent-view#the-supervisor-process) sesi latar belakang dan sesi yang dihosting. Lewatkan `--keep-workers` untuk membiarkan sesi latar belakang tetap berjalan sehingga supervisor berikutnya dapat terhubung kembali ke sesi tersebut. `--any` mengonfirmasi penghentian supervisor sesuai permintaan, yang merupakan default. Gunakan ini untuk pulih dari [supervisor yang tidak responsif](/id/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |34| `claude daemon stop --any` | Hentikan [supervisor](/id/agent-view#the-supervisor-process) sesi latar belakang dan sesi yang dihosting. Lewatkan `--keep-workers` untuk membiarkan sesi latar belakang tetap berjalan sehingga supervisor berikutnya dapat terhubung kembali ke sesi tersebut. `--any` mengonfirmasi penghentian supervisor sesuai permintaan, yang merupakan default. Gunakan ini untuk pulih dari [supervisor yang tidak responsif](/id/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |

35| `claude doctor` | Cetak diagnostik instalasi dan pengaturan hanya-baca dari terminal tanpa memulai sesi, termasuk kesehatan instalasi, kesalahan validasi file pengaturan, dan kelayakan Remote Control. Untuk pemeriksaan pengaturan dalam sesi yang juga dapat menerapkan perbaikan, jalankan [`/doctor`](/id/commands#all-commands) | `claude doctor` |35| `claude doctor` | Cetak diagnostik instalasi dan pengaturan hanya-baca dari terminal tanpa memulai sesi, termasuk kesehatan instalasi, kesalahan validasi file pengaturan, dan kelayakan Remote Control. Untuk pemeriksaan pengaturan dalam sesi yang juga dapat menerapkan perbaikan, jalankan [`/doctor`](/id/commands#all-commands) | `claude doctor` |


76| `--cloud` | Buat [sesi web](/id/claude-code-on-the-web) baru di claude.ai dengan deskripsi tugas yang disediakan | `claude --cloud "Fix the login bug"` |76| `--cloud` | Buat [sesi web](/id/claude-code-on-the-web) baru di claude.ai dengan deskripsi tugas yang disediakan | `claude --cloud "Fix the login bug"` |

77| `--continue`, `-c` | Muat percakapan terbaru di direktori saat ini. Mencakup sesi yang menambahkan direktori ini dengan `/add-dir` | `claude --continue` |77| `--continue`, `-c` | Muat percakapan terbaru di direktori saat ini. Mencakup sesi yang menambahkan direktori ini dengan `/add-dir` | `claude --continue` |

78| `--dangerously-load-development-channels` | Aktifkan [channels](/id/channels-reference#test-during-the-research-preview) yang tidak ada di daftar persetujuan, untuk pengembangan lokal. Menerima entri `plugin:<name>@<marketplace>` dan `server:<name>`. Meminta konfirmasi | `claude --dangerously-load-development-channels server:webhook` |78| `--dangerously-load-development-channels` | Aktifkan [channels](/id/channels-reference#test-during-the-research-preview) yang tidak ada di daftar persetujuan, untuk pengembangan lokal. Menerima entri `plugin:<name>@<marketplace>` dan `server:<name>`. Meminta konfirmasi | `claude --dangerously-load-development-channels server:webhook` |

79| `--dangerously-skip-permissions` | Lewati prompt izin. Setara dengan `--permission-mode bypassPermissions`. Lihat [mode izin](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) untuk apa yang dilakukan dan tidak dilakukan oleh ini | `claude --dangerously-skip-permissions` |79| `--dangerously-skip-permissions` | Lewati prompt izin. Setara dengan `--permission-mode bypassPermissions`. Lihat [mode izin](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) untuk apa yang dilakukan dan tidak dilakukan oleh ini. Untuk sesi yang dimulai dengan `--bg`, mode [bertahan ketika supervisor memulai ulang sesi](/id/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |

80| `--debug` | Aktifkan mode debug dengan penyaringan kategori opsional (misalnya, `"api,hooks"` atau `"!statsig,!file"`) | `claude --debug "api,mcp"` |80| `--debug` | Aktifkan mode debug dengan penyaringan kategori opsional (misalnya, `"api,hooks"` atau `"!statsig,!file"`) | `claude --debug "api,mcp"` |

81| `--debug-file <path>` | Tulis log debug ke jalur file tertentu. Secara implisit mengaktifkan mode debug. Mengambil prioritas atas `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |81| `--debug-file <path>` | Tulis log debug ke jalur file tertentu. Secara implisit mengaktifkan mode debug. Mengambil prioritas atas `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

82| `--disable-slash-commands` | Nonaktifkan semua skills dan perintah untuk sesi ini | `claude --disable-slash-commands` |82| `--disable-slash-commands` | Nonaktifkan semua skills dan perintah untuk sesi ini | `claude --disable-slash-commands` |


91| `--ide` | Secara otomatis terhubung ke IDE saat startup jika tepat satu IDE valid tersedia | `claude --ide` |91| `--ide` | Secara otomatis terhubung ke IDE saat startup jika tepat satu IDE valid tersedia | `claude --ide` |

92| `--init` | Jalankan [Setup hooks](/id/hooks#setup) dengan matcher `init` sebelum sesi (mode cetak saja) | `claude -p --init "query"` |92| `--init` | Jalankan [Setup hooks](/id/hooks#setup) dengan matcher `init` sebelum sesi (mode cetak saja) | `claude -p --init "query"` |

93| `--init-only` | Jalankan hook [Setup](/id/hooks#setup) dan `SessionStart`, kemudian keluar tanpa memulai percakapan | `claude --init-only` |93| `--init-only` | Jalankan hook [Setup](/id/hooks#setup) dan `SessionStart`, kemudian keluar tanpa memulai percakapan | `claude --init-only` |

94| `--include-hook-events` | Sertakan semua peristiwa siklus hidup hook dalam aliran output. Memerlukan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |94| `--include-hook-events` | Sertakan peristiwa siklus hidup hook dari setiap peristiwa hook dalam aliran output. Peristiwa hook `SessionStart` dan `Setup` selalu disertakan dan tidak memerlukan flag ini. Memerlukan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |

95| `--include-partial-messages` | Sertakan peristiwa streaming parsial dalam output. Memerlukan `--print` dan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |95| `--include-partial-messages` | Sertakan peristiwa streaming parsial dalam output. Memerlukan `--print` dan `--output-format stream-json` | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |

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

97| `--json-schema` | Dapatkan output JSON yang divalidasi sesuai dengan JSON Schema setelah agen menyelesaikan alurnya (mode cetak saja). Lihat [structured outputs](/id/agent-sdk/structured-outputs). {/* min-version: 2.1.205 */}Claude Code keluar dengan kesalahan pada skema yang tidak valid dan menerima kata kunci `format` sebagai anotasi tanpa validasi sisi klien. Sebelum v2.1.205, skema yang tidak valid menghasilkan output tidak terstruktur tanpa kesalahan, dan skema menggunakan `format` diperlakukan sebagai tidak valid | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |97| `--json-schema` | Dapatkan output JSON yang divalidasi sesuai dengan JSON Schema setelah agen menyelesaikan alurnya (mode cetak saja). Lihat [structured outputs](/id/agent-sdk/structured-outputs). {/* min-version: 2.1.205 */}Claude Code keluar dengan kesalahan pada skema yang tidak valid dan menerima kata kunci `format` sebagai anotasi tanpa validasi sisi klien. Sebelum v2.1.205, skema yang tidak valid menghasilkan output tidak terstruktur tanpa kesalahan, dan skema menggunakan `format` diperlakukan sebagai tidak valid | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |


105| `--no-session-persistence` | Nonaktifkan persistensi sesi sehingga sesi tidak disimpan ke disk dan tidak dapat dilanjutkan. Mode cetak saja. Variabel lingkungan [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/id/env-vars) melakukan hal yang sama dalam mode apa pun | `claude -p --no-session-persistence "query"` |105| `--no-session-persistence` | Nonaktifkan persistensi sesi sehingga sesi tidak disimpan ke disk dan tidak dapat dilanjutkan. Mode cetak saja. Variabel lingkungan [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/id/env-vars) melakukan hal yang sama dalam mode apa pun | `claude -p --no-session-persistence "query"` |

106| `--output-format` | Tentukan format output untuk mode cetak (opsi: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |106| `--output-format` | Tentukan format output untuk mode cetak (opsi: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |

107| `--permission-mode` | Mulai dalam [mode izin](/id/permission-modes) yang ditentukan. Menerima `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, atau {/* min-version: 2.1.200 */}}`manual` sebagai alias untuk `default`. Alias `manual` memilih mode yang UI label Manual dan memerlukan Claude Code v2.1.200 atau lebih baru; `claude --help` mencantumnya sebagai pengganti `default`, dan kedua nilai bekerja. Menimpa `defaultMode` dari file pengaturan | `claude --permission-mode plan` |107| `--permission-mode` | Mulai dalam [mode izin](/id/permission-modes) yang ditentukan. Menerima `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, atau {/* min-version: 2.1.200 */}}`manual` sebagai alias untuk `default`. Alias `manual` memilih mode yang UI label Manual dan memerlukan Claude Code v2.1.200 atau lebih baru; `claude --help` mencantumnya sebagai pengganti `default`, dan kedua nilai bekerja. Menimpa `defaultMode` dari file pengaturan | `claude --permission-mode plan` |

108| `--permission-prompt-tool` | Tentukan tool MCP untuk menangani prompt izin dalam mode non-interaktif. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, tool prompt tidak dapat menyetujui tool MCP yang ditandai sebagai [memerlukan interaksi pengguna](/id/mcp#require-approval-for-a-specific-tool): hasil `allow` untuk satu dikonversi menjadi penolakan | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |108| `--permission-prompt-tool` | Tentukan tool MCP untuk menangani prompt izin dalam mode non-interaktif. {/* min-version: 2.1.206 */}Claude Code menunggu server MCP tool tersebut untuk terhubung sebelum menjalankan putaran pertama, hingga startup timeout [`MCP_TIMEOUT`](/id/env-vars) selama 30 detik. Sebelum v2.1.206, server yang lambat memulai dapat membuat run [keluar dengan kesalahan bahwa tool MCP tidak ditemukan](/id/errors#mcp-permission-prompt-tool-not-found). <br /><br />{/* min-version: 2.1.199 */}Tool prompt tidak dapat menyetujui tool MCP yang ditandai sebagai [memerlukan interaksi pengguna](/id/mcp#require-approval-for-a-specific-tool): Claude Code mengonversi hasil `allow` untuk satu menjadi penolakan. Pembatasan ini memerlukan Claude Code v2.1.199 atau lebih baru | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

109| `--plugin-dir` | Muat plugin dari direktori atau arsip `.zip` untuk sesi ini saja. Setiap flag mengambil satu jalur. Ulangi flag untuk beberapa plugin: `--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |109| `--plugin-dir` | Muat plugin dari direktori atau arsip `.zip` untuk sesi ini saja. Setiap flag mengambil satu jalur. Ulangi flag untuk beberapa plugin: `--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |

110| `--plugin-url` | Ambil arsip plugin `.zip` dari URL untuk sesi ini saja. Ulangi flag untuk beberapa plugin, atau berikan URL yang dipisahkan spasi dalam satu nilai yang dikutip | `claude --plugin-url https://example.com/plugin.zip` |110| `--plugin-url` | Ambil arsip plugin `.zip` dari URL untuk sesi ini saja. Ulangi flag untuk beberapa plugin, atau berikan URL yang dipisahkan spasi dalam satu nilai yang dikutip | `claude --plugin-url https://example.com/plugin.zip` |

111| `--print`, `-p` | Cetak respons tanpa mode interaktif (lihat [dokumentasi Agent SDK](/id/agent-sdk/overview) untuk detail penggunaan programatik) | `claude -p "query"` |111| `--print`, `-p` | Cetak respons tanpa mode interaktif (lihat [dokumentasi Agent SDK](/id/agent-sdk/overview) untuk detail penggunaan programatik) | `claude -p "query"` |

costs.md +22 −5

Details

35 35 

36Pada paket Pro, Max, Team, atau Enterprise, `/usage` juga menampilkan rincian tentang apa yang diperhitungkan terhadap batas paket Anda. Ini mengatribusikan penggunaan terbaru ke skills, subagents, plugins, dan server MCP individual, masing-masing ditampilkan sebagai persentase dari total. Tekan `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.36Pada paket Pro, Max, Team, atau Enterprise, `/usage` juga menampilkan rincian tentang apa yang diperhitungkan terhadap batas paket Anda. Ini mengatribusikan penggunaan terbaru ke skills, subagents, plugins, dan server MCP individual, masing-masing ditampilkan sebagai persentase dari total. Tekan `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.

37 37 

38Ketika permintaan untuk batas paket Anda gagal, paling sering karena endpoint penggunaan dibatasi laju, `/usage` menampilkan bilah penggunaan terakhir yang dimuat di mesin ini dalam 60 menit terakhir, bersama dengan catatan `Showing last-known usage` yang menyatakan berapa lama yang lalu data tersebut diambil. Tekan `r` untuk mencoba lagi; percobaan ulang yang berhasil menggantikan bilah terakhir yang diketahui dengan data segar. Tanpa snapshot dari 60 menit terakhir, `/usage` melaporkan bahwa endpoint penggunaan dibatasi laju dan menawarkan pintasan percobaan ulang yang sama. Sebelum v2.1.208, permintaan yang dibatasi laju dalam sesi yang belum memuat penggunaan selalu menampilkan kesalahan tanpa bilah.

39 

38Di [ekstensi VS Code](/id/vs-code#check-account-and-usage), rincian yang sama muncul dalam dialog Account & usage dengan toggle Day dan Week. Memerlukan Claude Code v2.1.174 atau lebih baru.40Di [ekstensi VS Code](/id/vs-code#check-account-and-usage), rincian yang sama muncul dalam dialog Account & usage dengan toggle Day dan Week. Memerlukan Claude Code v2.1.174 atau lebih baru.

39 41 

40<h3 id="set-a-spend-limit-on-pro-and-max">42<h3 id="set-a-spend-limit-on-pro-and-max">

41 Tetapkan batas pengeluaran pada Pro dan Max43 Tetapkan batas pengeluaran pada Pro dan Max

42</h3>44</h3>

43 45 

44Pada paket Pro dan Max, Anda dapat menetapkan batas pengeluaran bulanan pada kredit penggunaan dengan perintah `/usage-credits`. Jika Anda mencapai batas tersebut sementara Anda masih memiliki kredit penggunaan yang tersedia, Claude Code akan meminta Anda untuk menaikkan atau menghapus batas sehingga Anda dapat melanjutkan tanpa meninggalkan CLI. Mengubah batas memerlukan akses penagihan pada akun.46Pada paket Pro dan Max, perintah `/usage-credits` membuka dialog di CLI tempat Anda mengelola [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans). Dari dialog Anda dapat:

47 

48* Mengaktifkan kredit penggunaan untuk akun Anda

49* Membeli lebih banyak kredit penggunaan, baik paket yang terdaftar atau jumlah khusus

50* Menetapkan, mengubah, atau menghapus batas pengeluaran bulanan Anda

51* Mengonfigurasi auto-reload, yang secara otomatis membeli lebih banyak kredit penggunaan ketika saldo Anda turun di bawah ambang batas yang Anda tetapkan

52 

53Pada versi Claude Code sebelum v2.1.207 dan pada akun tempat dialog dalam CLI tidak tersedia, `/usage-credits` membuka halaman penagihan kredit penggunaan di browser Anda. Pada paket Team dan Enterprise, anggota dengan akses penagihan mendapatkan halaman browser yang sama, dan anggota tanpa akses penagihan mengirim permintaan dari CLI meminta admin mereka untuk mengaktifkan kredit penggunaan atau menaikkan batas.

54 

55Mengubah batas pengeluaran bulanan memerlukan akses penagihan pada akun. Jika Anda mencapai batas sementara Anda masih memiliki kredit penggunaan yang tersedia, Claude Code meminta Anda untuk menaikkan atau menghapusnya sehingga Anda dapat melanjutkan tanpa meninggalkan CLI.

56 

57Jumlah yang Anda ketik ke dalam dialog, seperti jumlah pembelian khusus, batas pengeluaran bulanan, atau ambang batas auto-reload dan target, harus berupa digit, secara opsional diikuti oleh titik dan satu atau dua digit desimal, misalnya `20` atau `20.50`. Input apa pun yang lain, termasuk koma, menampilkan kesalahan inline dan tidak disimpan. Versi sebelum v2.1.207 tidak menampilkan dialog dan membuka halaman penagihan.

58 

59Claude Code meminta Anda untuk mengetik `yes` untuk mengonfirmasi setiap pembelian dan setiap perubahan auto-reload, berapa pun jumlahnya, dan konfirmasi pembelian menampilkan total setelah pajak yang Anda setujui. Mengubah batas pengeluaran bulanan meminta konfirmasi yang diketik sama hanya di atas \$1.000, atau di atas 1.000 unit mata uang penagihan non-dolar AS. Sebelum v2.1.208, pembelian dan perubahan auto-reload menggunakan ambang batas itu juga, jadi jumlah yang lebih kecil melalui alur dialog standar tanpa langkah `yes` yang diketik tambahan.

60 

61Bidang jumlah terbuka dengan nilai yang disarankan sebelumnya, dan digit pertama yang Anda ketik menggantikan saran alih-alih menambahkannya. Layar yang mengaktifkan kredit penggunaan terbuka dengan Cancel dipilih, jadi mengaktifkannya memerlukan pemilihan yang disengaja daripada Enter yang tersesat. Keduanya memerlukan Claude Code v2.1.208 atau lebih baru.

45 62 

46<h2 id="manage-costs-for-your-organization">63<h2 id="manage-costs-for-your-organization">

47 Mengelola biaya untuk organisasi Anda64 Mengelola biaya untuk organisasi Anda


52Tabel memetakan setiap pengaturan ke tempat Anda melihat pengeluaran, tempat Anda membatasinya, dan bagaimana Anda menarik angka per pengguna.69Tabel memetakan setiap pengaturan ke tempat Anda melihat pengeluaran, tempat Anda membatasinya, dan bagaimana Anda menarik angka per pengguna.

53 70 

54| Pengaturan Anda | Lihat pengeluaran | Batasi pengeluaran | Pelaporan per pengguna |71| Pengaturan Anda | Lihat pengeluaran | Batasi pengeluaran | Pelaporan per pengguna |

55| :---------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72| :---------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

58| [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](#cloud-providers) | Konsol penagihan cloud Anda | Kontrol anggaran cloud Anda | [OpenTelemetry](/id/monitoring-usage) atau [gateway LLM](/id/llm-gateway) |75| [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](#cloud-providers) | Konsol penagihan cloud Anda | Kontrol anggaran cloud Anda | [OpenTelemetry](/id/monitoring-usage) atau [gateway LLM](/id/llm-gateway) |

59 76 


63 Claude for Teams dan Enterprise80 Claude for Teams dan Enterprise

64</h3>81</h3>

65 82 

66Pada paket Claude for Teams dan Enterprise, penggunaan Claude Code setiap anggota ditarik dari tunjangan per-kursi yang direset pada jendela lima jam bergulir dan jendela mingguan. Tunjangan dibagikan dengan Claude chat dan Cowork, dan ukurannya tergantung pada [tingkat kursi](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan). Kontrol Anda berada di konsol admin claude.ai, bukan Claude Console.83Pada paket Claude for Teams dan Enterprise, penggunaan Claude Code setiap anggota ditarik dari tunjangan per-kursi yang direset pada jendela lima jam bergulir dan jendela mingguan. Tunjangan dibagikan dengan Claude chat dan Cowork, dan ukurannya tergantung pada [tingkat kursi](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan) anggota (Standard atau Premium). Kontrol Anda berada di konsol admin claude.ai, bukan Claude Console.

67 84 

68* **Lihat pengeluaran**: [laporan pengeluaran dalam analitik organisasi](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) menunjukkan pengeluaran perkiraan per pengguna dan per model, dengan ekspor CSV, diperbarui setiap hari. Laporan mencakup pengeluaran kredit penggunaan dan muncul setelah kredit penggunaan diaktifkan. Penggunaan dalam tunjangan kursi tidak diukur dalam dolar.85* **Lihat pengeluaran**: [laporan pengeluaran dalam analitik organisasi](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) menunjukkan pengeluaran perkiraan per pengguna dan per model, dengan ekspor CSV, diperbarui setiap hari. Laporan mencakup pengeluaran kredit penggunaan dan muncul setelah kredit penggunaan diaktifkan. Penggunaan dalam tunjangan kursi tidak diukur dalam dolar.

69* **Lihat adopsi**: [dashboard analitik](https://claude.ai/analytics/claude-code) menunjukkan pengguna aktif harian, sesi, dan metrik kontribusi, dengan ekspor CSV data kontribusi. Lihat [lacak penggunaan tim dengan analitik](/id/analytics).86* **Lihat adopsi**: [dashboard analitik](https://claude.ai/analytics/claude-code) menunjukkan pengguna aktif harian, sesi, dan metrik kontribusi, dengan ekspor CSV data kontribusi. Lihat [lacak penggunaan tim dengan analitik](/id/analytics).

70* **Batasi pengeluaran**: tunjangan kursi adalah batas default. Untuk membiarkan anggota melanjutkan melampauinya, aktifkan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) dan tetapkan batas pengeluaran di tingkat organisasi, grup, atau anggota individual.87* **Batasi pengeluaran**: tunjangan kursi adalah batas default. Untuk membiarkan anggota melanjutkan melampauinya, aktifkan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) dan tetapkan batas pengeluaran di tingkat organisasi, grup, atau anggota individual.

71* **Tarik angka per pengguna**: pada paket Enterprise, [Enterprise Analytics API](https://support.claude.com/en/articles/13703965-claude-enterprise-analytics-api-reference-guide) mengembalikan laporan penggunaan dan biaya per pengguna di seluruh permukaan Claude, termasuk Claude Code. Pemilik Utama membuat kunci dengan cakupan `read:analytics` di [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys). Pada paket Teams, ekspor [CSV laporan pengeluaran](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans), yang mencantumkan penggunaan token dan pengeluaran perkiraan per pengguna dan per model.88* **Tarik angka per pengguna**: pada paket Enterprise, [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) mengembalikan laporan penggunaan dan biaya per pengguna di seluruh permukaan Claude, termasuk Claude Code. Pemilik Utama membuat kunci dengan cakupan `read:analytics` di [claude.ai/analytics/api-keys](https://claude.ai/analytics/api-keys). Pada paket Teams, ekspor [CSV laporan pengeluaran](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans), yang mencantumkan penggunaan token dan pengeluaran perkiraan per pengguna dan per model.

72 89 

73[Panduan konsumsi Claude Enterprise](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide) adalah referensi perencanaan untuk admin. Ini menjelaskan bagaimana konsumsi berbeda di seluruh Claude chat, Claude Code, dan Cowork, dan memberikan titik awal dolar per pengguna untuk penganggaran. Anggaran lebih banyak untuk kursi coding daripada kursi chat: setiap putaran Claude Code membawa konten file, panggilan alat, dan penalaran multi-langkah, jadi satu sesi debugging dapat mengonsumsi lebih dari sehari chat.90[Panduan konsumsi Claude Enterprise](https://support.claude.com/en/articles/14782391-claude-enterprise-consumption-guide) adalah referensi perencanaan untuk admin. Ini menjelaskan bagaimana konsumsi berbeda di seluruh Claude chat, Claude Code, dan Cowork, dan memberikan titik awal dolar per pengguna untuk penganggaran. Anggaran lebih banyak untuk kursi coding daripada kursi chat: setiap putaran Claude Code membawa konten file, panggilan alat, dan penalaran multi-langkah, jadi satu sesi debugging dapat mengonsumsi lebih dari sehari chat.

74 91 

data-usage.md +17 −8

Details

75 Akses data75 Akses data

76</h2>76</h2>

77 77 

78Untuk semua pengguna pihak pertama, Anda dapat mempelajari lebih lanjut tentang data apa yang dicatat untuk [Claude Code lokal](#local-claude-code-data-flow-and-dependencies) dan [Claude Code jarak jauh](#cloud-execution-data-flow-and-dependencies). Sesi [Remote Control](/id/remote-control) mengikuti alur data lokal karena semua eksekusi terjadi di mesin Anda. Perhatikan untuk Claude Code jarak jauh, Claude mengakses repositori tempat Anda memulai sesi Claude Code Anda. Claude tidak mengakses repositori yang telah Anda hubungkan tetapi belum memulai sesi di dalamnya.78Untuk semua pengguna pihak pertama, Anda dapat mempelajari lebih lanjut tentang data apa yang dicatat untuk [Claude Code lokal](#local-claude-code-data-flow-and-dependencies) dan [Claude Code jarak jauh](#cloud-execution-data-flow-and-dependencies). Sesi [Remote Control](/id/remote-control) mengikuti alur data lokal karena semua eksekusi terjadi di mesin Anda; saat terhubung, transkrip sesi juga disimpan di server Anthropic untuk menyinkronkan percakapan di seluruh perangkat, seperti yang dijelaskan dalam [Koneksi dan keamanan](/id/remote-control#connection-and-security). Perhatikan untuk Claude Code jarak jauh, Claude mengakses repositori tempat Anda memulai sesi Claude Code Anda. Claude tidak mengakses repositori yang telah Anda hubungkan tetapi belum memulai sesi di dalamnya.

79 79 

80<h2 id="local-claude-code-data-flow-and-dependencies">80<h2 id="local-claude-code-data-flow-and-dependencies">

81 Claude Code Lokal: Alur data dan dependensi81 Claude Code Lokal: Alur data dan dependensi


83 83 

84Diagram di bawah menunjukkan bagaimana Claude Code terhubung ke layanan eksternal selama instalasi dan operasi normal. Garis solid menunjukkan koneksi yang diperlukan, sementara garis putus-putus mewakili alur data opsional atau yang dimulai pengguna.84Diagram di bawah menunjukkan bagaimana Claude Code terhubung ke layanan eksternal selama instalasi dan operasi normal. Garis solid menunjukkan koneksi yang diperlukan, sementara garis putus-putus mewakili alur data opsional atau yang dimulai pengguna.

85 85 

86<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/claude-code-data-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=5b1131530bdfdd415700a0cb4d4070c4" alt="Diagram menunjukkan koneksi eksternal Claude Code: install/update terhubung ke server distribusi, dan permintaan pengguna terhubung ke layanan Anthropic termasuk auth Console, public-api, dan secara opsional metrics dan Sentry. Umpan balik yang dikirim dengan /feedback masuk ke Google Cloud Storage dan secara opsional membuat masalah GitHub" width="720" height="520" data-path="images/claude-code-data-flow.svg" />86<img src="https://mintcdn.com/claude-code/YR4DRZyI3CdsXkiT/images/claude-code-data-flow.svg?fit=max&auto=format&n=YR4DRZyI3CdsXkiT&q=85&s=2846ea92cfc2297b8620c31c82b482ad" alt="Diagram menunjukkan koneksi eksternal Claude Code: install/update terhubung ke server distribusi, dan permintaan pengguna terhubung ke Anthropic Console auth dan public-api, dengan alur telemetri opsional yang membawa metrik dan laporan kesalahan ke Anthropic dan layanan pihak ketiga. Umpan balik yang dikirim dengan /feedback masuk ke Google Cloud Storage dan secara opsional membuat masalah GitHub" width="720" height="520" data-path="images/claude-code-data-flow.svg" />

87 87 

88Claude Code berjalan secara lokal. Untuk berinteraksi dengan LLM, Claude Code mengirimkan data melalui jaringan. Data ini mencakup semua prompt pengguna dan output model, dienkripsi dalam transit melalui TLS 1.2+. Claude Code kompatibel dengan sebagian besar VPN dan proxy LLM populer.88Claude Code berjalan secara lokal. Untuk berinteraksi dengan LLM, Claude Code mengirimkan data melalui jaringan. Data ini mencakup semua prompt pengguna dan output model, dienkripsi dalam transit melalui TLS 1.2+. Claude Code kompatibel dengan sebagian besar VPN dan proxy LLM populer.

89 89 


115 Layanan telemetri115 Layanan telemetri

116</h2>116</h2>

117 117 

118Claude Code terhubung dari mesin pengguna ke Anthropic untuk mencatat metrik operasional seperti latensi, keandalan, dan pola penggunaan. Logging ini tidak mencakup kode atau jalur file apa pun. Data dienkripsi dalam transit dan saat istirahat. Untuk menolak telemetri, atur variabel lingkungan `DISABLE_TELEMETRY`.118Claude Code mengirimkan dua jenis telemetri operasional: metrik penggunaan dan laporan kesalahan. Anda dapat mematikan masing-masing secara individual dengan variabel lingkungan di bawah ini, atau menonaktifkan semua lalu lintas non-esensial sekaligus dengan menetapkan `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`.

119 119 

120Claude Code terhubung dari mesin pengguna ke Sentry untuk logging kesalahan operasional. Data dienkripsi dalam transit menggunakan TLS dan saat istirahat menggunakan enkripsi AES 256-bit. Baca lebih lanjut di [dokumentasi keamanan Sentry](https://sentry.io/security/). Untuk menolak logging kesalahan, atur variabel lingkungan `DISABLE_ERROR_REPORTING`.120**Metrik**: latensi, keandalan, dan pola penggunaan, dikirim ke Anthropic dan ke infrastruktur logging pihak ketiga melalui TLS. Metrik tidak pernah mencakup kode, prompt, atau jalur file Anda. Atur `DISABLE_TELEMETRY=1` untuk menolak.

121 

122**Laporan kesalahan**: pesan kesalahan dan stack trace dari internal Claude Code sendiri, dikirim ke layanan pelacakan kesalahan pihak ketiga melalui TLS. Claude Code menyunting pola rahasia yang diketahui, jalur file, alamat email, dan informasi pribadi lainnya sebelum apa pun meninggalkan mesin Anda. Atur `DISABLE_ERROR_REPORTING=1` untuk menolak.

123 

124Pelaporan kesalahan hanya aktif ketika semua hal berikut berlaku:

125 

126* Anda masuk dengan langganan Claude Pro atau Max

127* Anda menjalankan Claude Code v2.1.198 atau lebih baru

128* Anda terhubung langsung ke Claude API

129* Organisasi Anda tidak memiliki perjanjian retensi data nol atau HIPAA

121 130 

122Ketika Anda menjalankan perintah `/feedback`, salinan riwayat percakapan lengkap Anda termasuk kode dikirim ke Anthropic. Sebelum mengirimkan, Anda memilih berapa banyak riwayat yang akan disertakan: sesi saat ini saja, yang merupakan default, atau juga sesi lain dari proyek yang sama selama 24 jam atau 7 hari terakhir. Data dienkripsi dalam transit melalui TLS dan disimpan di Google Cloud Storage, yang mengenkripsi data yang disimpan saat istirahat secara default. Secara opsional, masalah GitHub dibuat di repositori publik. Untuk menolak, atur variabel lingkungan `DISABLE_FEEDBACK_COMMAND` ke `1`.131Ketika Anda menjalankan perintah `/feedback`, salinan riwayat percakapan lengkap Anda termasuk kode dikirim ke Anthropic. Sebelum mengirimkan, Anda memilih berapa banyak riwayat yang akan disertakan: sesi saat ini saja, yang merupakan default, atau juga sesi lain dari proyek yang sama selama 24 jam atau 7 hari terakhir. Data dienkripsi dalam transit melalui TLS dan disimpan di Google Cloud Storage, yang mengenkripsi data yang disimpan saat istirahat secara default. Secara opsional, masalah GitHub dibuat di repositori publik. Untuk menolak, atur variabel lingkungan `DISABLE_FEEDBACK_COMMAND` ke `1`.

123 132 


130Secara default, pelaporan kesalahan, telemetri, dan pelaporan bug dinonaktifkan saat menggunakan Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform on AWS. Survei kualitas sesi dan pemeriksaan keamanan domain WebFetch adalah pengecualian dan berjalan terlepas dari penyedia. Pada sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang masuk, analitik penggunaan, pelaporan kesalahan, dan penilaian survei ke Anthropic dinonaktifkan oleh kredensial gateway itu sendiri, tanpa pengaturan untuk mengaktifkannya kembali. Anda dapat menolak semua lalu lintas non-esensial, termasuk survei, sekaligus dengan mengatur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Variabel ini tidak mempengaruhi pemeriksaan WebFetch, yang memiliki opt-out tersendiri. Berikut adalah perilaku default lengkapnya:139Secara default, pelaporan kesalahan, telemetri, dan pelaporan bug dinonaktifkan saat menggunakan Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform on AWS. Survei kualitas sesi dan pemeriksaan keamanan domain WebFetch adalah pengecualian dan berjalan terlepas dari penyedia. Pada sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang masuk, analitik penggunaan, pelaporan kesalahan, dan penilaian survei ke Anthropic dinonaktifkan oleh kredensial gateway itu sendiri, tanpa pengaturan untuk mengaktifkannya kembali. Anda dapat menolak semua lalu lintas non-esensial, termasuk survei, sekaligus dengan mengatur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Variabel ini tidak mempengaruhi pemeriksaan WebFetch, yang memiliki opt-out tersendiri. Berikut adalah perilaku default lengkapnya:

131 140 

132| Layanan | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform on AWS |141| Layanan | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform on AWS |

133| ---------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |142| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |

134| **Anthropic (Metrik)** | Default aktif.<br />`DISABLE_TELEMETRY=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |143| **Metrics** | Default aktif.<br />`DISABLE_TELEMETRY=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |

135| **Sentry (Kesalahan)** | Default aktif.<br />`DISABLE_ERROR_REPORTING=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |144| **Error reports** | Aktif untuk sign-in Pro dan Max pada v2.1.198+, sebaliknya nonaktif.<br />`DISABLE_ERROR_REPORTING=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |

136| **Claude API (laporan `/feedback`)** | Default aktif.<br />`DISABLE_FEEDBACK_COMMAND=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |145| **Claude API (laporan `/feedback`)** | Default aktif.<br />`DISABLE_FEEDBACK_COMMAND=1` untuk menonaktifkan. | Default nonaktif.<br />`CLAUDE_CODE_USE_VERTEX` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_BEDROCK` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_FOUNDRY` harus 1. | Default nonaktif.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` harus 1. |

137| **Survei kualitas sesi** | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. |146| **Survei kualitas sesi** | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. | Default aktif.<br />`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` untuk menonaktifkan. |

138| **Pemeriksaan keamanan domain WebFetch** | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. |147| **Pemeriksaan keamanan domain WebFetch** | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. | Default aktif.<br />`skipWebFetchPreflight: true` di [settings](/id/settings) untuk menonaktifkan. |

139 148 

140Semua variabel lingkungan dapat diperiksa ke dalam `settings.json` (lihat [referensi settings](/id/settings)).149Semua variabel lingkungan dapat diperiksa ke dalam `settings.json` (lihat [referensi settings](/id/settings)).

141 150 

142Mulai dari v2.1.126, ketika platform host mengatur `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`, metrik default aktif untuk Google Cloud's Agent Platform, Amazon Bedrock, dan Microsoft Foundry, dan mengikuti opt-out standar `DISABLE_TELEMETRY`. Pelaporan kesalahan Sentry dan laporan `/feedback` tetap nonaktif secara default pada penyedia tersebut.151Mulai dari v2.1.126, ketika platform host mengatur `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`, metrics default aktif untuk Google Cloud's Agent Platform, Amazon Bedrock, dan Microsoft Foundry, dan mengikuti opt-out standar `DISABLE_TELEMETRY`. Pelaporan kesalahan dan laporan `/feedback` tetap nonaktif secara default pada penyedia tersebut.

143 152 

144<h3 id="webfetch-domain-safety-check">153<h3 id="webfetch-domain-safety-check">

145 Pemeriksaan keamanan domain WebFetch154 Pemeriksaan keamanan domain WebFetch

Details

19Untuk detail tentang kategori tertentu, lanjutkan dengan perintah khusus:19Untuk detail tentang kategori tertentu, lanjutkan dengan perintah khusus:

20 20 

21| Perintah | Menampilkan |21| Perintah | Menampilkan |

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

23| `/memory` | File `CLAUDE.md` dan rules mana yang dimuat, ditambah entri auto-memory |23| `/memory` | File `CLAUDE.md` dan rules mana yang dimuat, ditambah entri auto-memory |

24| `/skills` | Skill yang tersedia dari sumber proyek, pengguna, dan plugin |24| `/skills` | Skill yang tersedia dari sumber proyek, pengguna, dan plugin |

25| `/hooks` | Konfigurasi hook aktif |25| `/hooks` | Konfigurasi hook aktif |

26| `/mcp` | Server MCP yang terhubung dan statusnya |26| `/mcp` | Server MCP yang terhubung dan statusnya |

27| `/permissions` | Aturan allow dan deny yang diselesaikan saat ini berlaku |27| `/permissions` | Aturan allow dan deny yang diselesaikan saat ini berlaku |

28| `/doctor` | Diagnostik konfigurasi: kesehatan instalasi, file pengaturan tidak valid, ekstensi yang tidak digunakan, dan nama [subagent](/id/sub-agents) duplikat di direktori yang sama, dengan perbaikan yang diusulkan |28| `/doctor` | Diagnostik konfigurasi: kesehatan instalasi, file pengaturan tidak valid, ekstensi yang tidak digunakan, nama [subagent](/id/sub-agents) duplikat di direktori yang sama, dan konten `CLAUDE.md` yang diperiksa Claude dapat turunkan dari codebase, dengan perbaikan yang diusulkan |

29| `/debug [issue]` | Mengaktifkan debug logging untuk sesi dan meminta Claude untuk mendiagnosis menggunakan output log dan jalur pengaturan |29| `/debug [issue]` | Mengaktifkan debug logging untuk sesi dan meminta Claude untuk mendiagnosis menggunakan output log dan jalur pengaturan |

30| `/status` | Sumber pengaturan aktif, termasuk apakah pengaturan terkelola berlaku |30| `/status` | Sumber pengaturan aktif, termasuk apakah pengaturan terkelola berlaku |

31 31 


45 45 

46Pengaturan menggabungkan di seluruh cakupan terkelola, pengguna, proyek, dan lokal. Pengaturan terkelola selalu menang ketika ada. Di antara sisanya, cakupan yang lebih dekat menggantikan yang lebih luas dalam urutan lokal, kemudian proyek, kemudian pengguna. Beberapa pengaturan juga dapat diatur oleh flag baris perintah atau [variabel lingkungan](/id/env-vars), yang bertindak sebagai lapisan penggantian lain. Ketika pengaturan tidak tampak berlaku, nilai yang Anda atur biasanya ditimpa oleh cakupan lain atau variabel lingkungan.46Pengaturan menggabungkan di seluruh cakupan terkelola, pengguna, proyek, dan lokal. Pengaturan terkelola selalu menang ketika ada. Di antara sisanya, cakupan yang lebih dekat menggantikan yang lebih luas dalam urutan lokal, kemudian proyek, kemudian pengguna. Beberapa pengaturan juga dapat diatur oleh flag baris perintah atau [variabel lingkungan](/id/env-vars), yang bertindak sebagai lapisan penggantian lain. Ketika pengaturan tidak tampak berlaku, nilai yang Anda atur biasanya ditimpa oleh cakupan lain atau variabel lingkungan.

47 47 

48Jalankan `/doctor` untuk memeriksa konfigurasi dan instalasi Anda. Ini melaporkan apa yang ditemukannya, termasuk file pengaturan yang tidak valid, instalasi duplikat, dan ekstensi yang tidak digunakan, kemudian mengusulkan perbaikan yang diterapkannya hanya setelah Anda mengonfirmasi. Sebelum v2.1.205, `/doctor` membuka layar diagnostik baca-saja dan menekan `f` mengirim laporan ke Claude untuk diperbaiki.48Jalankan `/doctor` untuk memeriksa konfigurasi dan instalasi Anda. Ini melaporkan apa yang ditemukannya, termasuk file pengaturan yang tidak valid, instalasi duplikat, ekstensi yang tidak digunakan, dan {/* min-version: 2.1.206 */}konten `CLAUDE.md` yang diperiksa yang Claude dapat turunkan dari basis kode, kemudian mengusulkan perbaikan yang diterapkannya hanya setelah Anda mengonfirmasi. Pemeriksaan pemangkasan `CLAUDE.md` memerlukan Claude Code v2.1.206 atau lebih baru. Sebelum v2.1.205, `/doctor` membuka layar diagnostik baca-saja dan menekan `f` mengirim laporan ke Claude untuk diperbaiki.

49 49 

50Dari terminal, `claude doctor` mencetak diagnostik instalasi dan pengaturan baca-saja tanpa memulai sesi.50Dari terminal, `claude doctor` mencetak diagnostik instalasi dan pengaturan baca-saja tanpa memulai sesi.

51 51 

desktop.md +80 −19

Details

80 80 

81Permission modes mengontrol berapa banyak otonomi yang dimiliki Claude selama sesi: apakah itu meminta izin sebelum mengedit file, menjalankan perintah, atau keduanya. Anda dapat beralih mode kapan saja menggunakan pemilih mode di sebelah tombol kirim. Mulai dengan Manual untuk melihat dengan tepat apa yang dilakukan Claude, kemudian pindah ke Accept edits atau Plan saat Anda merasa nyaman.81Permission modes mengontrol berapa banyak otonomi yang dimiliki Claude selama sesi: apakah itu meminta izin sebelum mengedit file, menjalankan perintah, atau keduanya. Anda dapat beralih mode kapan saja menggunakan pemilih mode di sebelah tombol kirim. Mulai dengan Manual untuk melihat dengan tepat apa yang dilakukan Claude, kemudian pindah ke Accept edits atau Plan saat Anda merasa nyaman.

82 82 

83Untuk menetapkan mode default untuk sesi lokal baru, tambahkan `permissions.defaultMode` ke [file pengaturan](/id/settings#settings-files) Anda. Aplikasi desktop membaca file pengaturan yang sama dengan CLI. Mode yang Anda pilih di pemilih diingat per folder dan mengambil alih `defaultMode` untuk folder itu, kecuali Plan, yang berlaku hanya untuk sesi saat ini.

84 

83| Mode | Settings key | Behavior |85| Mode | Settings key | Behavior |

84| ---------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |86| ---------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

85| **Manual** | `default` | Claude meminta izin sebelum mengedit file atau menjalankan perintah. Anda melihat diff dan dapat menerima atau menolak setiap perubahan. Direkomendasikan untuk pengguna baru. |87| **Manual** | `default` | Claude meminta izin sebelum mengedit file atau menjalankan perintah. Anda melihat diff dan dapat menerima atau menolak setiap perubahan. Direkomendasikan untuk pengguna baru. |

86| **Accept edits** | `acceptEdits` | Claude secara otomatis menerima edit file dan perintah filesystem umum seperti `mkdir`, `touch`, dan `mv`, tetapi masih meminta izin sebelum menjalankan perintah terminal lainnya. Gunakan ini ketika Anda mempercayai perubahan file dan menginginkan iterasi yang lebih cepat. |88| **Accept edits** | `acceptEdits` | Claude secara otomatis menerima edit file dan perintah filesystem umum seperti `mkdir`, `touch`, dan `mv`, tetapi masih meminta izin sebelum menjalankan perintah terminal lainnya. Gunakan ini ketika Anda mempercayai perubahan file dan menginginkan iterasi yang lebih cepat. |

87| **Plan** | `plan` | Claude membaca file dan menjalankan perintah untuk menjelajahi, kemudian mengusulkan rencana tanpa mengedit kode sumber Anda. Bagus untuk tugas kompleks di mana Anda ingin meninjau pendekatan terlebih dahulu. |89| **Plan** | `plan` | Claude membaca file dan menjalankan perintah untuk menjelajahi, kemudian mengusulkan rencana tanpa mengedit kode sumber Anda. Bagus untuk tugas kompleks di mana Anda ingin meninjau pendekatan terlebih dahulu. |

88| **Auto** | `auto` | Claude mengeksekusi semua tindakan dengan pemeriksaan keamanan latar belakang yang memverifikasi keselarasan dengan permintaan Anda. Mengurangi prompt izin sambil mempertahankan pengawasan. Aktifkan di Settings → Claude Code Anda. Lihat [availability requirements](#auto-mode-availability) di bawah. |90| **Auto** | `auto` | Claude mengeksekusi semua tindakan dengan pemeriksaan keamanan latar belakang yang memverifikasi keselarasan dengan permintaan Anda. Mengurangi prompt izin sambil mempertahankan pengawasan. Muncul ketika akun Anda memenuhi [availability requirements](#auto-mode-availability) di bawah; tidak ada toggle Settings terpisah untuk itu. |

89| **Bypass permissions** | `bypassPermissions` | Claude berjalan tanpa prompt izin apa pun, kecuali yang dipaksa oleh [ask rules](/id/permissions#manage-permissions) eksplisit atau oleh safety classifiers ketika Claude [bertindak di situs eksternal](#browse-external-sites); setara dengan `--dangerously-skip-permissions` di CLI. Aktifkan di Settings → Claude Code Anda di bawah "Allow bypass permissions mode". Hanya gunakan ini di kontainer atau VM yang disandbox. Admin enterprise dapat menonaktifkan opsi ini. |91| **Bypass permissions** | `bypassPermissions` | Claude berjalan tanpa prompt izin apa pun, kecuali yang dipaksa oleh [ask rules](/id/permissions#manage-permissions) eksplisit, connector tools [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), MCP tools yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), atau safety classifiers ketika Claude [bertindak di situs eksternal](#browse-external-sites); setara dengan `--dangerously-skip-permissions` di CLI. Di paket Pro dan Max, aktifkan di Settings → Claude Code Anda di bawah "Allow bypass permissions mode"; di paket Team dan Enterprise tidak ada toggle Settings, dan kebijakan organisasi mengontrolnya sebagai gantinya. Hanya gunakan ini di kontainer atau VM yang disandbox. |

90 92 

91Versi sebelumnya dari tab Code memberi label pada mode ini sebagai Ask permissions, Auto accept edits, dan Plan mode.93Versi sebelumnya dari tab Code memberi label pada mode ini sebagai Ask permissions, Auto accept edits, dan Plan mode.

92 94 


94 96 

95<span id="auto-mode-availability" />97<span id="auto-mode-availability" />

96 98 

97Auto mode tersedia untuk semua pengguna di Anthropic API dan memerlukan Claude Opus 4.6 atau lebih baru, atau Sonnet 4.6 atau lebih baru. Dalam penyebaran Enterprise yang merutekan Desktop ke Google Cloud's Agent Platform, auto mode dimatikan sampai Anda [mengatur `CLAUDE_CODE_ENABLE_AUTO_MODE`](/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), dan hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8 yang didukung di sana.99Auto mode tersedia untuk semua pengguna di Anthropic API dan memerlukan Claude Opus 4.6 atau lebih baru, atau Sonnet 4.6 atau lebih baru. Administrator organisasi dapat menonaktifkan auto mode dengan kunci `disableAutoMode` di [managed settings](#managed-settings).

100 

101Dalam penyebaran Enterprise yang merutekan Desktop ke Google Cloud's Agent Platform, auto mode [tersedia secara default](/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), dan hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8 yang didukung di sana. {/* min-version: 2.1.207 */}Sebelum Claude Code v2.1.207, penyebaran Enterprise di Google Cloud's Agent Platform harus menetapkan `CLAUDE_CODE_ENABLE_AUTO_MODE` untuk mengaktifkan auto mode.

98 102 

99<Tip title="Best practice">103<Tip title="Best practice">

100 Mulai tugas kompleks di Plan sehingga Claude memetakan pendekatan sebelum membuat perubahan. Setelah Anda menyetujui rencana, beralih ke Accept edits atau Manual untuk menjalankannya. Lihat [explore first, then plan, then code](/id/best-practices#explore-first-then-plan-then-code) untuk informasi lebih lanjut tentang alur kerja ini.104 Mulai tugas kompleks di Plan sehingga Claude memetakan pendekatan sebelum membuat perubahan. Setelah Anda menyetujui rencana, beralih ke Accept edits atau Manual untuk menjalankannya. Lihat [explore first, then plan, then code](/id/best-practices#explore-first-then-plan-then-code) untuk informasi lebih lanjut tentang alur kerja ini.


155 159 

156Browser mengikuti [site allowlist dan blocklist controls](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls) yang sama dengan Claude in Chrome extension. Jika organisasi Anda sudah mengonfigurasi daftar tersebut untuk extension, Browser menghormatinya secara otomatis. Administrator juga dapat menonaktifkan alat Claude di halaman eksternal dengan [managed setting](#managed-settings) `browserExternalPageTools`. Dengan alat dinonaktifkan, pengguna masih dapat menavigasi ke situs eksternal; alat Claude tidak dapat membaca atau bertindak pada mereka.160Browser mengikuti [site allowlist dan blocklist controls](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls) yang sama dengan Claude in Chrome extension. Jika organisasi Anda sudah mengonfigurasi daftar tersebut untuk extension, Browser menghormatinya secara otomatis. Administrator juga dapat menonaktifkan alat Claude di halaman eksternal dengan [managed setting](#managed-settings) `browserExternalPageTools`. Dengan alat dinonaktifkan, pengguna masih dapat menavigasi ke situs eksternal; alat Claude tidak dapat membaca atau bertindak pada mereka.

157 161 

162Untuk menonaktifkan browsing eksternal sepenuhnya, atur [managed setting](#managed-settings) `disableBrowserExternalNavigation` ke `true`. Ini memblokir semua navigasi eksternal di Browser, termasuk situs di allowlist organisasi Anda; server dev localhost dan pratinjau file tetap berfungsi. Gunakan `browserExternalPageTools` untuk membiarkan pengguna terus menjelajahi situs eksternal tanpa alat Claude, dan `disableBrowserExternalNavigation` untuk memblokir situs eksternal untuk pengguna dan Claude.

163 

158<h3 id="review-changes-with-diff-view">164<h3 id="review-changes-with-diff-view">

159 Tinjau perubahan dengan diff view165 Tinjau perubahan dengan diff view

160</h3>166</h3>


313 319 

314<Steps>320<Steps>

315 <Step title="Perbarui aplikasi desktop">321 <Step title="Perbarui aplikasi desktop">

316 Pastikan Anda memiliki versi terbaru Claude Desktop. Unduh atau perbarui di [claude.com/download](https://claude.com/download), kemudian mulai ulang aplikasi.322 Pastikan Anda memiliki versi terbaru Claude Desktop. Pada macOS dan Windows, unduh atau perbarui di [claude.com/download](https://claude.com/download); di Linux, perbarui melalui manajer paket Anda ([instruksi](/id/desktop-linux)). Kemudian mulai ulang aplikasi.

317 </Step>323 </Step>

318 324 

319 <Step title="Aktifkan toggle">325 <Step title="Aktifkan toggle">


418 Sesi dari Dispatch424 Sesi dari Dispatch

419</h3>425</h3>

420 426 

421[Dispatch](https://support.claude.com/en/articles/13947068) adalah percakapan persisten dengan Claude yang tinggal di tab [Cowork](https://claude.com/product/cowork#dispatch-and-computer-use). Anda mengirim pesan Dispatch dengan tugas, dan itu memutuskan cara menanganinya.427[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.

422 428 

423Tugas 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.429Tugas 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.

424 430 


454 460 

455[Skills](/id/skills) memperluas apa yang dapat dilakukan Claude. Claude memuatnya secara otomatis ketika relevan, atau Anda dapat menginvokan satu secara langsung: ketik `/` di kotak prompt atau klik tombol **+** dan pilih **Slash commands** untuk melihat apa yang tersedia. Ini mencakup [built-in commands](/id/commands), [custom skills](/id/skills#create-your-first-skill) Anda, project skills dari basis kode Anda, dan skills dari [installed plugins](/id/plugins) apa pun. Pilih satu dan itu muncul disorot di bidang input. Ketik tugas Anda setelahnya dan kirim seperti biasa.461[Skills](/id/skills) memperluas apa yang dapat dilakukan Claude. Claude memuatnya secara otomatis ketika relevan, atau Anda dapat menginvokan satu secara langsung: ketik `/` di kotak prompt atau klik tombol **+** dan pilih **Slash commands** untuk melihat apa yang tersedia. Ini mencakup [built-in commands](/id/commands), [custom skills](/id/skills#create-your-first-skill) Anda, project skills dari basis kode Anda, dan skills dari [installed plugins](/id/plugins) apa pun. Pilih satu dan itu muncul disorot di bidang input. Ketik tugas Anda setelahnya dan kirim seperti biasa.

456 462 

463Anda dapat mengirim perintah saat Claude sedang bekerja, sama seperti pesan lainnya, dan sesi kembali ke idle setelah giliran selesai. Sebelum v2.1.206, perintah yang dikirim di tengah giliran dapat membuat sesi tetap menampilkan sebagai berjalan dan pesan yang Anda kirim setelahnya tidak terkirim.

464 

457<h3 id="install-plugins">465<h3 id="install-plugins">

458 Instal plugins466 Instal plugins

459</h3>467</h3>


737| `disableAutoMode` | atur ke `"disable"` untuk mencegah pengguna dari mengaktifkan [Auto](/id/permission-modes#eliminate-prompts-with-auto-mode) mode. Menghapus Auto dari pemilih mode. Juga diterima di bawah `permissions`. |745| `disableAutoMode` | atur ke `"disable"` untuk mencegah pengguna dari mengaktifkan [Auto](/id/permission-modes#eliminate-prompts-with-auto-mode) mode. Menghapus Auto dari pemilih mode. Juga diterima di bawah `permissions`. |

738| `autoMode` | sesuaikan apa yang dipercaya dan diblokir oleh pengklasifikasi auto mode di seluruh organisasi Anda. Lihat [Configure auto mode](/id/auto-mode-config). |746| `autoMode` | sesuaikan apa yang dipercaya dan diblokir oleh pengklasifikasi auto mode di seluruh organisasi Anda. Lihat [Configure auto mode](/id/auto-mode-config). |

739| `browserExternalPageTools` | atur ke `"disabled"` untuk mencegah Claude menggunakan tools untuk membaca atau bertindak pada halaman eksternal di [Browser pane](#browse-external-sites). Pengguna masih dapat menavigasi ke situs eksternal sendiri, dan pratinjau server dev lokal tidak terpengaruh. |747| `browserExternalPageTools` | atur ke `"disabled"` untuk mencegah Claude menggunakan tools untuk membaca atau bertindak pada halaman eksternal di [Browser pane](#browse-external-sites). Pengguna masih dapat menavigasi ke situs eksternal sendiri, dan pratinjau server dev lokal tidak terpengaruh. |

748| `disableBrowserExternalNavigation` | atur ke `true` untuk mematikan penjelajahan eksternal di [Browser pane](#browse-external-sites) sepenuhnya. Baik pengguna maupun Claude tidak dapat menavigasi ke situs eksternal, dan pratinjau server dev localhost tidak terpengaruh. Nilainya harus berupa boolean JSON `true`; string `"true"` diabaikan. |

740| `sshConfigs` | pre-configure [SSH connections](#pre-configure-ssh-connections-for-your-team) yang muncul di dropdown lingkungan. Pengguna tidak dapat mengedit atau menghapus koneksi yang dikelola. |749| `sshConfigs` | pre-configure [SSH connections](#pre-configure-ssh-connections-for-your-team) yang muncul di dropdown lingkungan. Pengguna tidak dapat mengedit atau menghapus koneksi yang dikelola. |

741| `sshHostAllowlist` | batasi [SSH sessions](#restrict-which-ssh-hosts-users-can-connect-to) ke host yang nama hostname yang diselesaikannya cocok dengan salah satu pola ini. Array kosong menonaktifkan sesi SSH. Dibaca dari pengaturan yang dikelola saja. |750| `sshHostAllowlist` | batasi [SSH sessions](#restrict-which-ssh-hosts-users-can-connect-to) ke host yang nama hostname yang diselesaikannya cocok dengan salah satu pola ini. Array kosong menonaktifkan sesi SSH. Dibaca dari pengaturan yang dikelola saja. |

742| `managedMcpServers` | dorong konfigurasi server MCP ke semua pengguna dalam penyebaran pihak ketiga. Setiap entri menentukan transport `"http"`, `"sse"`, atau `"stdio"`, detail koneksi, dan secara opsional peta `toolPolicy` yang membatasi alat mana dalam server tersebut yang dapat dipanggil pengguna. Tersedia dalam penyebaran Desktop pihak ketiga (3P) saja. Berikan kunci ini melalui file pengaturan yang dikelola atau MDM, karena penyebaran pihak ketiga tidak menerima pengaturan konsol admin. |751| `managedMcpServers` | dorong konfigurasi server MCP ke semua pengguna dalam penyebaran pihak ketiga. Setiap entri menentukan transport `"http"`, `"sse"`, atau `"stdio"`, detail koneksi, dan secara opsional peta `toolPolicy` yang membatasi alat mana dalam server tersebut yang dapat dipanggil pengguna. Tersedia dalam penyebaran Desktop pihak ketiga (3P) saja. Berikan kunci ini melalui file pengaturan yang dikelola atau MDM, karena penyebaran pihak ketiga tidak menerima pengaturan konsol admin. |


747* **[Sesi cloud](#cloud-sessions)**: berjalan pada VM yang dikelola Anthropic dan menerima [server-managed settings](/id/server-managed-settings) saja.756* **[Sesi cloud](#cloud-sessions)**: berjalan pada VM yang dikelola Anthropic dan menerima [server-managed settings](/id/server-managed-settings) saja.

748* **[Sesi SSH](#ssh-sessions)**: sesi membaca file pengaturan yang dikelola dari host jarak jauh. Desktop itu sendiri membaca `sshConfigs` dan `sshHostAllowlist` dari pengaturan yang dikelola mesin lokal ketika membuat koneksi.757* **[Sesi SSH](#ssh-sessions)**: sesi membaca file pengaturan yang dikelola dari host jarak jauh. Desktop itu sendiri membaca `sshConfigs` dan `sshHostAllowlist` dari pengaturan yang dikelola mesin lokal ketika membuat koneksi.

749 758 

750`permissions.disableBypassPermissionsMode` dan `disableAutoMode` juga bekerja di pengaturan pengguna dan proyek, tetapi menempatkannya di pengaturan yang dikelola mencegah pengguna dari menimpanya. `autoMode` dibaca dari pengaturan pengguna, `.claude/settings.local.json`, dan pengaturan yang dikelola, tetapi bukan dari `.claude/settings.json` yang diperiksa: repositori yang diklon tidak dapat menyuntikkan aturan pengklasifikasinya sendiri. Untuk daftar lengkap pengaturan khusus yang dikelola termasuk `allowManagedPermissionRulesOnly` dan `allowManagedHooksOnly`, lihat [managed-only settings](/id/permissions#managed-only-settings).759`permissions.disableBypassPermissionsMode` dan `disableAutoMode` juga bekerja di pengaturan pengguna dan proyek, tetapi menempatkannya di pengaturan yang dikelola mencegah pengguna dari menimpanya.

760 

761{/* min-version: 2.1.207 */}Claude Code membaca `autoMode` dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola, tetapi bukan dari `.claude/settings.json` atau `.claude/settings.local.json`: kedua file berada di direktori repo, jadi repo yang diklon atau langkah build tidak dapat menyuntikkan aturan pengklasifikasinya sendiri. Sebelum v2.1.207, Claude Code juga membaca `.claude/settings.local.json`.

762 

763Untuk daftar lengkap pengaturan khusus yang dikelola termasuk `allowManagedPermissionRulesOnly` dan `allowManagedHooksOnly`, lihat [managed-only settings](/id/permissions#managed-only-settings).

751 764 

752<h3 id="device-management-policies">765<h3 id="device-management-policies">

753 Kebijakan manajemen perangkat766 Kebijakan manajemen perangkat


758* **macOS**: konfigurasikan melalui domain preferensi `com.anthropic.claudefordesktop` menggunakan alat seperti Jamf atau Kandji771* **macOS**: konfigurasikan melalui domain preferensi `com.anthropic.claudefordesktop` menggunakan alat seperti Jamf atau Kandji

759* **Windows**: konfigurasikan melalui registri di `SOFTWARE\Policies\Claude`772* **Windows**: konfigurasikan melalui registri di `SOFTWARE\Policies\Claude`

760 773 

774<h3 id="network-access-requirements">

775 Persyaratan akses jaringan

776</h3>

777 

778Desktop memuat kode aplikasinya dan konten pengguna dari host CDN Anthropic.

779 

780```text theme={null}

781anthropic.com

782*.anthropic.com

783claude.ai

784*.claude.ai

785claude.com

786*.claude.com

787claude.app

788*.claude.app

789*.claudeusercontent.com

790*.claudemcpcontent.com

791```

792 

793Lalu lintas adalah HTTPS pada port 443 kecuali Anda mengonfigurasi port kustom untuk [OTLP](/id/monitoring-usage), gateway LLM, atau server MCP.

794 

795Untuk server proxy, otoritas sertifikat kustom, mTLS, dan domain yang dibutuhkan CLI standalone, lihat [network configuration](/id/network-config).

796 

797Untuk mengurangi jumlah wildcard firewall, izinkan host Anthropic ini sebagai gantinya. Subdomain tertentu dihasilkan secara dinamis dan harus tetap sebagai wildcard.

798 

799```text theme={null}

800anthropic.com

801api.anthropic.com

802a-api.anthropic.com

803a-cdn.anthropic.com

804s-cdn.anthropic.com

805assets-proxy.anthropic.com

806claude.ai

807a.claude.ai

808a-cdn.claude.ai

809assets.claude.ai

810downloads.claude.ai

811*.livepreview.claude.ai

812claude.com

813platform.claude.com

814*.livepreview.claude.app

815*.claudeusercontent.com

816*.claudemcpcontent.com

817```

818 

761<h3 id="authentication-and-sso">819<h3 id="authentication-and-sso">

762 Autentikasi dan SSO820 Autentikasi dan SSO

763</h3>821</h3>

764 822 

765Organisasi enterprise dapat memerlukan SSO untuk semua pengguna. Lihat [authentication](/id/authentication) untuk detail tingkat rencana dan [Setting up SSO](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso) untuk konfigurasi SAML dan OIDC.823Organisasi enterprise dapat memerlukan SSO untuk semua pengguna. Lihat [authentication](/id/authentication) untuk detail tingkat rencana dan [Setting up SSO](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso) untuk konfigurasi SAML; setup OIDC tercakup dalam [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide).

766 824 

767<h3 id="data-handling">825<h3 id="data-handling">

768 Penanganan data826 Penanganan data


777Desktop dapat didistribusikan melalui alat penyebaran enterprise:835Desktop dapat didistribusikan melalui alat penyebaran enterprise:

778 836 

779* **macOS**: distribusikan melalui MDM seperti Jamf atau Kandji menggunakan installer `.dmg`837* **macOS**: distribusikan melalui MDM seperti Jamf atau Kandji menggunakan installer `.dmg`

780* **Windows**: sebarkan melalui paket MSIX atau installer `.exe`. Lihat [Deploy Claude Desktop for Windows](https://support.claude.com/en/articles/12622703-deploy-claude-desktop-for-windows) untuk opsi penyebaran enterprise termasuk instalasi senyap838* **Windows**: sebarkan melalui paket MSIX. Lihat [Deploy Claude Desktop for Windows](https://support.claude.com/en/articles/12622703-deploy-claude-desktop-for-windows) untuk opsi penyebaran enterprise termasuk instalasi senyap

781 839 

782Untuk konfigurasi jaringan seperti pengaturan proxy, allowlist firewall, dan LLM gateway, lihat [network configuration](/id/network-config).840Untuk domain yang akan diizinkan dalam firewall Anda, lihat [network access requirements](#network-access-requirements) di atas. Untuk pengaturan proxy, otoritas sertifikat kustom, dan gateway LLM, lihat [network configuration](/id/network-config).

783 841 

784Untuk referensi konfigurasi enterprise lengkap, lihat [enterprise configuration guide](https://support.claude.com/en/articles/12622667-enterprise-configuration).842Untuk referensi konfigurasi enterprise lengkap, lihat [enterprise configuration guide](https://support.claude.com/en/articles/12622667-enterprise-configuration).

785 843 


802Tabel ini menunjukkan setara aplikasi desktop untuk flag CLI umum. Flag yang tidak tercantum tidak memiliki setara desktop karena dirancang untuk scripting atau otomasi.860Tabel ini menunjukkan setara aplikasi desktop untuk flag CLI umum. Flag yang tidak tercantum tidak memiliki setara desktop karena dirancang untuk scripting atau otomasi.

803 861 

804| CLI | Setara Desktop |862| CLI | Setara Desktop |

805| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |863| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

806| `--model sonnet` | Dropdown model di sebelah tombol kirim |864| `--model sonnet` | Dropdown model di sebelah tombol kirim |

807| `--resume`, `--continue` | Klik sesi di sidebar |865| `--resume`, `--continue` | Klik sesi di sidebar |

808| `--permission-mode` | Pemilih mode di sebelah tombol kirim |866| `--permission-mode` | Pemilih mode di sebelah tombol kirim |

809| `--dangerously-skip-permissions` | Bypass permissions mode. Aktifkan di Settings → Claude Code → "Allow bypass permissions mode". Admin enterprise dapat menonaktifkan pengaturan ini. |867| `--dangerously-skip-permissions` | Bypass permissions mode. Di paket Pro dan Max, aktifkan di Settings → Claude Code → "Allow bypass permissions mode"; di paket Team dan Enterprise, kebijakan organisasi mengontrolnya |

810| `--add-dir` | Tambahkan beberapa repo dengan tombol **+** di sesi cloud |868| `--add-dir` | Tambahkan beberapa repo dengan tombol **+** di sesi cloud |

811| `--allowedTools`, `--disallowedTools` | Tidak ada setara per-sesi. Aturan izin di [file pengaturan](/id/settings) masih berlaku. |869| `--allowedTools`, `--disallowedTools` | Tidak ada setara per-sesi. Aturan izin di [file pengaturan](/id/settings) masih berlaku. |

812| `--verbose` | [Mode tampilan verbose](#switch-view-modes) di dropdown tampilan Transcript |870| `--verbose` | [Mode tampilan verbose](#switch-view-modes) di dropdown tampilan Transcript |


839Tabel ini membandingkan kemampuan inti antara CLI dan Desktop. Untuk daftar lengkap flag CLI, lihat [referensi CLI](/id/cli-reference).897Tabel ini membandingkan kemampuan inti antara CLI dan Desktop. Untuk daftar lengkap flag CLI, lihat [referensi CLI](/id/cli-reference).

840 898 

841| Fitur | CLI | Desktop |899| Fitur | CLI | Desktop |

842| ----------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |900| ----------------------------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

843| Mode izin | Semua mode termasuk `dontAsk` | Manual, Terima edits, dan Plan. Mode Auto dan Bypass permissions muncul di pemilih mode setelah Anda mengaktifkannya di Settings |901| Mode izin | Semua mode termasuk `dontAsk` | Manual, Terima edits, Plan, dan Auto. Bypass permissions muncul di pemilih mode setelah diaktifkan: melalui toggle Settings di paket Pro dan Max, atau melalui kebijakan organisasi di paket Team dan Enterprise |

844| `--dangerously-skip-permissions` | Flag CLI | Bypass permissions mode. Aktifkan di Settings → Claude Code → "Allow bypass permissions mode" |902| `--dangerously-skip-permissions` | Flag CLI | Bypass permissions mode. Di paket Pro dan Max, aktifkan di Settings → Claude Code → "Allow bypass permissions mode"; di paket Team dan Enterprise, kebijakan organisasi mengontrolnya |

845| [Penyedia pihak ketiga](/id/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API Anthropic secara default. Penerapan enterprise dapat mengonfigurasi Google Cloud's Agent Platform dan penyedia gateway. Lihat [panduan konfigurasi enterprise](https://support.claude.com/en/articles/12622667-enterprise-configuration). Untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |903| [Penyedia pihak ketiga](/id/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API Anthropic secara default. Untuk perutean gateway, lihat [hubungkan aplikasi desktop ke gateway](/id/llm-gateway-connect#desktop-app). Untuk menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

846| [MCP servers](/id/mcp) | Konfigurasikan di file pengaturan | UI Connectors untuk sesi lokal dan SSH, atau file pengaturan |904| [MCP servers](/id/mcp) | Konfigurasikan di file pengaturan | UI Connectors untuk sesi lokal dan SSH, atau file pengaturan |

847| [Plugins](/id/plugins) | Perintah `/plugin` | UI plugin manager |905| [Plugins](/id/plugins) | Perintah `/plugin` | UI plugin manager |

848| File @mention | Berbasis teks | Dengan autocomplete; hanya sesi lokal dan SSH |906| File @mention | Berbasis teks | Dengan autocomplete; hanya sesi lokal dan SSH |


860 918 

861Fitur berikut hanya tersedia di CLI atau ekstensi VS Code, kecuali jika dicatat:919Fitur berikut hanya tersedia di CLI atau ekstensi VS Code, kecuali jika dicatat:

862 920 

863* **Penyedia pihak ketiga**: Desktop terhubung ke API Anthropic secara default. Penerapan enterprise dapat mengonfigurasi Google Cloud's Agent Platform dan penyedia gateway melalui [pengaturan terkelola](https://support.claude.com/en/articles/12622667-enterprise-configuration). Untuk Amazon Bedrock atau Microsoft Foundry di CLI, lihat [quickstart](/id/quickstart). Sebagai pengecualian terhadap bagian di atas, [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri.921* **Penyedia pihak ketiga**: Desktop terhubung ke API Anthropic secara default. Untuk merutekan Desktop melalui gateway, lihat [hubungkan aplikasi desktop ke gateway](/id/llm-gateway-connect#desktop-app). Penerapan enterprise dapat mengonfigurasi Google Cloud's Agent Platform dan penyedia gateway melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration). Untuk Amazon Bedrock atau Microsoft Foundry di CLI, lihat [quickstart](/id/quickstart). Sebagai pengecualian terhadap bagian di atas, [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) menjalankan tab Code di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau gateway LLM yang di-host sendiri.

864* **Linux (beta)**: Computer Use belum tersedia di aplikasi desktop Linux. Lihat [Claude Desktop on Linux](/id/desktop-linux).922* **Linux (beta)**: Computer Use belum tersedia di aplikasi desktop Linux. Lihat [Claude Desktop on Linux](/id/desktop-linux).

865* **Saran kode inline**: Desktop tidak menyediakan saran gaya autocomplete. Ini bekerja melalui prompt percakapan dan perubahan kode eksplisit.923* **Saran kode inline**: Desktop tidak menyediakan saran gaya autocomplete. Ini bekerja melalui prompt percakapan dan perubahan kode eksplisit.

866* **Tim agent**: sesi Claude Code paralel yang saling berkirim pesan tersedia di [CLI](/id/agent-teams), bukan di Desktop. Untuk pekerjaan multi-agent di dalam satu sesi, gunakan [dynamic workflows](/id/workflows), yang berjalan di Desktop.924* **Tim agent**: sesi Claude Code paralel yang saling berkirim pesan tersedia di [CLI](/id/agent-teams), bukan di Desktop. Untuk pekerjaan multi-agent di dalam satu sesi, gunakan [dynamic workflows](/id/workflows), yang berjalan di Desktop.

867* **Perintah terminal-dialog**: perintah bawaan yang membuka panel interaktif di terminal, seperti `/permissions` dan `/config`, tidak tersedia di tab Code dan membalas dengan `isn't available in this environment`. `/config` menetapkan pengaturan ketika Anda melewatkan `key=value`, misalnya `/config theme=dark`; hanya bentuk pemilihnya yang tidak tersedia. Edit [file pengaturan](/id/settings) secara langsung untuk mengelola aturan izin dan konfigurasi, atau jalankan perintah dari CLI mandiri.925* **Perintah terminal-dialog**: perintah bawaan yang membuka panel interaktif di terminal berperilaku berbeda di tab Code. Edit [file pengaturan](/id/settings) secara langsung untuk mengelola aturan izin dan konfigurasi, atau jalankan perintah dari CLI mandiri.

926 * Perintah tanpa bentuk argumen, seperti `/permissions`, membalas dengan `isn't available in this environment`.

927 * `/config` membuka Settings → Claude Code. Teks setelah perintah diabaikan, jadi `/config theme=dark` tidak mengatur tema.

868 928 

869<h2 id="troubleshooting">929<h2 id="troubleshooting">

870 Troubleshooting930 Troubleshooting


902 962 

9031. Mulai ulang aplikasi.9631. Mulai ulang aplikasi.

9042. Periksa pembaruan yang tertunda. Pada macOS dan Windows, aplikasi secara otomatis memperbarui saat peluncuran; di Linux, perbarui melalui apt seperti yang dijelaskan dalam [Claude Desktop on Linux](/id/desktop-linux).9642. Periksa pembaruan yang tertunda. Pada macOS dan Windows, aplikasi secara otomatis memperbarui saat peluncuran; di Linux, perbarui melalui apt seperti yang dijelaskan dalam [Claude Desktop on Linux](/id/desktop-linux).

9053. Di Windows, periksa Event Viewer untuk log crash di bawah **Windows Logs Application**.9653. Di jaringan yang dikelola, konfirmkan firewall Anda memungkinkan host CDN dalam [network access requirements](#network-access-requirements).

9664. Di Windows, periksa Event Viewer untuk log crash di bawah **Windows Logs → Application**.

906 967 

907<h3 id="failed-to-load-session">968<h3 id="failed-to-load-session">

908 "Failed to load session"969 "Failed to load session"

Details

57 <Step title="Luncurkan dan masuk">57 <Step title="Luncurkan dan masuk">

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

59 59 

60 Aplikasi 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](/id/quickstart) untuk autentikasi kunci API. Untuk penyebaran enterprise yang merutekan Desktop ke Agent Platform Google Cloud atau gateway LLM, lihat [panduan konfigurasi enterprise](https://support.claude.com/en/articles/12622667-enterprise-configuration) dan [konfigurasi jaringan](/id/network-config).60 Aplikasi 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](/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](/id/network-config).

61 </Step>61 </Step>

62</Steps>62</Steps>

63 63 

Details

33Aplikasi desktop memiliki tiga tab:33Aplikasi desktop memiliki tiga tab:

34 34 

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

36* **Cowork**: Agen latar belakang otonom yang bekerja pada tugas di VM cloud dengan lingkungannya sendiri. Dapat berjalan secara independen saat Anda melakukan pekerjaan lain.36* **Cowork**: Agen latar belakang otonom yang bekerja pada tugas di mesin virtual bersandbox dengan lingkungannya sendiri, berjalan secara independen saat Anda melakukan pekerjaan lain. Sesi Cowork on-device menjalankan VM di komputer Anda; sesi Cowork jarak jauh berjalan di VM yang dikelola Anthropic sebagai gantinya.

37* **Code**: Asisten coding interaktif dengan akses langsung ke file lokal Anda. Anda meninjau dan menyetujui setiap perubahan secara real-time.37* **Code**: Asisten coding interaktif dengan akses langsung ke file lokal Anda. Anda meninjau dan menyetujui setiap perubahan secara real-time.

38 38 

39Chat dan Cowork tercakup dalam [artikel dukungan Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop). Halaman ini berfokus pada tab **Code**.39Chat 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**.

40 40 

41<h2 id="install">41<h2 id="install">

42 Instal42 Instal

Details

93 93 

94Untuk 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.94Untuk 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.

95 95 

96Alat connector [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) meminta pada setiap panggilan dan tidak menawarkan opsi always-allow. Run yang memanggil alat ini terhenti setiap kali.

97 

96<h2 id="manage-scheduled-tasks">98<h2 id="manage-scheduled-tasks">

97 Kelola tugas terjadwal99 Kelola tugas terjadwal

98</h2>100</h2>

Details

347 347 

348[Language server](/id/plugins#add-lsp-servers-to-your-plugin) plugin dihitung sebagai digunakan ketika ia memberikan diagnostik atau menjawab permintaan navigasi kode, jadi plugin LSP yang servernya aktif dalam sesi Anda tidak dicantumkan sebagai tidak digunakan. Sebelum v2.1.203, aktivitas language server tidak dapat dihitung sebagai penggunaan, jadi plugin yang menyumbangkan server LSP dikecualikan dari grup sepenuhnya, dengan cara yang sama seperti plugin tema dan gaya output masih.348[Language server](/id/plugins#add-lsp-servers-to-your-plugin) plugin dihitung sebagai digunakan ketika ia memberikan diagnostik atau menjawab permintaan navigasi kode, jadi plugin LSP yang servernya aktif dalam sesi Anda tidak dicantumkan sebagai tidak digunakan. Sebelum v2.1.203, aktivitas language server tidak dapat dihitung sebagai penggunaan, jadi plugin yang menyumbangkan server LSP dikecualikan dari grup sepenuhnya, dengan cara yang sama seperti plugin tema dan gaya output masih.

349 349 

350Sesi pertama pada versi yang menghitung aktivitas language server juga mengatur ulang catatan penggunaan setiap plugin LSP yang belum mencatat penggunaan apa pun, jadi Claude Code tidak menilai plugin yang Anda instal sebelumnya sebagai tidak digunakan berdasarkan data yang dicatat sebelum aktivitas servernya dilacak. Sebelum v2.1.206, sesi pertama itu dapat mencantumkan plugin LSP yang digunakan secara aktif di bawah **Not used recently** dan menyarankan untuk meninjau.

351 

350Saat Anda menginstal plugin yang mendeklarasikan dependensi, output instalasi mencantumkan dependensi mana yang diinstal secara otomatis bersama dengannya.352Saat Anda menginstal plugin yang mendeklarasikan dependensi, output instalasi mencantumkan dependensi mana yang diinstal secara otomatis bersama dengannya.

351 353 

352Anda juga dapat mengelola plugin dengan perintah langsung.354Anda juga dapat mengelola plugin dengan perintah langsung.


451 Konfigurasi auto-updates453 Konfigurasi auto-updates

452</h3>454</h3>

453 455 

454Claude Code dapat secara otomatis memperbarui marketplace dan plugin yang diinstal saat startup. Saat auto-update diaktifkan untuk marketplace, Claude Code menyegarkan data marketplace dan memperbarui plugin yang diinstal ke versi terbaru mereka. Jika ada plugin yang diperbarui, Anda akan melihat notifikasi yang meminta Anda untuk menjalankan `/reload-plugins`.456Claude Code dapat secara otomatis memperbarui marketplace dan plugin yang diinstal di latar belakang setelah startup. Saat auto-update diaktifkan untuk marketplace, Claude Code menyegarkan data marketplace dan memperbarui plugin yang diinstal ke versi terbaru mereka di disk.

457 

458Claude Code memeriksa pembaruan marketplace dan plugin setelah sesi Anda dimulai, dengan penundaan acak hingga sepuluh menit, sehingga sesi yang berjalan terus menggunakan versi yang dimuat saat peluncuran. Jika ada plugin yang diperbarui, Anda akan melihat notifikasi yang meminta Anda untuk menjalankan `/reload-plugins`, atau versi baru dimuat saat peluncuran berikutnya.

455 459 

456Alihkan auto-update untuk marketplace individual melalui UI:460Alihkan auto-update untuk marketplace individual melalui UI:

457 461 

env-vars.md +19 −9

Details

87 87 

88Saat perilaku yang sama memiliki variabel lingkungan dan bidang pengaturan, variabel lingkungan mengambil prioritas. Misalnya, `ANTHROPIC_MODEL` mengganti pengaturan `model`, dan `CLAUDE_CODE_AUTO_CONNECT_IDE` mengganti `autoConnectIde`. Bidang pengaturan berlaku saat variabel lingkungan tidak diatur.88Saat perilaku yang sama memiliki variabel lingkungan dan bidang pengaturan, variabel lingkungan mengambil prioritas. Misalnya, `ANTHROPIC_MODEL` mengganti pengaturan `model`, dan `CLAUDE_CODE_AUTO_CONNECT_IDE` mengganti `autoConnectIde`. Bidang pengaturan berlaku saat variabel lingkungan tidak diatur.

89 89 

90Ketika variabel yang sama diatur di shell Anda dan file pengaturan blok `env`, nilai file pengaturan berlaku. Claude Code menulis setiap entri `env` ke dalam lingkungan proses saat startup, mengganti nilai yang diwarisi dari shell. Beberapa variabel adalah kasus khusus; [pengaturan `env`](/id/settings#available-settings) mencantumkan pengecualiannya.

91 

92Di antara file pengaturan, nilai `env` mengikuti [prioritas pengaturan](/id/settings#settings-precedence), jadi entri pengaturan yang dikelola mengganti variabel yang sama dalam pengaturan pengguna atau proyek.

93 

90Bagaimana variabel lingkungan berinteraksi dengan flag CLI dan perintah dalam sesi bervariasi per fitur: `--model` dan `/model` mengganti `ANTHROPIC_MODEL`, sementara `CLAUDE_CODE_EFFORT_LEVEL` mengganti `/effort`. Saat variabel berinteraksi dengan sumber konfigurasi lain, barisnya dalam daftar [Variabel](#variables) menyatakan prioritas atau menautkan ke halaman yang mendokumentasikannya.94Bagaimana variabel lingkungan berinteraksi dengan flag CLI dan perintah dalam sesi bervariasi per fitur: `--model` dan `/model` mengganti `ANTHROPIC_MODEL`, sementara `CLAUDE_CODE_EFFORT_LEVEL` mengganti `/effort`. Saat variabel berinteraksi dengan sumber konfigurasi lain, barisnya dalam daftar [Variabel](#variables) menyatakan prioritas atau menautkan ke halaman yang mendokumentasikannya.

91 95 

92Claude Code membaca variabel lingkungan saat startup, jadi perubahan berlaku saat Anda meluncurkan `claude` berikutnya.96Claude Code membaca variabel lingkungan saat startup, jadi perubahan berlaku saat Anda meluncurkan `claude` berikutnya.


96</h2>100</h2>

97 101 

98| Variabel | Tujuan |102| Variabel | Tujuan |

99| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |103| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

100| `ANTHROPIC_API_KEY` | Kunci API yang dikirim sebagai header `X-Api-Key`. Saat diatur, kunci ini digunakan alih-alih langganan Claude Pro, Max, Team, atau Enterprise Anda bahkan jika Anda sudah masuk. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada. Dalam mode interaktif, Anda diminta untuk menyetujui kunci sekali sebelum mengganti langganan Anda. Untuk menggunakan langganan Anda sebagai gantinya, jalankan `unset ANTHROPIC_API_KEY` |104| `ANTHROPIC_API_KEY` | Kunci API yang dikirim sebagai header `X-Api-Key`. Saat diatur, kunci ini digunakan alih-alih langganan Claude Pro, Max, Team, atau Enterprise Anda bahkan jika Anda sudah masuk. Dalam mode non-interaktif (`-p`), kunci selalu digunakan saat ada. Dalam mode interaktif, Anda diminta untuk menyetujui kunci sekali sebelum mengganti langganan Anda. Untuk menggunakan langganan Anda sebagai gantinya, jalankan `unset ANTHROPIC_API_KEY` |

101| `ANTHROPIC_AUTH_TOKEN` | Nilai kustom untuk header `Authorization` (nilai yang Anda atur di sini akan diawali dengan `Bearer `) |105| `ANTHROPIC_AUTH_TOKEN` | Nilai kustom untuk header `Authorization` (nilai yang Anda atur di sini akan diawali dengan `Bearer `) |

102| `ANTHROPIC_AWS_API_KEY` | Kunci API Workspace untuk [Claude Platform on AWS](/id/claude-platform-on-aws), dihasilkan di AWS Console. Dikirim sebagai `x-api-key` dan mengambil prioritas atas AWS SigV4 |106| `ANTHROPIC_AWS_API_KEY` | Kunci API Workspace untuk [Claude Platform on AWS](/id/claude-platform-on-aws), dihasilkan di AWS Console. Dikirim sebagai `x-api-key` dan mengambil prioritas atas AWS SigV4 |


134| `ANTHROPIC_FOUNDRY_RESOURCE` | Nama sumber daya Foundry (misalnya, `my-resource`). Diperlukan jika `ANTHROPIC_FOUNDRY_BASE_URL` tidak diatur (lihat [Microsoft Foundry](/id/microsoft-foundry)) |138| `ANTHROPIC_FOUNDRY_RESOURCE` | Nama sumber daya Foundry (misalnya, `my-resource`). Diperlukan jika `ANTHROPIC_FOUNDRY_BASE_URL` tidak diatur (lihat [Microsoft Foundry](/id/microsoft-foundry)) |

135| `ANTHROPIC_MODEL` | Nama pengaturan model yang akan digunakan (lihat [Konfigurasi Model](/id/model-config#environment-variables)) |139| `ANTHROPIC_MODEL` | Nama pengaturan model yang akan digunakan (lihat [Konfigurasi Model](/id/model-config#environment-variables)) |

136| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nama [model kelas Haiku untuk tugas latar belakang](/id/costs) |140| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nama [model kelas Haiku untuk tugas latar belakang](/id/costs) |

137| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Ganti wilayah AWS untuk model kelas Haiku saat menggunakan Amazon Bedrock atau Amazon Bedrock Mantle. Pada Amazon Bedrock, ini hanya berlaku saat `ANTHROPIC_DEFAULT_HAIKU_MODEL` atau `ANTHROPIC_SMALL_FAST_MODEL` yang sudah usang juga diatur, karena Amazon Bedrock sebaliknya menggunakan model utama untuk tugas latar belakang |141| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Ganti wilayah AWS untuk model kelas Haiku saat menggunakan Amazon Bedrock atau Amazon Bedrock Mantle. Pada Amazon Bedrock, ini hanya berlaku saat `ANTHROPIC_DEFAULT_HAIKU_MODEL` atau `ANTHROPIC_SMALL_FAST_MODEL` yang sudah usang juga diatur, karena Amazon Bedrock sebaliknya menjalankan tugas latar belakang pada [model Sonnet default atau model utama](/id/amazon-bedrock#4-pin-model-versions) di wilayah sesi |

138| `ANTHROPIC_VERTEX_BASE_URL` | Ganti URL titik akhir Google Cloud's Agent Platform. Gunakan untuk titik akhir Google Cloud's Agent Platform kustom atau saat merutekan melalui [gateway LLM](/id/llm-gateway). Lihat [Google Cloud's Agent Platform](/id/google-vertex-ai) |142| `ANTHROPIC_VERTEX_BASE_URL` | Ganti URL titik akhir Google Cloud's Agent Platform. Gunakan untuk titik akhir Google Cloud's Agent Platform kustom atau saat merutekan melalui [gateway LLM](/id/llm-gateway). Lihat [Google Cloud's Agent Platform](/id/google-vertex-ai) |

139| `ANTHROPIC_VERTEX_PROJECT_ID` | ID proyek GCP untuk permintaan Google Cloud's Agent Platform. Ditimpa oleh `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT`, atau proyek dalam file kredensial `GOOGLE_APPLICATION_CREDENTIALS` Anda. Lihat [Google Cloud's Agent Platform](/id/google-vertex-ai) |143| `ANTHROPIC_VERTEX_PROJECT_ID` | ID proyek GCP untuk permintaan Google Cloud's Agent Platform. Ditimpa oleh `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT`, atau proyek dalam file kredensial `GOOGLE_APPLICATION_CREDENTIALS` Anda. Lihat [Google Cloud's Agent Platform](/id/google-vertex-ai) |

140| `ANTHROPIC_WORKSPACE_ID` | ID Workspace untuk [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Atur ini saat aturan federasi Anda dibatasi ke lebih dari satu workspace sehingga pertukaran token tahu workspace mana yang ditargetkan |144| `ANTHROPIC_WORKSPACE_ID` | ID Workspace untuk [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Atur ini saat aturan federasi Anda dibatasi ke lebih dari satu workspace sehingga pertukaran token tahu workspace mana yang ditargetkan |


165| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Atur ke `0` untuk menghilangkan blok atribusi (versi klien dan sidik jari prompt) dari awal prompt sistem. Menonaktifkannya meningkatkan tingkat hit cache prompt saat merutekan melalui [gateway LLM](/id/llm-gateway). Caching pada koneksi langsung ke API Anthropic tidak terpengaruh |169| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Atur ke `0` untuk menghilangkan blok atribusi (versi klien dan sidik jari prompt) dari awal prompt sistem. Menonaktifkannya meningkatkan tingkat hit cache prompt saat merutekan melalui [gateway LLM](/id/llm-gateway). Caching pada koneksi langsung ke API Anthropic tidak terpengaruh |

166| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Atur kapasitas konteks dalam token yang digunakan untuk perhitungan pemadatan otomatis. Default ke jendela konteks model: 200K untuk model standar atau 1M untuk model [konteks diperluas](/id/model-config#extended-context), kecuali pada Sonnet 5, yang memiliki [ambang batas default](/id/model-config#sonnet-5-context-window) sendiri. Gunakan nilai yang lebih rendah seperti `500000` pada model 1M untuk memperlakukan jendela sebagai 500K untuk tujuan pemadatan. Nilai dibatasi pada jendela konteks aktual model. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` diterapkan sebagai persentase dari nilai ini. Mengatur variabel ini memisahkan ambang batas pemadatan dari `used_percentage` baris status, yang selalu menggunakan jendela konteks penuh model |170| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Atur kapasitas konteks dalam token yang digunakan untuk perhitungan pemadatan otomatis. Default ke jendela konteks model: 200K untuk model standar atau 1M untuk model [konteks diperluas](/id/model-config#extended-context), kecuali pada Sonnet 5, yang memiliki [ambang batas default](/id/model-config#sonnet-5-context-window) sendiri. Gunakan nilai yang lebih rendah seperti `500000` pada model 1M untuk memperlakukan jendela sebagai 500K untuk tujuan pemadatan. Nilai dibatasi pada jendela konteks aktual model. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` diterapkan sebagai persentase dari nilai ini. Mengatur variabel ini memisahkan ambang batas pemadatan dari `used_percentage` baris status, yang selalu menggunakan jendela konteks penuh model |

167| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Ganti [koneksi IDE](/id/vs-code) otomatis. Secara default, Claude Code terhubung secara otomatis saat diluncurkan di dalam terminal terintegrasi IDE yang didukung. Atur ke `false` untuk mencegah ini. Atur ke `true` untuk memaksa upaya koneksi saat deteksi otomatis gagal, seperti saat tmux mengaburkan terminal induk. Mengambil alih pengaturan global [`autoConnectIde`](/id/settings#global-config-settings) |171| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Ganti [koneksi IDE](/id/vs-code) otomatis. Secara default, Claude Code terhubung secara otomatis saat diluncurkan di dalam terminal terintegrasi IDE yang didukung. Atur ke `false` untuk mencegah ini. Atur ke `true` untuk memaksa upaya koneksi saat deteksi otomatis gagal, seperti saat tmux mengaburkan terminal induk. Mengambil alih pengaturan global [`autoConnectIde`](/id/settings#global-config-settings) |

172| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | {/* min-version: 2.1.207 */}Waktu dalam milidetik Claude Code menunggu rantai penyedia kredensial default AWS menghasilkan kredensial sebelum permintaan gagal dengan [`AWS default-chain credential resolve timed out`](/id/errors#aws-default-chain-credential-resolve-timed-out) (default: `60000`). Naikkan saat langkah dalam rantai Anda secara sah memerlukan waktu lebih lama, seperti sign-in SSO berbasis browser dengan MFA melalui wrapper seperti `aws-vault`. Berlaku di mana pun Claude Code menandatangani dengan rantai default: [Amazon Bedrock](/id/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/id/claude-platform-on-aws), dan [titik akhir Mantle](/id/amazon-bedrock#use-the-mantle-endpoint). Memerlukan Claude Code v2.1.207 atau lebih baru |

168| `CLAUDE_CODE_BRIDGE_SESSION_ID` | {/* min-version: 2.1.199 */}Atur secara otomatis dalam subprocess alat Bash dan perintah [hook](/id/hooks) saat sesi memiliki koneksi [Remote Control](/id/remote-control) aktif, dan dihapus saat koneksi berakhir. Nilainya adalah ID sesi dalam bentuk `session_`, pengidentifikasi yang sama yang muncul di URL `claude.ai/code` sesi, sehingga skrip dapat menghubungkan kembali ke sesi yang menjalankannya. Memerlukan Claude Code v2.1.199 atau lebih baru. Dalam [sesi cloud](/id/claude-code-on-the-web), baca `CLAUDE_CODE_REMOTE_SESSION_ID` sebagai gantinya |173| `CLAUDE_CODE_BRIDGE_SESSION_ID` | {/* min-version: 2.1.199 */}Atur secara otomatis dalam subprocess alat Bash dan perintah [hook](/id/hooks) saat sesi memiliki koneksi [Remote Control](/id/remote-control) aktif, dan dihapus saat koneksi berakhir. Nilainya adalah ID sesi dalam bentuk `session_`, pengidentifikasi yang sama yang muncul di URL `claude.ai/code` sesi, sehingga skrip dapat menghubungkan kembali ke sesi yang menjalankannya. Memerlukan Claude Code v2.1.199 atau lebih baru. Dalam [sesi cloud](/id/claude-code-on-the-web), baca `CLAUDE_CODE_REMOTE_SESSION_ID` sebagai gantinya |

169| `CLAUDE_CODE_CERT_STORE` | Daftar sumber sertifikat CA yang dipisahkan koma untuk koneksi TLS. `bundled` adalah set Mozilla CA yang dikirim dengan Claude Code. `system` adalah penyimpanan kepercayaan sistem operasi, baca saja pada runtime dengan `tls.getCACertificates`: biner asli, atau Node 22.15 atau lebih baru untuk instalasi npm. Lihat [Penyimpanan sertifikat CA](/id/network-config#ca-certificate-store). Default adalah `bundled,system` |174| `CLAUDE_CODE_CERT_STORE` | Daftar sumber sertifikat CA yang dipisahkan koma untuk koneksi TLS. `bundled` adalah set Mozilla CA yang dikirim dengan Claude Code. `system` adalah penyimpanan kepercayaan sistem operasi, baca saja pada runtime dengan `tls.getCACertificates`: biner asli, atau Node 22.15 atau lebih baru untuk instalasi npm. Lihat [Penyimpanan sertifikat CA](/id/network-config#ca-certificate-store). Default adalah `bundled,system` |

170| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Atur ke `1` di subprocess yang Claude Code luncurkan melalui alat Bash, PowerShell, dan Monitor, perintah [hook](/id/hooks), dan perintah [baris status](/id/statusline). Tidak diatur untuk subprocess server [MCP](/id/mcp) stdio, yang bersifat long-lived dan melampaui sesi yang meluncurkannya. Tidak seperti `CLAUDECODE`, ini hanya diatur oleh Claude Code sendiri saat meluncurkan subprocess dan bukan oleh ekstensi IDE, sehingga dapat diandalkan membedakan sesi bersarang dari `claude` tingkat atas yang diluncurkan di terminal terintegrasi IDE. Sesi `claude` TUI interaktif bersarang yang dimulai dengan cara ini secara otomatis dikecualikan dari `--resume`, `--continue`, riwayat panah-atas, dan daftar `claude agents`. Sesi `claude -p` non-interaktif masih bertahan. Atur `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` untuk mengganti pengecualian ini. Memerlukan Claude Code v2.1.172 atau lebih baru |175| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Atur ke `1` di subprocess yang Claude Code luncurkan melalui alat Bash, PowerShell, dan Monitor, perintah [hook](/id/hooks), dan perintah [baris status](/id/statusline). Tidak diatur untuk subprocess server [MCP](/id/mcp) stdio, yang bersifat long-lived dan melampaui sesi yang meluncurkannya. Tidak seperti `CLAUDECODE`, ini hanya diatur oleh Claude Code sendiri saat meluncurkan subprocess dan bukan oleh ekstensi IDE, sehingga dapat diandalkan membedakan sesi bersarang dari `claude` tingkat atas yang diluncurkan di terminal terintegrasi IDE. Sesi `claude` TUI interaktif bersarang yang dimulai dengan cara ini secara otomatis dikecualikan dari `--resume`, `--continue`, riwayat panah-atas, dan daftar `claude agents`. Sesi `claude -p` non-interaktif masih bertahan. Atur `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` untuk mengganti pengecualian ini. Memerlukan Claude Code v2.1.172 atau lebih baru |


183| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Atur ke `1` untuk menonaktifkan pemrosesan lampiran. Penyebutan file dengan sintaks `@` dikirim sebagai teks biasa alih-alih diperluas menjadi konten file |188| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Atur ke `1` untuk menonaktifkan pemrosesan lampiran. Penyebutan file dengan sintaks `@` dikirim sebagai teks biasa alih-alih diperluas menjadi konten file |

184| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Atur ke `1` untuk menonaktifkan [memori otomatis](/id/memory#auto-memory). Atur ke `0` untuk memaksa memori otomatis selama mode `--bare` atau [`autoMemoryEnabled: false`](/id/settings#available-settings) akan menonaktifkannya. Saat dinonaktifkan, Claude tidak membuat atau memuat file memori otomatis |189| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Atur ke `1` untuk menonaktifkan [memori otomatis](/id/memory#auto-memory). Atur ke `0` untuk memaksa memori otomatis selama mode `--bare` atau [`autoMemoryEnabled: false`](/id/settings#available-settings) akan menonaktifkannya. Saat dinonaktifkan, Claude tidak membuat atau memuat file memori otomatis |

185| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Atur ke `1` untuk menonaktifkan semua fungsi tugas latar belakang, termasuk parameter `run_in_background` pada alat Bash dan subagent, auto-backgrounding, dan pintasan Ctrl+B |190| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Atur ke `1` untuk menonaktifkan semua fungsi tugas latar belakang, termasuk parameter `run_in_background` pada alat Bash dan subagent, auto-backgrounding, dan pintasan Ctrl+B |

191| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | {/* min-version: 2.1.208 */}Atur ke `1` untuk melewati pemeriksaan bahwa respons streaming [Amazon Bedrock](/id/amazon-bedrock) membawa tipe konten `application/vnd.amazon.eventstream`. Tanpa variabel ini, respons dengan tipe konten berbeda gagal dengan kesalahan yang menyebutkan tipe konten itu, yang berarti [gateway atau proxy mengubah respons](/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Atur hanya saat gateway menulis ulang header `Content-Type` tetapi melewatkan badan event-stream biner tanpa modifikasi; jika badan itu sendiri diubah, permintaan gagal dengan `Truncated event message received` sebagai gantinya. Memerlukan Claude Code v2.1.208 atau lebih baru |

186| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | {/* min-version: 2.1.196 */}Atur ke `1` untuk menghentikan perintah shell latar belakang yang berjalan, alur kerja dinamis, {/* min-version: 2.1.198 */}dan, sejak v2.1.198, subagent latar belakang [sesi latar belakang](/id/agent-view) saat [supervisor](/id/agent-view#the-supervisor-process) berhenti, dimulai ulang, atau memperbarui proses sesi itu, alih-alih menyerahkannya ke proses berikutnya sesi. Mempengaruhi hanya handoff itu: backgrounding sesi dengan `←` atau [`/background`](/id/agent-view#from-inside-a-session) masih membawa pekerjaan yang sedang berlangsung, dan `CLAUDE_DISABLE_ADOPT` mematikan keduanya. Memerlukan Claude Code v2.1.196 atau lebih baru |192| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | {/* min-version: 2.1.196 */}Atur ke `1` untuk menghentikan perintah shell latar belakang yang berjalan, alur kerja dinamis, {/* min-version: 2.1.198 */}dan, sejak v2.1.198, subagent latar belakang [sesi latar belakang](/id/agent-view) saat [supervisor](/id/agent-view#the-supervisor-process) berhenti, dimulai ulang, atau memperbarui proses sesi itu, alih-alih menyerahkannya ke proses berikutnya sesi. Mempengaruhi hanya handoff itu: backgrounding sesi dengan `←` atau [`/background`](/id/agent-view#from-inside-a-session) masih membawa pekerjaan yang sedang berlangsung, dan `CLAUDE_DISABLE_ADOPT` mematikan keduanya. Memerlukan Claude Code v2.1.196 atau lebih baru |

187| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | {/* min-version: 2.1.193 */}Atur ke `1` untuk menghentikan Claude Code dari menghentikan [perintah shell latar belakang](/id/interactive-mode#background-bash-commands) saat sistem operasi melaporkan tekanan memori. Secara default, pada macOS dan Linux, Claude Code menghentikan shell latar belakang yang dimulai dalam sesi utama pada sinyal tekanan memori setelah sesi telah idle selama 30 menit dan tidak ada giliran atau subagent yang berjalan. Windows tidak memiliki sinyal tekanan memori, jadi variabel ini tidak berpengaruh di sana. Memerlukan Claude Code v2.1.193 atau lebih baru |193| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | {/* min-version: 2.1.193 */}Atur ke `1` untuk menghentikan Claude Code dari menghentikan [perintah shell latar belakang](/id/interactive-mode#background-bash-commands) saat sistem operasi melaporkan tekanan memori. Secara default, pada macOS dan Linux, Claude Code menghentikan shell latar belakang yang dimulai dalam sesi utama pada sinyal tekanan memori setelah sesi telah idle selama 30 menit dan tidak ada giliran atau subagent yang berjalan. Windows tidak memiliki sinyal tekanan memori, jadi variabel ini tidak berpengaruh di sana. Memerlukan Claude Code v2.1.193 atau lebih baru |

188| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Atur ke `1` untuk menonaktifkan [skills](/id/skills) dan workflows yang dikirim dengan Claude Code: skills bundel dan workflows dihapus sepenuhnya, sementara perintah slash bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. `/doctor` tetap dapat diketik seperti perintah bawaan; sembunyikan dengan `DISABLE_DOCTOR_COMMAND` sebagai gantinya. Skills dari plugin, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan [`disableBundledSkills`](/id/settings#available-settings); `0` tidak mengganti itu |194| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Atur ke `1` untuk menonaktifkan [skills](/id/skills) dan workflows yang dikirim dengan Claude Code: skills bundel dan workflows dihapus sepenuhnya, sementara perintah slash bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. `/doctor` tetap dapat diketik seperti perintah bawaan; sembunyikan dengan `DISABLE_DOCTOR_COMMAND` sebagai gantinya. Skills dari plugin, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan [`disableBundledSkills`](/id/settings#available-settings); `0` tidak mengganti itu |

189| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Atur ke `1` untuk mencegah memuat file memori CLAUDE.md apa pun ke dalam konteks, termasuk file pengguna, proyek, dan memori otomatis |195| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Atur ke `1` untuk mencegah memuat file memori CLAUDE.md apa pun ke dalam konteks, termasuk file pengguna, proyek, dan memori otomatis |

190| `CLAUDE_CODE_DISABLE_CRON` | Atur ke `1` untuk menonaktifkan [tugas terjadwal](/id/scheduled-tasks). Skill `/loop` dan alat cron menjadi tidak tersedia dan tugas yang sudah dijadwalkan berhenti berfungsi, termasuk tugas yang sudah berjalan di tengah sesi |196| `CLAUDE_CODE_DISABLE_CRON` | Atur ke `1` untuk menonaktifkan [tugas terjadwal](/id/scheduled-tasks). Skill `/loop` dan alat cron menjadi tidak tersedia dan tugas yang sudah dijadwalkan berhenti berfungsi, termasuk tugas yang sudah berjalan di tengah sesi |

191| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Atur ke `1` untuk menghapus header permintaan `anthropic-beta` spesifik Anthropic dan bidang skema alat beta (seperti `defer_loading` dan `eager_input_streaming`) dari permintaan API. Gunakan ini saat proxy gateway menolak permintaan dengan kesalahan seperti "Unexpected value(s) for the `anthropic-beta` header" atau "Extra inputs are not permitted". Bidang standar (`name`, `description`, `input_schema`, `cache_control`) dipertahankan |197| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Atur ke `1` untuk menghapus header permintaan `anthropic-beta` spesifik Anthropic dan bidang skema alat beta (seperti `defer_loading` dan `eager_input_streaming`) dari permintaan API. Gunakan ini saat proxy gateway menolak permintaan dengan kesalahan seperti "Unexpected value(s) for the `anthropic-beta` header" atau "Extra inputs are not permitted". Bidang standar (`name`, `description`, `input_schema`, `cache_control`) dipertahankan. [Pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search) dinonaktifkan dan semua alat MCP dimuat di muka, bahkan saat `ENABLE_TOOL_SEARCH` diatur |

192| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | {/* min-version: 2.1.198 */}Atur ke `1` untuk menonaktifkan [subagent Explore dan Plan bawaan](/id/sub-agents#built-in-subagents). Claude menjelajahi dengan alat pencarian atau subagent tujuan umum sebagai gantinya, dan [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode) membaca file secara langsung daripada meluncurkan agent Explore dan Plan. Subagent kustom bernama `Explore` atau `Plan` tidak terpengaruh. Untuk menghapus setiap tipe subagent bawaan dalam Agent SDK atau mode non-interaktif, gunakan `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` sebagai gantinya. Memerlukan Claude Code v2.1.198 atau lebih baru |198| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | {/* min-version: 2.1.198 */}Atur ke `1` untuk menonaktifkan [subagent Explore dan Plan bawaan](/id/sub-agents#built-in-subagents). Claude menjelajahi dengan alat pencarian atau subagent tujuan umum sebagai gantinya, dan [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode) membaca file secara langsung daripada meluncurkan agent Explore dan Plan. Subagent kustom bernama `Explore` atau `Plan` tidak terpengaruh. Untuk menghapus setiap tipe subagent bawaan dalam Agent SDK atau mode non-interaktif, gunakan `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` sebagai gantinya. Memerlukan Claude Code v2.1.198 atau lebih baru |

193| `CLAUDE_CODE_DISABLE_FAST_MODE` | Atur ke `1` untuk menonaktifkan [mode cepat](/id/fast-mode) |199| `CLAUDE_CODE_DISABLE_FAST_MODE` | Atur ke `1` untuk menonaktifkan [mode cepat](/id/fast-mode) |

194| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Atur ke `1` untuk menonaktifkan survei kualitas sesi "How is Claude doing?". Survei juga dinonaktifkan saat `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur, kecuali `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` memilih kembali. Untuk mengatur tingkat sampel alih-alih menonaktifkan sepenuhnya, gunakan pengaturan [`feedbackSurveyRate`](/id/settings#available-settings). Lihat [Survei kualitas sesi](/id/data-usage#session-quality-surveys) |200| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Atur ke `1` untuk menonaktifkan survei kualitas sesi "How is Claude doing?". Survei juga dinonaktifkan saat `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur, kecuali `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` memilih kembali. Untuk mengatur tingkat sampel alih-alih menonaktifkan sepenuhnya, gunakan pengaturan [`feedbackSurveyRate`](/id/settings#available-settings). Lihat [Survei kualitas sesi](/id/data-usage#session-quality-surveys) |


208| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Atur ke `1` untuk menonaktifkan [workflows](/id/workflows#turn-workflows-off). Setara dengan pengaturan [`disableWorkflows`](/id/settings#available-settings) |214| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Atur ke `1` untuk menonaktifkan [workflows](/id/workflows#turn-workflows-off). Setara dengan pengaturan [`disableWorkflows`](/id/settings#available-settings) |

209| `CLAUDE_CODE_EFFORT_LEVEL` | Atur tingkat upaya untuk model yang didukung. Nilai: `low`, `medium`, `high`, `xhigh`, `max`, atau `auto` untuk menggunakan default model. Tingkat yang tersedia tergantung pada model. Mengambil alih `/effort` dan pengaturan `effortLevel`. Lihat [Sesuaikan tingkat upaya](/id/model-config#adjust-effort-level) |215| `CLAUDE_CODE_EFFORT_LEVEL` | Atur tingkat upaya untuk model yang didukung. Nilai: `low`, `medium`, `high`, `xhigh`, `max`, atau `auto` untuk menggunakan default model. Tingkat yang tersedia tergantung pada model. Mengambil alih `/effort` dan pengaturan `effortLevel`. Lihat [Sesuaikan tingkat upaya](/id/model-config#adjust-effort-level) |

210| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | {/* min-version: 2.1.205 */}Atur ke `1` untuk mengaktifkan penambahan teks ekstra ke akhir prompt sistem setiap [subagent](/id/sub-agents). Flag [`--append-subagent-system-prompt`](/id/cli-reference#cli-flags) menyediakan teks yang ditambahkan dan mengatur variabel ini secara otomatis, sehingga Anda tidak perlu mengaturnya sendiri. Memerlukan Claude Code v2.1.205 atau lebih baru |216| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | {/* min-version: 2.1.205 */}Atur ke `1` untuk mengaktifkan penambahan teks ekstra ke akhir prompt sistem setiap [subagent](/id/sub-agents). Flag [`--append-subagent-system-prompt`](/id/cli-reference#cli-flags) menyediakan teks yang ditambahkan dan mengatur variabel ini secara otomatis, sehingga Anda tidak perlu mengaturnya sendiri. Memerlukan Claude Code v2.1.205 atau lebih baru |

211| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Atur ke `1` untuk membuat [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) tersedia pada Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang masuk. Memerlukan Claude Code v2.1.158 atau lebih baru. Tidak berpengaruh pada API Anthropic, di mana auto mode tersedia secara default. Lihat [Aktifkan auto mode pada Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry) |217| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {{/* min-version: 2.1.207 */}}Diterima untuk kompatibilitas dengan rilis yang lebih lama dan tidak berpengaruh. Auto mode tersedia secara default pada setiap penyedia, termasuk Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/id/claude-apps-gateway) yang masuk |

212| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Ganti ketersediaan [session recap](/id/interactive-mode#session-recap). Atur ke `0` untuk memaksa recap mati terlepas dari toggle `/config`. Atur ke `1` untuk memaksa recap aktif saat [`awaySummaryEnabled`](/id/settings#available-settings) adalah `false`. Mengambil alih pengaturan dan toggle `/config` |218| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Ganti ketersediaan [session recap](/id/interactive-mode#session-recap). Atur ke `0` untuk memaksa recap mati terlepas dari toggle `/config`. Atur ke `1` untuk memaksa recap aktif saat [`awaySummaryEnabled`](/id/settings#available-settings) adalah `false`. Mengambil alih pengaturan dan toggle `/config` |

213| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Atur ke `1` untuk menyegarkan status plugin pada batas giliran dalam [mode non-interaktif](/id/headless) setelah instalasi latar belakang selesai. Dimatikan secara default karena penyegaran mengubah prompt sistem di tengah sesi, yang membatalkan [prompt caching](/id/prompt-caching) untuk giliran itu |219| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Atur ke `1` untuk menyegarkan status plugin pada batas giliran dalam [mode non-interaktif](/id/headless) setelah instalasi latar belakang selesai. Dimatikan secara default karena penyegaran mengubah prompt sistem di tengah sesi, yang membatalkan [prompt caching](/id/prompt-caching) untuk giliran itu |

214| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Atur ke `1` untuk merutekan survei kualitas sesi "How is Claude doing?" ke [kolektor OpenTelemetry](/id/monitoring-usage) Anda sendiri saat lalu lintas nonessential terikat Anthropic diblokir. Rating survei dipancarkan hanya sebagai peristiwa OTEL ke kolektor yang dikonfigurasi. Tidak ada data survei yang dikirim ke Anthropic dalam mode ini. Berlaku saat `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY`, atau `DO_NOT_TRACK` diatur, dan tidak berpengaruh sebaliknya. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` dan kebijakan umpan balik produk organisasi mengambil prioritas |220| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Atur ke `1` untuk merutekan survei kualitas sesi "How is Claude doing?" ke [kolektor OpenTelemetry](/id/monitoring-usage) Anda sendiri saat lalu lintas nonessential terikat Anthropic diblokir. Rating survei dipancarkan hanya sebagai peristiwa OTEL ke kolektor yang dikonfigurasi. Tidak ada data survei yang dikirim ke Anthropic dalam mode ini. Berlaku saat `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY`, atau `DO_NOT_TRACK` diatur, dan tidak berpengaruh sebaliknya. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` dan kebijakan umpan balik produk organisasi mengambil prioritas |


220| `CLAUDE_CODE_ENABLE_TELEMETRY` | Atur ke `1` untuk mengaktifkan pengumpulan data OpenTelemetry untuk metrik dan logging. Diperlukan sebelum mengonfigurasi pengekspor OTel. Lihat [Monitoring](/id/monitoring-usage) |226| `CLAUDE_CODE_ENABLE_TELEMETRY` | Atur ke `1` untuk mengaktifkan pengumpulan data OpenTelemetry untuk metrik dan logging. Diperlukan sebelum mengonfigurasi pengekspor OTel. Lihat [Monitoring](/id/monitoring-usage) |

221| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Waktu dalam milidetik untuk menunggu setelah loop kueri menjadi idle sebelum keluar secara otomatis. Berguna untuk alur kerja otomatis dan skrip menggunakan mode SDK |227| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Waktu dalam milidetik untuk menunggu setelah loop kueri menjadi idle sebelum keluar secara otomatis. Berguna untuk alur kerja otomatis dan skrip menggunakan mode SDK |

222| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Atur ke `1` untuk mengaktifkan [tim agent](/id/agent-teams). Tim agent bersifat eksperimental dan dinonaktifkan secara default |228| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Atur ke `1` untuk mengaktifkan [tim agent](/id/agent-teams). Tim agent bersifat eksperimental dan dinonaktifkan secara default |

223| `CLAUDE_CODE_EXTRA_BODY` | Objek JSON untuk digabungkan ke tingkat atas dari setiap badan permintaan API. Berguna untuk meneruskan parameter spesifik penyedia yang Claude Code tidak mengekspos secara langsung |229| `CLAUDE_CODE_EXTRA_BODY` | Objek JSON untuk digabungkan ke tingkat atas dari setiap badan permintaan API. Berguna untuk meneruskan parameter spesifik penyedia yang Claude Code tidak mengekspos secara langsung. {{/* min-version: 2.1.206 */}}Nilai yang diekspor dalam shell Anda juga berlaku pada [sesi latar belakang](/id/agent-view) yang Anda kirim dengan `claude agents` atau `--bg`. Sebelum v2.1.206, sesi latar belakang mengabaikan nilai yang diekspor shell dan menggunakan salinan apa pun yang diwarisi proses supervisor latar belakang |

224| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Ganti batas token default untuk pembacaan file. Berguna saat Anda perlu membaca file yang lebih besar secara lengkap |230| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Ganti batas token default untuk pembacaan file. Berguna saat Anda perlu membaca file yang lebih besar secara lengkap |

225| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}Atur ke `1` untuk memaksa persistensi transkrip, riwayat prompt, dan pendaftaran `claude agents` bahkan saat `claude` ini diluncurkan dari dalam sesi Claude Code lain. Gunakan saat nilai `CLAUDE_CODE_CHILD_SESSION` yang diwarisi, misalnya dari sesi tmux atau peluncur latar belakang yang pertama kali dimulai oleh alat Bash Claude Code, menyebabkan sesi tingkat atas asli salah diklasifikasikan sebagai bersarang. {/* min-version: 2.1.178 */}Sejak v2.1.178, Claude Code mendeteksi kasus tmux secara otomatis dan mengabaikan penanda yang diwarisi, sehingga tmux tidak lagi memerlukan variabel ini. Juga dihormati pada v2.1.169 dan lebih awal; tidak berpengaruh pada v2.1.170 dan v2.1.171, di mana deteksi sesi bersarang yang ditimpa dihapus |231| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}Atur ke `1` untuk memaksa persistensi transkrip, riwayat prompt, dan pendaftaran `claude agents` bahkan saat `claude` ini diluncurkan dari dalam sesi Claude Code lain. Gunakan saat nilai `CLAUDE_CODE_CHILD_SESSION` yang diwarisi, misalnya dari sesi tmux atau peluncur latar belakang yang pertama kali dimulai oleh alat Bash Claude Code, menyebabkan sesi tingkat atas asli salah diklasifikasikan sebagai bersarang. {/* min-version: 2.1.178 */}Sejak v2.1.178, Claude Code mendeteksi kasus tmux secara otomatis dan mengabaikan penanda yang diwarisi, sehingga tmux tidak lagi memerlukan variabel ini. Juga dihormati pada v2.1.169 dan lebih awal; tidak berpengaruh pada v2.1.170 dan v2.1.171, di mana deteksi sesi bersarang yang ditimpa dihapus |

226| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}Atur ke `1` untuk memaksa rendering strikethrough untuk `~~text~~` dalam respons Claude saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, seperti melalui SSH tanpa `TERM_PROGRAM` yang diteruskan. Tanpa ini, terminal yang tidak terdeteksi menampilkan penanda `~~` literal alih-alih merender teks sebagai strikethrough. Memerlukan Claude Code v2.1.186 atau lebih baru |232| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}Atur ke `1` untuk memaksa rendering strikethrough untuk `~~text~~` dalam respons Claude saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, seperti melalui SSH tanpa `TERM_PROGRAM` yang diteruskan. Tanpa ini, terminal yang tidak terdeteksi menampilkan penanda `~~` literal alih-alih merender teks sebagai strikethrough. Memerlukan Claude Code v2.1.186 atau lebih baru |

227| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Atur ke `1` untuk memaksa pengaktifan mode privat DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis. Berguna untuk emulator seperti `eat` Emacs yang mengimplementasikan BSU/ESU tetapi tidak merespons probe kemampuan. Tidak berpengaruh di bawah tmux |233| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Atur ke `1` untuk memaksa pengaktifan mode privat DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis. Berguna untuk emulator seperti `eat` Emacs yang mengimplementasikan BSU/ESU tetapi tidak merespons probe kemampuan. Tidak berpengaruh di bawah tmux. Tidak seperti `CLAUDE_CODE_NO_FLICKER`, yang beralih ke [rendering layar penuh](/id/fullscreen), ini tidak mengubah renderer |

228| `CLAUDE_CODE_FORK_SUBAGENT` | Atur ke `1` untuk membuat [subagent yang di-fork](/id/sub-agents#fork-the-current-conversation) dapat diluncurkan, atau `0` untuk menonaktifkannya, mengganti rollout sisi server apa pun. Saat diaktifkan, Claude dapat meminta tipe subagent `fork` untuk meluncurkan fork, subagent yang mewarisi konteks percakapan lengkap alih-alih memulai dari awal. Peluncuran tanpa tipe subagent masih menggunakan subagent tujuan umum, dan semua peluncuran subagent berjalan di latar belakang. Perintah [`/fork`](/id/commands) eksplisit bekerja tanpa variabel ini. Bekerja dalam mode interaktif dan melalui SDK atau `claude -p` |234| `CLAUDE_CODE_FORK_SUBAGENT` | Atur ke `1` untuk membuat [subagent yang di-fork](/id/sub-agents#fork-the-current-conversation) dapat diluncurkan, atau `0` untuk menonaktifkannya, mengganti rollout sisi server apa pun. Saat diaktifkan, Claude dapat meminta tipe subagent `fork` untuk meluncurkan fork, subagent yang mewarisi konteks percakapan lengkap alih-alih memulai dari awal. Peluncuran tanpa tipe subagent masih menggunakan subagent tujuan umum, dan semua peluncuran subagent berjalan di latar belakang. Perintah [`/fork`](/id/commands) eksplisit bekerja tanpa variabel ini. Bekerja dalam mode interaktif dan melalui SDK atau `claude -p` |

229| `CLAUDE_CODE_GIT_BASH_PATH` | Hanya Windows: jalur ke executable Git Bash (`bash.exe`). Gunakan saat Git Bash diinstal tetapi tidak ada di PATH Anda. Lihat [Pengaturan Windows](/id/setup#set-up-on-windows) |235| `CLAUDE_CODE_GIT_BASH_PATH` | Hanya Windows: jalur ke executable Git Bash (`bash.exe`). Gunakan saat Git Bash diinstal tetapi tidak ada di PATH Anda. Lihat [Pengaturan Windows](/id/setup#set-up-on-windows) |

230| `CLAUDE_CODE_GLOB_HIDDEN` | Atur ke `false` untuk mengecualikan dotfile dari hasil saat Claude memanggil [alat Glob](/id/tools-reference#glob-tool-behavior). Disertakan secara default. Tidak mempengaruhi autocomplete file `@`, `ls`, Grep, atau Read |236| `CLAUDE_CODE_GLOB_HIDDEN` | Atur ke `false` untuk mengecualikan dotfile dari hasil saat Claude memanggil [alat Glob](/id/tools-reference#glob-tool-behavior). Disertakan secara default. Tidak mempengaruhi autocomplete file `@`, `ls`, Grep, atau Read |


261| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Jalur ke satu atau lebih direktori seed plugin baca-saja, dipisahkan oleh `:` pada Unix atau `;` pada Windows. Gunakan ini untuk menggabungkan direktori plugin yang sudah diisi sebelumnya ke dalam gambar kontainer. Claude Code mendaftarkan marketplace dari direktori ini saat startup dan menggunakan plugin yang sudah di-cache tanpa re-cloning. Lihat [Pre-populate plugins for containers](/id/plugin-marketplaces#pre-populate-plugins-for-containers) |267| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Jalur ke satu atau lebih direktori seed plugin baca-saja, dipisahkan oleh `:` pada Unix atau `;` pada Windows. Gunakan ini untuk menggabungkan direktori plugin yang sudah diisi sebelumnya ke dalam gambar kontainer. Claude Code mendaftarkan marketplace dari direktori ini saat startup dan menggunakan plugin yang sudah di-cache tanpa re-cloning. Lihat [Pre-populate plugins for containers](/id/plugin-marketplaces#pre-populate-plugins-for-containers) |

262| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Atur ke `1` untuk menghentikan Claude Code dari melewati `-ExecutionPolicy Bypass` saat meluncurkan PowerShell untuk panggilan alat, hook, dan perintah baris status, dan menghormati kebijakan eksekusi efektif mesin sebagai gantinya. Secara default Claude Code melewati kebijakan eksekusi pada cakupan proses sehingga skrip `.ps1` dan impor modul bekerja pada instalasi Windows default-Restricted. Bypass cakupan proses tidak pernah mengganti Kebijakan Grup `MachinePolicy` atau `UserPolicy` terlepas dari pengaturan ini |268| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Atur ke `1` untuk menghentikan Claude Code dari melewati `-ExecutionPolicy Bypass` saat meluncurkan PowerShell untuk panggilan alat, hook, dan perintah baris status, dan menghormati kebijakan eksekusi efektif mesin sebagai gantinya. Secara default Claude Code melewati kebijakan eksekusi pada cakupan proses sehingga skrip `.ps1` dan impor modul bekerja pada instalasi Windows default-Restricted. Bypass cakupan proses tidak pernah mengganti Kebijakan Grup `MachinePolicy` atau `UserPolicy` terlepas dari pengaturan ini |

263| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | {{/* min-version: 2.1.182 */}}Waktu maksimal dalam milidetik yang [mode non-interaktif](/id/headless#background-tasks-at-exit) dengan flag `-p` tunggu setelah giliran terakhir untuk subagent latar belakang dan workflows yang hasilnya adalah bagian dari keluaran. Default: `600000`, atau 10 menit. Saat batas terlampaui, tugas latar belakang yang tersisa dihentikan dan proses keluar. Atur ke `0` untuk menunggu tanpa batas. Batas ini terpisah dari periode grace lima detik yang berlaku untuk shell latar belakang biasa |269| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | {{/* min-version: 2.1.182 */}}Waktu maksimal dalam milidetik yang [mode non-interaktif](/id/headless#background-tasks-at-exit) dengan flag `-p` tunggu setelah giliran terakhir untuk subagent latar belakang dan workflows yang hasilnya adalah bagian dari keluaran. Default: `600000`, atau 10 menit. Saat batas terlampaui, tugas latar belakang yang tersisa dihentikan dan proses keluar. Atur ke `0` untuk menunggu tanpa batas. Batas ini terpisah dari periode grace lima detik yang berlaku untuk shell latar belakang biasa |

270| `CLAUDE_CODE_PROCESS_WRAPPER` | {{/* min-version: 2.1.208 */}}Luncurkan proses yang Claude Code mulai dari binernya sendiri melalui executable wrapper, diberikan sebagai awalan argv seperti `/opt/corp/launcher`. Mencakup layanan latar belakang yang menghosting sesi [agent view](/id/agent-view), setiap sesi yang diluncurkannya, dan relaunch Claude Code melakukan dirinya sendiri untuk menyelesaikan instalasi pembaruan. Token pertama harus berupa jalur absolut dari executable yang diakhiri dengan menjalankan `exec "$@"`, dan sebagian besar launcher adalah jalur tunggal itu. Nilainya adalah daftar argumen, bukan perintah shell: whitespace memisahkan token, tanda kutip ganda mengelompokkan jalur yang berisi spasi, dan nilai yang dimulai dengan `[` dibaca sebagai array string JSON. Atur dalam blok `env` pengaturan pengguna atau [terkelola](/id/permissions#managed-settings), bukan sebagai ekspor shell, sehingga layanan latar belakang yang terpisah mewarisnya; pengaturan proyek dan lokal tidak dapat mengaturnya. Ekstensi VS Code mengonfigurasi launcher miliknya sendiri secara terpisah melalui pengaturan `claudeProcessWrapper` miliknya. Diabaikan di Windows. `CLAUDE_CODE_SHELL_PREFIX` adalah kontrol terpisah: ini membungkus perintah shell Claude Code jalankan sebagai string quoted tunggal, sementara variabel ini membungkus proses Claude Code sendiri sebagai awalan argv. Lihat [Run Claude Code behind a corporate launcher](/id/corporate-launcher) |

264| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | {/* min-version: 2.1.152 */}Atur ke `1` untuk menyebarkan konteks jejak W3C saat `ANTHROPIC_BASE_URL` menunjuk pada proxy kustom. Penyebaran mencakup header `traceparent` pada permintaan model dan MCP HTTP serta variabel lingkungan `TRACEPARENT` untuk subprocess Bash, PowerShell, dan hook. Secara default, penyebaran diaktifkan hanya saat terhubung langsung ke API Anthropic. Ditambahkan di v2.1.152. Lihat [Traces (beta)](/id/monitoring-usage#traces-beta) |271| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | {/* min-version: 2.1.152 */}Atur ke `1` untuk menyebarkan konteks jejak W3C saat `ANTHROPIC_BASE_URL` menunjuk pada proxy kustom. Penyebaran mencakup header `traceparent` pada permintaan model dan MCP HTTP serta variabel lingkungan `TRACEPARENT` untuk subprocess Bash, PowerShell, dan hook. Secara default, penyebaran diaktifkan hanya saat terhubung langsung ke API Anthropic. Ditambahkan di v2.1.152. Lihat [Traces (beta)](/id/monitoring-usage#traces-beta) |

265| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Atur oleh platform host yang menyematkan Claude Code dan mengelola perutean penyedia model atas namanya. Saat diatur, pemilihan penyedia, titik akhir, dan variabel autentikasi seperti `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, dan `ANTHROPIC_API_KEY` dalam file pengaturan diabaikan sehingga pengaturan pengguna tidak dapat mengganti perutean host. Opt-out telemetri otomatis untuk Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry juga dilewati, sehingga telemetri mengikuti opt-out standar `DISABLE_TELEMETRY`. Lihat [Perilaku default menurut penyedia API](/id/data-usage#default-behaviors-by-api-provider) |272| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Atur oleh platform host yang menyematkan Claude Code dan mengelola perutean penyedia model atas namanya. Saat diatur, pemilihan penyedia, titik akhir, dan variabel autentikasi seperti `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, dan `ANTHROPIC_API_KEY` dalam file pengaturan diabaikan sehingga pengaturan pengguna tidak dapat mengganti perutean host. Opt-out telemetri otomatis untuk Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry juga dilewati, sehingga telemetri mengikuti opt-out standar `DISABLE_TELEMETRY`. Lihat [Perilaku default menurut penyedia API](/id/data-usage#default-behaviors-by-api-provider) |

266| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Atur ke `1` untuk memungkinkan proxy melakukan resolusi DNS alih-alih pemanggil. Opt-in untuk lingkungan di mana proxy harus menangani resolusi nama host |273| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Atur ke `1` untuk memungkinkan proxy melakukan resolusi DNS alih-alih pemanggil. Opt-in untuk lingkungan di mana proxy harus menangani resolusi nama host |


279| `CLAUDE_CODE_SIMPLE` | Atur ke `1` untuk menjalankan dengan prompt sistem minimal dan hanya alat Bash, pembacaan file, dan pengeditan file. Alat MCP dari `--mcp-config` masih tersedia. Menonaktifkan penemuan otomatis hook, skill, plugin, server MCP, memori otomatis, dan CLAUDE.md. OAuth tokens dan kredensial keychain tidak dibaca, jadi autentikasi Anthropic harus berasal dari `ANTHROPIC_API_KEY` atau `apiKeyHelper` di `--settings`. Setara dengan meneruskan [`--bare`](/id/headless#start-faster-with-bare-mode) |286| `CLAUDE_CODE_SIMPLE` | Atur ke `1` untuk menjalankan dengan prompt sistem minimal dan hanya alat Bash, pembacaan file, dan pengeditan file. Alat MCP dari `--mcp-config` masih tersedia. Menonaktifkan penemuan otomatis hook, skill, plugin, server MCP, memori otomatis, dan CLAUDE.md. OAuth tokens dan kredensial keychain tidak dibaca, jadi autentikasi Anthropic harus berasal dari `ANTHROPIC_API_KEY` atau `apiKeyHelper` di `--settings`. Setara dengan meneruskan [`--bare`](/id/headless#start-faster-with-bare-mode) |

280| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Atur ke `1` untuk menggunakan prompt sistem yang lebih pendek dan deskripsi alat yang disingkat pada model apa pun. Atur ke `0`, `false`, `no`, atau `off` untuk menolak bahkan pada model di mana eksperimen atau konfigurasi server akan mengaktifkannya sebaliknya. Set alat lengkap, hook, server MCP, dan penemuan CLAUDE.md tetap diaktifkan |287| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Atur ke `1` untuk menggunakan prompt sistem yang lebih pendek dan deskripsi alat yang disingkat pada model apa pun. Atur ke `0`, `false`, `no`, atau `off` untuk menolak bahkan pada model di mana eksperimen atau konfigurasi server akan mengaktifkannya sebaliknya. Set alat lengkap, hook, server MCP, dan penemuan CLAUDE.md tetap diaktifkan |

281| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Lewati autentikasi sisi klien untuk [Claude Platform on AWS](/id/claude-platform-on-aws), untuk gateway yang menandatangani permintaan sendiri |288| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Lewati autentikasi sisi klien untuk [Claude Platform on AWS](/id/claude-platform-on-aws), untuk gateway yang menandatangani permintaan sendiri |

289| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | {{/* min-version: 2.1.207 */}}Atur ke `1` untuk mematikan cache in-process kredensial yang diselesaikan dari rantai penyedia kredensial default AWS, sehingga Claude Code menyelesaikan rantai pada setiap permintaan API. Dengan cache mati, profil yang didukung SSO meminta kredensial dari IAM Identity Center pada setiap permintaan. Lihat [credential caching and resolution timeout](/id/amazon-bedrock#credential-caching-and-resolution-timeout). Memerlukan Claude Code v2.1.207 atau lebih baru |

282| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Lewati autentikasi AWS untuk Amazon Bedrock (misalnya, saat menggunakan gateway LLM) |290| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Lewati autentikasi AWS untuk Amazon Bedrock (misalnya, saat menggunakan gateway LLM) |

283| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Lewati autentikasi Azure untuk Microsoft Foundry, untuk proxy atau gateway yang menyuntikkan header `Authorization` miliknya sendiri. Claude Code mengirim permintaan tanpa kredensial Azure dan mempertahankan header `Authorization` yang Anda sediakan, misalnya melalui `ANTHROPIC_CUSTOM_HEADERS`. Diabaikan saat `ANTHROPIC_FOUNDRY_API_KEY` atau `ANTHROPIC_FOUNDRY_AUTH_TOKEN` diatur. {/* min-version: 2.1.203 */}Sebelum v2.1.203, variabel ini meninggalkan klien Microsoft Foundry tidak dapat mengirim permintaan kecuali kunci API juga diatur |291| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Lewati autentikasi Azure untuk Microsoft Foundry, untuk proxy atau gateway yang menyuntikkan header `Authorization` miliknya sendiri. Claude Code mengirim permintaan tanpa kredensial Azure dan mempertahankan header `Authorization` yang Anda sediakan, misalnya melalui `ANTHROPIC_CUSTOM_HEADERS`. Diabaikan saat `ANTHROPIC_FOUNDRY_API_KEY` atau `ANTHROPIC_FOUNDRY_AUTH_TOKEN` diatur. {/* min-version: 2.1.203 */}Sebelum v2.1.203, variabel ini meninggalkan klien Microsoft Foundry tidak dapat mengirim permintaan kecuali kunci API juga diatur |

284| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Lewati autentikasi AWS untuk Amazon Bedrock Mantle (misalnya, saat menggunakan gateway LLM) |292| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Lewati autentikasi AWS untuk Amazon Bedrock Mantle (misalnya, saat menggunakan gateway LLM) |


295| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Atur ke `false` untuk menonaktifkan penyorotan sintaks dalam keluaran diff. Berguna saat warna mengganggu pengaturan terminal Anda. Untuk juga menonaktifkan penyorotan dalam blok kode dan pratinjau file, gunakan pengaturan [`syntaxHighlightingDisabled`](/id/settings) |303| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Atur ke `false` untuk menonaktifkan penyorotan sintaks dalam keluaran diff. Berguna saat warna mengganggu pengaturan terminal Anda. Untuk juga menonaktifkan penyorotan dalam blok kode dan pratinjau file, gunakan pengaturan [`syntaxHighlightingDisabled`](/id/settings) |

296| `CLAUDE_CODE_TASK_LIST_ID` | Bagikan daftar tugas di seluruh sesi. Atur ID yang sama di beberapa instans Claude Code untuk berkoordinasi pada daftar tugas bersama. Lihat [Daftar tugas](/id/interactive-mode#task-list) |304| `CLAUDE_CODE_TASK_LIST_ID` | Bagikan daftar tugas di seluruh sesi. Atur ID yang sama di beberapa instans Claude Code untuk berkoordinasi pada daftar tugas bersama. Lihat [Daftar tugas](/id/interactive-mode#task-list) |

297| `CLAUDE_CODE_TEAM_NAME` | Nama tim agent yang menjadi anggota rekan kerja ini. Atur secara otomatis pada anggota [tim agent](/id/agent-teams) |305| `CLAUDE_CODE_TEAM_NAME` | Nama tim agent yang menjadi anggota rekan kerja ini. Atur secara otomatis pada anggota [tim agent](/id/agent-teams) |

306| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | {{/* min-version: 2.1.206 */}}Ganti, dalam milidetik, berapa lama sesi non-interaktif menunggu di exit untuk [tim agent](/id/agent-teams) miliknya selesai merobohkan. Menerima 1000 hingga 60000; nilai di luar jangkauan diabaikan dan default 10000 berlaku. Memerlukan Claude Code v2.1.206 atau lebih baru |

298| `CLAUDE_CODE_TMPDIR` | Ganti direktori temp yang digunakan untuk file temp internal. Claude Code menambahkan `/claude-{uid}/` pada Unix atau `/claude/` pada Windows ke jalur ini. Default: `/tmp` pada macOS, `os.tmpdir()` pada Linux dan Windows. {/* min-version: 2.1.161 */}Sejak v2.1.161, pada macOS dan Linux, subprocess Bash [sandboxed](/id/sandboxing) menerima fallback `$TMPDIR` singkat di bawah default sistem saat override Anda adalah jalur panjang, karena beberapa alat gagal saat jalur temp menjadi terlalu panjang. Perintah Bash yang tidak sandboxed mewarisi `$TMPDIR` shell Anda tidak berubah. File temp Claude Code sendiri selalu menggunakan override Anda |307| `CLAUDE_CODE_TMPDIR` | Ganti direktori temp yang digunakan untuk file temp internal. Claude Code menambahkan `/claude-{uid}/` pada Unix atau `/claude/` pada Windows ke jalur ini. Default: `/tmp` pada macOS, `os.tmpdir()` pada Linux dan Windows. {/* min-version: 2.1.161 */}Sejak v2.1.161, pada macOS dan Linux, subprocess Bash [sandboxed](/id/sandboxing) menerima fallback `$TMPDIR` singkat di bawah default sistem saat override Anda adalah jalur panjang, karena beberapa alat gagal saat jalur temp menjadi terlalu panjang. Perintah Bash yang tidak sandboxed mewarisi `$TMPDIR` shell Anda tidak berubah. File temp Claude Code sendiri selalu menggunakan override Anda |

299| `CLAUDE_CODE_TMUX_TRUECOLOR` | Atur ke `1` untuk memungkinkan keluaran truecolor 24-bit di dalam tmux. Secara default, Claude Code membatasi ke 256 warna saat `$TMUX` diatur karena tmux tidak melewatkan urutan escape truecolor kecuali dikonfigurasi untuk melakukannya. Atur ini setelah menambahkan `set -ga terminal-overrides ',*:Tc'` ke `~/.tmux.conf` Anda. Lihat [Konfigurasi Terminal](/id/terminal-config) untuk pengaturan tmux lainnya |308| `CLAUDE_CODE_TMUX_TRUECOLOR` | Atur ke `1` untuk memungkinkan keluaran truecolor 24-bit di dalam tmux. Secara default, Claude Code membatasi ke 256 warna saat `$TMUX` diatur karena tmux tidak melewatkan urutan escape truecolor kecuali dikonfigurasi untuk melakukannya. Atur ini setelah menambahkan `set -ga terminal-overrides ',*:Tc'` ke `~/.tmux.conf` Anda. Lihat [Konfigurasi Terminal](/id/terminal-config) untuk pengaturan tmux lainnya |

300| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Gunakan [Claude Platform on AWS](/id/claude-platform-on-aws) |309| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Gunakan [Claude Platform on AWS](/id/claude-platform-on-aws) |


319| `DISABLE_COMPACT` | Atur ke `1` untuk menonaktifkan semua pemadatan: baik pemadatan otomatis maupun perintah manual `/compact` |328| `DISABLE_COMPACT` | Atur ke `1` untuk menonaktifkan semua pemadatan: baik pemadatan otomatis maupun perintah manual `/compact` |

320| `DISABLE_COST_WARNINGS` | Atur ke `1` untuk menonaktifkan pesan peringatan biaya |329| `DISABLE_COST_WARNINGS` | Atur ke `1` untuk menonaktifkan pesan peringatan biaya |

321| `DISABLE_DOCTOR_COMMAND` | Atur ke `1` untuk menyembunyikan perintah [`/doctor`](/id/commands#all-commands) skill checkup setup dan alias `/checkup` miliknya. Berguna untuk penerapan terkelola di mana pengguna tidak boleh menjalankan diagnostik setup dari sesi. Tidak mempengaruhi perintah terminal `claude doctor`. {/* min-version: 2.1.205 */}Sebelum v2.1.205, variabel ini menyembunyikan perintah layar diagnostik `/doctor` |330| `DISABLE_DOCTOR_COMMAND` | Atur ke `1` untuk menyembunyikan perintah [`/doctor`](/id/commands#all-commands) skill checkup setup dan alias `/checkup` miliknya. Berguna untuk penerapan terkelola di mana pengguna tidak boleh menjalankan diagnostik setup dari sesi. Tidak mempengaruhi perintah terminal `claude doctor`. {/* min-version: 2.1.205 */}Sebelum v2.1.205, variabel ini menyembunyikan perintah layar diagnostik `/doctor` |

322| `DISABLE_ERROR_REPORTING` | Atur ke `1` untuk menolak pelaporan kesalahan Sentry |331| `DISABLE_ERROR_REPORTING` | Atur ke `1` untuk menolak pelaporan kesalahan |

323| `DISABLE_EXTRA_USAGE_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/usage-credits` yang memungkinkan pengguna membeli penggunaan tambahan di luar batas laju |332| `DISABLE_EXTRA_USAGE_COMMAND` | Atur ke `1` untuk menyembunyikan perintah `/usage-credits` yang memungkinkan pengguna membeli penggunaan tambahan di luar batas laju |

324| `DISABLE_FEEDBACK_COMMAND` | Atur ke `1` untuk menonaktifkan perintah `/feedback`. Nama yang lebih lama `DISABLE_BUG_COMMAND` juga diterima |333| `DISABLE_FEEDBACK_COMMAND` | Atur ke `1` untuk menonaktifkan perintah `/feedback`. Nama yang lebih lama `DISABLE_BUG_COMMAND` juga diterima |

325| `DISABLE_GROWTHBOOK` | Atur ke `1` untuk menonaktifkan pengambilan flag fitur GrowthBook dan menggunakan default kode untuk setiap flag. Logging peristiwa telemetri tetap aktif kecuali `DISABLE_TELEMETRY` juga diatur |334| `DISABLE_GROWTHBOOK` | Atur ke `1` untuk menonaktifkan pengambilan flag fitur GrowthBook dan menggunakan default kode untuk setiap flag. Logging peristiwa telemetri tetap aktif kecuali `DISABLE_TELEMETRY` juga diatur |


340| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menonaktifkan [server MCP claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) di Claude Code. Diaktifkan secara default untuk pengguna yang masuk. Untuk menonaktifkan per-proyek atau per-organisasi, atur [`disableClaudeAiConnectors`](/id/settings#available-settings) dalam pengaturan sebagai gantinya |349| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menonaktifkan [server MCP claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) di Claude Code. Diaktifkan secara default untuk pengguna yang masuk. Untuk menonaktifkan per-proyek atau per-organisasi, atur [`disableClaudeAiConnectors`](/id/settings#available-settings) dalam pengaturan sebagai gantinya |

341| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta TTL cache prompt 1 jam alih-alih default 5 menit. Dimaksudkan untuk pengguna kunci API, [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), dan [Claude Platform on AWS](/id/claude-platform-on-aws). Pengguna langganan menerima TTL 1 jam secara otomatis. Penulisan cache 1 jam ditagih dengan tarif yang lebih tinggi |350| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta TTL cache prompt 1 jam alih-alih default 5 menit. Dimaksudkan untuk pengguna kunci API, [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), dan [Claude Platform on AWS](/id/claude-platform-on-aws). Pengguna langganan menerima TTL 1 jam secara otomatis. Penulisan cache 1 jam ditagih dengan tarif yang lebih tinggi |

342| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |351| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |

343| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search). Tidak diatur: semua alat MCP ditangguhkan secara default, tetapi dimuat di muka pada Google Cloud's Agent Platform atau saat `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama. Nilai: `true` (selalu tangguhkan dan kirim header beta, permintaan gagal pada model Google Cloud's Agent Platform lebih awal dari Sonnet 4.5 atau Opus 4.5, atau pada proxy yang tidak mendukung `tool_reference`), `auto` (mode ambang batas: muat di muka jika alat sesuai dalam 10% konteks), `auto:N` (ambang batas kustom, misalnya `auto:5` untuk 5%), `false` (muat semua di muka) |352| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search). Tidak diatur: semua alat MCP ditangguhkan secara default, tetapi dimuat di muka pada Google Cloud's Agent Platform atau saat `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama. Nilai: `true` (selalu tangguhkan dan kirim header beta, permintaan gagal pada model Google Cloud's Agent Platform lebih awal dari Sonnet 4.5 atau Opus 4.5, atau pada proxy yang tidak mendukung `tool_reference`), `auto` (mode ambang batas: muat di muka jika alat sesuai dalam 10% konteks), `auto:N` (ambang batas kustom, misalnya `auto:5` untuk 5%), `false` (muat semua di muka). Diabaikan saat `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` diatur, yang memaksa semua alat dimuat di muka |

344| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Atur ke nilai non-kosong apa pun untuk membuat semua model, bukan hanya Opus, berhenti mencoba ulang dengan kesalahan overload berulang saat tidak ada fallback model yang dikonfigurasi. {/* min-version: 2.1.160 */}Sejak v2.1.160, [rantai model fallback](/id/model-config#fallback-model-chains) yang dikonfigurasi dipicu pada kesalahan overload berulang untuk model primer apa pun, jadi variabel ini tidak mempengaruhi beralih ke model fallback |353| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Atur ke nilai non-kosong apa pun untuk membuat semua model, bukan hanya Opus, berhenti mencoba ulang dengan kesalahan overload berulang saat tidak ada fallback model yang dikonfigurasi. {/* min-version: 2.1.160 */}Sejak v2.1.160, [rantai model fallback](/id/model-config#fallback-model-chains) yang dikonfigurasi dipicu pada kesalahan overload berulang untuk model primer apa pun, jadi variabel ini tidak mempengaruhi beralih ke model fallback |

345| `FORCE_AUTOUPDATE_PLUGINS` | Atur ke `1` untuk memaksa pembaruan otomatis plugin bahkan saat auto-updater utama dinonaktifkan melalui `DISABLE_AUTOUPDATER` |354| `FORCE_AUTOUPDATE_PLUGINS` | Atur ke `1` untuk memaksa pembaruan otomatis plugin bahkan saat auto-updater utama dinonaktifkan melalui `DISABLE_AUTOUPDATER` |

355| `FORCE_HYPERLINK` | Atur ke `1` untuk mengaktifkan hyperlink OSC 8 yang dapat diklik saat terminal Anda mendukungnya tetapi tidak terdeteksi otomatis, atau `0` untuk menonaktifkannya |

346| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL cache prompt 5 menit bahkan saat TTL 1 jam akan berlaku sebaliknya. Mengganti `ENABLE_PROMPT_CACHING_1H` |356| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL cache prompt 5 menit bahkan saat TTL 1 jam akan berlaku sebaliknya. Mengganti `ENABLE_PROMPT_CACHING_1H` |

347| `HTTP_PROXY` | Tentukan server proxy HTTP untuk koneksi jaringan |357| `HTTP_PROXY` | Tentukan server proxy HTTP untuk koneksi jaringan |

348| `HTTPS_PROXY` | Tentukan server proxy HTTPS untuk koneksi jaringan |358| `HTTPS_PROXY` | Tentukan server proxy HTTPS untuk koneksi jaringan |


357| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Jumlah maksimal server MCP jarak jauh (HTTP/SSE) untuk terhubung secara paralel selama startup (default: 20) |367| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Jumlah maksimal server MCP jarak jauh (HTTP/SSE) untuk terhubung secara paralel selama startup (default: 20) |

358| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Jumlah maksimal server MCP lokal (stdio) untuk terhubung secara paralel selama startup (default: 3) |368| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Jumlah maksimal server MCP lokal (stdio) untuk terhubung secara paralel selama startup (default: 3) |

359| `MCP_TIMEOUT` | Waktu tunggu dalam milidetik untuk startup server MCP (default: 30000, atau 30 detik) |369| `MCP_TIMEOUT` | Waktu tunggu dalam milidetik untuk startup server MCP (default: 30000, atau 30 detik) |

360| `MCP_TOOL_TIMEOUT` | Waktu tunggu dalam milidetik untuk eksekusi alat MCP (default: 100000000, sekitar 28 jam). Bidang `timeout` per-server di `.mcp.json` mengganti ini untuk server itu. {/* min-version: 2.1.203 */}Bidang `timeout` per-server setidaknya 1000 juga mengatur jendela idle minimum untuk panggilan alat server itu, sehingga `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` tidak pernah membatalkan mereka lebih awal; lantai ini memerlukan Claude Code v2.1.203 atau lebih baru. Untuk variabel env, nilai di bawah 1000 dibulatkan ke satu detik; untuk bidang per-server, nilai di bawah 1000 diabaikan |370| `MCP_TOOL_TIMEOUT` | Waktu tunggu dalam milidetik untuk eksekusi alat MCP (default: 100000000, sekitar 28 jam). Untuk server HTTP, SSE, atau konektor claude.ai, setiap permintaan juga habis waktu setelah 60 detik secara default; atur variabel ini, atau `timeout` per-server, di atas 60000 untuk menaikkan batas per-permintaan itu. Nilai yang lebih rendah masih mempersingkat waktu tunggu eksekusi alat keseluruhan tetapi meninggalkan batas per-permintaan pada 60 detik. Server stdio dan WebSocket tidak memiliki timer per-permintaan. Bidang `timeout` per-server di `.mcp.json` mengganti ini untuk server itu. {{/* min-version: 2.1.203 */}}Bidang `timeout` per-server setidaknya 1000 juga mengatur jendela idle minimum untuk panggilan alat server itu, sehingga `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` tidak pernah membatalkan mereka lebih awal; lantai ini memerlukan Claude Code v2.1.203 atau lebih baru. Untuk variabel env, nilai di bawah 1000 dibulatkan ke satu detik; untuk bidang per-server, nilai di bawah 1000 diabaikan |

361| `NO_PROXY` | Daftar domain dan IP ke mana permintaan akan dikeluarkan secara langsung, melewati proxy |371| `NO_PROXY` | Daftar domain dan IP ke mana permintaan akan dikeluarkan secara langsung, melewati proxy |

362| `OTEL_LOG_ASSISTANT_RESPONSES` | {/* min-version: 2.1.193 */}Atur ke `1` untuk menyertakan teks respons model pada peristiwa log OpenTelemetry `assistant_response`. Saat tidak diatur, nilai `OTEL_LOG_USER_PROMPTS` digunakan sebagai gantinya. Atur ke `0` untuk menjaga respons diredaksi bahkan saat `OTEL_LOG_USER_PROMPTS` diatur. Memerlukan Claude Code v2.1.193 atau lebih baru. Lihat [Monitoring](/id/monitoring-usage#assistant-response-event) |372| `OTEL_LOG_ASSISTANT_RESPONSES` | {/* min-version: 2.1.193 */}Atur ke `1` untuk menyertakan teks respons model pada peristiwa log OpenTelemetry `assistant_response`. Saat tidak diatur, nilai `OTEL_LOG_USER_PROMPTS` digunakan sebagai gantinya. Atur ke `0` untuk menjaga respons diredaksi bahkan saat `OTEL_LOG_USER_PROMPTS` diatur. Memerlukan Claude Code v2.1.193 atau lebih baru. Lihat [Monitoring](/id/monitoring-usage#assistant-response-event) |

363| `OTEL_LOG_RAW_API_BODIES` | Memancarkan permintaan dan respons JSON API Anthropic Messages lengkap sebagai peristiwa log `api_request_body` / `api_response_body`. Atur ke `1` untuk badan inline dipotong pada 60 KB, atau `file:<dir>` untuk menulis badan yang tidak dipotong ke disk dan memancarkan referensi `body_ref` sebagai gantinya. Dinonaktifkan secara default; badan menyertakan seluruh riwayat percakapan. Lihat [Monitoring](/id/monitoring-usage#api-request-body-event) |373| `OTEL_LOG_RAW_API_BODIES` | Memancarkan permintaan dan respons JSON API Anthropic Messages lengkap sebagai peristiwa log `api_request_body` / `api_response_body`. Atur ke `1` untuk badan inline dipotong pada 60 KB, atau `file:<dir>` untuk menulis badan yang tidak dipotong ke disk dan memancarkan referensi `body_ref` sebagai gantinya. Dinonaktifkan secara default; badan menyertakan seluruh riwayat percakapan. Lihat [Monitoring](/id/monitoring-usage#api-request-body-event) |

errors.md +246 −18

Details

21Cocokkan pesan yang Anda lihat di terminal dengan bagian di bawah ini.21Cocokkan pesan yang Anda lihat di terminal dengan bagian di bawah ini.

22 22 

23| Pesan | Bagian |23| Pesan | Bagian |

24| :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |24| :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |

25| `API Error: 500 Internal server error` | [Kesalahan server](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Kesalahan server](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [Kesalahan server](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Kesalahan server](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [Kesalahan server](#request-timed-out), atau [Jaringan](#unable-to-connect-to-api) jika pesan menyebutkan koneksi internet Anda |27| `Request timed out` | [Kesalahan server](#request-timed-out), atau [Jaringan](#unable-to-connect-to-api) jika pesan menyebutkan koneksi internet Anda |


39| `Not logged in · Please run /login` | [Autentikasi](#not-logged-in) |39| `Not logged in · Please run /login` | [Autentikasi](#not-logged-in) |

40| `Could not resolve authentication method` | [Autentikasi](#could-not-resolve-authentication-method) |40| `Could not resolve authentication method` | [Autentikasi](#could-not-resolve-authentication-method) |

41| `Invalid API key` | [Autentikasi](#invalid-api-key) |41| `Invalid API key` | [Autentikasi](#invalid-api-key) |

42| `Your apiKeyHelper script is failing` | [Autentikasi](#your-apikeyhelper-script-is-failing) |

42| `This organization has been disabled` | [Autentikasi](#this-organization-has-been-disabled) |43| `This organization has been disabled` | [Autentikasi](#this-organization-has-been-disabled) |

43| `Your organization has disabled API key authentication` | [Autentikasi](#your-organization-has-disabled-api-key-authentication) |44| `Your organization has disabled API key authentication` | [Autentikasi](#your-organization-has-disabled-api-key-authentication) |

44| `Your organization has disabled Claude subscription access` | [Autentikasi](#your-organization-has-disabled-claude-subscription-access) |45| `Your organization has disabled Claude subscription access` | [Autentikasi](#your-organization-has-disabled-claude-subscription-access) |

45| `Routines are disabled by your organization's policy` | [Autentikasi](#routines-are-disabled-by-your-organizations-policy) |46| `Routines are disabled by your organization's policy` | [Autentikasi](#routines-are-disabled-by-your-organizations-policy) |

46| `Remote Control is only available when using Claude via api.anthropic.com` | [Autentikasi](#remote-control-requires-the-anthropic-api) |47| `Remote Control is only available when using Claude via api.anthropic.com` | [Autentikasi](#remote-control-requires-the-anthropic-api) |

47| `OAuth token revoked` / `OAuth token has expired` | [Autentikasi](#oauth-token-revoked-or-expired) |48| `OAuth token revoked` / `OAuth token has expired` | [Autentikasi](#oauth-token-revoked-or-expired) |

49| `Login expired · Please run /login` | [Autentikasi](#login-expired) |

50| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Autentikasi](#login-expired) |

48| `does not meet scope requirement user:profile` | [Autentikasi](#oauth-scope-requirement) |51| `does not meet scope requirement user:profile` | [Autentikasi](#oauth-scope-requirement) |

49| `AWS credentials expired or invalid` | [Autentikasi](#aws-credentials-expired-or-invalid) |52| `AWS credentials expired or invalid` | [Autentikasi](#aws-credentials-expired-or-invalid) |

50| `AWS authentication failed` | [Autentikasi](#aws-authentication-failed) |53| `AWS authentication failed` | [Autentikasi](#aws-authentication-failed) |

54| `AWS default-chain credential resolve timed out` | [Autentikasi](#aws-default-chain-credential-resolve-timed-out) |

51| `Unable to connect to API` | [Jaringan](#unable-to-connect-to-api) |55| `Unable to connect to API` | [Jaringan](#unable-to-connect-to-api) |

52| `Waiting for API response · will retry in` | [Percobaan ulang otomatis](#automatic-retries), atau [Jaringan](#unable-to-connect-to-api) jika terus berlanjut |56| `Waiting for API response · will retry in` | [Percobaan ulang otomatis](#automatic-retries), atau [Jaringan](#unable-to-connect-to-api) jika terus berlanjut |

57| `Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream"` | [Jaringan](#bedrock-streaming-response-has-an-unexpected-content-type) |

53| `SSL certificate verification failed` | [Jaringan](#ssl-certificate-errors) |58| `SSL certificate verification failed` | [Jaringan](#ssl-certificate-errors) |

54| `SSL certificate error (...)` during login or startup | [Jaringan](#ssl-certificate-errors) |59| `SSL certificate error (...)` during login or startup | [Jaringan](#ssl-certificate-errors) |

55| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Jaringan](#host-not-allowed-in-a-cloud-session) |60| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Jaringan](#host-not-allowed-in-a-cloud-session) |


76| `--bg and --print conflict` | [Kesalahan baris perintah](#command-line-errors) |81| `--bg and --print conflict` | [Kesalahan baris perintah](#command-line-errors) |

77| `Error: --json-schema is not a valid JSON Schema` | [Kesalahan baris perintah](#command-line-errors) |82| `Error: --json-schema is not a valid JSON Schema` | [Kesalahan baris perintah](#command-line-errors) |

78| `Could not import <server>: <reason>` | [Kesalahan baris perintah](#could-not-import-a-server-from-claude-desktop) |83| `Could not import <server>: <reason>` | [Kesalahan baris perintah](#could-not-import-a-server-from-claude-desktop) |

84| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Kesalahan baris perintah](#mcp-permission-prompt-tool-not-found) |

79| `Marketplace "<name>" is registered from an untrusted source` | [Kesalahan plugin](#marketplace-is-registered-from-an-untrusted-source) |85| `Marketplace "<name>" is registered from an untrusted source` | [Kesalahan plugin](#marketplace-is-registered-from-an-untrusted-source) |

86| `references ${user_config.*} in a shell-form command` | [Kesalahan plugin](#plugin-command-references-user-config) |

87| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Kesalahan plugin](#plugin-command-references-user-config) |

88| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Kesalahan plugin](#plugin-command-references-user-config) |

89| `would be spawned with zero tools — refusing` | [Kesalahan alat](#agent-would-be-spawned-with-zero-tools) |

90| `File is covered by a Read deny rule in your permission settings` | [Kesalahan alat](#file-is-covered-by-a-read-deny-rule) |

91| `Can't open MCP settings in a background session` | [Kesalahan sesi latar belakang](#commands-refused-in-a-background-session) |

92| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [Kesalahan sesi latar belakang](#claude_code_process_wrapper-launcher-errors) |

80| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Peringatan konfigurasi](#workspace-has-not-been-trusted) |93| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Peringatan konfigurasi](#workspace-has-not-been-trusted) |

81| Responses seem lower quality than usual | [Kualitas respons](#responses-seem-lower-quality-than-usual) |94| Responses seem lower quality than usual | [Kualitas respons](#responses-seem-lower-quality-than-usual) |

82 95 


86 99 

87Claude Code mencoba ulang kegagalan transien sebelum menampilkan kesalahan kepada Anda. Kesalahan server, respons kelebihan beban, waktu tunggu permintaan, throttle 429 sementara, dan koneksi yang terputus semuanya dicoba ulang hingga 10 kali dengan backoff eksponensial. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, ini mencakup koneksi yang terputus di tengah respons sebelum output yang terlihat telah dialirkan: Claude Code mengeluarkan kembali permintaan dengan backoff yang sama dan giliran berlanjut daripada berhenti dengan kesalahan koneksi. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, throttle 429 sementara yang tidak membawa header kuota paket Anda juga dicoba ulang ketika Anda masuk dengan langganan claude.ai; versi sebelumnya hanya mencoba ulang untuk autentikasi kunci API dan Enterprise.100Claude Code mencoba ulang kegagalan transien sebelum menampilkan kesalahan kepada Anda. Kesalahan server, respons kelebihan beban, waktu tunggu permintaan, throttle 429 sementara, dan koneksi yang terputus semuanya dicoba ulang hingga 10 kali dengan backoff eksponensial. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, ini mencakup koneksi yang terputus di tengah respons sebelum output yang terlihat telah dialirkan: Claude Code mengeluarkan kembali permintaan dengan backoff yang sama dan giliran berlanjut daripada berhenti dengan kesalahan koneksi. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, throttle 429 sementara yang tidak membawa header kuota paket Anda juga dicoba ulang ketika Anda masuk dengan langganan claude.ai; versi sebelumnya hanya mencoba ulang untuk autentikasi kunci API dan Enterprise.

88 101 

89Dua kelas kegagalan tidak dicoba ulang, karena percobaan ulang tidak dapat berhasil:102Beberapa kelas kegagalan tidak dicoba ulang, karena percobaan ulang tidak dapat berhasil:

90 103 

91* {/* min-version: 2.1.199 */}Mulai dari v2.1.199, kegagalan validasi sertifikat TLS, seperti proxy yang menginspeksi TLS, bundel `NODE_EXTRA_CA_CERTS` yang hilang, atau sertifikat yang kedaluwarsa, gagal pada percobaan pertama sehingga perbaikan muncul segera daripada setelah anggaran percobaan ulang penuh. Lihat [Kesalahan sertifikat SSL](#ssl-certificate-errors). Kondisi TLS transien seperti timeout handshake masih mencoba ulang.104* {/* min-version: 2.1.199 */}Mulai dari v2.1.199, kegagalan validasi sertifikat TLS, seperti proxy yang menginspeksi TLS, bundel `NODE_EXTRA_CA_CERTS` yang hilang, atau sertifikat yang kedaluwarsa, gagal pada percobaan pertama sehingga perbaikan muncul segera daripada setelah anggaran percobaan ulang penuh. Lihat [Kesalahan sertifikat SSL](#ssl-certificate-errors). Kondisi TLS transien seperti timeout handshake masih mencoba ulang.

92* {/* min-version: 2.1.199 */}Mulai dari v2.1.199, kesalahan server yang tiba setelah Claude telah dialirkan output yang terlihat menjaga respons parsial dan menambahkan [pemberitahuan respons tidak lengkap](#the-response-above-may-be-incomplete) daripada mencoba ulang, karena menjalankan kembali permintaan dapat menjalankan panggilan alat yang sama dua kali. Versi sebelumnya membuang output parsial dan melaporkan giliran sebagai kesalahan.105* {/* min-version: 2.1.199 */}Mulai dari v2.1.199, kesalahan server yang tiba setelah Claude telah dialirkan output yang terlihat menjaga respons parsial dan menambahkan [pemberitahuan respons tidak lengkap](#the-response-above-may-be-incomplete) daripada mencoba ulang, karena menjalankan kembali permintaan dapat menjalankan alat yang sama dua kali. Versi sebelumnya membuang output parsial dan melaporkan giliran sebagai kesalahan.

106* {/* min-version: 2.1.208 */}Respons streaming [Amazon Bedrock dengan tipe konten yang tidak terduga](#bedrock-streaming-response-has-an-unexpected-content-type) gagal pada percobaan pertama, karena gateway atau proxy yang menulis ulang respons akan menulis ulang percobaan ulang dengan cara yang sama. Memerlukan Claude Code v2.1.208 atau lebih baru.

93 107 

94Saat mencoba ulang, spinner menampilkan hitungan mundur `Retrying in Ns · attempt x/y` setelah label kesalahan. Label menyebutkan alasan spesifik dari percobaan pertama untuk kegagalan yang dapat Anda tindaklanjuti segera: jaringan tidak aktif, handshake TLS gagal, atau Anda mencapai batas laju. Untuk kesalahan lainnya, itu berbunyi `API error` pada awalnya. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, itu beralih ke alasan spesifik dari percobaan ketiga, atau pada percobaan terakhir ketika `CLAUDE_CODE_MAX_RETRIES` memungkinkan lebih sedikit dari tiga; versi sebelumnya hanya beralih pada percobaan terakhir.108Saat mencoba ulang, spinner menampilkan hitungan mundur `Retrying in Ns · attempt x/y` setelah label kesalahan. Label menyebutkan alasan spesifik dari percobaan pertama untuk kegagalan yang dapat Anda tindaklanjuti segera: jaringan tidak aktif, handshake TLS gagal, atau Anda mencapai batas laju. Untuk kesalahan lainnya, itu berbunyi `API error` pada awalnya. {/* min-version: 2.1.198 */}Mulai dari v2.1.198, itu beralih ke alasan spesifik dari percobaan ketiga, atau pada percobaan terakhir ketika `CLAUDE_CODE_MAX_RETRIES` memungkinkan lebih sedikit dari tiga; versi sebelumnya hanya beralih pada percobaan terakhir.

95 109 


285 299 

286Claude Code memblokir permintaan lebih lanjut hingga waktu reset yang ditunjukkan dalam pesan. Batas sesi dan mingguan dibagikan di semua model, jadi beralih model tidak memulihkan akses. Batas Opus hanya berlaku untuk permintaan Opus, jadi beralih ke model lain dengan `/model` membuat Anda tetap bekerja.300Claude Code memblokir permintaan lebih lanjut hingga waktu reset yang ditunjukkan dalam pesan. Batas sesi dan mingguan dibagikan di semua model, jadi beralih model tidak memulihkan akses. Batas Opus hanya berlaku untuk permintaan Opus, jadi beralih ke model lain dengan `/model` membuat Anda tetap bekerja.

287 301 

302Penggunaan dihitung terhadap tunjangan sesi dan mingguan pada saat yang sama. Satu ledakan aktivitas berat, seperti fanout alur kerja besar, dapat menghabiskan tunjangan mingguan sebelum jendela sesi direset.

303 

288**Yang harus dilakukan:**304**Yang harus dilakukan:**

289 305 

290* Tunggu waktu reset yang ditunjukkan dalam kesalahan306* Tunggu waktu reset yang ditunjukkan dalam kesalahan


430* Jika kunci berasal dari skrip [`apiKeyHelper`](/id/settings#available-settings), jalankan skrip secara langsung untuk mengonfirmasi bahwa skrip mencetak kunci yang valid di stdout446* Jika kunci berasal dari skrip [`apiKeyHelper`](/id/settings#available-settings), jalankan skrip secara langsung untuk mengonfirmasi bahwa skrip mencetak kunci yang valid di stdout

431* Jalankan `/status` untuk mengonfirmasi sumber kredensial mana yang sebenarnya digunakan Claude Code447* Jalankan `/status` untuk mengonfirmasi sumber kredensial mana yang sebenarnya digunakan Claude Code

432 448 

449<h3 id="your-apikeyhelper-script-is-failing">

450 Skrip apiKeyHelper Anda gagal

451</h3>

452 

453Perintah yang dikonfigurasi dalam pengaturan [`apiKeyHelper`](/id/settings#available-settings) keluar dengan kesalahan, habis waktu, atau tidak mencetak apa pun ke stdout. Tanpa kunci dari skrip, permintaan mencapai API dengan kredensial placeholder, dan API menolaknya dengan `401`.

454 

455```text theme={null}

456Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output

457```

458 

459Claude Code menjalankan kembali skrip dan mencoba ulang permintaan hingga dua kali lagi sebelum menampilkan pesan ini, jadi kegagalan muncul dalam tiga upaya. {/* min-version: 2.1.208 */}Sebelum v2.1.208, Claude Code menghabiskan [anggaran percobaan ulang](#automatic-retries) penuh mengirim ulang permintaan dengan kredensial placeholder dan kemudian melaporkan kesalahan autentikasi `401` generik daripada kegagalan skrip.

460 

461Menjalankan `/login` tidak membantu di sini: output helper [mengambil prioritas](/id/authentication#authentication-precedence) atas login yang disimpan selama pengaturan ada.

462 

463**Yang harus dilakukan:**

464 

465* Jalankan perintah yang dikonfigurasi dalam `apiKeyHelper` secara langsung di shell Anda untuk mereproduksi kegagalan

466* Jika perintah melaporkan sesi yang kedaluwarsa, autentikasi ulang dengan penyedia kredensial Anda, misalnya dengan masuk kembali ke SSO atau vault rahasia Anda

467* Perbaiki perintah sehingga mencetak kunci ke stdout dan keluar dengan kode 0. Lihat [putar kredensial dengan apiKeyHelper](/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) untuk pengaturan yang berfungsi.

468* Jalankan `/status` untuk mengonfirmasi bahwa `apiKeyHelper` adalah sumber kredensial aktif. Setiap kali perintah gagal, kode keluar dan output kesalahannya muncul di panel `Cloud authentication` di terminal.

469 

433<h3 id="this-organization-has-been-disabled">470<h3 id="this-organization-has-been-disabled">

434 Organisasi ini telah dinonaktifkan471 Organisasi ini telah dinonaktifkan

435</h3>472</h3>


532 569 

533Login yang disimpan Anda tidak lagi valid. Token yang dicabut berarti Anda keluar di mana-mana atau admin menghapus akses; token yang kedaluwarsa berarti penyegaran otomatis gagal di tengah sesi.570Login yang disimpan Anda tidak lagi valid. Token yang dicabut berarti Anda keluar di mana-mana atau admin menghapus akses; token yang kedaluwarsa berarti penyegaran otomatis gagal di tengah sesi.

534 571 

572Kedua pesan melaporkan penolakan yang dikembalikan API untuk permintaan yang dikirim Claude Code. Ketika login yang disimpan sudah dihapus setelah penyegaran yang gagal, Anda melihat [Login kedaluwarsa](#login-expired) sebagai gantinya.

573 

535```text theme={null}574```text theme={null}

536OAuth token revoked · Please run /login575OAuth token revoked · Please run /login

537OAuth token has expired · Please run /login576OAuth token has expired · Please run /login


545* Untuk prompt login berulang di seluruh peluncuran, lihat pemeriksaan jam sistem dan Keychain macOS di [Troubleshooting](/id/troubleshoot-install#not-logged-in-or-token-expired)584* Untuk prompt login berulang di seluruh peluncuran, lihat pemeriksaan jam sistem dan Keychain macOS di [Troubleshooting](/id/troubleshoot-install#not-logged-in-or-token-expired)

546* Untuk kegagalan lainnya termasuk `403 Forbidden` dan masalah browser OAuth, lihat [Login dan autentikasi](/id/troubleshoot-install#login-and-authentication)585* Untuk kegagalan lainnya termasuk `403 Forbidden` dan masalah browser OAuth, lihat [Login dan autentikasi](/id/troubleshoot-install#login-and-authentication)

547 586 

587<h3 id="login-expired">

588 Login kedaluwarsa

589</h3>

590 

591Claude Code mencoba memperbarui login claude.ai atau Claude Console yang disimpan dan layanan OAuth menolak token penyegaran yang disimpan, jadi Claude Code menghapus kredensial yang disimpan. Setelah itu, setiap permintaan berhenti secara lokal sebelum mencapai API, karena hanya `/login` yang dapat membuat kredensial baru. {/* min-version: 2.1.206 */}Sebelum v2.1.206, Claude Code mengirim permintaan bagaimanapun dengan kredensial apa pun yang tersisa di lingkungan, dan setiap model kemudian gagal dengan [Ada masalah dengan model yang dipilih](#theres-an-issue-with-the-selected-model) atau 401 daripada prompt untuk masuk.

592 

593```text theme={null}

594Login expired · Please run /login

595```

596 

597Dalam [mode non-interaktif](/id/headless) (`-p`) dan [Agent SDK](/id/agent-sdk/overview), pesan berbunyi sebagai berikut, dan kode kesalahan terstruktur adalah `authentication_failed`:

598 

599```text theme={null}

600Failed to authenticate: OAuth session expired and could not be refreshed

601```

602 

603Ini bukan keadaan yang sama dengan [Token OAuth dicabut atau kedaluwarsa](#oauth-token-revoked-or-expired). Pesan tersebut melaporkan 401 yang dikembalikan API. Claude Code sendiri menghasilkan `Login expired` untuk login yang sudah gagal diperbaharui, jadi tidak mengirim permintaan.

604 

605Sesi yang diautentikasi dengan kunci API, [`CLAUDE_CODE_OAUTH_TOKEN`](/id/env-vars), atau penyedia pihak ketiga tidak menggunakan login yang disimpan dan tidak pernah melihat pesan ini.

606 

607**Yang harus dilakukan:**

608 

609* Jalankan `/login` untuk masuk lagi. Mencoba ulang tanpa masuk menunjukkan pesan yang sama pada setiap permintaan.

610* Dalam mode non-interaktif, jalankan `claude` di lingkungan yang sama, selesaikan `/login`, kemudian jalankan kembali perintah Anda. Untuk otomasi yang tidak dapat masuk secara interaktif, autentikasi dengan `ANTHROPIC_API_KEY` atau [buat token jangka panjang dengan `claude setup-token`](/id/authentication#generate-a-long-lived-token).

611* Jika masuk terus gagal, lihat [Login dan autentikasi](/id/troubleshoot-install#login-and-authentication)

612 

548<h3 id="oauth-scope-requirement">613<h3 id="oauth-scope-requirement">

549 Persyaratan cakupan OAuth614 Persyaratan cakupan OAuth

550</h3>615</h3>


603* Jika kredensial Anda saat ini, konfirmasi izin IAM di [Konfigurasi IAM](/id/amazon-bedrock#iam-configuration) terlampir pada identitas yang Anda gunakan dan bahwa model yang dipilih diaktifkan untuk akun dan wilayah Anda668* Jika kredensial Anda saat ini, konfirmasi izin IAM di [Konfigurasi IAM](/id/amazon-bedrock#iam-configuration) terlampir pada identitas yang Anda gunakan dan bahwa model yang dipilih diaktifkan untuk akun dan wilayah Anda

604* Jalankan `aws sts get-caller-identity` untuk mengonfirmasi identitas mana yang digunakan permintaan Anda; `AWS_PROFILE` yang sudah usang atau profil default adalah penyebab umum ketidakcocokan izin669* Jalankan `aws sts get-caller-identity` untuk mengonfirmasi identitas mana yang digunakan permintaan Anda; `AWS_PROFILE` yang sudah usang atau profil default adalah penyebab umum ketidakcocokan izin

605 670 

671<h3 id="aws-default-chain-credential-resolve-timed-out">

672 Penyelesaian kredensial rantai default AWS habis waktu

673</h3>

674 

675Rantai penyedia kredensial default AWS tidak menghasilkan kredensial dalam 60 detik, jadi Claude Code menghentikan penyelesaian dan gagal permintaan. Kegagalan adalah penyelesaian kredensial lokal: permintaan tidak pernah mencapai [Amazon Bedrock](/id/amazon-bedrock), [Claude Platform on AWS](/id/claude-platform-on-aws), atau [endpoint Mantle](/id/amazon-bedrock#use-the-mantle-endpoint). Claude Code menghapus [cache kredensial](/id/amazon-bedrock#credential-caching-and-resolution-timeout) dan mencoba ulang sebelum kesalahan ini muncul, jadi pada saat Anda melihatnya rantai telah macet pada upaya berulang.

676 

677```text theme={null}

678API Error: AWS default-chain credential resolve timed out

679```

680 

681Penyebab umum adalah perintah `credential_process` di profil AWS Anda yang menunggu input yang tidak dapat diterima, dan kontainer atau VM yang layanan metadata instans (IMDS) tidak pernah menjawab probe rantai. {/* min-version: 2.1.207 */}Sebelum v2.1.207, rantai yang macet membiarkan permintaan menunggu tanpa batas waktu daripada gagal dengan pesan ini.

682 

683**Yang harus dilakukan:**

684 

685* Jalankan `aws sts get-caller-identity` di shell yang sama dengan `AWS_PROFILE` yang sama. Jika juga hang, perbaiki profil; perintah `credential_process` yang meminta secara interaktif adalah penyebab umum.

686* Selesaikan langkah masuk sebelum memulai Claude Code, misalnya `aws sso login --profile myprofile`, sehingga rantai diselesaikan dari cache SSO lokal daripada menunggu alur browser

687* Jika rantai Anda menjalankan masuk interaktif yang secara sah memerlukan lebih dari 60 detik, seperti SSO dengan MFA melalui wrapper seperti `aws-vault`, naikkan batas dalam milidetik dengan [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/id/env-vars)

688 

606<h2 id="network-and-connection-errors">689<h2 id="network-and-connection-errors">

607 Kesalahan jaringan dan koneksi690 Kesalahan jaringan dan koneksi

608</h2>691</h2>

609 692 

610Kesalahan ini berarti permintaan jaringan dari Claude Code gagal mencapai tujuannya. Biasanya berasal dari jaringan lokal Anda, proxy, atau firewall, atau dari kebijakan jaringan lingkungan cloud.693Kesalahan ini berarti permintaan jaringan dari Claude Code gagal mencapai tujuannya, atau sesuatu antara Claude Code dan API mengubah respons dalam perjalanannya kembali. Biasanya berasal dari jaringan lokal Anda, proxy, atau firewall, atau dari kebijakan jaringan lingkungan cloud.

611 694 

612<h3 id="unable-to-connect-to-api">695<h3 id="unable-to-connect-to-api">

613 Tidak dapat terhubung ke API696 Tidak dapat terhubung ke API


640* Di macOS, klien VPN yang terputus atau dihapus dapat meninggalkan antarmuka tunnel atau aturan routing. Periksa `ifconfig` untuk antarmuka `utun` yang sudah usang dan hapus ekstensi jaringan VPN di System Settings.723* Di macOS, klien VPN yang terputus atau dihapus dapat meninggalkan antarmuka tunnel atau aturan routing. Periksa `ifconfig` untuk antarmuka `utun` yang sudah usang dan hapus ekstensi jaringan VPN di System Settings.

641* Docker Desktop dan runtime container serupa dapat mengintersepsi lalu lintas keluar. Tutup mereka dan coba lagi untuk mengesampingkan ini.724* Docker Desktop dan runtime container serupa dapat mengintersepsi lalu lintas keluar. Tutup mereka dan coba lagi untuk mengesampingkan ini.

642 725 

726<h3 id="bedrock-streaming-response-has-an-unexpected-content-type">

727 Bedrock streaming response memiliki content-type yang tidak terduga

728</h3>

729 

730Gateway atau proxy antara Claude Code dan [Amazon Bedrock](/id/amazon-bedrock) mengubah badan respons streaming atau header `Content-Type`-nya. Amazon Bedrock melakukan streaming respons sebagai `application/vnd.amazon.eventstream`, dan Claude Code menolak respons streaming yang berhasil yang melaporkan content-type berbeda daripada mendekode badan yang tidak dapat dibacanya. Permintaan tidak diulang.

731 

732```text theme={null}

733Bedrock streaming response has content-type "text/event-stream"; expected "application/vnd.amazon.eventstream". A gateway or proxy between Claude Code and Bedrock is likely transforming the response body — Bedrock's binary event-stream format must be passed through unmodified. Set CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 to suppress this check while the gateway is being fixed.

734```

735 

736{/* min-version: 2.1.208 */}Sebelum v2.1.208, konfigurasi yang sama muncul sebagai `API Error: Truncated event message received` setelah seluruh respons telah di-buffer.

737 

738**Yang harus dilakukan:**

739 

740* Konfigurasikan gateway untuk melewatkan badan respons `InvokeModelWithResponseStream` dan header `Content-Type`-nya tanpa diubah. Perantara yang memancarkan kembali aliran sebagai server-sent events adalah penyebab umum.

741* Jika gateway hanya menulis ulang header dan melewatkan badan biner tanpa diubah, atur [`CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1`](/id/env-vars) untuk melewati pemeriksaan sampai gateway diperbaiki. Lihat [Streaming errors behind a gateway or proxy](/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).

742 

643<h3 id="ssl-certificate-errors">743<h3 id="ssl-certificate-errors">

644 Kesalahan sertifikat SSL744 Kesalahan sertifikat SSL

645</h3>745</h3>


859* **Agent SDK**: teks kesalahan menghilangkan petunjuk karena model diatur secara terprogram. Atur [`model` pada `Options`](/id/agent-sdk/typescript#options) di TypeScript atau [`ClaudeAgentOptions(model=...)`](/id/agent-sdk/python#claudeagentoptions) di Python, dan tangani kesalahan terstruktur `model_not_found` untuk menampilkan pengambil ulang atau pemilih model Anda sendiri.959* **Agent SDK**: teks kesalahan menghilangkan petunjuk karena model diatur secara terprogram. Atur [`model` pada `Options`](/id/agent-sdk/typescript#options) di TypeScript atau [`ClaudeAgentOptions(model=...)`](/id/agent-sdk/python#claudeagentoptions) di Python, dan tangani kesalahan terstruktur `model_not_found` untuk menampilkan pengambil ulang atau pemilih model Anda sendiri.

860* Gunakan alias seperti `sonnet` atau `opus` alih-alih ID versi lengkap. Alias diselesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Konfigurasi model](/id/model-config).960* Gunakan alias seperti `sonnet` atau `opus` alih-alih ID versi lengkap. Alias diselesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Konfigurasi model](/id/model-config).

861* Jika model yang salah terus kembali di CLI, ID yang usang diatur di suatu tempat. Periksa dalam [urutan prioritas](/id/model-config#setting-your-model): flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, kemudian bidang `model` di `.claude/settings.local.json`, `.claude/settings.json` proyek Anda, dan `~/.claude/settings.json`. Hapus nilai yang usang dan Claude Code kembali ke default akun Anda.961* Jika model yang salah terus kembali di CLI, ID yang usang diatur di suatu tempat. Periksa dalam [urutan prioritas](/id/model-config#setting-your-model): flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, kemudian bidang `model` di `.claude/settings.local.json`, `.claude/settings.json` proyek Anda, dan `~/.claude/settings.json`. Hapus nilai yang usang dan Claude Code kembali ke default akun Anda.

962* {/* min-version: 2.1.206 */}Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai [Login expired](#login-expired), bukan sebagai kesalahan ini. Sebelum v2.1.206, login yang kedaluwarsa yang tidak lagi dapat disegarkan gagal di setiap model dengan kesalahan ini; jalankan `/login` jika Anda melihat itu di versi yang lebih lama.

862* Untuk penyebaran Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](/id/google-vertex-ai#troubleshooting).963* Untuk penyebaran Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](/id/google-vertex-ai#troubleshooting).

863 964 

864<h3 id="model-is-not-a-recognized-model-id">965<h3 id="model-is-not-a-recognized-model-id">


1085 Nilai --json-schema bukan JSON Schema yang valid1186 Nilai --json-schema bukan JSON Schema yang valid

1086</h3>1187</h3>

1087 1188 

1088Skema yang Anda berikan ke [`--json-schema`](/id/cli-reference#cli-flags) dalam [mode non-interaktif](/id/headless#get-structured-output) gagal kompilasi JSON Schema, jadi `claude` keluar dengan kode 1 alih-alih menjalankan prompt. Sebelum v2.1.205, skema yang tidak valid menghasilkan output tidak terstruktur tanpa kesalahan, dan skema apa pun yang menggunakan kata kunci `format` dianggap tidak valid.1189Skema yang Anda teruskan ke [`--json-schema`](/id/cli-reference#cli-flags) dalam [mode non-interaktif](/id/headless#get-structured-output) gagal kompilasi JSON Schema, jadi `claude` keluar dengan kode 1 alih-alih menjalankan prompt. Sebelum v2.1.205, skema yang tidak valid menghasilkan output tidak terstruktur tanpa kesalahan, dan skema apa pun yang menggunakan kata kunci `format` dianggap tidak valid.

1089 1190 

1090```text theme={null}1191```text theme={null}

1091Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values1192Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values


1098**Yang harus dilakukan:**1199**Yang harus dilakukan:**

1099 1200 

1100* Perbaiki bagian skema yang diagnostik sebutkan, kemudian jalankan kembali perintahnya1201* Perbaiki bagian skema yang diagnostik sebutkan, kemudian jalankan kembali perintahnya

1101* Jika diagnostiknya adalah `schema too large`, kurangi nesting skema dan penggunaan kembali `$ref`1202* Jika diagnostiknya adalah `schema too large`, kurangi nesting skema dan penggunaan ulang `$ref`

1102* Lihat [Get structured output](/id/headless#get-structured-output) untuk skema dan perintah yang berfungsi1203* Lihat [Get structured output](/id/headless#get-structured-output) untuk skema dan perintah yang berfungsi

1103 1204 

1104<h3 id="could-not-import-a-server-from-claude-desktop">1205<h3 id="could-not-import-a-server-from-claude-desktop">


1118* Ubah nama server di `claude_desktop_config.json` untuk hanya menggunakan huruf, angka, tanda hubung, dan garis bawah, kemudian jalankan `claude mcp add-from-claude-desktop` lagi1219* Ubah nama server di `claude_desktop_config.json` untuk hanya menggunakan huruf, angka, tanda hubung, dan garis bawah, kemudian jalankan `claude mcp add-from-claude-desktop` lagi

1119* Tambahkan server itu secara langsung dengan `claude mcp add` atau `claude mcp add-json` dengan nama yang valid. Lihat [Import MCP servers from Claude Desktop](/id/mcp#import-mcp-servers-from-claude-desktop).1220* Tambahkan server itu secara langsung dengan `claude mcp add` atau `claude mcp add-json` dengan nama yang valid. Lihat [Import MCP servers from Claude Desktop](/id/mcp#import-mcp-servers-from-claude-desktop).

1120 1221 

1222<h3 id="mcp-permission-prompt-tool-not-found">

1223 Alat prompt izin MCP tidak ditemukan

1224</h3>

1225 

1226Alat yang Anda teruskan ke [`--permission-prompt-tool`](/id/cli-reference#cli-flags) tidak ada di antara alat MCP yang terhubung ketika jalankan pertama kali memerlukan keputusan izin, baik karena servernya tidak pernah terhubung atau karena tidak ada server yang terhubung yang mengekspos alat dengan nama itu. Claude Code masih mengirim prompt Anda: jalankan [non-interaktif](/id/headless) keluar dengan kesalahan ini, dan kode keluar 1, pada panggilan alat pertama yang memerlukan persetujuan, jadi tidak menghasilkan jawaban meskipun permintaan telah dibuat. Sebelum prompt pertama, Claude Code menunggu hingga batas waktu koneksi per-server 30 detik yang ditetapkan oleh [`MCP_TIMEOUT`](/id/env-vars) untuk server itu terhubung. {/* min-version: 2.1.206 */}Sebelum v2.1.206, startup tidak menunggu server selesai terhubung, jadi server yang dimulai lambat tetapi sehat menghasilkan kesalahan ini juga.

1227 

1228```text theme={null}

1229Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

1230```

1231 

1232Daftar setelah `Available MCP tools:` menyebutkan alat MCP yang terhubung ketika penantian berakhir.

1233 

1234**Yang harus dilakukan:**

1235 

1236* Periksa bahwa server dimulai dan tetap terhubung: jalankan `claude mcp list` di direktori yang sama dan konfirmasi server terdaftar sebagai terhubung

1237* Konfirmkan nama alat cocok dengan nama `mcp__<server>__<tool>` yang server ekspos

1238* Jika server memerlukan lebih dari 30 detik untuk dimulai, naikkan [`MCP_TIMEOUT`](/id/env-vars)

1239 

1121<h2 id="plugin-errors">1240<h2 id="plugin-errors">

1122 Kesalahan Plugin1241 Kesalahan plugin

1123</h2>1242</h2>

1124 1243 

1125Kesalahan ini berasal dari konfigurasi [plugin](/id/plugins) dan [marketplace](/id/plugin-marketplaces). Untuk masalah plugin yang tidak menghasilkan salah satu pesan di halaman ini, seperti URL marketplace yang tidak memuat atau plugin yang terpasang tetapi tidak muncul, lihat [Troubleshooting Plugin](/id/discover-plugins#troubleshooting).1244Kesalahan ini berasal dari konfigurasi [plugin](/id/plugins) dan [marketplace](/id/plugin-marketplaces). Untuk masalah plugin yang tidak menghasilkan salah satu pesan di halaman ini, seperti URL marketplace yang tidak memuat atau plugin yang terpasang tetapi tidak muncul, lihat [Troubleshooting plugin](/id/discover-plugins#troubleshooting).

1126 1245 

1127<h3 id="marketplace-is-registered-from-an-untrusted-source">1246<h3 id="marketplace-is-registered-from-an-untrusted-source">

1128 Marketplace terdaftar dari sumber yang tidak terpercaya1247 Marketplace terdaftar dari sumber yang tidak terpercaya

1129</h3>1248</h3>

1130 1249 

1131Marketplace terdaftar dengan nama yang [dicadangkan untuk marketplace Anthropic resmi](/id/plugin-marketplaces#marketplace-schema), tetapi sumber terdaftarnya bukan repositori GitHub `anthropics`. Claude Code memeriksa ulang nama yang dicadangkan setiap kali memuat atau menyegarkan marketplace, sehingga marketplace dan plugin yang dipasang darinya berhenti memuat. Sebelum v2.1.205, nama hanya diperiksa ketika marketplace ditambahkan, sehingga entri yang terdaftar sebelum namanya dicadangkan terus memuat.1250Marketplace terdaftar dengan nama yang [dicadangkan untuk marketplace resmi Anthropic](/id/plugin-marketplaces#marketplace-schema), tetapi sumber terdaftarnya bukan repositori GitHub `anthropics`. Claude Code memeriksa ulang nama yang dicadangkan setiap kali memuat atau menyegarkan marketplace, sehingga marketplace dan plugin yang dipasang darinya berhenti memuat. Sebelum v2.1.205, nama hanya diperiksa ketika marketplace ditambahkan, sehingga entri yang terdaftar sebelum namanya dicadangkan terus memuat.

1132 1251 

1133```text theme={null}1252```text theme={null}

1134Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.1253Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.


1136 1255 

1137**Yang harus dilakukan:**1256**Yang harus dilakukan:**

1138 1257 

1139* Jalankan `claude plugin marketplace remove <name>`, kemudian tambahkan marketplace lagi dari repositori `github.com/anthropics` resmi1258* Jalankan `claude plugin marketplace remove <name>`, kemudian tambahkan marketplace lagi dari repositori resmi `github.com/anthropics`

1140* Jika Anda menerbitkan marketplace pihak ketiga yang menggunakan nama sebelum dicadangkan, ubah namanya dan minta pengguna untuk menambahkannya kembali dari sumber Anda1259* Jika Anda menerbitkan marketplace pihak ketiga yang menggunakan nama sebelum nama tersebut dicadangkan, ubah namanya dan minta pengguna untuk menambahkannya kembali dari sumber Anda

1141* Lihat daftar nama yang dicadangkan di bawah [Marketplace schema](/id/plugin-marketplaces#marketplace-schema)1260* Lihat daftar nama yang dicadangkan di bawah [Marketplace schema](/id/plugin-marketplaces#marketplace-schema)

1142 1261 

1262<h3 id="plugin-command-references-user-config">

1263 Plugin command references user\_config in a shell command

1264</h3>

1265 

1266Hook plugin, [monitor](/id/plugins-reference#monitors), atau perintah MCP [`headersHelper`](/id/mcp#use-dynamic-headers-for-custom-authentication) mereferensikan opsi `${user_config.KEY}` [plugin](/id/plugins-reference#user-configuration), dan string yang disubstitusi akan diteruskan ke shell. Nilai yang dikonfigurasi berisi `$(...)`, backtick, atau `;` akan berjalan sebagai kode di sana, jadi Claude Code menolak untuk memulai komponen alih-alih mensubstitusi nilai. Pemeriksaan berjalan pada template perintah, sehingga kesalahan muncul bahkan ketika tidak ada nilai yang dikonfigurasi. Sebelum v2.1.207, nilai disubstitusi ke dalam perintah shell.

1267 

1268Redaksi tergantung pada permukaan mana yang mereferensikan opsi. Hook bentuk shell melaporkan:

1269 

1270```text theme={null}

1271Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}

1272```

1273 

1274Monitor melaporkan:

1275 

1276```text theme={null}

1277Monitor "deploy-status" from plugin deploy-tools references ${user_config.*} in its command. The substituted value would be passed to a shell. Monitor commands cannot safely reference ${user_config.*}; have the monitor script read the value from a config file or prompt instead.

1278```

1279 

1280MCP `headersHelper` melaporkan:

1281 

1282```text theme={null}

1283headersHelper for MCP server 'internal-api' references ${user_config.*}. The substituted value would be passed to a shell; read the value inside the helper script instead (e.g. from an env var set in the server's "env" block).

1284```

1285 

1286**Yang harus dilakukan:**

1287 

1288* Untuk hook, tambahkan array `args` sehingga berjalan dalam [exec form](/id/hooks#exec-form-and-shell-form), di mana setiap `${user_config.KEY}` menjadi satu argumen tanpa shell di antaranya. Atau lepaskan referensi dan baca variabel lingkungan `$CLAUDE_PLUGIN_OPTION_<KEY>` di dalam skrip

1289* Untuk monitor, lepaskan referensi dan buat skrip monitor membaca nilai dari file konfigurasi

1290* Untuk `headersHelper`, pindahkan `${user_config.KEY}` ke dalam bidang `headers` server, yang tidak diurai shell, atau baca nilai di dalam skrip helper

1291 

1292<h2 id="tool-errors">

1293 Kesalahan Tool

1294</h2>

1295 

1296Kesalahan ini berasal dari tool bawaan Claude yang menolak input. Claude memperbaiki sebagian besar kesalahan tool secara otomatis; dua kesalahan di bawah ini memerlukan perubahan dari Anda, karena berasal dari definisi subagent atau aturan izin yang Anda kontrol.

1297 

1298<h3 id="agent-would-be-spawned-with-zero-tools">

1299 Agent would be spawned with zero tools

1300</h3>

1301 

1302Tidak ada yang ada dalam [daftar `tools` subagent](/id/sub-agents#supported-frontmatter-fields) yang terselesaikan menjadi tool, jadi Claude Code menolak untuk meluncurkan subagent daripada memulai yang tidak dapat bertindak. Pesan mengelompokkan entri berdasarkan alasan mereka tidak terselesaikan: bukan tool yang dikenali, tool yang tidak tersedia untuk subagent, atau dikenali tetapi tidak cocok dengan tool apa pun dalam sesi saat ini. Menghilangkan bidang `tools` tidak pernah memicu penolakan ini. Pola server MCP seperti `mcp__github__*` tidak dikecualikan: ketika tidak ada tool yang terhubung berasal dari server itu, peluncuran ditolak dengan pola dalam grup yang tidak cocok dengan apa pun. Sebelum v2.1.208, subagent diluncurkan tanpa tool dan mengembalikan hasil yang kosong atau membingungkan.

1303 

1304```text theme={null}

1305Agent 'code-reviewer' would be spawned with zero tools — refusing. Its tools list resolved to nothing: unrecognized [Grpe]. Fix the agent's tools frontmatter or pass a different subagent_type.

1306```

1307 

1308**Yang harus dilakukan:**

1309 

1310* Perbaiki setiap entri yang dinamai kesalahan terhadap [tool yang tersedia untuk subagent](/id/sub-agents#available-tools)

1311* Hapus entri untuk tool yang tidak dimiliki sesi, seperti tool MCP dari server yang tidak terhubung

1312* Untuk memberikan subagent setiap tool yang dimiliki induk, hapus bidang `tools` daripada membuat daftar tool

1313 

1314<h3 id="file-is-covered-by-a-read-deny-rule">

1315 File is covered by a Read deny rule

1316</h3>

1317 

1318Tool Edit dipanggil pada jalur yang cocok dengan [aturan deny `Read`](/id/permissions#read-and-edit), termasuk membuat file baru di jalur itu. Pengeditan menulis ulang konten yang harus dapat dibaca Claude kembali, jadi panggilan ditolak sebelum akses file apa pun. Aturan memblokir tool Edit saja: Write dan NotebookEdit tidak tercakup oleh aturan deny `Read`. Sebelum v2.1.208, hanya aturan deny `Edit` yang memblokir pengeditan, dan aturan deny `Read` saja tidak.

1319 

1320```text theme={null}

1321File is covered by a Read deny rule in your permission settings and cannot be edited.

1322```

1323 

1324**Yang harus dilakukan:**

1325 

1326* Jika Claude harus dapat mengedit file, hapus atau persempit aturan deny `Read` di `/permissions` atau di [settings](/id/settings#permission-settings)

1327* Jika file harus tetap tidak tersentuh, pertahankan aturan dan tambahkan aturan deny `Edit` untuk jalur yang sama sehingga tool Write dan NotebookEdit juga diblokir

1328 

1329<h2 id="background-session-errors">

1330 Kesalahan sesi latar belakang

1331</h2>

1332 

1333[Sesi latar belakang](/id/agent-view) berjalan tanpa terminal interaktif mereka sendiri, jadi perintah yang membutuhkan satu berperilaku berbeda di sana. Pesan-pesan ini muncul dalam transkrip sesi latar belakang, dalam tampilan agen atau setelah melampirkan.

1334 

1335<h3 id="commands-refused-in-a-background-session">

1336 Perintah yang ditolak dalam sesi latar belakang

1337</h3>

1338 

1339Perintah yang membuka dialog interaktif ditolak dalam sesi latar belakang dengan pesan yang menyebutkan formulir yang berfungsi di sana atau memberi tahu Anda untuk menjalankan perintah dari terminal biasa. `/install-github-app`, daftar pengaturan `/mcp`, dan tindakan autentikasi dalam menu server MCP semuanya ditolak dengan cara ini. Sebelum v2.1.208, mereka membuka dialog mereka di dalam sesi latar belakang.

1340{/* max-version: 2.1.208 */}Dalam v2.1.208 saja, pemilih `/model` juga ditolak dalam sesi latar belakang, dan `/upgrade` mencetak URL upgrade alih-alih membuka browser.

1341 

1342Redaksi menyebutkan perintah yang ditolak. Daftar pengaturan `/mcp` melaporkan:

1343 

1344```text theme={null}

1345Can't open MCP settings in a background session — use `/mcp enable|disable|reconnect <server>` to steer, or run /mcp from an interactive terminal to authenticate.

1346```

1347 

1348**Yang harus dilakukan:**

1349 

1350* Gunakan formulir yang disebutkan pesan, seperti `/mcp reconnect <server>`, `/mcp enable`, atau `/mcp disable`

1351* Untuk alur masuk dan otorisasi, jalankan perintah dari sesi `claude` biasa dalam terminal

1352 

1353<h3 id="claude_code_process_wrapper-launcher-errors">

1354 Kesalahan peluncur CLAUDE\_CODE\_PROCESS\_WRAPPER

1355</h3>

1356 

1357[`CLAUDE_CODE_PROCESS_WRAPPER`](/id/corporate-launcher) diatur, dan nilainya tidak dapat digunakan, jadi Claude Code menolak untuk memulai proses yang terpengaruh daripada menjalankannya tanpa peluncur. Masalah konfigurasi dilaporkan dengan pesan yang dimulai dengan nama variabel dan menyatakan alasannya, misalnya:

1358 

1359```text theme={null}

1360CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file

1361```

1362 

1363Peluncur yang dimulai tetapi keluar tanpa mengganti dirinya dengan Claude Code gagal dalam sesi yang sedang dimulai, dan baris sesi dalam tampilan agen melaporkan bahwa peluncur `must exec, not daemonize`, diikuti oleh apa pun yang dicetak peluncur. Sesi yang tidak dapat dimulai atau mencapai layanan latar belakang karena peluncur melaporkan masalah peluncur sebagai alasan di dalam `Couldn't reach the background service (...)`.

1364 

1365**Yang harus dilakukan:**

1366 

1367* Atur variabel ke jalur absolut dari executable yang diakhiri dengan memanggil `exec "$@"`. Lihat [kontrak peluncur](/id/corporate-launcher#the-launcher-contract) untuk kontrak lengkap

1368* Periksa `/status`, yang menunjukkan perintah peluncuran yang diselesaikan dalam entri Self-exec-nya dan memperingatkan ketika layanan latar belakang yang berjalan tidak cocok, atau jalankan `claude daemon status` dari shell

1369* Setelah memperbaiki nilai dalam blok `env` dari [pengaturan](/id/corporate-launcher#set-up-the-launcher), mulai ulang layanan latar belakang dengan `claude daemon stop --any` sehingga pengiriman berikutnya memulai yang dibungkus

1370 

1143<h2 id="configuration-warnings">1371<h2 id="configuration-warnings">

1144 Peringatan Konfigurasi1372 Peringatan Konfigurasi

1145</h2>1373</h2>


1160 1388 

1161* Jalankan `claude` di direktori dan terima dialog kepercayaan. {/* min-version: 2.1.200 */}Dialog muncul bahkan ketika direktori induk sudah dipercaya, mencantumkan aturan yang ditahan, dan memungkinkan Anda menolak dan terus bekerja tanpanya. Sebelum v2.1.200, tidak ada dialog yang muncul dalam situasi itu, jadi langkah ini tidak dapat diselesaikan di sana.1389* Jalankan `claude` di direktori dan terima dialog kepercayaan. {/* min-version: 2.1.200 */}Dialog muncul bahkan ketika direktori induk sudah dipercaya, mencantumkan aturan yang ditahan, dan memungkinkan Anda menolak dan terus bekerja tanpanya. Sebelum v2.1.200, tidak ada dialog yang muncul dalam situasi itu, jadi langkah ini tidak dapat diselesaikan di sana.

1162* Dalam [mode non-interaktif](/id/headless) dengan `-p` tidak ada dialog yang ditampilkan. Atur entri `hasTrustDialogAccepted` dalam `~/.claude.json` menggunakan kunci `projects` yang tepat yang dicetak pesan.1390* Dalam [mode non-interaktif](/id/headless) dengan `-p` tidak ada dialog yang ditampilkan. Atur entri `hasTrustDialogAccepted` dalam `~/.claude.json` menggunakan kunci `projects` yang tepat yang dicetak pesan.

1163* {/* min-version: 2.1.200 */}Jika pesan menyebutkan `.claude/settings.local.json` dan Anda memulai Claude Code di luar repositori git atau di direktori home Anda, perbarui ke v2.1.200 atau lebih baru. Versi 2.1.196 hingga 2.1.199 memperlakukan `.claude/settings.local.json` Anda sendiri sebagai yang disediakan repositori di workspace tersebut. Lihat [Aturan allow proyek dan kepercayaan workspace](/id/permissions#project-allow-rules-and-workspace-trust).1391* {/* min-version: 2.1.200 */}Jika pesan menyebutkan `.claude/settings.local.json` dan Anda memulai Claude Code di luar repositori git atau di direktori home Anda, perbarui ke v2.1.200 atau lebih baru. Versi 2.1.196 hingga 2.1.199 memperlakukan `.claude/settings.local.json` Anda sendiri sebagai yang disediakan repositori di workspace tersebut. {/* min-version: 2.1.207 */}Pada v2.1.207 dan lebih baru, pembaruan tidak cukup di luar repositori git jika Anda belum mempercayai folder: menentukan bahwa folder tidak berada di dalam repositori menjalankan git, dan Claude Code menjalankan pemeriksaan itu hanya setelah Anda menerima dialog kepercayaan, jadi gunakan langkah pertama. Direktori home Anda dan [configuration home](/id/permissions#project-allow-rules-and-workspace-trust) lainnya dikecualikan dan tidak menunggu dialog. Lihat [Project allow rules and workspace trust](/id/permissions#project-allow-rules-and-workspace-trust).

1164 1392 

1165<h2 id="responses-seem-lower-quality-than-usual">1393<h2 id="responses-seem-lower-quality-than-usual">

1166 Respons tampak berkualitas lebih rendah dari biasanya1394 Respons tampak berkualitas lebih rendah dari biasanya


1177Periksa ini terlebih dahulu:1405Periksa ini terlebih dahulu:

1178 1406 

1179* **Model selection**: jalankan `/model` untuk mengonfirmasi Anda berada di model yang Anda harapkan. Pilihan `/model` sebelumnya atau variabel lingkungan `ANTHROPIC_MODEL` mungkin membuat Anda berada di model yang lebih kecil dari yang Anda maksudkan.1407* **Model selection**: jalankan `/model` untuk mengonfirmasi Anda berada di model yang Anda harapkan. Pilihan `/model` sebelumnya atau variabel lingkungan `ANTHROPIC_MODEL` mungkin membuat Anda berada di model yang lebih kecil dari yang Anda maksudkan.

1180* **Effort level**: jalankan `/effort` untuk memeriksa tingkat reasoning saat ini dan naikkan untuk debugging atau pekerjaan desain yang sulit. Default bervariasi menurut model, jadi periksa sebelum menganggap Anda di bawah maksimum. Lihat [Adjust effort level](/id/model-config#adjust-effort-level) untuk default per-model dan pintasan `ultrathink`.1408* **Effort level**: jalankan `/effort` untuk memeriksa tingkat reasoning saat ini dan naikkan untuk debugging atau pekerjaan desain yang sulit. Default bervariasi menurut model, jadi periksa sebelum mengasumsikan Anda di bawah maksimum. Lihat [Adjust effort level](/id/model-config#adjust-effort-level) untuk default per-model dan pintasan `ultrathink`.

1181* **Context pressure**: jalankan `/context` untuk melihat seberapa penuh jendela tersebut. Jika mendekati kapasitas, jalankan `/compact` pada titik alami atau `/clear` untuk memulai dari awal. Lihat [Explore the context window](/id/context-window) untuk cara auto-compact mempengaruhi giliran sebelumnya.1409* **Context pressure**: jalankan `/context` untuk melihat seberapa penuh jendela tersebut. Jika mendekati kapasitas, jalankan `/compact` pada titik alami atau `/clear` untuk memulai dari awal. Lihat [Explore the context window](/id/context-window) untuk cara auto-compact mempengaruhi giliran sebelumnya.

1182* **Stale instructions**: file `CLAUDE.md` yang besar atau ketinggalan zaman dan definisi alat MCP mengonsumsi konteks dan dapat mengarahkan respons. {/* min-version: 2.1.205 */}Pemeriksaan `/doctor` menandai file memori yang berukuran besar dan ekstensi yang tidak digunakan, dan `/context` menampilkan penggunaan token alat MCP. Sebelum v2.1.205, `/doctor` membuka layar diagnostik yang menandai file memori yang berukuran besar dan definisi subagent.1410* **Stale instructions**: file `CLAUDE.md` yang besar atau ketinggalan zaman dan definisi alat MCP mengonsumsi konteks dan dapat mengarahkan respons. {/* min-version: 2.1.205 */}Pemeriksaan `/doctor` menandai file memori yang berukuran besar dan ekstensi yang tidak digunakan, dan `/context` menampilkan penggunaan token alat MCP. Sebelum v2.1.205, `/doctor` membuka layar diagnostik yang menandai file memori yang berukuran besar dan definisi subagent.

1183 1411 

1184Ketika respons salah, rewinding biasanya bekerja lebih baik daripada membalas dengan koreksi. Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke sebelum giliran yang buruk, kemudian rephrase prompt dengan spesifik lebih lanjut. Mengoreksi dalam-thread menjaga upaya yang salah dalam konteks, yang dapat menambatkan jawaban nanti ke dalamnya. Lihat [Checkpointing](/id/checkpointing).1412Ketika respons salah, rewinding biasanya bekerja lebih baik daripada membalas dengan koreksi. Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke sebelum giliran yang buruk, kemudian rephrase prompt dengan spesifik lebih lanjut. Mengoreksi dalam-thread menjaga upaya yang salah dalam konteks, yang dapat menambatkan jawaban kemudian ke dalamnya. Lihat [Checkpointing](/id/checkpointing).

1185 1413 

1186Jika kualitas masih tampak tidak sesuai setelah memeriksa di atas, jalankan `/feedback` dan jelaskan apa yang Anda harapkan versus apa yang Anda dapatkan. Feedback yang dikirimkan dengan cara ini mencakup transkrip percakapan, yang merupakan cara tercepat bagi Anthropic untuk mendiagnosis regresi nyata. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda.1414Jika kualitas masih tampak tidak sesuai setelah memeriksa di atas, jalankan `/feedback` dan jelaskan apa yang Anda harapkan versus apa yang Anda dapatkan. Feedback yang dikirimkan dengan cara ini mencakup transkrip percakapan, yang merupakan cara tercepat bagi Anthropic untuk mendiagnosis regresi nyata. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda.

1187 1415 

1188{/* min-version: 2.1.201 */}Jika Sonnet 5 menolak permintaan dan mengutip injeksi prompt yang dicurigai pada Claude Code v2.1.200 atau lebih awal, jalankan `claude update` untuk mengambil perbaikan v2.1.201.1416Jika Claude memperingatkan tentang injeksi prompt yang dicurigai, atau menolak permintaan karena injeksi yang dicurigai, dan teks yang dinamai peringatan adalah konteks yang ditambahkan Claude Code ke percakapan secara otomatis daripada konten file atau web, jalankan `claude update` dan coba lagi. Jika peringatan berulang setelah memperbarui, [laporkan](/id/#report-an-error) daripada menempel konten yang ditandai kembali ke dalam prompt. {/* min-version: 2.1.201 */}Sebelum v2.1.201, Sonnet 5 menolak beberapa permintaan dengan cara yang sama.

1189 1417 

1190<h2 id="report-an-error">1418<h2 id="report-an-error">

1191 Laporkan kesalahan1419 Laporkan kesalahan


1199 1427 

1200Jika kesalahan tidak tercantum di sini atau perbaikan yang disarankan tidak membantu:1428Jika kesalahan tidak tercantum di sini atau perbaikan yang disarankan tidak membantu:

1201 1429 

1202* 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. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan penyedia pihak ketiga lainnya, `/feedback` menyimpan arsip lokal yang dapat Anda kirimkan ke perwakilan akun Anthropic Anda.1430* Jalankan `/feedback` di dalam Claude Code untuk mengirimkan transkrip dan deskripsi ke Anthropic. Perintah ini juga menawarkan untuk membuka masalah GitHub yang sudah diisi sebelumnya. Pengiriman ke Anthropic memerlukan [authentication](/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.

1203* Jalankan `claude doctor` dari shell Anda untuk diagnostik sistem file hanya-baca dari instalasi Anda, atau jalankan pemeriksaan `/doctor` di dalam Claude Code untuk menemukan dan memperbaiki masalah konfigurasi1431* 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

1204* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif1432* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif

1205* Cari [masalah yang ada](https://github.com/anthropics/claude-code/issues) di GitHub1433* Cari [existing issues](https://github.com/anthropics/claude-code/issues) di GitHub

fast-mode.md +3 −1

Details

47 47 

48Ketika Anda menonaktifkan mode cepat dengan `/fast` lagi, Anda tetap berada di Opus. Model tidak kembali ke model sebelumnya. Untuk beralih ke model yang berbeda, gunakan `/model`.48Ketika Anda menonaktifkan mode cepat dengan `/fast` lagi, Anda tetap berada di Opus. Model tidak kembali ke model sebelumnya. Untuk beralih ke model yang berbeda, gunakan `/model`.

49 49 

50Beralih ke model yang tidak mendukung mode cepat mematikan mode cepat. {/* min-version: 2.1.208 */}Beralih kembali ke model Opus yang didukung menyalakannya lagi ketika preferensi mode cepat yang disimpan Anda aktif, preferensi yang sama yang dimulai sesi baru secara default. Dengan [per-session opt-in](#require-per-session-opt-in) yang dikonfigurasi, beralih kembali tidak menyalakan mode cepat lagi; jalankan `/fast` untuk mengaktifkannya kembali. Mode cepat tidak pernah menyala untuk sesi yang preferensi yang disimpannya mati, dan ikon `↯` serta konfirmasi `Fast mode ON` muncul kapan pun itu diaktifkan. Sebelum v2.1.208, mode cepat tetap mati setelah Anda beralih kembali sampai Anda menjalankan `/fast` lagi.

51 

50Opus 4.8 adalah default mode cepat di Claude Code v2.1.154 dan lebih baru. Pada v2.1.142 hingga v2.1.153, mode cepat default ke Opus 4.7.52Opus 4.8 adalah default mode cepat di Claude Code v2.1.154 dan lebih baru. Pada v2.1.142 hingga v2.1.153, mode cepat default ke Opus 4.7.

51 53 

52<h2 id="understand-the-cost-tradeoff">54<h2 id="understand-the-cost-tradeoff">


100Mode cepat memerlukan semua hal berikut:102Mode cepat memerlukan semua hal berikut:

101 103 

102* **Hanya API Anthropic atau langganan**: mode cepat tersedia melalui API Konsol Anthropic dan untuk paket langganan Claude menggunakan penggunaan kredit. Mode ini tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform di AWS.104* **Hanya API Anthropic atau langganan**: mode cepat tersedia melalui API Konsol Anthropic dan untuk paket langganan Claude menggunakan penggunaan kredit. Mode ini tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform di AWS.

103* **Penggunaan kredit diaktifkan**: akun Anda harus memiliki penggunaan kredit diaktifkan, yang memungkinkan penagihan di luar penggunaan yang disertakan dalam paket Anda. Untuk akun individual, aktifkan ini di [pengaturan penagihan Konsol Anda](https://platform.claude.com/settings/organization/billing). Untuk Teams dan Enterprise, admin harus mengaktifkan penggunaan kredit untuk organisasi.105* **Penggunaan kredit diaktifkan**: akun Anda harus memiliki penggunaan kredit diaktifkan, yang memungkinkan penagihan di luar penggunaan yang disertakan dalam paket Anda. Untuk akun individual, aktifkan ini di [pengaturan penagihan Konsol Anda](https://platform.claude.com/settings/billing). Untuk Teams dan Enterprise, admin harus mengaktifkan penggunaan kredit untuk organisasi.

104 106 

105<Note>107<Note>

106 Penggunaan mode cepat ditagih langsung ke penggunaan kredit, bahkan jika Anda memiliki penggunaan yang tersisa di paket Anda. Ini berarti token mode cepat tidak dihitung terhadap penggunaan yang disertakan dalam paket Anda dan dikenakan biaya dengan tarif mode cepat dari token pertama.108 Penggunaan mode cepat ditagih langsung ke penggunaan kredit, bahkan jika Anda memiliki penggunaan yang tersisa di paket Anda. Ini berarti token mode cepat tidak dihitung terhadap penggunaan yang disertakan dalam paket Anda dan dikenakan biaya dengan tarif mode cepat dari token pertama.

Details

6 6 

7> Bandingkan fitur Claude Code mana yang tersedia di seluruh paket langganan Anthropic, Anthropic Console, Amazon Bedrock, Claude Platform di AWS, Platform Agent Google Cloud, dan Microsoft Foundry.7> Bandingkan fitur Claude Code mana yang tersedia di seluruh paket langganan Anthropic, Anthropic Console, Amazon Bedrock, Claude Platform di AWS, Platform Agent Google Cloud, dan Microsoft Foundry.

8 8 

9CLI Claude Code dan semua yang berjalan secara lokal bekerja identik di setiap penyedia. Untuk instruksi setup per penyedia, lihat [Ringkasan deployment enterprise](/id/third-party-integrations). Untuk langsung ke apa yang hilang di penyedia Anda, lihat tab [ringkasan per penyedia](#summary-by-provider).9CLI Claude Code dan semua yang berjalan secara lokal bekerja di setiap penyedia. Untuk instruksi setup per penyedia, lihat [Ringkasan deployment enterprise](/id/third-party-integrations). Untuk langsung ke apa yang hilang di penyedia Anda, lihat tab [ringkasan per penyedia](#summary-by-provider).

10 10 

11Dalam tabel di bawah, ✓ berarti tersedia, ✗ berarti tidak tersedia, dan "Lihat catatan" menghubungkan ke catatan kaki untuk dukungan parsial. Kualifikasi setelah ✓ mempersempit ketersediaan ke subset tersebut, dan "Admin-enabled" berarti fitur dimatikan sampai admin organisasi menyalakannya.11Dalam tabel di bawah, ✓ berarti tersedia, ✗ berarti tidak tersedia, dan "Lihat catatan" menghubungkan ke catatan kaki untuk dukungan parsial. Kualifikasi setelah ✓ mempersempit ketersediaan ke subset tersebut, dan "Admin-enabled" berarti fitur dimatikan sampai admin organisasi menyalakannya.

12 12 


27 Fitur yang tersedia di setiap penyedia27 Fitur yang tersedia di setiap penyedia

28</h3>28</h3>

29 29 

30Ini bekerja identik di setiap penyedia:30Ini bekerja di setiap penyedia:

31 31 

32* [CLI](/id/quickstart) dan [Agent SDK](/id/agent-sdk/overview)32* [CLI](/id/quickstart) dan [Agent SDK](/id/agent-sdk/overview)

33* Ekstensi [VS Code](/id/vs-code) dan [JetBrains](/id/jetbrains)33* Ekstensi [VS Code](/id/vs-code) dan [JetBrains](/id/jetbrains)


36* [Checkpoints](/id/checkpointing), [sandboxing](/id/sandboxing), dan [Workflows](/id/workflows)36* [Checkpoints](/id/checkpointing), [sandboxing](/id/sandboxing), dan [Workflows](/id/workflows)

37* Metrik [OpenTelemetry](/id/monitoring-usage) dan [file pengaturan terkelola](/id/settings#settings-files)37* Metrik [OpenTelemetry](/id/monitoring-usage) dan [file pengaturan terkelola](/id/settings#settings-files)

38 38 

39Tiga di antaranya memiliki perbedaan khusus penyedia:

40 

41* **Server MCP**: [konektor dari claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) dimuat hanya ketika langganan claude.ai Anda adalah metode autentikasi aktif, dan [pencarian alat](/id/mcp#configure-tool-search) dimatikan secara default di Platform Agent Google Cloud dan ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama

42* **Subagents**: [subagent Explore](/id/sub-agents#built-in-subagents) bawaan membatasi model yang diwariskan pada Opus di Claude API, dan mewarisi model percakapan utama secara langsung di penyedia lain mana pun, termasuk Claude Platform di AWS

43* **[Commands](/id/commands#all-commands)**: `/design-sync` dan `/radio` tidak tersedia di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, dan `/voice` memerlukan akun claude.ai

44 

39<h3 id="features-that-require-a-claude-subscription">45<h3 id="features-that-require-a-claude-subscription">

40 Fitur yang memerlukan langganan Claude46 Fitur yang memerlukan langganan Claude

41</h3>47</h3>


53* [Artifacts](/id/artifacts): paket Pro, Max, Team, dan Enterprise59* [Artifacts](/id/artifacts): paket Pro, Max, Team, dan Enterprise

54* [Voice dictation](/id/voice-dictation)60* [Voice dictation](/id/voice-dictation)

55 61 

56Desktop adalah pengecualian parsial: deployment Enterprise dapat merutekan Desktop ke Platform Agent Google Cloud atau penyedia gateway melalui [pengaturan terkelola](https://support.claude.com/en/articles/12622667-enterprise-configuration), dan [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview) menjalankan tab Code di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, atau gateway LLM yang di-host sendiri. Untuk ketersediaan per-paket fitur ini, lihat [Ketersediaan per paket langganan](#availability-by-subscription-plan).62Desktop adalah pengecualian parsial: [perutean gateway dapat dikonfigurasi di aplikasi atau oleh administrator](/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).

57 63 

58<h3 id="cli-capabilities-that-vary-by-provider">64<h3 id="cli-capabilities-that-vary-by-provider">

59 Kemampuan CLI yang bervariasi per penyedia65 Kemampuan CLI yang bervariasi per penyedia


130 <td>✓</td>136 <td>✓</td>

131 <td>✓</td>137 <td>✓</td>

132 <td>Lihat catatan <sup><a href="#fn3">3</a></sup></td>138 <td>Lihat catatan <sup><a href="#fn3">3</a></sup></td>

133 <td></td>139 <td>Lihat catatan <sup><a href="#fn3">3</a></sup></td>

134 <td>Lihat catatan <sup><a href="#fn3">3</a></sup></td>140 <td>Lihat catatan <sup><a href="#fn3">3</a></sup></td>

135 <td>Lihat catatan <sup><a href="#fn3">3</a></sup></td>141 <td>Lihat catatan <sup><a href="#fn3">3</a></sup></td>

136 </tr>142 </tr>


200</table>206</table>

201 207 

202<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Di Platform Agent Google Cloud, web search tersedia untuk model Claude 4 dan yang lebih baru.<br />208<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Di Platform Agent Google Cloud, web search tersedia untuk model Claude 4 dan yang lebih baru.<br />

203<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Memerlukan `CLAUDE_CODE_ENABLE_AUTO_MODE`. Lihat [Konfigurasi Auto mode](/id/auto-mode-config).<br />209<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Di penyedia ini, auto mode mendukung hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8. Lihat [Konfigurasi Auto mode](/id/auto-mode-config). {/* min-version: 2.1.207 */}Di v2.1.158 hingga v2.1.206, auto mode di penyedia ini juga memerlukan pengaturan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.<br />

204<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Interval eksplisit seperti `/loop every 2 hours` bekerja di setiap penyedia. Di Amazon Bedrock, Platform Agent Google Cloud, dan Microsoft Foundry, `/loop` tidak dapat memilih interval sendiri atau menyediakan prompt pemeliharaan default, jadi prompt tanpa interval berjalan setiap 10 menit, dan `/loop` tanpa argumen menampilkan pesan penggunaan. Lihat [Scheduled tasks](/id/scheduled-tasks).<br />210<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Interval eksplisit seperti `/loop every 2 hours` bekerja di setiap penyedia. Di Amazon Bedrock, Claude Platform di AWS, Platform Agent Google Cloud, dan Microsoft Foundry, `/loop` tidak dapat memilih interval sendiri atau menyediakan prompt pemeliharaan default, jadi prompt tanpa interval berjalan setiap 10 menit, dan `/loop` tanpa argumen menampilkan pesan penggunaan. Lihat [Scheduled tasks](/id/scheduled-tasks).<br />

205<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Tunduk pada perjanjian Anda dengan penyedia cloud.<br />211<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Tunduk pada perjanjian Anda dengan penyedia cloud.<br />

206<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Dashboard dan API saja. [Metrik kontribusi](/id/analytics#enable-contribution-metrics) memerlukan organisasi Team atau Enterprise claude.ai.212<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Dashboard dan API saja. [Metrik kontribusi](/id/analytics#enable-contribution-metrics) memerlukan organisasi Team atau Enterprise claude.ai.

207 213 


213 Ringkasan per penyedia219 Ringkasan per penyedia

214</h3>220</h3>

215 221 

216Setiap 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. Di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, pelaporan kesalahan dan telemetri ke Anthropic dimatikan secara default. Lihat [perilaku default per penyedia API](/id/data-usage#default-behaviors-by-api-provider) untuk lalu lintas apa yang masih mencapai Anthropic dan cara untuk tidak berpartisipasi.222Setiap tab mencantumkan apa yang tidak tersedia atau didukung sebagian di penyedia tersebut, dengan alternatif jika ada. Semua yang tidak tercantum bekerja sama seperti di langganan Claude, terlepas dari [perbedaan khusus penyedia](#features-available-on-every-provider) yang dicatat di atas. Di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, pelaporan kesalahan dan telemetri ke Anthropic dimatikan secara default. Lihat [perilaku default per penyedia API](/id/data-usage#default-behaviors-by-api-provider) untuk lalu lintas apa yang masih mencapai Anthropic dan cara untuk tidak berpartisipasi.

217 223 

218<Tabs>224<Tabs>

219 <Tab title="Amazon Bedrock">225 <Tab title="Amazon Bedrock">

220 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [web search](/id/tools-reference#websearch-tool-behavior), [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [dashboard analitik](/id/analytics), dan [pengaturan terkelola server](/id/server-managed-settings).226 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [web search](/id/tools-reference#websearch-tool-behavior), [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [dashboard analitik](/id/analytics), [pengaturan terkelola server](/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/id/commands#all-commands).

221 227 

222 **Dukungan parsial:**228 **Dukungan parsial:**

223 229 

224 * [Desktop](/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)230 * [Desktop](/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

225 * [Auto mode](/id/auto-mode-config): atur `CLAUDE_CODE_ENABLE_AUTO_MODE`231 * [Auto mode](/id/auto-mode-config): Sonnet 5, Opus 4.7, dan Opus 4.8 saja

226 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja232 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja

227 * [Zero Data Retention](/id/zero-data-retention): tunduk pada perjanjian AWS Anda233 * [Zero Data Retention](/id/zero-data-retention): tunduk pada perjanjian AWS Anda

228 234 


230 </Tab>236 </Tab>

231 237 

232 <Tab title="Claude Platform di AWS">238 <Tab title="Claude Platform di AWS">

233 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [dashboard analitik](/id/analytics), dan [pengaturan terkelola server](/id/server-managed-settings).239 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [dashboard analitik](/id/analytics), [pengaturan terkelola server](/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/id/commands#all-commands).

234 240 

235 **Tersedia** di mana Bedrock tidak: [web search](/id/tools-reference#websearch-tool-behavior), [auto mode](/id/auto-mode-config) tanpa flag opt-in, dan [`/loop` self-pacing](/id/scheduled-tasks).241 **Tersedia di mana Amazon Bedrock tidak:** [web search](/id/tools-reference#websearch-tool-behavior).

236 242 

237 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/id/scheduled-tasks) alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](/id/github-actions) atau [GitLab CI/CD](/id/gitlab-ci-cd).243 **Dukungan parsial:**

244 

245 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja

246 

247 **Alternatif:** untuk penjadwalan, gunakan [`/loop`](/id/scheduled-tasks) dengan interval eksplisit alih-alih `/schedule`. Untuk sesi cloud, gunakan [GitHub Actions](/id/github-actions) atau [GitLab CI/CD](/id/gitlab-ci-cd).

238 </Tab>248 </Tab>

239 249 

240 <Tab title="Platform Agent Google Cloud">250 <Tab title="Platform Agent Google Cloud">

241 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [dashboard analitik](/id/analytics), dan [pengaturan terkelola server](/id/server-managed-settings).251 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [dashboard analitik](/id/analytics), [pengaturan terkelola server](/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/id/commands#all-commands).

242 252 

243 **Dukungan parsial:**253 **Dukungan parsial:**

244 254 

245 * [Desktop](/id/desktop): melalui [pengaturan terkelola](https://support.claude.com/en/articles/12622667-enterprise-configuration) atau [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)255 * [Desktop](/id/desktop): melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration) atau [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

246 * [Web search](/id/tools-reference#websearch-tool-behavior): model Claude 4 dan yang lebih baru256 * [Web search](/id/tools-reference#websearch-tool-behavior): model Claude 4 dan yang lebih baru

247 * [Auto mode](/id/auto-mode-config): atur `CLAUDE_CODE_ENABLE_AUTO_MODE`257 * [Auto mode](/id/auto-mode-config): Sonnet 5, Opus 4.7, dan Opus 4.8 saja

248 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja258 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja

249 * [Zero Data Retention](/id/zero-data-retention): tunduk pada perjanjian Google Cloud Anda259 * [Zero Data Retention](/id/zero-data-retention): tunduk pada perjanjian Google Cloud Anda

250 260 


252 </Tab>262 </Tab>

253 263 

254 <Tab title="Microsoft Foundry">264 <Tab title="Microsoft Foundry">

255 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [GitHub Actions](/id/github-actions) dan [GitLab CI/CD](/id/gitlab-ci-cd), [dashboard analitik](/id/analytics), dan [pengaturan terkelola server](/id/server-managed-settings).265 **Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription), ditambah [fast mode](/id/fast-mode), [Advisor](/id/advisor), [Channels](/id/channels), [GitHub Actions](/id/github-actions) dan [GitLab CI/CD](/id/gitlab-ci-cd), [dashboard analitik](/id/analytics), [pengaturan terkelola server](/id/server-managed-settings), dan [perintah `/design-sync` dan `/radio`](/id/commands#all-commands).

256 266 

257 **Dukungan parsial:**267 **Dukungan parsial:**

258 268 

259 * [Desktop](/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)269 * [Desktop](/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

260 * [Auto mode](/id/auto-mode-config): atur `CLAUDE_CODE_ENABLE_AUTO_MODE`270 * [Auto mode](/id/auto-mode-config): Sonnet 5, Opus 4.7, dan Opus 4.8 saja

261 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja271 * [`/loop`](/id/scheduled-tasks): interval eksplisit saja

262 * [Zero Data Retention](/id/zero-data-retention): tunduk pada perjanjian Azure Anda272 * [Zero Data Retention](/id/zero-data-retention): tunduk pada perjanjian Azure Anda

263 273 


278Jika 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.288Jika 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.

279 289 

280| Fitur | Pro | Max | Team | Enterprise |290| Fitur | Pro | Max | Team | Enterprise |

281| :-------------------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |291| :-------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |

282| [Claude Code di web](/id/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |292| [Claude Code di web](/id/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

283| [Routines](/id/routines) | ✓ | ✓ | ✓ | ✓ |293| [Routines](/id/routines) | ✓ | ✓ | ✓ | ✓ |

284| [Remote Control](/id/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |294| [Remote Control](/id/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |


292| [Pengaturan terkelola server](/id/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |302| [Pengaturan terkelola server](/id/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |

293| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✓ | ✓ |303| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✓ | ✓ |

294| SCIM | ✗ | ✗ | ✗ | ✓ |304| SCIM | ✗ | ✗ | ✗ | ✓ |

295| [Compliance API](https://platform.claude.com/docs/en/api/admin-api/compliance/overview) | ✗ | ✗ | ✗ | ✓ |305| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |

296| [Zero Data Retention](/id/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |306| [Zero Data Retention](/id/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |

297 307 

298<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> Di Enterprise, memerlukan kursi premium atau kursi Chat + Claude Code. Lihat [Claude Code di web](/id/claude-code-on-the-web).<br />308<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> Di Enterprise, memerlukan kursi premium atau kursi Chat + Claude Code. Lihat [Claude Code di web](/id/claude-code-on-the-web).<br />

Details

73 Bandingkan fitur serupa73 Bandingkan fitur serupa

74</h3>74</h3>

75 75 

76Beberapa fitur dapat terlihat serupa. Berikut cara membedakannya.76Beberapa fitur dapat terlihat serupa. Untuk panduan yang lebih mendalam tentang memilih di antara mereka, lihat [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more) di blog. Berikut cara membedakannya.

77 77 

78<Tabs>78<Tabs>

79 <Tab title="Skill vs Subagent">79 <Tab title="Skill vs Subagent">

fullscreen.md +16 −3

Details

7> Aktifkan mode rendering yang lebih halus dan bebas flicker dengan dukungan mouse dan penggunaan memori yang stabil dalam percakapan panjang.7> Aktifkan mode rendering yang lebih halus dan bebas flicker dengan dukungan mouse dan penggunaan memori yang stabil dalam percakapan panjang.

8 8 

9<Note>9<Note>

10 Rendering fullscreen adalah [pratinjau penelitian](#research-preview) yang bersifat opt-in. Jalankan `/tui fullscreen` untuk beralih dalam percakapan Anda saat ini, atau atur `CLAUDE_CODE_NO_FLICKER=1` pada versi sebelum v2.1.110. Perilaku dapat berubah berdasarkan umpan balik.10 Rendering fullscreen adalah pratinjau penelitian yang bersifat opt-in. Jalankan `/tui fullscreen` untuk beralih dalam percakapan Anda saat ini. Perilaku dapat berubah berdasarkan umpan balik.

11</Note>11</Note>

12 12 

13Rendering fullscreen adalah jalur rendering alternatif untuk Claude Code CLI yang menghilangkan flicker, menjaga penggunaan memori tetap datar dalam percakapan panjang, dan menambahkan dukungan mouse. Ini menggambar antarmuka pada buffer layar alternatif terminal, seperti `vim` atau `htop`, dan hanya merender pesan yang saat ini terlihat. Ini mengurangi jumlah data yang dikirim ke terminal Anda pada setiap pembaruan.13Rendering fullscreen adalah jalur rendering alternatif untuk Claude Code CLI yang menghilangkan flicker, menjaga penggunaan memori tetap datar dalam percakapan panjang, dan menambahkan dukungan mouse. Ini menggambar antarmuka pada buffer layar alternatif terminal, seperti `vim` atau `htop`, dan hanya merender pesan yang saat ini terlihat. Ini mengurangi jumlah data yang dikirim ke terminal Anda pada setiap pembaruan.


24 24 

25Jalankan `/tui fullscreen` di dalam percakapan Claude Code apa pun. CLI menyimpan pengaturan [`tui`](/id/settings#available-settings) dan meluncurkan kembali ke fullscreen dengan percakapan Anda tetap utuh, sehingga Anda dapat beralih di tengah sesi tanpa kehilangan konteks. Jalankan `/tui default` untuk beralih kembali ke renderer klasik, atau `/tui` tanpa argumen untuk mencetak renderer mana yang aktif.25Jalankan `/tui fullscreen` di dalam percakapan Claude Code apa pun. CLI menyimpan pengaturan [`tui`](/id/settings#available-settings) dan meluncurkan kembali ke fullscreen dengan percakapan Anda tetap utuh, sehingga Anda dapat beralih di tengah sesi tanpa kehilangan konteks. Jalankan `/tui default` untuk beralih kembali ke renderer klasik, atau `/tui` tanpa argumen untuk mencetak renderer mana yang aktif.

26 26 

27Sesi yang diluncurkan kembali mempertahankan percakapan seperti yang muncul di layar. Jika Anda menjalankan [`/rewind`](/id/checkpointing#rewind-and-summarize) sebelumnya dalam sesi, peluncuran kembali dilanjutkan dari titik yang telah diputar balik daripada transkrip yang lebih panjang yang disimpan di disk. Sebelum v2.1.207, beralih renderer setelah rewind memulihkan percakapan yang telah dihapus oleh rewind.

28 

27Anda juga dapat mengatur variabel lingkungan `CLAUDE_CODE_NO_FLICKER` sebelum memulai Claude Code:29Anda juga dapat mengatur variabel lingkungan `CLAUDE_CODE_NO_FLICKER` sebelum memulai Claude Code:

28 30 

29```bash theme={null}31```bash theme={null}


57* **Klik di input prompt** untuk memposisikan kursor Anda di mana saja dalam teks yang Anda ketik.59* **Klik di input prompt** untuk memposisikan kursor Anda di mana saja dalam teks yang Anda ketik.

58* **Klik saran dalam daftar perintah `/` atau file `@`** untuk menerimanya. Mengarahkan kursor menyoroti baris di bawah kursor Anda.60* **Klik saran dalam daftar perintah `/` atau file `@`** untuk menerimanya. Mengarahkan kursor menyoroti baris di bawah kursor Anda.

59* **Klik opsi dalam menu pilih** untuk memilihnya. Ini mencakup prompt izin, `/model`, `/config`, dan dialog lainnya yang menampilkan daftar opsi. Mengarahkan kursor menunjukkan pointer pada baris di bawah kursor Anda. Memerlukan Claude Code v2.1.187 atau lebih baru.61* **Klik opsi dalam menu pilih** untuk memilihnya. Ini mencakup prompt izin, `/model`, `/config`, dan dialog lainnya yang menampilkan daftar opsi. Mengarahkan kursor menunjukkan pointer pada baris di bawah kursor Anda. Memerlukan Claude Code v2.1.187 atau lebih baru.

62* **Klik opsi dalam menu multi-pilih** untuk mengalihkannya, dan klik tombol kirim untuk mengonfirmasi pilihan Anda. Mengklik baris teks bebas, seperti baris `Other` dalam pertanyaan pilihan ganda, memfokuskan bidang inputnya sehingga Anda dapat mengetik jawaban. Memerlukan Claude Code v2.1.208 atau lebih baru.

60* **Klik hasil alat yang diciutkan** untuk memperluasnya dan melihat output lengkap. Klik lagi untuk menciutkan. Panggilan alat dan hasilnya berkembang bersama. Hanya pesan yang memiliki lebih banyak untuk ditampilkan yang dapat diklik.63* **Klik hasil alat yang diciutkan** untuk memperluasnya dan melihat output lengkap. Klik lagi untuk menciutkan. Panggilan alat dan hasilnya berkembang bersama. Hanya pesan yang memiliki lebih banyak untuk ditampilkan yang dapat diklik.

61* **Tahan `Cmd` di macOS, atau `Ctrl` di Linux dan Windows, dan klik URL atau jalur file** untuk membukanya. Jalur file dalam output alat, seperti yang dicetak setelah Edit atau Write, terbuka di aplikasi default Anda. URL `http://` dan `https://` biasa terbuka di browser Anda. Mulai dari v2.1.181, klik biasa tanpa menahan `Cmd` atau `Ctrl` tidak lagi membuka tautan, sesuai dengan perilaku terminal asli. Beberapa terminal macOS meneruskan `Cmd`+click ke aplikasi yang berjalan alih-alih membuka tautan sendiri, dan protokol mouse terminal tidak memiliki cara untuk mengenkode kunci `Cmd`, jadi Claude Code menerimanya sebagai klik biasa. Di Ghostty, dan mulai dari v2.1.198 di Warp di macOS, Claude Code mendeteksi ini dan membiarkan klik biasa pada tautan membukanya, dan menahan `Cmd` masih berfungsi. Di terminal terintegrasi VS Code dan terminal berbasis xterm.js serupa, Claude Code menunda ke penanganan tautan terminal sendiri, yang menggunakan gestur yang sama.64* **Tahan `Cmd` di macOS, atau `Ctrl` di Linux dan Windows, dan klik URL atau jalur file** untuk membukanya. Jalur file dalam output alat, seperti yang dicetak setelah Edit atau Write, terbuka di aplikasi default Anda. URL `http://` dan `https://` biasa terbuka di browser Anda. Mulai dari v2.1.181, klik biasa tanpa menahan `Cmd` atau `Ctrl` tidak lagi membuka tautan, sesuai dengan perilaku terminal asli. Beberapa terminal macOS meneruskan `Cmd`+click ke aplikasi yang berjalan alih-alih membuka tautan sendiri, dan protokol mouse terminal tidak memiliki cara untuk mengenkode kunci `Cmd`, jadi Claude Code menerimanya sebagai klik biasa. Di Ghostty, dan mulai dari v2.1.198 di Warp di macOS, Claude Code mendeteksi ini dan membiarkan klik biasa pada tautan membukanya, dan menahan `Cmd` masih berfungsi. Di terminal terintegrasi VS Code dan terminal berbasis xterm.js serupa, Claude Code menunda ke penanganan tautan terminal sendiri, yang menggunakan gestur yang sama.

62* **Klik dan seret** untuk memilih teks di mana saja dalam percakapan. Klik ganda memilih kata, mencocokkan batas kata iTerm2 sehingga jalur file memilih sebagai satu unit. Mulai dari v2.1.198, klik ganda pada URL memilih seluruh URL, termasuk skema. Klik tiga kali memilih baris.65* **Klik dan seret** untuk memilih teks di mana saja dalam percakapan. Klik ganda memilih kata, mencocokkan batas kata iTerm2 sehingga jalur file memilih sebagai satu unit. Mulai dari v2.1.198, klik ganda pada URL memilih seluruh URL, termasuk skema. Klik tiga kali memilih baris.


81| `Ctrl+End` | Lompat ke pesan terbaru dan aktifkan kembali auto-follow |84| `Ctrl+End` | Lompat ke pesan terbaru dan aktifkan kembali auto-follow |

82| Roda mouse | Gulir beberapa baris sekaligus |85| Roda mouse | Gulir beberapa baris sekaligus |

83 86 

84Pada keyboard tanpa tombol `PgUp`, `PgDn`, `Home`, atau `End` khusus, seperti keyboard MacBook, tahan `Fn` dengan tombol panah: `Fn+↑` mengirim `PgUp`, `Fn+↓` mengirim `PgDn`, `Fn+←` mengirim `Home`, dan `Fn+→` mengirim `End`. Itu membuat `Ctrl+Fn+→` pintasan lompat-ke-bawah. Jika itu terasa canggung, gulir ke bawah dengan roda mouse untuk melanjutkan mengikuti, atau ikat ulang `scroll:bottom` ke sesuatu yang dapat dijangkau.87Pada keyboard tanpa tombol `PgUp`, `PgDn`, `Home`, atau `End` khusus, seperti keyboard MacBook, tahan `Fn` dengan tombol panah: `Fn+↑` mengirim `PgUp`, `Fn+↓` mengirim `PgDn`, `Fn+←` mengirim `Home`, dan `Fn+→` mengirim `End`. `Ctrl+Fn+→` tidak menjangkau Claude Code di macOS, jadi keyboard MacBook tidak memiliki chord lompat-ke-bawah yang berfungsi secara default. Sebagai gantinya, gunakan salah satu opsi ini:

88 

89* Klik [tombol jump-to-bottom](#auto-follow).

90* Gulir ke bawah dengan roda mouse untuk melanjutkan mengikuti.

91* Ikat ulang `scroll:bottom` ke chord yang dapat dikirim keyboard Anda.

85 92 

86Tindakan ini dapat diikat ulang. Lihat [Scroll actions](/id/keybindings#scroll-actions) untuk daftar lengkap nama tindakan, termasuk varian setengah halaman dan halaman penuh yang tidak memiliki pengikatan default.93Tindakan ini dapat diikat ulang. Lihat [Scroll actions](/id/keybindings#scroll-actions) untuk daftar lengkap nama tindakan, termasuk varian setengah halaman dan halaman penuh yang tidak memiliki pengikatan default.

87 94 


89 Auto-follow96 Auto-follow

90</h3>97</h3>

91 98 

92Menggulir naik menjeda auto-follow sehingga output baru tidak menarik Anda kembali ke bawah. Tekan `Ctrl+End` atau gulir ke bawah untuk melanjutkan mengikuti.99Menggulir naik menjeda auto-follow sehingga output baru tidak menarik Anda kembali ke bawah. Tombol `Jump to bottom` mengapung di atas tepi bawah transkrip saat Anda menggulir naik, dan menampilkan hitungan seperti `3 new messages` ketika output baru tiba. Klik tombol tersebut, tekan `Ctrl+End`, atau gulir ke bawah untuk melanjutkan mengikuti.

100 

101Saat auto-follow dijeda, tampilan juga tetap di mana Anda menggulirnya ketika respons selesai streaming. Sebelum v2.1.207, tampilan dapat melompat di atas awal jawaban ketika respons panjang selesai streaming.

102 

103Petunjuk keyboard tombol mencerminkan apa yang dapat dikirim keyboard Anda. Di macOS, tombol menyarankan untuk mengklik, atau `Fn+↓` untuk menggulir, karena `Ctrl+End` tidak menjangkau Claude Code dari keyboard Mac. Ikat ulang [`scroll:bottom`](/id/keybindings#scroll-actions) dan tombol menampilkan chord Anda di setiap platform. Sebelum v2.1.206, tombol menyarankan `Ctrl+End` di macOS.

104 

105Pada terminal yang terlalu sempit untuk label lengkap, tombol memendekkan petunjuk alih-alih membungkus ke baris transkrip di bawahnya. Sebelum v2.1.206, label panjang dapat membungkus di atas transkrip.

93 106 

94Untuk mematikan auto-follow sepenuhnya sehingga tampilan tetap di mana Anda meninggalkannya, buka `/config` dan atur Auto-scroll ke off. Dengan auto-scroll dinonaktifkan, tampilan tidak pernah melompat ke bawah dengan sendirinya. Prompt izin dan dialog lainnya yang memerlukan respons masih menggulir ke tampilan terlepas dari pengaturan ini.107Untuk mematikan auto-follow sepenuhnya sehingga tampilan tetap di mana Anda meninggalkannya, buka `/config` dan atur Auto-scroll ke off. Dengan auto-scroll dinonaktifkan, tampilan tidak pernah melompat ke bawah dengan sendirinya. Prompt izin dan dialog lainnya yang memerlukan respons masih menggulir ke tampilan terlepas dari pengaturan ini.

95 108 

gateways.md +1 −1

Details

74 74 

75* **Model mana yang menjawab**: pilih model dengan perintah `/model` atau [variabel lingkungan model](/id/model-config#setting-your-model). Gateway memutuskan ke mana permintaan pergi, bukan model mana yang dipilih pengembang. Claude apps gateway dapat membatasi pilihan dengan daftar izin `availableModels` per-grup, tetapi pengembang masih memilih di dalamnya.75* **Model mana yang menjawab**: pilih model dengan perintah `/model` atau [variabel lingkungan model](/id/model-config#setting-your-model). Gateway memutuskan ke mana permintaan pergi, bukan model mana yang dipilih pengembang. Claude apps gateway dapat membatasi pilihan dengan daftar izin `availableModels` per-grup, tetapi pengembang masih memilih di dalamnya.

76* **Lalu lintas jaringan lainnya**: Claude Code sendiri mengirimkan pemeriksaan versi dan unduhan langsung ke Anthropic, terpisah dari jalur gateway. Apakah aliran telemetri klien opsional juga aktif tergantung pada penyedia Anda; [tabel default telemetri](/id/data-usage#telemetry-services) mencakup setiap kasus. Pada sesi Claude apps gateway yang masuk, kredensial gateway menonaktifkan analitik terikat Anthropic dan, ketika [penerusan telemetri](/id/claude-apps-gateway-config#telemetry) dikonfigurasi, menyematkan ekspor OTLP ke gateway. Jaringan Anda masih memerlukan egress ke [domain yang diperlukan](/id/network-config), atau atur [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/id/env-vars) untuk mematikan aliran opsional.76* **Lalu lintas jaringan lainnya**: Claude Code sendiri mengirimkan pemeriksaan versi dan unduhan langsung ke Anthropic, terpisah dari jalur gateway. Apakah aliran telemetri klien opsional juga aktif tergantung pada penyedia Anda; [tabel default telemetri](/id/data-usage#telemetry-services) mencakup setiap kasus. Pada sesi Claude apps gateway yang masuk, kredensial gateway menonaktifkan analitik terikat Anthropic dan, ketika [penerusan telemetri](/id/claude-apps-gateway-config#telemetry) dikonfigurasi, menyematkan ekspor OTLP ke gateway. Jaringan Anda masih memerlukan egress ke [domain yang diperlukan](/id/network-config), atau atur [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/id/env-vars) untuk mematikan aliran opsional.

77* **Proxy HTTP perusahaan**: `HTTPS_PROXY` berada di antara Claude Code dan setiap server yang dibicarakannya, termasuk gateway. Jika jaringan Anda memerlukan satu, [konfigurasikan proxy](/id/network-config) selain gateway. Untuk Claude apps gateway khususnya, [masuk memeriksa bahwa host proxy juga berada di jaringan pribadi](/id/claude-apps-gateway#prerequisites); jika tidak, tambahkan host gateway ke `NO_PROXY` sehingga CLI terhubung langsung ke sana.77* **Proxy HTTP perusahaan**: `HTTPS_PROXY` berada di antara Claude Code dan setiap server yang dibicarakannya, termasuk gateway. Jika jaringan Anda memerlukan satu, [konfigurasikan proxy](/id/network-config) selain gateway. Untuk Claude apps gateway yang Anda hosting, [masuk memeriksa bahwa host proxy juga berada di jaringan pribadi](/id/claude-apps-gateway#prerequisites); jika tidak, tambahkan host gateway ke `NO_PROXY` sehingga CLI terhubung langsung ke sana.

78 78 

79<h2 id="next-steps">79<h2 id="next-steps">

80 Next steps80 Next steps

glossary.md +3 −3

Details

48 Artifact48 Artifact

49</h3>49</h3>

50 50 

51Halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai, sehingga Anda dapat melihat output secara visual atau membagikannya di dalam organisasi Anda daripada membaca teks terminal. Halaman diperbarui di tempat ketika sesi menerbitkan ulang. Artifact yang Anda buat dari Claude Code muncul di galeri yang sama dengan artifact yang dibuat dalam percakapan claude.ai, tetapi berbagi mereka berhenti di organisasi Anda dan tidak dapat dibuat publik.51Halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai, sehingga Anda dapat melihat output secara visual atau membagikannya daripada membaca teks terminal. Halaman diperbarui di tempat ketika sesi menerbitkan ulang. Artifact yang Anda buat dari Claude Code muncul di galeri yang sama dengan artifact yang dibuat dalam percakapan claude.ai. Berbagi tergantung pada paket Anda: di Pro dan Max, tautan publik yang dapat dibuka siapa saja; di Team dan Enterprise, berbagi dalam organisasi Anda, ditambah tautan publik setelah Pemilik mengaktifkannya.

52 52 

53Pelajari lebih lanjut: [Share session output as artifacts](/id/artifacts)53Pelajari lebih lanjut: [Share session output as artifacts](/id/artifacts)

54 54 


262 262 

263Perilaku persetujuan baseline untuk sesi. Siklus dengan `Shift+Tab` di CLI atau gunakan pemilih mode di VS Code, Desktop, dan claude.ai. Mode yang tersedia adalah `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, dan `bypassPermissions`.263Perilaku persetujuan baseline untuk sesi. Siklus dengan `Shift+Tab` di CLI atau gunakan pemilih mode di VS Code, Desktop, dan claude.ai. Mode yang tersedia adalah `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, dan `bypassPermissions`.

264 264 

265Mode `default` diberi label Manual di CLI dan di ekstensi VS Code dan JetBrains, dan Claude Code menerima `manual` sebagai alias untuk nilai tersebut.265Mode `default` diberi label Manual di CLI, di ekstensi VS Code dan JetBrains, dan di aplikasi desktop, dan Claude Code menerima `manual` sebagai alias untuk nilai tersebut.

266 266 

267Pelajari lebih lanjut: [Pilih permission mode](/id/permission-modes)267Pelajari lebih lanjut: [Pilih permission mode](/id/permission-modes)

268 268 


314 Remote Control314 Remote Control

315</h3>315</h3>

316 316 

317Cara untuk melanjutkan sesi Claude Code lokal dari telepon atau browser Anda melalui claude.ai. Kode Anda tetap di mesin Anda; hanya UI yang remote. Berbeda dari Claude Code di web, yang berjalan dalam sandbox cloud.317Cara untuk melanjutkan sesi Claude Code lokal dari telepon atau browser Anda melalui claude.ai. Eksekusi kode dan file Anda tetap di mesin Anda; antarmuka bersifat remote. Berbeda dari Claude Code di web, yang berjalan dalam sandbox cloud.

318 318 

319Pelajari lebih lanjut: [Remote Control](/id/remote-control)319Pelajari lebih lanjut: [Remote Control](/id/remote-control)

320 320 

goal.md +8 −0

Details

57 57 

58Menetapkan tujuan memulai giliran segera, dengan kondisi itu sendiri sebagai arahan. Anda tidak perlu mengirim prompt terpisah. Saat tujuan aktif, indikator `◎ /goal active` menunjukkan berapa lama tujuan telah berjalan.58Menetapkan tujuan memulai giliran segera, dengan kondisi itu sendiri sebagai arahan. Anda tidak perlu mengirim prompt terpisah. Saat tujuan aktif, indikator `◎ /goal active` menunjukkan berapa lama tujuan telah berjalan.

59 59 

60Sebuah tujuan tidak mengubah izin. Dalam mode izin default, Claude masih meminta sebelum panggilan alat yang pengaturan Anda tidak sudah izinkan, seperti perintah tes di atas. Untuk membiarkan giliran tujuan berjalan tanpa pengawasan, pasangkan `/goal` dengan [mode otomatis](/id/auto-mode-config).

61 

60Setelah setiap giliran, evaluator mengembalikan alasan singkat yang menjelaskan mengapa kondisi terpenuhi atau tidak. Alasan paling baru muncul di tampilan status dan dalam transkrip sehingga Anda dapat melihat apa yang Claude kerjakan selanjutnya.62Setelah setiap giliran, evaluator mengembalikan alasan singkat yang menjelaskan mengapa kondisi terpenuhi atau tidak. Alasan paling baru muncul di tampilan status dan dalam transkrip sehingga Anda dapat melihat apa yang Claude kerjakan selanjutnya.

61 63 

62<Note>64<Note>


97* Pengeluaran token saat ini99* Pengeluaran token saat ini

98* Alasan paling baru evaluator100* Alasan paling baru evaluator

99 101 

102Jumlah giliran dan alasan paling baru muncul setelah evaluasi pertama telah berjalan.

103 

100Jika tidak ada tujuan aktif tetapi satu dicapai sebelumnya dalam sesi, status menunjukkan kondisi yang dicapai bersama dengan durasi, jumlah giliran, dan pengeluaran tokennya.104Jika tidak ada tujuan aktif tetapi satu dicapai sebelumnya dalam sesi, status menunjukkan kondisi yang dicapai bersama dengan durasi, jumlah giliran, dan pengeluaran tokennya.

101 105 

102<h3 id="clear-a-goal">106<h3 id="clear-a-goal">


109/goal clear113/goal clear

110```114```

111 115 

116Claude mencetak `Goal cleared:` diikuti dengan kondisi untuk mengonfirmasi, atau `No goal set` jika tidak ada yang aktif.

117 

112`stop`, `off`, `reset`, `none`, dan `cancel` diterima sebagai alias untuk `clear`. Menjalankan `/clear` untuk memulai percakapan baru juga menghapus tujuan aktif apa pun.118`stop`, `off`, `reset`, `none`, dan `cancel` diterima sebagai alias untuk `clear`. Menjalankan `/clear` untuk memulai percakapan baru juga menghapus tujuan aktif apa pun.

113 119 

114<h3 id="resume-with-an-active-goal">120<h3 id="resume-with-an-active-goal">


127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"133claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

128```134```

129 135 

136Dengan output teks default, tidak ada yang dicetak sampai kondisi terpenuhi, jadi tujuan yang berjalan banyak giliran dapat terlihat macet. Tambahkan `--output-format stream-json --verbose` untuk memancarkan setiap pesan saat loop berjalan.

137 

130Hentikan proses dengan Ctrl+C untuk menghentikan tujuan non-interaktif sebelum kondisi terpenuhi.138Hentikan proses dengan Ctrl+C untuk menghentikan tujuan non-interaktif sebelum kondisi terpenuhi.

131 139 

132<h2 id="how-evaluation-works">140<h2 id="how-evaluation-works">

Details

112 </Step>112 </Step>

113</Steps>113</Steps>

114 114 

115Setelah Anda masuk, jalankan `/setup-vertex` kapan saja untuk membuka kembali wizard dan mengubah kredensial, proyek, wilayah, atau pin model Anda.115Setelah Anda masuk, jalankan `/setup-vertex` kapan saja untuk membuka kembali wizard dan mengubah kredensial, proyek, wilayah, atau pin model Anda. Langkah pin model dimulai dari model yang saat ini Anda pin. Wizard menulis ke `~/.claude/settings.json`, atau ke `$CLAUDE_CONFIG_DIR/settings.json` ketika [`CLAUDE_CONFIG_DIR`](/id/env-vars#variables) diatur.

116 116 

117<h2 id="region-configuration">117<h2 id="region-configuration">

118 Konfigurasi wilayah118 Konfigurasi wilayah


223</h3>223</h3>

224 224 

225<Warning>225<Warning>

226 Pin versi model spesifik saat menerapkan ke beberapa pengguna. Tanpa pinning, alias model seperti `sonnet` dan `opus` diselesaikan ke default bawaan Claude Code untuk Google Cloud's Agent Platform, yang dapat tertinggal dari rilis terbaru dan mungkin belum diaktifkan di proyek Anda. Claude Code [kembali](#startup-model-checks) ke versi sebelumnya saat startup ketika default tidak tersedia, tetapi pinning memungkinkan Anda mengontrol kapan pengguna Anda pindah ke model baru.226 Pin versi model spesifik saat menerapkan ke beberapa pengguna. Tanpa pinning, alias model seperti `sonnet` dan `opus` diselesaikan ke default bawaan Claude Code untuk Google Cloud's Agent Platform, yang dapat tertinggal dari rilis terbaru dan mungkin belum diaktifkan di proyek Anda. Claude Code [kembali](#startup-model-checks) ke versi sebelumnya atau model tingkat lebih rendah saat startup ketika default tidak tersedia, tetapi pinning memungkinkan Anda mengontrol kapan pengguna Anda pindah ke model baru.

227</Warning>227</Warning>

228 228 

229Atur variabel lingkungan ini ke ID model Google Cloud's Agent Platform spesifik.229Atur variabel lingkungan ini ke ID model Google Cloud's Agent Platform spesifik.

230 230 

231Tanpa variabel ini, alias `opus` di Google Cloud's Agent Platform diselesaikan ke Opus 4.8 dan alias `sonnet` diselesaikan ke Sonnet 4.5. Atur setiap variabel untuk pin aliasnya ke versi spesifik:231Tanpa `ANTHROPIC_DEFAULT_OPUS_MODEL`, alias `opus` di Google Cloud's Agent Platform diselesaikan ke Opus 4.8, dan tanpa `ANTHROPIC_DEFAULT_SONNET_MODEL`, alias `sonnet` diselesaikan ke Sonnet 4.5. Contoh ini pin setiap alias ke versi spesifik:

232 232 

233```bash theme={null}233```bash theme={null}

234export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'234export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'


241Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:241Claude Code menggunakan model default ini ketika tidak ada variabel pinning yang diatur:

242 242 

243| Jenis model | Nilai default |243| Jenis model | Nilai default |

244| :---------------- | :---------------------- |244| :---------------- | :--------------------------- |

245| Model utama | `claude-opus-4-8` |245| Model utama | `claude-opus-4-8` |

246| Model kecil/cepat | Sama dengan model utama |246| Model kecil/cepat | `claude-sonnet-4-5@20250929` |

247 247 

248Tugas latar belakang seperti pembuatan judul sesi menggunakan model kecil/cepat, biasanya model kelas Haiku. Di Google Cloud's Agent Platform, Claude Code menganggap default ini ke model utama karena Haiku mungkin tidak diaktifkan di setiap proyek atau wilayah. Untuk menggunakan Haiku untuk tugas latar belakang, atur `ANTHROPIC_DEFAULT_HAIKU_MODEL` ke ID model yang tersedia di proyek Anda.248Tugas latar belakang seperti pembuatan judul sesi menggunakan model kecil/cepat, biasanya model kelas Haiku. Di Google Cloud's Agent Platform, Claude Code menggunakan model Sonnet default untuk tugas latar belakang karena Haiku mungkin tidak diaktifkan di setiap proyek atau wilayah. Dua pilihan mengubah model mana yang membawanya:

249 

250* Ketika Anda memilih model utama dengan `--model`, `ANTHROPIC_MODEL`, atau pengaturan `model`, tugas latar belakang menggunakan model tersebut. Mengatur `ANTHROPIC_DEFAULT_OPUS_MODEL` tanpa `ANTHROPIC_DEFAULT_SONNET_MODEL` juga dihitung sebagai pilihan, karena model Sonnet bawaan mungkin tidak diaktifkan dalam proyek yang mengarahkan Opus-nya sendiri.

251* Untuk menggunakan Haiku untuk tugas latar belakang, atur `ANTHROPIC_DEFAULT_HAIKU_MODEL` ke ID model yang tersedia di proyek Anda.

252 

253<Warning>

254 Model Opus memiliki harga per-token yang lebih tinggi daripada model Sonnet, jadi penerapan yang tidak pin model utama ditagih dengan tarif Opus setelah diperbarui ke v2.1.207 atau lebih baru. Untuk menjaga Sonnet 4.5 sebagai model utama, atur `ANTHROPIC_MODEL` ke ID model lengkapnya. Penerapan yang mengarahkan default dengan `ANTHROPIC_DEFAULT_SONNET_MODEL` dan tidak mengatur `ANTHROPIC_DEFAULT_OPUS_MODEL` menjaga model Sonnet yang diarahkan sebagai default.

255</Warning>

256 

257{/* min-version: 2.1.207 */}Sebelum v2.1.207, model utama di Google Cloud's Agent Platform default ke Sonnet 4.5, alias `opus` diselesaikan ke Opus 4.6, dan tugas latar belakang selalu menggunakan model utama.

249 258 

250Untuk menyesuaikan model lebih lanjut:259Untuk menyesuaikan model lebih lanjut:

251 260 


262 271 

263Jika Anda telah mempinkan versi model yang lebih lama dari default Claude Code saat ini, dan proyek Anda dapat memanggil versi yang lebih baru, Claude Code meminta Anda untuk memperbarui pin. Menerima menulis ID model baru ke [file pengaturan pengguna Anda](/id/settings) dan memulai ulang Claude Code. Menolak diingat sampai perubahan versi default berikutnya.272Jika Anda telah mempinkan versi model yang lebih lama dari default Claude Code saat ini, dan proyek Anda dapat memanggil versi yang lebih baru, Claude Code meminta Anda untuk memperbarui pin. Menerima menulis ID model baru ke [file pengaturan pengguna Anda](/id/settings) dan memulai ulang Claude Code. Menolak diingat sampai perubahan versi default berikutnya.

264 273 

265Jika Anda belum mempinkan model dan default saat ini tidak tersedia di proyek Anda, Claude Code kembali ke versi sebelumnya untuk sesi saat ini dan menampilkan pemberitahuan. Fallback tidak disimpan. Aktifkan model yang lebih baru di [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) atau [pin versi](#5-pin-model-versions) untuk membuat pilihan permanen.274Jika Anda belum mempinkan model dan default saat ini tidak tersedia di proyek Anda, Claude Code kembali untuk sesi saat ini dan menampilkan pemberitahuan. Ia mencoba versi sebelumnya dari model default terlebih dahulu dan, ketika default adalah model Opus dan tidak ada versi Opus yang tersedia, kembali ke model Sonnet default. Fallback tidak disimpan. Aktifkan model yang lebih baru di [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) atau [pin versi](#5-pin-model-versions) untuk membuat pilihan permanen.

266 275 

267<h2 id="iam-configuration">276<h2 id="iam-configuration">

268 Konfigurasi IAM277 Konfigurasi IAM


286 Jendela konteks token 1M295 Jendela konteks token 1M

287</h2>296</h2>

288 297 

289Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) di Platform Agent Google Cloud. Sonnet 5 selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.298Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) di Platform Agent Google Cloud. Sonnet 5 selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.

290 299 

291[Wizard pengaturan](#sign-in-with-agent-platform) menawarkan opsi konteks 1M ketika mempinkan model. Untuk mengaktifkannya untuk model yang dipinkan secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/id/model-config#pin-models-for-third-party-deployments) untuk detail.300[Wizard pengaturan](#sign-in-with-agent-platform) menawarkan opsi konteks 1M ketika mempinkan model. Untuk mengaktifkannya untuk model yang dipinkan secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/id/model-config#pin-models-for-third-party-deployments) untuk detail.

292 301 

headless.md +9 −2

Details

163claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages163claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages

164```164```

165 165 

166Baris terakhir dari aliran adalah pesan `result` dengan teks respons akhir, biaya, dan metadata sesi. {/* min-version: 2.1.208 */}Sebelum v2.1.208, menyalurkan respons besar dapat memotong baris terakhir dan menghilangkan pesan `result`.

167 

166Contoh berikut menggunakan [jq](https://jqlang.github.io/jq/) untuk memfilter delta teks dan menampilkan hanya teks streaming. Bendera `-r` menampilkan string mentah (tanpa tanda kutip) dan `-j` bergabung tanpa baris baru sehingga token streaming terus menerus:168Contoh berikut menggunakan [jq](https://jqlang.github.io/jq/) untuk memfilter delta teks dan menampilkan hanya teks streaming. Bendera `-r` menampilkan string mentah (tanpa tanda kutip) dan `-j` bergabung tanpa baris baru sehingga token streaming terus menerus:

167 169 

168```bash theme={null}170```bash theme={null}


184| `uuid` | string | pengidentifikasi acara unik |186| `uuid` | string | pengidentifikasi acara unik |

185| `session_id` | string | sesi yang dimiliki acara |187| `session_id` | string | sesi yang dimiliki acara |

186 188 

187Acara `system/init` melaporkan metadata sesi termasuk model, alat, server MCP, dan plugin yang dimuat. Ini adalah acara pertama dalam aliran kecuali [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/id/env-vars) diatur, dalam hal ini acara `plugin_install` mendahuluinya.189Acara `system/init` melaporkan metadata sesi termasuk model, alat, server MCP, dan plugin yang dimuat. Ini adalah acara pertama dalam aliran kecuali acara startup mendahuluinya:

190 

191* Acara `plugin_install`, ketika [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/id/env-vars) diatur.

192* {/* min-version: 2.1.204 */}[Acara `hook_started`, `hook_progress`, dan `hook_response`](/id/agent-sdk/typescript#sdkhookstartedmessage), saat hook [`SessionStart`](/id/hooks#sessionstart) atau [`Setup`](/id/hooks#setup) yang dikonfigurasi berjalan. Ini streaming saat hook menghasilkannya. Claude Code v2.1.169 hingga v2.1.203 mengirimkannya dalam satu batch setelah hook selesai, masih sebelum `system/init`; v2.1.204 mengembalikan pengiriman langsung.

188 193 

189Acara ini juga membawa array `capabilities` opsional dari string yang menamai perilaku protokol yang diimplementasikan versi Claude Code ini, seperti `interrupt_receipt_v1`. Periksanya untuk mendeteksi fitur alih-alih membandingkan string versi, dan abaikan nilai yang tidak Anda kenali. Bidang ini memerlukan Claude Code v2.1.205 atau lebih baru dan tidak ada di versi sebelumnya. Lihat [`SDKSystemMessage`](/id/agent-sdk/typescript#sdksystemmessage) untuk daftar kemampuan.194Acara ini juga membawa array `capabilities` opsional dari string yang menamai perilaku protokol yang diimplementasikan versi Claude Code ini, seperti `interrupt_receipt_v1`. Periksanya untuk mendeteksi fitur alih-alih membandingkan string versi, dan abaikan nilai yang tidak Anda kenali. Bidang ini memerlukan Claude Code v2.1.205 atau lebih baru dan tidak ada di versi sebelumnya. Lihat [`SDKSystemMessage`](/id/agent-sdk/typescript#sdksystemmessage) untuk daftar kemampuan.

190 195 


220 --allowedTools "Bash,Read,Edit"225 --allowedTools "Bash,Read,Edit"

221```226```

222 227 

223Untuk menetapkan baseline untuk seluruh sesi alih-alih mencantumkan alat individual, berikan [mode izin](/id/permission-modes). `dontAsk` menolak apa pun yang tidak ada dalam aturan `permissions.allow` Anda atau [set perintah read-only](/id/permissions#read-only-commands), yang berguna untuk CI runs yang terkunci. `acceptEdits` memungkinkan Claude menulis file tanpa meminta dan juga persetujuan otomatis perintah filesystem umum seperti `mkdir`, `touch`, `mv`, dan `cp`. Perintah shell lainnya dan permintaan jaringan masih memerlukan entri `--allowedTools` atau aturan `permissions.allow`, jika tidak run akan berhenti ketika salah satu dicoba:228Untuk menetapkan baseline untuk seluruh sesi alih-alih mencantumkan alat individual, berikan [mode izin](/id/permission-modes). `dontAsk` menolak apa pun yang tidak ada dalam aturan `permissions.allow` Anda atau [set perintah read-only](/id/permissions#read-only-commands), yang berguna untuk CI runs yang terkunci. `AskUserQuestion`, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan ketika aturan allow cocok.

229 

230`acceptEdits` memungkinkan Claude menulis file tanpa meminta dan juga persetujuan otomatis perintah filesystem umum seperti `mkdir`, `touch`, `mv`, dan `cp`. Perintah shell lainnya dan permintaan jaringan masih memerlukan entri `--allowedTools` atau aturan `permissions.allow`, jika tidak run akan berhenti ketika salah satu dicoba:

224 231 

225```bash theme={null}232```bash theme={null}

226claude -p "Apply the lint fixes" --permission-mode acceptEdits233claude -p "Apply the lint fixes" --permission-mode acceptEdits

hooks.md +20 −8

Details

404}404}

405```405```

406 406 

407Kedua form mendukung [path placeholders](#reference-scripts-by-path) yang sama, dan keduanya mengekspornya sebagai variabel lingkungan `CLAUDE_PROJECT_DIR`, `CLAUDE_PLUGIN_ROOT`, dan `CLAUDE_PLUGIN_DATA` pada proses yang di-spawn, jadi skrip dapat membaca `process.env.CLAUDE_PLUGIN_ROOT` terlepas dari bagaimana itu diluncurkan. Plugin hooks juga mensubstitusi nilai `${user_config.*}`; lihat [User configuration](/id/plugins-reference#user-configuration).407Kedua form mendukung [path placeholders](#reference-scripts-by-path) yang sama, dan keduanya mengekspornya sebagai variabel lingkungan `CLAUDE_PROJECT_DIR`, `CLAUDE_PLUGIN_ROOT`, dan `CLAUDE_PLUGIN_DATA` pada proses yang di-spawn, jadi skrip dapat membaca `process.env.CLAUDE_PLUGIN_ROOT` terlepas dari bagaimana itu diluncurkan.

408 

409Plugin hooks juga mensubstitusi nilai [`${user_config.*}`](/id/plugins-reference#user-configuration), dalam exec form saja: nilai disubstitusi ke dalam `command` dan ke dalam setiap elemen `args` sebagai string biasa, jadi tidak ada shell yang mem-parse ulangnya.

410 

411Hook plugin bentuk shell yang `command`-nya mereferensikan `${user_config.*}` gagal dengan [error](/id/errors#plugin-command-references-user-config) daripada menjalankan. Untuk menggunakan nilai opsi dari hook bentuk shell, baca variabel lingkungan `$CLAUDE_PLUGIN_OPTION_<KEY>`, seperti `$CLAUDE_PLUGIN_OPTION_WEBHOOK_URL` untuk opsi `webhook_url`, atau atur `args` untuk beralih hook ke exec form. Sebelum v2.1.207, hook plugin bentuk shell juga mensubstitusi `${user_config.*}`.

408 412 

409<Note>413<Note>

410 Dalam exec form, `command` adalah nama executable atau path saja. Jika `command` adalah nama bare tanpa path separator dan berisi whitespace bersama `args`, Claude Code mencatat warning karena spawn akan gagal: tidak ada executable bernama `node script.js`. Pindahkan token ekstra ke dalam `args`. Path absolut dengan spasi, seperti `C:\Program Files\nodejs\node.exe`, adalah executable tunggal yang valid dan tidak memicu warning.414 Dalam exec form, `command` adalah nama executable atau path saja. Jika `command` adalah nama bare tanpa path separator dan berisi whitespace bersama `args`, Claude Code mencatat warning karena spawn akan gagal: tidak ada executable bernama `node script.js`. Pindahkan token ekstra ke dalam `args`. Path absolut dengan spasi, seperti `C:\Program Files\nodejs\node.exe`, adalah executable tunggal yang valid dan tidak memicu warning.


653| `agent_id` | Pengenal unik untuk subagent. Hadir hanya ketika hook dijalankan di dalam pemanggilan subagent. Gunakan ini untuk membedakan pemanggilan hook subagent dari pemanggilan thread utama. |657| `agent_id` | Pengenal unik untuk subagent. Hadir hanya ketika hook dijalankan di dalam pemanggilan subagent. Gunakan ini untuk membedakan pemanggilan hook subagent dari pemanggilan thread utama. |

654| `agent_type` | Nama agent (misalnya, `"Explore"` atau `"security-reviewer"`). Hadir ketika sesi menggunakan `--agent` atau hook dijalankan di dalam subagent. Untuk subagents, tipe subagent mengambil alih nilai `--agent` sesi. Untuk [custom subagents](/id/sub-agents), ini adalah bidang `name` dari frontmatter agent, bukan nama file. Untuk subagents yang dikirim oleh [plugin](/id/plugins), ini adalah pengenal yang dibatasi plugin seperti `my-plugin:reviewer`, bukan nama frontmatter telanjang. Lihat [SubagentStart](#subagentstart) untuk cara menulis matcher terhadap nama yang dibatasi plugin. |658| `agent_type` | Nama agent (misalnya, `"Explore"` atau `"security-reviewer"`). Hadir ketika sesi menggunakan `--agent` atau hook dijalankan di dalam subagent. Untuk subagents, tipe subagent mengambil alih nilai `--agent` sesi. Untuk [custom subagents](/id/sub-agents), ini adalah bidang `name` dari frontmatter agent, bukan nama file. Untuk subagents yang dikirim oleh [plugin](/id/plugins), ini adalah pengenal yang dibatasi plugin seperti `my-plugin:reviewer`, bukan nama frontmatter telanjang. Lihat [SubagentStart](#subagentstart) untuk cara menulis matcher terhadap nama yang dibatasi plugin. |

655 659 

656Hanya hooks [`SessionStart`](#sessionstart) yang dapat menerima bidang `model`, dan tidak dijamin ada. Tidak ada variabel lingkungan `$CLAUDE_MODEL`. Proses hook mewarisi lingkungan induk, jadi dapat membaca `$ANTHROPIC_MODEL` jika Anda menetapkannya di shell Anda, tetapi nilai itu tidak berubah ketika Anda beralih model dengan `/model` selama sesi.660Hanya hooks [`SessionStart`](#sessionstart) yang dapat menerima bidang `model`, dan tidak dijamin ada. Tidak ada variabel lingkungan `$CLAUDE_MODEL`. Proses hook mewarisi lingkungan induk, jadi dapat membaca `$ANTHROPIC_MODEL` jika Anda menetapkannya di shell Anda, tetapi nilai itu tidak berubah ketika Anda beralih model dengan `/model` selama sesi. Satu set variabel tidak diwariskan: Claude Code [menghapus variabel exporter `OTEL_*` dari setiap subprocess yang dijalankannya](/id/monitoring-usage#administrator-configuration), termasuk hooks.

657 661 

658Misalnya, hook `PreToolUse` untuk perintah Bash menerima ini di stdin:662Misalnya, hook `PreToolUse` untuk perintah Bash menerima ini di stdin:

659 663 


1182 1186 

1183Hooks `UserPromptSubmit` memiliki timeout default 30 detik untuk tipe `command`, `http`, dan `mcp_tool`, lebih pendek dari default 600 detik untuk tipe tersebut pada event lain. Karena hook ini dijalankan sebelum setiap prompt dan memblokir pemrosesan model sampai selesai, hook yang macet menghentikan sesi. Jika hook Anda memerlukan lebih banyak waktu, atur bidang `timeout` dalam entri hook.1187Hooks `UserPromptSubmit` memiliki timeout default 30 detik untuk tipe `command`, `http`, dan `mcp_tool`, lebih pendek dari default 600 detik untuk tipe tersebut pada event lain. Karena hook ini dijalankan sebelum setiap prompt dan memblokir pemrosesan model sampai selesai, hook yang macet menghentikan sesi. Jika hook Anda memerlukan lebih banyak waktu, atur bidang `timeout` dalam entri hook.

1184 1188 

1185Hook `UserPromptSubmit` yang mencapai timeout-nya dibatalkan dan output-nya, termasuk `additionalContext` apa pun, dibuang. Prompt masih mencapai Claude tanpa konteks itu. Mulai dari v2.1.196, transkrip menampilkan pemberitahuan yang menamai hook, timeout yang dijalankan, dan bahwa output dibuang. Versi sebelumnya membatalkan hook tanpa pemberitahuan.1189Hook `UserPromptSubmit` command, HTTP, atau MCP tool yang mencapai timeout-nya dibatalkan dan output-nya, termasuk `additionalContext` apa pun, dibuang. Prompt masih mencapai Claude tanpa konteks itu. Mulai dari v2.1.196, transkrip menampilkan pemberitahuan yang menamai hook, timeout yang dijalankan, dan bahwa output dibuang. Versi sebelumnya membatalkan hook tanpa pemberitahuan.

1190 

1191Hook callback [Agent SDK](/id/agent-sdk/hooks) pada `UserPromptSubmit` yang mencapai timeout-nya memblokir prompt dengan pesan yang menamai hook dan timeout, karena callback di sana dapat bertindak sebagai policy gate yang tidak boleh gagal terbuka. Sesi berlanjut. Sebelum v2.1.208, timeout callback pada event itu mengakhiri giliran dengan kesalahan eksekusi.

1186 1192 

1187<h4 id="userpromptsubmit-input">1193<h4 id="userpromptsubmit-input">

1188 UserPromptSubmit input1194 UserPromptSubmit input


1455Menjalankan perintah shell.1461Menjalankan perintah shell.

1456 1462 

1457| Bidang | Tipe | Contoh | Deskripsi |1463| Bidang | Tipe | Contoh | Deskripsi |

1458| :------------------ | :------ | :----------------- | :----------------------------------------------------- |1464| :------------------ | :------ | :----------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |

1459| `command` | string | `"npm test"` | Perintah shell untuk dijalankan |1465| `command` | string | `"npm test"` | Perintah shell untuk dijalankan |

1460| `description` | string | `"Run test suite"` | Deskripsi opsional tentang apa yang dilakukan perintah |1466| `description` | string | `"Run test suite"` | Deskripsi opsional tentang apa yang dilakukan perintah |

1461| `timeout` | number | `120000` | Timeout opsional dalam milidetik |1467| `timeout` | number | `120000` | Timeout opsional dalam milidetik. Nilai di atas [maksimum](/id/tools-reference#bash-tool-behavior) dikurangi ke maksimum daripada ditolak |

1462| `run_in_background` | boolean | `false` | Apakah menjalankan perintah di latar belakang |1468| `run_in_background` | boolean | `false` | Apakah menjalankan perintah di latar belakang |

1463 1469 

1464<h5 id="write">1470<h5 id="write">


1610Hooks `PreToolUse` dapat mengontrol apakah pemanggilan tool dilanjutkan. Tidak seperti hooks lain yang menggunakan bidang `decision` tingkat atas, PreToolUse mengembalikan keputusannya di dalam objek `hookSpecificOutput`. Ini memberikannya kontrol yang lebih kaya: empat hasil (izinkan, tolak, tanya, atau tunda) ditambah kemampuan untuk memodifikasi input tool sebelum eksekusi.1616Hooks `PreToolUse` dapat mengontrol apakah pemanggilan tool dilanjutkan. Tidak seperti hooks lain yang menggunakan bidang `decision` tingkat atas, PreToolUse mengembalikan keputusannya di dalam objek `hookSpecificOutput`. Ini memberikannya kontrol yang lebih kaya: empat hasil (izinkan, tolak, tanya, atau tunda) ditambah kemampuan untuk memodifikasi input tool sebelum eksekusi.

1611 1617 

1612| Bidang | Deskripsi |1618| Bidang | Deskripsi |

1613| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1619| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1614| `permissionDecision` | `"allow"` melewati prompt izin, kecuali untuk [tools yang memerlukan interaksi pengguna](#pretooluse-decision-control). `"deny"` mencegah pemanggilan tool. `"ask"` meminta pengguna untuk mengkonfirmasi. `"defer"` keluar dengan baik sehingga tool dapat dilanjutkan nanti. [Deny and ask rules](/id/permissions#manage-permissions) masih dievaluasi terlepas dari apa yang dikembalikan hook |1620| `permissionDecision` | `"allow"` melewati prompt izin, kecuali untuk [tools yang memerlukan interaksi pengguna](#pretooluse-decision-control) dan connector tools [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools). `"deny"` mencegah pemanggilan tool. `"ask"` meminta pengguna untuk mengkonfirmasi. `"defer"` keluar dengan baik sehingga tool dapat dilanjutkan nanti. [Deny and ask rules](/id/permissions#manage-permissions) masih dievaluasi terlepas dari apa yang dikembalikan hook |

1615| `permissionDecisionReason` | Untuk `"allow"` dan `"ask"`, ditampilkan ke pengguna tetapi bukan Claude. Untuk `"deny"`, ditampilkan ke Claude. Untuk `"defer"`, diabaikan |1621| `permissionDecisionReason` | Untuk `"allow"` dan `"ask"`, ditampilkan ke pengguna tetapi bukan Claude. Untuk `"deny"`, ditampilkan ke Claude. Untuk `"defer"`, diabaikan |

1616| `updatedInput` | Memodifikasi parameter input tool sebelum eksekusi. Menggantikan seluruh objek input, jadi sertakan bidang yang tidak berubah bersama yang dimodifikasi. Gabungkan dengan `"allow"` untuk persetujuan otomatis, atau `"ask"` untuk menampilkan input yang dimodifikasi ke pengguna. Untuk `"defer"`, diabaikan |1622| `updatedInput` | Memodifikasi parameter input tool sebelum eksekusi. Menggantikan seluruh objek input, jadi sertakan bidang yang tidak berubah bersama yang dimodifikasi. Gabungkan dengan `"allow"` untuk persetujuan otomatis, atau `"ask"` untuk menampilkan input yang dimodifikasi ke pengguna. Untuk `"defer"`, diabaikan |

1617| `additionalContext` | String ditambahkan ke konteks Claude bersama hasil tool. Diabaikan ketika `permissionDecision` adalah `"defer"`. Lihat [Tambahkan konteks untuk Claude](#add-context-for-claude) |1623| `additionalContext` | String ditambahkan ke konteks Claude bersama hasil tool. Diabaikan ketika `permissionDecision` adalah `"defer"`. Lihat [Tambahkan konteks untuk Claude](#add-context-for-claude) |


1636 1642 

1637`AskUserQuestion` dan `ExitPlanMode` memerlukan interaksi pengguna dan biasanya memblokir dalam [mode non-interaktif](/id/headless) dengan flag `-p`. Mengembalikan `permissionDecision: "allow"` bersama dengan `updatedInput` memenuhi persyaratan itu: hook membaca input tool dari stdin, mengumpulkan jawaban melalui UI Anda sendiri, dan mengembalikannya dalam `updatedInput` sehingga tool dijalankan tanpa meminta. Mengembalikan `"allow"` saja tidak cukup untuk tools ini. Untuk `AskUserQuestion`, kembalikan array `questions` asli dan tambahkan objek [`answers`](#askuserquestion) yang memetakan teks setiap pertanyaan ke jawaban yang dipilih.1643`AskUserQuestion` dan `ExitPlanMode` memerlukan interaksi pengguna dan biasanya memblokir dalam [mode non-interaktif](/id/headless) dengan flag `-p`. Mengembalikan `permissionDecision: "allow"` bersama dengan `updatedInput` memenuhi persyaratan itu: hook membaca input tool dari stdin, mengumpulkan jawaban melalui UI Anda sendiri, dan mengembalikannya dalam `updatedInput` sehingga tool dijalankan tanpa meminta. Mengembalikan `"allow"` saja tidak cukup untuk tools ini. Untuk `AskUserQuestion`, kembalikan array `questions` asli dan tambahkan objek [`answers`](#askuserquestion) yang memetakan teks setiap pertanyaan ke jawaban yang dipilih.

1638 1644 

1645Connector tools [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) meminta bahkan ketika hook mengembalikan `"allow"`.

1646 

1639Mulai dari v2.1.199, tool MCP yang server-nya menandainya dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) lebih ketat: hook tidak dapat melewati prompt persetujuannya dengan `"allow"`, dengan atau tanpa `updatedInput`, karena Claude Code tidak dapat mengkonfirmasi hook mengumpulkan interaksi yang dibutuhkan tool.1647Mulai dari v2.1.199, tool MCP yang server-nya menandainya dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) lebih ketat: hook tidak dapat melewati prompt persetujuannya dengan `"allow"`, dengan atau tanpa `updatedInput`, karena Claude Code tidak dapat mengkonfirmasi hook mengumpulkan interaksi yang dibutuhkan tool.

1640 1648 

1641<Note>1649<Note>


1858 PostToolUseFailure1866 PostToolUseFailure

1859</h3>1867</h3>

1860 1868 

1861Dijalankan ketika eksekusi tool gagal. Event ini dijalankan untuk pemanggilan tool yang melempar kesalahan atau mengembalikan hasil kegagalan. Gunakan ini untuk mencatat kegagalan, mengirim alert, atau memberikan umpan balik korektif ke Claude.1869Dijalankan ketika tool yang mulai dijalankan gagal: tool melempar kesalahan, atau tool MCP mengembalikan hasil kesalahan. Gunakan ini untuk mencatat kegagalan, mengirim alert, atau memberikan umpan balik korektif ke Claude.

1862 1870 

1863Cocok pada nama tool, nilai yang sama seperti PreToolUse.1871Cocok pada nama tool, nilai yang sama seperti PreToolUse.

1864 1872 

1873<Note>

1874 Event ini tidak dijalankan untuk pemanggilan tool yang ditolak sebelum eksekusi: nama tool yang tidak dikenal, input yang gagal validasi skema atau tool-spesifik, atau penolakan izin. Penolakan validasi dikembalikan sebagai hasil `tool_use_error` dan terjadi sebelum hooks dijalankan, jadi mereka tidak menjalankan `PreToolUse` atau event ini. Penolakan izin menjalankan `PreToolUse` tetapi bukan event ini; lihat [PermissionDenied](#permissiondenied).

1875</Note>

1876 

1865<h4 id="posttoolusefailure-input">1877<h4 id="posttoolusefailure-input">

1866 PostToolUseFailure input1878 PostToolUseFailure input

1867</h4>1879</h4>

hooks-guide.md +16 −5

Details

607 607 

608Dengan `"deny"`, Claude Code membatalkan panggilan alat dan memberi makan `permissionDecisionReason` kembali ke Claude. Nilai `permissionDecision` ini spesifik untuk `PreToolUse`:608Dengan `"deny"`, Claude Code membatalkan panggilan alat dan memberi makan `permissionDecisionReason` kembali ke Claude. Nilai `permissionDecision` ini spesifik untuk `PreToolUse`:

609 609 

610* `"allow"`: lewati prompt izin interaktif. Aturan deny dan ask, termasuk daftar deny yang dikelola perusahaan, masih berlaku610* `"allow"`: lewati prompt izin interaktif. Aturan deny dan ask, termasuk daftar deny yang dikelola perusahaan, masih berlaku, seperti juga prompt untuk connector tools yang [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan MCP tools yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool)

611* `"deny"`: batalkan panggilan alat dan kirim alasan ke Claude611* `"deny"`: batalkan panggilan alat dan kirim alasan ke Claude

612* `"ask"`: tampilkan prompt izin kepada pengguna seperti biasa612* `"ask"`: tampilkan prompt izin kepada pengguna seperti biasa

613 613 

614Nilai keempat, `"defer"`, tersedia dalam [non-interactive mode](/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](/id/hooks#defer-a-tool-call-for-later) dalam referensi.614Nilai keempat, `"defer"`, tersedia dalam [non-interactive mode](/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](/id/hooks#defer-a-tool-call-for-later) dalam referensi.

615 615 

616Mengembalikan `"allow"` melewati prompt interaktif tetapi tidak mengesampingkan [aturan izin](/id/permissions#manage-permissions). Jika aturan deny cocok dengan panggilan alat, panggilan diblokir bahkan ketika hook Anda mengembalikan `"allow"`. Jika aturan ask cocok, pengguna masih diminta. Ini berarti aturan deny dari cakupan pengaturan apa pun, termasuk [pengaturan terkelola](/id/settings#settings-files), selalu mengambil alih persetujuan hook.616Mengembalikan `"allow"` melewati prompt interaktif tetapi tidak mengesampingkan [aturan izin](/id/permissions#manage-permissions). Jika aturan deny cocok dengan panggilan alat, panggilan diblokir bahkan ketika hook Anda mengembalikan `"allow"`. Jika aturan ask cocok, pengguna masih diminta, dan juga connector tools yang [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan MCP tools yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool). Ini berarti aturan deny dari cakupan pengaturan apa pun, termasuk [pengaturan terkelola](/id/settings#settings-files), selalu mengambil alih persetujuan hook.

617 617 

618Acara lain menggunakan pola keputusan berbeda. Misalnya, hook `PostToolUse` dan `Stop` menggunakan bidang `decision: "block"` tingkat atas, sementara `PermissionRequest` menggunakan `hookSpecificOutput.decision.behavior`. Lihat [summary table](/id/hooks#decision-control) dalam referensi untuk rincian lengkap berdasarkan acara.618Acara lain menggunakan pola keputusan berbeda. Misalnya, hook `PostToolUse` dan `Stop` menggunakan bidang `decision: "block"` tingkat atas, sementara `PermissionRequest` menggunakan `hookSpecificOutput.decision.behavior`. Lihat [summary table](/id/hooks#decision-control) dalam referensi untuk rincian lengkap berdasarkan acara.

619 619 

620Untuk hook `UserPromptSubmit`, gunakan `additionalContext` sebagai gantinya untuk menyuntikkan teks ke dalam konteks Claude.620Untuk hook `UserPromptSubmit`, gunakan `hookSpecificOutput.additionalContext` sebagai gantinya untuk menyuntikkan teks ke dalam konteks Claude. Sarangkan `additionalContext` di dalam `hookSpecificOutput`; jika Anda menempatkannya di tingkat atas JSON, Claude Code diam-diam mengabaikannya. Misalnya, output ini menambahkan status cabang saat ini ke setiap prompt:

621 

622```json theme={null}

623{

624 "hookSpecificOutput": {

625 "hookEventName": "UserPromptSubmit",

626 "additionalContext": "Current branch: release-42. Deploy freeze until Friday."

627 }

628}

629```

630 

631Lihat [UserPromptSubmit decision control](/id/hooks#userpromptsubmit-decision-control) untuk bentuk output lengkap, termasuk memblokir prompt dan menetapkan judul sesi.

621 632 

622Hooks dengan `type: "prompt"` menangani output secara berbeda: lihat [Prompt-based hooks](#prompt-based-hooks).633Hooks dengan `type: "prompt"` menangani output secara berbeda: lihat [Prompt-based hooks](#prompt-based-hooks).

623 634 


642}653}

643```654```

644 655 

645Matcher `"Edit|Write"` aktif hanya ketika Claude menggunakan alat `Edit` atau `Write`, bukan ketika menggunakan `Bash`, `Read`, atau alat lainnya. Lihat [Matcher patterns](/id/hooks#matcher-patterns) untuk cara nama biasa dan ekspresi reguler dievaluasi.656Matcher `"Edit|Write"` aktif hanya ketika Claude menggunakan alat `Edit` atau `Write`, bukan ketika menggunakan `Bash`, `Read`, atau alat lainnya. Pada Claude Code v2.1.191 atau lebih baru, koma memisahkan alternatif dengan cara yang sama, jadi `"Edit, Write"` setara. Lihat [Matcher patterns](/id/hooks#matcher-patterns) untuk cara nama biasa dan ekspresi reguler dievaluasi.

646 657 

647<Note>658<Note>

648 Claude juga dapat membuat atau memodifikasi file dengan menjalankan perintah shell melalui alat `Bash`. Jika hook Anda harus melihat setiap perubahan file, seperti untuk pemindaian kepatuhan atau pencatatan audit, tambahkan hook [`Stop`](/id/hooks#stop) yang memindai pohon kerja sekali per giliran. Untuk cakupan per-panggilan sebagai gantinya, juga cocokkan `Bash` dan buat skrip Anda mencantumkan file yang dimodifikasi dan tidak dilacak dengan `git status --porcelain`.659 Claude juga dapat membuat atau memodifikasi file dengan menjalankan perintah shell melalui alat `Bash`. Jika hook Anda harus melihat setiap perubahan file, seperti untuk pemindaian kepatuhan atau pencatatan audit, tambahkan hook [`Stop`](/id/hooks#stop) yang memindai pohon kerja sekali per giliran. Untuk cakupan per-panggilan sebagai gantinya, juga cocokkan `Bash` dan buat skrip Anda mencantumkan file yang dimodifikasi dan tidak dilacak dengan `git status --porcelain`.


941 952 

942Hook `PreToolUse` aktif sebelum pemeriksaan mode izin apa pun. Hook yang mengembalikan `permissionDecision: "deny"` memblokir alat bahkan dalam mode `bypassPermissions` atau dengan `--dangerously-skip-permissions`. Ini memungkinkan Anda menegakkan kebijakan yang pengguna tidak dapat lewati dengan mengubah mode izin mereka.953Hook `PreToolUse` aktif sebelum pemeriksaan mode izin apa pun. Hook yang mengembalikan `permissionDecision: "deny"` memblokir alat bahkan dalam mode `bypassPermissions` atau dengan `--dangerously-skip-permissions`. Ini memungkinkan Anda menegakkan kebijakan yang pengguna tidak dapat lewati dengan mengubah mode izin mereka.

943 954 

944Kebalikannya tidak benar: hook yang mengembalikan `"allow"` tidak melewati aturan deny dari pengaturan. Hooks dapat mengetatkan pembatasan tetapi tidak melonggarkan mereka melampaui apa yang aturan izin izinkan.955Kebalikannya tidak benar: hook yang mengembalikan `"allow"` tidak melewati aturan deny dari pengaturan, dan tidak dapat menekan prompt untuk alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) atau alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool). Hooks dapat mengetatkan pembatasan tetapi tidak melonggarkan mereka melampaui apa yang aturan izin izinkan.

945 956 

946<h3 id="hook-not-firing">957<h3 id="hook-not-firing">

947 Hook tidak aktif958 Hook tidak aktif

Details

33| `Ctrl+D` | Keluar dari sesi Claude Code | Sinyal EOF |33| `Ctrl+D` | Keluar dari sesi Claude Code | Sinyal EOF |

34| `Ctrl+G` atau `Ctrl+X Ctrl+E` | Buka di editor teks default | Edit prompt atau respons kustom Anda di editor teks default. `Ctrl+X Ctrl+E` adalah binding readline-native. Aktifkan Show last response in external editor di `/config` untuk menambahkan respons Claude sebelumnya sebagai konteks berkomentar `#` di atas prompt Anda; blok komentar dihapus saat Anda menyimpan |34| `Ctrl+G` atau `Ctrl+X Ctrl+E` | Buka di editor teks default | Edit prompt atau respons kustom Anda di editor teks default. `Ctrl+X Ctrl+E` adalah binding readline-native. Aktifkan Show last response in external editor di `/config` untuk menambahkan respons Claude sebelumnya sebagai konteks berkomentar `#` di atas prompt Anda; blok komentar dihapus saat Anda menyimpan |

35| `Ctrl+L` | Gambar ulang layar | Memaksa redraw terminal penuh. Input dan riwayat percakapan disimpan. Gunakan ini untuk memulihkan jika tampilan menjadi berantakan atau sebagian kosong |35| `Ctrl+L` | Gambar ulang layar | Memaksa redraw terminal penuh. Input dan riwayat percakapan disimpan. Gunakan ini untuk memulihkan jika tampilan menjadi berantakan atau sebagian kosong |

36| `Ctrl+O` | Alihkan penampil transkrip | Menampilkan penggunaan dan eksekusi alat yang terperinci. Juga memperluas panggilan MCP, yang runtuh menjadi satu baris seperti "Called slack 3 times" secara default |36| `Ctrl+O` | Alihkan penampil transkrip | Menampilkan penggunaan dan eksekusi alat yang terperinci, dengan stempel waktu dan model yang digunakan pada setiap pesan asisten. Juga memperluas panggilan MCP, yang runtuh menjadi satu baris seperti "Called slack 3 times" secara default |

37| `Ctrl+R` | Pencarian riwayat perintah terbalik | Cari melalui perintah sebelumnya secara interaktif |37| `Ctrl+R` | Pencarian riwayat perintah terbalik | Cari melalui perintah sebelumnya secara interaktif |

38| `Ctrl+V` atau `Cmd+V` (iTerm2) atau `Alt+V` (Windows dan WSL) | Tempel gambar dari clipboard | Menyisipkan chip `[Image #N]` di kursor sehingga Anda dapat mereferensikannya secara posisional dalam prompt Anda. Di WSL, baik `Ctrl+V` maupun `Alt+V` terikat; gunakan `Alt+V` jika terminal Anda menangkap `Ctrl+V` |38| `Ctrl+V` atau `Cmd+V` (iTerm2) atau `Alt+V` (Windows dan WSL) | Tempel gambar dari clipboard | Menyisipkan chip `[Image #N]` di kursor sehingga Anda dapat mereferensikannya secara posisional dalam prompt Anda. Di WSL, baik `Ctrl+V` maupun `Alt+V` terikat; gunakan `Alt+V` jika terminal Anda menangkap `Ctrl+V` |

39| `Ctrl+B` | Tugas yang berjalan di latar belakang | Menjalankan perintah bash dan agen di latar belakang. Pengguna Tmux tekan dua kali |39| `Ctrl+B` | Tugas yang berjalan di latar belakang | Menjalankan perintah bash dan agen di latar belakang. Pengguna Tmux tekan dua kali |


126 126 

127Ketik `/` di Claude Code untuk melihat semua perintah yang tersedia, atau ketik `/` diikuti huruf apa pun untuk memfilter. Menu `/` menampilkan semua yang dapat Anda panggil: perintah bawaan, [skills](/id/skills) bundel dan yang ditulis pengguna, dan perintah yang disumbangkan oleh [plugins](/id/plugins) dan [MCP servers](/id/mcp#use-mcp-prompts-as-commands). Tidak semua perintah bawaan terlihat oleh setiap pengguna karena beberapa bergantung pada platform atau paket Anda.127Ketik `/` di Claude Code untuk melihat semua perintah yang tersedia, atau ketik `/` diikuti huruf apa pun untuk memfilter. Menu `/` menampilkan semua yang dapat Anda panggil: perintah bawaan, [skills](/id/skills) bundel dan yang ditulis pengguna, dan perintah yang disumbangkan oleh [plugins](/id/plugins) dan [MCP servers](/id/mcp#use-mcp-prompts-as-commands). Tidak semua perintah bawaan terlihat oleh setiap pengguna karena beberapa bergantung pada platform atau paket Anda.

128 128 

129Dalam [rendering layar penuh](/id/fullscreen#use-the-mouse), daftar saran perintah `/` dan file `@` juga merespons mouse: mengarahkan kursor menyoroti baris dan mengklik menerimanya.

130 

129Lihat [referensi perintah](/id/commands) untuk daftar lengkap perintah yang disertakan dalam Claude Code.131Lihat [referensi perintah](/id/commands) untuk daftar lengkap perintah yang disertakan dalam Claude Code.

130 132 

131<h2 id="vim-editor-mode">133<h2 id="vim-editor-mode">


150| `v` | Mulai pemilihan visual berdasarkan karakter | NORMAL |152| `v` | Mulai pemilihan visual berdasarkan karakter | NORMAL |

151| `V` | Mulai pemilihan visual berdasarkan baris | NORMAL |153| `V` | Mulai pemilihan visual berdasarkan baris | NORMAL |

152 154 

155<h3 id="remap-insert-mode-key-sequences">

156 Pemetaan ulang urutan kunci mode INSERT

157</h3>

158 

159Pengaturan [`vimInsertModeRemaps`](/id/settings#available-settings) memetakan urutan mode INSERT dua kunci ke Escape, sehingga pemetaan seperti `jj` mengembalikan Anda ke mode NORMAL. {/* min-version: 2.1.208 */}Memerlukan Claude Code v2.1.208 atau lebih baru.

160 

161Contoh `~/.claude/settings.json` berikut mengaktifkan mode vim dan memetakan `jj` ke Escape:

162 

163```json theme={null}

164{

165 "editorMode": "vim",

166 "vimInsertModeRemaps": { "jj": "<Esc>" }

167}

168```

169 

170Setiap kunci adalah tepat dua karakter yang dapat dicetak yang diketik secara berurutan, dan `"<Esc>"` adalah satu-satunya target yang didukung. Entri dengan panjang atau target yang berbeda diabaikan.

171 

172Mengetik karakter pertama dari urutan menyisipkannya secara normal. Menekan karakter kedua dalam satu detik menghapus karakter yang tertunda itu dan beralih ke mode NORMAL, meninggalkan tidak ada karakter dalam input Anda. Setelah jendela satu detik, atau jika kunci yang berbeda mengikuti, kedua karakter tetap sebagai teks literal, sehingga Anda masih dapat mengetik kata yang berisi urutan dengan berhenti di antara dua kunci.

173 

174Claude Code membaca pengaturan ini dari file pengaturan pengguna Anda, bendera `--settings`, dan [pengaturan yang dikelola](/id/permissions#managed-settings) saja. Entri dalam `.claude/settings.json` atau `.claude/settings.local.json` proyek diabaikan, sehingga repositori yang diperiksa tidak dapat memetakan ulang penekanan tombol Anda.

175 

153<h3 id="navigation-normal-mode">176<h3 id="navigation-normal-mode">

154 Navigasi (mode NORMAL)177 Navigasi (mode NORMAL)

155</h3>178</h3>

jetbrains.md +26 −0

Details

242* Menyadari file mana yang Claude Code memiliki akses untuk memodifikasi242* Menyadari file mana yang Claude Code memiliki akses untuk memodifikasi

243 243 

244Untuk masalah instalasi atau login Claude Code di luar IDE, lihat [Troubleshoot installation and login](/id/troubleshoot-install).244Untuk masalah instalasi atau login Claude Code di luar IDE, lihat [Troubleshoot installation and login](/id/troubleshoot-install).

245 

246<h3 id="the-built-in-ide-mcp-server">

247 Server MCP IDE bawaan

248</h3>

249 

250Ketika plugin aktif, plugin menjalankan server MCP lokal yang CLI terhubung secara otomatis. Ini adalah cara CLI membuka diff di penampil diff asli IDE, membaca pilihan Anda saat ini untuk penyebutan `@`, dan menarik diagnostik inspeksi ke dalam percakapan.

251 

252Server bernama `ide` dan tersembunyi dari `/mcp` karena tidak ada yang perlu dikonfigurasi. Jika organisasi Anda menggunakan [`PreToolUse` hook](/id/hooks#pretooluse) untuk membuat daftar putih alat MCP, bagaimanapun, Anda perlu mengetahui bahwa itu ada.

253 

254**Konteks pilihan dan file terbuka.** Saat terhubung, CLI menyertakan pilihan editor Anda saat ini dan jalur file aktif sebagai konteks pada setiap prompt yang Anda kirim. Transkrip menunjukkan baris `⧉ Selected N lines from <file>` ketika ini terjadi. Untuk mengecualikan file sensitif seperti `.env`, tambahkan [aturan penolakan `Read`](/id/permissions#read-and-edit) untuk jalurnya. Aturan penolakan yang cocok mencegah baik teks yang dipilih maupun pemberitahuan file terbuka untuk file itu dari mencapai Claude.

255 

256**Transportasi dan autentikasi.** Server mendengarkan pada port ephemeral yang ditugaskan OS, dan port tidak dapat dikonfigurasi. Transportasi adalah `ws://` yang tidak terenkripsi; pada loopback, proses apa pun yang dapat menangkap lalu lintas juga dapat membaca token dari file kunci, jadi TLS tidak akan menambah perlindungan terhadap penyerang lokal. Setiap awal IDE menghasilkan token autentikasi acak segar, menulisnya ke file kunci di `~/.claude/ide/<port>.lock`, dan CLI harus menyajikannya sebagai header `X-Claude-Code-Ide-Authorization` untuk terhubung. Jika `CLAUDE_CONFIG_DIR` diatur, file kunci ditulis ke `$CLAUDE_CONFIG_DIR/ide/` sebagai gantinya.

257 

258**Alat yang diekspos ke model.** Server menampilkan beberapa alat, tetapi hanya satu yang terlihat oleh model. Sisanya adalah RPC internal yang CLI gunakan untuk UI-nya sendiri, seperti membuka diff dan membaca pilihan, dan disaring keluar sebelum daftar alat mencapai Claude.

259 

260| Nama alat (seperti yang terlihat oleh hooks) | Apa yang dilakukannya | Hanya-baca |

261| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------- |

262| `mcp__ide__getDiagnostics` | Mengembalikan diagnostik inspeksi IDE, kesalahan dan peringatan yang ditampilkan di editor. Secara opsional dibatasi pada satu file. | Ya |

263 

264Plugin JetBrains tidak mengekspos alat eksekusi kode ke model.

265 

266**Antarmuka mendengarkan.** Antarmuka jaringan mana yang server ikat dikontrol oleh **Accept connections from all network interfaces** di bawah **Settings → Tools → Claude Code \[Beta] → Networking (Advanced)**. Dengan pengaturan dinonaktifkan, server mendengarkan hanya pada `127.0.0.1` dan tidak dapat dijangkau dari host lain. Dengan pengaturan diaktifkan, port dapat dijangkau dari jaringan lokal Anda. Pengaturan ada untuk kasus di mana CLI tidak dapat menjangkau IDE melalui loopback, seperti WSL2 dengan jaringan NAT default atau pengaturan IDE jarak jauh; lihat [Konfigurasi WSL](#wsl-configuration) untuk skenario itu.

267 

268<Warning>

269 Mengaktifkan **Accept connections from all network interfaces** membuat port MCP IDE dapat dijangkau dari jaringan lokal Anda. Koneksi masih memerlukan token autentikasi dari file kunci, tetapi karena transportasi adalah `ws://` yang tidak terenkripsi, baik lalu lintas sesi maupun token itu melintasi jaringan dalam teks biasa ketika pengaturan aktif. Hanya aktifkan ketika loopback benar-benar tidak dapat bekerja. Untuk WSL2, lebih suka [jaringan cermin](#switch-wsl2-to-mirrored-networking) sehingga antarmuka loopback Windows dibagikan dengan VM Linux dan soket dapat tetap pada loopback.

270</Warning>

keybindings.md +6 −5

Details

147Tindakan yang tersedia dalam konteks `Confirmation`:147Tindakan yang tersedia dalam konteks `Confirmation`:

148 148 

149| Tindakan | Default | Deskripsi |149| Tindakan | Default | Deskripsi |

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

151| `confirm:yes` | Y, Enter | Konfirmasi tindakan |151| `confirm:yes` | Y, Enter | Konfirmasi tindakan |

152| `confirm:no` | N, Escape | Tolak tindakan |152| `confirm:no` | N, Escape | Tolak tindakan |

153| `confirm:previous` | Up | Opsi sebelumnya |153| `confirm:previous` | Up | Opsi sebelumnya |


156| `confirm:previousField` | (unbound) | Bidang sebelumnya |156| `confirm:previousField` | (unbound) | Bidang sebelumnya |

157| `confirm:toggle` | Space | Alihkan pilihan |157| `confirm:toggle` | Space | Alihkan pilihan |

158| `confirm:cycleMode` | Shift+Tab | Mode izin siklus |158| `confirm:cycleMode` | Shift+Tab | Mode izin siklus |

159| `confirm:toggleExplanation` | Ctrl+E | Alihkan penjelasan izin |159| `confirm:toggleExplanation` | Ctrl+E | Alihkan penjelasan izin yang dihasilkan model pada prompt izin Bash dan PowerShell |

160 160 

161<h3 id="permission-actions">161<h3 id="permission-actions">

162 Tindakan izin162 Tindakan izin


283Tindakan yang tersedia dalam konteks `DiffDialog`:283Tindakan yang tersedia dalam konteks `DiffDialog`:

284 284 

285| Tindakan | Default | Deskripsi |285| Tindakan | Default | Deskripsi |

286| :-------------------- | :----------------- | :--------------------------------------------------------------------------------- |286| :-------------------- | :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |

287| `diff:dismiss` | Escape | Tutup penampil diff |287| `diff:dismiss` | Escape | Tutup penampil diff; dari tampilan detail, kembali ke daftar file sebagai gantinya |

288| `diff:previousSource` | Left | Sumber diff sebelumnya |288| `diff:previousSource` | Left | Sumber diff sebelumnya |

289| `diff:nextSource` | Right | Sumber diff berikutnya |289| `diff:nextSource` | Right | Sumber diff berikutnya |

290| `diff:previousFile` | Up, K | File sebelumnya dalam daftar file; gulir ke atas satu baris dalam tampilan detail |290| `diff:previousFile` | Up, K | File sebelumnya dalam daftar file; gulir ke atas satu baris dalam tampilan detail |

291| `diff:nextFile` | Down, J | File berikutnya dalam daftar file; gulir ke bawah satu baris dalam tampilan detail |291| `diff:nextFile` | Down, J | File berikutnya dalam daftar file; gulir ke bawah satu baris dalam tampilan detail |

292| `diff:viewDetails` | Enter | Lihat detail diff |292| `diff:viewDetails` | Enter | Lihat detail diff |

293| `diff:back` | (context-specific) | Kembali dalam penampil diff |293| `diff:back` | (unbound) | Kembali dalam penampil diff. Escape melakukan tindakan kembali melalui `diff:dismiss`. Default sebelumnya dari Left dalam tampilan detail dihapus dalam v2.1.203 |

294 294 

295Tampilan detail diff juga mengikat kunci gaya pager ke [tindakan scroll](#scroll-actions) standar. Pengikatan ini adalah bagian dari konteks `DiffDialog` dan hanya berlaku dalam tampilan detail; default konteks `Scroll` yang tercantum di bawah [Tindakan scroll](#scroll-actions) tidak berubah.295Tampilan detail diff juga mengikat kunci gaya pager ke [tindakan scroll](#scroll-actions) standar. Pengikatan ini adalah bagian dari konteks `DiffDialog` dan hanya berlaku dalam tampilan detail; default konteks `Scroll` yang tercantum di bawah [Tindakan scroll](#scroll-actions) tidak berubah.

296 296 


526* **Keybindings** menangani tindakan pada tingkat komponen (alihkan todos, kirim, dll.)526* **Keybindings** menangani tindakan pada tingkat komponen (alihkan todos, kirim, dll.)

527* Tombol Escape dalam mode vim beralih dari INSERT ke mode NORMAL; itu tidak memicu `chat:cancel`527* Tombol Escape dalam mode vim beralih dari INSERT ke mode NORMAL; itu tidak memicu `chat:cancel`

528* Sebagian besar pintasan Ctrl+key melewati mode vim ke sistem keybinding528* Sebagian besar pintasan Ctrl+key melewati mode vim ke sistem keybinding

529* Kunci vim tidak dapat dipetakan ulang melalui file keybindings. Untuk memetakan urutan mode INSERT dua kunci seperti `jj` ke Escape, gunakan pengaturan [`vimInsertModeRemaps`](/id/interactive-mode#remap-insert-mode-key-sequences)

529* Dalam mode NORMAL vim, `?` menampilkan menu bantuan (perilaku vim)530* Dalam mode NORMAL vim, `?` menampilkan menu bantuan (perilaku vim)

530* Dalam mode NORMAL vim, `/` membuka pencarian riwayat, sama seperti Ctrl+R dalam mode standar531* Dalam mode NORMAL vim, `/` membuka pencarian riwayat, sama seperti Ctrl+R dalam mode standar

531 532 

Details

254 254 

255Daftarkan direktori di `sparsePaths`, bukan file individual. File level-root seperti `package.json`, `tsconfig.base.json`, dan file lock selalu diperiksa bersama direktori yang Anda daftarkan. Direktori level-root tidak, jadi sertakan `.claude` dalam daftar jika Anda menginginkan `.claude/settings.json`, `.claude/rules/`, atau `.claude/skills/` repository root tersedia di dalam worktree.255Daftarkan direktori di `sparsePaths`, bukan file individual. File level-root seperti `package.json`, `tsconfig.base.json`, dan file lock selalu diperiksa bersama direktori yang Anda daftarkan. Direktori level-root tidak, jadi sertakan `.claude` dalam daftar jika Anda menginginkan `.claude/settings.json`, `.claude/rules/`, atau `.claude/skills/` repository root tersedia di dalam worktree.

256 256 

257Sparse checkout memerlukan git untuk mengaktifkan `extensions.worktreeConfig` di `.git/config` bersama repository saat worktree sparse ada. Claude Code menghapus entri itu setelah worktree terakhir dihapus, tetapi hanya jika Claude Code yang menambahkannya. Itu tidak pernah menghapus nilai yang Anda atur sendiri. Sebelum v2.1.207, entri tetap ada setelah worktree terakhir dihapus, dan alat berbasis go-git seperti `tea` gagal membuka repository sampai Anda menjalankan `git config --unset extensions.worktreeConfig`.

258 

257Untuk menghindari duplikasi direktori besar seperti `node_modules` di seluruh worktrees, pasangkan `sparsePaths` dengan `symlinkDirectories` di `.claude/settings.json` yang sama:259Untuk menghindari duplikasi direktori besar seperti `node_modules` di seluruh worktrees, pasangkan `sparsePaths` dengan `symlinkDirectories` di `.claude/settings.json` yang sama:

258 260 

259```json .claude/settings.json theme={null}261```json .claude/settings.json theme={null}

Details

4 4 

5# Hubungkan Claude Code ke gateway LLM5# Hubungkan Claude Code ke gateway LLM

6 6 

7> Arahkan Claude Code ke gateway LLM organisasi Anda. Periksa apakah admin Anda sudah mengonfigurasinya, atau atur URL dasar dan kredensial sendiri untuk CLI, VS Code, GitHub Actions, dan Agent SDK, kemudian verifikasi koneksi dan perbaiki kesalahan gateway.7> Arahkan Claude Code ke gateway LLM organisasi Anda. Periksa apakah admin Anda sudah mengonfigurasinya, atau atur URL dasar dan kredensial sendiri, kemudian verifikasi koneksi dan perbaiki kesalahan gateway.

8 8 

9[Gateway LLM](/id/llm-gateway) adalah proxy yang dijalankan organisasi Anda antara Claude Code dan penyedia model. Ketika organisasi Anda menggunakan satu, Claude Code melakukan autentikasi ke gateway dengan kredensial yang dikeluarkan organisasi Anda, bukan login claude.ai pribadi Anda.9[Gateway LLM](/id/llm-gateway) adalah proxy yang dijalankan organisasi Anda antara Claude Code dan penyedia model. Ketika organisasi Anda menggunakan satu, Claude Code melakukan autentikasi ke gateway dengan kredensial yang dikeluarkan organisasi Anda, bukan login claude.ai pribadi Anda.

10 10 


55* [Atur variabel kredensial](#set-the-credential-variable) dan [atur URL dasar](#set-the-base-url-and-credential): dua variabel yang setiap koneksi gateway butuhkan55* [Atur variabel kredensial](#set-the-credential-variable) dan [atur URL dasar](#set-the-base-url-and-credential): dua variabel yang setiap koneksi gateway butuhkan

56* [Verifikasi koneksi](#verify-the-connection): konfirmasi berfungsi sebelum menyimpan apa pun56* [Verifikasi koneksi](#verify-the-connection): konfirmasi berfungsi sebelum menyimpan apa pun

57* [Konfigurasikan setiap permukaan](#configure-each-surface): jika Anda menggunakan permukaan selain CLI Claude Code, seperti VS Code, lihat cara mengonfigurasinya dengan kredensial gateway Anda57* [Konfigurasikan setiap permukaan](#configure-each-surface): jika Anda menggunakan permukaan selain CLI Claude Code, seperti VS Code, lihat cara mengonfigurasinya dengan kredensial gateway Anda

58* [Konfigurasi tambahan](#additional-configuration): variabel yang beberapa gateway butuhkan di luar URL dasar dan kredensial, seperti header khusus, pembantu kredensial, penemuan model, atau URL dasar format penyedia. Atur ini hanya jika administrator Anda menamakannya58* [Konfigurasi tambahan](#additional-configuration): variabel yang beberapa gateway butuhkan di luar URL dasar dan kredensial, seperti header khusus, pembantu kredensial, penemuan model, URL dasar format penyedia, atau mematikan lalu lintas di luar jalur gateway. Atur ini hanya jika administrator Anda menamakannya atau jaringan Anda membatasi egress

59 59 

60<h3 id="set-the-credential-variable">60<h3 id="set-the-credential-variable">

61 Atur variabel kredensial61 Atur variabel kredensial


209 Aplikasi desktop209 Aplikasi desktop

210</h3>210</h3>

211 211 

212Aplikasi desktop membaca perutean gateway dari [konfigurasi yang didistribusikan administrator](https://claude.com/docs/third-party/claude-desktop/gateway), bukan dari `ANTHROPIC_BASE_URL` atau `settings.json`. Jika organisasi Anda telah mendistribusikannya, aplikasi desktop merutekan melalui gateway tanpa pengaturan di pihak Anda; jika tidak, gunakan CLI terminal atau ekstensi VS Code untuk sesi gateway. Administrator mendistribusikan konfigurasi seperti yang dijelaskan dalam [peluncuran organisasi](/id/llm-gateway-rollout#distribute-through-managed-settings).212Aplikasi desktop membaca perutean gateway dari [konfigurasi inferensi pihak ketiga](https://claude.com/docs/third-party/claude-desktop/gateway), bukan dari `ANTHROPIC_BASE_URL` atau `settings.json`. Konfigurasi itu dapat berasal dari organisasi Anda atau dari formulir di aplikasi itu sendiri:

213 

214* **Didistribusikan oleh administrator**: jika organisasi Anda telah [menerapkan konfigurasi](/id/llm-gateway-rollout#distribute-through-managed-settings), aplikasi desktop merutekan melalui gateway tanpa pengaturan di pihak Anda

215* **Dikonfigurasi secara lokal**: untuk perangkat tanpa konfigurasi yang didistribusikan administrator, buka Help → Troubleshooting → Enable Developer Mode, yang memulai ulang aplikasi dengan menu Developer. Kemudian buka Developer → Configure Third-Party Inference dan masukkan URL dasar gateway Anda. Konfigurasi yang didistribusikan administrator memiliki prioritas dan membuat formulir ini hanya-baca

216 

217Dengan konfigurasi gateway aktif, aplikasi desktop menjalankan sesi hanya di mesin lokal Anda: pemilih lingkungan tidak menawarkan sesi SSH atau lingkungan cloud yang dihosting Anthropic, dan [Remote Control](/id/remote-control) tidak tersedia. Untuk menggunakan Claude Code pada host jarak jauh melalui gateway, jalankan CLI pada host itu dengan [`ANTHROPIC_BASE_URL` dan kredensial gateway](#set-the-base-url-and-credential) diatur di sana.

213 218 

214Jika aplikasi desktop menampilkan `Gateway was unreachable`, aplikasi tidak dapat menjangkau URL dasar yang dikonfigurasi saat startup; periksa URL dan jalur jaringan dengan [tes curl di atas](#verify-the-connection).219Jika aplikasi desktop menampilkan `Gateway was unreachable`, aplikasi tidak dapat menjangkau URL dasar yang dikonfigurasi saat startup; periksa URL dan jalur jaringan dengan [tes curl di atas](#verify-the-connection).

215 220 


296 Konfigurasi tambahan301 Konfigurasi tambahan

297</h2>302</h2>

298 303 

299Pengaturan ini mencakup kasus di luar URL dasar dan kredensial. Atur hanya jika instruksi administrator Anda atau [tabel pemecahan masalah](#troubleshoot-gateway-errors) memanggil satu.304Pengaturan ini mencakup kasus di luar URL dasar dan kredensial. Atur hanya jika instruksi administrator Anda, aturan egress jaringan Anda, atau [tabel pemecahan masalah](#troubleshoot-gateway-errors) memanggil satu.

300 305 

301<h3 id="send-additional-headers">306<h3 id="send-additional-headers">

302 Kirim header tambahan307 Kirim header tambahan


389 394 

390Nilai pembantu dikirim di header `Authorization` dan `x-api-key`, jadi berfungsi di mana pun header gateway Anda dibaca.395Nilai pembantu dikirim di header `Authorization` dan `x-api-key`, jadi berfungsi di mana pun header gateway Anda dibaca.

391 396 

397<h3 id="turn-off-traffic-outside-the-gateway-path">

398 Matikan lalu lintas di luar jalur gateway

399</h3>

400 

401Gateway membawa permintaan model, tetapi Claude Code juga mengirim lalu lintas latar belakang yang tidak penting di luar jalur gateway, ke Anthropic dan ke layanan pihak ketiga seperti GitHub: pemeriksaan versi, telemetri, laporan kesalahan, catatan rilis, dan permintaan serupa. Di jaringan yang hanya memungkinkan egress ke gateway, permintaan ini gagal dan dapat muncul sebagai koneksi yang diblokir dalam pemantauan egress Anda.

402 

403Untuk mematikan lalu lintas itu, atur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` bersama variabel gateway, di ekspor shell yang sama atau blok `env` file pengaturan:

404 

405<Tabs>

406 <Tab title="Bash atau Zsh">

407 ```bash theme={null}

408 export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

409 ```

410 </Tab>

411 

412 <Tab title="PowerShell">

413 ```powershell theme={null}

414 $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"

415 ```

416 </Tab>

417</Tabs>

418 

419Mengatur variabel memiliki efek dan batasan ini:

420 

421* Ini menonaktifkan pembaruan otomatis, jadi rencanakan jalur pembaruan lain, seperti pengelola paket Anda atau distribusi terkelola.

422* Ini menekan pemeriksaan ketersediaan [mode cepat](/id/fast-mode). Kecuali pemeriksaan sebelumnya telah mengaktifkan mode cepat di mesin, `/fast` melaporkan bahwa mode cepat tidak tersedia.

423* Ini mematikan [penemuan model gateway](#add-gateway-models-to-the-model-picker), meskipun penemuan menanyakan gateway itu sendiri. Model yang sebelumnya ditemukan tetap tersedia dari cache lokal, tetapi daftar tidak disegarkan.

424* Pemeriksaan keamanan domain alat WebFetch tidak terpengaruh dan masih memanggil `api.anthropic.com`. Matikan secara terpisah dengan `skipWebFetchPreflight: true` di [pengaturan](/id/settings) jika jaringan Anda memblokir host itu.

425* Untuk setiap aliran telemetri dan variabel yang mengontrolnya, lihat [layanan telemetri](/id/data-usage#telemetry-services).

426 

392<h3 id="route-to-a-cloud-provider-through-a-gateway">427<h3 id="route-to-a-cloud-provider-through-a-gateway">

393 Rutekan ke penyedia cloud melalui gateway428 Rutekan ke penyedia cloud melalui gateway

394</h3>429</h3>


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

510| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif; variabel digunakan untuk permintaan, tetapi login basi dapat menyebabkan perilaku auth yang tidak terduga | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway |545| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif; variabel digunakan untuk permintaan, tetapi login basi dapat menyebabkan perilaku auth yang tidak terduga | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway |

511| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut |546| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut |

547| `Your apiKeyHelper script is failing` | Perintah dalam pengaturan [`apiKeyHelper`](/id/settings#available-settings) keluar dengan kesalahan, habis waktu, atau tidak mencetak apa pun, sehingga permintaan membawa kunci placeholder | Jalankan perintah secara langsung untuk melihat mengapa itu gagal, dan autentikasi ulang dengan penyedia kredensial Anda jika itu melaporkan sesi yang kedaluwarsa; lihat [referensi kesalahan](/id/errors#your-apikeyhelper-script-is-failing) |

512| `Unable to connect to API (ConnectionRefused)`, atau `(ECONNREFUSED)` dari instalasi npm, sering setelah jeda senyap sementara Claude Code [mencoba ulang dengan backoff](/id/errors#automatic-retries) | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda |548| `Unable to connect to API (ConnectionRefused)`, atau `(ECONNREFUSED)` dari instalasi npm, sering setelah jeda senyap sementara Claude Code [mencoba ulang dengan backoff](/id/errors#automatic-retries) | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda |

513| `API returned an empty or malformed response (HTTP 200)` | Gateway atau proxy perantara mengembalikan respons non-API, sering halaman HTML error atau login | Uji dengan [permintaan curl di atas](#verify-the-connection); perbaiki rute gateway yang mengembalikan non-JSON |549| `API returned an empty or malformed response (HTTP 200)` | Gateway atau proxy perantara mengembalikan respons non-API, sering halaman HTML error atau login | Uji dengan [permintaan curl di atas](#verify-the-connection); perbaiki rute gateway yang mengembalikan non-JSON |

514| Kesalahan `400` yang menamai `context_management`, `Extra inputs are not permitted`, atau bidang lain yang tidak dikenali | Gateway meneruskan permintaan ke upstream yang menolak bidang yang dikirim Claude Code ke titik akhir format Anthropic | Atur `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, yang menekan sebagian besar bidang pra-rilis; lihat [feature pass-through](/id/llm-gateway-protocol#feature-pass-through). Beberapa beta tidak dijaga oleh bendera ini; untuk itu, atur variabel penyedia `CLAUDE_CODE_USE_*` yang cocok sehingga Claude Code hanya mengirim apa yang diterima penyedia itu |550| Kesalahan `400` yang menamai `context_management`, `Extra inputs are not permitted`, atau bidang lain yang tidak dikenali | Gateway meneruskan permintaan ke upstream yang menolak bidang yang dikirim Claude Code ke titik akhir format Anthropic | Atur `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, yang menekan sebagian besar bidang pra-rilis; lihat [feature pass-through](/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 |

Details

129Streaming alat berbutir halus adalah salah satu default koneksi langsung: itu dimatikan secara default setiap kali permintaan merutekan melalui URL dasar kustom, dan gateway menerimanya ketika pengembang menetapkan [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/id/env-vars).129Streaming alat berbutir halus adalah salah satu default koneksi langsung: itu dimatikan secara default setiap kali permintaan merutekan melalui URL dasar kustom, dan gateway menerimanya ketika pengembang menetapkan [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/id/env-vars).

130 130 

131| Fitur | Header dan pasangan body | Gejala ketika rusak | Remediasi |131| Fitur | Header dan pasangan body | Gejala ketika rusak | Remediasi |

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

133| [Penalaran adaptif](/id/model-config#adjust-effort-level) | Tidak ada header beta. Claude Code mengirim `thinking: {"type": "adaptive"}` untuk Claude 4.6 dan lebih baru, dan memperlakukan nama model yang tidak dikenalinya, seperti alias gateway, sebagai model saat ini yang menerima field | `400` penamaan field `thinking` atau tag `adaptive` ketika build model upstream tidak menerimanya | Tingkatkan upstream. Pada Opus 4.6 dan Sonnet 4.6, pengembang dapat mengatur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` sebagai gantinya |133| [Penalaran adaptif](/id/model-config#adjust-effort-level) | Tidak ada header beta. Claude Code mengirim `thinking: {"type": "adaptive"}` untuk Claude 4.6 dan lebih baru, dan memperlakukan nama model yang tidak dikenalinya, seperti alias gateway, sebagai model saat ini yang menerima field | `400` penamaan field `thinking` atau tag `adaptive` ketika build model upstream tidak menerimanya | Tingkatkan upstream. Pada Opus 4.6 dan Sonnet 4.6, pengembang dapat mengatur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` sebagai gantinya |

134| [Manajemen konteks](https://platform.claude.com/docs/en/build-with-claude/context-management) | Header beta manajemen konteks berpasangan dengan field body `context_management` | `400` dengan `Extra inputs are not permitted`. Umum ketika gateway menerima permintaan format Anthropic tetapi meneruskannya ke Amazon Bedrock | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/id/env-vars) |134| [Manajemen konteks](https://platform.claude.com/docs/en/build-with-claude/context-management) | Header beta manajemen konteks berpasangan dengan field body `context_management` | `400` dengan `Extra inputs are not permitted`. Umum ketika gateway menerima permintaan format Anthropic tetapi meneruskannya ke Amazon Bedrock | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/id/env-vars) |

135| [Konteks diperluas](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) dan [pemikiran interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Hanya header beta, tidak ada field body | Diam-diam tidak tersedia ketika header dihapus; upstream tidak pernah melihat permintaan kemampuan | Teruskan `anthropic-beta` secara verbatim |135| [Konteks diperluas](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) dan [pemikiran interleaved](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Hanya header beta, tidak ada field body | Diam-diam tidak tersedia ketika header dihapus; upstream tidak pernah melihat permintaan kemampuan | Teruskan `anthropic-beta` secara verbatim |

136| Beta [field alat](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Header beta terkait alat berpasangan dengan field skema alat seperti `strict` dan `defer_loading` | `400` penamaan field skema alat yang tidak dikenali ketika body melewati tanpa headernya | Teruskan keduanya, atau `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |136| Beta [field alat](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Header beta terkait alat berpasangan dengan field skema alat seperti `strict` dan `defer_loading` | `400` penamaan field skema alat yang tidak dikenali ketika body melewati tanpa headernya | Teruskan keduanya, atau `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |

137| [Upaya](https://platform.claude.com/docs/en/build-with-claude/effort) dan [output terstruktur](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Field body `output_config` membawa upaya, format output terstruktur, dan pengaturan anggaran tugas; masing-masing berpasangan dengan header betanya sendiri | `400` penamaan `output_config`, sering `Extra inputs are not permitted`, pada upstream Amazon Bedrock dan Agent Platform Google Cloud | Teruskan field dan headernya bersama-sama |137| [Upaya](https://platform.claude.com/docs/en/build-with-claude/effort) dan [output terstruktur](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Field body `output_config` membawa upaya, format output terstruktur, dan pengaturan anggaran tugas; masing-masing berpasangan dengan header betanya sendiri | `400` penamaan `output_config`, sering `Extra inputs are not permitted`, pada upstream Amazon Bedrock dan Agent Platform Google Cloud | Teruskan field dan headernya bersama-sama |

138| [Penghitungan token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Tidak ada pasangan beta; menggunakan endpoint `count_tokens` | Claude Code kembali ke estimasi penggunaan konteks secara lokal | Ekspos endpoint jika Anda menginginkan hitungan yang tepat |138| [Penghitungan token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Tidak ada pasangan beta; menggunakan endpoint `count_tokens` | Claude Code kembali ke estimasi penggunaan konteks secara lokal | Ekspos endpoint jika Anda menginginkan hitungan yang tepat |

Details

214 214 

215Beberapa lingkungan memerlukan pengiriman terpisah:215Beberapa lingkungan memerlukan pengiriman terpisah:

216 216 

217* Aplikasi desktop membaca perutean gateway hanya dari konfigurasi inferensi pihak ketiga yang dikirimkan MDM; terapkan file itu bersama pengaturan terkelola sehingga sesi desktop juga merutekan melalui gateway. Lihat [dokumentasi konfigurasi pihak ketiga desktop](https://claude.com/docs/third-party/claude-desktop/configuration) dan [dokumentasi gateway desktop](https://claude.com/docs/third-party/claude-desktop/gateway)217* Aplikasi desktop membaca perutean gateway dari konfigurasi inferensi pihak ketiga, bukan dari pengaturan terkelola; terapkan file itu melalui MDM bersama pengaturan terkelola sehingga sesi desktop juga merutekan melalui gateway. Lihat [dokumentasi konfigurasi pihak ketiga desktop](https://claude.com/docs/third-party/claude-desktop/configuration) dan [dokumentasi gateway desktop](https://claude.com/docs/third-party/claude-desktop/gateway)

218* Runner CI memerlukan `ANTHROPIC_BASE_URL` dan kredensial yang ditetapkan di [lingkungan runner](/id/llm-gateway-connect#configure-each-surface)218* Runner CI memerlukan `ANTHROPIC_BASE_URL` dan kredensial yang ditetapkan di [lingkungan runner](/id/llm-gateway-connect#configure-each-surface)

219* WSL pada mesin Windows terkelola membaca pengaturan terkelola Windows hanya ketika [`wslInheritsWindowsSettings`](/id/settings#available-settings) adalah `true`219* WSL pada mesin Windows terkelola membaca pengaturan terkelola Windows hanya ketika [`wslInheritsWindowsSettings`](/id/settings#available-settings) adalah `true`

220 220 

managed-mcp.md +7 −2

Details

133 Kontrol berbasis kebijakan dengan daftar izin dan daftar penolakan133 Kontrol berbasis kebijakan dengan daftar izin dan daftar penolakan

134</h2>134</h2>

135 135 

136Daftar izin dan daftar penolakan memfilter server mana yang dikonfigurasi yang diizinkan untuk dimuat. Mereka bukan registri: server masih harus ditambahkan oleh pengguna, plugin, atau `managed-mcp.json` sebelum daftar izin atau daftar penolakan berlaku padanya. Untuk menerapkan server kepada pengguna, gunakan [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json).136Daftar izin dan daftar penolakan memfilter server mana yang dikonfigurasi yang diizinkan untuk dimuat. Mereka bukan registri: server masih harus ditambahkan oleh pengguna, plugin, atau `managed-mcp.json` sebelum daftar izin atau daftar penolakan berlaku padanya. Untuk menerapkan server kepada pengguna, gunakan [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json). Kedua daftar juga memfilter server yang dilewatkan dengan bendera CLI [`--mcp-config`](/id/cli-reference#cli-flags); `--strict-mcp-config` membatasi file konfigurasi mana yang dimuat dan tidak melewati salah satu daftar.

137 137 

138Untuk membuat daftar izin berwenang, atur `allowedMcpServers` dan `allowManagedMcpServersOnly: true` bersama-sama dalam [sumber pengaturan yang dikelola](/id/admin-setup#decide-how-settings-reach-devices), seperti pengaturan yang dikelola server atau file `managed-settings.json` yang diterapkan. [Batasi daftar izin ke pengaturan yang dikelola saja](#restrict-the-allowlist-to-managed-settings-only) menunjukkan konfigurasi. Tanpa `allowManagedMcpServersOnly`, daftar izin dari setiap sumber pengaturan digabungkan, termasuk `~/.claude/settings.json` pengguna sendiri, jadi pengguna dapat memperluas apa yang diizinkan daftar izin Anda. Daftar penolakan digabungkan dari setiap sumber terlepas dari itu.138Untuk membuat daftar izin berwenang, atur `allowedMcpServers` dan `allowManagedMcpServersOnly: true` bersama-sama dalam [sumber pengaturan yang dikelola](/id/admin-setup#decide-how-settings-reach-devices), seperti pengaturan yang dikelola server atau file `managed-settings.json` yang diterapkan. [Batasi daftar izin ke pengaturan yang dikelola saja](#restrict-the-allowlist-to-managed-settings-only) menunjukkan konfigurasi. Tanpa `allowManagedMcpServersOnly`, daftar izin dari setiap sumber pengaturan digabungkan, termasuk `~/.claude/settings.json` pengguna sendiri, jadi pengguna dapat memperluas apa yang diizinkan daftar izin Anda. Daftar penolakan digabungkan dari setiap sumber terlepas dari itu.

139 139 


160| `allowedMcpServers` | Semua server diizinkan | Tidak ada server yang diizinkan | Hanya server yang cocok diizinkan |160| `allowedMcpServers` | Semua server diizinkan | Tidak ada server yang diizinkan | Hanya server yang cocok diizinkan |

161| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |161| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |

162 162 

163Lihat [Entri tidak valid dalam pengaturan yang dikelola](/id/settings#invalid-entries-in-managed-settings) untuk mengetahui apa yang terjadi ketika entri gagal validasi skema.

164 

163<Warning>165<Warning>

164 Entri `serverName`, dalam daftar apa pun, bukan kontrol keamanan. Nama adalah label yang ditetapkan pengguna saat menjalankan `claude mcp add` atau mengedit file konfigurasi, bukan server yang mendasar, jadi pengguna dapat memanggil server apa pun `github`. Untuk konektor claude.ai, nama adalah nama tampilan yang dikembalikan oleh claude.ai, yang dapat berubah. Untuk menerapkan server mana yang benar-benar berjalan, tambahkan entri `serverCommand` atau `serverUrl`.166 Entri `serverName`, dalam daftar apa pun, bukan kontrol keamanan. Nama adalah label yang ditetapkan pengguna saat menjalankan `claude mcp add` atau mengedit file konfigurasi, bukan server yang mendasar, jadi pengguna dapat memanggil server apa pun `github`. Untuk konektor claude.ai, nama adalah nama tampilan yang dikembalikan oleh claude.ai, yang dapat berubah. Untuk menerapkan server mana yang benar-benar berjalan, tambahkan entri `serverCommand` atau `serverUrl`.

165</Warning>167</Warning>


186| Jarak jauh (HTTP atau SSE) | Entri `serverUrl`. Kecocokan `serverName` hanya dihitung ketika daftar izin tidak berisi entri `serverUrl` |188| Jarak jauh (HTTP atau SSE) | Entri `serverUrl`. Kecocokan `serverName` hanya dihitung ketika daftar izin tidak berisi entri `serverUrl` |

187| Stdio | Entri `serverCommand`. Kecocokan `serverName` hanya dihitung ketika daftar izin tidak berisi entri `serverCommand` |189| Stdio | Entri `serverCommand`. Kecocokan `serverName` hanya dihitung ketika daftar izin tidak berisi entri `serverCommand` |

188 190 

189Dua aturan pencocokan berlaku dalam pemeriksaan tersebut:191Tiga aturan pencocokan berlaku dalam pemeriksaan tersebut:

190 192 

191* **Perintah cocok dengan tepat.** Setiap argumen, dalam urutan. `["npx", "-y", "server"]` tidak cocok dengan `["npx", "server"]` atau `["npx", "-y", "server", "--flag"]`.193* **Perintah cocok dengan tepat.** Setiap argumen, dalam urutan. `["npx", "-y", "server"]` tidak cocok dengan `["npx", "server"]` atau `["npx", "-y", "server", "--flag"]`.

194* **Nilai `serverCommand` dan `serverUrl` diperluas sebelum pencocokan.** Baik entri kebijakan maupun nilai yang dikonfigurasi server melalui ekspansi [`${VAR}` dan `${VAR:-default}`](/id/mcp#environment-variable-expansion-in-mcp-json) yang sama seperti `.mcp.json`, jadi entri yang ditulis sebagai `["${HOME}/bin/server"]` cocok dengan konfigurasi server yang menggunakan referensi yang sama atau jalur yang diperluas. Di Windows, referensikan variabel lingkungan yang diatur di sana, seperti `${USERPROFILE}` bukan `${HOME}`. Nilai `serverName` cocok secara harfiah dan tidak pernah diperluas.

192* **URL mendukung wildcard `*`** di mana pun dalam pola, termasuk skema. Pencocokan nama host tidak peka huruf besar-kecil dan mengabaikan titik FQDN yang tertinggal, jadi `https://Mcp.Example.com/*` cocok dengan `https://mcp.example.com/api`. Jalur tetap peka huruf besar-kecil.195* **URL mendukung wildcard `*`** di mana pun dalam pola, termasuk skema. Pencocokan nama host tidak peka huruf besar-kecil dan mengabaikan titik FQDN yang tertinggal, jadi `https://Mcp.Example.com/*` cocok dengan `https://mcp.example.com/api`. Jalur tetap peka huruf besar-kecil.

193 196 

194| Pola | Mengizinkan |197| Pola | Mengizinkan |


199| `http://localhost:*/*` | Port apa pun di localhost |202| `http://localhost:*/*` | Port apa pun di localhost |

200| `*://mcp.example.com/*` | Skema apa pun ke domain tertentu |203| `*://mcp.example.com/*` | Skema apa pun ke domain tertentu |

201 204 

205Karena ekspansi `${VAR}` membaca lingkungan proses Claude Code sendiri, entri kebijakan `serverCommand` atau `serverUrl` yang mereferensikan variabel diperluas ke nilai apa pun yang ditetapkan pengguna. Gunakan URL dan perintah literal untuk entri yang Anda andalkan untuk penegakan.

206 

202<h3 id="example-configuration">207<h3 id="example-configuration">

203 Contoh konfigurasi208 Contoh konfigurasi

204</h3>209</h3>

mcp.md +32 −12

Details

187* `~/.claude/settings.json` pengguna Anda187* `~/.claude/settings.json` pengguna Anda

188* pengaturan yang dikelola188* pengaturan yang dikelola

189* pengaturan yang diteruskan dengan `--settings`189* pengaturan yang diteruskan dengan `--settings`

190* `.claude/settings.local.json`, selama git tidak melacaknya190 

191Persetujuan dalam `.claude/settings.local.json` yang tidak dilacak juga berlaku, tetapi hanya setelah Anda menerima dialog kepercayaan untuk folder tersebut atau salah satu direktori induknya: Claude Code menjalankan git untuk memeriksa apakah file dilacak, dan menjalankan pemeriksaan itu hanya dalam folder yang dipercaya. Dalam folder yang belum pernah Anda percayai, persetujuan file menunggu dialog kepercayaan kecuali folder adalah rumah konfigurasi Anda sendiri: direktori rumah Anda, atau direktori yang `.claude` Anda telah atur sebagai [`CLAUDE_CONFIG_DIR`](/id/env-vars). Sebelum v2.1.207, `.claude/settings.local.json` yang tidak dilacak menyetujui server dalam folder yang belum pernah Anda percayai.

191 192 

192Entri `disabledMcpjsonServers` dalam file pengaturan apa pun masih menolak server.193Entri `disabledMcpjsonServers` dalam file pengaturan apa pun masih menolak server.

193 194 

194Panel `/mcp` menampilkan jumlah alat di sebelah setiap server yang terhubung dan menandai server yang mengiklankan kemampuan alat tetapi tidak mengekspos alat apa pun.195Panel `/mcp` menampilkan jumlah alat di sebelah setiap server yang terhubung dan menandai server yang mengiklankan kemampuan alat tetapi tidak mengekspos alat apa pun.

195 196 

197Server jarak jauh yang konfigurasinya memiliki `url` kosong ditampilkan sebagai `not configured` dalam `/mcp`, dalam `claude mcp list`, dan dalam [manajer `/plugin`](/id/plugins), dan Claude Code tidak mencoba terhubung ke server tersebut. Plugin dapat menyertakan entri placeholder seperti ini untuk konektor yang Anda konfigurasi nanti, sehingga Claude Code tidak melaporkannya sebagai kesalahan atau masalah pengaturan. Tampilan detail server dalam `/mcp` membaca `No URL configured for this server`; atur `url` entri untuk menghubungkannya. Sebelum v2.1.208, Claude Code melaporkan `url` kosong sebagai masalah konfigurasi dengan prompt untuk menghubungkan kembali.

198 

196Jika permintaan Anda memerlukan alat dari server yang masih terhubung di latar belakang, Claude menunggu server tersebut sebelum melanjutkan. Dengan [pencarian alat](#scale-with-mcp-tool-search) diaktifkan, yang merupakan default, penantian terjadi di dalam panggilan `ToolSearch`. Dalam konfigurasi tanpa pencarian alat, seperti Platform Agen Google Cloud, `ANTHROPIC_BASE_URL` khusus, atau `ENABLE_TOOL_SEARCH=false`, Claude menggunakan alat `WaitForMcpServers` sebagai gantinya.199Jika permintaan Anda memerlukan alat dari server yang masih terhubung di latar belakang, Claude menunggu server tersebut sebelum melanjutkan. Dengan [pencarian alat](#scale-with-mcp-tool-search) diaktifkan, yang merupakan default, penantian terjadi di dalam panggilan `ToolSearch`. Dalam konfigurasi tanpa pencarian alat, seperti Platform Agen Google Cloud, `ANTHROPIC_BASE_URL` khusus, atau `ENABLE_TOOL_SEARCH=false`, Claude menggunakan alat `WaitForMcpServers` sebagai gantinya.

197 200 

198Beberapa nama server dicadangkan untuk server bawaan Claude Code: `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview`, dan `Claude Browser`. Jika konfigurasi Anda menentukan server dengan nama yang dicadangkan, Claude Code melewatinya saat waktu muat dan menampilkan peringatan yang meminta Anda untuk mengganti namanya. `claude mcp add` menolak nama yang dicadangkan dengan kesalahan.201Beberapa nama server dicadangkan untuk server bawaan Claude Code: `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview`, dan `Claude Browser`. Jika konfigurasi Anda menentukan server dengan nama yang dicadangkan, Claude Code melewatinya saat waktu muat dan menampilkan peringatan yang meminta Anda untuk mengganti namanya. `claude mcp add` menolak nama yang dicadangkan dengan kesalahan.


213 216 

214Backoff yang sama berlaku ketika server HTTP atau SSE gagal koneksi awalnya saat startup. Mulai dari v2.1.121, Claude Code mencoba ulang koneksi awal hingga tiga kali pada kesalahan transien seperti respons 5xx, koneksi ditolak, atau timeout, kemudian menandai server sebagai gagal jika masih tidak dapat terhubung. Kesalahan autentikasi dan not-found tidak dicoba ulang karena memerlukan perubahan konfigurasi untuk diselesaikan.217Backoff yang sama berlaku ketika server HTTP atau SSE gagal koneksi awalnya saat startup. Mulai dari v2.1.121, Claude Code mencoba ulang koneksi awal hingga tiga kali pada kesalahan transien seperti respons 5xx, koneksi ditolak, atau timeout, kemudian menandai server sebagai gagal jika masih tidak dapat terhubung. Kesalahan autentikasi dan not-found tidak dicoba ulang karena memerlukan perubahan konfigurasi untuk diselesaikan.

215 218 

216Ketika server yang dikonfigurasi gagal terhubung, Claude Code memberi tahu Claude server mana yang gagal dan kesalahan koneksinya, termasuk dalam hasil `ToolSearch` yang tidak menemukan alat yang cocok, sehingga Claude melaporkan kegagalan koneksi dalam responsnya. Memerlukan [pencarian alat](#scale-with-mcp-tool-search), yang diaktifkan secara default. Dalam konfigurasi tanpa pencarian alat, seperti `ANTHROPIC_BASE_URL` khusus, `ENABLE_TOOL_SEARCH=false`, atau model Haiku, dan di Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry, Claude Code tidak melaporkan kegagalan koneksi server yang gagal kepada Claude. Sebelum v2.1.205, Claude Code tidak meneruskan kesalahan koneksi kepada Claude, dan Claude dapat merespons seolah-olah alat server yang gagal tidak pernah dikonfigurasi.219Ketika server yang dikonfigurasi gagal terhubung, Claude Code memberi tahu Claude server mana yang gagal dan kesalahan koneksinya, termasuk dalam hasil `ToolSearch` yang tidak menemukan alat yang cocok, sehingga Claude melaporkan kegagalan koneksi dalam responsnya. Memerlukan [pencarian alat](#scale-with-mcp-tool-search), yang diaktifkan secara default. Dalam konfigurasi tanpa pencarian alat, seperti `ANTHROPIC_BASE_URL` khusus, `ENABLE_TOOL_SEARCH=false`, atau model yang tidak mendukung pencarian alat, dan di Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry, Claude Code tidak melaporkan kegagalan koneksi server yang gagal kepada Claude. Sebelum v2.1.205, Claude Code tidak meneruskan kesalahan koneksi kepada Claude, dan Claude dapat merespons seolah-olah alat server yang gagal tidak pernah dikonfigurasi.

217 220 

218Mulai dari v2.1.191, permintaan penemuan kemampuan yang berjalan setelah koneksi yang berhasil, seperti `tools/list`, `prompts/list`, dan `resources/list`, juga mencoba ulang kesalahan jaringan transien dan server hingga tiga kali dengan backoff pendek. Kesalahan autentikasi, respons 4xx, dan timeout permintaan tidak dicoba ulang.221Mulai dari v2.1.191, permintaan penemuan kemampuan yang berjalan setelah koneksi yang berhasil, seperti `tools/list`, `prompts/list`, dan `resources/list`, juga mencoba ulang kesalahan jaringan transien dan server hingga tiga kali dengan backoff pendek. Kesalahan autentikasi, respons 4xx, dan timeout permintaan tidak dicoba ulang.

219 222 


234 * Flag `--transport` dan `--header` juga menerima bentuk pendek `-t` dan `-H`237 * Flag `--transport` dan `--header` juga menerima bentuk pendek `-t` dan `-H`

235 * Konfigurasi waktu tunggu startup server MCP menggunakan variabel lingkungan `MCP_TIMEOUT` (misalnya, `MCP_TIMEOUT=10000 claude` menetapkan waktu tunggu 10 detik)238 * Konfigurasi waktu tunggu startup server MCP menggunakan variabel lingkungan `MCP_TIMEOUT` (misalnya, `MCP_TIMEOUT=10000 claude` menetapkan waktu tunggu 10 detik)

236 * Atur waktu tunggu eksekusi alat per-server dengan menambahkan bidang `timeout` dalam milidetik ke entri `.mcp.json` server tersebut, misalnya `"timeout": 600000` untuk sepuluh menit. Ini menggantikan variabel lingkungan `MCP_TOOL_TIMEOUT` hanya untuk server tersebut239 * Atur waktu tunggu eksekusi alat per-server dengan menambahkan bidang `timeout` dalam milidetik ke entri `.mcp.json` server tersebut, misalnya `"timeout": 600000` untuk sepuluh menit. Ini menggantikan variabel lingkungan `MCP_TOOL_TIMEOUT` hanya untuk server tersebut

237 * Claude Code menampilkan peringatan ketika output alat MCP melebihi 10.000 token. Untuk meningkatkan batas ini, atur variabel lingkungan `MAX_MCP_OUTPUT_TOKENS` (misalnya, `MAX_MCP_OUTPUT_TOKENS=50000`)240 * Claude Code menampilkan peringatan ketika output alat MCP melebihi 10.000 token dan membatasi output hingga 25.000 token secara default. Untuk meningkatkan batas, atur variabel lingkungan `MAX_MCP_OUTPUT_TOKENS` (misalnya, `MAX_MCP_OUTPUT_TOKENS=50000`); ambang peringatan tetap. Lihat [Batas dan peringatan output MCP](#mcp-output-limits-and-warnings)

238 * Gunakan `/mcp` untuk autentikasi dengan server jarak jauh yang memerlukan autentikasi OAuth 2.0241 * Gunakan `/mcp` untuk autentikasi dengan server jarak jauh yang memerlukan autentikasi OAuth 2.0

239</Tip>242</Tip>

240 243 

241Waktu tunggu per-server `timeout` adalah batas dinding jam yang keras per panggilan alat, dan notifikasi kemajuan dari server tidak memperpanjangnya. Nilai di bawah 1000 diabaikan dan jatuh melalui `MCP_TOOL_TIMEOUT`, atau ke default-nya sekitar 28 jam ketika variabel tersebut tidak diatur. {/* min-version: 2.1.162 */}Sebelum v2.1.162, nilai di bawah 1000 dibulatkan ke satu detik sebagai gantinya.244Waktu tunggu per-server `timeout` adalah batas dinding jam yang keras per panggilan alat, dan notifikasi kemajuan dari server tidak memperpanjangnya. Nilai di bawah 1000 diabaikan dan jatuh melalui `MCP_TOOL_TIMEOUT`, atau ke default-nya sekitar 28 jam ketika variabel tersebut tidak diatur. Untuk server HTTP, SSE, atau [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) ada juga timer per-permintaan kedua yang mencakup setiap permintaan hingga byte respons pertama server. Timer itu adalah 60 detik kecuali Anda menetapkan waktu tunggu per-server `timeout` atau `MCP_TOOL_TIMEOUT`; menetapkan salah satu ke 60 detik atau lebih tinggi menaikkan timer per-permintaan ke nilai itu, nilai yang lebih rendah tidak mempersingkatnya, dan default 28 jam dari `MCP_TOOL_TIMEOUT` yang tidak diatur tidak pernah memberinya makan. Server stdio dan WebSocket tidak memiliki timer per-permintaan. {/* min-version: 2.1.162 */}Sebelum v2.1.162, nilai di bawah 1000 dibulatkan ke satu detik sebagai gantinya.

242 245 

243Waktu tunggu per-server `timeout` setidaknya 1000 juga bertindak sebagai lantai pada timeout idle yang dijelaskan di bawah: Claude Code tidak pernah membatalkan panggilan alat server tersebut karena menganggur lebih cepat daripada waktu tunggu per-server `timeout`. Memerlukan Claude Code v2.1.203 atau lebih baru.246Waktu tunggu per-server `timeout` setidaknya 1000 juga bertindak sebagai lantai pada timeout idle yang dijelaskan di bawah: Claude Code tidak pernah membatalkan panggilan alat server tersebut karena menganggur lebih cepat daripada waktu tunggu per-server `timeout`. Memerlukan Claude Code v2.1.203 atau lebih baru.

244 247 

245Untuk server HTTP dan SSE, anggaran first-byte fetch per-permintaan memiliki minimum 60 detik.

246 

247Panggilan alat ke server MCP yang tidak mengirim respons dan tidak ada notifikasi kemajuan untuk jendela idle akan dibatalkan dengan kesalahan alih-alih menunggu batas dinding jam. Timeout idle memerlukan Claude Code v2.1.187 atau lebih baru. {/* min-version: 2.1.203 */}Ini berlaku untuk setiap jenis server kecuali server IDE dan server in-process SDK. Jendela idle default ke lima menit untuk HTTP, SSE, WebSocket, dan server [konektor claude.ai](#use-mcp-servers-from-claude-ai), dan ke 30 menit untuk server stdio. Sebelum v2.1.203, server stdio dikecualikan dari timeout idle.248Panggilan alat ke server MCP yang tidak mengirim respons dan tidak ada notifikasi kemajuan untuk jendela idle akan dibatalkan dengan kesalahan alih-alih menunggu batas dinding jam. Timeout idle memerlukan Claude Code v2.1.187 atau lebih baru. {/* min-version: 2.1.203 */}Ini berlaku untuk setiap jenis server kecuali server IDE dan server in-process SDK. Jendela idle default ke lima menit untuk HTTP, SSE, WebSocket, dan server [konektor claude.ai](#use-mcp-servers-from-claude-ai), dan ke 30 menit untuk server stdio. Sebelum v2.1.203, server stdio dikecualikan dari timeout idle.

248 249 

249Atur variabel lingkungan [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/id/env-vars) dalam milidetik untuk mengubah jendela idle, atau atur ke `0` untuk menonaktifkan pemeriksaan.250Atur variabel lingkungan [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/id/env-vars) dalam milidetik untuk mengubah jendela idle, atau atur ke `0` untuk menonaktifkan pemeriksaan.


296**Fitur MCP plugin**:297**Fitur MCP plugin**:

297 298 

298* **Siklus hidup otomatis**: Pada startup sesi, server untuk plugin yang diaktifkan terhubung secara otomatis. Jika Anda mengaktifkan atau menonaktifkan plugin selama sesi, jalankan `/reload-plugins` untuk menghubungkan atau memutuskan server MCP-nya299* **Siklus hidup otomatis**: Pada startup sesi, server untuk plugin yang diaktifkan terhubung secara otomatis. Jika Anda mengaktifkan atau menonaktifkan plugin selama sesi, jalankan `/reload-plugins` untuk menghubungkan atau memutuskan server MCP-nya

299* **Variabel lingkungan**: gunakan `${CLAUDE_PLUGIN_ROOT}` untuk file plugin bundel, `${CLAUDE_PLUGIN_DATA}` untuk [status persisten](/id/plugins-reference#persistent-data-directory) yang bertahan pembaruan plugin, dan `${CLAUDE_PROJECT_DIR}` untuk akar proyek yang stabil300* **Variabel placeholder jalur**: `${CLAUDE_PLUGIN_ROOT}` diselesaikan ke direktori instalasi plugin, `${CLAUDE_PLUGIN_DATA}` ke direktori [status persisten](/id/plugins-reference#persistent-data-directory)-nya, dan `${CLAUDE_PROJECT_DIR}` ke akar proyek yang stabil. Substitusi berlaku untuk:

301 * server `stdio`: `command`, `args`, `env`

302 * server `http`, `sse`, dan `ws`: `url`, `headers`, dan `headersHelper`. {/* min-version: 2.1.195 */}Sebelum v2.1.195, `headersHelper` meneruskan placeholder sebagai string literal

300* **Akses lingkungan pengguna**: Akses ke variabel lingkungan yang sama seperti server yang dikonfigurasi secara manual303* **Akses lingkungan pengguna**: Akses ke variabel lingkungan yang sama seperti server yang dikonfigurasi secara manual

301* **Jenis transport berganda**: Dukungan transport stdio, SSE, HTTP, dan WebSocket, meskipun dukungan transport dapat bervariasi menurut server304* **Jenis transport berganda**: Dukungan transport stdio, SSE, HTTP, dan WebSocket, meskipun dukungan transport dapat bervariasi menurut server

302 305 


464}467}

465```468```

466 469 

467Jika variabel lingkungan yang diperlukan tidak diatur dan tidak memiliki nilai default, Claude Code akan gagal mengurai konfigurasi.470Jika variabel lingkungan yang dirujuk tidak diatur dan tidak memiliki nilai default, Claude Code membiarkan teks literal `${VAR}` dalam nilai dan melaporkan peringatan variabel yang hilang untuk server tersebut. Konfigurasi masih dimuat, jadi atur variabel atau tambahkan fallback `:-default` sehingga server dimulai dengan nilai yang Anda maksudkan.

468 471 

469<h2 id="practical-examples">472<h2 id="practical-examples">

470 Contoh praktis473 Contoh praktis


552 555 

553Banyak server MCP berbasis cloud memerlukan autentikasi. Claude Code mendukung OAuth 2.0 untuk koneksi yang aman.556Banyak server MCP berbasis cloud memerlukan autentikasi. Claude Code mendukung OAuth 2.0 untuk koneksi yang aman.

554 557 

555Claude Code menandai server jarak jauh sebagai memerlukan autentikasi ketika server merespons dengan `401 Unauthorized` atau `403 Forbidden`. Salah satu kode status ini menandai server di `/mcp` sehingga Anda dapat menyelesaikan alur OAuth.558Claude Code menandai server jarak jauh sebagai memerlukan autentikasi ketika server merespons dengan `401 Unauthorized` atau `403 Forbidden`. Untuk server yang belum Anda masuki, salah satu kode status ini menandainya di `/mcp` sehingga Anda dapat menyelesaikan alur OAuth.

559 

560Ketika permintaan ke server OAuth yang sudah Anda masuki mengembalikan `401 Unauthorized`, Claude Code menyegarkan token yang disimpan, terhubung kembali, dan mencoba ulang permintaan sekali. Itu menandai server di `/mcp` hanya jika percobaan ulang itu juga gagal. Sebelum v2.1.206, penyegaran token yang gagal karena alasan sementara, seperti kesalahan jaringan, menandai server OAuth sebagai memerlukan autentikasi untuk sisa sesi meskipun token penyegarannya masih valid.

556 561 

557Mulai dari v2.1.195, ketika penyegaran token gagal karena server menolak token penyegaran yang disimpan, Claude Code segera menampilkan pemberitahuan yang menunjuk ke `/mcp`. Menu server yang terhubung di sana menawarkan Re-authenticate, sehingga Anda dapat masuk lagi sebelum panggilan alat berikutnya gagal.562Mulai dari v2.1.195, ketika penyegaran token gagal karena server menolak token penyegaran yang disimpan, Claude Code segera menampilkan pemberitahuan yang menunjuk ke `/mcp`. Menu server yang terhubung di sana menawarkan Re-authenticate, sehingga Anda dapat masuk lagi sebelum panggilan alat berikutnya gagal.

558 563 


787**Persyaratan:**792**Persyaratan:**

788 793 

789* Perintah harus menulis objek JSON dari pasangan kunci-nilai string ke stdout794* Perintah harus menulis objek JSON dari pasangan kunci-nilai string ke stdout

790* Perintah berjalan dalam shell dengan waktu tunggu 10 detik795* Perintah berjalan dalam shell dengan waktu tunggu 10 detik, dari direktori kerja saat ini sesi. Gunakan jalur absolut atau perintah di `PATH` untuk skrip

791* Header dinamis mengganti `headers` statis apa pun dengan nama yang sama796* Header dinamis mengganti `headers` statis apa pun dengan nama yang sama

792 797 

793Helper berjalan segar pada setiap koneksi, pada startup sesi dan pada reconnect. Tidak ada caching, jadi skrip Anda bertanggung jawab untuk penggunaan kembali token apa pun.798Helper berjalan segar pada setiap koneksi, pada startup sesi dan pada reconnect. Tidak ada caching, jadi skrip Anda bertanggung jawab untuk penggunaan kembali token apa pun.


806 811 

807Untuk server yang disediakan plugin, helper juga berjalan dengan direktori kerjanya diatur ke root plugin, sehingga jalur `headersHelper` relatif diselesaikan di dalam direktori plugin daripada terhadap direktori kerja sesi. Memerlukan Claude Code v2.1.195 atau lebih baru.812Untuk server yang disediakan plugin, helper juga berjalan dengan direktori kerjanya diatur ke root plugin, sehingga jalur `headersHelper` relatif diselesaikan di dalam direktori plugin daripada terhadap direktori kerja sesi. Memerlukan Claude Code v2.1.195 atau lebih baru.

808 813 

814Plugin-provided `headersHelper` tidak dapat mereferensikan nilai [`${user_config.*}`](/id/plugins-reference#user-configuration) plugin, karena perintah berjalan melalui shell. Claude Code melaporkan server sebagai salah konfigurasi dengan [kesalahan](/id/errors#plugin-command-references-user-config) dan tidak mengganti nilai. Letakkan `${user_config.KEY}` di bidang `headers` server sebagai gantinya, yang tidak diurai shell, atau buat skrip helper membaca nilai dari lingkungannya sendiri atau file konfigurasi. Sebelum v2.1.207, `headersHelper` mengganti nilai `${user_config.*}`.

815 

809<Note>816<Note>

810 `headersHelper` mengeksekusi perintah shell arbitrer. Ketika ditentukan pada cakupan proyek atau lokal, itu hanya berjalan setelah Anda menerima dialog kepercayaan ruang kerja.817 `headersHelper` mengeksekusi perintah shell arbitrer. Ketika ditentukan pada cakupan proyek atau lokal, itu hanya berjalan setelah Anda menerima dialog kepercayaan ruang kerja.

811</Note>818</Note>


889 Gunakan server MCP dari claude.ai896 Gunakan server MCP dari claude.ai

890</h2>897</h2>

891 898 

892Jika Anda telah masuk ke Claude Code dengan akun [claude.ai](https://claude.ai), server MCP yang telah Anda tambahkan di claude.ai secara otomatis tersedia di Claude Code:899Jika Anda telah masuk ke Claude Code dengan akun [claude.ai](https://claude.ai), server MCP yang telah Anda tambahkan di claude.ai, yang dikenal sebagai [connectors](https://claude.com/docs/connectors), secara otomatis tersedia di Claude Code:

893 900 

894<Steps>901<Steps>

895 <Step title="Konfigurasi server MCP di claude.ai">902 <Step title="Konfigurasi server MCP di claude.ai">


921 928 

922Beberapa konektor yang dihosting Anthropic, seperti Microsoft 365, Gmail, dan Google Calendar, tidak mendukung OAuth lokal dari Claude Code karena penyedia identitas hulu hanya menerima URL pengalihan yang didaftarkan claude.ai. Mulai dari v2.1.162, mengautentikasi salah satu host ini di `/mcp` menampilkan pesan yang mengarahkan Anda untuk menghubungkannya di Settings → Connectors di claude.ai. Setelah terhubung di sana, konektor muncul di Claude Code secara otomatis.929Beberapa konektor yang dihosting Anthropic, seperti Microsoft 365, Gmail, dan Google Calendar, tidak mendukung OAuth lokal dari Claude Code karena penyedia identitas hulu hanya menerima URL pengalihan yang didaftarkan claude.ai. Mulai dari v2.1.162, mengautentikasi salah satu host ini di `/mcp` menampilkan pesan yang mengarahkan Anda untuk menghubungkannya di Settings → Connectors di claude.ai. Setelah terhubung di sana, konektor muncul di Claude Code secara otomatis.

923 930 

931<h3 id="organization-controls-on-connector-tools">

932 Kontrol organisasi pada alat connector

933</h3>

934 

935Organisasi Anda dapat mengatur kontrol per-alat pada [connector claude.ai](https://claude.com/docs/connectors). Claude Code membaca pengaturan ini saat startup dan memberlakukannya secara lokal. Jalankan `/mcp` untuk melihat pengaturan mana yang berlaku untuk setiap alat pada connector.

936 

937* **Alat diatur ke `ask`**: Claude Code meminta pada setiap panggilan dengan alasan `Your organization requires approval for this tool`. Prompt muncul bahkan dalam [mode izin](/id/permissions#permission-modes) `acceptEdits`, `auto`, dan `bypassPermissions`, dan tidak pernah menawarkan opsi untuk mengingat pilihan Anda. [Aturan Allow](/id/permissions) yang cocok dengan alat tidak melewati prompt juga. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya.

938* **Alat diatur ke `blocked`**: Claude Code memfilter alat sebelum Claude melihatnya, sehingga tidak pernah muncul dalam daftar alat.

939 

940Memberlakukan kontrol ini memerlukan Claude Code v2.1.129 atau lebih baru. Versi sebelumnya mengabaikan pengaturan dan menerapkan alur izin standar.

941 

924<h3 id="disable-claude-ai-connectors">942<h3 id="disable-claude-ai-connectors">

925 Nonaktifkan konektor claude.ai943 Nonaktifkan konektor claude.ai

926</h3>944</h3>


1193 1211 

1194Pencarian alat diaktifkan secara default: alat MCP ditangguhkan dan ditemukan sesuai permintaan. Claude Code menonaktifkannya secara default di Platform Agent Google Cloud. Pencarian alat juga dinonaktifkan ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama, karena sebagian besar proxy tidak meneruskan blok `tool_reference`. Atur `ENABLE_TOOL_SEARCH` secara eksplisit untuk mengganti fallback mana pun.1212Pencarian alat diaktifkan secara default: alat MCP ditangguhkan dan ditemukan sesuai permintaan. Claude Code menonaktifkannya secara default di Platform Agent Google Cloud. Pencarian alat juga dinonaktifkan ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama, karena sebagian besar proxy tidak meneruskan blok `tool_reference`. Atur `ENABLE_TOOL_SEARCH` secara eksplisit untuk mengganti fallback mana pun.

1195 1213 

1196Pencarian alat memerlukan model yang mendukung blok `tool_reference`. Model Haiku tidak mendukungnya. Di Platform Agent Google Cloud, pencarian alat didukung untuk Claude Sonnet 4.5 dan lebih baru serta Claude Opus 4.5 dan lebih baru.1214Setting [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/id/env-vars) menjaga pencarian alat tetap mati, dan `ENABLE_TOOL_SEARCH` tidak dapat menggantikannya. Variabel ini menghapus header beta yang diperlukan oleh definisi alat `defer_loading` dan blok konten `tool_reference`.

1215 

1216Pencarian alat memerlukan model yang mendukung blok `tool_reference`: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5, dan model yang lebih baru. Lihat [kompatibilitas model dalam dokumentasi API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool#model-compatibility) untuk daftar terkini. Di Platform Agent Google Cloud, pencarian alat didukung untuk Claude Sonnet 4.5 dan lebih baru serta Claude Opus 4.5 dan lebih baru.

1197 1217 

1198Kontrol perilaku pencarian alat dengan variabel lingkungan `ENABLE_TOOL_SEARCH`:1218Kontrol perilaku pencarian alat dengan variabel lingkungan `ENABLE_TOOL_SEARCH`:

1199 1219 

memory.md +4 −0

Details

257---257---

258```258```

259 259 

260Sintaks glob memperlakukan `[` sebagai awal ekspresi bracket seperti `[abc]`. Pola dengan `[` yang tidak dapat dibaca sebagai ekspresi bracket, seperti `photos [2024/**`, tidak valid: itu tidak cocok dengan apa pun, dan pola lain dari aturan terus bekerja. Untuk mencocokkan `[` literal dalam nama file, lepaskan sebagai `photos \[2024/**`. Sebelum v2.1.207, satu pola yang tidak valid membuat alat Read gagal untuk setiap file yang aturan dievaluasi, alih-alih tidak cocok dengan apa pun.

261 

260<h4 id="share-rules-across-projects-with-symlinks">262<h4 id="share-rules-across-projects-with-symlinks">

261 Bagikan aturan lintas proyek dengan symlinks263 Bagikan aturan lintas proyek dengan symlinks

262</h4>264</h4>


474 476 

475File di atas 200 baris mengonsumsi lebih banyak konteks dan dapat mengurangi kepatuhan. Gunakan [path-scoped rules](#path-specific-rules) untuk memuat instruksi hanya ketika Claude bekerja dengan file yang cocok, atau pangkas konten yang tidak diperlukan dalam setiap sesi. Memisahkan ke dalam [impor `@path`](#import-additional-files) membantu organisasi tetapi tidak mengurangi konteks, karena file yang diimpor dimuat saat peluncuran.477File di atas 200 baris mengonsumsi lebih banyak konteks dan dapat mengurangi kepatuhan. Gunakan [path-scoped rules](#path-specific-rules) untuk memuat instruksi hanya ketika Claude bekerja dengan file yang cocok, atau pangkas konten yang tidak diperlukan dalam setiap sesi. Memisahkan ke dalam [impor `@path`](#import-additional-files) membantu organisasi tetapi tidak mengurangi konteks, karena file yang diimpor dimuat saat peluncuran.

476 478 

479The [`/doctor`](/id/commands#all-commands) checkup proposes trims for a checked-in CLAUDE.md: it cuts content Claude can derive from the codebase, such as directory layouts, dependency lists, and architecture overviews, and keeps pitfalls, rationale, and conventions that differ from tool defaults. The trim check requires Claude Code v2.1.206 or later.

480 

477<h3 id="instructions-seem-lost-after-/compact">481<h3 id="instructions-seem-lost-after-/compact">

478 Instructions seem lost after `/compact`482 Instructions seem lost after `/compact`

479</h3>483</h3>

Details

104 104 

1051. Navigasikan ke [portal Microsoft Foundry](https://ai.azure.com/)1051. Navigasikan ke [portal Microsoft Foundry](https://ai.azure.com/)

1062. Buat sumber daya baru, catat nama sumber daya Anda1062. Buat sumber daya baru, catat nama sumber daya Anda

1073. Buat deployment untuk model Claude:1073. Buat deployment untuk model Claude, catat nama deployment yang Anda berikan untuk masing-masing; Anda akan menetapkan nama-nama ini sebagai variabel model di langkah 4:

108 * Claude Opus108 * Claude Opus

109 * Claude Sonnet109 * Claude Sonnet

110 * Claude Haiku110 * Claude Haiku


1201. Navigasikan ke sumber daya Anda di portal Microsoft Foundry1201. Navigasikan ke sumber daya Anda di portal Microsoft Foundry

1212. Buka bagian **Endpoints and keys**1212. Buka bagian **Endpoints and keys**

1223. Salin **API Key**1223. Salin **API Key**

1234. Atur variabel lingkungan:1234. Atur variabel lingkungan, ganti `your-azure-api-key` dengan kunci yang Anda salin:

124 124 

125```bash theme={null}125```bash theme={null}

126export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key126export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key


209 209 

210Claude Code membaca `CLAUDE_CODE_USE_FOUNDRY` dan variabel Microsoft Foundry lainnya dari lingkungan dan terhubung ke sumber daya Azure Anda pada prompt pertama. Tidak seperti Amazon Bedrock dan Google Cloud's Agent Platform, Microsoft Foundry tidak memiliki wizard setup interaktif, jadi variabel lingkungan di langkah 3 dan 4 adalah satu-satunya jalur konfigurasi.210Claude Code membaca `CLAUDE_CODE_USE_FOUNDRY` dan variabel Microsoft Foundry lainnya dari lingkungan dan terhubung ke sumber daya Azure Anda pada prompt pertama. Tidak seperti Amazon Bedrock dan Google Cloud's Agent Platform, Microsoft Foundry tidak memiliki wizard setup interaktif, jadi variabel lingkungan di langkah 3 dan 4 adalah satu-satunya jalur konfigurasi.

211 211 

212Untuk memverifikasi setup Anda, jalankan `/status` di dalam Claude Code. Baris penyedia API menunjukkan `Microsoft Foundry`, bersama dengan nama sumber daya atau URL dasar yang Anda konfigurasi.

213 

212<h2 id="azure-rbac-configuration">214<h2 id="azure-rbac-configuration">

213 Konfigurasi Azure RBAC215 Konfigurasi Azure RBAC

214</h2>216</h2>


239 241 

240* Konfigurasi Entra ID di lingkungan, atau atur `ANTHROPIC_FOUNDRY_API_KEY`.242* Konfigurasi Entra ID di lingkungan, atau atur `ANTHROPIC_FOUNDRY_API_KEY`.

241 243 

244Jika permintaan gagal dengan kesalahan koneksi berulang pada prompt pertama:

245 

246* Periksa bahwa `ANTHROPIC_FOUNDRY_RESOURCE` diatur ke nama sumber daya aktual Anda daripada placeholder. Claude Code membangun URL endpoint dari nilai ini, jadi nama yang salah menunjuk ke host yang tidak ada.

247 

242<h2 id="additional-resources">248<h2 id="additional-resources">

243 Sumber daya tambahan249 Sumber daya tambahan

244</h2>250</h2>

model-config.md +25 −16

Details

19 * Microsoft Foundry: nama deployment19 * Microsoft Foundry: nama deployment

20 * Google Cloud's Agent Platform: nama versi20 * Google Cloud's Agent Platform: nama versi

21 21 

22Untuk panduan tentang model mana dan tingkat upaya yang sesuai untuk berbagai jenis pekerjaan, lihat [Memilih model Claude dan tingkat upaya di Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code) di blog.

23 

22<Note>24<Note>

23 `ANTHROPIC_BASE_URL` mengubah tempat permintaan dikirim, bukan model mana yang menjawabnya. Untuk merutekan Claude melalui gateway LLM, lihat [gateway LLM](/id/llm-gateway).25 `ANTHROPIC_BASE_URL` mengubah tempat permintaan dikirim, bukan model mana yang menjawabnya. Untuk merutekan Claude melalui gateway LLM, lihat [gateway LLM](/id/llm-gateway).

24</Note>26</Note>


30Alias model menyediakan cara yang nyaman untuk memilih pengaturan model tanpa perlu mengingat nomor versi yang tepat:32Alias model menyediakan cara yang nyaman untuk memilih pengaturan model tanpa perlu mengingat nomor versi yang tepat:

31 33 

32| Alias model | Perilaku |34| Alias model | Perilaku |

33| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |35| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

34| **`default`** | Nilai khusus yang menghapus penggantian model apa pun dan kembali ke model yang direkomendasikan untuk jenis akun Anda, atau ke [model default organisasi](#organization-default-model) ketika admin telah menetapkan satu. Bukan sendiri alias model |36| **`default`** | Nilai khusus yang menghapus penggantian model apa pun dan kembali ke model yang direkomendasikan untuk jenis akun Anda, atau ke [model default organisasi](#organization-default-model) ketika admin telah menetapkan satu. Bukan sendiri alias model |

35| **`best`** | Menggunakan Fable 5 di mana organisasi Anda memiliki akses ke dalamnya, jika tidak maka model Opus terbaru |37| **`best`** | Menggunakan Fable 5 di mana organisasi Anda memiliki akses ke dalamnya, jika tidak maka model Opus terbaru |

36| **`fable`** | Menggunakan Claude Fable 5 untuk tugas-tugas tersulit dan paling lama Anda |38| **`fable`** | Menggunakan Claude Fable 5 untuk tugas-tugas tersulit dan paling lama Anda |

37| **`sonnet`** | Menggunakan model Sonnet terbaru untuk tugas coding sehari-hari |39| **`sonnet`** | Menggunakan model Sonnet terbaru untuk tugas coding sehari-hari |

38| **`opus`** | Menggunakan model Opus terbaru untuk tugas penalaran kompleks |40| **`opus`** | Menggunakan model Opus terbaru untuk tugas penalaran kompleks |

39| **`haiku`** | Menggunakan model Haiku yang cepat dan efisien untuk tugas sederhana |41| **`haiku`** | Menggunakan model Haiku yang cepat dan efisien untuk tugas sederhana |

40| **`sonnet[1m]`** | Menggunakan Sonnet dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/id/build-with-claude/context-windows#1m-token-context-window) untuk sesi panjang. Tidak berpengaruh ketika `sonnet` sudah diselesaikan ke Sonnet 5 dengan jendela 1M bawaannya; di belakang [gateway LLM](/id/llm-gateway), memilih jendela 1M untuk Sonnet 5 |42| **`sonnet[1m]`** | Menggunakan Sonnet dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/id/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang. Tidak berpengaruh ketika `sonnet` sudah diselesaikan ke Sonnet 5 dengan jendela 1M bawaannya; di belakang [gateway LLM](/id/llm-gateway), memilih jendela 1M untuk Sonnet 5 |

41| **`opus[1m]`** | Menggunakan Opus dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/id/build-with-claude/context-windows#1m-token-context-window) untuk sesi panjang |43| **`opus[1m]`** | Menggunakan Opus dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/id/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang |

42| **`opusplan`** | Mode khusus yang menggunakan `opus` selama Plan Mode, kemudian beralih ke `sonnet` untuk eksekusi |44| **`opusplan`** | Mode khusus yang menggunakan `opus` selama Plan Mode, kemudian beralih ke `sonnet` untuk eksekusi |

43 45 

44Apa yang setiap alias diselesaikan tergantung pada penyedia:46Versi yang diselesaikan oleh alias `opus` dan `sonnet` tergantung pada penyedia:

45 47 

46* **Anthropic API**: `opus` diselesaikan ke Opus 4.8 dan `sonnet` diselesaikan ke Sonnet 5.48| Penyedia | `opus` | `sonnet` |

47* **[Claude Platform on AWS](/id/claude-platform-on-aws)**: `opus` diselesaikan ke Opus 4.8 dan `sonnet` diselesaikan ke Sonnet 4.6.49| :--------------------------------------------------- | :------- | :--------- |

48* **Amazon Bedrock dan Google Cloud's Agent Platform**: `opus` diselesaikan ke Opus 4.8 dan `sonnet` diselesaikan ke Sonnet 4.5.50| Anthropic API | Opus 4.8 | Sonnet 5 |

49* **Microsoft Foundry**: `opus` diselesaikan ke Opus 4.6 dan `sonnet` diselesaikan ke Sonnet 4.5.51| [Claude Platform on AWS](/id/claude-platform-on-aws) | Opus 4.8 | Sonnet 4.6 |

52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 4.8 | Sonnet 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |

50 54 

51Di mana alias diselesaikan ke model yang lebih lama, model yang lebih baru tersedia dengan memilih nama model lengkap secara eksplisit atau mengatur `ANTHROPIC_DEFAULT_OPUS_MODEL` atau `ANTHROPIC_DEFAULT_SONNET_MODEL`.55Di mana alias diselesaikan ke model yang lebih lama, model yang lebih baru tersedia dengan memilih nama model lengkap secara eksplisit atau mengatur `ANTHROPIC_DEFAULT_OPUS_MODEL` atau `ANTHROPIC_DEFAULT_SONNET_MODEL`.

52 56 

57{/* min-version: 2.1.207 */}Sebelum v2.1.207, `opus` diselesaikan ke Opus 4.7 di Claude Platform on AWS dan ke Opus 4.6 di Amazon Bedrock dan Google Cloud's Agent Platform.

58 

53Alias menunjuk ke versi yang direkomendasikan untuk penyedia Anda dan diperbarui seiring waktu. Untuk menetapkan versi tertentu, gunakan nama model lengkap, misalnya `claude-opus-4-8`, atau atur variabel lingkungan yang sesuai seperti `ANTHROPIC_DEFAULT_OPUS_MODEL`.59Alias menunjuk ke versi yang direkomendasikan untuk penyedia Anda dan diperbarui seiring waktu. Untuk menetapkan versi tertentu, gunakan nama model lengkap, misalnya `claude-opus-4-8`, atau atur variabel lingkungan yang sesuai seperti `ANTHROPIC_DEFAULT_OPUS_MODEL`.

54 60 

55<Note>61<Note>


97 103 

98Bendera `--model` dan variabel lingkungan `ANTHROPIC_MODEL` hanya berlaku untuk sesi yang Anda luncurkan dengan mereka. Untuk menjalankan model yang berbeda di terminal yang berbeda pada waktu yang sama, luncurkan masing-masing dengan bendera `--model` miliknya sendiri daripada beralih dengan `/model`.104Bendera `--model` dan variabel lingkungan `ANTHROPIC_MODEL` hanya berlaku untuk sesi yang Anda luncurkan dengan mereka. Untuk menjalankan model yang berbeda di terminal yang berbeda pada waktu yang sama, luncurkan masing-masing dengan bendera `--model` miliknya sendiri daripada beralih dengan `/model`.

99 105 

106Harga di pemilih `/model` muncul ketika Claude Code berbicara dengan Anthropic API, secara langsung atau melalui [gateway LLM](/id/llm-gateway) yang memproksikannya, dan harga di baris adalah harga model yang dipilih baris tersebut. Di [penyedia pihak ketiga](/id/third-party-integrations) seperti Amazon Bedrock dan di [gateway aplikasi Claude](/id/claude-apps-gateway), penyedia atau gateway Anda menentukan apa yang Anda bayar, jadi baris pemilih tidak menampilkan harga. Harga adalah label tampilan saja; itu tidak mempengaruhi model mana yang dipilih baris atau apa yang ditagihkan penyedia Anda. Sebelum v2.1.206, [Claude Platform on AWS](/id/claude-platform-on-aws) dan sesi gateway menampilkan harga daftar Anthropic, dan baris dapat menampilkan harga model yang berbeda dari yang dipilihnya.

107 

100Sesi yang dilanjutkan dimulai dengan `claude --resume`, `--continue`, atau pemilih `/resume` menyimpan model yang mereka gunakan ketika transkrip disimpan, terlepas dari pengaturan `model` saat ini. Jika model tersebut telah pensiun atau dikecualikan oleh [`availableModels`](#restrict-model-selection), sesi jatuh melalui urutan prioritas normal. Ini mencegah pilihan `/model` sesi lain dari mengubah model saat dilanjutkan.108Sesi yang dilanjutkan dimulai dengan `claude --resume`, `--continue`, atau pemilih `/resume` menyimpan model yang mereka gunakan ketika transkrip disimpan, terlepas dari pengaturan `model` saat ini. Jika model tersebut telah pensiun atau dikecualikan oleh [`availableModels`](#restrict-model-selection), sesi jatuh melalui urutan prioritas normal. Ini mencegah pilihan `/model` sesi lain dari mengubah model saat dilanjutkan.

101 109 

102Model yang Anda pilih untuk peluncuran baru dengan `--model` atau `ANTHROPIC_MODEL` masih memiliki prioritas lebih tinggi daripada model yang dipulihkan. {/* min-version: 2.1.195 */}Mulai dari v2.1.195, demikian juga variabel keluarga [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables).110Model yang Anda pilih untuk peluncuran baru dengan `--model` atau `ANTHROPIC_MODEL` masih memiliki prioritas lebih tinggi daripada model yang dipulihkan. {/* min-version: 2.1.195 */}Mulai dari v2.1.195, demikian juga variabel keluarga [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables).


345Perilaku `default` tergantung pada jenis akun Anda:353Perilaku `default` tergantung pada jenis akun Anda:

346 354 

347* **Max, Team Premium, Enterprise pay-as-you-go, dan Anthropic API**: default ke Opus 4.8355* **Max, Team Premium, Enterprise pay-as-you-go, dan Anthropic API**: default ke Opus 4.8

348* **Claude Platform di AWS**: default ke Opus 4.8356* **Claude Platform di AWS, Amazon Bedrock, dan Google Cloud's Agent Platform**: default ke Opus 4.8

349* **Pro, Team Standard, dan kursi langganan Enterprise**: default ke Sonnet 5357* **Pro, Team Standard, dan kursi langganan Enterprise**: default ke Sonnet 5

350* **Amazon Bedrock dan Google Cloud's Agent Platform**: default ke Opus 4.8

351* **Microsoft Foundry**: default ke Sonnet 4.5358* **Microsoft Foundry**: default ke Sonnet 4.5

352 359 

353Enterprise pay-as-you-go berarti organisasi Enterprise yang ditagihkan berdasarkan penggunaan daripada kursi langganan.360Enterprise pay-as-you-go berarti organisasi Enterprise yang ditagihkan berdasarkan penggunaan daripada kursi langganan.

354 361 

362{/* min-version: 2.1.207 */}Sebelum v2.1.207, `default` diselesaikan ke Opus 4.7 di Claude Platform di AWS dan ke Sonnet 4.5 di Amazon Bedrock dan Google Cloud's Agent Platform.

363 

355Ketika admin telah menetapkan [model default organisasi](#organization-default-model), `default` diselesaikan ke model itu sebagai gantinya dari default jenis akun di atas. Memerlukan Claude Code v2.1.196 atau lebih baru.364Ketika admin telah menetapkan [model default organisasi](#organization-default-model), `default` diselesaikan ke model itu sebagai gantinya dari default jenis akun di atas. Memerlukan Claude Code v2.1.196 atau lebih baru.

356 365 

357Ketika pengaturan terkelola [memberlakukan allowlist untuk model Default](#enforce-the-allowlist-for-the-default-model) dan default jenis akun tidak ada dalam `availableModels`, `default` diselesaikan ke Default yang diberlakukan daripada default jenis akun di atas. Ketika keduanya berlaku, model default organisasi menggantikan default jenis akun terlebih dahulu dan penegakan kemudian berlaku untuk itu: model default organisasi yang diizinkan disimpan, sementara yang di luar daftar diselesaikan ke Default yang diberlakukan.366Ketika pengaturan terkelola [memberlakukan allowlist untuk model Default](#enforce-the-allowlist-for-the-default-model) dan default jenis akun tidak ada dalam `availableModels`, `default` diselesaikan ke Default yang diberlakukan daripada default jenis akun di atas. Ketika keduanya berlaku, model default organisasi menggantikan default jenis akun terlebih dahulu dan penegakan kemudian berlaku untuk itu: model default organisasi yang diizinkan disimpan, sementara yang di luar daftar diselesaikan ke Default yang diberlakukan.


412 421 

413Bagian ini mencakup fallback berbasis konten dari Fable 5. Untuk fallback berbasis ketersediaan ketika model kelebihan beban atau tidak tersedia, lihat [Rantai model fallback](#fallback-model-chains).422Bagian ini mencakup fallback berbasis konten dari Fable 5. Untuk fallback berbasis ketersediaan ketika model kelebihan beban atau tidak tersedia, lihat [Rantai model fallback](#fallback-model-chains).

414 423 

415Fable 5 berjalan dengan pengklasifikasi keamanan untuk konten keamanan siber dan biologi. Ketika pengklasifikasi menandai permintaan, Claude Code menjalankan kembali permintaan itu pada Opus 4.8 dan menampilkan pemberitahuan dalam transkrip.424Fable 5 berjalan dengan pengklasifikasi keamanan untuk konten keamanan siber dan biologi. Ketika pengklasifikasi menandai permintaan, Claude Code menjalankan kembali permintaan itu pada model Opus default penyedia Anda dan menampilkan pemberitahuan dalam transkrip. Pada Anthropic API, penyebaran [LLM gateway](/id/llm-gateway), dan [Claude Platform di AWS](/id/claude-platform-on-aws), model itu adalah Opus 4.8. Pada [Claude apps gateway](/id/claude-apps-gateway), itu adalah Opus 4.7 kecuali Anda menunjukkan alias [`opus`](#environment-variables) ke model lain.

416 425 

417Sesi kemudian berlanjut pada model Opus itu. Untuk kembali ke Fable 5, jalankan `/model fable`.426Sesi kemudian berlanjut pada model Opus itu. Untuk kembali ke Fable 5, jalankan `/model fable`.

418 427 


564 Konteks diperluas573 Konteks diperluas

565</h3>574</h3>

566 575 

567Fable 5, Sonnet 5, Opus 4.6 dan yang lebih baru, dan Sonnet 4.6 mendukung [jendela konteks 1 juta token](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) untuk sesi panjang dengan basis kode besar.576Fable 5, Sonnet 5, Opus 4.6 dan yang lebih baru, dan Sonnet 4.6 mendukung [jendela konteks 1 juta token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang dengan basis kode besar.

568 577 

569Ketersediaan bervariasi menurut model dan paket. Pada Anthropic API, Fable 5, Sonnet 5, Opus 4.8, dan Opus 4.7 selalu berjalan dengan jendela 1M. Di paket Max, Team, dan Enterprise, Opus secara otomatis ditingkatkan ke konteks 1M tanpa konfigurasi tambahan. Ini berlaku untuk kedua kursi Team Standard dan Team Premium. Sonnet 4.6 dengan konteks 1M bukan bagian dari peningkatan otomatis dan memerlukan [penggunaan tambahan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) di setiap paket langganan, termasuk Max.578Ketersediaan bervariasi menurut model dan paket. Pada Anthropic API, Fable 5, Sonnet 5, Opus 4.8, dan Opus 4.7 selalu berjalan dengan jendela 1M. Di paket Max, Team, dan Enterprise, Opus secara otomatis ditingkatkan ke konteks 1M tanpa konfigurasi tambahan. Ini berlaku untuk kedua kursi Team Standard dan Team Premium. Sonnet 4.6 dengan konteks 1M bukan bagian dari peningkatan otomatis dan memerlukan [penggunaan tambahan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) di setiap paket langganan, termasuk Max.

570 579 


636Anda dapat menggunakan variabel lingkungan berikut untuk mengontrol nama model yang dipetakan alias. Setiap nilai harus berupa nama model lengkap, atau pengenal setara untuk penyedia API Anda.645Anda dapat menggunakan variabel lingkungan berikut untuk mengontrol nama model yang dipetakan alias. Setiap nilai harus berupa nama model lengkap, atau pengenal setara untuk penyedia API Anda.

637 646 

638| Variabel lingkungan | Deskripsi |647| Variabel lingkungan | Deskripsi |

639| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |648| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

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

643| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Model yang digunakan untuk `haiku`, atau [fungsionalitas latar belakang](/id/costs#background-token-usage) |652| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Model yang digunakan untuk `haiku`, atau [fungsionalitas latar belakang](/id/costs#background-token-usage) |

644| `CLAUDE_CODE_SUBAGENT_MODEL` | Model yang digunakan untuk semua [subagents](/id/sub-agents#choose-a-model) dan [agent teams](/id/agent-teams). Mengganti baik parameter `model` per-invocation maupun frontmatter `model` definisi subagent. Atur ke `inherit` untuk menggunakan resolusi model normal sebagai gantinya |653| `CLAUDE_CODE_SUBAGENT_MODEL` | Model yang digunakan untuk semua [subagents](/id/sub-agents#choose-a-model), [agent teams](/id/agent-teams), dan agen yang dijalankan [workflow](/id/workflows). Menerima alias seperti `haiku` atau nama model lengkap, dan mengganti baik parameter `model` per-invocation maupun frontmatter `model` definisi subagent. Atur ke `inherit` untuk menggunakan resolusi model normal sebagai gantinya |

645 654 

646Catatan: `ANTHROPIC_SMALL_FAST_MODEL` sudah usang dan digantikan oleh `ANTHROPIC_DEFAULT_HAIKU_MODEL`.655Catatan: `ANTHROPIC_SMALL_FAST_MODEL` sudah usang dan digantikan oleh `ANTHROPIC_DEFAULT_HAIKU_MODEL`.

647 656 


651 660 

652Saat menerapkan Claude Code melalui [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), atau [Claude Platform on AWS](/id/claude-platform-on-aws), tetapkan versi model sebelum meluncurkan ke pengguna.661Saat menerapkan Claude Code melalui [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), atau [Claude Platform on AWS](/id/claude-platform-on-aws), tetapkan versi model sebelum meluncurkan ke pengguna.

653 662 

654Tanpa penentapan, Claude Code menggunakan alias model seperti `fable`, `opus`, `sonnet`, dan `haiku` yang diselesaikan ke ID model default bawaan untuk setiap penyedia. Default tersebut dapat tertinggal dari rilis Anthropic terbaru, dan model yang ditunjuknya mungkin belum diaktifkan di akun pengguna. Ketika default tidak tersedia, pengguna Amazon Bedrock dan Google Cloud's Agent Platform melihat pemberitahuan dan kembali ke versi sebelumnya untuk sesi itu, sementara pengguna Microsoft Foundry melihat kesalahan karena Microsoft Foundry tidak memiliki pemeriksaan startup yang setara.663Tanpa penentapan, Claude Code menggunakan alias model seperti `fable`, `opus`, `sonnet`, dan `haiku` yang diselesaikan ke ID model default bawaan untuk setiap penyedia. Default tersebut dapat tertinggal dari rilis Anthropic terbaru, dan model yang ditunjuknya mungkin belum diaktifkan di akun pengguna. Ketika default tidak tersedia, pengguna Amazon Bedrock dan Google Cloud's Agent Platform melihat pemberitahuan dan sesi kembali ke versi sebelumnya dari model default, atau ke model Sonnet default ketika default adalah model Opus dan tidak ada versi Opus yang tersedia. Pengguna Microsoft Foundry melihat kesalahan sebagai gantinya, karena Microsoft Foundry tidak memiliki pemeriksaan startup yang setara.

655 664 

656<Warning>665<Warning>

657 Atur variabel lingkungan model ke ID versi spesifik sebagai bagian dari pengaturan awal Anda. Penentapan memungkinkan Anda mengontrol kapan pengguna Anda pindah ke model baru.666 Atur variabel lingkungan model ke ID versi spesifik sebagai bagian dari pengaturan awal Anda. Penentapan memungkinkan Anda mengontrol kapan pengguna Anda pindah ke model baru.


676Akhiran `[1m]` menerapkan jendela konteks 1M ke semua penggunaan alias `opus` dan `sonnet`, termasuk fase Opus mode-rencana dari [`opusplan`](#opusplan-model-setting).685Akhiran `[1m]` menerapkan jendela konteks 1M ke semua penggunaan alias `opus` dan `sonnet`, termasuk fase Opus mode-rencana dari [`opusplan`](#opusplan-model-setting).

677 686 

678* Claude Code menghapus akhiran sebelum mengirim ID model ke penyedia Anda.687* Claude Code menghapus akhiran sebelum mengirim ID model ke penyedia Anda.

679* Hanya tambahkan `[1m]` ketika model yang mendasar [mendukung konteks 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).688* Hanya tambahkan `[1m]` ketika model yang mendasar [mendukung konteks 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model).

680* Akhiran dibaca per variabel, bukan per model. Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, ID model tanpa `[1m]` dalam satu variabel menggunakan konteks 200K bahkan jika variabel lain menetapkan model yang sama dengan akhiran. Sonnet 5 selalu berjalan dengan jendela 1M pada penyedia ini dan tidak pernah memerlukan akhiran.689* Akhiran dibaca per variabel, bukan per model. Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, ID model tanpa `[1m]` dalam satu variabel menggunakan konteks 200K bahkan jika variabel lain menetapkan model yang sama dengan akhiran. Sonnet 5 selalu berjalan dengan jendela 1M pada penyedia ini dan tidak pernah memerlukan akhiran.

681 690 

682<Note>691<Note>

Details

119Claude Code memerlukan akses ke URL berikut. Izinkan URL ini dalam konfigurasi proxy dan aturan firewall Anda, terutama di lingkungan jaringan terkontainer atau terbatas.119Claude Code memerlukan akses ke URL berikut. Izinkan URL ini dalam konfigurasi proxy dan aturan firewall Anda, terutama di lingkungan jaringan terkontainer atau terbatas.

120 120 

121| URL | Diperlukan untuk |121| URL | Diperlukan untuk |

122| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |122| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

123| `api.anthropic.com` | Permintaan Claude API |123| `api.anthropic.com` | Permintaan Claude API |

124| `claude.ai` | Autentikasi akun claude.ai |124| `claude.ai` | Autentikasi akun claude.ai |

125| `platform.claude.com` | Autentikasi akun Anthropic Console |125| `platform.claude.com` | Autentikasi akun Anthropic Console |

126| `mcp-proxy.anthropic.com` | [Konektor MCP dari claude.ai](/id/mcp#use-mcp-servers-from-claude-ai), termasuk konektor yang dikonfigurasi administrator organisasi. Lalu lintas konektor merutekan melalui proxy ini; konektor diaktifkan secara default untuk pengguna yang diautentikasi claude.ai. Untuk menonaktifkan, atur [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/id/env-vars) atau pengaturan [`disableClaudeAiConnectors`](/id/settings#available-settings) |

126| `downloads.claude.ai` | Unduhan plugin yang dapat dieksekusi; penginstal asli dan pembaruan otomatis asli |127| `downloads.claude.ai` | Unduhan plugin yang dapat dieksekusi; penginstal asli dan pembaruan otomatis asli |

128| `storage.googleapis.com` | Jumlah instalasi dan metadata plugin yang ditampilkan di `/plugin`. Unggahan [artifact](/id/artifacts) yang ditandatangani mencoba host ini terlebih dahulu; penerbitan kembali ke `api.anthropic.com` ketika host ini diblokir |

127| `storage.googleapis.com` | {/* max-version: 2.1.115 */}Penginstal asli dan pembaruan otomatis asli pada versi sebelum 2.1.116 |129| `storage.googleapis.com` | {/* max-version: 2.1.115 */}Penginstal asli dan pembaruan otomatis asli pada versi sebelum 2.1.116 |

128| `bridge.claudeusercontent.com` | Jembatan WebSocket ekstensi [Claude di Chrome](/id/chrome) |130| `bridge.claudeusercontent.com` | Jembatan WebSocket ekstensi [Claude di Chrome](/id/chrome) |

129| `*.claudeusercontent.com` | Melihat [artifacts](/id/artifacts) di claude.ai. Penampil memuat konten setiap artifact dari subdomain yang disandbox dari asal ini. Diperlukan di browser penampil, bukan oleh CLI itu sendiri |131| `*.claudeusercontent.com` | Melihat [artifacts](/id/artifacts) di claude.ai. Penampil memuat konten setiap artifact dari subdomain yang disandbox dari asal ini. Diperlukan di browser penampil, bukan oleh CLI itu sendiri |

130| `raw.githubusercontent.com` | Umpan catatan perubahan untuk [`/release-notes`](/id/commands) dan catatan rilis yang ditampilkan setelah pembaruan; jumlah instalasi marketplace plugin |132| `raw.githubusercontent.com` | Umpan catatan perubahan untuk [`/release-notes`](/id/commands) dan catatan rilis yang ditampilkan setelah pembaruan |

131 133 

132Jika Anda menginstal Claude Code melalui npm atau mengelola distribusi biner Anda sendiri, pengguna akhir mungkin tidak memerlukan akses ke `downloads.claude.ai` atau `storage.googleapis.com`.134Jika Anda menginstal Claude Code melalui npm atau mengelola distribusi biner Anda sendiri, pengguna akhir tidak perlu menggunakan penginstal asli dan pembaruan otomatis `downloads.claude.ai`. Penggunaan lain dalam tabel berlaku terlepas dari metode instalasi.

133 135 

134Claude Code juga mengirimkan telemetri operasional opsional secara default, yang dapat Anda nonaktifkan dengan variabel lingkungan. Lihat [Layanan telemetri](/id/data-usage#telemetry-services) untuk cara menonaktifkannya sebelum menyelesaikan daftar izin Anda.136Claude Code juga mengirimkan telemetri operasional opsional secara default, yang dapat Anda nonaktifkan dengan variabel lingkungan. Lihat [Layanan telemetri](/id/data-usage#telemetry-services) untuk cara menonaktifkannya sebelum menyelesaikan daftar izin Anda.

135 137 


139 141 

140Untuk instans [GitHub Enterprise Server](/id/github-enterprise-server) yang dihosting sendiri di belakang firewall, izinkan daftar [Alamat IP API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses) yang sama sehingga infrastruktur Anthropic dapat menjangkau host GHES Anda untuk mengkloning repositori dan memposting komentar tinjauan.142Untuk instans [GitHub Enterprise Server](/id/github-enterprise-server) yang dihosting sendiri di belakang firewall, izinkan daftar [Alamat IP API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses) yang sama sehingga infrastruktur Anthropic dapat menjangkau host GHES Anda untuk mengkloning repositori dan memposting komentar tinjauan.

141 143 

144<h3 id="desktop-and-claude-ai">

145 Desktop dan claude.ai

146</h3>

147 

148Tabel sebelumnya terutama mencakup CLI mandiri. Aplikasi Claude Desktop dan claude.ai di browser memuat kode aplikasi mereka dari host CDN Anthropic tambahan, termasuk `assets-proxy.anthropic.com`. Mengizinkan `claude.ai` sambil memblokir host tersebut menghasilkan halaman kosong daripada kesalahan. Lihat [persyaratan akses jaringan](/id/desktop#network-access-requirements) di halaman Desktop.

149 

142<h2 id="additional-resources">150<h2 id="additional-resources">

143 Sumber daya tambahan151 Sumber daya tambahan

144</h2>152</h2>

overview.md +1 −0

Details

246* [Quickstart](/id/quickstart): berjalan melalui tugas nyata pertama Anda, dari menjelajahi basis kode hingga melakukan perbaikan246* [Quickstart](/id/quickstart): berjalan melalui tugas nyata pertama Anda, dari menjelajahi basis kode hingga melakukan perbaikan

247* [Simpan instruksi dan memori](/id/memory): berikan Claude instruksi persisten dengan file CLAUDE.md dan memori otomatis247* [Simpan instruksi dan memori](/id/memory): berikan Claude instruksi persisten dengan file CLAUDE.md dan memori otomatis

248* [Alur kerja umum](/id/common-workflows) dan [praktik terbaik](/id/best-practices): pola untuk mendapatkan hasil maksimal dari Claude Code248* [Alur kerja umum](/id/common-workflows) dan [praktik terbaik](/id/best-practices): pola untuk mendapatkan hasil maksimal dari Claude Code

249* [Sebuah harness untuk setiap tugas](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code): bagaimana tim Claude Code menggunakan [dynamic workflows](/id/workflows) untuk mengorkestra subagen dalam skala besar

249* [Pengaturan](/id/settings): sesuaikan Claude Code untuk alur kerja Anda250* [Pengaturan](/id/settings): sesuaikan Claude Code untuk alur kerja Anda

250* [Pemecahan masalah](/id/troubleshooting): solusi untuk masalah umum251* [Pemecahan masalah](/id/troubleshooting): solusi untuk masalah umum

251* [code.claude.com](https://code.claude.com/): demo, harga, dan detail produk252* [code.claude.com](https://code.claude.com/): demo, harga, dan detail produk

Details

16 16 

17| Mode | Apa yang berjalan tanpa bertanya | Terbaik untuk |17| Mode | Apa yang berjalan tanpa bertanya | Terbaik untuk |

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

19| `default` | Pembacaan saja. Berlabel **Manual** di CLI dan ekstensi IDE | Memulai, pekerjaan sensitif |19| `default` | Pembacaan saja | Memulai, pekerjaan sensitif |

20| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | Pembacaan, pengeditan file, dan perintah filesystem umum (`mkdir`, `touch`, `mv`, `cp`, dll.) | Iterasi pada kode yang Anda tinjau |20| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | Pembacaan, pengeditan file, dan perintah filesystem umum (`mkdir`, `touch`, `mv`, `cp`, dll.) | Iterasi pada kode yang Anda tinjau |

21| [`plan`](#analyze-before-you-edit-with-plan-mode) | Pembacaan saja | Menjelajahi basis kode sebelum mengubahnya |21| [`plan`](#analyze-before-you-edit-with-plan-mode) | Pembacaan saja | Menjelajahi basis kode sebelum mengubahnya |

22| [`auto`](#eliminate-prompts-with-auto-mode) | Semuanya, dengan pemeriksaan keamanan latar belakang | Tugas panjang, mengurangi kelelahan prompt |22| [`auto`](#eliminate-prompts-with-auto-mode) | Semuanya, dengan pemeriksaan keamanan latar belakang | Tugas panjang, mengurangi kelelahan prompt |

23| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | Hanya alat yang telah disetujui sebelumnya | CI terkunci dan skrip |23| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | Hanya alat yang telah disetujui sebelumnya | CI terkunci dan skrip |

24| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | Semuanya | Kontainer dan VM terisolasi saja |24| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | Semuanya | Kontainer dan VM terisolasi saja |

25 25 

26Mode yang meninjau setiap tindakan dinamai **Manual** di CLI, di `claude --help`, dan di ekstensi VS Code dan JetBrains. Nilai konfignya adalah `default`, yang digunakan oleh hooks dan integrasi SDK. CLI menerima `manual` sebagai alias di mana pun Anda mengetikkan nilainya, misalnya `claude --permission-mode manual` atau `"defaultMode": "manual"`. Label Manual dan alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru.26Mode yang meninjau setiap tindakan dinamai **Manual** di CLI, di `claude --help`, di ekstensi VS Code dan JetBrains, dan di aplikasi desktop. Nilai konfignya adalah `default`, yang digunakan oleh hooks dan integrasi SDK. CLI menerima `manual` sebagai alias di mana pun Anda mengetikkan nilainya, misalnya `claude --permission-mode manual` atau `"defaultMode": "manual"`. Label Manual dan alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru. Label aplikasi desktop tidak bergantung pada versi CLI Anda.

27 27 

28Di setiap mode kecuali `bypassPermissions`, penulisan ke [jalur yang dilindungi](#protected-paths) tidak pernah disetujui otomatis, menjaga status repositori dan konfigurasi Claude sendiri dari kerusakan yang tidak disengaja.28Di setiap mode kecuali `bypassPermissions`, penulisan ke [jalur yang dilindungi](#protected-paths) tidak pernah disetujui otomatis, menjaga status repositori dan konfigurasi Claude sendiri dari kerusakan yang tidak disengaja.

29 29 

30Mode menetapkan baseline. Lapisi [aturan izin](/id/permissions#manage-permissions) di atas untuk pre-approve atau memblokir alat tertentu. Aturan deny dan aturan ask eksplisit berlaku di setiap mode, termasuk `bypassPermissions`. Aturan allow tidak memiliki efek dalam mode itu karena semuanya sudah disetujui.30Mode menetapkan baseline. Lapisi [aturan izin](/id/permissions#manage-permissions) di atas untuk pre-approve atau memblokir alat tertentu. Aturan deny, aturan ask eksplisit, [pengaturan `ask` organisasi pada alat konektor](/id/mcp#organization-controls-on-connector-tools), dan penanda [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) berlaku di setiap mode, termasuk `bypassPermissions`. Aturan allow tidak memiliki efek dalam mode itu karena semuanya sudah disetujui.

31 31 

32<h2 id="switch-permission-modes">32<h2 id="switch-permission-modes">

33 Beralih mode izin33 Beralih mode izin


95 </Tab>95 </Tab>

96 96 

97 <Tab title="Desktop">97 <Tab title="Desktop">

98 Gunakan pemilih mode di sebelah tombol kirim. Mode Auto dan Bypass permissions muncul hanya setelah Anda mengaktifkannya di pengaturan Desktop. Lihat [panduan Desktop](/id/desktop#choose-a-permission-mode).98 **Selama sesi**: gunakan pemilih mode di sebelah tombol kirim. Tidak setiap mode muncul di pemilih:

99 

100 * **Auto**: muncul ketika akun Anda memenuhi [persyaratan mode auto](#eliminate-prompts-with-auto-mode)

101 * **Bypass permissions**: memerlukan toggle **Allow bypass permissions mode** di pengaturan Desktop pada paket Pro dan Max; pada paket Team dan Enterprise, kebijakan organisasi mengontrolnya sebagai gantinya

102 

103 Untuk detail khusus desktop, lihat [Pilih mode izin](/id/desktop#choose-a-permission-mode) di panduan Desktop.

104 

105 **Sebagai default**: atur `defaultMode` di [pengaturan](/id/settings#settings-files). Aplikasi desktop membaca file pengaturan yang sama seperti CLI dan menerapkan mode ke sesi lokal baru.

106 

107 Mode yang Anda pilih di pemilih mode diingat per folder dan mengambil alih `defaultMode` untuk folder itu. Plan adalah pengecualian: memilihnya berlaku hanya untuk sesi saat ini.

108 

109 Contoh ini menetapkan Plan mode sebagai default untuk sesi lokal baru:

110 

111 ```json theme={null}

112 {

113 "permissions": {

114 "defaultMode": "plan"

115 }

116 }

117 ```

99 </Tab>118 </Tab>

100 119 

101 <Tab title="Web dan mobile">120 <Tab title="Web dan mobile">


118 137 

119Mode `acceptEdits` memungkinkan Claude membuat dan mengedit file di direktori kerja Anda tanpa meminta. Bilah status menunjukkan `⏵⏵ accept edits on` saat mode ini aktif.138Mode `acceptEdits` memungkinkan Claude membuat dan mengedit file di direktori kerja Anda tanpa meminta. Bilah status menunjukkan `⏵⏵ accept edits on` saat mode ini aktif.

120 139 

121Selain pengeditan file, mode `acceptEdits` auto-approve perintah Bash filesystem umum: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, dan `sed`. Perintah ini juga auto-approved ketika diawali dengan variabel lingkungan aman seperti `LANG=C` atau `NO_COLOR=1`, atau pembungkus proses seperti `timeout`, `nice`, atau `nohup`. Seperti pengeditan file, auto-approval hanya berlaku untuk jalur di dalam direktori kerja Anda atau `additionalDirectories`. Jalur di luar cakupan itu, penulisan ke [jalur yang dilindungi](#protected-paths), dan semua perintah Bash lainnya masih meminta.140Selain pengeditan file, mode `acceptEdits` auto-approve perintah Bash filesystem umum: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, dan `sed`. Perintah ini juga auto-approved ketika diawali dengan variabel lingkungan aman seperti `LANG=C` atau `NO_COLOR=1`, atau pembungkus proses seperti `timeout`, `nice`, atau `nohup`. Seperti pengeditan file, auto-approval hanya berlaku untuk jalur di dalam direktori kerja Anda atau `additionalDirectories`. Jalur di luar cakupan itu, penulisan ke [jalur yang dilindungi](#protected-paths), dan semua perintah Bash lainnya kecuali [set bawaan read-only](/id/permissions#read-only-commands) masih meminta.

122 141 

123Ketika [alat PowerShell](/id/tools-reference#powershell-tool) diaktifkan, mode `acceptEdits` juga auto-approve `Set-Content`, `Add-Content`, `Clear-Content`, dan `Remove-Item` pada jalur dalam cakupan, bersama dengan alias umum mereka. Aturan cakupan dan jalur yang dilindungi yang sama berlaku.142Ketika [alat PowerShell](/id/tools-reference#powershell-tool) diaktifkan, mode `acceptEdits` juga auto-approve `Set-Content`, `Add-Content`, `Clear-Content`, dan `Remove-Item` pada jalur dalam cakupan, bersama dengan alias umum mereka. Aturan cakupan dan jalur yang dilindungi yang sama berlaku.

124 143 


182 201 

183Mode otomatis memungkinkan Claude menjalankan tanpa prompt izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum berjalan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. [Aturan ask](/id/permissions#manage-permissions) eksplisit masih memaksa prompt.202Mode otomatis memungkinkan Claude menjalankan tanpa prompt izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum berjalan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. [Aturan ask](/id/permissions#manage-permissions) eksplisit masih memaksa prompt.

184 203 

204Penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, meminta persetujuan daripada pergi ke pengklasifikasi. {/* min-version: 2.1.208 */}Prompt ini juga menyala ketika perintah berisi substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`, apakah penghapusan berada di dalam substitusi, seperti dalam `echo "$(rm -rf ~)"`, atau di tempat lain dalam perintah yang sama. Sebelum v2.1.208, perintah yang berisi bentuk-bentuk tersebut pergi ke pengklasifikasi daripada meminta.

205 

185Mode otomatis juga mendorong Claude untuk terus bekerja tanpa berhenti untuk pertanyaan klarifikasi, meskipun Claude masih bertanya ketika prompt Anda atau skill secara eksplisit bergantung padanya. Untuk perilaku otonom yang lebih kuat sambil tetap mempertahankan prompt izin, atur [gaya output Proaktif](/id/output-styles) sebagai gantinya.206Mode otomatis juga mendorong Claude untuk terus bekerja tanpa berhenti untuk pertanyaan klarifikasi, meskipun Claude masih bertanya ketika prompt Anda atau skill secara eksplisit bergantung padanya. Untuk perilaku otonom yang lebih kuat sambil tetap mempertahankan prompt izin, atur [gaya output Proaktif](/id/output-styles) sebagai gantinya.

186 207 

187<Warning>208<Warning>


191Mode otomatis hanya tersedia ketika akun Anda memenuhi semua persyaratan ini:212Mode otomatis hanya tersedia ketika akun Anda memenuhi semua persyaratan ini:

192 213 

193* **Rencana**: Semua rencana.214* **Rencana**: Semua rencana.

194* **Pemilik**: di Team dan Enterprise, Pemilik harus mengaktifkannya di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code) sebelum pengguna dapat mengaktifkannya. Administrator juga dapat menguncinya dengan mengatur `permissions.disableAutoMode` ke `"disable"` di [pengaturan terkelola](/id/permissions#managed-settings).215* **Pemilik**: di Team dan Enterprise, Pemilik harus mengaktifkannya di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code) sebelum pengguna dapat mengaktifkannya. Administrator juga dapat mematikan mode otomatis dengan mengatur `permissions.disableAutoMode` ke `"disable"` di [pengaturan terkelola](/id/permissions#managed-settings). Untuk tab Code aplikasi desktop, `disableAutoMode` adalah kontrol tingkat organisasi, dan toggle pengaturan admin tidak berlaku.

195* **Model**: di API Anthropic, Claude Opus 4.6 atau lebih baru, atau Sonnet 4.6 atau lebih baru. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [Claude apps gateway](/id/claude-apps-gateway) yang masuk, hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8. Model yang lebih lama, termasuk Sonnet 4.5, Opus 4.5, Haiku, dan model claude-3, tidak didukung di penyedia mana pun.216* **Model**: di API Anthropic, Claude Opus 4.6 atau lebih baru, atau Sonnet 4.6 atau lebih baru. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [Claude apps gateway](/id/claude-apps-gateway) yang masuk, hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8. Model yang lebih lama, termasuk Sonnet 4.5, Opus 4.5, Haiku, dan model claude-3, tidak didukung di penyedia mana pun.

196* **Penyedia**: tersedia secara default di API Anthropic. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi Claude apps gateway yang masuk, mode otomatis mati sampai Anda [mengatur `CLAUDE_CODE_ENABLE_AUTO_MODE`](#enable-auto-mode-on-bedrock-agent-platform-or-foundry).217* **Penyedia**: tersedia secara default di API Anthropic, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi Claude apps gateway yang masuk. {/* min-version: 2.1.207 */}Di v2.1.158 hingga v2.1.206, mode otomatis mati di semua penyedia ini kecuali API Anthropic sampai Anda mengatur `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.

197 218 

198Jika Claude Code melaporkan mode otomatis sebagai tidak tersedia, salah satu persyaratan ini tidak terpenuhi; ini bukan pemadaman sementara. Pesan terpisah yang menyebutkan model dan mengatakan mode otomatis "tidak dapat menentukan keamanan" tindakan adalah pemadaman pengklasifikasi sementara; lihat [referensi kesalahan](/id/errors#auto-mode-cannot-determine-the-safety-of-an-action).219Jika Claude Code melaporkan mode otomatis sebagai tidak tersedia, salah satu persyaratan ini tidak terpenuhi; ini bukan pemadaman sementara. Pesan terpisah yang menyebutkan model dan mengatakan mode otomatis "tidak dapat menentukan keamanan" tindakan adalah pemadaman pengklasifikasi sementara; lihat [referensi kesalahan](/id/errors#auto-mode-cannot-determine-the-safety-of-an-action).

199 220 

200Jika Anda mengatur `defaultMode: "auto"` di [pengaturan](/id/settings#available-settings) dan sesi dimulai dalam mode `default` tanpa kesalahan, pengaturan kemungkinan berada di `.claude/settings.json` atau `.claude/settings.local.json`. Claude Code v2.1.142 dan lebih baru mengabaikan `auto` dari file-file tersebut sehingga repositori tidak dapat memberikan dirinya sendiri mode otomatis. Pindahkan ke `~/.claude/settings.json`.221Jika Anda mengatur `defaultMode: "auto"` di [pengaturan](/id/settings#available-settings) dan sesi dimulai dalam mode `default` tanpa kesalahan, pengaturan kemungkinan berada di `.claude/settings.json` atau `.claude/settings.local.json`. Claude Code v2.1.142 dan lebih baru mengabaikan `auto` dari file-file tersebut sehingga repositori tidak dapat memberikan dirinya sendiri mode otomatis. Pindahkan ke `~/.claude/settings.json`.

201 222 

202<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">223<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">

203 Aktifkan mode otomatis di Bedrock, Agent Platform, atau Foundry224 Mode otomatis di Bedrock, Agent Platform, atau Foundry

204</h3>225</h3>

205 226 

206Di [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), dan sesi [Claude apps gateway](/id/claude-apps-gateway) yang masuk, mode otomatis tidak muncul dalam siklus `Shift+Tab` sampai `CLAUDE_CODE_ENABLE_AUTO_MODE` diatur ke `1`. Variabel bekerja di Claude Code v2.1.158 dan lebih baru. Hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8 yang didukung di penyedia ini.227Di [Amazon Bedrock](/id/amazon-bedrock), [Google Cloud's Agent Platform](/id/google-vertex-ai), [Microsoft Foundry](/id/microsoft-foundry), dan sesi [Claude apps gateway](/id/claude-apps-gateway) yang masuk, mode otomatis muncul dalam siklus `Shift+Tab` secara default. Muncul dalam siklus tidak mengubah mode yang dimulai sesi: sesi masih dimulai dalam [`defaultMode`](/id/settings#available-settings) Anda, yang Manual kecuali Anda mengubahnya. Hanya Claude Sonnet 5, Opus 4.7, dan Opus 4.8 yang didukung di penyedia ini.

207 

208Untuk mengaktifkannya untuk satu pengembang, tambahkan variabel ke blok `env` di `~/.claude/settings.json`:

209 228 

210```json theme={null}229Untuk menjadikan mode otomatis mode awal default, atur `"permissions": {"defaultMode": "auto"}` di pengaturan pengguna atau terkelola.

211{

212 "env": {

213 "CLAUDE_CODE_ENABLE_AUTO_MODE": "1"

214 }

215}

216```

217 

218Untuk mengaktifkannya untuk organisasi Anda, tambahkan blok `env` yang sama ke [pengaturan terkelola](/id/settings#settings-files).

219 230 

220Setelah variabel diatur, mode otomatis muncul dalam siklus `Shift+Tab` untuk setiap sesi. Untuk menjadikannya mode awal default, juga atur `"permissions": {"defaultMode": "auto"}` di pengaturan pengguna atau terkelola. Di penyedia ini, Claude Code mengabaikan `defaultMode: "auto"` kecuali `CLAUDE_CODE_ENABLE_AUTO_MODE` juga diatur.231Untuk mencegah pengembang menggunakan mode otomatis, atur `disableAutoMode` ke `"disable"` di [pengaturan terkelola](/id/permissions#managed-settings). Ini menghapus `auto` dari siklus `Shift+Tab` dan menolak `--permission-mode auto` saat startup.

221 232 

222Untuk mencegah pengembang mengaktifkan mode otomatis, atur `disableAutoMode` ke `"disable"` di pengaturan terkelola. Ini menimpa variabel enable.233Di v2.1.158 hingga v2.1.206, mode otomatis mati di penyedia ini sampai Anda mengatur `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, dan Claude Code mengabaikan `defaultMode: "auto"` di penyedia ini kecuali variabel juga diatur. Variabel masih diterima untuk kompatibilitas dan tidak berpengaruh dari v2.1.207 ke depan.

223 

224Jika Anda terhubung melalui [gateway LLM](/id/llm-gateway) yang dikonfigurasi dengan `ANTHROPIC_BASE_URL`, mode otomatis mungkin sudah dapat dijangkau tanpa variabel enable, karena gateway merutekan permintaan melalui API Anthropic. Ini tidak berlaku untuk sesi [Claude apps gateway](/id/claude-apps-gateway) yang masuk, yang merupakan kelas penyedia tersendiri dan memerlukan variabel enable. Pengaturan `disableAutoMode` berlaku dengan cara yang sama dalam konfigurasi apa pun.

225 234 

226<h3 id="what-the-classifier-blocks-by-default">235<h3 id="what-the-classifier-blocks-by-default">

227 Apa yang diblokir pengklasifikasi secara default236 Apa yang diblokir pengklasifikasi secara default


294* Membaca `.env` dan mengirim kredensial ke API yang cocok303* Membaca `.env` dan mengirim kredensial ke API yang cocok

295* Permintaan HTTP read-only304* Permintaan HTTP read-only

296* Push ke cabang yang Anda mulai atau yang dibuat Claude305* Push ke cabang yang Anda mulai atau yang dibuat Claude

306* {/* min-version: 2.1.203 */}Push rutin ke cabang default repositori. Sebelum v2.1.203, push langsung apa pun ke cabang default diblokir

297 307 

298Claude Code v2.1.195 dan lebih baru juga memungkinkan ini secara default:308Claude Code v2.1.195 dan lebih baru juga memungkinkan ini secara default:

299 309 


312 322 

313Jalankan `claude auto-mode defaults` untuk melihat daftar aturan lengkap. Jika tindakan rutin diblokir, administrator dapat menambahkan repo terpercaya, bucket, dan layanan melalui pengaturan `autoMode.environment`: lihat [Konfigurasi mode otomatis](/id/auto-mode-config).323Jalankan `claude auto-mode defaults` untuk melihat daftar aturan lengkap. Jika tindakan rutin diblokir, administrator dapat menambahkan repo terpercaya, bucket, dan layanan melalui pengaturan `autoMode.environment`: lihat [Konfigurasi mode otomatis](/id/auto-mode-config).

314 324 

325Push ke cabang kerja Anda, membuat push rutin ke cabang default repositori, dan membuat permintaan tarik yang cocok dengan permintaan Anda semua berjalan tanpa prompt. Pengklasifikasi memblokir push hanya ketika membawa risiko, seperti force push atau konten yang merutekan di sekitar review yang Anda atur. Untuk memerlukan checkpoint manusia sebelum tindakan ini sambil tetap dalam mode otomatis, tambahkan aturan `permissions.ask`: lihat [Batas umum](/id/auto-mode-config#common-boundaries).

326 

315<h3 id="boundaries-you-state-in-conversation">327<h3 id="boundaries-you-state-in-conversation">

316 Batas yang Anda nyatakan dalam percakapan328 Batas yang Anda nyatakan dalam percakapan

317</h3>329</h3>


336 <Accordion title="Bagaimana pengklasifikasi mengevaluasi tindakan">348 <Accordion title="Bagaimana pengklasifikasi mengevaluasi tindakan">

337 Setiap tindakan melalui urutan keputusan yang tetap. Langkah pertama yang cocok menang:349 Setiap tindakan melalui urutan keputusan yang tetap. Langkah pertama yang cocok menang:

338 350 

339 1. Tindakan yang cocok dengan [aturan allow atau deny Anda](/id/permissions#manage-permissions) diselesaikan segera, kecuali penulisan ke [jalur yang dilindungi](#protected-paths), yang dirutekan ke pengklasifikasi bahkan ketika aturan allow cocok351 1. Tindakan yang cocok dengan [aturan allow, ask, atau deny Anda](/id/permissions#manage-permissions) diselesaikan segera. Penulisan ke [jalur yang dilindungi](#protected-paths) dirutekan ke pengklasifikasi bahkan ketika aturan allow cocok. Alat connector [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) meminta Anda secara langsung bahkan ketika aturan allow cocok. Aturan ask yang dibatasi konten jatuh kembali ke prompt izin

340 2. Tindakan read-only dan pengeditan file di direktori kerja Anda disetujui otomatis, kecuali penulisan ke [jalur yang dilindungi](#protected-paths)352 2. Tindakan read-only dan pengeditan file di direktori kerja Anda disetujui otomatis, kecuali penulisan ke [jalur yang dilindungi](#protected-paths)

341 3. Semuanya yang lain pergi ke pengklasifikasi. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) melewati pengklasifikasi dan meminta Anda secara langsung, jadi langkah persetujuan tidak pernah disetujui otomatis atas nama penulis alat353 3. Semuanya yang lain pergi ke pengklasifikasi. Alat connector [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) melewati pengklasifikasi dan meminta Anda secara langsung, jadi persetujuan yang diperlukan organisasi tidak pernah disetujui otomatis. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) juga melewati pengklasifikasi dan meminta Anda secara langsung, jadi langkah persetujuan tidak pernah disetujui otomatis atas nama penulis alat

342 4. Jika pengklasifikasi memblokir, Claude menerima alasan dan mencoba alternatif354 4. Jika pengklasifikasi memblokir, Claude menerima alasan dan mencoba alternatif

343 355 

344 Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode arbitrer dijatuhkan:356 Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode arbitrer dijatuhkan:


372 Izinkan hanya alat yang telah disetujui sebelumnya dengan mode dontAsk384 Izinkan hanya alat yang telah disetujui sebelumnya dengan mode dontAsk

373</h2>385</h2>

374 386 

375Mode `dontAsk` auto-deny setiap panggilan alat yang akan meminta sebaliknya. Bilah status menunjukkan `⏵⏵ don't ask on` saat mode ini aktif. Hanya tindakan yang cocok dengan aturan `permissions.allow` Anda dan [perintah Bash read-only](/id/permissions#read-only-commands) yang dapat dijalankan; aturan [`ask` eksplisit](/id/permissions#manage-permissions) ditolak daripada meminta. {/* min-version: 2.1.199 */}Mulai dari v2.1.199, alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) juga ditolak dalam mode ini bahkan ketika aturan allow cocok dengannya, karena kartu persetujuannya memerlukan jawaban yang tidak akan pernah dikumpulkan mode ini. Ini membuat mode sepenuhnya non-interaktif untuk pipeline CI atau lingkungan terbatas di mana Anda pre-define dengan tepat apa yang Claude boleh lakukan. Sesi cloud di [Claude Code di web](/id/claude-code-on-the-web) mengabaikan `defaultMode: "dontAsk"`; lihat [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) untuk detail.387Jika Anda menetapkan mode `dontAsk`, Claude Code secara otomatis menolak setiap panggilan alat yang akan meminta sebaliknya. Claude hanya menjalankan tindakan yang cocok dengan aturan `permissions.allow` Anda, [perintah Bash read-only](/id/permissions#read-only-commands), dan panggilan yang disetujui oleh [hook PreToolUse](/id/permissions#extend-permissions-with-hooks). Gunakan mode ini untuk pipeline CI atau lingkungan terbatas di mana Anda pre-define dengan tepat apa yang Claude boleh lakukan; sesi tidak pernah menunggu input. Bilah status menunjukkan `⏵⏵ don't ask on` saat mode ini aktif.

388 

389Claude Code menolak panggilan yang cocok dengan aturan [`ask`](/id/permissions#manage-permissions) eksplisit Anda daripada meminta. Ini juga menolak alat `AskUserQuestion` bawaan dan alat konektor [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), bahkan jika aturan allow Anda cocok dengannya. {/* min-version: 2.1.199 */}Ini menolak alat MCP yang ditandai [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) dengan cara yang sama, karena kartu persetujuan mereka memerlukan jawaban yang mode ini tidak pernah kumpulkan; ini memerlukan Claude Code v2.1.199 atau lebih baru.

390 

391Sesi cloud di [Claude Code di web](/id/claude-code-on-the-web) mengabaikan `defaultMode: "dontAsk"`; lihat [bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) untuk detail.

376 392 

377Atur saat startup dengan flag:393Atur saat startup dengan flag:

378 394 


384 Lewati semua pemeriksaan dengan mode bypassPermissions400 Lewati semua pemeriksaan dengan mode bypassPermissions

385</h2>401</h2>

386 402 

387Mode `bypassPermissions` menonaktifkan prompt izin dan pemeriksaan keamanan sehingga panggilan alat dijalankan segera. Sejak v2.1.126 ini mencakup penulisan ke [jalur yang dilindungi](#protected-paths), yang versi sebelumnya masih meminta. Aturan [ask](/id/permissions#manage-permissions) yang eksplisit masih memaksa prompt dalam mode ini, dan penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, masih meminta sebagai pemutus sirkuit terhadap kesalahan model. {/* min-version: 2.1.199 */}Sejak v2.1.199, alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) juga masih meminta. Hanya gunakan mode ini di lingkungan terisolasi seperti kontainer, VM, atau dev container tanpa akses internet, di mana Claude Code tidak dapat merusak sistem host Anda.403Mode `bypassPermissions` menonaktifkan prompt izin dan pemeriksaan keamanan sehingga panggilan alat dijalankan segera, termasuk penulisan ke [jalur yang dilindungi](#protected-paths). Sebelum v2.1.126, penulisan jalur yang dilindungi masih meminta dalam mode ini.

404 

405Aturan [ask](/id/permissions#manage-permissions) yang eksplisit dan alat konektor [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) masih memaksa prompt dalam mode ini. {/* min-version: 2.1.199 */}Alat MCP yang ditandai dengan [`_meta["anthropic/requiresUserInteraction"]`](/id/mcp#require-approval-for-a-specific-tool) juga masih meminta; ini memerlukan Claude Code v2.1.199 atau lebih baru.

406 

407Penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, masih meminta sebagai pemutus sirkuit terhadap kesalahan model. {/* min-version: 2.1.208 */}Pemutus sirkuit juga aktif ketika perintah berisi substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`, baik penghapusan berada di dalam substitusi, seperti dalam `echo "$(rm -rf ~)"`, atau di tempat lain dalam perintah yang sama. Bentuk biasa, diketik sebagai perintahnya sendiri, telah meminta dalam mode ini sejak pemutus sirkuit diperkenalkan; sebelum v2.1.208, perintah yang berisi bentuk-bentuk tersebut tidak meminta.

408 

409<Warning>

410 Hanya gunakan mode ini di lingkungan terisolasi seperti kontainer, VM, atau dev container tanpa akses internet, di mana Claude Code tidak dapat merusak sistem host Anda.

411</Warning>

388 412 

389Anda tidak dapat memasukkan `bypassPermissions` dari sesi yang dimulai tanpa salah satu flag yang mengaktifkan; restart dengan salah satu untuk mengaktifkannya:413Anda tidak dapat memasukkan `bypassPermissions` dari sesi yang dimulai tanpa salah satu flag yang mengaktifkan; restart dengan salah satu untuk mengaktifkannya:

390 414 

permissions.md +26 −6

Details

20| Perintah Bash | Eksekusi shell | Ya, kecuali serangkaian [perintah hanya baca](#read-only-commands) yang tertanam | Secara permanen per direktori proyek dan perintah |20| Perintah Bash | Eksekusi shell | Ya, kecuali serangkaian [perintah hanya baca](#read-only-commands) yang tertanam | Secara permanen per direktori proyek dan perintah |

21| Modifikasi file | Edit/tulis file | Ya | Hingga akhir sesi |21| Modifikasi file | Edit/tulis file | Ya | Hingga akhir sesi |

22 22 

23Pada prompt izin Bash atau PowerShell, tekan `Ctrl+E` untuk menampilkan penjelasan perintah: apa yang dilakukannya, mengapa Claude menjalankannya, dan apa yang bisa salah, diberi label **Risiko rendah**, **Risiko sedang**, atau **Risiko tinggi**. Claude Code mengirimkan perintah dan deskripsi Claude sendiri tentang panggilan tersebut ke model untuk menghasilkan penjelasan hanya ketika Anda menekan `Ctrl+E`, bukan pada setiap prompt. Menampilkan penjelasan tidak menjalankan perintah; tekan `Ctrl+E` lagi untuk menyembunyikannya.

24 

25Untuk mematikan pintasan, atur [`permissionExplainerEnabled`](/id/settings#global-config-settings) ke `false` dalam `~/.claude.json`.

26 

23<h2 id="manage-permissions">27<h2 id="manage-permissions">

24 Kelola izin28 Kelola izin

25</h2>29</h2>


47Claude Code mendukung beberapa mode izin yang mengontrol bagaimana alat disetujui. Lihat [Permission modes](/id/permission-modes) untuk mengetahui kapan menggunakan masing-masing. Atur `defaultMode` dalam [file pengaturan](/id/settings#settings-files) Anda:51Claude Code mendukung beberapa mode izin yang mengontrol bagaimana alat disetujui. Lihat [Permission modes](/id/permission-modes) untuk mengetahui kapan menggunakan masing-masing. Atur `defaultMode` dalam [file pengaturan](/id/settings#settings-files) Anda:

48 52 

49| Mode | Deskripsi |53| Mode | Deskripsi |

50| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |54| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

51| `default` | Perilaku standar: meminta izin pada penggunaan pertama setiap alat. {/* min-version: 2.1.200 */}Berlabel Manual di CLI dan ekstensi VS Code dan JetBrains, dan Claude Code menerima `manual` sebagai alias. Label dan alias memerlukan Claude Code v2.1.200 atau lebih baru |55| `default` | Perilaku standar: meminta izin pada penggunaan pertama setiap alat. {/* min-version: 2.1.200 */}Berlabel Manual di CLI, ekstensi VS Code dan JetBrains, dan aplikasi desktop, dan Claude Code menerima `manual` sebagai alias. Label dan alias memerlukan Claude Code v2.1.200 atau lebih baru. Label aplikasi desktop tidak bergantung pada versi CLI Anda |

52| `acceptEdits` | Secara otomatis menerima edit file dan perintah sistem file umum seperti `mkdir`, `touch`, `mv`, dan `cp` untuk jalur di direktori kerja atau `additionalDirectories` |56| `acceptEdits` | Secara otomatis menerima edit file dan perintah sistem file umum seperti `mkdir`, `touch`, `mv`, dan `cp` untuk jalur di direktori kerja atau `additionalDirectories` |

53| `plan` | Claude membaca file dan menjalankan perintah shell hanya-baca untuk menjelajahi tetapi tidak mengedit file sumber Anda. Berlabel Plan di CLI dan ekstensi VS Code |57| `plan` | Claude membaca file dan menjalankan perintah shell hanya-baca untuk menjelajahi tetapi tidak mengedit file sumber Anda. Berlabel Plan di CLI dan ekstensi VS Code |

54| `auto` | Secara otomatis menyetujui panggilan alat dengan pemeriksaan keamanan latar belakang yang memverifikasi tindakan selaras dengan permintaan Anda |58| `auto` | Secara otomatis menyetujui panggilan alat dengan pemeriksaan keamanan latar belakang yang memverifikasi tindakan selaras dengan permintaan Anda |

55| `dontAsk` | Secara otomatis menolak alat kecuali pra-disetujui melalui `/permissions` atau aturan `permissions.allow` |59| `dontAsk` | Secara otomatis menolak alat kecuali pra-disetujui melalui `/permissions` atau aturan `permissions.allow`. `AskUserQuestion`, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan jika Anda telah mengizinkannya |

56| `bypassPermissions` | Melewati prompt izin, kecuali yang dipaksa oleh aturan `ask` eksplisit. Penghapusan direktori root dan home seperti `rm -rf /` juga masih meminta sebagai circuit breaker |60| `bypassPermissions` | Melewati prompt izin, kecuali yang dipaksa oleh aturan `ask` eksplisit, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool). Penghapusan direktori root dan home seperti `rm -rf /` juga masih meminta sebagai circuit breaker |

57 61 

58<Warning>62<Warning>

59 Mode `bypassPermissions` melewati prompt izin, termasuk untuk penulisan ke `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn`, dan `.mvn`. Aturan `ask` eksplisit masih memaksa prompt, dan penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, masih meminta sebagai circuit breaker terhadap kesalahan model. Hanya gunakan mode ini di lingkungan terisolasi seperti kontainer atau VM tempat Claude Code tidak dapat menyebabkan kerusakan.63 Mode `bypassPermissions` melewati prompt izin, termasuk untuk penulisan ke `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn`, dan `.mvn`. Hanya gunakan mode ini di lingkungan terisolasi seperti kontainer atau VM tempat Claude Code tidak dapat menyebabkan kerusakan.

64 

65 Beberapa prompt masih aktif dalam mode ini. Aturan `ask` eksplisit, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) masih meminta. Penghapusan yang menargetkan akar sistem file atau direktori home, seperti `rm -rf /` dan `rm -rf ~`, juga meminta sebagai circuit breaker terhadap kesalahan model, {/* min-version: 2.1.208 */}termasuk ketika perintah berisi substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`. Sebelum v2.1.208, hanya bentuk biasa, seperti `rm -rf ~` yang diketik sebagai perintahnya sendiri, yang meminta; perintah yang mencapai penghapusan melalui substitusi tidak.

60</Warning>66</Warning>

61 67 

62Untuk mencegah mode `bypassPermissions` atau `auto` digunakan, atur `permissions.disableBypassPermissionsMode` atau `permissions.disableAutoMode` ke `"disable"` dalam [file pengaturan](/id/settings#settings-files) apa pun. Ini paling berguna dalam [pengaturan terkelola](#managed-settings) di mana mereka tidak dapat ditimpa.68Untuk mencegah mode `bypassPermissions` atau `auto` digunakan, atur `permissions.disableBypassPermissionsMode` atau `permissions.disableAutoMode` ke `"disable"` dalam [file pengaturan](/id/settings#settings-files) apa pun. Ini paling berguna dalam [pengaturan terkelola](#managed-settings) di mana mereka tidak dapat ditimpa.


217 223 

218`cd` ke jalur di dalam direktori kerja Anda atau [direktori tambahan](#working-directories) juga hanya baca. Perintah gabungan seperti `cd packages/api && ls` berjalan tanpa prompt ketika setiap bagian memenuhi syarat sendiri. Menggabungkan `cd` dengan `git` dalam satu perintah gabungan meminta ketika `cd` berubah ke direktori yang berbeda, karena menjalankan `git` di direktori baru dapat menjalankan hook direktori itu. `cd` yang targetnya diselesaikan ke direktori kerja saat ini adalah no-op dan tidak memicu prompt ini.224`cd` ke jalur di dalam direktori kerja Anda atau [direktori tambahan](#working-directories) juga hanya baca. Perintah gabungan seperti `cd packages/api && ls` berjalan tanpa prompt ketika setiap bagian memenuhi syarat sendiri. Menggabungkan `cd` dengan `git` dalam satu perintah gabungan meminta ketika `cd` berubah ke direktori yang berbeda, karena menjalankan `git` di direktori baru dapat menjalankan hook direktori itu. `cd` yang targetnya diselesaikan ke direktori kerja saat ini adalah no-op dan tidak memicu prompt ini.

219 225 

226Menggabungkan `cd` dengan pengalihan output dalam satu perintah gabungan juga meminta ketika Claude Code tidak dapat menentukan direktori mana target pengalihan diselesaikan setelah `cd` berjalan. Perintah yang satu-satunya target pengalihan adalah `/dev/null`, seperti `cd app; grep -r pattern . 2>/dev/null`, tidak memicu prompt ini, karena `/dev/null` tidak bergantung pada direktori kerja.

227 

220<Warning>228<Warning>

221 Pola izin Bash yang mencoba membatasi argumen perintah rapuh. Misalnya, `Bash(curl http://github.com/ *)` dimaksudkan untuk membatasi curl ke URL GitHub, tetapi tidak akan mencocokkan variasi seperti:229 Pola izin Bash yang mencoba membatasi argumen perintah rapuh. Misalnya, `Bash(curl http://github.com/ *)` dimaksudkan untuk membatasi curl ke URL GitHub, tetapi tidak akan mencocokkan variasi seperti:

222 230 


265 273 

266Aturan `Edit` berlaku untuk semua alat bawaan yang mengedit file. Claude membuat upaya terbaik untuk menerapkan aturan `Read` ke semua alat bawaan yang membaca file seperti Grep dan Glob, ke penyebutan `@file` dalam prompt Anda, dan ke seleksi dan konteks file terbuka yang [IDE](/id/vs-code#the-built-in-ide-mcp-server) yang terhubung bagikan dengan Claude.274Aturan `Edit` berlaku untuk semua alat bawaan yang mengedit file. Claude membuat upaya terbaik untuk menerapkan aturan `Read` ke semua alat bawaan yang membaca file seperti Grep dan Glob, ke penyebutan `@file` dalam prompt Anda, dan ke seleksi dan konteks file terbuka yang [IDE](/id/vs-code#the-built-in-ide-mcp-server) yang terhubung bagikan dengan Claude.

267 275 

276Aturan deny `Read` juga memblokir [alat Edit](/id/errors#file-is-covered-by-a-read-deny-rule) pada jalur yang sama, termasuk membuat file baru di sana. Write dan NotebookEdit tidak tercakup, jadi tambahkan aturan deny `Edit` untuk jalur yang tidak boleh diubah alat apa pun. Memerlukan Claude Code v2.1.208 atau lebih baru.

277 

268<Warning>278<Warning>

269 Aturan deny Read dan Edit berlaku untuk alat file bawaan Claude dan untuk perintah file yang Claude Code kenali di Bash, seperti `cat`, `head`, `tail`, dan `sed`. Mereka tidak berlaku untuk subproses arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file itu sendiri. Untuk penegakan tingkat OS yang memblokir semua proses dari mengakses jalur, [aktifkan sandbox](/id/sandboxing).279 Aturan deny Read dan Edit berlaku untuk alat file bawaan Claude dan untuk perintah file yang Claude Code kenali di Bash, seperti `cat`, `head`, `tail`, dan `sed`. Mereka tidak berlaku untuk subproses arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file itu sendiri. Untuk penegakan tingkat OS yang memblokir semua proses dari mengakses jalur, [aktifkan sandbox](/id/sandboxing).

270</Warning>280</Warning>


313 Dalam pola gitignore, `*` mencocokkan dalam satu segmen jalur dan dapat muncul di posisi mana pun dalam pola, sementara `**` mencocokkan di seluruh direktori. Untuk memungkinkan semua akses file, gunakan hanya nama alat tanpa tanda kurung: `Read`, `Edit`, atau `Write`.323 Dalam pola gitignore, `*` mencocokkan dalam satu segmen jalur dan dapat muncul di posisi mana pun dalam pola, sementara `**` mencocokkan di seluruh direktori. Untuk memungkinkan semua akses file, gunakan hanya nama alat tanpa tanda kurung: `Read`, `Edit`, atau `Write`.

314</Note>324</Note>

315 325 

326Ketika Anda menyetujui jalur file dengan "Ya, jangan tanya lagi", Claude Code menghindari karakter pola gitignore dalam jalur itu, seperti `[`, `]`, dan `*`, jadi aturan yang dihasilkan hanya cocok dengan jalur literal yang Anda setujui. Aturan yang Anda tulis sendiri tidak dihindari.

327 

316Ketika Claude mengakses symlink, aturan izin memeriksa dua jalur: symlink itu sendiri dan file yang diselesaikannya. Aturan allow dan deny memperlakukan pasangan itu secara berbeda: aturan allow kembali ke meminta Anda, sementara aturan deny memblokir sepenuhnya.328Ketika Claude mengakses symlink, aturan izin memeriksa dua jalur: symlink itu sendiri dan file yang diselesaikannya. Aturan allow dan deny memperlakukan pasangan itu secara berbeda: aturan allow kembali ke meminta Anda, sementara aturan deny memblokir sepenuhnya.

317 329 

318* **Aturan allow**: berlaku hanya ketika jalur symlink dan targetnya cocok. Symlink di dalam direktori yang diizinkan yang menunjuk ke luar masih meminta Anda.330* **Aturan allow**: berlaku hanya ketika jalur symlink dan targetnya cocok. Symlink di dalam direktori yang diizinkan yang menunjuk ke luar masih meminta Anda.


342* `mcp__puppeteer__*` menggunakan sintaks wildcard dan juga mencocokkan semua alat dari server `puppeteer`354* `mcp__puppeteer__*` menggunakan sintaks wildcard dan juga mencocokkan semua alat dari server `puppeteer`

343* `mcp__puppeteer__puppeteer_navigate` mencocokkan alat `puppeteer_navigate` yang disediakan oleh server `puppeteer`355* `mcp__puppeteer__puppeteer_navigate` mencocokkan alat `puppeteer_navigate` yang disediakan oleh server `puppeteer`

344 356 

357Jika organisasi Anda telah menetapkan alat [konektor claude.ai](/id/mcp#organization-controls-on-connector-tools) ke `ask`, aturan allow untuk alat itu tidak berlaku: Claude Code meminta pada setiap panggilan, bahkan dalam mode `auto` dan `bypassPermissions`. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya. Alat konektor muncul sebagai `mcp__claude_ai_<server>__<tool>`.

358 

345<h3 id="agent-subagents">359<h3 id="agent-subagents">

346 Agent (subagents)360 Agent (subagents)

347</h3>361</h3>


386 400 

387[Hook Claude Code](/id/hooks-guide) menyediakan cara untuk mendaftarkan perintah shell kustom guna melakukan evaluasi izin saat runtime. Ketika Claude Code membuat panggilan alat, hook PreToolUse berjalan sebelum prompt izin. Output hook dapat menolak panggilan alat, memaksa prompt, atau melewati prompt untuk membiarkan panggilan berlanjut.401[Hook Claude Code](/id/hooks-guide) menyediakan cara untuk mendaftarkan perintah shell kustom guna melakukan evaluasi izin saat runtime. Ketika Claude Code membuat panggilan alat, hook PreToolUse berjalan sebelum prompt izin. Output hook dapat menolak panggilan alat, memaksa prompt, atau melewati prompt untuk membiarkan panggilan berlanjut.

388 402 

389Keputusan hook tidak melewati aturan izin. Aturan deny dan ask dievaluasi terlepas dari apa yang dikembalikan hook PreToolUse, jadi aturan deny yang cocok memblokir panggilan dan aturan ask masih meminta bahkan ketika hook mengembalikan `"allow"` atau `"ask"`. Ini mempertahankan prioritas deny-first yang dijelaskan dalam [Kelola izin](#manage-permissions), termasuk aturan deny yang ditetapkan dalam pengaturan terkelola.403Keputusan hook tidak melewati aturan izin. Claude Code mengevaluasi aturan deny dan ask terlepas dari apa yang dikembalikan hook PreToolUse: aturan deny yang cocok memblokir panggilan, dan aturan ask masih meminta bahkan ketika hook mengembalikan `"allow"` atau `"ask"`. Ini mempertahankan prioritas deny-first yang dijelaskan dalam [Kelola izin](#manage-permissions), termasuk aturan deny yang ditetapkan dalam pengaturan terkelola.

404 

405Alat Connector [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools) dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) juga masih meminta ketika hook mengembalikan `"allow"`.

390 406 

391Hook pemblokiran juga memiliki prioritas atas aturan allow. Hook yang keluar dengan kode 2 menghentikan panggilan alat sebelum aturan izin dievaluasi, jadi blokir berlaku bahkan ketika aturan allow akan membiarkan panggilan berlanjut. Untuk menjalankan semua perintah Bash tanpa prompt kecuali untuk beberapa yang ingin Anda blokir, tambahkan `"Bash"` ke daftar allow Anda dan daftarkan hook PreToolUse yang menolak perintah tertentu itu. Lihat [Block edits to protected files](/id/hooks-guide#block-edits-to-protected-files) untuk skrip hook yang dapat Anda sesuaikan.407Hook pemblokiran juga memiliki prioritas atas aturan allow. Hook yang keluar dengan kode 2 menghentikan panggilan alat sebelum aturan izin dievaluasi, jadi blokir berlaku bahkan ketika aturan allow akan membiarkan panggilan berlanjut. Untuk menjalankan semua perintah Bash tanpa prompt kecuali untuk beberapa yang ingin Anda blokir, tambahkan `"Bash"` ke daftar allow Anda dan daftarkan hook PreToolUse yang menolak perintah tertentu itu. Lihat [Block edits to protected files](/id/hooks-guide#block-edits-to-protected-files) untuk skrip hook yang dapat Anda sesuaikan.

392 408 


402 418 

403File di direktori tambahan mengikuti aturan izin yang sama dengan direktori kerja asli: mereka menjadi dapat dibaca tanpa prompt, dan izin edit file mengikuti mode izin saat ini.419File di direktori tambahan mengikuti aturan izin yang sama dengan direktori kerja asli: mereka menjadi dapat dibaca tanpa prompt, dan izin edit file mengikuti mode izin saat ini.

404 420 

421Dalam sesi latar belakang di macOS, host sesi meminta akses ke folder yang dilindungi seperti `~/Desktop`, `~/Documents`, dan `~/Downloads` secara terpisah dari terminal Anda ketika Claude perlu membaca atau menulis file di sana; jika pembacaan di sana gagal dengan `Operation not permitted`, lihat [cara memberikan akses folder ke sesi latar belakang](/id/agent-view#background-sessions-can't-read-desktop-documents-or-downloads-on-macos).

422 

405Untuk mengubah direktori kerja utama sesi alih-alih menambahkan direktori lain, gunakan [`/cd`](/id/commands). Perintah `/cd` memerlukan Claude Code v2.1.169 atau lebih baru. Tidak seperti `/add-dir`, perintah ini memindahkan sesi: `CLAUDE.md` direktori baru dimuat dan `--resume` menemukan sesi dari sana.423Untuk mengubah direktori kerja utama sesi alih-alih menambahkan direktori lain, gunakan [`/cd`](/id/commands). Perintah `/cd` memerlukan Claude Code v2.1.169 atau lebih baru. Tidak seperti `/add-dir`, perintah ini memindahkan sesi: `CLAUDE.md` direktori baru dimuat dan `--resume` menemukan sesi dari sana.

406 424 

407<h3 id="additional-directories-grant-file-access-not-configuration">425<h3 id="additional-directories-grant-file-access-not-configuration">


509 527 

510`.claude/settings.local.json` adalah file Anda sendiri, jadi pemeriksaan kepercayaan ruang kerja biasanya tidak berlaku untuk itu. Ketika repositori dapat menyediakan file, seperti ketika file tersebut di-commit ke git atau `.claude` adalah symlink, aturan izin dan direktori tambahannya melalui pemeriksaan kepercayaan seperti pengaturan proyek.528`.claude/settings.local.json` adalah file Anda sendiri, jadi pemeriksaan kepercayaan ruang kerja biasanya tidak berlaku untuk itu. Ketika repositori dapat menyediakan file, seperti ketika file tersebut di-commit ke git atau `.claude` adalah symlink, aturan izin dan direktori tambahannya melalui pemeriksaan kepercayaan seperti pengaturan proyek.

511 529 

530Claude Code menjalankan git untuk memeriksa apakah repositori menyediakan file, dan menjalankan pemeriksaan itu hanya dalam folder yang dicakup oleh dialog kepercayaan yang diterima, untuk folder itu atau untuk salah satu direktori induknya. Dalam sesi interaktif dalam folder yang belum Anda percayai, aturan izin dan direktori tambahan dalam `.claude/settings.local.json` melalui pemeriksaan kepercayaan seperti pengaturan proyek sampai Anda menerima dialog, kecuali sesi berjalan di home konfigurasi Anda sendiri seperti yang dijelaskan di bawah. Dari dua pengecualian di bawah, hanya pengecualian home konfigurasi yang berlaku sebelum dialog, karena tidak perlu menjalankan git. Menentukan bahwa direktori tidak berada di dalam repositori git menggunakan pemeriksaan git yang sama, jadi pengecualian tidak-di-dalam-repositori berlaku setelah dialog kepercayaan yang mencakup folder diterima. Sebelum v2.1.207, `.claude/settings.local.json` yang tidak dilacak menerapkan aturan izinnya dalam folder itu sebelum Anda menerima dialog.

531 

512Aturan izin dan direktori tambahan dalam `.claude/settings.local.json` juga berlaku tanpa kepercayaan ruang kerja dalam dua kasus:532Aturan izin dan direktori tambahan dalam `.claude/settings.local.json` juga berlaku tanpa kepercayaan ruang kerja dalam dua kasus:

513 533 

514* Direktori tempat Anda memulai Claude Code tidak berada di dalam repositori git.534* Direktori tempat Anda memulai Claude Code tidak berada di dalam repositori git.

platforms.md +1 −1

Details

23| [Web](/id/claude-code-on-the-web) | Tugas yang berjalan lama yang tidak memerlukan banyak pengarahan, atau pekerjaan yang harus dilanjutkan saat Anda offline | Cloud yang dikelola Anthropic, berlanjut setelah Anda terputus |23| [Web](/id/claude-code-on-the-web) | Tugas yang berjalan lama yang tidak memerlukan banyak pengarahan, atau pekerjaan yang harus dilanjutkan saat Anda offline | Cloud yang dikelola Anthropic, berlanjut setelah Anda terputus |

24| Mobile | Memulai dan memantau tugas saat jauh dari komputer Anda | Sesi cloud dari aplikasi Claude untuk iOS dan Android, [Remote Control](/id/remote-control) untuk sesi lokal, [Dispatch](/id/desktop#sessions-from-dispatch) ke Desktop pada Pro dan Max |24| Mobile | Memulai dan memantau tugas saat jauh dari komputer Anda | Sesi cloud dari aplikasi Claude untuk iOS dan Android, [Remote Control](/id/remote-control) untuk sesi lokal, [Dispatch](/id/desktop#sessions-from-dispatch) ke Desktop pada Pro dan Max |

25 25 

26CLI adalah permukaan paling lengkap untuk pekerjaan asli terminal: scripting dan Agent SDK hanya tersedia di CLI. Penyedia pihak ketiga juga bekerja di [VS Code](/id/vs-code#use-third-party-providers). Penyebaran [Desktop](/id/desktop) Enterprise mendukung Google Cloud's Agent Platform dan penyedia gateway; untuk Amazon Bedrock atau Microsoft Foundry, gunakan CLI atau VS Code, atau [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview), yang menjalankan tab Code pada penyedia tersebut. Desktop dan ekstensi IDE menukar beberapa fitur khusus CLI untuk tinjauan visual dan integrasi editor yang lebih ketat. Web berjalan di cloud Anthropic, jadi tugas terus berlanjut setelah Anda terputus. Mobile adalah klien tipis ke sesi cloud yang sama atau ke sesi lokal melalui Remote Control, dan dapat mengirim tugas ke Desktop dengan Dispatch.26CLI adalah permukaan paling lengkap untuk pekerjaan asli terminal: scripting dan Agent SDK hanya tersedia di CLI. Penyedia pihak ketiga juga bekerja di [VS Code](/id/vs-code#use-third-party-providers). Penyebaran [Desktop](/id/desktop) Enterprise mendukung Google Cloud's Agent Platform, dan Desktop mendukung [penyedia gateway](/id/llm-gateway-connect#desktop-app); untuk Amazon Bedrock atau Microsoft Foundry, gunakan CLI atau VS Code, atau [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview), yang menjalankan tab Code pada penyedia tersebut. Desktop dan ekstensi IDE menukar beberapa fitur khusus CLI untuk tinjauan visual dan integrasi editor yang lebih ketat. Web berjalan di cloud Anthropic, jadi tugas terus berlanjut setelah Anda terputus. Mobile adalah klien tipis ke sesi cloud yang sama atau ke sesi lokal melalui Remote Control, dan dapat mengirim tugas ke Desktop dengan Dispatch.

27 27 

28Anda dapat mencampur permukaan pada proyek yang sama. Konfigurasi, memori proyek, dan server MCP dibagikan di seluruh permukaan lokal.28Anda dapat mencampur permukaan pada proyek yang sama. Konfigurasi, memori proyek, dan server MCP dibagikan di seluruh permukaan lokal.

29 29 

Details

4 4 

5# Batasi versi dependensi plugin5# Batasi versi dependensi plugin

6 6 

7> Deklarasikan batasan versi pada dependensi plugin sehingga plugin Anda terus berfungsi ketika plugin upstream mengirimkan perubahan yang merusak.7> Deklarasikan batasan versi pada dependensi plugin, dan bundel satu set plugin yang dikurasi di balik satu instalasi.

8 8 

9Sebuah plugin dapat bergantung pada plugin lain dengan mencantumkannya di `plugin.json` atau di entri marketplacenya. Secara default, dependensi melacak versi terbaru yang tersedia, sehingga rilis upstream dapat mengubah dependensi di bawah plugin Anda tanpa peringatan. Batasan versi memungkinkan Anda menahan dependensi pada rentang versi yang telah diuji sampai Anda memilih untuk pindah.9Sebuah plugin dapat bergantung pada plugin lain dengan mencantumkannya di `plugin.json` atau di entri marketplacenya. Secara default, dependensi melacak versi terbaru yang tersedia, sehingga rilis upstream dapat mengubah dependensi di bawah plugin Anda tanpa peringatan. Batasan versi memungkinkan Anda menahan dependensi pada rentang versi yang telah diuji sampai Anda memilih untuk pindah.

10 10 


12 12 

13Panduan ini ditujukan untuk penulis plugin yang mendeklarasikan dependensi di `plugin.json` dan untuk pengelola marketplace yang menandai rilis. Untuk menginstal plugin yang memiliki dependensi, lihat [Temukan dan instal plugin](/id/discover-plugins). Untuk skema manifes lengkap, lihat [Referensi Plugin](/id/plugins-reference).13Panduan ini ditujukan untuk penulis plugin yang mendeklarasikan dependensi di `plugin.json` dan untuk pengelola marketplace yang menandai rilis. Untuk menginstal plugin yang memiliki dependensi, lihat [Temukan dan instal plugin](/id/discover-plugins). Untuk skema manifes lengkap, lihat [Referensi Plugin](/id/plugins-reference).

14 14 

15<Note>

16 Batasan versi dependensi memerlukan Claude Code v2.1.110 atau lebih baru.

17</Note>

18 

19<h2 id="why-constrain-dependency-versions">15<h2 id="why-constrain-dependency-versions">

20 Mengapa membatasi versi dependensi16 Mengapa membatasi versi dependensi

21</h2>17</h2>


55 51 

56Bidang `version` menerima ekspresi apa pun yang didukung oleh paket `semver` Node, termasuk rentang caret, tilde, hyphen, dan comparator. Versi pra-rilis seperti `2.0.0-beta.1` dikecualikan kecuali rentang Anda memilih dengan sufiks pra-rilis seperti `^2.0.0-0`.52Bidang `version` menerima ekspresi apa pun yang didukung oleh paket `semver` Node, termasuk rentang caret, tilde, hyphen, dan comparator. Versi pra-rilis seperti `2.0.0-beta.1` dikecualikan kecuali rentang Anda memilih dengan sufiks pra-rilis seperti `^2.0.0-0`.

57 53 

54<h2 id="bundle-plugins-for-a-team">

55 Bundel plugin untuk tim

56</h2>

57 

58Selain `name` yang diperlukan, manifes plugin dapat terdiri dari hanya array `dependencies`. Menginstalnya akan menarik setiap dependensi, yang menjadikannya cara untuk mengemas set plugin yang dikurasi di balik satu instalasi.

59 

60Misalnya, tim platform dapat menerbitkan bundel khusus peran di marketplace internal sehingga insinyur menjalankan satu `claude plugin install` alih-alih menginstal setiap alat secara terpisah:

61 

62```json .claude-plugin/plugin.json theme={null}

63{

64 "name": "backend-standard",

65 "version": "1.0.0",

66 "description": "Standard plugin set for backend engineers",

67 "dependencies": [

68 "secrets-vault",

69 "deploy-kit",

70 { "name": "db-migrate", "version": "^3.0" },

71 "oncall-runbook"

72 ]

73}

74```

75 

76Menginstal `backend-standard` menyelesaikan dan menginstal keempat dependensi.

77 

78Untuk menambahkan alat ke set standar nanti, terbitkan versi `backend-standard` baru dengan dependensi tambahan. Auto-update dimatikan secara default untuk marketplace non-Anthropic, jadi insinyur mengambil versi baru dengan salah satu dari dua cara:

79 

80* Aktifkan auto-update untuk marketplace di `/plugin`. Auto-update berikutnya memindahkan bundel ke versi baru dan menginstal dependensi apa pun yang ditambahkannya.

81* Jalankan `claude plugin update backend-standard`, kemudian `/reload-plugins` untuk menginstal dependensi yang baru ditambahkan.

82 

83Untuk meluncurkan bundel di seluruh organisasi, tambahkan plugin bundel ke `enabledPlugins` dalam [pengaturan terkelola](/id/settings#enabledplugins).

84 

58<h2 id="depend-on-a-plugin-from-another-marketplace">85<h2 id="depend-on-a-plugin-from-another-marketplace">

59 Bergantung pada plugin dari marketplace lain86 Bergantung pada plugin dari marketplace lain

60</h2>87</h2>

plugin-hints.md +2 −0

Details

31 Keluarkan petunjuk31 Keluarkan petunjuk

32</h2>32</h2>

33 33 

34Petunjuk hint hanya aktif untuk plugin yang terdaftar di marketplace resmi Anthropic. Lihat [Dapatkan plugin Anda ke marketplace resmi](#get-your-plugin-into-the-official-marketplace) sebelum Anda meluncurkan integrasi.

35 

34Gerbang emisi pada variabel lingkungan sehingga penanda tidak mungkin muncul ketika manusia menjalankan CLI Anda secara langsung, kemudian tulis tag ke stderr pada barisnya sendiri. Pilih variabel mana yang akan diperiksa:36Gerbang emisi pada variabel lingkungan sehingga penanda tidak mungkin muncul ketika manusia menjalankan CLI Anda secara langsung, kemudian tulis tag ke stderr pada barisnya sendiri. Pilih variabel mana yang akan diperiksa:

35 37 

36* `CLAUDECODE`: diatur pada setiap versi Claude Code, sehingga mencapai sebagian besar sesi. Ini juga diatur dalam sesi tmux dan subprocess server MCP stdio yang Claude Code mulai. Ekstensi IDE juga mengaturnya di terminal terintegrasi mereka, di mana manusia dapat menjalankan CLI Anda secara langsung.38* `CLAUDECODE`: diatur pada setiap versi Claude Code, sehingga mencapai sebagian besar sesi. Ini juga diatur dalam sesi tmux dan subprocess server MCP stdio yang Claude Code mulai. Ekstensi IDE juga mengaturnya di terminal terintegrasi mereka, di mana manusia dapat menjalankan CLI Anda secara langsung.

Details

205 205 

206Setiap entri plugin dalam array `plugins` mendeskripsikan plugin dan di mana menemukannya. Anda dapat menyertakan field apa pun dari [skema manifest plugin](/id/plugins-reference#plugin-manifest-schema), seperti `description`, `version`, `author`, `commands`, dan `hooks`, ditambah field khusus marketplace ini: `source`, `category`, `tags`, `strict`, dan `relevance`.206Setiap entri plugin dalam array `plugins` mendeskripsikan plugin dan di mana menemukannya. Anda dapat menyertakan field apa pun dari [skema manifest plugin](/id/plugins-reference#plugin-manifest-schema), seperti `description`, `version`, `author`, `commands`, dan `hooks`, ditambah field khusus marketplace ini: `source`, `category`, `tags`, `strict`, dan `relevance`.

207 207 

208<h3 id="required-fields-1">208<h3 id="required-fields-2">

209 Field yang diperlukan209 Field yang diperlukan

210</h3>210</h3>

211 211 


509Hal-hal penting untuk diperhatikan:509Hal-hal penting untuk diperhatikan:

510 510 

511* **`commands` dan `agents`**: Anda dapat menentukan beberapa direktori atau file individual. Jalur relatif terhadap root plugin.511* **`commands` dan `agents`**: Anda dapat menentukan beberapa direktori atau file individual. Jalur relatif terhadap root plugin.

512* **`${CLAUDE_PLUGIN_ROOT}`**: Gunakan variabel ini dalam hooks dan config MCP server untuk mereferensikan file dalam direktori instalasi plugin. Ini diperlukan karena plugin disalin ke lokasi cache saat dipasang. Untuk dependensi atau state yang harus bertahan pembaruan plugin, gunakan [`${CLAUDE_PLUGIN_DATA}`](/id/plugins-reference#persistent-data-directory) sebagai gantinya.512* **`${CLAUDE_PLUGIN_ROOT}`**: Gunakan variabel ini dalam hooks dan config MCP server untuk mereferensikan file dalam direktori instalasi plugin. Ini diperlukan karena plugin disalin ke lokasi cache saat dipasang.

513 * Lihat [tabel substitusi](/id/plugins-reference#environment-variables) untuk field config mana yang mensubstitusinya per tipe server

514 * Untuk dependensi atau state yang harus bertahan pembaruan plugin, gunakan [`${CLAUDE_PLUGIN_DATA}`](/id/plugins-reference#persistent-data-directory) sebagai gantinya

513* **`strict: false`**: Karena ini diatur ke false, plugin tidak memerlukan `plugin.json` sendiri. Entri marketplace mendefinisikan semuanya. Lihat [Strict mode](#strict-mode) di bawah.515* **`strict: false`**: Karena ini diatur ke false, plugin tidak memerlukan `plugin.json` sendiri. Entri marketplace mendefinisikan semuanya. Lihat [Strict mode](#strict-mode) di bawah.

514 516 

515Secara default, skills plugin dimuat dari direktori `skills/` di bawah `source`-nya. Jalur yang tercantum dalam field `skills` menambah pemindaian itu:517Secara default, skills plugin dimuat dari direktori `skills/` di bawah `source`-nya. Jalur yang tercantum dalam field `skills` menambah pemindaian itu:


573 Repositori pribadi575 Repositori pribadi

574</h3>576</h3>

575 577 

576Claude Code mendukung pemasangan plugin dari repositori pribadi. Untuk instalasi manual dan pembaruan, Claude Code menggunakan helper kredensial git yang ada, jadi akses HTTPS melalui `gh auth login`, Keychain macOS, atau `git-credential-store` berfungsi sama seperti di terminal Anda. Akses SSH berfungsi selama host sudah ada di file `known_hosts` Anda dan kunci dimuat di `ssh-agent`, karena Claude Code menekan prompt SSH interaktif untuk sidik jari host dan passphrase kunci.578Claude Code mendukung pemasangan plugin dari repositori pribadi. Untuk instalasi manual dan pembaruan, Claude Code menggunakan helper kredensial git yang ada, jadi akses HTTPS melalui `gh auth login`, Keychain macOS, atau `git-credential-store` berfungsi sama seperti di terminal Anda. Akses SSH berfungsi selama host sudah ada di file `known_hosts` Anda dan kunci dimuat di `ssh-agent`, karena Claude Code menekan prompt SSH interaktif untuk sidik jari host dan passphrase kunci. Shorthand `owner/repo` GitHub mengklon melalui SSH secara default; atur [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](/id/env-vars#variables) untuk mengklonnya melalui HTTPS sebagai gantinya.

577 579 

578Pembaruan otomatis latar belakang berjalan berbeda. Secara default, refresh latar belakang menonaktifkan helper kredensial git untuk `git pull`-nya, jadi pull tidak dapat mengautentikasi ke repositori pribadi melalui HTTPS bahkan ketika helper dikonfigurasi. Remote SSH tidak terpengaruh: kunci yang dimuat di `ssh-agent` mengautentikasi pull latar belakang dengan cara yang sama seperti operasi manual. Ketika pull latar belakang gagal, Claude Code kembali ke pengklonaan ulang marketplace dari awal. Pengklonaan ulang memang menggunakan kredensial git yang disimpan, tetapi dapat [time out pada repositori besar](#git-operations-time-out), jadi pembaruan otomatis marketplace pribadi mungkin gagal secara berkala.580Pembaruan otomatis latar belakang berjalan berbeda. Secara default, refresh latar belakang menonaktifkan helper kredensial git untuk `git pull`-nya, jadi pull tidak dapat mengautentikasi ke repositori pribadi melalui HTTPS bahkan ketika helper dikonfigurasi. Remote SSH tidak terpengaruh: kunci yang dimuat di `ssh-agent` mengautentikasi pull latar belakang dengan cara yang sama seperti operasi manual. Ketika pull latar belakang gagal, Claude Code kembali ke pengklonaan ulang marketplace dari awal. Pengklonaan ulang memang menggunakan kredensial git yang disimpan, tetapi dapat [time out pada repositori besar](#git-operations-time-out), jadi pembaruan otomatis marketplace pribadi mungkin gagal secara berkala.

579 581 


697 Pembatasan marketplace yang dikelola699 Pembatasan marketplace yang dikelola

698</h3>700</h3>

699 701 

700Untuk organisasi yang memerlukan kontrol ketat atas sumber plugin, administrator dapat membatasi marketplace plugin mana yang diizinkan pengguna untuk tambahkan menggunakan pengaturan [`strictKnownMarketplaces`](/id/settings#strictknownmarketplaces) dalam pengaturan yang dikelola. Untuk juga menolak flag CLI yang sideload plugin, agen, dan server MCP untuk satu kali jalankan, pasangkan dengan [`disableSideloadFlags`](/id/settings#available-settings).702Untuk organisasi yang memerlukan kontrol ketat atas sumber plugin, administrator dapat membatasi marketplace plugin mana yang diizinkan pengguna untuk tambahkan menggunakan pengaturan [`strictKnownMarketplaces`](/id/settings#strictknownmarketplaces) dalam pengaturan yang dikelola. Untuk juga menolak flag CLI yang sideload plugin, agen, dan server MCP untuk satu kali jalankan, pasangkan dengan [`disableSideloadFlags`](/id/settings#available-settings). Untuk allowlist marketplace mana yang plugin-nya dapat muncul sebagai saran instalasi kontekstual, atur [`pluginSuggestionMarketplaces`](/id/settings#available-settings).

701 703 

702Ketika `strictKnownMarketplaces` dikonfigurasi dalam pengaturan yang dikelola, perilaku pembatasan tergantung pada nilainya:704Ketika `strictKnownMarketplaces` dikonfigurasi dalam pengaturan yang dikelola, perilaku pembatasan tergantung pada nilainya:

703 705 


1085 Plugin marketplace update1087 Plugin marketplace update

1086</h3>1088</h3>

1087 1089 

1088Segarkan marketplace dari sumbernya untuk mengambil plugin baru dan perubahan versi.1090Segarkan marketplace dari sumbernya untuk mengambil plugin baru dan perubahan versi. Marketplace yang ditambahkan dengan branch atau tag `ref` diperbarui ke commit terbaru dari ref tersebut, bukan branch default repositori.

1089 1091 

1090```bash theme={null}1092```bash theme={null}

1091claude plugin marketplace update [name]1093claude plugin marketplace update [name]

Details

185 },185 },

186 "plugin-api-client": {186 "plugin-api-client": {

187 "command": "npx",187 "command": "npx",

188 "args": ["@company/mcp-server", "--plugin-mode"],188 "args": ["@company/mcp-server", "--plugin-mode"]

189 "cwd": "${CLAUDE_PLUGIN_ROOT}"

190 }189 }

191 }190 }

192}191}


303 302 

304Plugin monitors menggunakan mekanisme yang sama seperti [Monitor tool](/id/tools-reference#monitor-tool) dan berbagi batasan ketersediaannya. Mereka hanya berjalan dalam sesi CLI interaktif, berjalan tanpa sandbox pada tingkat kepercayaan yang sama seperti [hooks](#hooks), dan dilewati pada host di mana Monitor tool tidak tersedia.303Plugin monitors menggunakan mekanisme yang sama seperti [Monitor tool](/id/tools-reference#monitor-tool) dan berbagi batasan ketersediaannya. Mereka hanya berjalan dalam sesi CLI interaktif, berjalan tanpa sandbox pada tingkat kepercayaan yang sama seperti [hooks](#hooks), dan dilewati pada host di mana Monitor tool tidak tersedia.

305 304 

306<Note>

307 Plugin monitors memerlukan Claude Code v2.1.105 atau lebih baru.

308</Note>

309 

310**Lokasi**: `monitors/monitors.json` di root plugin, atau inline di `plugin.json`305**Lokasi**: `monitors/monitors.json` di root plugin, atau inline di `plugin.json`

311 306 

312**Format**: Array JSON dari entri monitor307**Format**: Array JSON dari entri monitor


317[312[

318 {313 {

319 "name": "deploy-status",314 "name": "deploy-status",

320 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/poll-deploy.sh ${user_config.api_endpoint}",315 "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/poll-deploy.sh",

321 "description": "Deployment status changes"316 "description": "Deployment status changes"

322 },317 },

323 {318 {


345| :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |340| :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

346| `when` | Mengontrol kapan monitor dimulai. `"always"` memulainya saat startup sesi dan pada reload plugin, dan merupakan default. `"on-skill-invoke:<skill-name>"` memulainya pertama kali skill bernama dalam plugin ini dikirim |341| `when` | Mengontrol kapan monitor dimulai. `"always"` memulainya saat startup sesi dan pada reload plugin, dan merupakan default. `"on-skill-invoke:<skill-name>"` memulainya pertama kali skill bernama dalam plugin ini dikirim |

347 342 

348Nilai `command` mendukung [substitusi variabel](#environment-variables) yang sama seperti konfigurasi MCP dan LSP server: `${CLAUDE_PLUGIN_ROOT}`, `${CLAUDE_PLUGIN_DATA}`, `${CLAUDE_PROJECT_DIR}`, `${user_config.*}`, dan `${ENV_VAR}` apa pun dari lingkungan. Awali perintah dengan `cd "${CLAUDE_PLUGIN_ROOT}" && ` jika script perlu berjalan dari direktori plugin itu sendiri.343Nilai `command` mendukung [substitusi variabel](#environment-variables) `${CLAUDE_PLUGIN_ROOT}`, `${CLAUDE_PLUGIN_DATA}`, dan `${CLAUDE_PROJECT_DIR}`, plus `${ENV_VAR}` apa pun dari lingkungan. Awali perintah dengan `cd "${CLAUDE_PLUGIN_ROOT}" && ` jika script perlu berjalan dari direktori plugin itu sendiri.

344 

345Perintah `command` monitor tidak dapat mereferensikan nilai [`${user_config.*}`](#user-configuration). Perintah berjalan melalui shell, jadi Claude Code menolak monitor dengan [error](/id/errors#plugin-command-references-user-config) daripada mengganti nilai. Proses monitor tidak menerima variabel lingkungan `CLAUDE_PLUGIN_OPTION_<KEY>`, jadi biarkan script monitor membaca nilai dari file config yang dimilikinya. Sebelum v2.1.207, perintah monitor mengganti nilai `${user_config.*}`.

349 346 

350Menonaktifkan plugin di tengah sesi tidak menghentikan monitors yang sudah berjalan. Mereka berhenti saat sesi berakhir.347Menonaktifkan plugin di tengah sesi tidak menghentikan monitors yang sudah berjalan. Mereka berhenti saat sesi berakhir.

351 348 


602| `multiple` | Tidak | Untuk tipe `string`, izinkan array string |599| `multiple` | Tidak | Untuk tipe `string`, izinkan array string |

603| `min` / `max` | Tidak | Batas untuk tipe `number` |600| `min` / `max` | Tidak | Batas untuk tipe `number` |

604 601 

605Setiap nilai tersedia untuk substitusi sebagai `${user_config.KEY}` di konfigurasi MCP dan LSP server, perintah hook, dan perintah monitor. Nilai non-sensitif juga dapat disubstitusi dalam konten skill dan agent. Semua nilai diekspor ke subprocess plugin sebagai variabel lingkungan `CLAUDE_PLUGIN_OPTION_<KEY>`.602Setiap nilai tersedia untuk substitusi sebagai `${user_config.KEY}` di konfigurasi MCP dan LSP server dan perintah hook. Nilai non-sensitif juga dapat disubstitusi dalam konten skill dan agent. Semua nilai diekspor ke proses hook sebagai variabel lingkungan `CLAUDE_PLUGIN_OPTION_<KEY>`, di mana `<KEY>` adalah kunci opsi yang dikapitalisasi.

603 

604Field yang berjalan dalam shell menolak `${user_config.*}`: mensubstitusi nilai yang dikonfigurasi ke dalam perintah shell akan membiarkan shell menjalankan apa pun yang nilai itu berisi, jadi komponen gagal dengan [error](/id/errors#plugin-command-references-user-config) sebagai gantinya. Setiap field yang ditolak memiliki cara alternatif untuk melewatkan nilai:

605 

606| Field yang ditolak | Cara melewatkan nilai |

607| :--------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- |

608| Perintah hook bentuk shell | Gunakan [exec form](/id/hooks#exec-form-and-shell-form) dengan `args`, atau baca `CLAUDE_PLUGIN_OPTION_<KEY>` dari lingkungan hook |

609| Perintah [Monitor](#monitors) | Baca nilai dari file konfigurasi dalam script |

610| MCP [`headersHelper`](/id/mcp#use-dynamic-headers-for-custom-authentication) | Baca nilai dari file konfigurasi dalam script |

611 

612Sebelum v2.1.207, field ini mensubstitusi nilai `${user_config.KEY}`; perbarui plugins yang mengandalkan ini.

613 

614Nilai non-sensitif disimpan di bawah kunci [`pluginConfigs`](/id/settings#pluginconfigs) di `settings.json` sebagai `pluginConfigs[<plugin-id>].options`. {/* min-version: 2.1.207 */}Claude Code menulis kunci ke pengaturan pengguna dan membacanya kembali dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja; entri di `.claude/settings.json` atau `.claude/settings.local.json` proyek diabaikan. Sebelum v2.1.207, Claude Code juga membaca pengaturan proyek dan lokal.

606 615 

607Nilai non-sensitif disimpan di `settings.json` di bawah `pluginConfigs[<plugin-id>].options`. Nilai sensitif masuk ke keychain sistem (atau `~/.claude/.credentials.json` di mana keychain tidak tersedia). Penyimpanan keychain dibagikan dengan token OAuth dan memiliki batas total sekitar 2 KB, jadi jaga nilai sensitif tetap kecil.616Nilai sensitif masuk ke Keychain macOS, atau ke `~/.claude/.credentials.json` di platform di mana keychain yang didukung tidak tersedia. Penyimpanan keychain dibagikan dengan token OAuth dan memiliki batas total sekitar 2 KB, jadi jaga nilai sensitif tetap kecil.

608 617 

609<h3 id="channels">618<h3 id="channels">

610 Channels619 Channels


677 Variabel lingkungan686 Variabel lingkungan

678</h3>687</h3>

679 688 

680Claude Code menyediakan tiga variabel untuk mereferensikan jalur. Semuanya disubstitusi inline di mana pun mereka muncul dalam konten skill, konten agent, perintah hook, perintah monitor, dan konfigurasi MCP atau LSP server. Semuanya juga diekspor sebagai variabel lingkungan ke proses hook dan subprocess MCP atau LSP server.689Claude Code menyediakan tiga variabel untuk mereferensikan jalur:

681 690 

682**`${CLAUDE_PLUGIN_ROOT}`**: jalur absolut ke direktori instalasi plugin Anda. Gunakan ini untuk mereferensikan scripts, binaries, dan file konfigurasi yang disertakan dengan plugin. Dalam perintah hook, gunakan [exec form](/id/hooks#exec-form-and-shell-form) dengan `args` sehingga jalur dilewatkan sebagai satu argumen tanpa quoting. Dalam hook bentuk shell dan perintah monitor, bungkus dalam tanda kutip ganda, seperti `"${CLAUDE_PLUGIN_ROOT}"`. Jalur ini berubah saat plugin diperbarui. Direktori versi sebelumnya tetap berada di disk selama sekitar tujuh hari setelah update sebelum pembersihan, tetapi perlakukan sebagai ephemeral dan jangan tulis state di sini.691| Variabel | Diselesaikan ke | Gunakan untuk |

692| :---------------------- | :-------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |

693| `${CLAUDE_PLUGIN_ROOT}` | Jalur absolut ke direktori instalasi plugin | Scripts, binaries, dan file konfigurasi yang disertakan dengan plugin |

694| `${CLAUDE_PLUGIN_DATA}` | [Direktori persisten](#persistent-data-directory) yang bertahan setelah plugin updates, dibuat pada referensi pertama | Dependensi yang dipasang seperti `node_modules` atau Python virtual environments, kode yang dihasilkan, dan caches |

695| `${CLAUDE_PROJECT_DIR}` | Root proyek | Scripts dan file konfigurasi lokal proyek |

683 696 

684Saat plugin diperbarui di tengah sesi, perintah hook, monitor, MCP server, dan LSP server terus menggunakan jalur versi sebelumnya. Jalankan `/reload-plugins` untuk mengalihkan hooks, MCP server, dan LSP server ke jalur baru; monitor memerlukan restart sesi.697Ketiga variabel diekspor sebagai variabel lingkungan ke proses hook dan ke subprocess MCP dan LSP server. Field mana yang mensubstitusi mereka inline tergantung pada komponen plugin:

685 

686**`${CLAUDE_PLUGIN_DATA}`**: direktori persisten untuk state plugin yang bertahan setelah updates. Gunakan ini untuk dependensi yang dipasang seperti `node_modules` atau Python virtual environments, kode yang dihasilkan, caches, dan file lainnya yang harus bertahan di seluruh versi plugin. Direktori dibuat secara otomatis pertama kali variabel ini direferensikan.

687 698 

688**`${CLAUDE_PROJECT_DIR}`**: root proyek. Ini adalah direktori yang sama yang diterima hooks di variabel `CLAUDE_PROJECT_DIR` mereka. Gunakan ini untuk mereferensikan scripts atau file konfigurasi lokal proyek. Bungkus dalam tanda kutip untuk menangani jalur dengan spasi, misalnya `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`.699| Komponen plugin | Field di mana placeholder diselesaikan |

700| :----------------------------- | :------------------------------------------ |

701| Konten skill dan agent | Di mana pun placeholder muncul |

702| Perintah hook dan monitor | Di mana pun placeholder muncul |

703| Server MCP `stdio` | `command`, `args`, `env` |

704| Server MCP `http`, `sse`, `ws` | `url`, `headers`, `headersHelper` |

705| Server LSP | `command`, `args`, `env`, `workspaceFolder` |

689 706 

690MCP server juga dapat memanggil permintaan `roots/list` untuk membaca direktori kerja sesi saat runtime. Lihat [apa yang dikembalikan `roots/list` dan kapan Claude Code memberi tahu server tentang perubahan](/id/mcp#option-3-add-a-local-stdio-server).707Dalam perintah hook, gunakan [exec form](/id/hooks#exec-form-and-shell-form) dengan `args` sehingga setiap jalur dilewatkan sebagai satu argumen tanpa quoting. Dalam hook bentuk shell dan perintah monitor, bungkus variabel dalam tanda kutip ganda, seperti `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`. Hook bentuk shell ini menjalankan script yang disertakan dengan plugin:

691 708 

692```json theme={null}709```json theme={null}

693{710{


706}723}

707```724```

708 725 

726`${CLAUDE_PLUGIN_ROOT}` berubah saat plugin diperbarui. Direktori versi sebelumnya tetap berada di disk selama sekitar tujuh hari setelah update sebelum pembersihan, tetapi perlakukan sebagai ephemeral dan jangan tulis state di sana.

727 

728Saat plugin diperbarui di tengah sesi, perintah hook, monitor, MCP server, dan LSP server terus menggunakan jalur versi sebelumnya. Jalankan `/reload-plugins` untuk mengalihkan hooks, MCP server, dan LSP server ke jalur baru; monitor memerlukan restart sesi.

729 

730MCP server juga dapat memanggil permintaan `roots/list` untuk membaca direktori kerja sesi saat runtime. Lihat [apa yang dikembalikan `roots/list` dan kapan Claude Code memberi tahu server tentang perubahan](/id/mcp#option-3-add-a-local-stdio-server).

731 

709<h4 id="persistent-data-directory">732<h4 id="persistent-data-directory">

710 Direktori data persisten733 Direktori data persisten

711</h4>734</h4>

Details

102Definisi alat berada di layer prompt sistem, jadi cache membatalkan ketika set definisi alat dalam permintaan berubah di antara giliran. Mengalihkan [advisor tool](/id/advisor) adalah pengecualian: definisinya berada setelah breakpoint cache, jadi mengaktifkan atau menonaktifkan `/advisor` menjaga prefix yang di-cache tetap utuh. Apakah perubahan [server MCP](/id/mcp) melakukan ini tergantung pada apakah alatnya ditunda oleh [tool search](/id/mcp#scale-with-mcp-tool-search) atau dimuat ke dalam prefix:102Definisi alat berada di layer prompt sistem, jadi cache membatalkan ketika set definisi alat dalam permintaan berubah di antara giliran. Mengalihkan [advisor tool](/id/advisor) adalah pengecualian: definisinya berada setelah breakpoint cache, jadi mengaktifkan atau menonaktifkan `/advisor` menjaga prefix yang di-cache tetap utuh. Apakah perubahan [server MCP](/id/mcp) melakukan ini tergantung pada apakah alatnya ditunda oleh [tool search](/id/mcp#scale-with-mcp-tool-search) atau dimuat ke dalam prefix:

103 103 

104* **Alat yang ditunda**, default pada model yang didukung: server yang terhubung, terputus, atau mengubah daftar alatnya hanya menambahkan konten baru dan tidak mengganggu apa pun yang sudah di-cache.104* **Alat yang ditunda**, default pada model yang didukung: server yang terhubung, terputus, atau mengubah daftar alatnya hanya menambahkan konten baru dan tidak mengganggu apa pun yang sudah di-cache.

105* **Alat yang dimuat ke dalam prefix**: perubahan apa pun pada mereka membatalkan cache. Ini terjadi ketika [tool search tidak tersedia atau dinonaktifkan](/id/mcp#configure-tool-search), seperti pada model Haiku, di Vertex AI, atau dengan gateway `ANTHROPIC_BASE_URL` kustom. Ini juga terjadi untuk server atau alat yang ditandai [`alwaysLoad`](/id/mcp#exempt-a-server-from-deferral), dan untuk definisi yang disimpan di depan oleh [threshold-based loading](/id/mcp#configure-tool-search).105* **Alat yang dimuat ke dalam prefix**: perubahan apa pun pada mereka membatalkan cache. Ini terjadi ketika [tool search tidak tersedia atau dinonaktifkan](/id/mcp#configure-tool-search), seperti pada Google Cloud's Agent Platform atau dengan gateway `ANTHROPIC_BASE_URL` kustom. Ini juga terjadi untuk server atau alat yang ditandai [`alwaysLoad`](/id/mcp#exempt-a-server-from-deferral), dan untuk definisi yang disimpan di depan oleh [threshold-based loading](/id/mcp#configure-tool-search).

106 106 

107Ketika alat dimuat ke dalam prefix, penyebab paling umum dari pembatalan adalah server yang terhubung atau terputus di tengah sesi, yang dapat terjadi tanpa tindakan apa pun dari pihak Anda: proses server stdio keluar, sesi HTTP kedaluwarsa, atau server [reconnects secara otomatis setelah kegagalan sementara](/id/mcp#automatic-reconnection). Server yang terhubung juga dapat mendorong [dynamic tool update](/id/mcp#dynamic-tool-updates) yang mengubah daftar alatnya.107Ketika alat dimuat ke dalam prefix, penyebab paling umum dari pembatalan adalah server yang terhubung atau terputus di tengah sesi, yang dapat terjadi tanpa tindakan apa pun dari pihak Anda: proses server stdio keluar, sesi HTTP kedaluwarsa, atau server [reconnects secara otomatis setelah kegagalan sementara](/id/mcp#automatic-reconnection). Server yang terhubung juga dapat mendorong [dynamic tool update](/id/mcp#dynamic-tool-updates) yang mengubah daftar alatnya.

108 108 

remote-control.md +14 −10

Details

12 12 

13Remote Control menghubungkan [claude.ai/code](https://claude.ai/code) atau aplikasi Claude untuk [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) dan [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) ke sesi Claude Code yang berjalan di mesin Anda. Mulai tugas di meja Anda, kemudian lanjutkan dari ponsel Anda di sofa atau browser di komputer lain.13Remote Control menghubungkan [claude.ai/code](https://claude.ai/code) atau aplikasi Claude untuk [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) dan [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) ke sesi Claude Code yang berjalan di mesin Anda. Mulai tugas di meja Anda, kemudian lanjutkan dari ponsel Anda di sofa atau browser di komputer lain.

14 14 

15Ketika Anda memulai sesi Remote Control di mesin Anda, Claude terus berjalan secara lokal sepanjang waktu, jadi tidak ada yang pindah ke cloud. Dengan Remote Control Anda dapat:15Ketika Anda memulai sesi Remote Control di mesin Anda, Claude terus berjalan secara lokal sepanjang waktu, jadi eksekusi kode dan akses sistem file Anda tetap berada di mesin Anda. Dengan Remote Control Anda dapat:

16 16 

17* **Gunakan lingkungan lokal penuh Anda dari jarak jauh**: sistem file, [MCP servers](/id/mcp), alat, dan konfigurasi proyek Anda tetap tersedia, dan mengetik `@` melengkapi otomatis jalur file dari proyek lokal Anda17* **Gunakan lingkungan lokal penuh Anda dari jarak jauh**: sistem file, [MCP servers](/id/mcp), alat, dan konfigurasi proyek Anda tetap tersedia, dan mengetik `@` melengkapi otomatis jalur file dari proyek lokal Anda

18* **Bekerja dari kedua permukaan sekaligus**: percakapan tetap tersinkronisasi di semua perangkat yang terhubung, sehingga Anda dapat mengirim pesan dari terminal, browser, dan ponsel Anda secara bergantian18* **Bekerja dari kedua permukaan sekaligus**: percakapan dan kemajuan [subagents](/id/sub-agents) dan [dynamic workflows](/id/workflows) tetap tersinkronisasi di semua perangkat yang terhubung, sehingga Anda dapat mengirim pesan dari terminal, browser, dan ponsel Anda secara bergantian. {/* min-version: 2.1.207 */}Sebelum v2.1.207, sesi yang dihosting oleh [Desktop app](/id/desktop) tidak mengirim kemajuan subagent atau workflow ke perangkat yang terhubung.

19* **Kirim gambar dan file dari ponsel atau browser Anda**: ketika Anda menambahkan lampiran di aplikasi Claude atau di claude.ai/code, Claude Code mengunduhnya ke mesin Anda dan meneruskannya ke Claude sebagai referensi file `@`, dengan atau tanpa keterangan. {/* min-version: 2.1.202 */}Sebelum v2.1.202, Claude Code dapat menghilangkan lampiran yang dikirim tanpa keterangan sebelum mencapai sesi.19* **Kirim gambar dan file dari ponsel atau browser Anda**: ketika Anda menambahkan lampiran di aplikasi Claude atau di claude.ai/code, Claude Code mengunduhnya ke mesin Anda dan meneruskannya ke Claude sebagai referensi file `@`, dengan atau tanpa keterangan. {/* min-version: 2.1.202 */}Sebelum v2.1.202, Claude Code dapat menghilangkan lampiran yang dikirim tanpa keterangan sebelum mencapai sesi.

20* **Bertahan dari gangguan**: jika laptop Anda tidur atau jaringan Anda terputus, sesi akan terhubung kembali secara otomatis ketika mesin Anda kembali online20* **Bertahan dari gangguan**: jika laptop Anda tidur atau jaringan Anda terputus, sesi akan terhubung kembali secara otomatis ketika mesin Anda kembali online. Claude Code mengantrikan pembaruan status dari subagents dan workflows saat koneksi sedang dibangun kembali dan mengirimkannya setelah pemulihan. {/* min-version: 2.1.207 */}Sebelum v2.1.207, pembaruan yang dikirim selama reconnection atau credential refresh dapat hilang, jadi perangkat yang terhubung terus menampilkan tugas yang selesai sebagai sedang berjalan.

21 21 

22Tidak seperti [Claude Code di web](/id/claude-code-on-the-web), yang berjalan di infrastruktur cloud, sesi Remote Control berjalan langsung di mesin Anda dan berinteraksi dengan sistem file lokal Anda. Antarmuka web dan mobile hanyalah jendela ke sesi lokal tersebut.22Tidak seperti [Claude Code di web](/id/claude-code-on-the-web), yang berjalan di infrastruktur cloud, sesi Remote Control berjalan langsung di mesin Anda dan berinteraksi dengan sistem file lokal Anda. Antarmuka web dan mobile hanyalah jendela ke sesi lokal tersebut.

23 23 


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

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

134 134 

135Ketika Anda terhubung, perangkat menampilkan subagen dan alur kerja apa pun yang sudah dijalankan sesi di latar belakang. {/* min-version: 2.1.208 */}Sebelum v2.1.208, perangkat yang terhubung ke sesi yang dihosting di terminal interaktif tidak menampilkan subagen dan alur kerja yang sudah berjalan sampai salah satu dari mereka dimulai atau berhenti.

136 

135Judul sesi jarak jauh dipilih dalam urutan ini:137Judul sesi jarak jauh dipilih dalam urutan ini:

136 138 

1371. Nama yang Anda berikan ke `--name`, `--remote-control`, atau `/remote-control`1391. Nama yang Anda berikan ke `--name`, `--remote-control`, atau `/remote-control`


161 163 

162Semua lalu lintas berjalan melalui API Anthropic melalui TLS, keamanan transportasi yang sama seperti sesi Claude Code apa pun. Koneksi menggunakan beberapa kredensial berumur pendek, masing-masing dibatasi untuk satu tujuan dan kedaluwarsa secara independen.164Semua lalu lintas berjalan melalui API Anthropic melalui TLS, keamanan transportasi yang sama seperti sesi Claude Code apa pun. Koneksi menggunakan beberapa kredensial berumur pendek, masing-masing dibatasi untuk satu tujuan dan kedaluwarsa secara independen.

163 165 

166Saat Remote Control terhubung, transkrip sesi, termasuk pesan Anda, respons Claude, dan aktivitas alat, disimpan di server Anthropic. Transkrip yang disimpan menjaga percakapan tetap sinkron di seluruh perangkat Anda dan memungkinkan sesi untuk terhubung kembali setelah gangguan jaringan. Eksekusi dan akses sistem file tetap berada di mesin Anda, dan transkrip yang disimpan dipertahankan sesuai dengan kebijakan [Penggunaan data](/id/data-usage).

167 

168Untuk mematikan Remote Control sepenuhnya, gunakan pengaturan [`disableRemoteControl`](/id/settings#available-settings). Organisasi dengan persyaratan kepatuhan seperti Zero Data Retention tidak dapat mengaktifkan Remote Control.

169 

164<h2 id="trusted-devices">170<h2 id="trusted-devices">

165 Perangkat Terpercaya171 Perangkat Terpercaya

166</h2>172</h2>


240 246 

241Claude memutuskan kapan harus push. Biasanya mengirim satu ketika tugas yang berjalan lama selesai atau ketika memerlukan keputusan dari Anda untuk melanjutkan. Anda juga dapat meminta push dalam prompt Anda, misalnya `notify me when the tests finish`. Selain dua toggle on/off di bawah, tidak ada konfigurasi per-event.247Claude memutuskan kapan harus push. Biasanya mengirim satu ketika tugas yang berjalan lama selesai atau ketika memerlukan keputusan dari Anda untuk melanjutkan. Anda juga dapat meminta push dalam prompt Anda, misalnya `notify me when the tests finish`. Selain dua toggle on/off di bawah, tidak ada konfigurasi per-event.

242 248 

243<Note>

244 Notifikasi push mobile memerlukan Claude Code v2.1.110 atau lebih baru.

245</Note>

246 

247Untuk menyiapkan notifikasi push mobile:249Untuk menyiapkan notifikasi push mobile:

248 250 

249<Steps>251<Steps>


281* **Pemadaman jaringan yang diperpanjang**: jika mesin Anda aktif tetapi tidak dapat menjangkau jaringan selama lebih dari kira-kira 10 menit, sesi habis waktu dan proses keluar. Jalankan `claude remote-control` lagi untuk memulai sesi baru.283* **Pemadaman jaringan yang diperpanjang**: jika mesin Anda aktif tetapi tidak dapat menjangkau jaringan selama lebih dari kira-kira 10 menit, sesi habis waktu dan proses keluar. Jalankan `claude remote-control` lagi untuk memulai sesi baru.

282* **Ultraplan memutuskan Remote Control**: memulai sesi [ultraplan](/id/ultraplan) memutuskan sesi Remote Control aktif apa pun karena kedua fitur menempati antarmuka claude.ai/code dan hanya satu yang dapat terhubung pada satu waktu.284* **Ultraplan memutuskan Remote Control**: memulai sesi [ultraplan](/id/ultraplan) memutuskan sesi Remote Control aktif apa pun karena kedua fitur menempati antarmuka claude.ai/code dan hanya satu yang dapat terhubung pada satu waktu.

283* **Beberapa perintah hanya lokal**: perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, hanya bekerja dari CLI lokal, terlepas dari apakah Anda meneruskan argumen atau tidak. Perintah berikut bekerja dari mobile dan web:285* **Beberapa perintah hanya lokal**: perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, hanya bekerja dari CLI lokal, terlepas dari apakah Anda meneruskan argumen atau tidak. Perintah berikut bekerja dari mobile dan web:

284 * Perintah output teks: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, `/reload-plugins`286 * Perintah output teks: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits` (menjalankan bentuk teks alih-alih membuka dialog dalam CLI), `/recap`, `/reload-plugins`

285 * `/model`, `/effort`, `/fast`, `/color`, dan `/rename`: teruskan nilai sebagai argumen, misalnya `/model sonnet` atau `/effort high`. Dari mobile dan web, `/model` dan `/effort` mengambil argumen sebagai pengganti pemilih terminal atau slider.287 * `/model`, `/effort`, `/fast`, `/color`, dan `/rename`: teruskan nilai sebagai argumen, misalnya `/model sonnet` atau `/effort high`. Dari mobile dan web, `/model` dan `/effort` mengambil argumen sebagai pengganti pemilih terminal atau slider.

286 * {/* min-version: 2.1.166 */}`/mcp`, dari v2.1.166: mengembalikan ringkasan teks status server alih-alih membuka pemilih, dan menerima [subperintah](/id/commands#all-commands) `reconnect`, `enable`, dan `disable`. Tidak seperti CLI lokal, `/mcp reconnect` tanpa nama server menghubungkan kembali setiap server yang gagal atau memerlukan autentikasi.288 * {/* min-version: 2.1.166 */}`/mcp`, dari v2.1.166: dari aplikasi mobile, mengembalikan ringkasan teks status server alih-alih membuka pemilih. Di web, `/mcp` sendiri membuka direktori [konektor claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) alih-alih mengembalikan ringkasan. [Subperintah](/id/commands#all-commands) `reconnect`, `enable`, dan `disable` bekerja dari keduanya. Tidak seperti CLI lokal, `/mcp reconnect` tanpa nama server menghubungkan kembali setiap server yang gagal atau memerlukan autentikasi.

287 * {/* min-version: 2.1.181 */}`/config`, dari v2.1.181: teruskan `key=value` untuk menetapkan pengaturan, atau jalankan tanpa argumen untuk membuat daftar kunci yang dapat Anda atur.289 * {/* min-version: 2.1.181 */}`/config`, dari v2.1.181: dari aplikasi mobile, teruskan `key=value` untuk menetapkan pengaturan, atau jalankan tanpa argumen untuk membuat daftar kunci yang dapat Anda atur. Di web, `/config` membuka bagian Claude Code dari pengaturan Anda sebagai gantinya, dan mengabaikan teks setelah perintah.

288 290 

289<h2 id="troubleshooting">291<h2 id="troubleshooting">

290 Pemecahan Masalah292 Pemecahan Masalah


296 298 

297Anda tidak diautentikasi dengan akun claude.ai. Jalankan `claude auth login` dan pilih opsi claude.ai. Jika `ANTHROPIC_API_KEY` diatur di lingkungan Anda, batalkan pengaturannya terlebih dahulu.299Anda tidak diautentikasi dengan akun claude.ai. Jalankan `claude auth login` dan pilih opsi claude.ai. Jika `ANTHROPIC_API_KEY` diatur di lingkungan Anda, batalkan pengaturannya terlebih dahulu.

298 300 

301{/* min-version: 2.1.206 */}Sebelum v2.1.206, menjalankan `/remote-control` saat tidak masuk melaporkan `Unknown command: /remote-control` alih-alih pesan ini.

302 

299<h3 id="remote-control-requires-a-full-scope-login-token">303<h3 id="remote-control-requires-a-full-scope-login-token">

300 "Remote Control memerlukan token login dengan cakupan penuh"304 "Remote Control memerlukan token login dengan cakupan penuh"

301</h3>305</h3>

routines.md +16 −4

Details

126 126 

127Jalankan `/schedule` dalam sesi apa pun untuk membuat rutinitas terjadwal secara percakapan. Anda juga dapat meneruskan deskripsi langsung, untuk rutinitas berulang seperti `/schedule daily PR review at 9am` atau satu kali seperti `/schedule clean up feature flag in one week`. Claude menjalani informasi yang sama yang dikumpulkan formulir web, lalu menyimpan rutinitas ke akun Anda.127Jalankan `/schedule` dalam sesi apa pun untuk membuat rutinitas terjadwal secara percakapan. Anda juga dapat meneruskan deskripsi langsung, untuk rutinitas berulang seperti `/schedule daily PR review at 9am` atau satu kali seperti `/schedule clean up feature flag in one week`. Claude menjalani informasi yang sama yang dikumpulkan formulir web, lalu menyimpan rutinitas ke akun Anda.

128 128 

129Awal yang berhasil terlihat seperti percakapan: Claude mengajukan pertanyaan lanjutan tentang jadwal, repositori, dan prompt sebelum menyimpan. Jika Claude malah menjawab bahwa Anda perlu mengautentikasi atau bahwa Claude tidak dapat terhubung ke akun claude.ai jarak jauh Anda, tidak ada rutinitas yang dibuat; lihat [Troubleshooting](#troubleshooting).

130 

129`/schedule` di CLI hanya membuat rutinitas terjadwal. Untuk menambahkan pemicu API atau GitHub, edit rutinitas di web di [claude.ai/code/routines](https://claude.ai/code/routines).131`/schedule` di CLI hanya membuat rutinitas terjadwal. Untuk menambahkan pemicu API atau GitHub, edit rutinitas di web di [claude.ai/code/routines](https://claude.ai/code/routines).

130 132 

131CLI juga mendukung pengelolaan rutinitas yang ada. Jalankan `/schedule list` untuk melihat semua rutinitas, `/schedule update` untuk mengubah satu, atau `/schedule run` untuk memicunya segera.133CLI juga mendukung pengelolaan rutinitas yang ada. Jalankan `/schedule list` untuk melihat semua rutinitas, `/schedule update` untuk mengubah satu, atau `/schedule run` untuk memicunya segera.


152 154 

153Jadwal sekali menjalankan rutinitas satu kali pada stempel waktu tertentu. Gunakan untuk mengingatkan diri sendiri nanti dalam minggu ini, untuk membuka PR pembersihan setelah rollout selesai, atau untuk memulai tugas tindak lanjut ketika perubahan upstream tiba. Setelah rutinitas dijalankan, rutinitas secara otomatis menonaktifkan dan UI web menandainya sebagai **Ran**. Untuk menjalankannya lagi, edit rutinitas dan atur waktu sekali baru.155Jadwal sekali menjalankan rutinitas satu kali pada stempel waktu tertentu. Gunakan untuk mengingatkan diri sendiri nanti dalam minggu ini, untuk membuka PR pembersihan setelah rollout selesai, atau untuk memulai tugas tindak lanjut ketika perubahan upstream tiba. Setelah rutinitas dijalankan, rutinitas secara otomatis menonaktifkan dan UI web menandainya sebagai **Ran**. Untuk menjalankannya lagi, edit rutinitas dan atur waktu sekali baru.

154 156 

157<Note>

158 Penjadwalan sekali dari CLI sedang diluncurkan secara bertahap dan mungkin belum tersedia di akun Anda. Jika `/schedule` hanya menawarkan jadwal berulang, buat jalankan sekali dari web di [claude.ai/code/routines](https://claude.ai/code/routines) sebagai gantinya.

159</Note>

160 

155Buat jalankan sekali dari CLI dengan mendeskripsikan waktu dalam bahasa alami. Claude menyelesaikan frasa terhadap waktu saat ini dan mengonfirmasi stempel waktu absolut sebelum menyimpan.161Buat jalankan sekali dari CLI dengan mendeskripsikan waktu dalam bahasa alami. Claude menyelesaikan frasa terhadap waktu saat ini dan mengonfirmasi stempel waktu absolut sebelum menyimpan.

156 162 

157```text theme={null}163```text theme={null}


200 206 

201Kirim permintaan POST ke titik akhir `/fire` dengan token pembawa di header `Authorization`. Badan permintaan menerima bidang `text` opsional untuk konteks spesifik jalankan seperti badan peringatan atau log yang gagal, diteruskan ke rutinitas bersama prompt yang disimpannya. Nilainya adalah teks freeform dan tidak diuraikan: jika Anda mengirim JSON atau muatan terstruktur lainnya, rutinitas menerimanya sebagai string literal.207Kirim permintaan POST ke titik akhir `/fire` dengan token pembawa di header `Authorization`. Badan permintaan menerima bidang `text` opsional untuk konteks spesifik jalankan seperti badan peringatan atau log yang gagal, diteruskan ke rutinitas bersama prompt yang disimpannya. Nilainya adalah teks freeform dan tidak diuraikan: jika Anda mengirim JSON atau muatan terstruktur lainnya, rutinitas menerimanya sebagai string literal.

202 208 

203Contoh di bawah memicu rutinitas dari shell:209Contoh di bawah memicu rutinitas dari shell. ID rutinitas dan token yang ditampilkan adalah placeholder: gantikan dengan URL dan token yang Anda salin saat [menambahkan pemicu API](#add-an-api-trigger), atau permintaan gagal dengan kesalahan autentikasi `401`:

204 210 

205```bash theme={null}211```bash theme={null}

206curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \212curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \


410 Pemecahan masalah416 Pemecahan masalah

411</h2>417</h2>

412 418 

413<h3 id="/schedule-shows-no-commands-match-or-unknown-command">419<h3 id="/schedule-returns-unknown-command">

414 `/schedule` menampilkan "No commands match" atau "Unknown command"420 `/schedule` menampilkan "Unknown command"

415</h3>421</h3>

416 422 

417CLI menyembunyikan `/schedule` ketika salah satu persyaratannya tidak terpenuhi, sehingga menu perintah menampilkan `No commands match "/schedule"` saat Anda mengetik, dan mengirimkannya mengembalikan `Unknown command: /schedule`. Penyebabnya biasanya salah satu dari berikut ini:423CLI menyembunyikan `/schedule` ketika salah satu persyaratannya tidak terpenuhi: menu perintah menampilkan `No commands match "/schedule"` saat Anda mengetik, dan mengirimkannya mengembalikan `Unknown command: /schedule`. Penyebabnya biasanya salah satu dari berikut ini:

418 424 

419* Anda diautentikasi dengan Console API key atau penyedia cloud seperti Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. `/schedule` memerlukan login langganan claude.ai. Jika `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN` diatur di shell Anda, atau `apiKeyHelper` diatur di `settings.json`, hapus terlebih dahulu, karena ini memiliki prioritas lebih tinggi daripada login claude.ai425* Anda diautentikasi dengan Console API key atau penyedia cloud seperti Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. `/schedule` memerlukan login langganan claude.ai. Jika `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN` diatur di shell Anda, atau `apiKeyHelper` diatur di `settings.json`, hapus terlebih dahulu, karena ini memiliki prioritas lebih tinggi daripada login claude.ai

420* `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, atau `DISABLE_GROWTHBOOK` diatur di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](/id/settings#available-settings). Ini menonaktifkan pengambilan feature-flag, yang `/schedule` bergantung padanya426* `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, atau `DISABLE_GROWTHBOOK` diatur di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](/id/settings#available-settings). Ini menonaktifkan pengambilan feature-flag, yang `/schedule` bergantung padanya


422 428 

423Anda selalu dapat membuat dan mengelola rutinitas di [claude.ai/code/routines](https://claude.ai/code/routines) terlepas dari bagaimana CLI dikonfigurasi.429Anda selalu dapat membuat dan mengelola rutinitas di [claude.ai/code/routines](https://claude.ai/code/routines) terlepas dari bagaimana CLI dikonfigurasi.

424 430 

431<h3 id="/schedule-asks-you-to-authenticate">

432 `/schedule` meminta Anda untuk diautentikasi

433</h3>

434 

435Jika `/schedule` berjalan tetapi Claude merespons bahwa Anda perlu diautentikasi dengan akun claude.ai terlebih dahulu, CLI tidak memiliki login claude.ai yang tersimpan. Akun API tidak didukung untuk rutinitas. Jalankan `/login`, masuk dengan akun claude.ai Anda, kemudian jalankan `/schedule` lagi.

436 

425<h3 id="routines-are-disabled-by-your-organization’s-policy">437<h3 id="routines-are-disabled-by-your-organization’s-policy">

426 "Rutinitas dinonaktifkan oleh kebijakan organisasi Anda"438 "Rutinitas dinonaktifkan oleh kebijakan organisasi Anda"

427</h3>439</h3>

Details

60 60 

61[Mode izin](/id/permission-modes) memutuskan apakah panggilan alat berjalan dan apakah Anda diminta terlebih dahulu. Isolasi membatasi apa yang dapat diakses perintah setelah berjalan. Keduanya bekerja bersama: ketika mode izin membiarkan tindakan berjalan tanpa bertanya kepada Anda, batas isolasi membatasi apa yang dapat dijangkau tindakan tersebut.61[Mode izin](/id/permission-modes) memutuskan apakah panggilan alat berjalan dan apakah Anda diminta terlebih dahulu. Isolasi membatasi apa yang dapat diakses perintah setelah berjalan. Keduanya bekerja bersama: ketika mode izin membiarkan tindakan berjalan tanpa bertanya kepada Anda, batas isolasi membatasi apa yang dapat dijangkau tindakan tersebut.

62 62 

63`--dangerously-skip-permissions` menghapus tinjauan per-tindakan selain [aturan ask](/id/permissions#manage-permissions) yang eksplisit, sehingga batas isolasi adalah satu-satunya hal yang membatasi apa yang dapat dilakukan Claude. Selalu jalankan di dalam container, VM, atau [sandbox runtime](#sandbox-runtime), sehingga alat file, server MCP, dan hooks juga berada di dalam batas.63Ketika Anda melewatkan `--dangerously-skip-permissions`, Claude bertindak tanpa bertanya kepada Anda terlebih dahulu; Anda hanya diminta untuk [aturan ask](/id/permissions#manage-permissions) yang eksplisit, alat konektor [yang organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), dan penghapusan yang menargetkan `/` atau direktori home Anda. Tanpa prompt untuk menangkap kesalahan, batas isolasi yang Anda pilih adalah apa yang melindungi sistem Anda. Selalu jalankan sesi `--dangerously-skip-permissions` di dalam container, VM, atau [sandbox runtime](#sandbox-runtime), sehingga alat file, server MCP, dan hooks juga berada di dalam batas.

64 64 

65[Mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode) menggantikan prompt dengan pengklasifikasi yang meninjau tindakan dan memblokir yang melampaui permintaan, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. Pengklasifikasi adalah kontrol per-tindakan, bukan batas isolasi, sehingga batas isolasi masih menambah pertahanan berlapis untuk berjalan tanpa pengawasan, dan tidak diperlukan seperti halnya untuk `--dangerously-skip-permissions`.65[Mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode) menggantikan prompt dengan pengklasifikasi yang meninjau tindakan dan memblokir yang melampaui permintaan, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. Pengklasifikasi adalah kontrol per-tindakan, bukan batas isolasi, sehingga batas isolasi masih menambah pertahanan berlapis untuk berjalan tanpa pengawasan, dan tidak diperlukan seperti halnya untuk `--dangerously-skip-permissions`.

66 66 

sandboxing.md +9 −4

Details

135 135 

136Direktori temp sesi dapat ditulis di dalam sandbox secara default, bersama dengan direktori kerja. Claude Code menetapkan `$TMPDIR` ke direktori ini untuk perintah sandboxed, sehingga alat yang menulis file sementara bekerja tanpa konfigurasi tambahan. Perintah unsandboxed mewarisi `$TMPDIR` shell Anda tanpa perubahan, yang berarti perintah sandboxed dan unsandboxed menyelesaikan `$TMPDIR` ke direktori yang berbeda. Untuk meneruskan file sementara di antara keduanya, tulis di bawah direktori kerja sebagai gantinya.136Direktori temp sesi dapat ditulis di dalam sandbox secara default, bersama dengan direktori kerja. Claude Code menetapkan `$TMPDIR` ke direktori ini untuk perintah sandboxed, sehingga alat yang menulis file sementara bekerja tanpa konfigurasi tambahan. Perintah unsandboxed mewarisi `$TMPDIR` shell Anda tanpa perubahan, yang berarti perintah sandboxed dan unsandboxed menyelesaikan `$TMPDIR` ke direktori yang berbeda. Untuk meneruskan file sementara di antara keduanya, tulis di bawah direktori kerja sebagai gantinya.

137 137 

138Beberapa perintah tidak dapat berjalan di dalam sandbox sama sekali, seperti alat yang tidak kompatibel dengannya atau yang memerlukan host yang belum Anda izinkan. Daripada gagal tugas atau memerlukan Anda untuk mematikan sandboxing, Claude Code menyertakan pintu keluar: ketika perintah gagal karena pembatasan sandbox, Claude menganalisis kegagalan dan dapat mencoba kembali perintah dengan parameter `dangerouslyDisableSandbox`. Perintah yang dicoba kembali berjalan di luar sandbox, sehingga melalui alur izin reguler.138Beberapa perintah tidak dapat berjalan di dalam sandbox sama sekali, seperti alat yang tidak kompatibel dengannya atau yang memerlukan host yang belum Anda izinkan. Daripada gagal tugas atau memerlukan Anda untuk mematikan sandboxing, Claude Code menyertakan pintu keluar: ketika perintah gagal karena pembatasan sandbox, Claude menganalisis kegagalan dan dapat mencoba kembali perintah dengan parameter `dangerouslyDisableSandbox`. Perintah yang dicoba kembali berjalan di luar sandbox, sehingga melalui alur izin reguler: dalam mode default Anda mendapatkan prompt konfirmasi; dalam [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) pengklasifikasi mengevaluasi perintah yang mendasar daripada meminta Anda. Untuk diminta pada setiap percobaan ulang unsandboxed bahkan dalam mode auto, tambahkan [ask rule](/id/permissions#match-by-input-parameter) untuk `Bash(dangerouslyDisableSandbox:true)`.

139 139 

140Anda dapat menonaktifkan pintu keluar ini dengan mengatur `"allowUnsandboxedCommands": false` dalam [sandbox settings](/id/settings#sandbox-settings) Anda. Ketika dinonaktifkan, yang ditampilkan tab Overrides `/sandbox` sebagai **Strict sandbox mode**, parameter `dangerouslyDisableSandbox` sepenuhnya diabaikan dan semua perintah harus berjalan sandboxed atau secara eksplisit terdaftar dalam `excludedCommands`.140Anda dapat menonaktifkan pintu keluar ini dengan mengatur `"allowUnsandboxedCommands": false` dalam [sandbox settings](/id/settings#sandbox-settings) Anda. Ketika dinonaktifkan, yang ditampilkan tab Overrides `/sandbox` sebagai **Strict sandbox mode**, parameter `dangerouslyDisableSandbox` sepenuhnya diabaikan dan semua perintah harus berjalan sandboxed atau secara eksplisit terdaftar dalam `excludedCommands`.

141 141 


176 176 

177Sintaks ini berbeda dari [Read and Edit permission rules](/id/permissions#read-and-edit), yang menggunakan `//path` untuk absolut dan `/path` untuk relatif proyek. Jalur filesystem sandbox menggunakan konvensi standar: `/tmp/build` adalah absolut.177Sintaks ini berbeda dari [Read and Edit permission rules](/id/permissions#read-and-edit), yang menggunakan `//path` untuk absolut dan `/path` untuk relatif proyek. Jalur filesystem sandbox menggunakan konvensi standar: `/tmp/build` adalah absolut.

178 178 

179Anda juga dapat menolak akses tulis atau baca menggunakan `sandbox.filesystem.denyWrite` dan `sandbox.filesystem.denyRead`, dan mengizinkan kembali jalur tertentu dalam wilayah yang ditolak menggunakan `sandbox.filesystem.allowRead`.179Anda juga dapat menolak akses tulis atau baca menggunakan `sandbox.filesystem.denyWrite` dan `sandbox.filesystem.denyRead`, dan mengizinkan kembali jalur tertentu dalam wilayah yang ditolak menggunakan `sandbox.filesystem.allowRead`. Ketika aturan baca tumpang tindih, jalur yang lebih spesifik menang:

180 

181| Aturan contoh | Hasil |

182| :-------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

183| `"denyRead": ["~/"]` dengan `"allowRead": ["~/projects"]` | `~/projects` dapat dibaca dan sisa direktori home tetap diblokir. Izin yang lebih sempit membuka kembali bagian itu dari wilayah yang ditolak |

184| `"allowRead": ["~/"]` dengan `"denyRead": ["~/.env"]` | `~/.env` tetap diblokir dan sisa direktori home dapat dibaca. Penolakan yang tepat berlaku di dalam izin yang lebih luas, jadi izin yang luas tidak dapat secara diam-diam membuka kembali rahasia |

180 185 

181Contoh di bawah memblokir pembacaan dari seluruh direktori home sambil tetap memungkinkan pembacaan dari proyek saat ini. Tempatkan di `.claude/settings.json` proyek Anda, karena jalur relatif `.` diselesaikan ke akar proyek hanya ketika konfigurasi berada dalam pengaturan proyek:186Contoh di bawah memblokir pembacaan dari seluruh direktori home sambil tetap memungkinkan pembacaan dari proyek saat ini. Tempatkan di `.claude/settings.json` proyek Anda, karena jalur relatif `.` diselesaikan ke akar proyek hanya ketika konfigurasi berada dalam pengaturan proyek:

182 187 


350`/sandbox` bukan [permission mode](/id/permission-modes). Mode izin memutuskan apakah panggilan alat berjalan dan apakah Anda diminta terlebih dahulu, sementara sandbox membatasi apa yang dapat diakses perintah Bash setelah berjalan. Mereka berbeda dalam apa yang mereka kontrol dan apa yang menggantikan prompt per-aksi:355`/sandbox` bukan [permission mode](/id/permission-modes). Mode izin memutuskan apakah panggilan alat berjalan dan apakah Anda diminta terlebih dahulu, sementara sandbox membatasi apa yang dapat diakses perintah Bash setelah berjalan. Mereka berbeda dalam apa yang mereka kontrol dan apa yang menggantikan prompt per-aksi:

351 356 

352| | Apa yang dikontrol | Apa yang menggantikan prompt |357| | Apa yang dikontrol | Apa yang menggantikan prompt |

353| :----------------------------------------------------------------- | :---------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |358| :----------------------------------------------------------------- | :---------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

354| `/sandbox` | Apa yang dapat diakses perintah Bash setelah berjalan | Batas sandbox itu sendiri, dalam [mode auto-allow](#sandbox-modes) |359| `/sandbox` | Apa yang dapat diakses perintah Bash setelah berjalan | Batas sandbox itu sendiri, dalam [mode auto-allow](#sandbox-modes) |

355| [Auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) | Apakah setiap panggilan alat berjalan | Classifier yang meninjau tindakan |360| [Auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode) | Apakah setiap panggilan alat berjalan | Classifier yang meninjau tindakan |

356| `--dangerously-skip-permissions` | Apakah setiap panggilan alat berjalan | Tidak ada. Pemeriksaan [Protected path](/id/permission-modes#protected-paths) juga dilewati; hanya menghapus `/` atau direktori home Anda masih prompt |361| `--dangerously-skip-permissions` | Apakah setiap panggilan alat berjalan | Tidak ada. Pemeriksaan [Protected path](/id/permission-modes#protected-paths) juga dilewati; hanya [ask rules](/id/permissions#manage-permissions) eksplisit, connector tools [yang diatur organisasi Anda ke `ask`](/id/mcp#organization-controls-on-connector-tools), MCP tools yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), dan menghapus `/` atau direktori home Anda masih meminta |

357 362 

358Mode [auto-allow](#sandbox-modes) sandbox terpisah dari [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode): auto-allow menyetujui perintah Bash karena batas sandbox memuatnya, sementara auto mode menggunakan classifier untuk meninjau tindakan. Keduanya bekerja secara independen dan dapat dikombinasikan. Untuk memilih batas isolasi untuk run tanpa pengawasan, lihat [Sandbox environments](/id/sandbox-environments#how-isolation-relates-to-permission-modes).363Mode [auto-allow](#sandbox-modes) sandbox terpisah dari [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode): auto-allow menyetujui perintah Bash karena batas sandbox memuatnya, sementara auto mode menggunakan classifier untuk meninjau tindakan. Keduanya bekerja secara independen dan dapat dikombinasikan. Untuk memilih batas isolasi untuk run tanpa pengawasan, lihat [Sandbox environments](/id/sandbox-environments#how-isolation-relates-to-permission-modes).

359 364 

Details

82Loop yang dijadwalkan secara dinamis muncul dalam [daftar tugas terjadwal](#manage-scheduled-tasks) Anda seperti tugas lainnya, jadi Anda dapat membuat daftar atau membatalkannya dengan cara yang sama. Aturan [jitter](#jitter) tidak berlaku untuk itu, tetapi [kedaluwarsa tujuh hari](#seven-day-expiry) berlaku: loop berakhir secara otomatis tujuh hari setelah Anda memulainya.82Loop yang dijadwalkan secara dinamis muncul dalam [daftar tugas terjadwal](#manage-scheduled-tasks) Anda seperti tugas lainnya, jadi Anda dapat membuat daftar atau membatalkannya dengan cara yang sama. Aturan [jitter](#jitter) tidak berlaku untuk itu, tetapi [kedaluwarsa tujuh hari](#seven-day-expiry) berlaku: loop berakhir secara otomatis tujuh hari setelah Anda memulainya.

83 83 

84<Note>84<Note>

85 Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, prompt tanpa interval berjalan pada jadwal tetap 10 menit sebagai gantinya.85 Di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, dan Microsoft Foundry, prompt tanpa interval berjalan pada jadwal tetap 10 menit sebagai gantinya.

86</Note>86</Note>

87 87 

88<h3 id="run-the-built-in-maintenance-prompt">88<h3 id="run-the-built-in-maintenance-prompt">


104Bare `/loop` menjalankan prompt ini pada [interval yang dipilih secara dinamis](#let-claude-choose-the-interval). Tambahkan interval, misalnya `/loop 15m`, untuk menjalankannya pada jadwal tetap sebagai gantinya. Untuk mengganti prompt bawaan dengan prompt default Anda sendiri, lihat [Customize the default prompt with loop.md](#customize-the-default-prompt-with-loop-md).104Bare `/loop` menjalankan prompt ini pada [interval yang dipilih secara dinamis](#let-claude-choose-the-interval). Tambahkan interval, misalnya `/loop 15m`, untuk menjalankannya pada jadwal tetap sebagai gantinya. Untuk mengganti prompt bawaan dengan prompt default Anda sendiri, lihat [Customize the default prompt with loop.md](#customize-the-default-prompt-with-loop-md).

105 105 

106<Note>106<Note>

107 Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, `/loop` tanpa prompt mencetak pesan penggunaan sebagai gantinya dari menjalankan prompt pemeliharaan.107 Di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, dan Microsoft Foundry, `/loop` tanpa prompt mencetak pesan penggunaan sebagai gantinya dari menjalankan prompt pemeliharaan.

108</Note>108</Note>

109 109 

110<h3 id="customize-the-default-prompt-with-loop-md">110<h3 id="customize-the-default-prompt-with-loop-md">


132Edit ke `loop.md` berlaku pada iterasi berikutnya, jadi Anda dapat menyempurnakan instruksi saat loop berjalan. Ketika tidak ada `loop.md` yang ada di lokasi mana pun, loop kembali ke prompt pemeliharaan bawaan. Jaga file tetap ringkas: konten di luar 25.000 byte dipotong.132Edit ke `loop.md` berlaku pada iterasi berikutnya, jadi Anda dapat menyempurnakan instruksi saat loop berjalan. Ketika tidak ada `loop.md` yang ada di lokasi mana pun, loop kembali ke prompt pemeliharaan bawaan. Jaga file tetap ringkas: konten di luar 25.000 byte dipotong.

133 133 

134<Note>134<Note>

135 Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, `loop.md` tidak dibaca dan `/loop` tanpa prompt mencetak pesan penggunaan sebagai gantinya.135 Di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, dan Microsoft Foundry, `loop.md` tidak dibaca dan `/loop` tanpa prompt mencetak pesan penggunaan sebagai gantinya.

136</Note>136</Note>

137 137 

138<h3 id="stop-a-loop">138<h3 id="stop-a-loop">

security.md +1 −1

Details

131 131 

132Untuk detail lebih lanjut tentang eksekusi cloud, lihat [Claude Code di web](/id/claude-code-on-the-web).132Untuk detail lebih lanjut tentang eksekusi cloud, lihat [Claude Code di web](/id/claude-code-on-the-web).

133 133 

134Sesi [Remote Control](/id/remote-control) bekerja berbeda: antarmuka web terhubung ke proses Claude Code yang berjalan di mesin lokal Anda. Semua eksekusi kode dan akses file tetap lokal, dan data yang sama yang mengalir selama sesi Claude Code lokal apa pun berjalan melalui Anthropic API melalui TLS. Tidak ada VM cloud atau sandboxing yang terlibat. Koneksi menggunakan beberapa kredensial berumur pendek dengan cakupan sempit, masing-masing dibatasi untuk tujuan tertentu dan kedaluwarsa secara independen, untuk membatasi radius ledakan dari kredensial tunggal yang dikompromikan.134Sesi [Remote Control](/id/remote-control) bekerja berbeda: antarmuka web terhubung ke proses Claude Code yang berjalan di mesin lokal Anda. Semua eksekusi kode dan akses file tetap lokal, dan lalu lintas sesi berjalan melalui Anthropic API melalui TLS; saat terhubung, transkrip sesi disimpan di server Anthropic untuk menyinkronkan percakapan di seluruh perangkat, seperti yang dijelaskan dalam [Connection and security](/id/remote-control#connection-and-security). Tidak ada VM cloud atau sandboxing yang terlibat. Koneksi menggunakan beberapa kredensial berumur pendek dengan cakupan sempit, masing-masing dibatasi untuk tujuan tertentu dan kedaluwarsa secara independen, untuk membatasi radius ledakan dari kredensial tunggal yang dikompromikan.

135 135 

136<h2 id="security-best-practices">136<h2 id="security-best-practices">

137 Praktik terbaik keamanan137 Praktik terbaik keamanan

Details

242Ketika pengaturan ini ada, pengguna melihat dialog keamanan yang menjelaskan apa yang sedang dikonfigurasi. Pengguna harus menyetujui untuk melanjutkan. Jika pengguna menolak pengaturan, Claude Code keluar.242Ketika pengaturan ini ada, pengguna melihat dialog keamanan yang menjelaskan apa yang sedang dikonfigurasi. Pengguna harus menyetujui untuk melanjutkan. Jika pengguna menolak pengaturan, Claude Code keluar.

243 243 

244<Note>244<Note>

245 Dalam mode non-interaktif dengan flag `-p`, Claude Code melewati dialog keamanan dan menerapkan pengaturan tanpa persetujuan pengguna.245 Jalankan non-interaktif, seperti `claude -p` atau sesi Agent SDK, tidak dapat menampilkan dialog. Ketika pengaturan yang dikirimkan memerlukan persetujuan, Claude Code menerapkannya hanya untuk jalankan itu: tidak merekamnya sebagai disetujui atau menulisnya ke [cache lokal](#fetch-and-caching-behavior), dan sesi interaktif berikutnya menampilkan dialog. Hingga pengguna menyetujui dalam sesi interaktif, setiap jalankan non-interaktif mengambil pengaturan lagi pada startup. Sebelum v2.1.207, jalankan non-interaktif menyimpan pengaturan sebagai disetujui, sehingga sesi interaktif kemudian tidak pernah menampilkan dialog untuk mereka.

246</Note>246</Note>

247 247 

248<h2 id="platform-availability">248<h2 id="platform-availability">


259* [Claude Platform on AWS](/id/claude-platform-on-aws)259* [Claude Platform on AWS](/id/claude-platform-on-aws)

260* Endpoint API kustom melalui `ANTHROPIC_BASE_URL` atau gateway [LLM pihak ketiga](/id/llm-gateway)260* Endpoint API kustom melalui `ANTHROPIC_BASE_URL` atau gateway [LLM pihak ketiga](/id/llm-gateway)

261 261 

262Jika Anda mengekspor variabel penyedia `CLAUDE_CODE_USE_*` atau `ANTHROPIC_BASE_URL` non-default di shell Anda, Claude Code melewati pengambilan pengaturan untuk sesi Anda. Anda tidak dapat menghapus ekspor dengan blok `env` yang dikelola server, karena blok tiba melalui pengambilan yang dicegah oleh ekspor. Blok `env` pengaturan yang dikelola endpoint juga tidak mengembalikan pengambilan: Claude Code memeriksa kelayakan sebelum menerapkan blok `env` yang dikelola, jadi penggantian mengubah pemilihan penyedia sesi tetapi pengambilan tetap dilewati.

263 

264Untuk mengembalikan pengiriman yang dikelola server, hapus ekspor dari shell Anda, atau atur variabel ke `""` di blok `env` pengaturan pengguna Anda, yang diterapkan sebelum pemeriksaan kelayakan. Untuk memberlakukan kebijakan tanpa mengandalkan pengguna untuk mengubah shell mereka, berikan pengaturan melalui saluran yang dikelola endpoint sebagai gantinya.

265 

262Untuk penyebaran Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry, gateway [aplikasi Claude](/id/claude-apps-gateway) yang di-host sendiri menyediakan pengiriman pengaturan yang dikelola jarak jauh yang setara: klien yang masuk ke gateway mengambil pengaturan yang dikelola dari gateway alih-alih `api.anthropic.com`. Semantik kegagalan berbeda saat startup: klien gateway yang tidak dapat menjangkau gateway keluar dengan kesalahan alih-alih kembali ke pengaturan yang di-cache, sementara penyegaran latar belakang per jam adalah fail-open di kedua saluran.266Untuk penyebaran Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry, gateway [aplikasi Claude](/id/claude-apps-gateway) yang di-host sendiri menyediakan pengiriman pengaturan yang dikelola jarak jauh yang setara: klien yang masuk ke gateway mengambil pengaturan yang dikelola dari gateway alih-alih `api.anthropic.com`. Semantik kegagalan berbeda saat startup: klien gateway yang tidak dapat menjangkau gateway keluar dengan kesalahan alih-alih kembali ke pengaturan yang di-cache, sementara penyegaran latar belakang per jam adalah fail-open di kedua saluran.

263 267 

264<h2 id="audit-logging">268<h2 id="audit-logging">

sessions.md +1 −1

Details

115 115 

116Perintah ini mengontrol apa yang ada di jendela konteks tanpa meninggalkan sesi:116Perintah ini mengontrol apa yang ada di jendela konteks tanpa meninggalkan sesi:

117 117 

118* **`/clear`**: mulai segar dengan konteks kosong. Percakapan sebelumnya disimpan dan dapat dilanjutkan118* **`/clear`**: mulai segar dengan konteks kosong. Percakapan sebelumnya disimpan dan dapat dilanjutkan dengan `/resume`, atau, dalam proses Claude Code yang sama, {/* min-version: 2.1.191 */}dari [entri sesi sebelumnya di menu rewind](/id/checkpointing#rewind-past-a-cleared-conversation)

119* **`/compact [instructions]`**: ganti riwayat dengan ringkasan, secara opsional berfokus pada apa yang Anda tentukan119* **`/compact [instructions]`**: ganti riwayat dengan ringkasan, secara opsional berfokus pada apa yang Anda tentukan

120* **`/context`**: tampilkan apa yang saat ini mengonsumsi konteks120* **`/context`**: tampilkan apa yang saat ini mengonsumsi konteks

121 121 

setup.md +6 −0

Details

206 206 

207Jalankan `claude doctor` untuk melihat hasil upaya pembaruan terbaru.207Jalankan `claude doctor` untuk melihat hasil upaya pembaruan terbaru.

208 208 

209Di 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. Sebelum v2.1.207, auto-updater mengganti launcher kustom di jalur itu dengan symlink miliknya sendiri pada setiap pembaruan.

210 

211Dengan launcher kustom, Claude Code juga menyimpan setiap versi yang diinstal di disk karena tidak dapat menentukan versi mana yang dibutuhkan launcher. `claude doctor` melaporkan launcher yang tidak dibuat oleh installer asli.

212 

213Untuk membiarkan Claude Code mengelola launcher lagi, hapus `~/.local/bin/claude` dan jalankan `claude update`.

214 

209Jika instalasi npm global tidak dapat auto-update karena direktori global npm tidak dapat ditulis, Claude Code menampilkan pemberitahuan satu kali saat startup, dan `claude doctor` mencantumkan perbaikan yang tersedia. Lihat [permission errors during installation](/id/troubleshoot-install#permission-errors-during-installation) untuk detail.215Jika instalasi npm global tidak dapat auto-update karena direktori global npm tidak dapat ditulis, Claude Code menampilkan pemberitahuan satu kali saat startup, dan `claude doctor` mencantumkan perbaikan yang tersedia. Lihat [permission errors during installation](/id/troubleshoot-install#permission-errors-during-installation) untuk detail.

210 216 

211<Note>217<Note>

skills.md +1 −1

Details

359 359 

360* **`user-invocable: false`**: Hanya Claude yang dapat menginvokasinya skill. Gunakan ini untuk pengetahuan latar belakang yang tidak dapat ditindaklanjuti sebagai perintah. Skill `legacy-system-context` menjelaskan bagaimana sistem lama bekerja. Claude harus tahu ini saat relevan, tetapi `/legacy-system-context` bukan tindakan yang bermakna bagi pengguna untuk diambil.360* **`user-invocable: false`**: Hanya Claude yang dapat menginvokasinya skill. Gunakan ini untuk pengetahuan latar belakang yang tidak dapat ditindaklanjuti sebagai perintah. Skill `legacy-system-context` menjelaskan bagaimana sistem lama bekerja. Claude harus tahu ini saat relevan, tetapi `/legacy-system-context` bukan tindakan yang bermakna bagi pengguna untuk diambil.

361 361 

362Contoh ini membuat skill deploy yang hanya dapat Anda picu. Bidang `disable-model-invocation: true` mencegah Claude menjalankannya secara otomatis:362Contoh ini membuat skill deploy yang hanya dapat Anda picu. Jika Anda menetapkan `disable-model-invocation: true`, Claude tidak dapat menjalankan skill secara otomatis:

363 363 

364```yaml theme={null}364```yaml theme={null}

365---365---

slack.md +1 −1

Details

7> Delegasikan tugas coding langsung dari workspace Slack Anda7> Delegasikan tugas coding langsung dari workspace Slack Anda

8 8 

9<Note>9<Note>

10 Claude Code di Slack sedang diganti oleh [Claude Tag](https://claude.com/docs/claude-tag/overview) untuk workspace Team dan Enterprise. Claude Tag menjalankan @Claude sebagai identitas bersama organisasi Anda dengan akses yang dikonfigurasi admin, di bawah aplikasi Slack yang sama, sehingga tidak ada yang perlu dipasang ulang dan pengaturan yang ada terus berfungsi selama transisi. Untuk beralih ke workspace, lihat [Migrasi dari Claude di Slack yang lebih awal](https://claude.com/docs/claude-tag/admins/migrate-from-earlier).10 Claude Code di Slack sedang diganti oleh [Claude Tag](https://claude.com/product/tag) untuk workspace Team dan Enterprise. Claude Tag menjalankan @Claude sebagai identitas bersama organisasi Anda dengan akses yang dikonfigurasi admin, di bawah aplikasi Slack yang sama, sehingga tidak ada yang perlu dipasang ulang dan pengaturan yang ada terus berfungsi selama transisi. Untuk beralih ke workspace, lihat [Migrasi dari Claude di Slack yang lebih awal](https://claude.com/docs/claude-tag/admins/migrate-from-earlier).

11</Note>11</Note>

12 12 

13Claude Code di Slack membawa kekuatan Claude Code langsung ke workspace Slack Anda. Ketika Anda menyebutkan `@Claude` dengan tugas coding, Claude secara otomatis mendeteksi niat dan membuat sesi Claude Code di web, memungkinkan Anda untuk mendelegasikan pekerjaan pengembangan tanpa meninggalkan percakapan tim Anda.13Claude Code di Slack membawa kekuatan Claude Code langsung ke workspace Slack Anda. Ketika Anda menyebutkan `@Claude` dengan tugas coding, Claude secara otomatis mendeteksi niat dan membuat sesi Claude Code di web, memungkinkan Anda untuk mendelegasikan pekerjaan pengembangan tanpa meninggalkan percakapan tim Anda.

sub-agents.md +11 −4

Details

284| :---------------- | :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |284| :---------------- | :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

285| `name` | Ya | Pengenal unik menggunakan huruf kecil dan tanda hubung. [Hooks](/id/hooks#subagentstart) menerima nilai ini sebagai `agent_type`. Nama file tidak harus cocok |285| `name` | Ya | Pengenal unik menggunakan huruf kecil dan tanda hubung. [Hooks](/id/hooks#subagentstart) menerima nilai ini sebagai `agent_type`. Nama file tidak harus cocok |

286| `description` | Ya | Kapan Claude harus mendelegasikan ke subagent ini |286| `description` | Ya | Kapan Claude harus mendelegasikan ke subagent ini |

287| `tools` | Tidak | [Alat](#available-tools) yang dapat digunakan subagent. Mewarisi semua alat jika dihilangkan. Untuk memuat Skills ke dalam konteks, gunakan bidang `skills` daripada mencantumkan `Skill` di sini |287| `tools` | Tidak | [Alat](#available-tools) yang dapat digunakan subagent. Mewarisi semua alat jika dihilangkan. Jika tidak ada entri dalam daftar yang diselesaikan ke alat, subagent gagal diluncurkan dengan kesalahan yang menyebutkan entri. Untuk memuat Skills ke dalam konteks, gunakan bidang `skills` daripada mencantumkan `Skill` di sini |

288| `disallowedTools` | Tidak | Alat untuk ditolak, dihapus dari daftar yang diwarisi atau ditentukan |288| `disallowedTools` | Tidak | Alat untuk ditolak, dihapus dari daftar yang diwarisi atau ditentukan |

289| `model` | Tidak | [Model](#choose-a-model) untuk digunakan: `sonnet`, `opus`, `haiku`, `fable`, ID model lengkap (misalnya, `claude-opus-4-8`), atau `inherit`. Default ke `inherit` |289| `model` | Tidak | [Model](#choose-a-model) untuk digunakan: `sonnet`, `opus`, `haiku`, `fable`, ID model lengkap (misalnya, `claude-opus-4-8`), atau `inherit`. Default ke `inherit` |

290| `permissionMode` | Tidak | [Mode izin](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, atau {/* min-version: 2.1.200 */}`manual` sebagai alias untuk `default`. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |290| `permissionMode` | Tidak | [Mode izin](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, atau {/* min-version: 2.1.200 */}`manual` sebagai alias untuk `default`. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |


363 363 

364Jika keduanya diatur, `disallowedTools` diterapkan terlebih dahulu, kemudian `tools` diselesaikan terhadap kumpulan yang tersisa. Alat yang tercantum di keduanya dihapus.364Jika keduanya diatur, `disallowedTools` diterapkan terlebih dahulu, kemudian `tools` diselesaikan terhadap kumpulan yang tersisa. Alat yang tercantum di keduanya dihapus.

365 365 

366Ketika tidak ada dalam daftar `tools` yang diselesaikan ke alat, misalnya karena setiap entri salah eja atau menyebutkan alat yang tidak tersedia untuk subagent, Claude Code menolak untuk meluncurkan subagent dan alat Agent mengembalikan kesalahan yang menyebutkan entri yang tidak diselesaikan. {/* min-version: 2.1.208 */}Sebelum v2.1.208, subagent itu diluncurkan tanpa alat dan dapat mengembalikan hasil yang kosong atau membingungkan.

367 

366Kedua bidang menerima pola tingkat server MCP selain nama alat yang tepat: `mcp__<server>` atau `mcp__<server>__*` memberikan atau menghapus setiap alat dari server bernama. Dalam `disallowedTools`, `mcp__*` juga menghapus setiap alat MCP dari server apa pun. Contoh ini menghapus setiap alat dari server MCP `github` sambil menyimpan alat dari server lain dan setiap alat bawaan:368Kedua bidang menerima pola tingkat server MCP selain nama alat yang tepat: `mcp__<server>` atau `mcp__<server>__*` memberikan atau menghapus setiap alat dari server bernama. Dalam `disallowedTools`, `mcp__*` juga menghapus setiap alat MCP dari server apa pun. Contoh ini menghapus setiap alat dari server MCP `github` sambil menyimpan alat dari server lain dan setiap alat bawaan:

367 369 

368```yaml theme={null}370```yaml theme={null}


456Bidang `permissionMode` mengontrol bagaimana subagent menangani prompt izin. Subagent mewarisi konteks izin dari percakapan utama dan dapat menimpa mode, kecuali ketika mode induk mengambil alih seperti yang dijelaskan di bawah.458Bidang `permissionMode` mengontrol bagaimana subagent menangani prompt izin. Subagent mewarisi konteks izin dari percakapan utama dan dapat menimpa mode, kecuali ketika mode induk mengambil alih seperti yang dijelaskan di bawah.

457 459 

458| Mode | Perilaku |460| Mode | Perilaku |

459| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |461| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

460| `default` | Pemeriksaan izin standar dengan prompt |462| `default` | Pemeriksaan izin standar dengan prompt |

461| `acceptEdits` | Auto-terima edit file dan perintah sistem file umum untuk jalur di direktori kerja atau `additionalDirectories` |463| `acceptEdits` | Auto-terima edit file dan perintah sistem file umum untuk jalur di direktori kerja atau `additionalDirectories` |

462| `auto` | [Auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode): pengklasifikasi latar belakang meninjau perintah dan penulisan direktori yang dilindungi |464| `auto` | [Auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode): pengklasifikasi latar belakang meninjau perintah dan penulisan direktori yang dilindungi |

463| `dontAsk` | Auto-tolak prompt izin (alat yang secara eksplisit diizinkan masih berfungsi) |465| `dontAsk` | Auto-tolak prompt izin. Alat yang secara eksplisit diizinkan masih berfungsi; `AskUserQuestion`, alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), dan alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan jika Anda telah mengizinkannya |

464| `bypassPermissions` | Lewati prompt izin |466| `bypassPermissions` | Lewati prompt izin |

465| `plan` | Plan mode (eksplorasi hanya-baca) |467| `plan` | Plan mode (eksplorasi hanya-baca) |

466 468 

467<Warning>469<Warning>

468 Gunakan `bypassPermissions` dengan hati-hati. Ini melewati prompt izin, memungkinkan subagent untuk menjalankan operasi tanpa persetujuan, termasuk penulisan ke `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn`, dan `.mvn`. Aturan [`ask` eksplisit](/id/permissions#manage-permissions) dan penghapusan direktori root dan home seperti `rm -rf /` masih meminta. Lihat [permission modes](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) untuk detail.470 Gunakan `bypassPermissions` dengan hati-hati. Ini melewati prompt izin, memungkinkan subagent untuk menjalankan operasi tanpa persetujuan, termasuk penulisan ke `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn`, dan `.mvn`.

471 

472 Aturan [`ask` eksplisit](/id/permissions#manage-permissions), alat konektor [organisasi Anda atur ke `ask`](/id/mcp#organization-controls-on-connector-tools), alat MCP yang ditandai [`requiresUserInteraction`](/id/mcp#require-approval-for-a-specific-tool), dan penghapusan direktori root dan home seperti `rm -rf /` masih meminta. Lihat [permission modes](/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) untuk detail.

469</Warning>473</Warning>

470 474 

471Jika induk menggunakan `bypassPermissions` atau `acceptEdits`, ini mengambil alih dan tidak dapat ditimpa. Jika induk menggunakan [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode), subagent mewarisi auto mode dan `permissionMode` apa pun dalam frontmatternya diabaikan: pengklasifikasi mengevaluasi panggilan alat subagent dengan aturan blok dan izin yang sama dengan sesi induk.475Jika induk menggunakan `bypassPermissions` atau `acceptEdits`, ini mengambil alih dan tidak dapat ditimpa. Jika induk menggunakan [auto mode](/id/permission-modes#eliminate-prompts-with-auto-mode), subagent mewarisi auto mode dan `permissionMode` apa pun dalam frontmatternya diabaikan: pengklasifikasi mengevaluasi panggilan alat subagent dengan aturan blok dan izin yang sama dengan sesi induk.


786* Minta Claude untuk menjalankan tugas di background atau di foreground790* Minta Claude untuk menjalankan tugas di background atau di foreground

787* Tekan **Ctrl+B** untuk menempatkan tugas yang sedang berjalan di background791* Tekan **Ctrl+B** untuk menempatkan tugas yang sedang berjalan di background

788 792 

793{/* min-version: 2.1.208 */}Subagent background yang selesai tetap terdaftar dalam [`/tasks`](/id/commands), ditandai selesai dan diurutkan di bawah pekerjaan yang sedang berjalan, sampai sesi membersihkan daftar tugasnya. Tampilan detailnya tetap terbuka ketika subagent selesai. Subagent yang gagal atau yang Anda hentikan meninggalkan daftar. Sebelum v2.1.208, subagent yang selesai meninggalkan daftar saat itu selesai dan tampilan detailnya ditutup.

794 

789Untuk menonaktifkan semua fungsionalitas background task, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Environment variables](/id/env-vars).795Untuk menonaktifkan semua fungsionalitas background task, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Environment variables](/id/env-vars).

790 796 

791Ketika [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) diatur ke `1`, setiap spawn subagent berjalan di background dan bidang frontmatter `background` tidak berpengaruh, karena fork mode menghapus parameter `run_in_background` dari alat `Agent`. `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` mengambil alih fork mode dan menjaga spawn subagent di foreground.797Ketika [`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation) diatur ke `1`, setiap spawn subagent berjalan di background dan bidang frontmatter `background` tidak berpengaruh, karena fork mode menghapus parameter `run_in_background` dari alat `Agent`. `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` mengambil alih fork mode dan menjaga spawn subagent di foreground.


899* **CLAUDE.md dan memori**: setiap level dari hierarki memori yang dimuat percakapan utama, termasuk `~/.claude/CLAUDE.md`, aturan proyek, `CLAUDE.local.md`, dan file kebijakan yang dikelola. Agen Explore dan Plan bawaan melewati ini.905* **CLAUDE.md dan memori**: setiap level dari hierarki memori yang dimuat percakapan utama, termasuk `~/.claude/CLAUDE.md`, aturan proyek, `CLAUDE.local.md`, dan file kebijakan yang dikelola. Agen Explore dan Plan bawaan melewati ini.

900* **Status Git**: snapshot yang diambil di awal sesi induk. Tidak ada ketika direktori kerja bukan repositori Git atau ketika `includeGitInstructions` adalah `false`. Explore dan Plan melewatinya terlepas.906* **Status Git**: snapshot yang diambil di awal sesi induk. Tidak ada ketika direktori kerja bukan repositori Git atau ketika `includeGitInstructions` adalah `false`. Explore dan Plan melewatinya terlepas.

901* **Skills yang dimuat sebelumnya**: konten lengkap dari skill apa pun yang dinamai dalam bidang `skills` agen. Agen bawaan tidak memuat skills sebelumnya.907* **Skills yang dimuat sebelumnya**: konten lengkap dari skill apa pun yang dinamai dalam bidang `skills` agen. Agen bawaan tidak memuat skills sebelumnya.

908* **Daftar saudara**: pengingat sistem yang mencantumkan `main` dan setiap agen bernama lainnya dalam sesi, masing-masing nilai `to` yang valid untuk [`SendMessage`](#resume-subagents). {/* min-version: 2.1.206 */}Memerlukan Claude Code v2.1.206 atau lebih baru. Daftar muncul hanya ketika alat subagent mencakup `SendMessage` dan setidaknya satu agen lain memiliki nama, baik Claude menamakannya saat memunculkannya atau berjalan sebagai anggota [tim agen](/id/agent-teams). Ini adalah snapshot yang diambil ketika subagent dimulai, jadi agen yang dinamai nanti tidak muncul.

902 909 

903Explore dan Plan adalah satu-satunya subagent yang menghilangkan CLAUDE.md dan status git. Tidak ada bidang frontmatter atau pengaturan per-agen untuk mengubah agen mana yang melewatinya.910Explore dan Plan adalah satu-satunya subagent yang menghilangkan CLAUDE.md dan status git. Tidak ada bidang frontmatter atau pengaturan per-agen untuk mengubah agen mana yang melewatinya.

904 911 

Details

296 296 

297Jika tampilan berkedip atau posisi scroll melompat saat Claude sedang bekerja, beralih ke [mode rendering fullscreen](/id/fullscreen). Ini menggambar ke layar terpisah yang terminal cadangkan untuk aplikasi full-screen alih-alih menambahkan ke scrollback normal Anda, yang menjaga penggunaan memori tetap datar dan menambahkan dukungan mouse untuk scrolling dan seleksi. Dalam mode ini Anda scroll dengan mouse atau PageUp di dalam Claude Code daripada dengan scrollback native terminal Anda; lihat [halaman fullscreen](/id/fullscreen#search-and-review-the-conversation) untuk cara mencari dan menyalin.297Jika tampilan berkedip atau posisi scroll melompat saat Claude sedang bekerja, beralih ke [mode rendering fullscreen](/id/fullscreen). Ini menggambar ke layar terpisah yang terminal cadangkan untuk aplikasi full-screen alih-alih menambahkan ke scrollback normal Anda, yang menjaga penggunaan memori tetap datar dan menambahkan dukungan mouse untuk scrolling dan seleksi. Dalam mode ini Anda scroll dengan mouse atau PageUp di dalam Claude Code daripada dengan scrollback native terminal Anda; lihat [halaman fullscreen](/id/fullscreen#search-and-review-the-conversation) untuk cara mencari dan menyalin.

298 298 

299Jika kedipan adalah satu-satunya masalah dan terminal Anda mendukung synchronized output tetapi tidak terdeteksi otomatis, seperti Emacs `eat`, atur [`CLAUDE_CODE_FORCE_SYNC_OUTPUT=1`](/id/env-vars) untuk menghentikan kedipan tanpa mengubah renderer.

300 

299Jalankan `/tui fullscreen` untuk beralih dan simpan preferensi. Percakapan Anda diluncurkan kembali utuh dan sesi mendatang dimulai dalam fullscreen. Anda juga dapat mengatur variabel lingkungan `CLAUDE_CODE_NO_FLICKER` sebelum memulai Claude Code:301Jalankan `/tui fullscreen` untuk beralih dan simpan preferensi. Percakapan Anda diluncurkan kembali utuh dan sesi mendatang dimulai dalam fullscreen. Anda juga dapat mengatur variabel lingkungan `CLAUDE_CODE_NO_FLICKER` sebelum memulai Claude Code:

300 302 

301<CodeGroup>303<CodeGroup>


330 332 

331Claude Code mencakup mode pengeditan gaya Vim untuk input prompt. Aktifkan melalui `/config` → Editor mode, atau dengan mengatur [`editorMode`](/id/settings#available-settings) ke `"vim"` di `~/.claude/settings.json`. Atur Editor mode kembali ke `normal` untuk mematikannya.333Claude Code mencakup mode pengeditan gaya Vim untuk input prompt. Aktifkan melalui `/config` → Editor mode, atau dengan mengatur [`editorMode`](/id/settings#available-settings) ke `"vim"` di `~/.claude/settings.json`. Atur Editor mode kembali ke `normal` untuk mematikannya.

332 334 

333Mode Vim mendukung subset gerakan dan operator mode NORMAL dan VISUAL, seperti navigasi `hjkl`, seleksi `v`/`V`, dan `d`/`c`/`y` dengan objek teks. Lihat [referensi mode editor Vim](/id/interactive-mode#vim-editor-mode) untuk tabel kunci lengkap. Gerakan Vim tidak dapat dipetakan ulang melalui file pintasan keyboard.335Mode Vim mendukung subset gerakan dan operator mode NORMAL dan VISUAL, seperti navigasi `hjkl`, seleksi `v`/`V`, dan `d`/`c`/`y` dengan objek teks. Lihat [referensi mode editor Vim](/id/interactive-mode#vim-editor-mode) untuk tabel kunci lengkap.

336 

337Gerakan Vim tidak dapat dipetakan ulang melalui file pintasan keyboard. Untuk memetakan urutan mode INSERT dua kunci seperti `jj` ke Escape, atur [`vimInsertModeRemaps`](/id/interactive-mode#remap-insert-mode-key-sequences) dalam pengaturan pengguna Anda.

334 338 

335Menekan Enter masih mengirimkan prompt Anda dalam mode INSERT, tidak seperti Vim standar. Gunakan `o` atau `O` dalam mode NORMAL, atau Ctrl+J, untuk menyisipkan baris baru sebagai gantinya.339Menekan Enter masih mengirimkan prompt Anda dalam mode INSERT, tidak seperti Vim standar. Gunakan `o` atau `O` dalam mode NORMAL, atau Ctrl+J, untuk menyisipkan baris baru sebagai gantinya.

336 340 

Details

202* [Google Cloud's Agent Platform](/id/google-vertex-ai)202* [Google Cloud's Agent Platform](/id/google-vertex-ai)

203* [Microsoft Foundry](/id/microsoft-foundry)203* [Microsoft Foundry](/id/microsoft-foundry)

204 204 

205Untuk Amazon Bedrock dan Google Vertex AI, Anda juga dapat menjalankan `claude` dan memilih **3rd-party platform** di prompt login untuk meluncurkan wizard setup interaktif.

206 

205<h2 id="configure-proxies-and-gateways">207<h2 id="configure-proxies-and-gateways">

206 Konfigurasi proxy dan gateway208 Konfigurasi proxy dan gateway

207</h2>209</h2>


209Sebagian besar organisasi dapat menggunakan penyedia cloud secara langsung tanpa konfigurasi tambahan. Namun, Anda mungkin perlu mengonfigurasi proxy perusahaan atau gateway LLM jika organisasi Anda memiliki persyaratan jaringan atau manajemen khusus. Ini adalah konfigurasi berbeda yang dapat digunakan bersama:211Sebagian besar organisasi dapat menggunakan penyedia cloud secara langsung tanpa konfigurasi tambahan. Namun, Anda mungkin perlu mengonfigurasi proxy perusahaan atau gateway LLM jika organisasi Anda memiliki persyaratan jaringan atau manajemen khusus. Ini adalah konfigurasi berbeda yang dapat digunakan bersama:

210 212 

211* **Corporate proxy**: Merutekan lalu lintas melalui proxy HTTP/HTTPS. Gunakan ini jika organisasi Anda memerlukan semua lalu lintas keluar untuk melewati server proxy untuk pemantauan keamanan, kepatuhan, atau penegakan kebijakan jaringan. Konfigurasi dengan variabel lingkungan `HTTPS_PROXY` atau `HTTP_PROXY`. Pelajari lebih lanjut di [Konfigurasi jaringan enterprise](/id/network-config).213* **Corporate proxy**: Merutekan lalu lintas melalui proxy HTTP/HTTPS. Gunakan ini jika organisasi Anda memerlukan semua lalu lintas keluar untuk melewati server proxy untuk pemantauan keamanan, kepatuhan, atau penegakan kebijakan jaringan. Konfigurasi dengan variabel lingkungan `HTTPS_PROXY` atau `HTTP_PROXY`. Pelajari lebih lanjut di [Konfigurasi jaringan enterprise](/id/network-config).

212* **LLM Gateway**: Layanan yang berada di antara Claude Code dan penyedia cloud untuk menangani autentikasi dan perutean. Gunakan ini jika Anda memerlukan pelacakan penggunaan terpusat di seluruh tim, pembatasan laju kustom atau anggaran, atau manajemen autentikasi terpusat. Konfigurasi dengan variabel lingkungan `ANTHROPIC_BASE_URL`, `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_AWS_BASE_URL`, atau `ANTHROPIC_VERTEX_BASE_URL`. Pelajari lebih lanjut di [Gateway LLM](/id/llm-gateway).214* **LLM Gateway**: Layanan yang berada di antara Claude Code dan penyedia cloud untuk menangani autentikasi dan perutean. Gunakan ini jika Anda memerlukan pelacakan penggunaan terpusat di seluruh tim, pembatasan laju kustom atau anggaran, atau manajemen autentikasi terpusat. Konfigurasi dengan variabel lingkungan `ANTHROPIC_BASE_URL`, `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_AWS_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, atau `ANTHROPIC_FOUNDRY_BASE_URL`. Pelajari lebih lanjut di [Gateway LLM](/id/llm-gateway).

213 215 

214Contoh berikut menunjukkan variabel lingkungan yang harus diatur di shell atau profil shell Anda (`.bashrc`, `.zshrc`). Lihat [Pengaturan](/id/settings) untuk metode konfigurasi lainnya.216Contoh berikut menunjukkan variabel lingkungan yang harus diatur di shell atau profil shell Anda (`.bashrc`, `.zshrc`). Lihat [Pengaturan](/id/settings) untuk metode konfigurasi lainnya.

215 217 


314</Tabs>316</Tabs>

315 317 

316<Tip>318<Tip>

317 Gunakan `/status` di Claude Code untuk memverifikasi bahwa konfigurasi proxy dan gateway Anda diterapkan dengan benar.319 Gunakan `/status` di Claude Code untuk memverifikasi bahwa konfigurasi proxy dan gateway Anda diterapkan dengan benar. Misalnya, dengan konfigurasi gateway Bedrock di atas, output mencakup baris seperti:

320 

321 ```

322 API provider: Amazon Bedrock

323 Bedrock base URL: https://your-llm-gateway.com/bedrock

324 AWS region: us-east-1

325 AWS auth skipped

326 ```

327 

328 Jika Anda mengonfigurasi proxy perusahaan, `/status` juga menampilkan baris `Proxy` dengan URL proxy Anda.

318</Tip>329</Tip>

319 330 

320<h2 id="best-practices-for-organizations">331<h2 id="best-practices-for-organizations">


327 338 

328Kami sangat merekomendasikan investasi dalam dokumentasi sehingga Claude Code memahami basis kode Anda. Organisasi dapat menyebarkan file CLAUDE.md di berbagai tingkat:339Kami sangat merekomendasikan investasi dalam dokumentasi sehingga Claude Code memahami basis kode Anda. Organisasi dapat menyebarkan file CLAUDE.md di berbagai tingkat:

329 340 

330* **Seluruh organisasi**: Sebarkan ke direktori sistem seperti `/Library/Application Support/ClaudeCode/CLAUDE.md` (macOS) untuk standar perusahaan341* **Seluruh organisasi**: Sebarkan ke direktori sistem seperti `/Library/Application Support/ClaudeCode/CLAUDE.md` (macOS), `/etc/claude-code/CLAUDE.md` (Linux dan WSL), atau `C:\Program Files\ClaudeCode\CLAUDE.md` (Windows) untuk standar perusahaan

331* **Tingkat repositori**: Buat file `CLAUDE.md` di akar repositori yang berisi arsitektur proyek, perintah build, dan panduan kontribusi. Periksa ini ke dalam kontrol sumber sehingga semua pengguna mendapat manfaat342* **Tingkat repositori**: Buat file `CLAUDE.md` di akar repositori yang berisi arsitektur proyek, perintah build, dan panduan kontribusi. Periksa ini ke dalam kontrol sumber sehingga semua pengguna mendapat manfaat

332 343 

333Pelajari lebih lanjut di [Memori dan file CLAUDE.md](/id/memory).344Pelajari lebih lanjut di [Memori dan file CLAUDE.md](/id/memory).

Details

15| Tool | Deskripsi | Izin Diperlukan |15| Tool | Deskripsi | Izin Diperlukan |

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

17| `Agent` | Menjalankan [subagent](/id/sub-agents) dengan jendela konteks sendiri untuk menangani tugas. Lihat [perilaku Agent tool](#agent-tool-behavior) | Tidak |17| `Agent` | Menjalankan [subagent](/id/sub-agents) dengan jendela konteks sendiri untuk menangani tugas. Lihat [perilaku Agent tool](#agent-tool-behavior) | Tidak |

18| `Artifact` | Menerbitkan file HTML atau Markdown sebagai [artifact](/id/artifacts): halaman interaktif pribadi di claude.ai. Pada paket Team dan Enterprise, Anda dapat membagikannya di dalam organisasi Anda. {/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}Memerlukan paket Pro, Max, Team, atau Enterprise dan autentikasi `/login`; lihat [Ketersediaan](/id/artifacts#availability) | Ya |18| `Artifact` | Menerbitkan file HTML atau Markdown sebagai [artifact](/id/artifacts): halaman interaktif pribadi di claude.ai. Anda dapat membagikannya dengan tautan publik, atau di dalam organisasi Anda pada paket Team dan Enterprise, di mana berbagi publik memerlukan Owner untuk [mengaktifkannya](/id/artifacts#control-public-sharing). {/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}Memerlukan paket Pro, Max, Team, atau Enterprise dan autentikasi `/login`; lihat [Ketersediaan](/id/artifacts#availability) | Ya |

19| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau memperjelas ambiguitas. {/* min-version: 2.1.200 */}Pertanyaan tetap terbuka sampai Anda menjawabnya: tidak ada timeout idle secara default. Untuk membuat dialog idle auto-continue, atur pengaturan [`askUserQuestionTimeout`](/id/settings#available-settings) ke `60s`, `5m`, atau `10m`, baik dalam `settings.json` pengguna Anda atau dari baris **Question auto-continue timeout** di `/config`. Setelah waktu idle yang dipilih berlalu tanpa input, dialog menutup dengan sendirinya: dialog mengirimkan opsi apa pun yang sudah Anda pilih dan memberitahu Claude bahwa Anda mungkin jauh dari keyboard, sehingga Claude melanjutkan dengan penilaian sendiri dan dapat menanyakan kembali nanti. Hitungan mundur muncul selama 20 detik terakhir. Setiap penekanan tombol memulai ulang timer, begitu juga dengan jendela yang terfokus pada terminal yang melaporkan fokus. Timeout hanya berlaku untuk pertanyaan pilihan ganda `AskUserQuestion`; prompt izin, termasuk persetujuan paket, tidak pernah auto-resolve saat idle. Dalam v2.1.198 dan v2.1.199, dialog auto-continued setelah 60 detik idle secara default, dan [`CLAUDE_AFK_TIMEOUT_MS`](/id/env-vars#variables) adalah satu-satunya cara untuk mengubah itu | Tidak |19| `AskUserQuestion` | Mengajukan pertanyaan pilihan ganda untuk mengumpulkan persyaratan atau memperjelas ambiguitas. {/* min-version: 2.1.200 */}Pertanyaan tetap terbuka sampai Anda menjawabnya: tidak ada timeout idle secara default. Untuk membuat dialog idle auto-continue, atur pengaturan [`askUserQuestionTimeout`](/id/settings#available-settings) ke `60s`, `5m`, atau `10m`, baik dalam `settings.json` pengguna Anda atau dari baris **Question auto-continue timeout** di `/config`. Setelah waktu idle yang dipilih berlalu tanpa input, dialog menutup dengan sendirinya: dialog mengirimkan opsi apa pun yang sudah Anda pilih dan memberitahu Claude bahwa Anda mungkin jauh dari keyboard, sehingga Claude melanjutkan dengan penilaian sendiri dan dapat menanyakan kembali nanti. Hitungan mundur muncul selama 20 detik terakhir. Setiap penekanan tombol memulai ulang timer, begitu juga dengan jendela yang terfokus pada terminal yang melaporkan fokus. Timeout hanya berlaku untuk pertanyaan pilihan ganda `AskUserQuestion`; prompt izin, termasuk persetujuan paket, tidak pernah auto-resolve saat idle. Dalam v2.1.198 dan v2.1.199, dialog auto-continued setelah 60 detik idle secara default, dan [`CLAUDE_AFK_TIMEOUT_MS`](/id/env-vars#variables) adalah satu-satunya cara untuk mengubah itu | Tidak |

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

21| `CronCreate` | Menjadwalkan prompt berulang atau satu kali dalam sesi saat ini. Tugas bersifat session-scoped dan dipulihkan pada `--resume` atau `--continue` jika belum kadaluarsa. Lihat [tugas terjadwal](/id/scheduled-tasks) | Tidak |21| `CronCreate` | Menjadwalkan prompt berulang atau satu kali dalam sesi saat ini. Tugas bersifat session-scoped dan dipulihkan pada `--resume` atau `--continue` jika belum kadaluarsa. Lihat [tugas terjadwal](/id/scheduled-tasks) | Tidak |


23| `CronList` | Mencantumkan semua tugas terjadwal dalam sesi | Tidak |23| `CronList` | Mencantumkan semua tugas terjadwal dalam sesi | Tidak |

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

25| `EnterPlanMode` | Beralih ke plan mode untuk merancang pendekatan sebelum coding | Tidak |25| `EnterPlanMode` | Beralih ke plan mode untuk merancang pendekatan sebelum coding | Tidak |

26| `EnterWorktree` | Membuat [git worktree](/id/worktrees) terisolasi dan beralih ke dalamnya. Lewatkan `path` untuk beralih ke worktree yang ada daripada membuat yang baru. {/* min-version: 2.1.203 */}Pada entri pertama target mungkin merupakan worktree dari repositori saat ini atau, dalam workspace multi-repo, dari repositori yang bersarang di dalamnya. Sebelum v2.1.203, worktree repositori bersarang ditolak. Dari dalam sesi worktree, atau dari subagent dengan direktori kerja yang disematkan seperti [`isolation: worktree`](/id/sub-agents#supported-frontmatter-fields), hanya bentuk `path` yang tersedia dan target harus berada di bawah `.claude/worktrees/` dari repositori sesi | Tidak |26| `EnterWorktree` | Membuat [git worktree](/id/worktrees) terisolasi dan beralih ke dalamnya. Lewatkan `path` untuk beralih ke worktree yang ada daripada membuat yang baru. {/* min-version: 2.1.203 */}Pada entri pertama target mungkin merupakan worktree dari repositori saat ini atau, dalam workspace multi-repo, dari repositori yang bersarang di dalamnya. Sebelum v2.1.203, worktree repositori bersarang ditolak. {/* min-version: 2.1.206 */}Sebuah `path` di luar `.claude/worktrees/` meminta persetujuan Anda sebelum memasuki, karena memindahkan direktori kerja sesi dan akses tulis ke lokasi itu. Pembuatan worktree baru dan path di bawah `.claude/worktrees/` tidak meminta. Sebelum v2.1.206, Claude memasuki path di luar `.claude/worktrees/` tanpa prompt. Dari dalam sesi worktree, atau dari subagent dengan direktori kerja yang disematkan seperti [`isolation: worktree`](/id/sub-agents#supported-frontmatter-fields), hanya bentuk `path` yang tersedia dan target harus berada di bawah `.claude/worktrees/` dari repositori sesi | Ya |

27| `ExitPlanMode` | Menyajikan rencana untuk persetujuan dan keluar dari plan mode | Ya |27| `ExitPlanMode` | Menyajikan rencana untuk persetujuan dan keluar dari plan mode | Ya |

28| `ExitWorktree` | Keluar dari sesi worktree dan kembali ke direktori asli. Tidak tersedia untuk subagent yang sudah berjalan di direktori kerja mereka sendiri, seperti dengan [`isolation: worktree`](/id/sub-agents#supported-frontmatter-fields) | Tidak |28| `ExitWorktree` | Keluar dari sesi worktree dan kembali ke direktori asli. Tidak tersedia untuk subagent yang sudah berjalan di direktori kerja mereka sendiri, seperti dengan [`isolation: worktree`](/id/sub-agents#supported-frontmatter-fields) | Tidak |

29| `Glob` | Menemukan file berdasarkan pencocokan pola. Lihat [perilaku Glob tool](#glob-tool-behavior) | Tidak |29| `Glob` | Menemukan file berdasarkan pencocokan pola. Lihat [perilaku Glob tool](#glob-tool-behavior) | Tidak |


38| `ReadMcpResourceTool` | Membaca resource MCP tertentu berdasarkan URI | Tidak |38| `ReadMcpResourceTool` | Membaca resource MCP tertentu berdasarkan URI | Tidak |

39| `RemoteTrigger` | Membuat, memperbarui, menjalankan, dan mencantumkan [Routines](/id/routines) di claude.ai. Mendukung perintah `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines berada di claude.ai dan memerlukan paket Pro, Max, Team, atau Enterprise, jadi tool ini tidak dapat diakses dari Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |39| `RemoteTrigger` | Membuat, memperbarui, menjalankan, dan mencantumkan [Routines](/id/routines) di claude.ai. Mendukung perintah `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines berada di claude.ai dan memerlukan paket Pro, Max, Team, atau Enterprise, jadi tool ini tidak dapat diakses dari Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |

40| `ReportFindings` | Melaporkan temuan code-review sebagai daftar terstruktur, dengan file, ringkasan, dan skenario kegagalan per temuan, sehingga Claude Code dapat merender mereka daripada mencetaknya sebagai teks. Claude memanggilnya ketika instruksi code-review aktif memberitahunya untuk melakukannya. {/* min-version: 2.1.196 */}Memerlukan Claude Code v2.1.196 atau lebih baru. {/* min-version: 2.1.199 */}Sejak v2.1.199, temuan juga dapat membawa slug `category` opsional, seperti `correctness` atau `test-coverage`, ditampilkan di sebelah lokasi file dalam daftar yang dirender | Tidak |40| `ReportFindings` | Melaporkan temuan code-review sebagai daftar terstruktur, dengan file, ringkasan, dan skenario kegagalan per temuan, sehingga Claude Code dapat merender mereka daripada mencetaknya sebagai teks. Claude memanggilnya ketika instruksi code-review aktif memberitahunya untuk melakukannya. {/* min-version: 2.1.196 */}Memerlukan Claude Code v2.1.196 atau lebih baru. {/* min-version: 2.1.199 */}Sejak v2.1.199, temuan juga dapat membawa slug `category` opsional, seperti `correctness` atau `test-coverage`, ditampilkan di sebelah lokasi file dalam daftar yang dirender | Tidak |

41| `ScheduleWakeup` | Menjadwalkan ulang iterasi berikutnya dari [self-paced `/loop`](/id/scheduled-tasks#let-claude-choose-the-interval). Claude memanggil ini di akhir setiap iterasi untuk memilih kapan iterasi berikutnya berjalan, antara satu menit dan satu jam ke depan; Anda tidak memanggilnya secara langsung. Untuk mengakhiri loop, Claude memanggilnya dengan `stop: true`, yang membatalkan wakeup yang tertunda. {/* min-version: 2.1.202 */}Bidang `stop` memerlukan Claude Code v2.1.202 atau lebih baru. Wakeup yang tertunda muncul dalam `session_crons` dalam [Stop hook input](/id/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry, di mana prompt `/loop` tanpa interval berjalan pada jadwal tetap | Tidak |41| `ScheduleWakeup` | Menjadwalkan ulang iterasi berikutnya dari [self-paced `/loop`](/id/scheduled-tasks#let-claude-choose-the-interval). Claude memanggil ini di akhir setiap iterasi untuk memilih kapan iterasi berikutnya berjalan, antara satu menit dan satu jam ke depan; Anda tidak memanggilnya secara langsung. Untuk mengakhiri loop, Claude memanggilnya dengan `stop: true`, yang membatalkan wakeup yang tertunda. {/* min-version: 2.1.202 */}Bidang `stop` memerlukan Claude Code v2.1.202 atau lebih baru. Wakeup yang tertunda muncul dalam `session_crons` dalam [Stop hook input](/id/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Tidak tersedia di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, atau Microsoft Foundry, di mana prompt `/loop` tanpa interval berjalan pada jadwal tetap | Tidak |

42| `SendMessage` | Mengirim pesan ke anggota [agent team](/id/agent-teams), atau [melanjutkan subagent](/id/sub-agents#resume-subagents) berdasarkan ID agennya atau nama. Subagent yang dihentikan secara otomatis melanjutkan di latar belakang; subagent yang Anda hentikan dari `/tasks` tidak dan panggilan mengembalikan penolakan. Pesan protokol tim terstruktur memerlukan agent teams. Penerima tidak pernah memperlakukan pesan dari agen lain sebagai persetujuan atau persetujuan Anda. {/* min-version: 2.1.198 */}Sejak v2.1.198, subagent memperlakukan pesan dari agen yang meluncurkannya sebagai arahan tugas normal daripada sebagai permintaan peer. {/* min-version: 2.1.199 */}Sejak v2.1.199, pengiriman ke nama yang sekarang diselesaikan ke agen berbeda daripada yang dilakukan sebelumnya dalam percakapan ditolak daripada dikirimkan; lihat [Resume subagents](/id/sub-agents#resume-subagents) | Tidak |42| `SendMessage` | Mengirim pesan ke anggota [agent team](/id/agent-teams), atau [melanjutkan subagent](/id/sub-agents#resume-subagents) berdasarkan ID agennya atau nama. Subagent yang dihentikan secara otomatis melanjutkan di latar belakang; subagent yang Anda hentikan dari `/tasks` tidak dan panggilan mengembalikan penolakan. Pesan protokol tim terstruktur memerlukan agent teams. Penerima tidak pernah memperlakukan pesan dari agen lain sebagai persetujuan atau persetujuan Anda. {/* min-version: 2.1.198 */}Sejak v2.1.198, subagent memperlakukan pesan dari agen yang meluncurkannya sebagai arahan tugas normal daripada sebagai permintaan peer. {/* min-version: 2.1.199 */}Sejak v2.1.199, pengiriman ke nama yang sekarang diselesaikan ke agen berbeda daripada yang dilakukan sebelumnya dalam percakapan ditolak daripada dikirimkan; lihat [Resume subagents](/id/sub-agents#resume-subagents) | Tidak |

43| `SendUserFile` | Mengirim file dari sesi kepada Anda dengan keterangan opsional, sehingga laporan yang dihasilkan, diagram, tangkapan layar, atau artefak yang dibangun mencapai perangkat Anda daripada hanya disebutkan dalam transkrip. {/* min-version: 2.1.196 */}Sejak v2.1.196, input `display` opsional mengontrol presentasi: `render` membuka file secara inline di klien, `attach` menampilkan kartu unduhan saja, dan ketika tidak diatur klien memutuskan berdasarkan jenis file. Tersedia ketika klien [Remote Control](/id/remote-control) terhubung atau sesi berjalan di lingkungan cloud terkelola seperti [Claude Code di web](/id/claude-code-on-the-web). Pengiriman berjalan melalui infrastruktur yang dihosting Anthropic, jadi tool tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |43| `SendUserFile` | Mengirim file dari sesi kepada Anda dengan keterangan opsional, sehingga laporan yang dihasilkan, diagram, tangkapan layar, atau artefak yang dibangun mencapai perangkat Anda daripada hanya disebutkan dalam transkrip. {/* min-version: 2.1.196 */}Sejak v2.1.196, input `display` opsional mengontrol presentasi: `render` membuka file secara inline di klien, `attach` menampilkan kartu unduhan saja, dan ketika tidak diatur klien memutuskan berdasarkan jenis file. Tersedia ketika klien [Remote Control](/id/remote-control) terhubung atau sesi berjalan di lingkungan cloud terkelola seperti [Claude Code di web](/id/claude-code-on-the-web). Pengiriman berjalan melalui infrastruktur yang dihosting Anthropic, jadi tool tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry | Tidak |

44| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Mengunggah `ONBOARDING.md` dan mengembalikan tautan berbagi yang dapat dibuka rekan tim di Claude Code. Dipanggil dari `/team-onboarding` setelah panduan ditulis. Tersedia untuk pelanggan claude.ai pada paket Pro, Max, Team, dan Enterprise | Ya |44| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Mengunggah `ONBOARDING.md` dan mengembalikan tautan berbagi yang dapat dibuka rekan tim di Claude Code. Dipanggil dari `/team-onboarding` setelah panduan ditulis. Tersedia untuk pelanggan claude.ai pada paket Pro, Max, Team, dan Enterprise | Ya |


85 85 

86Tools yang tidak tercantum di sini, seperti `ExitPlanMode` atau `ShareOnboardingGuide`, hanya menerima nama tool tanpa specifier.86Tools yang tidak tercantum di sini, seperti `ExitPlanMode` atau `ShareOnboardingGuide`, hanya menerima nama tool tanpa specifier.

87 87 

88Aturan izin `Edit(...)` juga memberikan akses baca ke path yang sama, jadi Anda tidak perlu aturan `Read(...)` yang cocok.88Aturan izin `Edit(...)` juga memberikan akses baca ke path yang sama, sehingga Anda tidak perlu aturan `Read(...)` yang cocok. Aturan penolakan `Read(...)` juga memblokir tool Edit pada path yang sama, termasuk membuat file baru di sana, karena pengeditan memerlukan pembacaan hasil kembali. Pemeriksaan penolakan `Read` pada pengeditan memerlukan Claude Code v2.1.208 atau lebih baru.

89 89 

90Field `matcher` hook menggunakan nama tools tanpa format dengan tanda kurung. Lihat [pola matcher](/id/hooks#matcher-patterns) untuk aturan pencocokan. Untuk nama field yang setiap tool lewatkan ke `tool_input` dalam hooks, lihat [referensi input PreToolUse](/id/hooks#pretooluse-input).90Field `matcher` hook menggunakan nama tools tanpa format dengan tanda kurung. Lihat [pola matcher](/id/hooks#matcher-patterns) untuk aturan pencocokan. Untuk nama field yang setiap tool lewatkan ke `tool_input` dalam hooks, lihat [referensi input PreToolUse](/id/hooks#pretooluse-input).

91 91 


106* **Hanya `disallowedTools`**: subagent mendapatkan setiap tool induk kecuali yang tercantum.106* **Hanya `disallowedTools`**: subagent mendapatkan setiap tool induk kecuali yang tercantum.

107* **Keduanya diatur**: `disallowedTools` mengambil alih. Tool yang tercantum di keduanya dihapus.107* **Keduanya diatur**: `disallowedTools` mengambil alih. Tool yang tercantum di keduanya dihapus.

108 108 

109Ketika daftar `tools` subagent tidak menghasilkan tools sama sekali, misalnya karena setiap entri salah eja atau menamai tool yang tidak tersedia untuk subagent, Agent tool mengembalikan error yang mencantumkan entri tersebut daripada meluncurkan subagent. {/* min-version: 2.1.208 */}Sebelum v2.1.208, subagent diluncurkan tanpa tools dan dapat mengembalikan hasil yang kosong atau membingungkan.

110 

109Meluncurkan subagent tidak sendiri meminta izin. Claude Code memeriksa panggilan tool subagent sendiri terhadap aturan izin Anda saat berjalan.111Meluncurkan subagent tidak sendiri meminta izin. Claude Code memeriksa panggilan tool subagent sendiri terhadap aturan izin Anda saat berjalan.

110 112 

111{/* min-version: 2.1.198 */}Sejak v2.1.198, subagent berjalan di latar belakang secara default; Claude menjalankan satu di foreground ketika membutuhkan hasil sebelum melanjutkan.113{/* min-version: 2.1.198 */}Sejak v2.1.198, subagent berjalan di latar belakang secara default; Claude menjalankan satu di foreground ketika membutuhkan hasil sebelum melanjutkan.


134* **Timeout**: dua menit secara default. Claude dapat meminta hingga 10 menit per perintah dengan parameter `timeout`. Ganti default dan ceiling dengan [`BASH_DEFAULT_TIMEOUT_MS` dan `BASH_MAX_TIMEOUT_MS`](/id/env-vars).136* **Timeout**: dua menit secara default. Claude dapat meminta hingga 10 menit per perintah dengan parameter `timeout`. Ganti default dan ceiling dengan [`BASH_DEFAULT_TIMEOUT_MS` dan `BASH_MAX_TIMEOUT_MS`](/id/env-vars).

135* **Panjang output**: 30.000 karakter secara default. Ketika perintah menghasilkan lebih dari itu, Claude Code menyimpan output penuh ke file dalam direktori sesi dan memberikan Claude jalur file ditambah pratinjau singkat dari awal. Claude membaca atau mencari file itu ketika membutuhkan sisanya. Naikkan batas dengan [`BASH_MAX_OUTPUT_LENGTH`](/id/env-vars), hingga ceiling keras 150.000 karakter.137* **Panjang output**: 30.000 karakter secara default. Ketika perintah menghasilkan lebih dari itu, Claude Code menyimpan output penuh ke file dalam direktori sesi dan memberikan Claude jalur file ditambah pratinjau singkat dari awal. Claude membaca atau mencari file itu ketika membutuhkan sisanya. Naikkan batas dengan [`BASH_MAX_OUTPUT_LENGTH`](/id/env-vars), hingga ceiling keras 150.000 karakter.

136 138 

137Untuk proses yang berjalan lama seperti dev server atau watch build, Claude dapat mengatur `run_in_background: true` untuk memulai perintah sebagai tugas latar belakang dan terus bekerja saat berjalan. Daftar dan hentikan tugas latar belakang dengan `/tasks`.139Untuk proses yang berjalan lama seperti dev server atau watch build, Claude dapat mengatur `run_in_background: true` untuk memulai perintah sebagai tugas latar belakang dan terus bekerja saat berjalan. Daftar dan hentikan tugas latar belakang dengan `/tasks`. Dalam mode non-interaktif dengan flag `-p`, [tugas latar belakang berakhir tidak lama setelah hasil akhir run](/id/headless#background-tasks-at-exit).

138 140 

139<h2 id="edit-tool-behavior">141<h2 id="edit-tool-behavior">

140 Perilaku Edit tool142 Perilaku Edit tool


142 144 

143Edit tool melakukan penggantian string yang tepat. Ini mengambil `old_string` dan `new_string` dan mengganti yang pertama dengan yang kedua. Ini tidak menggunakan regex atau fuzzy matching.145Edit tool melakukan penggantian string yang tepat. Ini mengambil `old_string` dan `new_string` dan mengganti yang pertama dengan yang kedua. Ini tidak menggunakan regex atau fuzzy matching.

144 146 

145Tiga pemeriksaan harus lulus agar edit diterapkan:147Tiga pemeriksaan harus lulus agar edit diterapkan. Sebelum salah satunya, path yang cocok dengan [aturan deny `Read`](/id/permissions#tool-specific-permission-rules) ditolak, termasuk membuat file baru di sana. Penolakan memerlukan Claude Code v2.1.208 atau lebih baru.

146 148 

147* **Read-before-edit**: Claude harus telah membaca file dalam percakapan saat ini, dan file tidak boleh berubah di disk sejak pembacaan itu. Pemeriksaan ini berjalan pertama, sebelum pencocokan string apa pun.149* **Read-before-edit**: Claude membaca file dalam percakapan saat ini sebelum mengeditnya, dan pembacaan yang terpotong dengan pemberitahuan [`PARTIAL view`](#read-tool-behavior) tidak dihitung. Claude Opus 4.6, Claude Haiku 4.5, dan model yang lebih lama selalu memerlukan pembacaan. Model yang lebih baru dapat mengedit file yang belum dibaca ketika membacanya tidak memerlukan prompt izin dan Read tool tersedia.

148* **Match**: `old_string` harus muncul dalam file persis seperti yang ditulis. Satu karakter perbedaan whitespace atau indentasi sudah cukup untuk melewatkan.150* **Match**: `old_string` harus muncul dalam file persis seperti yang ditulis. Satu karakter perbedaan whitespace atau indentasi sudah cukup untuk melewatkan.

149* **Uniqueness**: `old_string` harus muncul persis sekali. Ketika muncul lebih dari sekali, Claude baik menyediakan string yang lebih panjang dengan konteks sekitar yang cukup untuk menyematkan satu kemunculan, atau mengatur `replace_all: true` untuk mengganti semuanya.151* **Uniqueness**: `old_string` harus muncul persis sekali. Ketika muncul lebih dari sekali, Claude baik menyediakan string yang lebih panjang dengan konteks sekitar yang cukup untuk menyematkan satu kemunculan, atau mengatur `replace_all: true` untuk mengganti semuanya.

150 152 

151Melihat file dengan Bash juga memenuhi persyaratan read-before-edit ketika perintahnya adalah `cat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, atau `fgrep` pada file tunggal tanpa pipe atau redirect. Output yang di-pipe dan perintah Bash lainnya tidak dihitung, dan Claude harus menggunakan Read sebelum mengedit dalam kasus tersebut.153File yang berubah di disk setelah Claude terakhir membacanya masih dapat diedit ketika `old_string` cocok dengan konten saat ini dengan tepat dan jelas serta Claude Code dapat membaca file tanpa prompt. Pencocokan terhadap konten file saat ini menjaga keamanan ini, dan hasilnya mencatat bahwa file membawa perubahan lain sehingga Claude membacanya kembali sebelum edit yang bergantung pada konten sekitar. Dalam kasus lain, seperti `old_string` yang sudah usang atau yang cocok lebih dari sekali tanpa `replace_all`, Claude membaca file lagi sebelum mengedit. Penanganan santai file yang belum dibaca dan berubah memerlukan Claude Code v2.1.208 atau lebih baru; sebelum itu, Claude Code menolak edit apa pun ke file yang belum dibacanya dalam percakapan atau yang berubah di disk setelah pembacaan.

154 

155Melihat file dengan Bash juga memenuhi persyaratan read-before-edit ketika perintahnya adalah `cat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, atau `fgrep` pada file tunggal tanpa pipe atau redirect. Output yang di-pipe dan perintah Bash lainnya tidak dihitung terhadap pemeriksaan read-before-edit.

152 156 

153Ini mempengaruhi kelayakan edit saja, bukan izin. [Aturan deny Read dan Edit](/id/permissions#tool-specific-permission-rules) juga berlaku untuk perintah file yang Claude Code kenali dalam Bash, seperti `cat`, `head`, `tail`, `sed`, dan `grep`, tetapi bukan untuk subprocess arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file sendiri. Himpunan perintah yang dikenali untuk aturan deny tidak sama dengan daftar read-before-edit di atas: misalnya, `egrep` dan `fgrep` dihitung untuk read-before-edit tetapi tidak diperiksa terhadap aturan deny Read. Untuk penegakan tingkat OS yang mencakup setiap proses, [aktifkan sandbox](/id/sandboxing).157Ini mempengaruhi kelayakan edit saja, bukan izin. [Aturan deny Read dan Edit](/id/permissions#tool-specific-permission-rules) juga berlaku untuk perintah file yang Claude Code kenali dalam Bash, seperti `cat`, `head`, `tail`, `sed`, dan `grep`, tetapi bukan untuk subprocess arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file sendiri. Himpunan perintah yang dikenali untuk aturan deny tidak sama dengan daftar read-before-edit di atas: misalnya, `egrep` dan `fgrep` dihitung untuk read-before-edit tetapi tidak diperiksa terhadap aturan deny Read. Untuk penegakan tingkat OS yang mencakup setiap proses, [aktifkan sandbox](/id/sandboxing).

154 158 


166 170 

167Glob tidak menghormati `.gitignore` secara default, jadi menemukan file gitignored bersama yang dilacak. Ini berbeda dari [Grep](#grep-tool-behavior), yang melewati file gitignored. Untuk membuat Glob menghormati `.gitignore`, atur `CLAUDE_CODE_GLOB_NO_IGNORE=false` sebelum meluncurkan Claude Code.171Glob tidak menghormati `.gitignore` secara default, jadi menemukan file gitignored bersama yang dilacak. Ini berbeda dari [Grep](#grep-tool-behavior), yang melewati file gitignored. Untuk membuat Glob menghormati `.gitignore`, atur `CLAUDE_CODE_GLOB_NO_IGNORE=false` sebelum meluncurkan Claude Code.

168 172 

173Nilai `pattern` atau `path` yang berisi byte null mengembalikan kesalahan yang meminta Claude untuk menghapusnya. {/* min-version: 2.1.208 */}

174 

169<h2 id="grep-tool-behavior">175<h2 id="grep-tool-behavior">

170 Perilaku Grep tool176 Perilaku Grep tool

171</h2>177</h2>


174 180 

175Grep dibangun di atas [ripgrep](https://github.com/BurntSushi/ripgrep) dan menggunakan sintaks regex ripgrep, bukan POSIX grep. Pola yang mencakup karakter metacharacter regex perlu escape. Misalnya, menemukan `interface{}` dalam kode Go memerlukan pola `interface\{\}`.181Grep dibangun di atas [ripgrep](https://github.com/BurntSushi/ripgrep) dan menggunakan sintaks regex ripgrep, bukan POSIX grep. Pola yang mencakup karakter metacharacter regex perlu escape. Misalnya, menemukan `interface{}` dalam kode Go memerlukan pola `interface\{\}`.

176 182 

183Pola, glob, atau tipe file yang ditolak oleh ripgrep mengembalikan kesalahan yang mencakup diagnostik ripgrep, sehingga Claude dapat memperbaiki input dan mencari lagi. {/* min-version: 2.1.208 */}Sebelum v2.1.208, Claude Code melaporkan input yang ditolak sebagai `No files found` alih-alih kesalahan, bahkan ketika teks yang dicari ada di file target.

184 

177Tiga mode output mengontrol apa yang kembali:185Tiga mode output mengontrol apa yang kembali:

178 186 

179* `files_with_matches`: jalur file saja, tidak ada konten baris. Ini adalah default.187* `files_with_matches`: jalur file saja, tidak ada konten baris. Ini adalah default.

180* `content`: baris yang cocok dengan file dan nomor baris.188* `content`: baris yang cocok dengan file dan nomor baris.

181* `count`: jumlah kecocokan per file.189* `count`: jumlah kecocokan per file, diikuti dengan total di semua file yang cocok. {/* min-version: 2.1.208 */}Total mencakup setiap kecocokan bahkan ketika parameter `head_limit` atau `offset` tool memotong entri per-file yang terdaftar. Sebelum v2.1.208, total hanya menjumlahkan entri yang terdaftar.

182 190 

183Claude dapat membatasi hasil berdasarkan file dengan parameter `glob`, seperti `**/*.tsx`, atau berdasarkan bahasa dengan parameter `type`, seperti `py` atau `rust`. Secara default, pola cocok dalam satu baris. Claude dapat mengatur `multiline: true` untuk cocok di seluruh batas baris.191Claude dapat membatasi hasil berdasarkan file dengan parameter `glob`, seperti `**/*.tsx`, atau berdasarkan bahasa dengan parameter `type`, seperti `py` atau `rust`. Secara default, pola cocok dalam satu baris. Claude dapat mengatur `multiline: true` untuk cocok di seluruh batas baris.

184 192 


325 333 

326Secara default, Read mengembalikan file dari awal. Ketika pembacaan seluruh file melebihi batas token, Read mengembalikan halaman pertama dengan pemberitahuan `PARTIAL view` yang memberi tahu Claude berapa banyak file yang diterima dan cara membaca lebih lanjut dengan `offset` dan `limit`. Pembacaan yang meneruskan `offset` atau `limit` eksplisit dan masih melebihi batas token mengembalikan kesalahan.334Secara default, Read mengembalikan file dari awal. Ketika pembacaan seluruh file melebihi batas token, Read mengembalikan halaman pertama dengan pemberitahuan `PARTIAL view` yang memberi tahu Claude berapa banyak file yang diterima dan cara membaca lebih lanjut dengan `offset` dan `limit`. Pembacaan yang meneruskan `offset` atau `limit` eksplisit dan masih melebihi batas token mengembalikan kesalahan.

327 335 

336Pembacaan dengan `limit` eksplisit berhenti segera setelah baris yang dipilih melebihi apa yang dapat dimuat batas token dan mengembalikan kesalahan tanpa memuat sisa rentang. Kesalahan memberi tahu Claude untuk menggunakan `limit` yang lebih kecil, atau untuk mencari konten spesifik dengan [Grep](#grep-tool-behavior) sebagai gantinya ketika satu baris sangat besar. Sebelum v2.1.208, Claude Code memuat seluruh rentang ke dalam memori sebelum menolaknya, jadi file dengan satu baris yang sangat panjang dapat menghabiskan memori.

337 

338Membaca file kosong mengembalikan pemberitahuan bahwa file ada tetapi kontennya kosong, dan `offset` melampaui baris terakhir mengembalikan pemberitahuan yang memberikan jumlah baris file. Sebelum v2.1.208, membaca file kosong mengembalikan pemberitahuan past-the-end sebagai gantinya.

339 

328Read menangani beberapa tipe file di luar teks biasa:340Read menangani beberapa tipe file di luar teks biasa:

329 341 

330* **Gambar**: PNG, JPG, dan format gambar lainnya 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 mengirimnya, jadi Claude mungkin melihat versi downscaled dari screenshot besar. Mulai dari v2.1.196, gambar yang masih lebih besar dari 500KB setelah pengubahan ukuran tersebut dikodekan ulang sebagai JPEG dengan kualitas berkurang dengan dimensi pikselnya tetap tidak berubah. Jika Claude melewatkan detail tingkat piksel halus dalam gambar besar, minta untuk memotong wilayah minat terlebih dahulu, misalnya dengan ImageMagick melalui Bash.342* **Gambar**: PNG, JPG, dan format gambar lainnya 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 mengirimnya, jadi Claude mungkin melihat versi downscaled dari screenshot besar. Mulai dari v2.1.196, gambar yang masih lebih besar dari 500KB setelah pengubahan ukuran tersebut dikodekan ulang sebagai JPEG dengan kualitas berkurang dengan dimensi pikselnya tetap tidak berubah. Jika Claude melewatkan detail tingkat piksel halus dalam gambar besar, minta untuk memotong wilayah minat terlebih dahulu, misalnya dengan ImageMagick melalui Bash.

Details

196 ls -la ~/.local/bin/claude196 ls -la ~/.local/bin/claude

197 ```197 ```

198 198 

199 Native install menunjukkan symlink ke `~/.local/share/claude/versions/`. Script atau symlink yang Anda buat sendiri di path ini adalah custom launcher, yang [auto-update meninggalkan di tempat](/id/setup#auto-updates).

200 

199 Jika salah satu perintah `ls` mencetak `No such file or directory`, itu bukan error. Ini berarti tidak ada yang terinstal di lokasi itu, jadi lanjutkan ke pemeriksaan berikutnya.201 Jika salah satu perintah `ls` mencetak `No such file or directory`, itu bukan error. Ini berarti tidak ada yang terinstal di lokasi itu, jadi lanjutkan ke pemeriksaan berikutnya.

200 202 

201 ```bash theme={null}203 ```bash theme={null}


447 ```449 ```

448 Tanyakan tim IT Anda untuk file sertifikat jika Anda tidak memilikinya. Anda juga dapat mencoba koneksi langsung untuk mengkonfirmasi proxy adalah penyebabnya.450 Tanyakan tim IT Anda untuk file sertifikat jika Anda tidak memilikinya. Anda juga dapat mencoba koneksi langsung untuk mengkonfirmasi proxy adalah penyebabnya.

449 451 

4504. **Di Windows, lewati pemeriksaan revokasi sertifikat** jika Anda melihat `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` atau `CRYPT_E_REVOCATION_OFFLINE (0x80092013)`. Ini berarti curl menjangkau server tetapi jaringan Anda memblokir pencarian revokasi sertifikat, yang umum di belakang firewall perusahaan. Tambahkan `--ssl-revoke-best-effort` ke perintah install:4524. **Di Windows, lewati pemeriksaan revokasi sertifikat** jika Anda melihat `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` atau `CRYPT_E_REVOCATION_OFFLINE (0x80092013)`. Ini berarti curl menjangkau server tetapi jaringan Anda memblokir pencarian revokasi sertifikat, yang umum di belakang firewall perusahaan. Menambahkan flag `--ssl-revoke-best-effort` curl tidak memperbaiki ini: flag hanya berlaku untuk mengunduh `install.cmd` itu sendiri, dan download script itu sendiri berjalan tanpanya, jadi instalasi gagal dengan error yang sama. Gunakan metode instalasi yang mentoleransi pencarian yang diblokir sebagai gantinya. Buka PowerShell dan jalankan PowerShell installer, yang mengunduh melalui .NET dan tidak gagal ketika server revokasi tidak dapat dijangkau:

451 ```batch theme={null}453 ```powershell theme={null}

452 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd454 irm https://claude.ai/install.ps1 | iex

453 ```455 ```

454 Atau, instal dengan `winget install Anthropic.ClaudeCode`, yang menghindari curl sepenuhnya.456 Anda juga dapat menginstal dengan `winget install Anthropic.ClaudeCode`, yang menghindari curl sepenuhnya.

455 457 

456<h3 id="failed-to-fetch-version-from-downloads-claude-ai">458<h3 id="failed-to-fetch-version-from-downloads-claude-ai">

457 `Failed to fetch version from downloads.claude.ai`459 `Failed to fetch version from downloads.claude.ai`

Details

43 43 

44Rincian menunjukkan resident set size, JS heap, array buffers, dan memori native yang tidak terhitung, yang membantu mengidentifikasi apakah pertumbuhan ada di objek JavaScript atau di kode native. Untuk memeriksa retainers, buka file `.heapsnapshot` di Chrome DevTools di bawah Memory → Load. Lampirkan kedua file saat melaporkan masalah memori di [GitHub](https://github.com/anthropics/claude-code/issues).44Rincian menunjukkan resident set size, JS heap, array buffers, dan memori native yang tidak terhitung, yang membantu mengidentifikasi apakah pertumbuhan ada di objek JavaScript atau di kode native. Untuk memeriksa retainers, buka file `.heapsnapshot` di Chrome DevTools di bawah Memory → Load. Lampirkan kedua file saat melaporkan masalah memori di [GitHub](https://github.com/anthropics/claude-code/issues).

45 45 

46<h3 id="large-tables-are-cut-off-in-the-terminal">

47 Large tables are cut off in the terminal

48</h3>

49 

50Tabel Markdown dengan lebih dari 200 baris merender 200 baris pertamanya diikuti dengan baris `… N more rows not shown`. Hanya tampilan yang dibatasi: tabel lengkap tetap dalam percakapan, dan [`/copy`](/id/commands) menyalin setiap baris. Untuk tabel yang terlalu besar untuk dibaca di terminal, minta Claude untuk menulisnya ke file sebagai gantinya. Sebelum v2.1.208, Claude Code merender setiap baris, jadi melanjutkan sesi yang berisi tabel yang sangat besar dapat terhenti saat merender ulang.

51 

46<h3 id="auto-compaction-stops-with-a-thrashing-error">52<h3 id="auto-compaction-stops-with-a-thrashing-error">

47 Auto-compaction stops with a thrashing error53 Auto-compaction stops with a thrashing error

48</h3>54</h3>

vs-code.md +7 −7

Details

360</h3>360</h3>

361 361 

362| Pengaturan | Default | Deskripsi |362| Pengaturan | Default | Deskripsi |

363| ----------------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |363| ----------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

364| `useTerminal` | `false` | Luncurkan Claude dalam mode terminal alih-alih panel grafis |364| `useTerminal` | `false` | Luncurkan Claude dalam mode terminal alih-alih panel grafis |

365| `initialPermissionMode` | `default` | Mengontrol prompt persetujuan untuk percakapan baru: `default`, `plan`, `acceptEdits`, atau `bypassPermissions`. {/* min-version: 2.1.200 */}`manual` adalah alias untuk `default` dan memilih mode yang berlabel **Manual** dalam indikator mode. Memerlukan Claude Code v2.1.200 atau lebih baru. Lihat [permission modes](/id/permission-modes). |365| `initialPermissionMode` | `default` | Mengontrol prompt persetujuan untuk percakapan baru: `default`, `plan`, `acceptEdits`, atau `bypassPermissions`. {/* min-version: 2.1.200 */}`manual` adalah alias untuk `default` dan memilih mode yang berlabel **Manual** dalam indikator mode. Memerlukan Claude Code v2.1.200 atau lebih baru. Lihat [permission modes](/id/permission-modes). |

366| `preferredLocation` | `panel` | Di mana Claude terbuka: `sidebar` (kanan) atau `panel` (tab baru) |366| `preferredLocation` | `panel` | Di mana Claude terbuka: `sidebar` (kanan) atau `panel` (tab baru) |


374| `environmentVariables` | `[]` | Atur variabel lingkungan untuk proses Claude. Gunakan pengaturan Claude Code sebagai gantinya untuk konfigurasi bersama. |374| `environmentVariables` | `[]` | Atur variabel lingkungan untuk proses Claude. Gunakan pengaturan Claude Code sebagai gantinya untuk konfigurasi bersama. |

375| `disableLoginPrompt` | `false` | Lewati prompt autentikasi (untuk setup penyedia pihak ketiga) |375| `disableLoginPrompt` | `false` | Lewati prompt autentikasi (untuk setup penyedia pihak ketiga) |

376| `allowDangerouslySkipPermissions` | `false` | Menambahkan Bypass permissions ke pemilih mode. Gunakan hanya di sandbox tanpa akses internet. |376| `allowDangerouslySkipPermissions` | `false` | Menambahkan Bypass permissions ke pemilih mode. Gunakan hanya di sandbox tanpa akses internet. |

377| `claudeProcessWrapper` | - | Executable yang digunakan untuk meluncurkan proses Claude. Jalur binary bundel dilewatkan sebagai argumen saat ada. Atur ini ke binary `claude` yang diinstal secara terpisah jika build ekstensi tidak menyertakan satu untuk platform Anda. |377| `claudeProcessWrapper` | - | Executable yang digunakan untuk meluncurkan proses Claude. Jalur binary bundel dilewatkan sebagai argumen saat ada. Atur ini ke binary `claude` yang diinstal secara terpisah jika build ekstensi tidak menyertakan satu untuk platform Anda. Error "Unsupported platform" saat aktivasi berarti tidak ada binary yang dibundel untuk platform Anda; lihat [platform mana yang memiliki binary prebuilt](/id/troubleshoot-install#native-binary-not-found-after-npm-install). |

378 378 

379<h2 id="vs-code-extension-vs-claude-code-cli">379<h2 id="vs-code-extension-vs-claude-code-cli">

380 Ekstensi VS Code vs. Claude Code CLI380 Ekstensi VS Code vs. Claude Code CLI


525 525 

526**Konteks seleksi dan file terbuka.** Saat terhubung, CLI menyertakan pilihan editor saat ini Anda dan jalur file aktif sebagai konteks pada setiap prompt yang Anda kirim. Transkrip menunjukkan baris `⧉ Selected N lines from <file>` saat ini terjadi. Untuk mengecualikan file sensitif seperti `.env`, tambahkan [aturan deny `Read`](/id/permissions#read-and-edit) untuk jalurnya. Aturan deny yang cocok mencegah baik teks yang dipilih maupun pemberitahuan file terbuka untuk file tersebut dari mencapai Claude.526**Konteks seleksi dan file terbuka.** Saat terhubung, CLI menyertakan pilihan editor saat ini Anda dan jalur file aktif sebagai konteks pada setiap prompt yang Anda kirim. Transkrip menunjukkan baris `⧉ Selected N lines from <file>` saat ini terjadi. Untuk mengecualikan file sensitif seperti `.env`, tambahkan [aturan deny `Read`](/id/permissions#read-and-edit) untuk jalurnya. Aturan deny yang cocok mencegah baik teks yang dipilih maupun pemberitahuan file terbuka untuk file tersebut dari mencapai Claude.

527 527 

528**Transport dan autentikasi.** Server mengikat ke `127.0.0.1` pada port tinggi acak dan tidak dapat dijangkau dari mesin lain. Setiap aktivasi ekstensi menghasilkan token auth acak segar yang harus disajikan CLI untuk terhubung. Token ditulis ke file kunci di bawah `~/.claude/ide/` dengan izin `0600` di direktori `0700`, jadi hanya pengguna yang menjalankan VS Code yang dapat membacanya.528**Transport dan autentikasi.** Server mengikat ke `127.0.0.1` pada port tinggi acak dalam rentang 10000–65535, dan port tidak dapat dikonfigurasi. Transport adalah `ws://` yang tidak terenkripsi; karena soket hanya loopback, proses apa pun yang dapat menangkap lalu lintas juga dapat membaca token dari file kunci, jadi TLS tidak akan menambah perlindungan. Setiap aktivasi ekstensi menghasilkan token auth acak segar, menulisnya ke file kunci di `~/.claude/ide/<port>.lock`, dan CLI harus menyajikannya sebagai header `X-Claude-Code-Ide-Authorization` untuk terhubung. File kunci memiliki izin `0600` di direktori `0700`, jadi hanya pengguna yang menjalankan VS Code yang dapat membacanya. Jika `CLAUDE_CONFIG_DIR` diatur, file kunci ditulis ke `$CLAUDE_CONFIG_DIR/ide/` sebagai gantinya.

529 529 

530**Alat yang diekspos ke model.** Server menampilkan selusin alat, tetapi hanya dua yang terlihat oleh model. Sisanya adalah RPC internal yang digunakan CLI untuk UI-nya sendiri — membuka diff, membaca pilihan, menyimpan file — dan disaring sebelum daftar alat mencapai Claude.530**Alat yang diekspos ke model.** Server menampilkan selusin alat, tetapi hanya dua yang terlihat oleh model. Sisanya adalah RPC internal yang digunakan CLI untuk UI-nya sendiri — membuka diff, membaca pilihan, menyimpan file — dan disaring sebelum daftar alat mencapai Claude.

531 531 

532| Nama alat (seperti yang terlihat oleh hooks) | Apa yang dilakukannya | Menulis? |532| Nama alat (seperti yang terlihat oleh hooks) | Apa yang dilakukannya | Hanya-baca |

533| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | -------- |533| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------- |

534| `mcp__ide__getDiagnostics` | Mengembalikan diagnostik language-server — kesalahan dan peringatan di panel Problems VS Code. Secara opsional dibatasi ke satu file. | Tidak |534| `mcp__ide__getDiagnostics` | Mengembalikan diagnostik language-server — kesalahan dan peringatan di panel Problems VS Code. Secara opsional dibatasi ke satu file. | Ya |

535| `mcp__ide__executeCode` | Menjalankan kode Python di kernel notebook Jupyter yang aktif. Lihat alur konfirmasi di bawah. | Ya |535| `mcp__ide__executeCode` | Menjalankan kode Python di kernel notebook Jupyter yang aktif. Lihat alur konfirmasi di bawah. | Tidak |

536 536 

537**Eksekusi Jupyter selalu bertanya terlebih dahulu.** `mcp__ide__executeCode` tidak dapat menjalankan apa pun secara diam-diam. Pada setiap panggilan, kode dimasukkan sebagai sel baru di akhir notebook aktif, VS Code menggulirnya ke tampilan, dan Quick Pick asli meminta Anda untuk **Execute** atau **Cancel**. Membatalkan — atau menutup picker dengan `Esc` — mengembalikan kesalahan ke Claude dan tidak ada yang berjalan. Alat juga menolak dengan tegas saat tidak ada notebook aktif, saat ekstensi Jupyter (`ms-toolsai.jupyter`) tidak diinstal, atau saat kernel bukan Python.537**Eksekusi Jupyter selalu bertanya terlebih dahulu.** `mcp__ide__executeCode` tidak dapat menjalankan apa pun secara diam-diam. Pada setiap panggilan, kode dimasukkan sebagai sel baru di akhir notebook aktif, VS Code menggulirnya ke tampilan, dan Quick Pick asli meminta Anda untuk **Execute** atau **Cancel**. Membatalkan — atau menutup picker dengan `Esc` — mengembalikan kesalahan ke Claude dan tidak ada yang berjalan. Alat juga menolak dengan tegas saat tidak ada notebook aktif, saat ekstensi Jupyter (`ms-toolsai.jupyter`) tidak diinstal, atau saat kernel bukan Python.

538 538 

Details

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/cli-computer-use.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=c17a337902308d7c9121013ded0494db" data-path="images/whats-new/cli-computer-use.mp4" />23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/cli-computer-use.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=c17a337902308d7c9121013ded0494db" data-path="images/whats-new/cli-computer-use.mp4" />

24 </Frame>24 </Frame>

25 25 

26 <p className="digest-feature-try">Jalankan <code>/mcp</code>, temukan <code>computer-use</code>, dan aktifkannya. Kemudian minta Claude untuk memverifikasi perubahan end to end:</p>26 <p className="digest-feature-try">Memerlukan macOS dan paket Pro atau Max; jika tidak, <code>computer-use</code> tidak akan muncul di <code>/mcp</code>. Jalankan <code>/mcp</code>, temukan <code>computer-use</code>, dan aktifkannya. Kemudian minta Claude untuk memverifikasi perubahan end to end:</p>

27 27 

28 ```text Claude Code theme={null}28 ```text Claude Code theme={null}

29 > Open the iOS simulator, tap through onboarding, and screenshot each step29 > Open the iOS simulator, tap through onboarding, and screenshot each step


123 <p className="digest-wins-title">Kemenangan lainnya</p>123 <p className="digest-wins-title">Kemenangan lainnya</p>

124 124 

125 <div className="digest-wins-grid">125 <div className="digest-wins-grid">

126 <div>Follow-up mode auto: hook <code>PermissionDenied</code> baru menyala pada penolakan classifier (kembalikan <code>retry: true</code> untuk membiarkan Claude mencoba pendekatan berbeda), dan <code>/permissions</code> → Recent memungkinkan Anda mencoba ulang secara manual dengan <code>r</code></div>126 <div>Follow-up mode auto: hook <code>PermissionDenied</code> baru menyala pada penolakan classifier (kembalikan <code>retry: true</code> untuk membiarkan Claude mencoba pendekatan berbeda), dan <code>/permissions</code> → Recently denied memungkinkan Anda mencoba ulang secara manual dengan <code>r</code></div>

127 <div>Nilai <code>defer</code> baru untuk <code>permissionDecision</code> dalam hook <code>PreToolUse</code>: sesi <code>-p</code> berhenti di panggilan tool dan keluar dengan payload <code>deferred\_tool\_use</code> sehingga aplikasi SDK atau UI kustom dapat mempermukaannya, kemudian lanjutkan dengan <code>--resume</code></div>127 <div>Nilai <code>defer</code> baru untuk <code>permissionDecision</code> dalam hook <code>PreToolUse</code>: sesi <code>-p</code> berhenti di panggilan tool dan keluar dengan payload <code>deferred\_tool\_use</code> sehingga aplikasi SDK atau UI kustom dapat mempermukaannya, kemudian lanjutkan dengan <code>--resume</code></div>

128 <div><code>/buddy</code>: menetas makhluk kecil yang menonton Anda coding (1 April)</div>128 <div><code>/buddy</code>: menetas makhluk kecil yang menonton Anda coding. Lelucon April Fools, tidak lagi tersedia</div>

129 <div>Pengaturan <code>disableSkillShellExecution</code> memblokir shell inline dari skill, slash command, dan perintah plugin</div>129 <div>Pengaturan <code>disableSkillShellExecution</code> memblokir shell inline dari skill, slash command, dan perintah plugin</div>

130 <div>Tool Edit sekarang bekerja pada file yang dilihat melalui <code>cat</code> atau <code>sed -n</code> tanpa Read terpisah</div>130 <div>Tool Edit sekarang bekerja pada file yang dilihat melalui <code>cat</code> atau <code>sed -n</code> tanpa Read terpisah</div>

131 <div>Output hook di atas 50K disimpan ke disk dengan path + preview alih-alih disuntikkan ke konteks</div>131 <div>Output hook di atas 50K disimpan ke disk dengan path + preview alih-alih disuntikkan ke konteks</div>

Details

25 export CLAUDE_CODE_ENABLE_AUTO_MODE=125 export CLAUDE_CODE_ENABLE_AUTO_MODE=1

26 ```26 ```

27 27 

28 <a className="digest-feature-link" href="/docs/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry">Aktifkan auto mode pada penyedia pihak ketiga</a>28 <a className="digest-feature-link" href="/docs/id/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry">Auto mode pada penyedia pihak ketiga</a>

29</div>29</div>

30 30 

31<div className="digest-feature">31<div className="digest-feature">

workflows.md +7 −5

Details

100Tampilan kemajuan menunjukkan setiap fase dengan jumlah agen, total token, dan waktu yang telah berlalu. Footer mencantumkan kunci untuk setiap tindakan:100Tampilan kemajuan menunjukkan setiap fase dengan jumlah agen, total token, dan waktu yang telah berlalu. Footer mencantumkan kunci untuk setiap tindakan:

101 101 

102| Kunci | Tindakan |102| Kunci | Tindakan |

103| :--------------- | :-------------------------------------------------------------------------------------------------------------- |103| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------ |

104| `↑` / `↓` | Pilih fase atau agen |104| `↑` / `↓` | Pilih fase atau agen |

105| `Enter` atau `→` | Bor ke dalam fase yang dipilih, lalu ke agen untuk membaca prompt, panggilan alat terbaru, dan hasilnya |105| `Enter` atau `→` | Bor ke dalam fase yang dipilih, lalu ke agen untuk membaca prompt, panggilan alat terbaru, dan hasilnya |

106| `Esc` | Kembali satu level |106| `Esc` atau `←` | Kembali satu level. Dalam v2.1.203 hingga v2.1.205, `←` tidak melangkah keluar dari fase atau agen; gunakan `Esc` pada versi tersebut |

107| `j` / `k` | Gulir dalam detail agen ketika meluap |107| `j` / `k` | Gulir dalam detail agen ketika meluap |

108| `f` | {/* min-version: 2.1.186 */}Filter daftar agen di fase yang dipilih berdasarkan status. Tekan lagi untuk siklus |108| `f` | {/* min-version: 2.1.186 */}Filter daftar agen di fase yang dipilih berdasarkan status. Tekan lagi untuk siklus |

109| `p` | Jeda atau lanjutkan run |109| `p` | Jeda atau lanjutkan run |


192Jalankan `/workflows`, pilih run yang ingin Anda simpan, dan tekan `s`. Dalam dialog simpan, Tab beralih antara dua lokasi simpan:192Jalankan `/workflows`, pilih run yang ingin Anda simpan, dan tekan `s`. Dalam dialog simpan, Tab beralih antara dua lokasi simpan:

193 193 

194* `.claude/workflows/` di proyek Anda: dibagikan dengan semua orang yang mengkloning repo194* `.claude/workflows/` di proyek Anda: dibagikan dengan semua orang yang mengkloning repo

195* `~/.claude/workflows/` di direktori home Anda: tersedia di setiap proyek, hanya terlihat oleh Anda195* `~/.claude/workflows/` di direktori home Anda: tersedia di setiap proyek, hanya terlihat oleh Anda. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/id/env-vars), lokasi ini adalah direktori `workflows/` di bawah jalur itu.

196 

197{/* min-version: 2.1.208 */}Dialog simpan menunjukkan jalur yang diselesaikan untuk lokasi pribadi. Sebelum v2.1.208, itu menunjukkan `~/.claude/workflows/` bahkan ketika `CLAUDE_CONFIG_DIR` ditetapkan; file masih disimpan di bawah direktori yang dikonfigurasi.

196 198 

197Tekan Enter untuk menyimpan. Alur kerja berjalan sebagai `/<name>` di sesi mendatang dari lokasi mana pun.199Tekan Enter untuk menyimpan. Alur kerja berjalan sebagai `/<name>` di sesi mendatang dari lokasi mana pun.

198 200 


338 Lanjutkan setelah jeda340 Lanjutkan setelah jeda

339</h3>341</h3>

340 342 

341Jika Anda menghentikan run, Anda dapat melanjutkannya: agen yang sudah selesai mengembalikan hasil cache mereka, dan sisanya berjalan langsung. Lanjutkan run yang dijeda dari `/workflows` dengan memilihnya dan menekan `p`, atau minta Claude untuk meluncurkan kembali alur kerja dengan skrip yang sama.343Jika Anda menghentikan run, Anda dapat melanjutkannya: agen yang sudah selesai mengembalikan hasil cache mereka, dan sisanya berjalan langsung. Agen yang masih berjalan saat Anda menghentikan tidak disimpan dan dimulai ulang saat dilanjutkan, jadi alur kerja yang menyebarkan pekerjaan di banyak agen kecil mempertahankan lebih banyak kemajuan daripada satu agen panjang. Lanjutkan run yang dijeda dari `/workflows` dengan memilihnya dan menekan `p`, atau minta Claude untuk meluncurkan kembali alur kerja dengan skrip yang sama.

342 344 

343Lanjutkan bekerja dalam sesi Claude Code yang sama. Jika Anda keluar dari Claude Code saat alur kerja sedang berjalan, sesi berikutnya memulai alur kerja segar.345Lanjutkan bekerja dalam sesi Claude Code yang sama. Jika Anda keluar dari Claude Code saat alur kerja sedang berjalan, sesi berikutnya memulai alur kerja segar.

344 346 


357* Jika Anda [menetapkan panduan ukuran](#set-a-size-guideline), jumlah agen panduan menggantikan ambang batas 25 agen.359* Jika Anda [menetapkan panduan ukuran](#set-a-size-guideline), jumlah agen panduan menggantikan ambang batas 25 agen.

358* Sesi dengan [ultracode](#let-claude-decide-with-ultracode) aktif tidak menampilkan peringatan, karena mengaktifkan ultracode sudah memilih Anda untuk run besar.360* Sesi dengan [ultracode](#let-claude-decide-with-ultracode) aktif tidak menampilkan peringatan, karena mengaktifkan ultracode sudah memilih Anda untuk run besar.

359 361 

360Setiap agen dalam alur kerja menggunakan model sesi Anda kecuali skrip merutekan tahap ke yang berbeda. Untuk mengontrol biaya model:362Setiap agen dalam alur kerja menggunakan model sesi Anda kecuali skrip merutekan tahap ke yang berbeda atau variabel lingkungan [`CLAUDE_CODE_SUBAGENT_MODEL`](/id/model-config#environment-variables) diatur, yang mengesampingkan keduanya. Untuk mengontrol biaya model:

361 363 

362* Periksa `/model` sebelum run besar jika Anda biasanya beralih ke model yang lebih kecil untuk pekerjaan rutin364* Periksa `/model` sebelum run besar jika Anda biasanya beralih ke model yang lebih kecil untuk pekerjaan rutin

363* Minta Claude untuk menggunakan model yang lebih kecil untuk tahap yang tidak memerlukan yang terkuat ketika Anda menjelaskan tugas365* Minta Claude untuk menggunakan model yang lebih kecil untuk tahap yang tidak memerlukan yang terkuat ketika Anda menjelaskan tugas

worktrees.md +23 −1

Details

36 36 

37Anda juga dapat meminta Claude untuk "bekerja dalam worktree" selama sesi, dan itu akan membuat satu dengan tool [`EnterWorktree`](/id/tools-reference). Setelah berada dalam worktree, Claude dapat beralih langsung ke worktree lain di bawah `.claude/worktrees/` dengan memanggil `EnterWorktree` dengan jalur target. Worktree sebelumnya tetap berada di disk tanpa disentuh.37Anda juga dapat meminta Claude untuk "bekerja dalam worktree" selama sesi, dan itu akan membuat satu dengan tool [`EnterWorktree`](/id/tools-reference). Setelah berada dalam worktree, Claude dapat beralih langsung ke worktree lain di bawah `.claude/worktrees/` dengan memanggil `EnterWorktree` dengan jalur target. Worktree sebelumnya tetap berada di disk tanpa disentuh.

38 38 

39Memasuki jalur di luar direktori `.claude/worktrees/` repositori meminta persetujuan Anda terlebih dahulu, karena itu memindahkan direktori kerja sesi, akses tulis, dan konfigurasi proyek seperti `CLAUDE.md` dan settings ke lokasi tersebut. Aturan [izin](/id/permissions) `EnterWorktree` atau memilih "jangan tanya lagi" tidak menekan prompt ini; hanya mode `bypassPermissions` yang melewatinya. Sebelum v2.1.206, Claude dapat memasuki jalur worktree yang ada tanpa bertanya.

40 

39{/* min-version: 2.1.198 */}Mulai dari v2.1.198, memasuki atau keluar dari worktree juga memindahkan transkrip sesi ke penyimpanan proyek direktori tersebut, dengan cara yang sama seperti [`/cd`](/id/commands) melakukannya, sehingga `/desktop` dan `--resume` menemukan sesi di sana setelahnya. Worktrees yang dibuat oleh hook [`WorktreeCreate`](#non-git-version-control) dikecualikan dan menyimpan transkrip di direktori peluncuran.41{/* min-version: 2.1.198 */}Mulai dari v2.1.198, memasuki atau keluar dari worktree juga memindahkan transkrip sesi ke penyimpanan proyek direktori tersebut, dengan cara yang sama seperti [`/cd`](/id/commands) melakukannya, sehingga `/desktop` dan `--resume` menemukan sesi di sana setelahnya. Worktrees yang dibuat oleh hook [`WorktreeCreate`](#non-git-version-control) dikecualikan dan menyimpan transkrip di direktori peluncuran.

40 42 

43Worktrees bekerja dengan [sandboxing](/id/sandboxing#filesystem-isolation) diaktifkan: sandbox memungkinkan penulisan ke direktori `.git` bersama repositori utama sehingga perintah seperti `git commit` dapat memperbarui refs dan indeks dari dalam linked worktree.

44 

41Sebelum menggunakan `--worktree` secara interaktif di direktori untuk pertama kalinya, terima dialog kepercayaan workspace dengan menjalankan `claude` sekali di direktori tersebut. Jika kepercayaan belum diterima, `--worktree` keluar dengan kesalahan dan meminta Anda untuk menjalankan `claude` di direktori terlebih dahulu. Jalankan non-interaktif dengan `-p` melewati [pemeriksaan kepercayaan](/id/security), jadi `claude -p --worktree` melanjutkan tanpanya.45Sebelum menggunakan `--worktree` secara interaktif di direktori untuk pertama kalinya, terima dialog kepercayaan workspace dengan menjalankan `claude` sekali di direktori tersebut. Jika kepercayaan belum diterima, `--worktree` keluar dengan kesalahan dan meminta Anda untuk menjalankan `claude` di direktori terlebih dahulu. Jalankan non-interaktif dengan `-p` melewati [pemeriksaan kepercayaan](/id/security), jadi `claude -p --worktree` melanjutkan tanpanya.

42 46 

43Jika Claude Code tidak dapat memasuki direktori worktree saat startup, misalnya karena hook [`WorktreeCreate`](/id/hooks#worktreecreate) mencetak sesuatu selain direktori yang dibuat, atau karena direktori dihapus setelah diatur, Claude Code mencetak kesalahan yang menamai jalur dan keluar dengan kode 1. Sebelum v2.1.205, ini menghancurkan sesi, dan dengan `-p` itu terhenti selama sekitar 30 detik sebelum keluar dengan kode 0.47Jika Claude Code tidak dapat memasuki direktori worktree saat startup, misalnya karena hook [`WorktreeCreate`](/id/hooks#worktreecreate) mencetak sesuatu selain direktori yang dibuat, atau karena direktori dihapus setelah diatur, Claude Code mencetak kesalahan yang menamai jalur dan keluar dengan kode 1. Sebelum v2.1.205, ini menghancurkan sesi, dan dengan `-p` itu terhenti selama sekitar 30 detik sebelum keluar dengan kode 0.


52 Pilih cabang dasar56 Pilih cabang dasar

53</h3>57</h3>

54 58 

55Worktrees bercabang dari cabang default repositori Anda, `origin/HEAD`, sehingga mereka dimulai dari pohon bersih yang cocok dengan remote. Jika tidak ada remote yang dikonfigurasi atau pengambilan gagal, worktree kembali ke `HEAD` lokal Anda saat ini. Untuk selalu bercabang dari `HEAD` lokal, atur `worktree.baseRef` ke `"head"` dalam [settings](/id/settings#worktree-settings). Mengatur `baseRef` ke `"head"` membuat worktree baru membawa commit yang belum didorong dan status cabang fitur Anda, yang berguna saat mengisolasi subagent yang perlu beroperasi pada pekerjaan yang sedang berlangsung. Pengaturan hanya menerima `"fresh"` atau `"head"`, bukan git refs arbitrer:59Worktrees bercabang dari cabang default repositori Anda, `origin/HEAD`, sehingga mereka dimulai dari pohon bersih yang cocok dengan remote. Ketika tidak ada yang mengambil repositori dalam 24 jam terakhir, Claude Code menyegarkan `origin/HEAD` dengan pengambilan cabang default, dibatasi pada lima detik, dan menggunakan ref yang disimpan secara lokal jika pengambilan gagal. Jika tidak ada remote yang dikonfigurasi, atau `origin/HEAD` tidak disimpan secara lokal dan tidak dapat diambil, worktree kembali ke `HEAD` lokal Anda saat ini.

60 

61Penyegaran memerlukan Claude Code v2.1.208 atau lebih baru; sebelum itu, worktree baru menggunakan apa pun yang sudah disimpan secara lokal di `origin/HEAD`.

62 

63Untuk selalu bercabang dari `HEAD` lokal, atur `worktree.baseRef` ke `"head"` dalam [settings](/id/settings#worktree-settings). Mengatur `baseRef` ke `"head"` membuat worktree baru membawa commit yang belum didorong dan status cabang fitur Anda, yang berguna saat mengisolasi subagent yang perlu beroperasi pada pekerjaan yang sedang berlangsung. Ketika sesi berjalan di dalam linked worktree, `"head"` diselesaikan ke `HEAD` worktree tersebut, bukan checkout utama. Pengaturan hanya menerima `"fresh"` atau `"head"`, bukan git refs arbitrer:

56 64 

57```json theme={null}65```json theme={null}

58{66{


70 78 

71Untuk kontrol penuh atas cara pembuatan worktrees, konfigurasikan hook [`WorktreeCreate`](/id/hooks#worktreecreate), yang menggantikan logika `git worktree` default sepenuhnya.79Untuk kontrol penuh atas cara pembuatan worktrees, konfigurasikan hook [`WorktreeCreate`](/id/hooks#worktreecreate), yang menggantikan logika `git worktree` default sepenuhnya.

72 80 

81<h3 id="reuse-a-worktree-name">

82 Gunakan kembali nama worktree

83</h3>

84 

85Menggunakan kembali nama worktree yang direktorinya sudah ada melanjutkan worktree tersebut.

86 

87Worktree yang dilanjutkan disetel ulang ke [base saat ini](#choose-the-base-branch) alih-alih melanjutkan di ujung lamanya ketika semua hal berikut berlaku:

88 

89* Tidak memiliki perubahan yang belum dikomit atau file yang tidak dilacak.

90* Masih berada di cabang yang dibuat Claude Code untuk itu.

91* Tidak pernah berkomit, atau pull request-nya digabungkan dan cabang remote-nya dihapus.

92 

93Sebelum v2.1.208, nama yang digunakan kembali selalu melanjutkan worktree lama di ujung lamanya.

94 

73<h2 id="copy-gitignored-files-into-worktrees">95<h2 id="copy-gitignored-files-into-worktrees">

74 Salin file yang diabaikan git ke dalam worktrees96 Salin file yang diabaikan git ke dalam worktrees

75</h2>97</h2>

Details

63| [Cloud sessions](/id/desktop#cloud-sessions) dari aplikasi Desktop | Memerlukan data sesi persisten yang mencakup prompt dan completion. |63| [Cloud sessions](/id/desktop#cloud-sessions) dari aplikasi Desktop | Memerlukan data sesi persisten yang mencakup prompt dan completion. |

64| [Artifacts](/id/artifacts) | Memerlukan penyimpanan konten halaman yang dipublikasikan di infrastruktur yang dioperasikan Anthropic. |64| [Artifacts](/id/artifacts) | Memerlukan penyimpanan konten halaman yang dipublikasikan di infrastruktur yang dioperasikan Anthropic. |

65| Pengiriman umpan balik (`/feedback`) | Mengirimkan umpan balik mengirimkan data percakapan ke Anthropic. |65| Pengiriman umpan balik (`/feedback`) | Mengirimkan umpan balik mengirimkan data percakapan ke Anthropic. |

66| [Remote Control](/id/remote-control) | Menyimpan transkrip sesi di server Anthropic untuk menyinkronkan percakapan di seluruh perangkat. |

66 67 

67Fitur-fitur ini diblokir di backend terlepas dari tampilan sisi klien. Jika Anda melihat fitur yang dinonaktifkan di terminal Claude Code selama startup, mencoba menggunakannya mengembalikan kesalahan yang menunjukkan kebijakan organisasi tidak memungkinkan tindakan tersebut.68Fitur-fitur ini diblokir di backend terlepas dari tampilan sisi klien. Jika Anda melihat fitur yang dinonaktifkan di terminal Claude Code selama startup, mencoba menggunakannya mengembalikan kesalahan yang menunjukkan kebijakan organisasi tidak memungkinkan tindakan tersebut.

68 69