SpyBara
Go Premium

Documentation 2026-09-28 22:59 UTC to 2026-09-29 13:59 UTC

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

111 Menjawab menu dan prompt111 Menjawab menu dan prompt

112</h2>112</h2>

113 113 

114Dalam mode pembaca layar, menu yang biasanya Anda navigasikan dengan tombol panah, termasuk prompt izin, menjadi daftar bernomor. Claude Code mengumumkan setiap opsi sebagai baris bernomor, kemudian prompt `Enter selection` yang menyebutkan rentang yang valid. Ketik nomor opsi yang Anda inginkan dan tekan Enter.114Dalam mode pembaca layar, menu yang biasanya Anda navigasikan dengan tombol panah, termasuk prompt izin, menjadi daftar bernomor. Claude Code mengumumkan setiap opsi sebagai baris bernomor, kemudian prompt `Select with numbers` yang menyebutkan rentang yang valid. Ketik nomor opsi yang Anda inginkan dan tekan Enter.

115 115 

116* Tekan Escape untuk membatalkan menu yang promptnya diakhiri dengan `or Escape to cancel`.116* Tekan Escape untuk membatalkan menu yang promptnya diakhiri dengan `or Escape to cancel`.

117* Jika Anda mengetik nomor yang tidak ada dalam daftar, Claude Code mengumumkan rentang yang valid dan membiarkan Anda mencoba lagi.117* Jika Anda mengetik nomor yang tidak ada dalam daftar, Claude Code mengumumkan rentang yang valid dan membiarkan Anda mencoba lagi.

admin-setup.md +2 −2

Details

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

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

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

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

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

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

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


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

106| [Disable claude.ai sync](/docs/id/settings-reference#syncclaudeaiskills) | Hentikan Claude Code dari memuat [skills](/docs/id/skills#how-synced-skills-behave) dan [plugins](/docs/id/plugins/loading#synced-plugins) yang diaktifkan pengembang Anda di claude.ai. Jika Anda mematikan Skills untuk organisasi Anda di claude.ai, Claude Code berhenti menyinkronkan keduanya, dan pada v2.1.273 atau lebih baru juga menghapus yang sudah disinkronkan. Untuk menghentikan salah satu tanpa mematikan Skills, atur kuncinya ke `false` dalam pengaturan terkelola | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |106| [Disable claude.ai sync](/docs/id/settings-reference#syncclaudeaiskills) | Hentikan Claude Code dari memuat [skills](/docs/id/skills#how-synced-skills-behave) dan [plugins](/docs/id/plugins/loading#synced-plugins) yang diaktifkan pengembang Anda di claude.ai. Jika Anda mematikan Skills untuk organisasi Anda di claude.ai, Claude Code berhenti menyinkronkan keduanya, dan pada v2.1.273 atau lebih baru juga menghapus yang sudah disinkronkan. Untuk menghentikan salah satu tanpa mematikan Skills, atur kuncinya ke `false` dalam pengaturan terkelola | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |

107| [Hook restrictions](/docs/id/settings-reference#allowmanagedhooksonly) | Batasi hook mana yang berjalan dan batasi URL hook HTTP; lihat [apa yang berjalan di bawah `allowManagedHooksOnly`](/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) untuk daftar efek lengkap | `allowManagedHooksOnly`, `allowedHttpHookUrls` |107| [Hook restrictions](/docs/id/settings-reference#allowmanagedhooksonly) | Batasi hook mana yang berjalan dan batasi URL hook HTTP; lihat [apa yang berjalan di bawah `allowManagedHooksOnly`](/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) untuk daftar efek lengkap | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

108| [Login enforcement](/docs/id/settings-reference#forceloginmethod) | Batasi login ke metode tertentu atau organisasi Anthropic. Pembatasan metode berlaku di seluruh ekstensi VS Code, Agent SDK, `claude setup-token`, dan `/install-github-app`, dan layar login interaktif terminal, dicapai oleh `/login` atau onboarding first-run, pra-pilih metode tanpa memberlakukannya; Claude Code memverifikasi organisasi untuk login akun claude.ai di terminal, ekstensi VS Code, dan Agent SDK, dan tidak memeriksanya untuk login Claude Console atau untuk sign-in [gateway](/docs/id/claude-apps-gateway). Sebelum v2.1.212, hanya login terminal yang menerapkan salah satu kunci. Ketika diatur, sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup; sesi penyedia cloud tidak terpengaruh | `forceLoginMethod`, `forceLoginOrgUUID` |108| [Login enforcement](/docs/id/settings-reference#forceloginmethod) | Batasi login ke metode tertentu atau organisasi Anthropic. Pembatasan metode berlaku di seluruh ekstensi VS Code, Agent SDK, `claude setup-token`, dan `/install-github-app`, dan layar login interaktif terminal, dicapai oleh `/login` atau onboarding first-run, pra-pilih metode tanpa memberlakukannya; Claude Code memverifikasi organisasi untuk login akun claude.ai di terminal, ekstensi VS Code, dan Agent SDK, dan tidak memeriksanya untuk login Claude Console atau untuk sign-in [gateway](/docs/id/claude-apps-gateway). Sebelum v2.1.212, hanya login terminal yang menerapkan salah satu kunci. Ketika diatur, sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup; sesi penyedia cloud tidak terpengaruh kecuali salah satu dari kredensial tersebut, atau kunci API yang disimpan oleh login Claude Console sebelumnya, juga ada | `forceLoginMethod`, `forceLoginOrgUUID` |

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

110| [Configure the corporate launcher](/docs/id/corporate-launcher) | Awali [background-agent supervisor](/docs/id/agent-view#how-background-sessions-are-hosted), pekerja-pekerja, dan [proses latar belakang tercakup lainnya](/docs/id/corporate-launcher#what-the-launcher-covers) dengan corporate launcher yang diperlukan alih-alih mematikan agent view | `processWrapper` |110| [Configure the corporate launcher](/docs/id/corporate-launcher) | Awali [background-agent supervisor](/docs/id/agent-view#how-background-sessions-are-hosted), pekerja-pekerja, dan [proses latar belakang tercakup lainnya](/docs/id/corporate-launcher#what-the-launcher-covers) dengan corporate launcher yang diperlukan alih-alih mematikan agent view | `processWrapper` |

111| [Model restrictions](/docs/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](/docs/id/model-config#surface-coverage) untuk cara pengaturan ini menjangkau CLI, web, dan IDE | `availableModels`, `enforceAvailableModels` |111| [Model restrictions](/docs/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](/docs/id/model-config#surface-coverage) untuk cara pengaturan ini menjangkau CLI, web, dan IDE | `availableModels`, `enforceAvailableModels` |

advisor.md +3 −2

Details

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

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

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

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

105| Opus 4.6 | Fable, Opus, Sonnet 5 | Advisor Sonnet 4.6 ditolak |105| Opus 4.6 | Fable, Opus, Sonnet 5 atau lebih baru | Advisor Sonnet 4.6 ditolak |

106| Opus 4.7 atau Opus 4.8 | Fable, dan Opus 4.7 atau lebih baru | Advisor Opus 4.6 atau Sonnet ditolak |106| Opus 4.7 atau Opus 4.8 | Fable, dan Opus 4.7 atau lebih baru | Advisor Opus 4.6 atau Sonnet ditolak |

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

108| Fable 5 | Fable 5.1 atau Fable 5 | Advisor Opus atau Sonnet ditolak |108| Fable 5 | Fable 5.1 atau Fable 5 | Advisor Opus atau Sonnet ditolak |


161 161 

162* **Reviewed**: baris mengkonfirmasi bahwa advisor telah meninjau percakapan. Ketika advisor mengembalikan panduan yang dapat dibaca, tekan `Ctrl+O` untuk membacanya.162* **Reviewed**: baris mengkonfirmasi bahwa advisor telah meninjau percakapan. Ketika advisor mengembalikan panduan yang dapat dibaca, tekan `Ctrl+O` untuk membacanya.

163* **Declined**: baris berbunyi `Advisor declined to advise on this request`. Jika advisor memberikan alasan, tekan `Ctrl+O` untuk membacanya.163* **Declined**: baris berbunyi `Advisor declined to advise on this request`. Jika advisor memberikan alasan, tekan `Ctrl+O` untuk membacanya.

164* **Unavailable**: panggilan advisor gagal, dan baris berbunyi `Advisor unavailable (<error_code>)`, di mana `<error_code>` adalah kode yang dikembalikan oleh panggilan.

164 165 

165Claude umumnya mengikuti panduan advisor, tetapi beradaptasi ketika bukti miliknya bertentangan dengan klaim spesifik: jika langkah yang direkomendasikan gagal saat dicoba, atau isi file bertentangan dengan saran, Claude menampilkan konflik daripada mengikuti panduan secara tidak terbatas.166Claude umumnya mengikuti panduan advisor, tetapi beradaptasi ketika bukti miliknya bertentangan dengan klaim spesifik: jika langkah yang direkomendasikan gagal saat dicoba, atau isi file bertentangan dengan saran, Claude menampilkan konflik daripada mengikuti panduan secara tidak terbatas.

166 167 

Details

129Lihat referensi TypeScript [`tool()`](/docs/id/agent-sdk/typescript#tool) atau referensi Python [`@tool`](/docs/id/agent-sdk/python#tool) untuk detail parameter lengkap, termasuk format input JSON Schema dan struktur nilai pengembalian.129Lihat referensi TypeScript [`tool()`](/docs/id/agent-sdk/typescript#tool) atau referensi Python [`@tool`](/docs/id/agent-sdk/python#tool) untuk detail parameter lengkap, termasuk format input JSON Schema dan struktur nilai pengembalian.

130 130 

131<Tip>131<Tip>

132 Untuk membuat parameter opsional: di TypeScript, tambahkan `.default()` ke bidang Zod. Di Python, skema dict memperlakukan setiap kunci sebagai diperlukan, jadi tinggalkan parameter dari skema, sebutkan dalam string deskripsi, dan baca dengan `args.get()` di handler. Alat [`get_precipitation_chance` di bawah](#add-more-tools) menunjukkan kedua pola.132 Untuk membuat parameter opsional: di TypeScript, tambahkan `.optional()` ke bidang Zod dan terapkan default di handler. Di Python, skema dict memperlakukan setiap kunci sebagai diperlukan, jadi tinggalkan parameter dari skema, sebutkan dalam string deskripsi, dan baca dengan `args.get()` di handler. Alat [`get_precipitation_chance` di bawah](#add-more-tools) menunjukkan kedua pola.

133</Tip>133</Tip>

134 134 

135<h3 id="call-a-custom-tool">135<h3 id="call-a-custom-tool">


248 .int()248 .int()

249 .min(1)249 .min(1)

250 .max(24)250 .max(24)

251 .default(12) // .default() makes the parameter optional251 .optional() // .optional() lets Claude omit the parameter

252 .describe("How many hours of forecast to return")252 .describe("How many hours of forecast to return")

253 },253 },

254 async (args) => {254 async (args) => {

255 const hours = args.hours ?? 12; // Apply the default in the handler

255 const response = await fetch(256 const response = await fetch(

256 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&hourly=precipitation_probability&forecast_days=1`257 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&hourly=precipitation_probability&forecast_days=1`

257 );258 );

258 const data: any = await response.json();259 const data: any = await response.json();

259 const chances = data.hourly.precipitation_probability.slice(0, args.hours);260 const chances = data.hourly.precipitation_probability.slice(0, hours);

260 261 

261 return {262 return {

262 content: [{ type: "text", text: `Next ${args.hours} hours: ${chances.join("%, ")}%` }]263 content: [{ type: "text", text: `Next ${hours} hours: ${chances.join("%, ")}%` }]

263 };264 };

264 }265 }

265 );266 );


469 Gambar470 Gambar

470</h3>471</h3>

471 472 

472Blok gambar membawa byte gambar secara inline, dikodekan sebagai base64. Tidak ada bidang URL. Untuk mengembalikan gambar yang berada di URL, ambil dalam handler, baca byte respons, dan kodekan base64 sebelum mengembalikan. Hasilnya diproses sebagai input visual.473Blok gambar membawa byte gambar secara inline, dikodekan sebagai base64. Tidak ada bidang URL. Untuk mengembalikan gambar yang berada di URL, ambil dalam handler, baca byte respons, dan kodekan base64 sebelum mengembalikan. Gambar PNG, JPEG, GIF, atau WebP mencapai Claude sebagai input visual; gambar dari jenis lain apa pun disimpan ke disk dan Claude menerima jalur filenya sebagai teks sebagai gantinya.

473 474 

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

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


538 Sumber Daya539 Sumber Daya

539</h3>540</h3>

540 541 

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

542 543 

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

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


548| `resource.blob` | `string` | Konten yang dikodekan base64, jika biner. Hanya TypeScript: SDK Python menghapus sumber daya biner dari hasil tool dan mencatat peringatan |549| `resource.blob` | `string` | Konten yang dikodekan base64, jika biner. Hanya TypeScript: SDK Python menghapus sumber daya biner dari hasil tool dan mencatat peringatan |

549| `resource.mimeType` | `string` | Opsional |550| `resource.mimeType` | `string` | Opsional |

550 551 

551Contoh ini menunjukkan blok sumber daya yang dikembalikan dari dalam handler tool. URI `file:///tmp/report.md` adalah label yang dapat direferensikan Claude nanti; SDK tidak membaca dari jalur tersebut.552Contoh ini menunjukkan blok sumber daya yang dikembalikan dari dalam handler tool. SDK tidak membaca dari URI contoh, `file:///tmp/report.md`.

552 553 

553<CodeGroup>554<CodeGroup>

554 ```typescript TypeScript theme={null}555 ```typescript TypeScript theme={null}


572 {573 {

573 "type": "resource",574 "type": "resource",

574 "resource": {575 "resource": {

575 "uri": "file:///tmp/report.md", # Label for Claude to reference, not a path the SDK reads576 "uri": "file:///tmp/report.md", # Not a path the SDK reads

576 "mimeType": "text/markdown",577 "mimeType": "text/markdown",

577 "text": "# Report\n...", # The actual content, inline578 "text": "# Report\n...", # The actual content, inline

578 },579 },

Details

6 6 

7> Temukan proyek Agent SDK yang lengkap dan dapat dijalankan atau resep terpandu di Claude Cookbook yang sesuai dengan apa yang ingin Anda bangun.7> Temukan proyek Agent SDK yang lengkap dan dapat dijalankan atau resep terpandu di Claude Cookbook yang sesuai dengan apa yang ingin Anda bangun.

8 8 

9Halaman ini mengarahkan Anda ke proyek Agent SDK yang lengkap dan dapat dijalankan serta resep Claude Cookbook yang terpandu. Aplikasi TypeScript berada di repositori [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos), dan resep Python berada di [Claude Cookbook](https://platform.claude.com/cookbook).9Halaman ini mengarahkan Anda ke proyek Agent SDK yang lengkap dan dapat dijalankan serta resep Claude Cookbook yang terpandu. Aplikasi berada di repositori [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos), dan resep Python berada di [Claude Cookbook](https://platform.claude.com/cookbook).

10 10 

11<h2 id="run-a-minimal-agent-first">11<h2 id="run-a-minimal-agent-first">

12 Jalankan agen minimal terlebih dahulu12 Jalankan agen minimal terlebih dahulu


18 18 

19* [Hello World](https://github.com/anthropics/claude-agent-sdk-demos/tree/main/hello-world): proyek TypeScript minimal untuk diklon ketika Anda ingin memulai dari kode repo19* [Hello World](https://github.com/anthropics/claude-agent-sdk-demos/tree/main/hello-world): proyek TypeScript minimal untuk diklon ketika Anda ingin memulai dari kode repo

20 20 

21<h2 id="explore-a-typescript-application">21<h2 id="explore-a-demo-application">

22 Jelajahi aplikasi TypeScript22 Jelajahi aplikasi demo

23</h2>23</h2>

24 24 

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

26 26 

27<h2 id="work-through-a-python-recipe">27<h2 id="work-through-a-python-recipe">

28 Bekerja melalui resep Python28 Bekerja melalui resep Python

Details

247 ```247 ```

248 </CodeGroup>248 </CodeGroup>

249 249 

250 Jika Anda menangkap ID sesi dan ID checkpoint, Anda juga dapat mengembalikan dari CLI. Perintah ini memerlukan executable `claude`, yang berasal dari [menginstal Claude Code](/docs/id/setup) dan tidak diinstal oleh paket SDK. SDK mengaktifkan checkpointing untuk Anda, tetapi ketika Anda menjalankan `claude -p` secara langsung, Anda harus mengatur variabel lingkungan `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING`:250 Jika Anda menangkap ID sesi dan ID checkpoint, Anda juga dapat mengembalikan dari CLI. Perintah ini memerlukan executable `claude`, yang berasal dari [menginstal Claude Code](/docs/id/setup). SDK mengaktifkan checkpointing untuk Anda, tetapi ketika Anda menjalankan `claude -p` secara langsung, Anda harus mengatur variabel lingkungan `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING`:

251 251 

252 ```bash theme={null}252 ```bash theme={null}

253 CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true claude -p --resume <session-id> --rewind-files <checkpoint-uuid>253 CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true claude -p --resume <session-id> --rewind-files <checkpoint-uuid>

Details

127 127 

128Contoh beban kerja termasuk agen email yang menyeleksi dan merespons surat masuk, pembuat situs yang menghosting situs yang dapat diedit per pengguna melalui port kontainer, dan chatbot yang menangani lalu lintas berkelanjutan dari platform seperti Slack.128Contoh beban kerja termasuk agen email yang menyeleksi dan merespons surat masuk, pembuat situs yang menghosting situs yang dapat diedit per pengguna melalui port kontainer, dan chatbot yang menangani lalu lintas berkelanjutan dari platform seperti Slack.

129 129 

130Kontainer mengekspos endpoint HTTP atau WebSocket dan memetakan setiap sesi aktif ke kueri berjalan lama dan subproses di belakangnya. Di TypeScript, gunakan [`streamInput()`](/docs/id/agent-sdk/typescript#query-object) untuk menambahkan giliran ke sesi aktif dan [`startup()`](/docs/id/agent-sdk/typescript#startup) untuk pra-pemanasan subproses sebelum lalu lintas masuk. Di Python, gunakan [`ClaudeSDKClient`](/docs/id/agent-sdk/python#claudesdkclient) untuk menjaga sesi tetap terbuka di seluruh giliran. Ukuran kontainer sehingga dapat menampung jumlah maksimum sesi bersamaan dalam memori.130Kontainer mengekspos endpoint HTTP atau WebSocket dan memetakan setiap sesi aktif ke kueri berjalan lama dan subproses di belakangnya. Panggilan yang menjaga sesi tetap terbuka dan hangat berbeda antara SDK:

131 

132* **TypeScript**: gunakan [`streamInput()`](/docs/id/agent-sdk/typescript#query-object) untuk menambahkan giliran ke sesi aktif. Panggil [`startup()`](/docs/id/agent-sdk/typescript#startup) untuk pra-pemanasan subproses sebelum lalu lintas masuk. Jika Anda tidak mengetahui direktori kerja sesi sampai permintaan pertamanya tiba, pra-panaskan dengan [`prewarm()`](/docs/id/agent-sdk/typescript#prewarm) sebagai gantinya.

133* **Python**: gunakan [`ClaudeSDKClient`](/docs/id/agent-sdk/python#claudesdkclient) untuk menjaga sesi tetap terbuka di seluruh giliran.

134 

135Ukuran kontainer sehingga dapat menampung jumlah maksimum sesi bersamaan dalam memori.

131 136 

132<h3 id="hybrid-sessions">137<h3 id="hybrid-sessions">

133 Sesi Hybrid138 Sesi Hybrid


314 319 

315* Lewatkan `settingSources: []` di TypeScript atau `setting_sources=[]` di Python untuk melewati pengaturan pengguna, proyek, dan lokal.320* Lewatkan `settingSources: []` di TypeScript atau `setting_sources=[]` di Python untuk melewati pengaturan pengguna, proyek, dan lokal.

316* Atur `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env`. [Auto memory](/docs/id/memory#auto-memory) di `~/.claude/projects/<project>/memory/` dimuat ke prompt sistem terlepas dari `settingSources`. Lihat [Apa yang settingSources tidak kontrol](/docs/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) untuk input lain yang dimuat tanpa syarat.321* Atur `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` di `env`. [Auto memory](/docs/id/memory#auto-memory) di `~/.claude/projects/<project>/memory/` dimuat ke prompt sistem terlepas dari `settingSources`. Lihat [Apa yang settingSources tidak kontrol](/docs/id/agent-sdk/claude-code-features#what-settingsources-does-not-control) untuk input lain yang dimuat tanpa syarat.

317* Arahkan `CLAUDE_CONFIG_DIR` ke direktori per-tenant sehingga tenant tidak berbagi config global `~/.claude.json`. Ketika setiap direktori config melayani satu direktori kerja dan Anda tidak berbagi [`SessionStore`](/docs/id/agent-sdk/session-storage) di seluruh tenant, Anda juga dapat mengatur [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/id/sessions#name-the-project-directory-yourself) di `env` untuk menjaga jalur transkrip di bawahnya tetap pendek. Memerlukan Agent SDK TypeScript v0.3.234 atau lebih baru, atau Agent SDK Python v0.2.140 atau lebih baru.322* Arahkan `CLAUDE_CONFIG_DIR` ke direktori per-tenant sehingga tenant tidak berbagi config global `~/.claude.json`. Ketika setiap direktori config melayani satu direktori kerja dan Anda tidak melewatkan [`SessionStore`](/docs/id/agent-sdk/session-storage), Anda juga dapat mengatur [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/id/sessions#name-the-project-directory-yourself) di `env` untuk menjaga jalur transkrip di bawahnya tetap pendek. Memerlukan Agent SDK TypeScript v0.3.234 atau lebih baru, atau Agent SDK Python v0.2.140 atau lebih baru.

318* Gunakan direktori kerja per-tenant. Lewatkan `cwd` secara eksplisit pada setiap panggilan `query()`.323* Gunakan direktori kerja per-tenant. Lewatkan `cwd` secara eksplisit pada setiap panggilan `query()`.

319* Terapkan aturan egress per-tenant di proxy Anda, seperti IP outbound yang berbeda, kredensial, atau daftar allowlist domain, sehingga tenant yang dikompromikan tidak dapat mengeksfiltrasikan data melalui kebijakan outbound tenant lain.324* Terapkan aturan egress per-tenant di proxy Anda, seperti IP outbound yang berbeda, kredensial, atau daftar allowlist domain, sehingga tenant yang dikompromikan tidak dapat mengeksfiltrasikan data melalui kebijakan outbound tenant lain.

320 325 

Details

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

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

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

165| Server [SDK](#sdk-mcp-servers) dalam proses | Ya, sampai terhubung dan mencantumkan alatnya | Tidak ada; permintaan koneksi dan pencantuman alat masing-masing memiliki batas waktu sendiri |165| Server [SDK](#sdk-mcp-servers) dalam proses | Ya, sampai terhubung dan mencantumkan alatnya | [`MCP_TIMEOUT`](/docs/id/env-vars), 30 detik secara default, per upaya koneksi; koneksi gagal pada batas waktu tersebut |

166 166 

167Server yang dimuat dari [file pengaturan](#from-a-config-file) seperti `.mcp.json` atau dari plugin biasanya menunjukkan `pending` dalam pesan init. Ketika `options.mcpServers` menyimpan server stdio, HTTP, atau SSE, putaran pertama menunggu server yang tertunda ini juga, hingga `MCP_TIMEOUT`. Ketika `options.mcpServers` kosong atau hanya menyimpan server SDK, putaran pertama menunggu hingga 2 detik sebagai gantinya:167Server yang dimuat dari [file pengaturan](#from-a-config-file) seperti `.mcp.json` atau dari plugin biasanya menunjukkan `pending` dalam pesan init. Ketika `options.mcpServers` menyimpan server stdio, HTTP, atau SSE, putaran pertama menunggu server yang tertunda ini juga, hingga `MCP_TIMEOUT`. Ketika `options.mcpServers` kosong atau hanya menyimpan server SDK, putaran pertama menunggu hingga 2 detik sebagai gantinya:

168 168 

Details

14 14 

15Sebuah system prompt adalah set instruksi awal yang membentuk bagaimana Claude berperilaku sepanjang percakapan. Agent SDK memiliki tiga titik awal untuk itu:15Sebuah system prompt adalah set instruksi awal yang membentuk bagaimana Claude berperilaku sepanjang percakapan. Agent SDK memiliki tiga titik awal untuk itu:

16 16 

17* **Default minimal**: ketika Anda tidak menetapkan `systemPrompt` di TypeScript atau `system_prompt` di Python, SDK menggunakan prompt minimal yang mencakup tool calling tetapi menghilangkan sisa konten preset `claude_code`, termasuk instruksi keamanan dan keselamatannya serta konteksnya tentang direktori kerja dan lingkungan. Ini berbeda dari `claude -p`, yang menggunakan system prompt Claude Code secara default. Jika Anda bermigrasi dari CLI dan menginginkan perilaku yang cocok, atur preset `claude_code`.17* **Default minimal**: ketika Anda tidak menetapkan `systemPrompt` di TypeScript atau `system_prompt` di Python, SDK menggunakan prompt minimal yang mencakup tool calling tetapi menghilangkan sisa konten preset `claude_code`, termasuk instruksi keamanan dan keselamatannya. Ini berbeda dari `claude -p`, yang menggunakan system prompt Claude Code secara default. Jika Anda bermigrasi dari CLI dan menginginkan perilaku yang cocok, atur preset `claude_code`.

18* **Preset `claude_code`**: system prompt yang digunakan CLI Claude Code, dengan instruksi penggunaan tool, instruksi keamanan dan keselamatan, dan konteks tentang direktori kerja dan lingkungan. Atur `systemPrompt: { type: "preset", preset: "claude_code" }` di TypeScript atau `system_prompt={"type": "preset", "preset": "claude_code"}` di Python, secara opsional dengan `append` untuk menambahkan instruksi Anda sendiri di akhir.18* **Preset `claude_code`**: system prompt yang digunakan CLI Claude Code, dengan instruksi penggunaan tool dan instruksi keamanan dan keselamatan. Atur `systemPrompt: { type: "preset", preset: "claude_code" }` di TypeScript atau `system_prompt={"type": "preset", "preset": "claude_code"}` di Python, secara opsional dengan `append` untuk menambahkan instruksi Anda sendiri di akhir.

19* **String kustom**: prompt yang Anda tulis sendiri. SDK hanya mengirimkan apa yang Anda berikan.19* **String kustom**: prompt yang Anda tulis sendiri. SDK hanya mengirimkan apa yang Anda berikan.

20 20 

21<h3 id="decide-on-a-starting-point">21<h3 id="decide-on-a-starting-point">


26 26 

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

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

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

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

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

32| Loop tool-calling tipis tanpa persona agen, di mana Anda menyediakan semua perilaku dalam prompt pengguna | Tidak ada opsi `systemPrompt` | Default minimal: dukungan tool-calling dan tidak ada yang lain |32| Loop tool-calling tipis tanpa persona agen, di mana Anda menyediakan semua perilaku dalam prompt pengguna | Tidak ada opsi `systemPrompt` | Default minimal: dukungan tool-calling dan tidak ada yang lain |


225 Tingkatkan prompt caching di berbagai pengguna dan mesin225 Tingkatkan prompt caching di berbagai pengguna dan mesin

226</h4>226</h4>

227 227 

228Secara default, dua sesi yang menggunakan preset `claude_code` dan teks `append` yang sama masih tidak dapat berbagi entri cache prompt jika berjalan dari direktori kerja yang berbeda. Ini karena preset menyematkan konteks per-sesi dalam system prompt sebelum teks `append` Anda: direktori kerja, apakah itu repositori git, platform, shell aktif, versi OS, dan jalur auto-memory. Perbedaan apa pun dalam konteks itu menghasilkan system prompt yang berbeda dan cache miss. Konten CLAUDE.md tidak mempengaruhi cache system prompt karena SDK menyuntikkannya ke dalam percakapan, bukan system prompt.228Secara default, dua sesi yang menggunakan preset `claude_code` dan teks `append` yang sama masih tidak dapat berbagi entri cache prompt ketika lokasi auto memory mereka berbeda. Preset menyematkan lokasi itu dalam system prompt sebelum teks `append` Anda. Lokasi default adalah jalur absolut di bawah `~/.claude/projects/` yang dinamai untuk jalur repositori di disk, sehingga berbeda di berbagai pengguna, mesin, dan checkout.

229 229 

230Untuk membuat system prompt identik di berbagai sesi, atur `excludeDynamicSections: true` di TypeScript atau `"exclude_dynamic_sections": True` di Python. Konteks per-sesi berpindah ke pesan pengguna pertama, meninggalkan hanya preset statis dan teks `append` Anda dalam system prompt sehingga konfigurasi identik berbagi entri cache di berbagai pengguna dan mesin.230Konten CLAUDE.md dan detail lingkungan seperti direktori kerja, platform, shell, dan versi OS tidak mempengaruhi cache system prompt, karena Claude Code menyampaikannya dalam percakapan, bukan system prompt.

231 

232Untuk membuat system prompt identik di berbagai sesi, atur `excludeDynamicSections: true` di TypeScript atau `"exclude_dynamic_sections": True` di Python. Konteks per-pengguna berpindah ke pesan pengguna pertama, meninggalkan hanya preset statis dan teks `append` Anda dalam system prompt sehingga konfigurasi identik berbagi entri cache di berbagai pengguna dan mesin.

231 233 

232<Note>234<Note>

233 `excludeDynamicSections` memerlukan `@anthropic-ai/claude-agent-sdk` v0.2.98 atau lebih baru, atau `claude-agent-sdk` v0.1.58 atau lebih baru untuk Python. Atur pada bentuk objek preset saja. SDK mengabaikannya ketika Anda melewatkan prompt khusus alih-alih preset; untuk menjaga instruksi prompt khusus yang di-cache dalam TypeScript SDK, lihat [Cache bagian statis dari prompt khusus](#cache-the-static-part-of-a-custom-prompt).235 `excludeDynamicSections` memerlukan `@anthropic-ai/claude-agent-sdk` v0.2.98 atau lebih baru, atau `claude-agent-sdk` v0.1.58 atau lebih baru untuk Python. Atur pada bentuk objek preset saja. SDK mengabaikannya ketika Anda melewatkan prompt khusus alih-alih preset; untuk menjaga instruksi prompt khusus yang di-cache dalam TypeScript SDK, lihat [Cache bagian statis dari prompt khusus](#cache-the-static-part-of-a-custom-prompt).

234</Note>236</Note>

235 237 

236Contoh berikut memasangkan blok `append` bersama dengan `excludeDynamicSections` sehingga armada agen yang berjalan dari direktori berbeda dapat menggunakan kembali system prompt yang di-cache sama:238Contoh berikut memasangkan blok `append` bersama dengan `excludeDynamicSections` sehingga armada agen dapat menggunakan kembali system prompt yang di-cache sama:

237 239 

238<CodeGroup>240<CodeGroup>

239 ```typescript TypeScript theme={null}241 ```typescript TypeScript theme={null}


279 ```281 ```

280</CodeGroup>282</CodeGroup>

281 283 

282**Tradeoffs:** direktori kerja, flag git-repo, platform, shell aktif, versi OS, dan jalur auto-memory masih mencapai Claude, tetapi sebagai bagian dari pesan pengguna pertama daripada system prompt. Instruksi dalam pesan pengguna memiliki bobot sedikit lebih rendah daripada teks yang sama dalam system prompt, sehingga Claude mungkin mengandalkannya lebih sedikit saat bernalar tentang direktori saat ini atau jalur auto-memory. Aktifkan opsi ini ketika penggunaan kembali cache lintas-sesi lebih penting daripada konteks lingkungan yang paling otoritatif.284**Tradeoffs:** teks yang berpindah keluar dari system prompt masih mencapai Claude, tetapi dalam pesan pengguna. Teks itu setidaknya adalah lokasi direktori auto memory, dan sering kali seluruh bagian auto memory. Instruksi dalam pesan pengguna memiliki bobot sedikit lebih rendah daripada teks yang sama dalam system prompt, sehingga Claude mungkin mengikuti panduan auto memory-nya dengan kurang konsisten. Aktifkan opsi ini ketika penggunaan kembali cache lintas-sesi lebih penting daripada itu.

283 285 

284Untuk flag yang setara dalam mode CLI non-interaktif, lihat [`--exclude-dynamic-system-prompt-sections`](/docs/id/cli-reference).286Untuk flag yang setara dalam mode CLI non-interaktif, lihat [`--exclude-dynamic-system-prompt-sections`](/docs/id/cli-reference).

285 287 


418 420 

419Pencatatan `append` atau prompt khusus secara default memerlukan Claude Code v2.1.265 atau lebih baru, yang TypeScript Agent SDK bundel dari v0.3.265 dan Python Agent SDK dari v0.2.153. Sebelum Claude Code v2.1.268, sesi yang tidak [mengambil feature flags](/docs/id/env-vars#features-that-need-feature-flag-fetching), termasuk sesi di Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry, membangun kembali prompt pada setiap permintaan dan `snapshot` tidak berpengaruh.421Pencatatan `append` atau prompt khusus secara default memerlukan Claude Code v2.1.265 atau lebih baru, yang TypeScript Agent SDK bundel dari v0.3.265 dan Python Agent SDK dari v0.2.153. Sebelum Claude Code v2.1.268, sesi yang tidak [mengambil feature flags](/docs/id/env-vars#features-that-need-feature-flag-fetching), termasuk sesi di Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry, membangun kembali prompt pada setiap permintaan dan `snapshot` tidak berpengaruh.

420 422 

423<h2 id="context-claude-code-adds-outside-the-system-prompt">

424 Konteks yang Claude Code tambahkan di luar system prompt

425</h2>

426 

427System reminders adalah pesan yang Claude Code tambahkan ke percakapan selama sesi untuk memberikan Claude konteks, seperti isi file CLAUDE.md Anda atau catatan bahwa file berubah di disk. Claude Code mengirimnya dalam percakapan, bukan dalam system prompt, sehingga mereka mencapai Claude apakah Anda menggunakan preset `claude_code` atau meneruskan string Anda sendiri sebagai `systemPrompt`.

428 

429Bagian ini mencakup [reminders yang paling mungkin mengubah perilaku agen Anda](#reminders-claude-code-adds-to-the-conversation), cara [mematikan yang diganti agen Anda](#turn-off-the-context-your-agent-replaces), dan cara [melihat apa yang Claude terima](#see-what-claude-received) dalam permintaan tertentu.

430 

431<h3 id="reminders-claude-code-adds-to-the-conversation">

432 Reminders Claude Code adds to the conversation

433</h3>

434 

435System reminders adalah teks yang Claude Code tambahkan ke percakapan bersama dengan prompt yang kode Anda kirim. Reminders berikut adalah yang paling mungkin mengubah perilaku agen Anda:

436 

437* **Project instructions**: file CLAUDE.md yang opsi [`settingSources`](#claude-md-files-for-project-level-instructions) Anda muat

438* **Output style instructions**: instruksi dari [output style](#output-styles-for-persistent-configurations) aktif, dalam percakapan utama

439* **Commit and pull request attribution**: trailer `Co-Authored-By` dan footer pull request dari pengaturan [`attribution`](/docs/id/settings-reference#attribution)

440* **Hook output**: teks yang [hooks](/docs/id/agent-sdk/hooks#outputs) Anda kembalikan sebagai `additionalContext`

441* **Available skills**: nama dan deskripsi [skills](/docs/id/agent-sdk/skills) yang dapat dipanggil Claude

442* **Available subagents**: nama dan deskripsi [subagents](/docs/id/agent-sdk/subagents) yang dapat dimulai Claude

443* **Task list nudges**: dalam [sesi yang memiliki task-tracking tools](/docs/id/agent-sdk/todo-tracking#model-availability), prompt untuk memperbarui daftar tugas ketika Claude belum menyentuhnya selama beberapa putaran

444* **File-changed notes**: catatan bahwa file yang dibaca Claude sebelumnya telah berubah di disk

445 

446Claude Code memperkenalkan file CLAUDE.md Anda dengan baris yang memberi tahu Claude bahwa instruksi menggantikan perilaku default.

447 

448Jika Anda meneruskan string Anda sendiri sebagai `systemPrompt`, tambahkan kalimat ke dalamnya yang mengatakan apa itu system reminder. Preset `claude_code` memiliki satu, dan string Anda menggantikan seluruh preset. Tanpa itu, tidak ada dalam prompt Anda yang memberi tahu Claude bahwa reminders seperti konten CLAUDE.md dan hook output berasal dari aplikasi daripada dari pengguna. Sebagai contoh:

449 

450```text theme={null}

451The application adds system reminders to this conversation. Treat them as context from the application, not as messages from the user.

452```

453 

454<h3 id="turn-off-the-context-your-agent-replaces">

455 Turn off the context your agent replaces

456</h3>

457 

458Matikan bagian konteks bawaan ketika agen Anda menyediakan versi panduan yang sama. Misalnya, jika prompt Anda memberi tahu Claude untuk menulis pesan commit sebagai `PROJ-142: fix login redirect` tanpa trailer, Claude Code masih memberi tahu Claude untuk mengakhiri setiap pesan commit dengan trailer `Co-Authored-By`, sehingga Claude menerima dua instruksi yang bertentangan untuk commit yang sama.

459 

460Teruskan kunci pengaturan melalui opsi [`settings`](/docs/id/agent-sdk/typescript#options) di TypeScript atau [`settings`](/docs/id/agent-sdk/python#claudeagentoptions) di Python, dan variabel lingkungan melalui opsi `env`. Di TypeScript, [`env`](/docs/id/agent-sdk/typescript#options) menggantikan lingkungan yang diwariskan, jadi sebarkan `process.env` ke dalamnya.

461 

462| Built-in context | Cara mematikannya |

463| :- | :- |

464| Instruksi commit dan pull request bawaan dan snapshot status git | Atur [`includeGitInstructions`](/docs/id/settings-reference#includegitinstructions) ke `false`, atau `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=1` |

465| Trailer `Co-Authored-By` dan footer pull request | Atur [`attribution.commit`](/docs/id/settings-reference#attribution-commit) dan [`attribution.pr`](/docs/id/settings-reference#attribution-pr) ke teks Anda sendiri, atau ke string kosong untuk menghapusnya |

466| Sumber pengaturan pengguna atau proyek, termasuk CLAUDE.md-nya | Tinggalkan `'user'` atau `'project'` dari [`settingSources`](/docs/id/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) |

467| Setiap file CLAUDE.md | Atur `CLAUDE_CODE_DISABLE_CLAUDE_MDS=1` |

468| Task list nudges, file-changed notes, dan daftar skill | Atur `CLAUDE_CODE_DISABLE_ATTACHMENTS=1` |

469 

470Instruksi commit dan pull request bawaan Claude Code bukan reminder. Mereka adalah bagian dari deskripsi Bash tool, sehingga mereka juga mencapai Claude ketika Anda meneruskan `systemPrompt` kustom.

471 

472Jika Anda mengatur `CLAUDE_CODE_DISABLE_ATTACHMENTS`, Claude Code juga mengirim penyebutan file `@` sebagai teks biasa daripada memperluas mereka ke konten file. Daftar subagents yang tersedia dan notifikasi tugas latar belakang masih tiba.

473 

474Contoh berikut adalah untuk agen yang membawa aturan commit sendiri dalam `append`. Ini mengatur kedua kunci `attribution` ke string kosong untuk menghapus trailer dan footer, dan mematikan `includeGitInstructions` sehingga instruksi alur kerja commit Claude Code sendiri tidak bersaing dengan milik Anda:

475 

476<CodeGroup>

477 ```typescript TypeScript theme={null}

478 import { query } from "@anthropic-ai/claude-agent-sdk";

479 

480 for await (const message of query({

481 prompt: "Commit the staged changes for ticket PROJ-142",

482 options: {

483 systemPrompt: {

484 type: "preset",

485 preset: "claude_code",

486 append: "Write commit messages as: <ticket id>: <summary>. Add no trailers."

487 },

488 settings: {

489 includeGitInstructions: false,

490 attribution: { commit: "", pr: "" }

491 },

492 allowedTools: ["Bash(git *)"]

493 }

494 })) {

495 if (message.type === "result") console.log(message.subtype);

496 }

497 ```

498 

499 ```python Python theme={null}

500 import asyncio

501 from claude_agent_sdk import query, ClaudeAgentOptions

502 

503 

504 async def main():

505 async for message in query(

506 prompt="Commit the staged changes for ticket PROJ-142",

507 options=ClaudeAgentOptions(

508 system_prompt={

509 "type": "preset",

510 "preset": "claude_code",

511 "append": "Write commit messages as: <ticket id>: <summary>. Add no trailers.",

512 },

513 settings='{"includeGitInstructions": false, "attribution": {"commit": "", "pr": ""}}',

514 allowed_tools=["Bash(git *)"],

515 ),

516 ):

517 print(message)

518 

519 

520 asyncio.run(main())

521 ```

522</CodeGroup>

523 

524Untuk mengonfirmasi perubahan, jalankan contoh dalam repositori dengan perubahan yang dipentaskan dan periksa commit baru dengan `git log -1`. Pesan berakhir tanpa trailer `Co-Authored-By`.

525 

526<h3 id="see-what-claude-received">

527 See what Claude received

528</h3>

529 

530Aliran pesan SDK tidak menyertakan system reminders, jadi membaca pesan yang kode Anda terima tidak akan menunjukkan kepada Anda apa yang Claude lihat. Untuk melihatnya, catat permintaan yang Claude Code kirim:

531 

532* **Raw request logging**: atur [`OTEL_LOG_RAW_API_BODIES`](/docs/id/monitoring-usage#api-request-body-event) ke `file:<dir>`. Claude Code menulis setiap badan permintaan ke direktori itu.

533* **A gateway you control**: arahkan [`ANTHROPIC_BASE_URL`](/docs/id/llm-gateway) ke proxy yang mencatat badan permintaan.

534 

535Dalam permintaan yang dicatat, lihat di array `messages`. Reminder muncul di dalam pesan pengguna yang dibungkus dalam tag `<system-reminder>` atau, pada beberapa model, sebagai pesan terpisah dengan peran `system`.

536 

421<h2 id="compare-the-four-approaches">537<h2 id="compare-the-four-approaches">

422 Perbandingan keempat pendekatan538 Perbandingan keempat pendekatan

423</h2>539</h2>


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

432| **Default tools** | Dipertahankan | Dipertahankan | Dipertahankan | Hilang (kecuali disertakan) |548| **Default tools** | Dipertahankan | Dipertahankan | Dipertahankan | Hilang (kecuali disertakan) |

433| **Built-in safety** | Dipertahankan | Dipertahankan | Dipertahankan | Harus ditambahkan |549| **Built-in safety** | Dipertahankan | Dipertahankan | Dipertahankan | Harus ditambahkan |

434| **Environment context** | Otomatis | Otomatis | Otomatis | Harus disediakan |

435| **Customization level** | Hanya penambahan | Ganti atau perluas default | Hanya penambahan | Kontrol penuh |550| **Customization level** | Hanya penambahan | Ganti atau perluas default | Hanya penambahan | Kontrol penuh |

436| **Version control** | Dengan proyek | Ya | Dengan kode | Dengan kode |551| **Version control** | Dengan proyek | Ya | Dengan kode | Dengan kode |

437| **Scope** | Spesifik proyek | Pengguna atau proyek | Sesi kode | Sesi kode |552| **Scope** | Spesifik proyek | Pengguna atau proyek | Sesi kode | Sesi kode |

Details

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

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

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

253| `OTEL_LOG_TOOL_DETAILS=1` | Tool input arguments (file paths, shell commands, search patterns) pada events `claude_code.tool_result` |253| `OTEL_LOG_TOOL_DETAILS=1` | Tool input arguments seperti file paths, shell commands, dan search patterns pada events `claude_code.tool_result`, dan real agent, skill, plugin, dan MCP server names pada [cost and token metrics](/docs/id/monitoring-usage#cost-counter) |

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

255| `OTEL_LOG_RAW_API_BODIES` | Full Anthropic Messages API request dan response JSON sebagai log events `claude_code.api_request_body` dan `claude_code.api_response_body`. Atur ke `1` untuk inline bodies truncated pada 60 KB secara default, atau `file:<dir>` untuk untruncated bodies di disk dengan path `body_ref` dalam event. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` mengonfigurasi inline truncation limit, dan memerlukan Claude Code v2.1.214 atau lebih baru. Bodies mencakup entire conversation history dan memiliki extended-thinking content redacted. Mengaktifkan ini menyiratkan consent ke semua yang akan diungkapkan oleh tiga variables di atas |255| `OTEL_LOG_RAW_API_BODIES` | Full Anthropic Messages API request dan response JSON sebagai log events `claude_code.api_request_body` dan `claude_code.api_response_body`. Atur ke `1` untuk inline bodies truncated pada 60 KB secara default, atau `file:<dir>` untuk untruncated bodies di disk dengan path `body_ref` dalam event. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` mengonfigurasi inline truncation limit, dan memerlukan Claude Code v2.1.214 atau lebih baru. Bodies mencakup entire conversation history dan memiliki extended-thinking content redacted. Mengaktifkan ini menyiratkan consent ke semua yang akan diungkapkan oleh tiga variables di atas |

256 256 

257Biarkan unset kecuali pipeline observability Anda disetujui untuk menyimpan data yang ditangani agent Anda. Lihat [Security and privacy](/docs/id/monitoring-usage#security-and-privacy) dalam referensi Monitoring untuk daftar lengkap attributes dan redaction behavior.257Biarkan unset kecuali pipeline observability Anda disetujui untuk menyimpan data yang ditangani agent Anda. Lihat [Security and privacy](/docs/id/monitoring-usage#security-and-privacy) dalam referensi Monitoring untuk daftar lengkap attributes dan redaction behavior.

Details

41 </Step>41 </Step>

42 42 

43 <Step title="Allow rules">43 <Step title="Allow rules">

44 Periksa aturan `allow` (dari `allowed_tools` dan settings.json). Jika aturan cocok, alat disetujui. Panggilan yang alat setujui sendiri juga diselesaikan pada langkah ini, tanpa aturan yang diperlukan: misalnya pembacaan file di dalam direktori kerja Anda atau [perintah Bash read-only](/docs/id/permissions#read-only-commands). Penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](/docs/id/permission-modes#critical-paths) tidak pernah disetujui oleh aturan allow: mereka mencapai callback Anda dalam mode yang meminta, pergi ke [classifier](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) dalam mode `auto` pada Claude Code v2.1.218 atau lebih baru, dan ditolak dalam mode `dontAsk`.44 Periksa aturan `allow` (dari `allowed_tools` dan settings.json). Jika aturan cocok, alat disetujui. Panggilan yang alat setujui sendiri juga diselesaikan pada langkah ini, tanpa aturan yang diperlukan: misalnya pembacaan file di dalam direktori kerja Anda atau [perintah Bash read-only](/docs/id/permissions#read-only-commands).

45 

46 Penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](/docs/id/permission-modes#critical-paths) tidak pernah disetujui oleh aturan allow. Apakah mereka kemudian mencapai callback Anda tergantung pada mode izin: dalam sesi Agent SDK dalam mode `auto`, misalnya, Claude Code menolaknya secara default tanpa memanggilnya. Tabel mode [Critical paths](/docs/id/permission-modes#critical-paths) mencantumkan apa yang dilakukan setiap mode dengan mereka.

45 </Step>47 </Step>

46 48 

47 <Step title="canUseTool callback">49 <Step title="canUseTool callback">


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

90 92 

91<Warning>93<Warning>

92 **Alat yang disetujui secara otomatis tidak pernah mencapai `canUseTool`.** Panggilan alat yang disetujui pada langkah sebelumnya apa pun, oleh `acceptEdits` atau `bypassPermissions`, atau oleh aturan izin, melewati callback `canUseTool` Anda, sehingga pemeriksaan izin yang Anda letakkan di sana diam-diam dilewati untuk alat tersebut. `AskUserQuestion`, alat MCP yang ditandai [`_meta["anthropic/requiresUserInteraction"]`](/docs/id/mcp#require-approval-for-a-specific-tool), alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](/docs/id/permission-modes#critical-paths) masih mencapai callback, bahkan ketika aturan izin cocok. Dalam mode `auto`, penghapusan jalur kritis pergi ke [pengklasifikasi](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) alih-alih callback, sementara panggilan lain yang tercantum di sini masih mencapainya; perutean pengklasifikasi memerlukan Claude Code v2.1.218 atau lebih baru. Dalam mode `dontAsk` panggilan ini ditolak sebagai gantinya, tanpa memanggil callback.94 **Alat yang disetujui secara otomatis tidak pernah mencapai `canUseTool`.** Panggilan alat yang disetujui pada langkah sebelumnya apa pun, oleh `acceptEdits` atau `bypassPermissions`, atau oleh aturan izin, melewati callback `canUseTool` Anda, sehingga pemeriksaan izin yang Anda letakkan di sana diam-diam dilewati untuk alat tersebut.

95 

96 Aturan izin tidak pernah menyetujui secara otomatis `AskUserQuestion`, alat MCP yang ditandai [`_meta["anthropic/requiresUserInteraction"]`](/docs/id/mcp#require-approval-for-a-specific-tool), alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), atau penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](/docs/id/permission-modes#critical-paths). Dalam mode `dontAsk` Claude Code menolak panggilan ini tanpa memanggil callback. Dalam mode lain tiga yang pertama mencapai callback. Tergantung pada [mode izin](/docs/id/permission-modes#critical-paths), penghapusan jalur kritis mencapai callback juga atau Claude Code menolaknya tanpa memanggilnya, seperti yang dilakukannya secara default untuk sesi Agent SDK dalam mode `auto`.

93 97 

94 Cakupan tergantung pada bentuk entri: nama telanjang seperti `Read` atau `mcp__github__get_issue` menyetujui setiap panggilan ke alat tersebut terlepas dari pengecualian di atas, sementara aturan berskop seperti `Bash(npm test *)` hanya menyetujui panggilan yang cocok, dan panggilan `Bash` lainnya yang memerlukan persetujuan masih jatuh melalui callback. Untuk pemeriksaan yang harus berjalan pada setiap panggilan alat, gunakan [hook `PreToolUse`](/docs/id/agent-sdk/hooks): hook berjalan sebelum setiap langkah lainnya, dan penolakan hook bahkan berlaku dalam mode `bypassPermissions`.98 Cakupan tergantung pada bentuk entri: nama telanjang seperti `Read` atau `mcp__github__get_issue` menyetujui setiap panggilan ke alat tersebut terlepas dari pengecualian di atas, sementara aturan berskop seperti `Bash(npm test *)` hanya menyetujui panggilan yang cocok, dan panggilan `Bash` lainnya yang memerlukan persetujuan masih jatuh melalui callback. Untuk pemeriksaan yang harus berjalan pada setiap panggilan alat, gunakan [hook `PreToolUse`](/docs/id/agent-sdk/hooks): hook berjalan sebelum setiap langkah lainnya, dan penolakan hook bahkan berlaku dalam mode `bypassPermissions`.

95</Warning>99</Warning>


301 305 

302Pengeditan file tidak pernah auto-approved dalam mode rencana, bahkan ketika aturan izin cocok. Mereka meminta melalui callback `canUseTool` Anda sebagai gantinya. Pada Claude Code v2.1.212 atau lebih baru, perintah shell yang memodifikasi file, seperti `touch` dan `rm`, mencapai callback `canUseTool` Anda dengan cara yang sama.306Pengeditan file tidak pernah auto-approved dalam mode rencana, bahkan ketika aturan izin cocok. Mereka meminta melalui callback `canUseTool` Anda sebagai gantinya. Pada Claude Code v2.1.212 atau lebih baru, perintah shell yang memodifikasi file, seperti `touch` dan `rm`, mencapai callback `canUseTool` Anda dengan cara yang sama.

303 307 

304Jika Anda mengatur `allowDangerouslySkipPermissions: true` bersama dengan `permissionMode: 'plan'`, pengeditan file dan perintah shell yang memodifikasi file masih mencapai callback `canUseTool` Anda. Opsi ini memungkinkan Anda untuk beralih ke `bypassPermissions` nanti dengan `setPermissionMode()`.308Dalam SDK TypeScript, jika Anda mengatur `allowDangerouslySkipPermissions: true` bersama dengan `permissionMode: 'plan'`, pengeditan file dan perintah shell yang memodifikasi file masih mencapai callback `canUseTool` Anda. Opsi ini memungkinkan Anda untuk beralih ke `bypassPermissions` nanti dengan `setPermissionMode()`.

305 309 

306Claude dapat menggunakan `AskUserQuestion` untuk mengklarifikasi persyaratan sebelum menyelesaikan rencana. Lihat [Tangani persetujuan dan input pengguna](/docs/id/agent-sdk/user-input#handle-clarifying-questions) untuk menangani prompt ini.310Claude dapat menggunakan `AskUserQuestion` untuk mengklarifikasi persyaratan sebelum menyelesaikan rencana. Lihat [Tangani persetujuan dan input pengguna](/docs/id/agent-sdk/user-input#handle-clarifying-questions) untuk menangani prompt ini.

307 311 

Details

331 Plugin tidak dimuat331 Plugin tidak dimuat

332</h3>332</h3>

333 333 

334Jika plugin Anda tidak muncul dalam pesan init:334Jika plugin Anda tidak muncul dalam daftar `plugins` pesan init, periksa bidang [`plugin_errors`](/docs/id/agent-sdk/typescript#sdksystemmessage) untuk alasannya, kemudian lakukan pemeriksaan berikut:

335 335 

3361. **Periksa jalurnya**: pastikan jalur menunjuk ke direktori root plugin, induk dari `skills/`, `agents/`, `hooks/`, `commands/`, atau `.claude-plugin/`3361. **Periksa jalurnya**: pastikan jalur menunjuk ke direktori root plugin, induk dari `skills/`, `agents/`, `hooks/`, `commands/`, atau `.claude-plugin/`

3372. **Validasi plugin.json**: jika plugin Anda menyertakan manifest, pastikan memiliki sintaks JSON yang valid3372. **Validasi plugin.json**: jika plugin Anda menyertakan manifest, pastikan memiliki sintaks JSON yang valid

Details

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

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

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

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

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

300| `file_size` | `int \| None` | Ukuran file sesi dalam byte (`None` untuk backend penyimpanan jarak jauh) |300| `file_size` | `int \| None` | Ukuran file sesi dalam byte (`None` untuk backend penyimpanan jarak jauh) |

301| `custom_title` | `str \| None` | Judul sesi yang ditetapkan pengguna |301| `custom_title` | `str \| None` | Judul sesi yang ditetapkan pengguna |


875 include_partial_messages: bool = False875 include_partial_messages: bool = False

876 include_hook_events: bool = False876 include_hook_events: bool = False

877 forward_subagent_text: bool = False877 forward_subagent_text: bool = False

878 verbatim_prompts: bool = False

878 fork_session: bool = False879 fork_session: bool = False

879 resume_session_at: str | None = None880 resume_session_at: str | None = None

880 resume_drops_turn: str | None = None881 resume_drops_turn: str | None = None


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

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

930| `forward_subagent_text` | `bool` | `False` | Teruskan blok teks dan thinking subagent dalam aliran pesan. Tanpa opsi ini, Claude Code memancarkan blok `tool_use` dan `tool_result` subagent tetapi bukan teks atau thinking. Memerlukan Python Agent SDK 0.2.140 atau lebih baru |931| `forward_subagent_text` | `bool` | `False` | Teruskan blok teks dan thinking subagent dalam aliran pesan. Tanpa opsi ini, Claude Code memancarkan blok `tool_use` dan `tool_result` subagent tetapi bukan teks atau thinking. Memerlukan Python Agent SDK 0.2.140 atau lebih baru |

932| `verbatim_prompts` | `bool` | `False` | Berikan setiap prompt seperti yang ditulis. SDK mengirim setiap pesan pengguna dengan `client_composed` diatur ke `True`. Lihat [`client_composed`](/docs/id/agent-sdk/typescript#sdkusermessage) untuk apa yang Claude Code lewati pada pesan tersebut. Gunakan opsi ini ketika teks prompt Anda menyertakan konten yang pengguna akhir tidak ketik. Untuk kontrol per-turn, biarkan mati dan atur `"client_composed": True` pada pesan streaming individual sebagai gantinya. Sementara opsi aktif, SDK menimpa nilai `client_composed` apa pun yang Anda atur. Memerlukan Python Agent SDK 0.2.158 atau lebih baru dan Claude Code v2.1.248 atau lebih baru; CLI yang disertakan dengan versi SDK tersebut memenuhi persyaratan Claude Code |

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

932| `resume_session_at` | `str \| None` | `None` | Ketika melanjutkan, muat percakapan hanya hingga dan termasuk pesan dengan UUID ini. Gunakan dengan `resume`, dan biasanya `fork_session`, untuk cabang dari titik sebelumnya. Memerlukan Python Agent SDK 0.2.137 atau lebih baru |934| `resume_session_at` | `str \| None` | `None` | Ketika melanjutkan, muat percakapan hanya hingga dan termasuk pesan dengan UUID ini. Gunakan dengan `resume`, dan biasanya `fork_session`, untuk cabang dari titik sebelumnya. Memerlukan Python Agent SDK 0.2.137 atau lebih baru |

933| `resume_drops_turn` | `str \| None` | `None` | UUID dari prompt pengguna yang putaran pemotongan `resume_session_at` buang. Ketika diatur, CLI menolak resume jika rentang yang dibuang menyimpan entri yang tidak dapat diatribusikan ke putaran itu. Memerlukan Python Agent SDK 0.2.137 atau lebih baru dan Claude Code v2.1.223 atau lebih baru; CLI yang disertakan dengan versi SDK tersebut memenuhi persyaratan Claude Code |935| `resume_drops_turn` | `str \| None` | `None` | UUID dari prompt pengguna yang putaran pemotongan `resume_session_at` buang. Ketika diatur, CLI menolak resume jika rentang yang dibuang menyimpan entri yang tidak dapat diatribusikan ke putaran itu. Memerlukan Python Agent SDK 0.2.137 atau lebih baru dan Claude Code v2.1.223 atau lebih baru; CLI yang disertakan dengan versi SDK tersebut memenuhi persyaratan Claude Code |


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

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

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

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

1014| `snapshot` | Tidak | Atur ke `False` untuk membangun kembali system prompt pada setiap permintaan alih-alih [menggunakan kembali prompt yang sesi catat pada permintaan pertamanya](/docs/id/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Memerlukan `claude-agent-sdk` v0.2.153 atau lebih baru |1016| `snapshot` | Tidak | Atur ke `False` untuk membangun kembali system prompt pada setiap permintaan alih-alih [menggunakan kembali prompt yang sesi catat pada permintaan pertamanya](/docs/id/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Memerlukan `claude-agent-sdk` v0.2.153 atau lebih baru |

1015 1017 

1016<h3 id="systempromptcustom">1018<h3 id="systempromptcustom">


1221 "plan", # Planning mode - explore without editing1223 "plan", # Planning mode - explore without editing

1222 "dontAsk", # Deny anything not pre-approved instead of prompting1224 "dontAsk", # Deny anything not pre-approved instead of prompting

1223 "bypassPermissions", # Bypass permission checks; explicit ask rules still prompt (use with caution)1225 "bypassPermissions", # Bypass permission checks; explicit ask rules still prompt (use with caution)

1224 "auto", # Model classifier approves or denies permission prompts1226 "auto", # A model classifier reviews actions such as shell commands and network requests

1225]1227]

1226```1228```

1227 1229 


3791<Warning>3793<Warning>

3792 Perintah yang berjalan dengan `dangerouslyDisableSandbox: True` memiliki akses sistem penuh. Pastikan handler `can_use_tool` Anda memvalidasi permintaan ini dengan hati-hati.3794 Perintah yang berjalan dengan `dangerouslyDisableSandbox: True` memiliki akses sistem penuh. Pastikan handler `can_use_tool` Anda memvalidasi permintaan ini dengan hati-hati.

3793 3795 

3794 Jika `permission_mode` diatur ke `bypassPermissions` dan `allow_unsandboxed_commands` diaktifkan, model dapat secara otonom menjalankan perintah di luar sandbox tanpa prompt persetujuan, kecuali untuk [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves). Kombinasi ini secara efektif memungkinkan model untuk melarikan diri dari isolasi sandbox secara diam-diam.3796 Jika `permission_mode` diatur ke `bypassPermissions` dan `allowUnsandboxedCommands` diaktifkan, model dapat secara otonom menjalankan perintah di luar sandbox tanpa prompt persetujuan, kecuali untuk [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves). Kombinasi ini secara efektif memungkinkan model untuk melarikan diri dari isolasi sandbox secara diam-diam.

3795</Warning>3797</Warning>

3796 3798 

3797<h2 id="see-also">3799<h2 id="see-also">

Details

330 Keterbatasan yang Diketahui330 Keterbatasan yang Diketahui

331</h2>331</h2>

332 332 

333* **Structured output**: hasil JSON muncul hanya di `ResultMessage.structured_output` akhir, bukan sebagai streaming deltas. Lihat [structured outputs](/docs/id/agent-sdk/structured-outputs) untuk detail.333* **Structured output**: dengan partial messages diaktifkan, JSON mengalir sebagai chunks `input_json_delta` yang tidak divalidasi dari tool call, dan hanya hasil yang divalidasi yang mencapai `ResultMessage.structured_output` akhir. Lihat [structured outputs](/docs/id/agent-sdk/structured-outputs) untuk detail.

334 334 

335<h2 id="next-steps">335<h2 id="next-steps">

336 Langkah selanjutnya336 Langkah selanjutnya

Details

162 structured\_output is None but the result says success162 structured\_output is None but the result says success

163</h3>163</h3>

164 164 

165Pesan hasil dapat berakhir dengan `subtype: "success"` sementara `structured_output` adalah `None` di Python atau `undefined` di TypeScript. Jalankan selesai, tetapi tidak ada output yang divalidasi. Salah satu cara untuk mencapai ini adalah skema yang tidak dapat dipenuhi output apa pun, misalnya batasan panjang yang bertentangan. Jalankan berakhir tanpa kesalahan validasi, dan satu-satunya sinyal adalah `structured_output` yang hilang.165Pesan hasil dapat berakhir dengan `subtype: "success"` sementara `structured_output` adalah `None` di Python atau `undefined` di TypeScript. Jalankan selesai, tetapi tidak ada output yang divalidasi. Salah satu cara untuk mencapai ini adalah skema yang tidak dapat dipenuhi output apa pun, misalnya batasan panjang yang bertentangan.

166 166 

167Perlakukan hasil ini sebagai kegagalan dalam kode aplikasi. Periksa baik bahwa `subtype` adalah `success` dan bahwa `structured_output` ada sebelum menggunakannya. Bagian [Error handling](/docs/id/agent-sdk/structured-outputs#error-handling) menunjukkan pola ini untuk kedua SDK.167Perlakukan hasil ini sebagai kegagalan dalam kode aplikasi. Periksa baik bahwa `subtype` adalah `success` dan bahwa `structured_output` ada sebelum menggunakannya. Bagian [Error handling](/docs/id/agent-sdk/structured-outputs#error-handling) menunjukkan pola ini untuk kedua SDK.

168 168 

Details

54* Untuk cross-compile, instal paket platform yang tidak cocok, misalnya `npm install @anthropic-ai/claude-agent-sdk-linux-x64 --force`.54* Untuk cross-compile, instal paket platform yang tidak cocok, misalnya `npm install @anthropic-ai/claude-agent-sdk-linux-x64 --force`.

55* Di Windows, subpath biner adalah `claude.exe`, misalnya `@anthropic-ai/claude-agent-sdk-win32-x64/claude.exe`.55* Di Windows, subpath biner adalah `claude.exe`, misalnya `@anthropic-ai/claude-agent-sdk-win32-x64/claude.exe`.

56 56 

57<h3 id="import-the-/core-entry-when-you-bundle-the-agent-sdk">

58 Impor entri `/core` ketika Anda membundel Agent SDK

59</h3>

60 

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

62 

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

64 

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

66 

57<h2 id="functions">67<h2 id="functions">

58 Fungsi68 Fungsi

59</h2>69</h2>


93 `startup()`103 `startup()`

94</h3>104</h3>

95 105 

96Pra-pemanasan subprocess CLI dengan menspawnya dan menyelesaikan handshake inisialisasi sebelum prompt tersedia. Handle [`WarmQuery`](#warmquery) yang dikembalikan menerima prompt nanti dan menulisnya ke proses yang sudah siap, sehingga panggilan `query()` pertama diselesaikan tanpa membayar biaya spawn dan inisialisasi subprocess secara inline.106Pra-pemanasan subprocess CLI dengan menspawnya dan menyelesaikan handshake inisialisasi sebelum prompt tersedia. Handle [`WarmQuery`](#warmquery) yang dikembalikan menerima prompt nanti dan menulisnya ke proses yang sudah siap, sehingga panggilan `query()` pertama diselesaikan tanpa membayar biaya spawn dan inisialisasi subprocess secara inline. Jika Anda belum mengetahui direktori kerja sesi, gunakan [`prewarm()`](#prewarm) sebagai gantinya.

97 107 

98```typescript theme={null}108```typescript theme={null}

99function startup(params?: {109function startup(params?: {


135}145}

136```146```

137 147 

148<h3 id="prewarm">

149 `prewarm()`

150</h3>

151 

152*Alpha.* Memulai proses Claude Code sebagai cadangan sebelum Anda mengetahui sesi mana yang akan dilayaninya, sehingga Anda dapat mengikatnya ke sesi nanti dengan [`claim()`](#spareprocess). Gunakan dalam aplikasi yang boot sebelum pengguna memilih folder. Memerlukan TypeScript Agent SDK v0.3.282 atau lebih baru.

153 

154`prewarm()` menyelesaikan handshake inisialisasi yang sama dengan [`startup()`](#startup), dengan proses menunggu di `options.cwd` ketika Anda menetapkannya dan sebaliknya di direktori sementara pribadi di bawah direktori konfigurasi Claude Code Anda. Direktori kerja sesi, hook `SessionStart` nya, server MCP stdio nya, dan konteks CLAUDE.md dan git nya menunggu klaim. Cadangan menahan kira-kira 230 hingga 260 MB memori saat menunggu. Jika [`spawnClaudeCodeProcess`](#options) Anda menjalankan Claude Code di mesin lain atau dalam kontainer, atur `options.cwd` ke direktori yang ada di sana agar cadangan menunggu.

155 

156```typescript theme={null}

157function prewarm(params?: {

158 options?: Options;

159 initializeTimeoutMs?: number;

160}): Promise<SpareProcess>;

161```

162 

163`options` dan `initializeTimeoutMs` berarti sama seperti untuk `startup()`, kecuali bahwa `options.cwd` hanya menetapkan direktori tempat cadangan menunggu. Promise diselesaikan dengan [`SpareProcess`](#spareprocess) setelah proses menyelesaikan handshake inisialisasinya. `prewarm()` melempar jika `options` menetapkan `resume`, `continue`, atau `forkSession`, karena cadangan tidak memiliki sesi. Semuanya yang tidak dapat ditetapkan klaim, seperti `mcpServers`, `hooks`, `canUseTool`, `settingSources`, `systemPrompt`, dan `plugins`, diperbaiki untuk kehidupan cadangan, jadi simpan satu cadangan per set opsi yang berbeda dan prewarm lagi ketika mereka berubah.

164 

165<h4 id="example-2">

166 Contoh

167</h4>

168 

169Prewarm saat boot aplikasi, kemudian klaim cadangan ketika pengguna memulai sesi:

170 

171```typescript theme={null}

172import { prewarm } from "@anthropic-ai/claude-agent-sdk";

173 

174// Saat boot aplikasi, sebelum folder sesi diketahui

175const spare = await prewarm({ options: { maxTurns: 3 } });

176 

177// Nanti, ketika pengguna memulai sesi dalam folder

178const claimedQuery = spare.claim({

179 prompt: "What files are here?",

180 options: { cwd: "/path/to/project" },

181});

182 

183spare.claimed.catch((error: Error) => {

184 // Kecuali pesan dimulai dengan "option_not_applied", prompt tidak berjalan:

185 // mulai sesi ini dengan query() sebagai gantinya

186 console.error("Claim failed:", error.message);

187});

188 

189for await (const message of claimedQuery) {

190 console.log(message);

191}

192```

193 

138<h3 id="tool">194<h3 id="tool">

139 `tool()`195 `tool()`

140</h3>196</h3>


259| `tag` | `string \| undefined` | Tag sesi yang ditetapkan pengguna (lihat [`tagSession()`](#tagsession)) |315| `tag` | `string \| undefined` | Tag sesi yang ditetapkan pengguna (lihat [`tagSession()`](#tagsession)) |

260| `createdAt` | `number \| undefined` | Waktu pembuatan dalam milidetik sejak epoch, dari timestamp entri pertama |316| `createdAt` | `number \| undefined` | Waktu pembuatan dalam milidetik sejak epoch, dari timestamp entri pertama |

261 317 

262<h4 id="example-2">318<h4 id="example-3">

263 Contoh319 Contoh

264</h4>320</h4>

265 321 


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

313| `parent_agent_id` | `string \| null` | Untuk pesan dari [subagent bersarang](/docs/id/sub-agents#let-subagents-spawn-their-own-subagents), `agentId` dari subagent yang memicunya. `null` untuk pesan sesi utama, pesan dari subagent tingkat atas, dan sesi yang lebih lama. Memerlukan Claude Code v2.1.202 atau lebih baru |369| `parent_agent_id` | `string \| null` | Untuk pesan dari [subagent bersarang](/docs/id/sub-agents#let-subagents-spawn-their-own-subagents), `agentId` dari subagent yang memicunya. `null` untuk pesan sesi utama, pesan dari subagent tingkat atas, dan sesi yang lebih lama. Memerlukan Claude Code v2.1.202 atau lebih baru |

314 370 

315<h4 id="example-3">371<h4 id="example-4">

316 Contoh372 Contoh

317</h4>373</h4>

318 374 


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

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

454 510 

455<h4 id="example-4">511<h4 id="example-5">

456 Contoh512 Contoh

457</h4>513</h4>

458 514 


547| `toolAliases` | `Record<string, string>` | `undefined` | Map built-in tool names ke MCP tool names sehingga Claude memanggil implementasi MCP Anda alih-alih built-in. Misalnya, `{ Bash: 'mcp__workspace__bash' }` |603| `toolAliases` | `Record<string, string>` | `undefined` | Map built-in tool names ke MCP tool names sehingga Claude memanggil implementasi MCP Anda alih-alih built-in. Misalnya, `{ Bash: 'mcp__workspace__bash' }` |

548| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Konfigurasi untuk perilaku built-in tool. Lihat [`ToolConfig`](#toolconfig) untuk detail |604| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Konfigurasi untuk perilaku built-in tool. Lihat [`ToolConfig`](#toolconfig) untuk detail |

549| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Konfigurasi tool. Teruskan array nama tool atau gunakan preset untuk mendapatkan default tools Claude Code |605| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Konfigurasi tool. Teruskan array nama tool atau gunakan preset untuk mendapatkan default tools Claude Code |

606| `verbatimPrompts` | `boolean` | `false` | Berikan setiap prompt seperti yang ditulis. SDK mengirim setiap user message dengan `client_composed: true`. Lihat [`client_composed`](#sdkusermessage) untuk apa yang Claude Code lewati pada pesan tersebut. Gunakan opsi ini ketika teks prompt Anda mencakup konten yang end user tidak ketik. Untuk kontrol per-turn, biarkan off dan atur `client_composed` pada individual streamed messages sebagai gantinya. Memerlukan TypeScript Agent SDK v0.3.280 atau lebih baru dan Claude Code v2.1.248 atau lebih baru; Claude Code version yang bundled dengan SDK versions tersebut memenuhi Claude Code requirement |

550 607 

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

552 Tangani respons API yang lambat atau terhenti609 Tangani respons API yang lambat atau terhenti


617 path: string,674 path: string,

618 options?: { maxBytes?: number; encoding?: 'utf-8' | 'base64' }675 options?: { maxBytes?: number; encoding?: 'utf-8' | 'base64' }

619 ): Promise<SDKControlReadFileResponse | null>;676 ): Promise<SDKControlReadFileResponse | null>;

677 reloadPlugins(options?: {

678 holdOnCacheImpact?: boolean;

679 }): Promise<SDKControlReloadPluginsResponse>;

620 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;680 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;

681 reloadOutputStyles(): Promise<SDKControlReloadOutputStylesResponse>;

621 accountInfo(): Promise<AccountInfo>;682 accountInfo(): Promise<AccountInfo>;

622 reconnectMcpServer(serverName: string): Promise<void>;683 reconnectMcpServer(serverName: string): Promise<void>;

623 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;684 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;


650| `mcpServerStatus()` | Mengembalikan status connected MCP servers sebagai [`McpServerStatus`](#mcpserverstatus)`[]` |711| `mcpServerStatus()` | Mengembalikan status connected MCP servers sebagai [`McpServerStatus`](#mcpserverstatus)`[]` |

651| `getContextUsage(opts?)` | Mengembalikan [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) yang memecah session's context window usage berdasarkan kategori, skill, dan tool. Dengan default `detail`, ini adalah data yang sama `/context` tampilkan dalam interactive session. Opsi [`detail`](#sdkcontrolgetcontextusageresponse) memerlukan Agent SDK v0.3.257 atau lebih baru |712| `getContextUsage(opts?)` | Mengembalikan [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) yang memecah session's context window usage berdasarkan kategori, skill, dan tool. Dengan default `detail`, ini adalah data yang sama `/context` tampilkan dalam interactive session. Opsi [`detail`](#sdkcontrolgetcontextusageresponse) memerlukan Agent SDK v0.3.257 atau lebih baru |

652| `readFile(path, options?)` | Membaca file dari session's filesystem. Claude Code resolves path terhadap `cwd`; [What `readFile()` can read](#what-readfile-can-read) mencantumkan files yang disajikan. Teruskan `{ maxBytes }` untuk mengubah read cap (default 1 MB, ceiling 10 MB) dan `{ encoding: 'base64' }` untuk binary files seperti images. Resolves dengan [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), atau `null` pada permission denial, missing file, atau transport error. Memerlukan TypeScript SDK v0.2.121 atau lebih baru |713| `readFile(path, options?)` | Membaca file dari session's filesystem. Claude Code resolves path terhadap `cwd`; [What `readFile()` can read](#what-readfile-can-read) mencantumkan files yang disajikan. Teruskan `{ maxBytes }` untuk mengubah read cap (default 1 MB, ceiling 10 MB) dan `{ encoding: 'base64' }` untuk binary files seperti images. Resolves dengan [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), atau `null` pada permission denial, missing file, atau transport error. Memerlukan TypeScript SDK v0.2.121 atau lebih baru |

714| `reloadPlugins(options?)` | Reload plugins dari disk, sehingga plugins yang Anda install atau edit mid-session mencapai running session. Resolves dengan [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) yang mencantumkan session's commands, subagents, plugins, dan MCP server status. Memerlukan Agent SDK v0.2.85 atau lebih baru. Opsi [`holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) memerlukan Agent SDK v0.3.268 atau lebih baru |

653| `reloadSkills()` | Reload skills dari disk, sehingga skills yang Anda tambahkan atau edit mid-session menjadi tersedia untuk running session. Resolves dengan [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) yang mencantumkan skills yang tersedia setelah reload. Memerlukan Agent SDK v0.3.163 atau lebih baru |715| `reloadSkills()` | Reload skills dari disk, sehingga skills yang Anda tambahkan atau edit mid-session menjadi tersedia untuk running session. Resolves dengan [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) yang mencantumkan skills yang tersedia setelah reload. Memerlukan Agent SDK v0.3.163 atau lebih baru |

716| `reloadOutputStyles()` | Re-reads [output styles](/docs/id/output-styles) dari disk, sehingga style file yang Anda tambahkan atau edit mid-session menjadi tersedia untuk running session. Resolves dengan [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) yang mencantumkan style names yang tersedia setelah reload. Memerlukan Agent SDK v0.3.261 atau lebih baru |

654| `accountInfo()` | Mengembalikan account information |717| `accountInfo()` | Mengembalikan account information |

655| `reconnectMcpServer(serverName)` | Reconnect MCP server berdasarkan nama. Jika nama juga cocok dengan entri dalam settings file seperti `.mcp.json` atau `~/.claude.json`, Claude Code reconnect server yang Anda konfigurasi melalui [`mcpServers`](#options) atau `setMcpServers()`, bukan settings-file entry. Urutan resolusi itu memerlukan Claude Code v2.1.257 atau lebih baru |718| `reconnectMcpServer(serverName)` | Reconnect MCP server berdasarkan nama. Jika nama juga cocok dengan entri dalam settings file seperti `.mcp.json` atau `~/.claude.json`, Claude Code reconnect server yang Anda konfigurasi melalui [`mcpServers`](#options) atau `setMcpServers()`, bukan settings-file entry. Urutan resolusi itu memerlukan Claude Code v2.1.257 atau lebih baru |

656| `toggleMcpServer(serverName, enabled)` | Enable atau disable MCP server berdasarkan nama, dengan name resolution yang sama seperti `reconnectMcpServer()`. Menonaktifkan disconnect server |719| `toggleMcpServer(serverName, enabled)` | Enable atau disable MCP server berdasarkan nama, dengan name resolution yang sama seperti `reconnectMcpServer()`. Menonaktifkan disconnect server |


672* **Applied selama current turn**: `model`. Jika Anda switch `model` saat Claude bekerja pada turn, response yang Claude sudah generate selesai pada model lama, dan sisa turn, dimulai dengan next call Claude Code buat ke model, menggunakan yang baru. Subagents menjaga model mereka sendiri. Sebelum v2.1.212, mid-turn switch menunggu next turn.735* **Applied selama current turn**: `model`. Jika Anda switch `model` saat Claude bekerja pada turn, response yang Claude sudah generate selesai pada model lama, dan sisa turn, dimulai dengan next call Claude Code buat ke model, menggunakan yang baru. Subagents menjaga model mereka sendiri. Sebelum v2.1.212, mid-turn switch menunggu next turn.

673* **Tidak ada efek mid-session**: opsi system prompt. Ini diselesaikan sekali saat startup, jadi running session menjaga nilai asli bahkan meskipun call berhasil. Untuk mengubahnya, mulai session baru.736* **Tidak ada efek mid-session**: opsi system prompt. Ini diselesaikan sekali saat startup, jadi running session menjaga nilai asli bahkan meskipun call berhasil. Untuk mengubahnya, mulai session baru.

674 737 

675`effortLevel` menerima nama [effort level](/docs/id/model-config#adjust-effort-level). Ini juga menerima `"ultracode"`, yang meminta `xhigh` effort dengan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) on. `applyFlagSettings()` mendeklarasikan `effortLevel` tanpa nilai itu, jadi teruskan `{ ultracode: true }` yang setara dalam TypeScript. Nilai `ultracode` memerlukan Claude Code v2.1.203 atau lebih baru dan diterima hanya oleh `applyFlagSettings()`, bukan oleh key `effortLevel` dalam settings file.738`effortLevel` menerima nama [effort level](/docs/id/model-config#adjust-effort-level). Ini juga menerima `"ultracode"`, yang meminta `xhigh` effort dengan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) on. `applyFlagSettings()` mendeklarasikan `effortLevel` tanpa nilai itu, jadi dalam TypeScript teruskan `{ ultracode: true, effortLevel: "xhigh" }` untuk hasil yang sama, atau key [`ultracode`](/docs/id/settings-reference#ultracode) saja untuk menyalakan ultracode pada current effort level session. Nilai `ultracode` memerlukan Claude Code v2.1.203 atau lebih baru dan diterima hanya oleh `applyFlagSettings()`, bukan oleh key `effortLevel` dalam settings file. Sebelum v2.1.284, key `ultracode` saja juga menetapkan level ke `xhigh`.

676 739 

677Values ditulis ke layer flag-settings, layer yang sama yang opsi inline `settings` dari `query()` isi saat startup. Ini adalah tier yang sama yang [on-page precedence section](#settings-precedence) sebut programmatic options.740Values ditulis ke layer flag-settings, layer yang sama yang opsi inline `settings` dari `query()` isi saat startup. Ini adalah tier yang sama yang [on-page precedence section](#settings-precedence) sebut programmatic options.

678 741 


741 804 

742`WarmQuery` mengimplementasikan `AsyncDisposable`, jadi dapat digunakan dengan `await using` untuk automatic cleanup.805`WarmQuery` mengimplementasikan `AsyncDisposable`, jadi dapat digunakan dengan `await using` untuk automatic cleanup.

743 806 

807<h3 id="spareprocess">

808 `SpareProcess`

809</h3>

810 

811*Alpha.* Handle yang dikembalikan oleh [`prewarm()`](#prewarm): proses Claude Code yang dimulai yang belum terikat ke session dan dapat diklaim sekali. Memerlukan TypeScript Agent SDK v0.3.282 atau lebih baru.

812 

813```typescript theme={null}

814interface SpareProcess extends AsyncDisposable {

815 claim(params: {

816 prompt: string | AsyncIterable<SDKUserMessage>;

817 options: ClaimOptions;

818 }): Query;

819 readonly claimed: Promise<{ cwd: string; sessionId: string; parkedMs?: number; sdkMcpSettled: boolean }>;

820 readonly exited: Promise<void>;

821 close(): void;

822}

823```

824 

825<h4 id="members">

826 Anggota

827</h4>

828 

829| Anggota | Deskripsi |

830| :- | :- |

831| `claim({ prompt, options })` | Ikat spare ke session dalam `options.cwd` dan kirim pesan pertamanya. Mengembalikan [`Query`](#query-object) secara sinkron, seperti `query()` lakukan. Dapat hanya dipanggil sekali |

832| `claimed` | Resolves dengan working directory dan ID session sekali Claude Code menerima claim. Rejects ketika Claude Code menolak claim, ketika process exited atau ditutup terlebih dahulu, dan, dengan pesan yang dimulai dengan `option_not_applied`, ketika session berjalan tanpa `model` atau `maxThinkingTokens` yang Anda minta |

833| `exited` | Settles ketika process exits, claimed atau tidak. Ganti spare yang exits sebelum Anda claim-nya |

834| `close()` | Terminate process. Sebelum claim ini discard spare dan reject `claimed` |

835 

836`options.cwd` diperlukan. Claim juga dapat mengatur `additionalDirectories`, `model`, `permissionMode`, `maxThinkingTokens`, overlay flag-settings dalam `settings`, `appendSystemPrompt`, `title`, `agents`, dan per-session tokens dalam `env`.

837 

838Claude Code dapat menolak claim, misalnya untuk folder yang tidak ada atau yang project settings-nya mengatur `env`, `agent`, atau `model`. Ketika `claimed` rejects dengan pesan yang dimulai dengan `option_not_applied`, session berjalan tanpa `model` atau `maxThinkingTokens` yang Anda minta. Setelah penolakan lainnya prompt Anda belum berjalan, jadi mulai session dengan `query()` sebagai gantinya.

839 

744<h3 id="sdkcontrolinitializeresponse">840<h3 id="sdkcontrolinitializeresponse">

745 `SDKControlInitializeResponse`841 `SDKControlInitializeResponse`

746</h3>842</h3>


824 tokens: number;920 tokens: number;

825 color: string;921 color: string;

826 isDeferred?: boolean;922 isDeferred?: boolean;

923 kind: "used" | "free" | "buffer" | "deferred";

827 }[];924 }[];

828 totalTokens: number;925 totalTokens: number;

829 maxTokens: number;926 maxTokens: number;


913 1010 

914Baca token attribution dari collection fields:1011Baca token attribution dari collection fields:

915 1012 

916* `categories` memegang per-category totals.1013* `categories` memegang per-category totals. Setiap entry's `kind` mengklasifikasikan row dengan nilai yang sama seperti [`SDKContextUsageCategory`](#sdkcontextusagecategory). Klasifikasikan rows pada itu daripada pada display `name`. Field memerlukan Agent SDK v0.3.268 atau lebih baru.

917* `mcpTools` dan `agents` attribute tokens ke individual MCP tools dan subagents.1014* `mcpTools` dan `agents` attribute tokens ke individual MCP tools dan subagents.

918* `memoryFiles` mencantumkan setiap loaded memory file dengan costnya.1015* `memoryFiles` mencantumkan setiap loaded memory file dengan costnya.

919* `skills.skillFrontmatter` attributes skill listing's tokens ke setiap included skill. Per-skill counts mengukur setiap skill's listing entry seperti Claude Code benar-benar kirimkan, yang dapat lebih pendek daripada skill's full frontmatter. Bandingkan `skills.totalSkills` dengan `skills.includedSkills` untuk lihat apakah setiap discovered skill membuat ke listing.1016* `skills.skillFrontmatter` attributes skill listing's tokens ke setiap included skill. Per-skill counts mengukur setiap skill's listing entry seperti Claude Code benar-benar kirimkan, yang dapat lebih pendek daripada skill's full frontmatter. Bandingkan `skills.totalSkills` dengan `skills.includedSkills` untuk lihat apakah setiap discovered skill membuat ke listing.


950 1047 

951`Read` deny dan ask rules masih memblokir matching path, dan broad `Read` allow rule tidak membuka sisa filesystem ke `readFile()`. Untuk apa pun yang lain call resolves dengan `null`.1048`Read` deny dan ask rules masih memblokir matching path, dan broad `Read` allow rule tidak membuka sisa filesystem ke `readFile()`. Untuk apa pun yang lain call resolves dengan `null`.

952 1049 

1050<h3 id="sdkcontrolreloadpluginsresponse">

1051 `SDKControlReloadPluginsResponse`

1052</h3>

1053 

1054Return type dari [`reloadPlugins()`](#query-object).

1055 

1056```typescript theme={null}

1057type SDKControlReloadPluginsResponse = {

1058 commands: SlashCommand[];

1059 agents: AgentInfo[];

1060 plugins: {

1061 name: string;

1062 path: string;

1063 source?: string;

1064 version?: string;

1065 }[];

1066 mcpServers: McpServerStatus[];

1067 error_count: number;

1068 held?: boolean;

1069 cache_impact?: {

1070 mcp_servers_added: string[];

1071 mcp_servers_removed: string[];

1072 lsp_tool_change: ("adds" | "may-add" | "removes" | "may-remove") | null;

1073 };

1074};

1075```

1076 

1077Collection fields mendeskripsikan session setelah call:

1078 

1079* `commands`, `agents`, dan `mcpServers`: session's commands, subagents, dan MCP server status, dalam shapes yang sama yang `supportedCommands()`, `supportedAgents()`, dan `mcpServerStatus()` kembalikan. `supportedAgents()` terus mengembalikan list yang ditangkap saat initialization, jadi baca `agents` di sini untuk set setelah reload

1080* `plugins`: setiap loaded plugin dengan `name` dan install `path`-nya. `version` mengulangi apa yang plugin's manifest deklarasikan dan plugin-author-controlled, jadi validate sebelum mempercayainya. Ini dihilangkan ketika manifest tidak mendeklarasikan apa pun

1081* `error_count`: jumlah errors dari loading plugins

1082 

1083Teruskan `{ holdOnCacheImpact: true }` ke `reloadPlugins()` untuk hold reload yang akan invalidate conversation's prompt cache alih-alih applying-nya. Claude Code menjalankan check yang interactive `/reload-plugins` command buat sebelum itu [warns about cache cost](/docs/id/prompt-caching#enabling-or-disabling-a-plugin). Option memerlukan Agent SDK v0.3.268 atau lebih baru. Claude Code executable yang lebih lama daripada v2.1.268, seperti yang Anda point `pathToClaudeCodeExecutable` pada, mengabaikan option dan applies reload.

1084 

1085Ketika Anda teruskan option, baca `held` untuk pelajari apa yang terjadi:

1086 

1087* `true`: reload tidak diterapkan, dan collection fields mendeskripsikan session seperti masih. `cache_impact` mengatakan apa yang applying akan ubah. Untuk apply anyway, panggil `reloadPlugins()` lagi tanpa option.

1088* `false`: check menemukan tidak ada cache impact, dan reload diterapkan.

1089* Absent: Anda tidak teruskan option, atau Claude Code executable lebih lama daripada v2.1.268 dan applied reload.

1090 

1091`cache_impact` present hanya bersama `held: true`. `mcp_servers_added` dan `mcp_servers_removed` menyebutkan plugin MCP servers yang reload akan register atau drop, sebagai scoped `plugin:<plugin>:<server>` names. Names adalah plugin-authored, jadi validate sebelum menunjukkan mereka. `lsp_tool_change` mengatakan apakah applying akan add atau remove LSP tool, atau `null` ketika tidak akan lakukan keduanya. Bentuk `may-` berarti check tidak bisa fully lihat pending plugin set.

1092 

953<h3 id="sdkcontrolreloadskillsresponse">1093<h3 id="sdkcontrolreloadskillsresponse">

954 `SDKControlReloadSkillsResponse`1094 `SDKControlReloadSkillsResponse`

955</h3>1095</h3>


964 1104 

965`skills` mencantumkan skills yang tersedia setelah reload, dalam [`SlashCommand`](#slashcommand) shape yang sama yang `supportedCommands()` kembalikan.1105`skills` mencantumkan skills yang tersedia setelah reload, dalam [`SlashCommand`](#slashcommand) shape yang sama yang `supportedCommands()` kembalikan.

966 1106 

1107<h3 id="sdkcontrolreloadoutputstylesresponse">

1108 `SDKControlReloadOutputStylesResponse`

1109</h3>

1110 

1111Return type dari [`reloadOutputStyles()`](#query-object).

1112 

1113```typescript theme={null}

1114type SDKControlReloadOutputStylesResponse = {

1115 available_output_styles: string[];

1116};

1117```

1118 

1119`available_output_styles` mencantumkan names dari built-in dan custom output styles yang tersedia setelah reload.

1120 

967<h3 id="sdkcontrolmcpreadresourceresponse">1121<h3 id="sdkcontrolmcpreadresourceresponse">

968 `SDKControlMcpReadResourceResponse`1122 `SDKControlMcpReadResourceResponse`

969</h3>1123</h3>


984 1138 

985Teruskan `readMcpResource()` server name seperti `mcpServerStatus()` laporkan dan `ui://` URI, seperti `ui.resourceUri` yang tool deklarasikan dalam [`_meta`](#mcpserverstatus)-nya. Call menolak untuk URI scheme apa pun yang lain, untuk [SDK MCP server](#createsdkmcpserver) yang aplikasi Anda host sendiri, dan untuk server yang tidak connected. Tersedia ketika init message's [`capabilities`](#sdksystemmessage) include `mcp_read_resource_v1`.1139Teruskan `readMcpResource()` server name seperti `mcpServerStatus()` laporkan dan `ui://` URI, seperti `ui.resourceUri` yang tool deklarasikan dalam [`_meta`](#mcpserverstatus)-nya. Call menolak untuk URI scheme apa pun yang lain, untuk [SDK MCP server](#createsdkmcpserver) yang aplikasi Anda host sendiri, dan untuk server yang tidak connected. Tersedia ketika init message's [`capabilities`](#sdksystemmessage) include `mcp_read_resource_v1`.

986 1140 

987Setiap `contents` entry adalah satu content item seperti server kirimkan. `blob` memegang base64 data untuk binary item, dan `_meta` adalah item's sendiri `_meta`, di mana MCP Apps server menempatkan resource's `ui.csp` dan `ui.permissions`. Contents adalah untrusted third-party HTML, jadi render dalam sandbox.1141Setiap `contents` entry adalah satu content item seperti server kirimkan, minus any `_meta` key di bawah prefix `com.anthropic/`, yang reserved untuk Claude Code. `blob` memegang base64 data untuk binary item, dan `_meta` adalah item's sendiri `_meta`, di mana MCP Apps server menempatkan resource's `ui.csp` dan `ui.permissions`.

1142 

1143Contents adalah untrusted third-party HTML, jadi render dalam sandbox.

988 1144 

989<h3 id="agentdefinition">1145<h3 id="agentdefinition">

990 `AgentDefinition`1146 `AgentDefinition`


1142 blockedPath?: string;1298 blockedPath?: string;

1143 mcpServer?: { name: string; source: string };1299 mcpServer?: { name: string; source: string };

1144 decisionReason?: string;1300 decisionReason?: string;

1301 defaultToNo?: boolean;

1302 suppressAlwaysAllowRule?: boolean;

1145 toolUseID: string;1303 toolUseID: string;

1146 agentID?: string;1304 agentID?: string;

1147 requestId: string;1305 requestId: string;


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

1157| `mcpServer` | `{ name: string; source: string }` | Untuk tool `mcp__*`, MCP server yang melayaninya dan dari mana definisi server itu berasal, dengan fields dari [`McpServerProvenance`](#mcpserverprovenance). Absent untuk tools lainnya. Memerlukan Agent SDK v0.3.274 atau lebih baru |1315| `mcpServer` | `{ name: string; source: string }` | Untuk tool `mcp__*`, MCP server yang melayaninya dan dari mana definisi server itu berasal, dengan fields dari [`McpServerProvenance`](#mcpserverprovenance). Absent untuk tools lainnya. Memerlukan Agent SDK v0.3.274 atau lebih baru |

1158| `decisionReason` | `string` | Menjelaskan mengapa permission request ini triggered |1316| `decisionReason` | `string` | Menjelaskan mengapa permission request ini triggered |

1317| `defaultToNo` | `boolean` | Ketika `true`, single stray keystroke harus tidak approve request ini: open prompt Anda pada decline option-nya, jangan pre-select approve, dan offer tidak ada one-key approve shortcut. Memerlukan Agent SDK v0.3.268 atau lebih baru |

1318| `suppressAlwaysAllowRule` | `boolean` | Ketika `true`, jangan offer persistent always-allow choice untuk request ini, karena rule yang akan ditulis grants lebih dari request's sendiri action. Memerlukan Agent SDK v0.3.268 atau lebih baru |

1159| `toolUseID` | `string` | Unique identifier untuk specific tool call ini dalam assistant message |1319| `toolUseID` | `string` | Unique identifier untuk specific tool call ini dalam assistant message |

1160| `agentID` | `string` | Jika running dalam sub-agent, sub-agent's ID |1320| `agentID` | `string` | Jika running dalam sub-agent, sub-agent's ID |

1161| `requestId` | `string` | `control_request` envelope's `request_id`. `control_response` yang aplikasi Anda kirim di luar SDK, seperti signed HTTP POST, harus echo nilai ini sehingga Claude Code process dapat match reply ke request |1321| `requestId` | `string` | `control_request` envelope's `request_id`. `control_response` yang aplikasi Anda kirim di luar SDK, seperti signed HTTP POST, harus echo nilai ini sehingga Claude Code process dapat match reply ke request |


1380 context_usage?: SDKContextUsage;1540 context_usage?: SDKContextUsage;

1381 user_message_uuid?: string;1541 user_message_uuid?: string;

1382 user_message_uuids?: string[];1542 user_message_uuids?: string[];

1543 resume_reason?: string;

1383};1544};

1384```1545```

1385 1546 


1394 1555 

1395`aborted` adalah `true` ketika gangguan atau pembatalan memotong pesan asisten sebelum aliran selesai: pesan tidak memiliki `stop_reason` dan konten mungkin berakhir di tengah kata. Bidang ini tidak ada pada pesan yang diselesaikan secara normal. Ini memerlukan Agent SDK v0.3.214 atau lebih baru.1556`aborted` adalah `true` ketika gangguan atau pembatalan memotong pesan asisten sebelum aliran selesai: pesan tidak memiliki `stop_reason` dan konten mungkin berakhir di tengah kata. Bidang ini tidak ada pada pesan yang diselesaikan secara normal. Ini memerlukan Agent SDK v0.3.214 atau lebih baru.

1396 1557 

1397Claude Code menetapkan `user_message_uuid` dan `user_message_uuids` pada pesan asisten pertama giliran, di bawah kondisi dalam [`user_message_uuid`](#user_message_uuid).1558Claude Code menetapkan `user_message_uuid` dan `user_message_uuids` pada pesan asisten pertama giliran, di bawah kondisi dalam [`user_message_uuid`](#user_message_uuid). Ketika Claude Code menjalankan kembali giliran yang gangguan interupsi, pesan asisten re-run yang membawa bidang itu juga membawa [`resume_reason`](#resume_reason).

1398 1559 

1399`timestamp` adalah waktu ISO 8601 ketika konten pesan selesai dihasilkan pada proses yang menghasilkannya. Nilai berasal dari jam mesin itu, jadi gunakan hanya untuk tampilan dan jangan urutkan pesan berdasarkannya. Satu giliran API dapat menghasilkan beberapa pesan asisten yang berbagi `message.id`, masing-masing dengan `timestamp` sendiri. Ketika bidang tidak ada, kembali ke waktu Anda menerima pesan.1560`timestamp` adalah waktu ISO 8601 ketika konten pesan selesai dihasilkan pada proses yang menghasilkannya. Nilai berasal dari jam mesin itu, jadi gunakan hanya untuk tampilan dan jangan urutkan pesan berdasarkannya. Satu giliran API dapat menghasilkan beberapa pesan asisten yang berbagi `message.id`, masing-masing dengan `timestamp` sendiri. Ketika bidang tidak ada, kembali ke waktu Anda menerima pesan.

1400 1561 


1416 parent_tool_use_id: string | null;1577 parent_tool_use_id: string | null;

1417 isSynthetic?: boolean;1578 isSynthetic?: boolean;

1418 shouldQuery?: boolean;1579 shouldQuery?: boolean;

1580 client_composed?: true;

1419 tool_use_result?: unknown;1581 tool_use_result?: unknown;

1420 origin?: SDKMessageOrigin;1582 origin?: SDKMessageOrigin;

1421 inline_pastes?: string[];1583 inline_pastes?: string[];


1424 1586 

1425Atur `pasted_content` untuk mengirim konten yang pengguna tempel ke UI prompt Anda daripada ketik, satu entri per tempel, masing-masing string atau array blok konten. Claude Code menambahkan teks setiap entri setelah teks yang diketik, secara berurutan, dan dapat membungkus setiap tempel dalam tag `<pasted_content>`. Blok selain teks diabaikan, jadi kirim gambar dan dokumen dalam `message.content`. Memerlukan Agent SDK v0.3.277 atau lebih baru.1587Atur `pasted_content` untuk mengirim konten yang pengguna tempel ke UI prompt Anda daripada ketik, satu entri per tempel, masing-masing string atau array blok konten. Claude Code menambahkan teks setiap entri setelah teks yang diketik, secara berurutan, dan dapat membungkus setiap tempel dalam tag `<pasted_content>`. Blok selain teks diabaikan, jadi kirim gambar dan dokumen dalam `message.content`. Memerlukan Agent SDK v0.3.277 atau lebih baru.

1426 1588 

1427Atur `shouldQuery` ke `false` untuk menambahkan pesan ke transkrip tanpa memicu giliran asisten. Pesan ditahan dan digabungkan ke pesan pengguna berikutnya yang memicu giliran. Gunakan ini untuk menyuntikkan konteks, seperti output pesan yang Anda jalankan di luar pita, tanpa menghabiskan panggilan model.1589Atur `shouldQuery` atau `client_composed` untuk mengubah cara Claude Code menangani pesan yang Anda kirim:

1590 

1591* `shouldQuery`: atur ke `false` untuk menambahkan pesan ke transkrip tanpa memicu giliran asisten. Pesan ditahan dan digabungkan ke pesan pengguna berikutnya yang memicu giliran. Gunakan ini untuk menyuntikkan konteks, seperti output perintah yang Anda jalankan di luar pita, tanpa menghabiskan panggilan model.

1592* `client_composed`: atur ke `true` untuk membuat Claude Code mengirimkan teks pesan seperti yang ditulis. Claude Code kemudian tidak memperluas penyebutan `@path` atau [`@server:resource`](/docs/id/mcp#use-mcp-resources), dan tidak menjalankan teks yang dimulai dengan `/` sebagai perintah. Sementara opsi [`verbatimPrompts`](#options) aktif, SDK menetapkan bidang pada setiap pesan. Memerlukan TypeScript Agent SDK v0.3.280 atau lebih baru dan Claude Code v2.1.248 atau lebih baru.

1428 1593 

1429Pada pesan yang membawa blok `tool_result`, `tool_use_result` adalah objek output terstruktur alat daripada teks yang dikirim ke model. Bentuknya tergantung pada alat yang dinamai oleh blok `tool_use` yang cocok, jadi bidang diketik `unknown`; bentuk bawaan tercantum di bawah [Jenis Output Alat](#tool-output-types).1594Pada pesan yang membawa blok `tool_result`, `tool_use_result` adalah objek output terstruktur alat daripada teks yang dikirim ke model. Bentuknya tergantung pada alat yang dinamai oleh blok `tool_use` yang cocok, jadi bidang diketik `unknown`; bentuk bawaan tercantum di bawah [Jenis Output Alat](#tool-output-types).

1430 1595 


1448 message: MessageParam;1613 message: MessageParam;

1449 parent_tool_use_id: string | null;1614 parent_tool_use_id: string | null;

1450 isSynthetic?: boolean;1615 isSynthetic?: boolean;

1616 client_composed?: true;

1451 tool_use_result?: unknown;1617 tool_use_result?: unknown;

1452 origin?: SDKMessageOrigin;1618 origin?: SDKMessageOrigin;

1453 isReplay: true;1619 isReplay: true;


1480 ttft_stream_ms?: number;1646 ttft_stream_ms?: number;

1481 user_message_uuid?: string;1647 user_message_uuid?: string;

1482 user_message_uuids?: string[];1648 user_message_uuids?: string[];

1649 resume_reason?: string;

1650 local_command?: string;

1483 request_sent_wall_ms?: number;1651 request_sent_wall_ms?: number;

1484 first_content_frame_ms?: number;1652 first_content_frame_ms?: number;

1485 first_stream_post_ms?: number;1653 first_stream_post_ms?: number;


1493 structured_output?: unknown;1661 structured_output?: unknown;

1494 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };1662 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };

1495 terminal_reason?: TerminalReason;1663 terminal_reason?: TerminalReason;

1664 result_index?: number;

1496 fast_mode_state?: FastModeState;1665 fast_mode_state?: FastModeState;

1497 fast_mode_disabled_reason?: FastModeDisabledReason;1666 fast_mode_disabled_reason?: FastModeDisabledReason;

1498 origin?: SDKMessageOrigin;1667 origin?: SDKMessageOrigin;


1520 startup_failure_reason?: SDKStartupFailureReason;1689 startup_failure_reason?: SDKStartupFailureReason;

1521 user_message_uuid?: string;1690 user_message_uuid?: string;

1522 user_message_uuids?: string[];1691 user_message_uuids?: string[];

1692 resume_reason?: string;

1523 terminal_reason?: TerminalReason;1693 terminal_reason?: TerminalReason;

1694 result_index?: number;

1524 fast_mode_state?: FastModeState;1695 fast_mode_state?: FastModeState;

1525 fast_mode_disabled_reason?: FastModeDisabledReason;1696 fast_mode_disabled_reason?: FastModeDisabledReason;

1526 origin?: SDKMessageOrigin;1697 origin?: SDKMessageOrigin;


1534* `ttft_stream_ms`: waktu dalam milidetik hingga acara aliran `message_start` pertama, ketika aliran respons terbuka. Lebih rendah dari `ttft_ms`; celah antara keduanya adalah waktu yang dihabiskan untuk streaming pesan pertama. Hadir hanya pada lengan kesuksesan.1705* `ttft_stream_ms`: waktu dalam milidetik hingga acara aliran `message_start` pertama, ketika aliran respons terbuka. Lebih rendah dari `ttft_ms`; celah antara keduanya adalah waktu yang dihabiskan untuk streaming pesan pertama. Hadir hanya pada lengan kesuksesan.

1535* `user_message_uuid`: `uuid` dari pesan yang Anda kirim yang dijawab giliran ini. Lihat [`user_message_uuid`](#user_message_uuid) untuk hasil mana yang membawanya.1706* `user_message_uuid`: `uuid` dari pesan yang Anda kirim yang dijawab giliran ini. Lihat [`user_message_uuid`](#user_message_uuid) untuk hasil mana yang membawanya.

1536* `user_message_uuids`: `uuid` dari setiap pesan yang Anda kirim yang dijawab Claude Code dalam giliran ini. Lihat [`user_message_uuids`](#user_message_uuids).1707* `user_message_uuids`: `uuid` dari setiap pesan yang Anda kirim yang dijawab Claude Code dalam giliran ini. Lihat [`user_message_uuids`](#user_message_uuids).

1708* `resume_reason`: mengapa Claude Code menjalankan kembali giliran ini setelah gangguan interupsi. Hadir pada kedua lengan, dan hanya pada re-run seperti itu. Lihat [`resume_reason`](#resume_reason).

1709* `local_command`: nama perintah yang dijalankan giliran, pada hasil kesuksesan giliran yang perintah selesai tanpa memasuki loop agen, seperti `/compact`. Nama dilipat menjadi huruf kecil dan garis bawah, jadi `/reload-plugins` melaporkan `reload_plugins`. Perintah yang server MCP sediakan, dan `/mcp` bawaan, melaporkan `mcp`. Perintah yang Anda tentukan sendiri melaporkan `custom`. Argumen tidak pernah disertakan. Tidak ada pada setiap giliran yang memasuki loop agen dan pada pengiriman yang tidak menjalankan perintah. Memerlukan Agent SDK v0.3.268 atau lebih baru.

1537* `request_sent_wall_ms`: epoch milidetik di mana Claude Code mengirim permintaan API, untuk bergabung dengan stempel waktu sisi server. Hadir hanya bersama dengan [`user_message_uuid`](#user_message_uuid), pada hasil kesuksesan dengan `is_error` false yang gilirannya mengirim permintaan API.1710* `request_sent_wall_ms`: epoch milidetik di mana Claude Code mengirim permintaan API, untuk bergabung dengan stempel waktu sisi server. Hadir hanya bersama dengan [`user_message_uuid`](#user_message_uuid), pada hasil kesuksesan dengan `is_error` false yang gilirannya mengirim permintaan API.

1538* `first_content_frame_ms`: waktu dalam milidetik hingga acara aliran `content_block_start` atau `content_block_delta` pertama, menghitung blok pemikiran sebagai konten. Hadir pada lengan kesuksesan hanya, ketika `is_error` adalah false. Memerlukan Agent SDK v0.3.260 atau lebih baru.1711* `first_content_frame_ms`: waktu dalam milidetik hingga acara aliran `content_block_start` atau `content_block_delta` pertama, menghitung blok pemikiran sebagai konten. Hadir pada lengan kesuksesan hanya, ketika `is_error` adalah false. Memerlukan Agent SDK v0.3.260 atau lebih baru.

1539* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: waktu untuk mengunggah acara aliran pertama giliran. Claude Code merekamnya hanya dalam sesi yang dialirkan ke claude.ai, seperti [sesi cloud](/docs/id/claude-code-on-the-web), dan hasil yang `query()` hasilkan tidak membawanya. Memerlukan Agent SDK v0.3.260 atau lebih baru.1712* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: waktu untuk mengunggah acara aliran pertama giliran. Claude Code merekamnya hanya dalam sesi yang dialirkan ke claude.ai, seperti [sesi cloud](/docs/id/claude-code-on-the-web), dan hasil yang `query()` hasilkan tidak membawanya. Memerlukan Agent SDK v0.3.260 atau lebih baru.


1541* `modelUsage`: total per-model untuk setiap panggilan model yang dibuat melalui pipeline kueri selama panggilan `query()` ini, termasuk loop utama, subagen, dan panggilan internal seperti pemadatan dan agen Workflow. Panggilan pembantu di luar pipeline itu, seperti pengklasifikasi izin dan permintaan penghitungan token, dikecualikan. Panggilan yang melanjutkan sesi juga menghitung [total per-model yang dipulihkan dari panggilan sebelumnya sesi](/docs/id/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Dalam sesi input streaming total bersifat kumulatif di seluruh giliran, jadi baca hasil terbaru daripada menjumlahkan di seluruh hasil. Lihat [Lacak biaya dalam mode input streaming](/docs/id/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) untuk pengaturan ulang dan [Pulihkan total setelah kerusakan sesi](/docs/id/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) untuk hasil yang dinolkan.1714* `modelUsage`: total per-model untuk setiap panggilan model yang dibuat melalui pipeline kueri selama panggilan `query()` ini, termasuk loop utama, subagen, dan panggilan internal seperti pemadatan dan agen Workflow. Panggilan pembantu di luar pipeline itu, seperti pengklasifikasi izin dan permintaan penghitungan token, dikecualikan. Panggilan yang melanjutkan sesi juga menghitung [total per-model yang dipulihkan dari panggilan sebelumnya sesi](/docs/id/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Dalam sesi input streaming total bersifat kumulatif di seluruh giliran, jadi baca hasil terbaru daripada menjumlahkan di seluruh hasil. Lihat [Lacak biaya dalam mode input streaming](/docs/id/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) untuk pengaturan ulang dan [Pulihkan total setelah kerusakan sesi](/docs/id/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) untuk hasil yang dinolkan.

1542* `total_cost_usd`: biaya perkiraan kumulatif dalam USD, mencakup panggilan yang sama dengan `modelUsage` dan pengaturan ulang pada titik yang sama. Panggilan yang melanjutkan sesi juga menghitung [total yang dipulihkan dari panggilan sebelumnya sesi](/docs/id/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Ini adalah perkiraan, bukan pernyataan penagihan. Lihat [Lacak biaya dan penggunaan](/docs/id/agent-sdk/cost-tracking) untuk peringatan akurasi.1715* `total_cost_usd`: biaya perkiraan kumulatif dalam USD, mencakup panggilan yang sama dengan `modelUsage` dan pengaturan ulang pada titik yang sama. Panggilan yang melanjutkan sesi juga menghitung [total yang dipulihkan dari panggilan sebelumnya sesi](/docs/id/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Ini adalah perkiraan, bukan pernyataan penagihan. Lihat [Lacak biaya dan penggunaan](/docs/id/agent-sdk/cost-tracking) untuk peringatan akurasi.

1543* `queued_turn_count`: jumlah pesan yang Anda kirim dengan `origin: { kind: "human" }` yang masih menunggu ketika Claude Code menghasilkan hasil. Lihat [`queued_turn_count`](#queued_turn_count) untuk apa yang `0` dan bidang yang tidak ada katakan.1716* `queued_turn_count`: jumlah pesan yang Anda kirim dengan `origin: { kind: "human" }` yang masih menunggu ketika Claude Code menghasilkan hasil. Lihat [`queued_turn_count`](#queued_turn_count) untuk apa yang `0` dan bidang yang tidak ada katakan.

1544*1717* `result_index`: di mana hasil ini jatuh dalam urutan pengiriman jalankan, menghitung dari 0 di seluruh setiap hasil yang ditulis proses. Hadir pada kedua lengan. Hasil yang penulisannya gagal masih menggunakan nomornya, jadi celah dalam urutan berarti hasil hilang. Memerlukan Agent SDK v0.3.268 atau lebih baru.

1545 1718* `startup_failure_reason`: mengapa Claude Code menolak untuk memulai, pada hasil `error_during_execution` yang ditulis sebelum keluar pada kegagalan startup yang diketahui. Lihat [`startup_failure_reason`](#startup_failure_reason) untuk nilai-nilai dan kegagalan mana yang membawanya. Memerlukan Agent SDK v0.3.274 atau lebih baru.

1546`startup_failure_reason`: mengapa Claude Code menolak untuk memulai, pada hasil `error_during_execution` yang ditulis sebelum keluar pada kegagalan startup yang diketahui. Lihat [`startup_failure_reason`](#startup_failure_reason) untuk nilai-nilai dan kegagalan mana yang membawanya. Memerlukan Agent SDK v0.3.274 atau lebih baru.

1547 

1548* `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"`.1719* `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"`.

1549* `fast_mode_state`: salah satu dari `"on"`, `"off"`, atau `"cooldown"`.1720* `fast_mode_state`: salah satu dari `"on"`, `"off"`, atau `"cooldown"`.

1550* `fast_mode_disabled_reason`: mengapa [fast mode](/docs/id/fast-mode) tidak tersedia sekarang. Tidak ada ketika tidak ada yang memblokir fast mode, meskipun permintaan mungkin masih berjalan dengan kecepatan standar. Selama cooldown setelah batas laju fast mode, Claude Code melaporkan `fast_mode_state: "cooldown"` tanpa kode alasan dan mengaktifkan kembali fast mode ketika cooldown berakhir. Memerlukan Claude Code v2.1.219 atau lebih baru.1721* `fast_mode_disabled_reason`: mengapa [fast mode](/docs/id/fast-mode) tidak tersedia sekarang. Tidak ada ketika tidak ada yang memblokir fast mode, meskipun permintaan mungkin masih berjalan dengan kecepatan standar. Selama cooldown setelah batas laju fast mode, Claude Code melaporkan `fast_mode_state: "cooldown"` tanpa kode alasan dan mengaktifkan kembali fast mode ketika cooldown berakhir. Memerlukan Claude Code v2.1.219 atau lebih baru.


1584 1755 

1585* **Pesan reguler yang Anda kirim**, yang berarti tanpa `isSynthetic: true`: giliran menjawab pesan itu untuk seluruh jalannya. Ketika Anda mengirim beberapa pesan berdekatan, Claude Code dapat menggabungkannya menjadi satu giliran, dan bidang kemudian membawa hanya `uuid` pesan terakhir. Untuk mencocokkan balasan dengan salah satu pesan yang digabungkan, gunakan [`user_message_uuids`](#user_message_uuids).1756* **Pesan reguler yang Anda kirim**, yang berarti tanpa `isSynthetic: true`: giliran menjawab pesan itu untuk seluruh jalannya. Ketika Anda mengirim beberapa pesan berdekatan, Claude Code dapat menggabungkannya menjadi satu giliran, dan bidang kemudian membawa hanya `uuid` pesan terakhir. Untuk mencocokkan balasan dengan salah satu pesan yang digabungkan, gunakan [`user_message_uuids`](#user_message_uuids).

1586* **Pesan yang Anda kirim dengan `isSynthetic: true`**: giliran menjawab pesan itu pada awalnya. Jika Claude Code mengambil pesan reguler Anda di antara panggilan alat, giliran menjawab pesan yang diambil dari saat itu. Mengulangi `uuid` pesan sintetis memerlukan Agent SDK v0.3.265 atau lebih baru; versi sebelumnya tidak mengulangi apa pun pada giliran sintetis.1757* **Pesan yang Anda kirim dengan `isSynthetic: true`**: giliran menjawab pesan itu pada awalnya. Jika Claude Code mengambil pesan reguler Anda di antara panggilan alat, giliran menjawab pesan yang diambil dari saat itu. Mengulangi `uuid` pesan sintetis memerlukan Agent SDK v0.3.265 atau lebih baru; versi sebelumnya tidak mengulangi apa pun pada giliran sintetis.

1587* **Prompt yang dihasilkan Claude Code sendiri**, seperti giliran yang melanjutkan pekerjaan terputus setelah sesi dimulai ulang: giliran tidak menjawab pesan Anda pada awalnya dan frame-nya tidak membawa echo. Jika Claude Code mengambil pesan reguler Anda di antara panggilan alat, giliran menjawab pesan itu dari saat itu. Echo pengambilan memerlukan Agent SDK v0.3.265 atau lebih baru; versi sebelumnya tidak mengulangi apa pun pada giliran ini.1758* **Prompt yang dihasilkan Claude Code untuk menjalankan kembali giliran terputus di bawah [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/id/env-vars)**: ketika prompt terakhir giliran terputus adalah pesan reguler yang Anda kirim, apakah itu membuka giliran atau Claude Code mengambilnya selama giliran, re-run menjawab pesan itu pada awalnya. [`resume_reason`](#resume_reason) memberi tahu frame re-run dari upaya terputus. Ketika prompt terakhir bukan pesan reguler Anda, re-run tidak menjawab pesan Anda pada awalnya. Jika Claude Code mengambil pesan reguler Anda di antara panggilan alat, giliran menjawab pesan yang diambil dari saat itu. Mengulangi prompt giliran terputus memerlukan Agent SDK v0.3.268 atau lebih baru.

1759* **Prompt lain yang dihasilkan Claude Code sendiri**: giliran tidak menjawab pesan Anda pada awalnya dan frame-nya tidak membawa echo. Jika Claude Code mengambil pesan reguler Anda di antara panggilan alat, giliran menjawab pesan itu dari saat itu. Echo pengambilan memerlukan Agent SDK v0.3.265 atau lebih baru; versi sebelumnya tidak mengulangi apa pun pada giliran ini.

1588 1760 

1589Claude Code mengulangi `uuid` pesan yang dijawab pada tiga jenis frame:1761Claude Code mengulangi `uuid` pesan yang dijawab pada tiga jenis frame:

1590 1762 


1596 1768 

1597* Frame balasan selain balasan pertama itu1769* Frame balasan selain balasan pertama itu

1598* Frame subagen1770* Frame subagen

1599* Giliran yang tidak menjawab pesan dengan `uuid`: giliran menjawab pesan yang Anda kirim tanpa satu, atau Claude Code memulai giliran sendiri dan tidak mengambil pesan reguler yang memiliki satu1771* Giliran yang tidak menjawab pesan Anda, atau menjawab pesan yang Anda kirim tanpa `uuid`

1600* Hasil yang tidak menjawab pesan apa pun yang Anda kirim, seperti hasil yang dinolkan setelah proses pekerja yang jatuh1772* Hasil yang tidak menjawab pesan apa pun yang Anda kirim, seperti hasil yang dinolkan setelah proses pekerja yang jatuh

1601 1773 

1602<h4 id="user_message_uuids">1774<h4 id="user_message_uuids">


1611 1783 

1612Ketika balasan pertama atau hasil membawa `user_message_uuid` tanpa daftar, itu berasal dari versi Claude Code sebelumnya, jadi kembali ke bidang tunggal.1784Ketika balasan pertama atau hasil membawa `user_message_uuid` tanpa daftar, itu berasal dari versi Claude Code sebelumnya, jadi kembali ke bidang tunggal.

1613 1785 

1786<h4 id="resume_reason">

1787 `resume_reason`

1788</h4>

1789 

1790Mengapa Claude Code menjalankan kembali giliran ini setelah gangguan interupsi. Claude Code menetapkan bidang ini pada giliran yang dijalankan kembali di bawah [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/id/env-vars), jadi Anda dapat membedakan balasan dan hasil re-run dari upaya terputus. Memerlukan Agent SDK v0.3.268 atau lebih baru.

1791 

1792Claude Code menetapkan bidang pada dua jenis frame:

1793 

1794* **Hasil re-run**: pada lengan kesuksesan dan kesalahan sama-sama, apakah atau tidak hasil membawa `user_message_uuid`.

1795* **Frame balasan re-run**: yang membawa [`user_message_uuid`](#user_message_uuid).

1796 

1797Nilai adalah token huruf kecil pendek yang menamai mengapa giliran dijalankan kembali, seperti `interrupted_turn`. Bidang tidak ada pada setiap giliran lain.

1798 

1614<h4 id="queued_turn_count">1799<h4 id="queued_turn_count">

1615 `queued_turn_count`1800 `queued_turn_count`

1616</h4>1801</h4>


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

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

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

1663| `managed_settings_invalid` | Pengaturan kebijakan terkelola tidak dapat dibaca, atau pin tidak menamai organisasi |1848| `managed_settings_invalid` | Pengaturan kebijakan terkelola tidak dapat dibaca, pin tidak menamai organisasi, atau [pembatasan model terkelola](/docs/id/errors#managed-settings-block-the-default-model) tidak meninggalkan model yang diizinkan untuk opsi Default |

1664| `remote_settings_required_unavailable` | Pengaturan terkelola yang organisasi perlukan tidak dapat dimuat |1849| `remote_settings_required_unavailable` | Pengaturan terkelola yang organisasi perlukan tidak dapat dimuat |

1665| `gateway_signin_required` | [Gateway cloud](/docs/id/claude-apps-gateway) mengakhiri masuk ini |1850| `gateway_signin_required` | [Gateway cloud](/docs/id/claude-apps-gateway) mengakhiri masuk ini |

1666| `gateway_access_denied` | Permintaan pengaturan terkelola ke gateway cloud kembali dengan 403, yang [tabel pemecahan masalah](/docs/id/claude-apps-gateway-deploy#troubleshooting) gateway mencakup |1851| `gateway_access_denied` | Permintaan pengaturan terkelola ke gateway cloud kembali dengan 403, yang [tabel pemecahan masalah](/docs/id/claude-apps-gateway-deploy#troubleshooting) gateway mencakup |


1704 output_style: string;1889 output_style: string;

1705 skills: string[];1890 skills: string[];

1706 plugins: { name: string; path: string }[];1891 plugins: { name: string; path: string }[];

1892 plugin_errors?: {

1893 plugin: string;

1894 type: string;

1895 message: string;

1896 path?: string;

1897 }[];

1707 fast_mode_state?: FastModeState;1898 fast_mode_state?: FastModeState;

1708 fast_mode_disabled_reason?: FastModeDisabledReason;1899 fast_mode_disabled_reason?: FastModeDisabledReason;

1709 effort?: "low" | "medium" | "high" | "xhigh" | "max" | null;1900 effort?: "low" | "medium" | "high" | "xhigh" | "max" | null;


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

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

1732 1923 

1924Array `plugin_errors` mencantumkan kegagalan pemuatan plugin. Entri menggambarkan baik plugin yang tidak dimuat dan tidak ada dalam `plugins`, atau plugin yang dimuat tanpa salah satu bagiannya, seperti file hooks-nya. Kunci dihilangkan ketika tidak ada yang gagal. `SDKSystemMessage` mendeklarasikan `plugin_errors` dalam Agent SDK v0.3.283 atau lebih baru.

1925 

1926Ketika direktori atau arsip dari opsi [`plugins`](#options) Anda sendiri gagal dimuat, bidang `plugin` entri menyimpan tag posisional seperti `inline[0]` daripada nama plugin. Ini terjadi, misalnya, ketika jalur tidak ada atau manifes tidak valid. Cocokkan entri seperti itu dengan opsi Anda berdasarkan bidang `path`.

1927 

1928Tabel di bawah mencantumkan bidang setiap entri `plugin_errors`.

1929 

1930| Bidang | Tipe | Deskripsi |

1931| - | - | - |

1932| `plugin` | `string` | ID plugin yang gagal, atau tag posisional seperti `inline[0]` ketika direktori atau arsip plugin itu sendiri gagal dimuat |

1933| `type` | `string` | Kategori kesalahan dari set terbuka, seperti `path-not-found` atau `manifest-validation-error`. Perlakukan nilai yang tidak Anda kenal sebagai kegagalan generik |

1934| `message` | `string` | Teks tampilan yang menggambarkan kegagalan |

1935| `path` | `string` | Ada hanya ketika direktori atau arsip plugin itu sendiri gagal dimuat. Jalur absolutnya, dengan jalur relatif dari opsi `plugins` Anda diselesaikan terhadap opsi [`cwd`](#options) |

1936 

1733<h3 id="sdkpartialassistantmessage">1937<h3 id="sdkpartialassistantmessage">

1734 `SDKPartialAssistantMessage`1938 `SDKPartialAssistantMessage`

1735</h3>1939</h3>


1746 ttft_ms?: number; // Waktu ke token pertama dalam ms, hadir hanya pada acara message_start1950 ttft_ms?: number; // Waktu ke token pertama dalam ms, hadir hanya pada acara message_start

1747 user_message_uuid?: string;1951 user_message_uuid?: string;

1748 user_message_uuids?: string[];1952 user_message_uuids?: string[];

1953 resume_reason?: string;

1749};1954};

1750```1955```

1751 1956 

1752Claude Code menetapkan `user_message_uuid` dan `user_message_uuids` pada acara aliran non-ping pertama giliran, dan lagi ketika pesan yang dijawab giliran berubah, di bawah kondisi dalam [`user_message_uuid`](#user_message_uuid).1957Claude Code menetapkan `user_message_uuid` dan `user_message_uuids` pada acara aliran non-ping pertama giliran, dan lagi ketika pesan yang dijawab giliran berubah, di bawah kondisi dalam [`user_message_uuid`](#user_message_uuid). Ketika Claude Code menjalankan kembali giliran yang gangguan interupsi, acara aliran re-run yang membawa bidang itu juga membawa [`resume_reason`](#resume_reason).

1753 1958 

1754<h3 id="sdkcompactboundarymessage">1959<h3 id="sdkcompactboundarymessage">

1755 `SDKCompactBoundaryMessage`1960 `SDKCompactBoundaryMessage`


1774 `SDKInformationalMessage`1979 `SDKInformationalMessage`

1775</h3>1980</h3>

1776 1981 

1777Spanduk teks generik yang dipancarkan oleh loop. Membawa baris status non-kesalahan, umpan balik hook seperti alasan blokir hook `UserPromptSubmit`, dan output perintah. Pada Claude Code v2.1.227 atau lebih baru, [`systemMessage`](/docs/id/hooks#json-output) hook dapat tiba sebagai pesan ini, dengan setiap baris diawali oleh nama hook, seperti `PostToolUse:Bash says:`. Apakah `systemMessage` hook tiba sebagai pesan ini tergantung pada acara. Setiap [bagian acara](/docs/id/hooks#hook-events) pada halaman hooks mengatakan bagaimana output muncul. Render `content` sebagai plaintext pada `level` yang diberikan.1982Spanduk teks generik yang dipancarkan oleh loop. Membawa peringatan, pemberitahuan, dan baris status non-kesalahan lainnya yang Claude Code naikkan, dan umpan balik hook seperti alasan blokir hook `UserPromptSubmit`.

1983 

1984Pada Claude Code v2.1.227 atau lebih baru, [`systemMessage`](/docs/id/hooks#json-output) hook dapat tiba sebagai pesan ini, dengan setiap baris diawali oleh nama hook, seperti `PostToolUse:Bash says:`. Setiap [bagian acara](/docs/id/hooks#hook-events) pada halaman hooks mengatakan bagaimana output muncul.

1985 

1986Render `content` sebagai plaintext pada `level` yang diberikan.

1778 1987 

1779```typescript theme={null}1988```typescript theme={null}

1780type SDKInformationalMessage = {1989type SDKInformationalMessage = {


1830Acara aliran yang dipancarkan ketika sistem izin menolak panggilan alat tanpa prompt interaktif. Gunakan untuk merender penolakan di UI Anda saat terjadi, daripada hanya mengamati hasil alat `is_error` yang mengikuti. Penolakan mana yang dilaporkan tergantung pada bagaimana jalannya menangani prompt izin:2039Acara aliran yang dipancarkan ketika sistem izin menolak panggilan alat tanpa prompt interaktif. Gunakan untuk merender penolakan di UI Anda saat terjadi, daripada hanya mengamati hasil alat `is_error` yang mengikuti. Penolakan mana yang dilaporkan tergantung pada bagaimana jalannya menangani prompt izin:

1831 2040 

1832* **Dengan callback [`canUseTool`](#canusetool) dan [`permissionPrompts: 'host'`](#options) default**: prompt izin pergi ke callback Anda, dan acara ini melaporkan penolakan yang Claude Code putuskan sendiri tanpa memanggilnya.2041* **Dengan callback [`canUseTool`](#canusetool) dan [`permissionPrompts: 'host'`](#options) default**: prompt izin pergi ke callback Anda, dan acara ini melaporkan penolakan yang Claude Code putuskan sendiri tanpa memanggilnya.

1833*2042* **Tanpa keduanya**: jalankan `-p` telanjang, atau `query()` yang tidak menetapkan `canUseTool` atau `permissionPromptToolName`, menolak panggilan alat apa pun yang akan diminta, dan acara ini melaporkan penolakan itu serta yang Claude Code putuskan sendiri. Sebelum v2.1.223, Claude Code tidak memancarkan acara ini dalam jalankan tanpa callback.

1834 

1835**Tanpa keduanya**: jalankan `-p` telanjang, atau `query()` yang tidak menetapkan `canUseTool` atau `permissionPromptToolName`, menolak panggilan alat apa pun yang akan diminta, dan acara ini melaporkan penolakan itu serta yang Claude Code putuskan sendiri. Sebelum v2.1.223, Claude Code tidak memancarkan acara ini dalam jalankan tanpa callback.

1836 

1837* **Dengan alat prompt MCP**, diatur dengan `permissionPromptToolName` atau flag [`--permission-prompt-tool`](/docs/id/cli-reference#cli-flags), dan `permissionPrompts: 'host'` default: Claude Code tidak memancarkan acara ini sama sekali, bahkan untuk penolakan aturan yang diputuskan sendiri.2043* **Dengan alat prompt MCP**, diatur dengan `permissionPromptToolName` atau flag [`--permission-prompt-tool`](/docs/id/cli-reference#cli-flags), dan `permissionPrompts: 'host'` default: Claude Code tidak memancarkan acara ini sama sekali, bahkan untuk penolakan aturan yang diputuskan sendiri.

1838*2044* **Dengan [`permissionPrompts: 'none'`](#options)**: Claude Code menolak panggilan yang akan diminta, bahkan ketika `canUseTool` atau alat prompt MCP juga diatur, dan acara ini melaporkan penolakan itu serta yang Claude Code putuskan sendiri. Memerlukan Claude Code v2.1.259 atau lebih baru.

1839 

1840**Dengan [`permissionPrompts: 'none'`](#options)**: Claude Code menolak panggilan yang akan diminta, bahkan ketika `canUseTool` atau alat prompt MCP juga diatur, dan acara ini melaporkan penolakan itu serta yang Claude Code putuskan sendiri. Memerlukan Claude Code v2.1.259 atau lebih baru.

1841 2045 

1842Dalam setiap konfigurasi, acara ini melewati penolakan apa pun yang diputuskan pada jalur hook `PreToolUse`, apakah hook menolak panggilan sendiri atau aturan deny menimpa keputusan allow atau ask hook. Acara ini juga best-effort: kadang-kadang Claude Code merekam penolakan tanpa memancarkan acara ini, jadi `permission_denials` pada [pesan hasil](#sdkresultmessage) adalah catatan otoritatif.2046Dalam setiap konfigurasi, acara ini melewati penolakan apa pun yang diputuskan pada jalur hook `PreToolUse`, apakah hook menolak panggilan sendiri atau aturan deny menimpa keputusan allow atau ask hook. Acara ini juga best-effort: kadang-kadang Claude Code merekam penolakan tanpa memancarkan acara ini, jadi `permission_denials` pada [pesan hasil](#sdkresultmessage) adalah catatan otoritatif.

1843 2047 


2888 Jenis Input Tool3092 Jenis Input Tool

2889</h2>3093</h2>

2890 3094 

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

2892 3096 

2893<h3 id="toolinputschemas">3097<h3 id="toolinputschemas">

2894 `ToolInputSchemas`3098 `ToolInputSchemas`

2895</h3>3099</h3>

2896 3100 

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

2898 3102 

2899```typescript theme={null}3103```typescript theme={null}

2900type ToolInputSchemas =3104type ToolInputSchemas =


3696 Tipe Output Tool3900 Tipe Output Tool

3697</h2>3901</h2>

3698 3902 

3699Dokumentasi skema output untuk semua tool Claude Code bawaan. Tipe ini dieksport dari `@anthropic-ai/claude-agent-sdk` dan mewakili data respons aktual yang dikembalikan oleh setiap tool.3903Dokumentasi skema output untuk semua tool Claude Code bawaan. Tipe ini dieksport dari `@anthropic-ai/claude-agent-sdk/sdk-tools` dan mewakili data respons aktual yang dikembalikan oleh setiap tool.

3700 3904 

3701<h3 id="tooloutputschemas">3905<h3 id="tooloutputschemas">

3702 `ToolOutputSchemas`3906 `ToolOutputSchemas`

3703</h3>3907</h3>

3704 3908 

3705Union dari tipe output tool yang dieksport dari `@anthropic-ai/claude-agent-sdk`; anggota mencakup:3909Union dari tipe output tool yang dieksport dari `@anthropic-ai/claude-agent-sdk/sdk-tools`; anggota mencakup:

3706 3910 

3707```typescript theme={null}3911```typescript theme={null}

3708type ToolOutputSchemas =3912type ToolOutputSchemas =


5541 `SDKTaskProgressMessage`5745 `SDKTaskProgressMessage`

5542</h3>5746</h3>

5543 5747 

5544Dipancarkan secara berkala saat subagen atau tugas latar belakang sedang berjalan. Field `summary` diisi hanya ketika [`agentProgressSummaries`](#options) diaktifkan.5748Dipancarkan secara berkala saat subagen atau tugas latar belakang sedang berjalan.

5749 

5750Untuk tugas subagen, field `summary` membawa ringkasan kemajuan yang dihasilkan model dan diisi hanya ketika [`agentProgressSummaries`](#options) diaktifkan. Untuk [panggilan tool MCP yang di-background](/docs/id/mcp#automatic-backgrounding-of-long-tool-calls), `summary` membawa kemajuan terbaru yang dilaporkan server MCP dan tidak bergantung pada opsi itu.

5545 5751 

5546```typescript theme={null}5752```typescript theme={null}

5547type SDKTaskProgressMessage = {5753type SDKTaskProgressMessage = {


5704 5910 

5705Dipancarkan ketika set perintah yang tersedia berubah di tengah sesi, seperti ketika Claude Code menemukan skills saat agen memasuki subdirektori. Array `commands` adalah daftar lengkap yang diperbarui, jadi ganti daftar perintah yang di-cache dengan payload ini. Memanggil [`supportedCommands()`](#query-object) setelah pesan ini mengembalikan daftar yang diperbarui yang sama, karena metode melacak push terbaru; ini memerlukan Agent SDK v0.3.216 atau lebih baru. Dalam versi SDK yang lebih awal, `supportedCommands()` mengembalikan snapshot yang ditangkap saat inisialisasi dan tidak pernah mencerminkan perubahan di tengah sesi.5911Dipancarkan ketika set perintah yang tersedia berubah di tengah sesi, seperti ketika Claude Code menemukan skills saat agen memasuki subdirektori. Array `commands` adalah daftar lengkap yang diperbarui, jadi ganti daftar perintah yang di-cache dengan payload ini. Memanggil [`supportedCommands()`](#query-object) setelah pesan ini mengembalikan daftar yang diperbarui yang sama, karena metode melacak push terbaru; ini memerlukan Agent SDK v0.3.216 atau lebih baru. Dalam versi SDK yang lebih awal, `supportedCommands()` mengembalikan snapshot yang ditangkap saat inisialisasi dan tidak pernah mencerminkan perubahan di tengah sesi.

5706 5912 

5913Claude Code juga memancarkan pesan ini ketika [prompts](/docs/id/mcp#use-mcp-prompts-as-commands) server MCP bergabung atau meninggalkan daftar, misalnya ketika server selesai terhubung setelah sesi dimulai. Ini memerlukan Claude Code v2.1.281 atau lebih baru.

5914 

5707```typescript theme={null}5915```typescript theme={null}

5708type SDKCommandsChangedMessage = {5916type SDKCommandsChangedMessage = {

5709 type: "system";5917 type: "system";


5741 new_conversation_id: UUID;5949 new_conversation_id: UUID;

5742 uuid: UUID;5950 uuid: UUID;

5743 session_id: string;5951 session_id: string;

5952 trigger?: "clear" | "plan_mode_exit" | "fresh_session" | "onboarding";

5953 user_message_uuid?: string;

5954 timestamp?: string;

5744};5955};

5745```5956```

5746 5957 

5958Field opsional menjelaskan reset:

5959 

5960* `trigger`: apa yang membuang percakapan. Atur ulang transkrip Anda pada setiap pesan `conversation_reset`, termasuk yang field ini tidak ada atau membawa nilai yang tidak Anda kenali.

5961* `user_message_uuid`: `uuid` dari pesan pengguna yang membawa `/clear`. Gunakan untuk mencocokkan reset ke pesan itu.

5962* `timestamp`: kapan reset terjadi, sebagai string ISO 8601 dalam UTC. Gunakan untuk tampilan, bukan untuk mengurutkan pesan.

5963 

5964Field `trigger`, `user_message_uuid`, dan `timestamp` memerlukan Claude Code v2.1.281 atau lebih baru.

5965 

5747Pengetikan yang dipublikasikan SDK mendeklarasikan `SDKConversationResetMessage` dalam Claude Code v2.1.203 dan lebih baru. Sebelum v2.1.203, `SDKMessage` mereferensikan tipe tanpa mendeklarasikannya, jadi penyempitan pada `type === "conversation_reset"` gagal untuk typecheck ketika `skipLibCheck` dinonaktifkan.5966Pengetikan yang dipublikasikan SDK mendeklarasikan `SDKConversationResetMessage` dalam Claude Code v2.1.203 dan lebih baru. Sebelum v2.1.203, `SDKMessage` mereferensikan tipe tanpa mendeklarasikannya, jadi penyempitan pada `type === "conversation_reset"` gagal untuk typecheck ketika `skipLibCheck` dinonaktifkan.

5748 5967 

5749<h3 id="aborterror">5968<h3 id="aborterror">


5860| `allowedDomains` | `string[]` | `[]` | Nama domain yang dapat diakses proses sandboxed |6079| `allowedDomains` | `string[]` | `[]` | Nama domain yang dapat diakses proses sandboxed |

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

5862| `strictAllowlist` | `boolean` | `false` | Tolak akses perintah sandboxed ke host di luar [daftar izin jaringan](/docs/id/sandboxing#network-isolation) alih-alih meminta. Diberlakukan untuk perintah sandboxed saja; tool dalam proses seperti WebFetch tidak dibatasi olehnya. Hanya dihormati dari pengaturan pengguna, terkelola, atau CLI `--settings`; pengaturan proyek diabaikan. Memerlukan Claude Code v2.1.219 atau lebih baru |6081| `strictAllowlist` | `boolean` | `false` | Tolak akses perintah sandboxed ke host di luar [daftar izin jaringan](/docs/id/sandboxing#network-isolation) alih-alih meminta. Diberlakukan untuk perintah sandboxed saja; tool dalam proses seperti WebFetch tidak dibatasi olehnya. Hanya dihormati dari pengaturan pengguna, terkelola, atau CLI `--settings`; pengaturan proyek diabaikan. Memerlukan Claude Code v2.1.219 atau lebih baru |

5863| `allowManagedDomainsOnly` | `boolean` | `false` | Hanya pengaturan yang dikelola. Ketika diatur dalam [pengaturan yang dikelola](/docs/id/managed-settings), hanya entri `allowedDomains` dan aturan izin `WebFetch(domain:...)` dari pengaturan yang dikelola yang dihormati, dan entri izin dari pengaturan pengguna, proyek, atau lokal diabaikan. Tidak berpengaruh ketika diatur melalui opsi SDK |6082| `allowManagedDomainsOnly` | `boolean` | `false` | Hanya pengaturan yang dikelola. Ketika diatur dalam [pengaturan yang dikelola](/docs/id/managed-settings), hanya entri `allowedDomains` dan aturan izin `WebFetch(domain:...)` dari pengaturan yang dikelola yang dihormati, dan entri izin dari pengaturan pengguna, proyek, atau lokal diabaikan. Dari SDK, teruskan melalui opsi [`managedSettings`](#options) |

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

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

5866| `allowAllUnixSockets` | `boolean` | `false` | Izinkan akses ke semua Unix socket |6085| `allowAllUnixSockets` | `boolean` | `false` | Izinkan akses ke semua Unix socket |

Details

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

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

298 298 

299 Di TypeScript, lewati pilihan selalu-izinkan untuk permintaan yang opsinya membawa [`suppressAlwaysAllowRule: true`](/docs/id/agent-sdk/typescript#canusetool). Petunjuk memerlukan Agent SDK v0.3.268 atau lebih baru, dan `context` Python tidak membawanya.

300 

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

300 302 

301 <CodeGroup>303 <CodeGroup>

agent-teams.md +44 −42

Details

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

240 240 

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

242 Bagaimana tim agent bekerja242 Cara kerja tim agent

243</h2>243</h2>

244 244 

245Bagian ini mencakup arsitektur dan mekanik di balik tim agent. Jika Anda ingin mulai menggunakannya, lihat [Kontrol tim agent Anda](#control-your-agent-team) di atas.245Bagian ini mencakup arsitektur dan mekanika di balik tim agent. Jika Anda ingin mulai menggunakannya, lihat [Kontrol tim agent Anda](#control-your-agent-team) di atas.

246 246 

247<h3 id="how-claude-starts-agent-teams">247<h3 id="how-claude-starts-agent-teams">

248 Bagaimana Claude memulai tim agent248 Cara Claude memulai tim agent

249</h3>249</h3>

250 250 

251Untuk memulai tim, minta Claude untuk rekan tim. Claude meluncurkan rekan tim ketika memanggil [Agent tool](/docs/id/tools-reference) dengan [`name`](/docs/id/sub-agents#subagent-names) sementara tim agent diaktifkan, kecuali panggilan adalah [fork](/docs/id/sub-agents#fork-the-current-conversation) atau melewatkan `isolation` pada panggilan itu sendiri. Claude Code tidak meminta Anda untuk mengonfirmasi peluncuran.251Untuk memulai tim, minta Claude untuk mendapatkan rekan kerja. Claude meluncurkan rekan kerja ketika memanggil [Agent tool](/docs/id/tools-reference) dengan [`name`](/docs/id/sub-agents#subagent-names) saat tim agent diaktifkan, kecuali panggilan tersebut adalah [fork](/docs/id/sub-agents#fork-the-current-conversation) atau meneruskan `isolation` pada panggilan itu sendiri. Claude Code tidak meminta Anda untuk mengonfirmasi peluncuran.

252 252 

253Claude juga memberi nama subagent biasa dengan sendirinya sehingga dapat mengirim pesan kepada mereka nanti. Panggilan-panggilan tersebut mengikuti aturan yang sama, jadi tim dapat terbentuk bahkan ketika Anda tidak memintanya. Jika Anda menginginkan subagent sebagai gantinya, [matikan tim agent](#claude-spawns-teammates-instead-of-subagents).253Claude juga memberi nama subagent biasa dengan sendirinya sehingga dapat mengirim pesan kepada mereka nanti. Panggilan tersebut mengikuti aturan yang sama, sehingga tim dapat terbentuk bahkan ketika Anda tidak memintanya. Jika Anda menginginkan subagent sebagai gantinya, [matikan tim agent](#claude-spawns-teammates-instead-of-subagents).

254 254 

255<h3 id="architecture">255<h3 id="architecture">

256 Arsitektur256 Arsitektur


260 260 

261| Komponen | Peran |261| Komponen | Peran |

262| :- | :- |262| :- | :- |

263| **Team lead** | Sesi Claude Code utama yang menghasilkan rekan tim dan mengoordinasikan pekerjaan |263| **Pemimpin tim** | Sesi Claude Code utama yang meluncurkan rekan kerja dan mengoordinasikan pekerjaan |

264| **Rekan tim** | Instance Claude Code terpisah yang masing-masing bekerja pada tugas yang ditugaskan |264| **Rekan kerja** | Instans Claude Code terpisah yang masing-masing bekerja pada tugas yang ditugaskan |

265| **Daftar tugas** | Daftar item pekerjaan bersama yang diklaim dan diselesaikan rekan tim |265| **Daftar tugas** | Daftar item pekerjaan bersama yang diklaim dan diselesaikan oleh rekan kerja |

266| **Mailbox** | Sistem pesan untuk komunikasi antar agent |266| **Kotak surat** | Sistem pesan untuk komunikasi antar agent |

267 267 

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

269 269 

270Claude Code melaporkan pesan sebagai terkirim hanya ketika penulisan ke file mailbox penerima berhasil, baik pesan itu teks biasa atau pesan protokol terstruktur seperti persetujuan rencana atau permintaan shutdown. Ketika penulisan gagal, misalnya karena disk penuh atau direktori mailbox tidak dapat ditulis, agent pengirim menerima kesalahan dan tidak ada yang dikirim. Lihat [Gagal menulis ke inbox rekan tim](/docs/id/errors#failed-to-write-to-a-teammate-inbox) untuk pesan kesalahan dan langkah pemulihan.270Claude Code melaporkan pesan sebagai terkirim hanya ketika penulisan ke file kotak surat penerima berhasil, baik pesan itu teks biasa atau pesan protokol terstruktur seperti persetujuan rencana atau permintaan shutdown. Ketika penulisan gagal, misalnya karena disk penuh atau direktori kotak surat tidak dapat ditulis, agent pengirim menerima kesalahan dan tidak ada yang dikirim. Lihat [Failed to write to a teammate's inbox](/docs/id/errors#failed-to-write-to-a-teammate-inbox) untuk pesan kesalahan dan langkah pemulihan.

271 271 

272Claude Code mengelola dependensi tugas secara otomatis: ketika rekan tim menyelesaikan tugas yang tugas lain bergantung padanya, tugas yang diblokir membuka tanpa tindakan apa pun dari Anda.272Claude Code mengelola dependensi tugas secara otomatis: ketika rekan kerja menyelesaikan tugas yang tugas lain bergantung padanya, ia membuka blokir tugas yang bergantung tanpa tindakan apa pun dari Anda.

273 273 

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

275 275 

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

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

278 278 

279Claude Code menghasilkan keduanya secara otomatis saat startup sesi dan memperbarui mereka saat rekan tim bergabung, idle, atau pergi. Direktori konfigurasi tim dihapus ketika sesi berakhir. Direktori daftar tugas tetap ada secara lokal dan tidak pernah diunggah, jadi sesi yang dilanjutkan menyimpan tugas mereka. Retensi diatur oleh [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays) yang sama yang sudah Anda kontrol untuk transkrip sesi, mengikuti [aturan pembersihan retensi](/docs/id/claude-directory#cleaned-up-automatically).279Claude Code menghasilkan keduanya secara otomatis saat startup sesi dan memperbaruinya saat rekan kerja bergabung, menjadi idle, atau pergi. Direktori konfigurasi tim dihapus ketika sesi berakhir. Direktori daftar tugas tetap ada secara lokal dan tidak pernah diunggah, sehingga sesi yang dilanjutkan menyimpan tugas mereka. Retensi diatur oleh [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays) yang sama yang sudah Anda kontrol untuk transkrip sesi, mengikuti [aturan pembersihan retensi](/docs/id/claude-directory#cleaned-up-automatically).

280 280 

281Konfigurasi tim menyimpan status runtime seperti session IDs dan tmux pane IDs, jadi jangan mengeditnya dengan tangan atau pre-author: perubahan Anda ditimpa pada update status berikutnya.281Konfigurasi tim menyimpan status runtime seperti ID sesi dan ID pane tmux, jadi jangan mengeditnya dengan tangan atau membuat penulisnya sebelumnya: perubahan Anda akan ditimpa pada pembaruan status berikutnya.

282 282 

283Untuk mendefinisikan peran rekan tim yang dapat digunakan kembali, gunakan [subagent definitions](#use-subagent-definitions-for-teammates) sebagai gantinya.283Untuk menentukan peran rekan kerja yang dapat digunakan kembali, gunakan [definisi subagent](#use-subagent-definitions-for-teammates) sebagai gantinya.

284 284 

285Konfigurasi tim berisi array `members` dengan nama setiap anggota dan agent ID. Entri lead selalu membawa tipe agent `team-lead`. Entri rekan tim membawa tipe agent apa pun yang lead beri nama saat menghasilkannya, baik [tipe built-in](/docs/id/sub-agents#built-in-subagents) atau [subagent definition](#use-subagent-definitions-for-teammates), dan menghilangkan field ketika lead tidak memberi nama apa pun. Rekan tim dapat membaca file ini untuk menemukan anggota tim lainnya.285Konfigurasi tim berisi array `members` dengan nama dan ID agent setiap anggota. Entri pemimpin selalu membawa jenis agent `team-lead`. Entri rekan kerja membawa jenis agent apa pun yang dinamai pemimpin saat meluncurkannya, baik [jenis bawaan](/docs/id/sub-agents#built-in-subagents) atau [definisi subagent](#use-subagent-definitions-for-teammates), dan menghilangkan bidang ketika pemimpin tidak menamai apa pun. Rekan kerja dapat membaca file ini untuk menemukan anggota tim lainnya.

286 286 

287Tidak ada padanan tingkat proyek dari konfigurasi tim. File seperti `.claude/teams/teams.json` di direktori proyek Anda tidak dikenali sebagai konfigurasi; Claude memperlakukannya sebagai file biasa.287Tidak ada padanan tingkat proyek dari konfigurasi tim. File seperti `.claude/teams/teams.json` di direktori proyek Anda tidak dikenali sebagai konfigurasi; Claude memperlakukannya sebagai file biasa.

288 288 

289<h3 id="use-subagent-definitions-for-teammates">289<h3 id="use-subagent-definitions-for-teammates">

290 Gunakan subagent definitions untuk rekan tim290 Gunakan definisi subagent untuk rekan kerja

291</h3>291</h3>

292 292 

293Ketika menghasilkan rekan tim dalam mode tampilan apa pun, Anda dapat mereferensikan tipe [subagent](/docs/id/sub-agents) dari proyek, pengguna, atau [subagent scope](/docs/id/sub-agents#choose-the-subagent-scope) yang dikelola. Ini memungkinkan Anda mendefinisikan peran sekali, seperti security-reviewer atau test-runner, dan menggunakannya kembali baik sebagai subagent yang didelegasikan maupun sebagai rekan tim agent team.293Saat meluncurkan rekan kerja di salah satu mode tampilan, Anda dapat mereferensikan jenis [subagent](/docs/id/sub-agents) dari proyek, pengguna, atau [cakupan subagent](/docs/id/sub-agents#choose-the-subagent-scope) yang dikelola. Ini memungkinkan Anda menentukan peran sekali, seperti security-reviewer atau test-runner, dan menggunakannya kembali baik sebagai subagent yang didelegasikan maupun sebagai rekan kerja tim agent.

294 294 

295Untuk menggunakan subagent definition, sebutkan berdasarkan nama ketika meminta Claude untuk menghasilkan rekan tim:295Untuk menggunakan definisi subagent, namai saat Anda meminta Claude untuk meluncurkan rekan kerja:

296 296 

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

298Hasilkan rekan tim menggunakan tipe agent security-reviewer untuk mengaudit modul auth.298Spawn a teammate using the security-reviewer agent type to audit the auth module.

299```299```

300 300 

301Claude Code membaca subagent definition yang Anda beri nama dan menerapkan bagian-bagian ini ke rekan tim. Jika bagian bergantung pada [mode tampilan](#choose-a-display-mode) rekan tim, entri mengatakan demikian:301Claude Code membaca definisi subagent yang Anda namai dan menerapkan bagian-bagian ini ke rekan kerja. Jika bagian bergantung pada [mode tampilan](#choose-a-display-mode) rekan kerja, entri mengatakan demikian:

302 302 

303* **`tools`**: Claude Code membatasi rekan tim ke tools dalam daftar `tools` definition. Untuk rekan tim in-process, Claude Code menambahkan `SendMessage` ke daftar itu, dan dalam [sesi yang memiliki Task tools](/docs/id/tools-reference#task-tool-availability) menambahkan `TaskCreate`, `TaskGet`, `TaskList`, dan `TaskUpdate` juga.303* **`tools`**: Claude Code membatasi rekan kerja ke alat dalam daftar `tools` definisi. Untuk rekan kerja dalam proses, Claude Code menambahkan `SendMessage` ke daftar itu, dan dalam [sesi yang memiliki Task tools](/docs/id/tools-reference#task-tool-availability) juga menambahkan `TaskCreate`, `TaskGet`, `TaskList`, dan `TaskUpdate`.

304* **`model`**: Claude Code menggunakan `model` definition dalam mode tampilan apa pun ketika spawn prompt Anda tidak memberi nama satu. Lihat [bagaimana Claude Code memilih model rekan tim](#specify-teammates-and-models).304* **`model`**: Claude Code menggunakan `model` definisi di salah satu mode tampilan ketika prompt spawn Anda tidak menamai satu. Lihat [bagaimana Claude Code memilih model rekan kerja](#specify-teammates-and-models).

305* **Body**: untuk rekan tim in-process, Claude Code menambahkan body definition ke system prompt default-nya sebagai instruksi tambahan. Untuk rekan tim split-pane, Claude Code menggunakan body sebagai pengganti system prompt default-nya.305* **Body**: untuk rekan kerja dalam proses, Claude Code menambahkan body definisi ke prompt sistem defaultnya sebagai instruksi tambahan. Untuk rekan kerja split-pane, Claude Code menggunakan body sebagai pengganti prompt sistem defaultnya.

306* **`skills`**: Claude Code tidak menerapkan `skills` definition ke rekan tim dalam mode tampilan apa pun. Rekan tim memuat skills dari pengaturan proyek dan pengguna Anda.306* **`skills`**: Claude Code tidak menerapkan `skills` definisi ke rekan kerja di salah satu mode tampilan. Rekan kerja memuat skills dari pengaturan proyek dan pengguna Anda.

307* **`mcpServers`**: untuk rekan tim split-pane, Claude Code menerapkan `mcpServers` definition di bawah [aturan untuk field itu](/docs/id/sub-agents#scope-mcp-servers-to-a-subagent), yang mencakup sesi yang dimulai dengan `--agent` juga. Rekan tim in-process mengabaikan field dan memuat MCP servers dari pengaturan proyek dan pengguna Anda.307* **`mcpServers`**: untuk rekan kerja split-pane, Claude Code menerapkan `mcpServers` definisi di bawah [aturan untuk bidang itu](/docs/id/sub-agents#scope-mcp-servers-to-a-subagent), yang mencakup sesi yang dimulai dengan `--agent` juga. Rekan kerja dalam proses mengabaikan bidang dan memuat server MCP dari pengaturan proyek dan pengguna Anda.

308 308 

309Ketika Claude mengirim pesan ke rekan tim in-process yang tidak lagi berjalan, Claude Code membawanya kembali dalam sesi yang sama, memulihkan percakapan apa pun yang disimpan untuk itu, dan memberikan pesan sebagai prompt berikutnya. Setelah Anda melanjutkan sesi, rekan tim tidak dibawa kembali dengan cara ini, sesuai [batasan resume](#limitations).309Ketika Claude mengirim pesan ke rekan kerja dalam proses yang tidak lagi berjalan, Claude Code membawanya kembali dalam sesi yang sama, memulihkan percakapan apa pun yang disimpan untuknya, dan memberikan pesan sebagai prompt berikutnya. Setelah Anda melanjutkan sesi, rekan kerja tidak dibawa kembali dengan cara ini, per [batasan resume](#limitations).

310 310 

311Untuk rekan tim yang dibawanya kembali, Claude Code menerapkan kembali definition yang berasal dari direktori `.claude/agents/` proyek atau direktori `--add-dir` hanya jika Anda telah [mempercayai folder tempat file agent berada](/docs/id/permissions#what-runs-before-you-trust-a-folder). Mempercayai folder induk tidak dihitung. Sampai saat itu, rekan tim kembali tanpa tools atau instruksi definition apa pun, hanya menyimpan tools yang Claude Code tambahkan ke setiap rekan tim in-process. Lihat [definisi agent rekan tim tidak dipulihkan](/docs/id/errors#teammate-agent-definition-not-restored) untuk teks pemberitahuan.311Untuk rekan kerja yang dibawanya kembali, Claude Code menerapkan kembali definisi yang berasal dari direktori `.claude/agents/` proyek atau direktori `--add-dir` hanya jika Anda telah [mempercayai folder tempat file agent berada](/docs/id/permissions#what-runs-before-you-trust-a-folder). Mempercayai folder induk tidak dihitung. Sampai saat itu, rekan kerja kembali tanpa alat atau instruksi definisi apa pun, hanya menyimpan alat yang Claude Code tambahkan ke setiap rekan kerja dalam proses. Lihat [definisi agent rekan kerja tidak dipulihkan](/docs/id/errors#teammate-agent-definition-not-restored) untuk teks pemberitahuan.

312 312 

313<h3 id="permissions">313<h3 id="permissions">

314 Izin314 Izin

315</h3>315</h3>

316 316 

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

318 318 

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

320 320 

321<h4 id="messages-between-agents">321<h4 id="messages-between-agents">

322 Pesan antar agent322 Pesan antar agent

323</h4>323</h4>

324 324 

325Ketika satu agent mengirim agent lain pesan melalui `SendMessage`, Claude Code memberi tahu agent penerima bahwa pesan 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. Aturan yang sama berlaku untuk pesan yang tiba dari [salah satu sesi Claude Code lain Anda](/docs/id/cross-session-messaging#how-a-session-treats-an-incoming-message), di luar tim sepenuhnya.325Ketika satu agent mengirim agent lain pesan melalui `SendMessage`, Claude Code memberi tahu agent penerima bahwa pesan berasal dari sesi Claude lain, bukan dari Anda. Rekan kerja tidak dapat menyetujui prompt izin atau memberikan persetujuan atas nama Anda, dan rekan kerja yang ditolak tindakan tidak dapat menyampaikannya ke rekan kerja lain untuk melewati pemeriksaan. Aturan yang sama berlaku untuk pesan yang tiba dari [salah satu sesi Claude Code lain Anda](/docs/id/cross-session-messaging#how-a-session-treats-an-incoming-message), di luar tim sepenuhnya.

326 326 

327Dalam [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), classifier menerapkan dua pemeriksaan ke pesan antar agent:327Dalam [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), pengklasifikasi menerapkan dua pemeriksaan ke pesan antar agent:

328 328 

329* Ini memperlakukan klaim persetujuan yang disalurkan dari agent lain sebagai input yang tidak dipercaya daripada konfirmasi dari Anda.329* Ini memperlakukan klaim persetujuan yang disalurkan dari agent lain sebagai input yang tidak dipercaya daripada konfirmasi dari Anda.

330* Ini meninjau setiap pesan sebelum Claude Code mengirimkannya, baik pesan biasa atau pesan protokol terstruktur seperti permintaan shutdown atau respons persetujuan rencana. Pesan yang diblokir tidak pernah mencapai penerima.330* Ini meninjau setiap pesan sebelum Claude Code mengirimkannya, baik pesan biasa atau pesan protokol terstruktur seperti permintaan shutdown atau respons persetujuan rencana. Pesan yang diblokir tidak pernah mencapai penerima.

331 331 

332<h3 id="context-and-communication">332<h3 id="context-and-communication">

333 Context dan komunikasi333 Konteks dan komunikasi

334</h3>334</h3>

335 335 

336Setiap rekan tim memiliki context window-nya sendiri. Ketika dihasilkan, rekan tim memuat konteks proyek yang sama seperti session reguler: CLAUDE.md, MCP servers, dan skills. Mereka juga menerima spawn prompt dari lead. Riwayat percakapan lead tidak terbawa.336Setiap rekan kerja memiliki jendela konteksnya sendiri. Ketika diluncurkan, rekan kerja memuat konteks proyek yang sama dengan sesi biasa: CLAUDE.md, server MCP, dan skills. Jika Anda memulai pemimpin dengan [`--setting-sources`](/docs/id/cli-reference#cli-flags), rekan kerja memuat dari daftar sumber terbatas yang sama. Sebelum v2.1.281, rekan kerja [split-pane](#choose-a-display-mode) memuat setiap sumber pengaturan.

337 337 

338**Bagaimana rekan tim berbagi informasi:**338Rekan kerja juga menerima prompt spawn dari pemimpin. Riwayat percakapan pemimpin tidak terbawa.

339 339 

340* **Pengiriman pesan otomatis**: ketika rekan tim mengirim pesan, mereka dikirimkan secara otomatis ke penerima. Lead tidak perlu polling untuk update.340**Cara rekan kerja berbagi informasi:**

341* **Notifikasi idle**: ketika rekan tim selesai dan berhenti, mereka secara otomatis memberi tahu lead dan menyertakan jawaban akhir mereka dalam notifikasi. Rekan tim yang giliran berakhir pada kesalahan API memberi tahu lead bahwa itu gagal dan menyertakan teks kesalahan.341 

342* **Pengiriman pesan otomatis**: ketika rekan kerja mengirim pesan, mereka disampaikan secara otomatis kepada penerima. Pemimpin tidak perlu menunggu pembaruan.

343* **Notifikasi idle**: ketika rekan kerja selesai dan berhenti, ia secara otomatis memberi tahu pemimpin dan menyertakan jawaban finalnya dalam notifikasi. Rekan kerja yang giliran berakhir pada kesalahan API memberi tahu pemimpin bahwa ia gagal dan menyertakan teks kesalahan.

342* **Daftar tugas bersama**: [agent yang memiliki Task tools](/docs/id/tools-reference#task-tool-availability) dapat melihat status tugas dan mengklaim pekerjaan yang tersedia.344* **Daftar tugas bersama**: [agent yang memiliki Task tools](/docs/id/tools-reference#task-tool-availability) dapat melihat status tugas dan mengklaim pekerjaan yang tersedia.

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

344 346 

345Lead menugaskan setiap rekan tim nama ketika menghasilkannya, dan rekan tim mana pun dapat mengirim pesan ke yang lain berdasarkan nama itu. Untuk mendapatkan nama yang dapat diprediksi yang dapat Anda referensikan dalam prompt kemudian, beri tahu lead apa yang harus dipanggil setiap rekan tim dalam instruksi spawn Anda.347Pemimpin memberikan setiap rekan kerja nama ketika meluncurkannya, dan rekan kerja apa pun dapat mengirim pesan ke yang lain berdasarkan nama itu. Untuk mendapatkan nama yang dapat diprediksi yang dapat Anda referensikan dalam prompt nanti, beri tahu pemimpin apa yang harus dipanggil setiap rekan kerja dalam instruksi spawn Anda.

346 348 

347<h3 id="token-usage">349<h3 id="token-usage">

348 Penggunaan token350 Penggunaan token

349</h3>351</h3>

350 352 

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

352 354 

353Permintaan rekan tim in-process jatuh di luar [cache TTL bucket](/docs/id/prompt-caching#which-ttl-each-request-gets) percakapan utama, jadi cache-nya berlaku selama lima menit secara default, termasuk pada langganan Claude. Untuk menyimpannya selama satu jam, atur [`subagentPromptCacheTtl`](/docs/id/settings-reference#subagentpromptcachettl) ke `1h`. API menagih penulisan cache 1 jam dengan tarif yang lebih tinggi.355Permintaan rekan kerja dalam proses berada di luar [cache TTL bucket](/docs/id/prompt-caching#which-ttl-each-request-gets) percakapan utama, sehingga cache-nya berlaku selama lima menit secara default, termasuk pada langganan Claude. Untuk menyimpannya selama satu jam, atur [`subagentPromptCacheTtl`](/docs/id/settings-reference#subagentpromptcachettl) ke `1h`. API menagih penulisan cache 1 jam dengan tarif yang lebih tinggi.

354 356 

355<h2 id="use-case-examples">357<h2 id="use-case-examples">

356 Contoh use case358 Contoh use case

agent-view.md +83 −67

Details

260 260 

261Menekan `←` membuat baris sesi bahkan ketika percakapan belum memiliki pesan, jadi `→` masih kembali ke sana.261Menekan `←` membuat baris sesi bahkan ketika percakapan belum memiliki pesan, jadi `→` masih kembali ke sana.

262 262 

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

264 264 

265<h3 id="organize-the-list">265<h3 id="organize-the-list">

266 Atur daftar266 Atur daftar


340 Dispatch new agents340 Dispatch new agents

341</h2>341</h2>

342 342 

343You can dispatch new background sessions from agent view, send or copy an existing interactive session to the background, or start one directly from the shell.343Anda dapat mengirim sesi latar belakang baru dari agent view, mengirim atau menyalin sesi interaktif yang ada ke latar belakang, atau memulai satu langsung dari shell.

344 344 

345<h3 id="from-agent-view">345<h3 id="from-agent-view">

346 From agent view346 From agent view

347</h3>347</h3>

348 348 

349Type a prompt in the input at the bottom of agent view and press `Enter` to start a new background session. The session is named automatically from the prompt; rename it later with `Ctrl+R`.349Ketik prompt dalam input di bagian bawah agent view dan tekan `Enter` untuk memulai sesi latar belakang baru. Sesi diberi nama secara otomatis dari prompt; ubah nama nanti dengan `Ctrl+R`.

350 350 

351Nama otomatis adalah label pendek yang ditulis oleh [model kelas Haiku](/docs/id/model-config). Nama yang diterima sesi nanti juga muncul di barisnya, termasuk [judul yang dihasilkan](/docs/id/sessions#name-your-sessions) yang diterima sesi ketika Anda [menerima rencana](/docs/id/permission-modes#review-and-approve-a-plan) dalam sesi itu.351Nama otomatis adalah label pendek yang ditulis oleh [model kelas Haiku](/docs/id/model-config). Nama yang diterima sesi nanti juga muncul di barisnya, termasuk [judul yang dihasilkan](/docs/id/sessions#name-your-sessions) yang diterima sesi ketika Anda [menerima rencana](/docs/id/permission-modes#review-and-approve-a-plan) dalam sesi itu.

352 352 


454 454 

455* `--mcp-config` dan `--strict-mcp-config`455* `--mcp-config` dan `--strict-mcp-config`

456* `--settings`456* `--settings`

457* `--setting-sources`

457* `--add-dir`458* `--add-dir`

458* `--plugin-dir`459* `--plugin-dir`

459* `--fallback-model`460* `--fallback-model`


473 474 

474Prompt adalah argumen posisional, bukan nilai `-p`. Claude Code menolak `--bg` dikombinasikan dengan `-p` atau `--print` sebelum sesi apa pun dibuat, karena `--print` tidak pernah memulai sesi interaktif yang `claude agents` lampirkan.475Prompt adalah argumen posisional, bukan nilai `-p`. Claude Code menolak `--bg` dikombinasikan dengan `-p` atau `--print` sebelum sesi apa pun dibuat, karena `--print` tidak pernah memulai sesi interaktif yang `claude agents` lampirkan.

475 476 

477Jika Anda menjalankan `claude --bg` dari terminal di direktori yang belum Anda [percayai](/docs/id/permissions#project-allow-rules-and-workspace-trust), dialog kepercayaan ruang kerja muncul terlebih dahulu dan sesi dimulai setelah Anda menerima. Jika Anda menolak, Claude Code keluar tanpa memulai sesi. Di mana tidak ada dialog yang dapat muncul, seperti dalam skrip, perintah keluar dengan kesalahan [`Workspace not trusted`](/docs/id/errors#workspace-not-trusted-when-dispatching-a-background-session) sebagai gantinya.

478 

476Untuk menjalankan [subagent](/docs/id/sub-agents) spesifik yang telah Anda tentukan, seperti `code-reviewer`, sebagai agen utama sesi, gabungkan `--bg` dengan `--agent`:479Untuk menjalankan [subagent](/docs/id/sub-agents) spesifik yang telah Anda tentukan, seperti `code-reviewer`, sebagai agen utama sesi, gabungkan `--bg` dengan `--agent`:

477 480 

478```bash theme={null}481```bash theme={null}


593* Worktree yang git tidak lagi kenali, misalnya setelah `git worktree prune`, tidak memblokir penghapusan. Claude Code menghapus sesi dan meninggalkan direktori di disk.596* Worktree yang git tidak lagi kenali, misalnya setelah `git worktree prune`, tidak memblokir penghapusan. Claude Code menghapus sesi dan meninggalkan direktori di disk.

594* Ketika git atau [`WorktreeRemove` hook](/docs/id/hooks#worktreeremove) Anda gagal menghapus worktree, Claude Code menyimpan worktree dan sesi, dan pesan menyebutkan penyebabnya. Untuk hook, pesan mengatakan bagaimana itu berakhir, seperti `exited 1`, dan mengutip awal stderr-nya. Pesan juga memberitahu Anda mana dari ini yang harus dilakukan selanjutnya:597* Ketika git atau [`WorktreeRemove` hook](/docs/id/hooks#worktreeremove) Anda gagal menghapus worktree, Claude Code menyimpan worktree dan sesi, dan pesan menyebutkan penyebabnya. Untuk hook, pesan mengatakan bagaimana itu berakhir, seperti `exited 1`, dan mengutip awal stderr-nya. Pesan juga memberitahu Anda mana dari ini yang harus dilakukan selanjutnya:

595 598 

596 * Hapus sesi lagi untuk menghapus direktori bagaimanapun, dengan menekan `Ctrl+X` dua kali pada barisnya di agent view atau menjalankan perintah `claude rm <id> --force-remove-worktree <worktree-id>` yang ditolak cetak. Claude Code menawarkan ini hanya ketika dapat mengonfirmasi direktori adalah salah satu worktrees tertaut repositori di bawah `.claude/worktrees/` tanpa perubahan yang tidak di-commit ke file yang dilacak, tidak ada repositori bersarang di dalamnya, dan tidak ada catatan sesi lain yang menyebutkannya. Cabang worktree tetap dalam repositori.599 * Hapus sesi lagi untuk menghapus direktori bagaimanapun, dengan menekan `Ctrl+X` dua kali pada barisnya di agent view atau menjalankan perintah `claude rm <id> --force-remove-worktree <worktree-id>` yang ditolak cetak. Cabang worktree tetap dalam repositori.

597 * Perbaiki apa yang menghalangi, seperti committing atau stashing perubahan yang tidak di-commit, menutup apa pun yang menggunakan direktori, atau memperbaiki hook, kemudian hapus sesi lagi.600 

601 Claude Code menawarkan ini hanya ketika dapat mengonfirmasi semua hal berikut:

602 

603 * Direktori adalah salah satu worktrees tertaut repositori di bawah `.claude/worktrees/`

604 * Baik worktree maupun submodule yang diperiksa tidak memiliki perubahan yang tidak di-commit ke file yang dilacak

605 * Tidak ada catatan sesi lain yang menyebutkannya

606 

607 Ketika Claude Code tidak dapat memverifikasi status checkout submodule, seperti yang diganti oleh repositori git terpisah, itu tidak menawarkan ini juga.

608 * Perbaiki apa yang menghalangi, seperti committing atau stashing perubahan yang tidak di-commit, memindahkan repositori git terpisah keluar dari worktree, menutup apa pun yang menggunakan direktori, atau memperbaiki hook, kemudian hapus sesi lagi.

598 * Hapus direktori sendiri, kemudian hapus sesi lagi.609 * Hapus direktori sendiri, kemudian hapus sesi lagi.

599 610 

600Worktree yang Anda buat sendiri dan mulai sesi di dalamnya ditinggalkan di tempat bagaimanapun.611Worktree yang Anda buat sendiri dan mulai sesi di dalamnya ditinggalkan di tempat bagaimanapun.


639 Settings and provider650 Settings and provider

640</h4>651</h4>

641 652 

642Sesi latar belakang membaca [pengaturan](/docs/id/settings) dari direktori tempat ia berjalan, sama seperti jika Anda telah memulai `claude` di sana. Ini termasuk nilai [`env`](/docs/id/settings-reference#env) dalam pengaturan proyek, jadi `ANTHROPIC_MODEL` atau variabel penyedia yang ditetapkan di sana berlaku untuk setiap sesi latar belakang di direktori itu.653Sesi latar belakang membaca [pengaturan](/docs/id/settings) dari direktori tempat ia berjalan, sama seperti jika Anda telah memulai `claude` di sana dengan [bendera konfigurasi yang dibawanya](#what-carries-over-when-you-background). Ini termasuk nilai [`env`](/docs/id/settings-reference#env) dalam pengaturan proyek, jadi `ANTHROPIC_MODEL` atau variabel penyedia yang ditetapkan di sana berlaku untuk setiap sesi latar belakang di direktori itu.

643 654 

644Sesi latar belakang juga berjalan dengan `PATH` dari shell tempat Anda mengirimnya, jadi perintah yang dijalankannya menemukan alat yang sama yang ditemukan terminal Anda. Ia menyimpan pilihan penyedia cloud shell itu juga, seperti `CLAUDE_CODE_USE_BEDROCK` atau `CLAUDE_CODE_USE_VERTEX`, bersama dengan alias `ANTHROPIC_DEFAULT_*_MODEL` dan penggantian [`CLAUDE_CODE_EXTRA_BODY`](/docs/id/env-vars) apa pun yang Anda ekspor di sana.655Sesi latar belakang juga berjalan dengan `PATH` dari shell tempat Anda mengirimnya, jadi perintah yang dijalankannya menemukan alat yang sama yang ditemukan terminal Anda. Ia menyimpan pilihan penyedia cloud shell itu juga, seperti `CLAUDE_CODE_USE_BEDROCK` atau `CLAUDE_CODE_USE_VERTEX`, bersama dengan alias `ANTHROPIC_DEFAULT_*_MODEL` dan penggantian [`CLAUDE_CODE_EXTRA_BODY`](/docs/id/env-vars) apa pun yang Anda ekspor di sana.

645 656 


718 Settings, plugins, and MCP servers729 Settings, plugins, and MCP servers

719</h3>730</h3>

720 731 

721Agent view menerima bendera konfigurasi yang sama seperti `claude` untuk memuat pengaturan, plugin, server MCP, dan direktori tambahan. Agent view menerapkan `--settings` dan `--plugin-dir` ke dirinya sendiri dan melewatkan setiap bendera konfigurasi ke sesi yang Anda kirim darinya, jadi plugin atau server MCP yang Anda muat dengan cara ini tersedia dalam sesi itu.732Agent view menerima bendera konfigurasi yang sama seperti `claude` untuk memuat pengaturan, plugin, server MCP, dan direktori tambahan. Agent view menerapkan `--settings`, `--setting-sources`, dan `--plugin-dir` ke dirinya sendiri dan melewatkan setiap bendera konfigurasi ke sesi yang Anda kirim darinya, jadi plugin atau server MCP yang Anda muat dengan cara ini tersedia dalam sesi itu.

722 733 

723| Bendera | Efek |734| Bendera | Efek |

724| :- | :- |735| :- | :- |

725| [`--settings <file-or-json>`](/docs/id/settings) | Pengaturan penggantian untuk agent view dan sesi yang dikirim |736| [`--settings <file-or-json>`](/docs/id/settings) | Pengaturan penggantian untuk agent view dan sesi yang dikirim |

737| [`--setting-sources <sources>`](/docs/id/cli-reference#cli-flags) | Muat hanya sumber pengaturan yang dinamai, di agent view dan sesi yang dikirim |

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

727| [`--plugin-dir <path>`](/docs/id/plugins/create#load-a-directory-or-archive-for-one-session) | Muat plugin dari direktori lokal |739| [`--plugin-dir <path>`](/docs/id/plugins/create#load-a-directory-or-archive-for-one-session) | Muat plugin dari direktori lokal |

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


730 742 

731Ulangi `--add-dir`, `--plugin-dir`, atau `--mcp-config` sekali per nilai. `claude agents` tidak mendukung bentuk yang dipisahkan spasi, seperti `--add-dir a b c`.743Ulangi `--add-dir`, `--plugin-dir`, atau `--mcp-config` sekali per nilai. `claude agents` tidak mendukung bentuk yang dipisahkan spasi, seperti `--add-dir a b c`.

732 744 

733Anda dapat menempatkan `--settings` dan `--plugin-dir` sebelum atau sesudah `agents`. Simpan `--add-dir` dan `--mcp-config` setelah `agents`: jika Anda menempatkan salah satu sebelum `agents`, [`claude agents --json`](#manage-sessions-from-the-shell) gagal dengan kesalahan `unknown option`.745Anda dapat menempatkan `--settings`, `--setting-sources`, dan `--plugin-dir` sebelum atau sesudah `agents`. Simpan `--add-dir` dan `--mcp-config` setelah `agents`: jika Anda menempatkan salah satu sebelum `agents`, [`claude agents --json`](#manage-sessions-from-the-shell) gagal dengan kesalahan `unknown option`.

734 746 

735Contoh berikut membuka agent view dengan penggantian pengaturan dan satu direktori tambahan:747Contoh berikut membuka agent view dengan penggantian pengaturan dan satu direktori tambahan:

736 748 


1044 Riwayat versi1056 Riwayat versi

1045</h2>1057</h2>

1046 1058 

1047Tampilan agen telah berkembang dengan cepat selama pratinjau penelitian. Jika Anda berada di versi Claude Code yang lebih lama, beberapa perilaku di halaman ini mungkin berbeda; khususnya, `claude agents` menolak bendera yang belum didukungnya dengan kesalahan `unknown option`. Tabel di bawah mencantumkan kapan setiap bendera dan perilaku ditambahkan.1059Agent view telah berkembang pesat selama pratinjau penelitian. Jika Anda menggunakan versi Claude Code yang lebih lama, beberapa perilaku di halaman ini mungkin berbeda; khususnya, `claude agents` menolak flag yang belum didukungnya dengan kesalahan `unknown option`. Tabel di bawah mencantumkan kapan setiap flag dan perilaku ditambahkan.

1048 1060 

1049| Versi | Perubahan |1061| Versi | Perubahan |

1050| - | - |1062| - | - |

1051| v2.1.268 | Ketika [penghapusan ditolak](#what-deleting-a-session-removes) karena git atau hook `WorktreeRemove` Anda tidak dapat menghapus worktree, pesan menyebutkan penyebabnya, termasuk bagaimana hook berakhir dan awal stderr-nya. Untuk worktree yang ditautkan di bawah `.claude/worktrees/` repositori dengan tidak ada perubahan yang tidak dilakukan commit pada file yang dilacak, tidak ada repositori bersarang di dalamnya, dan tidak ada catatan sesi lain yang menyebutnya, menghapus sesi lagi menghapus direktori bagaimanapun, dari tampilan agen atau dengan `claude rm <id> --force-remove-worktree <worktree-id>`. Sebelum rilis ini, baris hanya menampilkan `worktree could not be removed (WorktreeRemove hook failed)` atau kesalahan git, stderr hook hanya pergi ke log debug, dan menghapus lagi ditolak dengan cara yang sama. |1063| v2.1.281 | Pembatasan [`--setting-sources`](/docs/id/cli-reference#cli-flags) [terbawa](/docs/id/agent-view#what-carries-over-when-you-background) ke sesi yang Anda pindahkan ke latar belakang dengan `←` atau `/bg` dan ke sesi yang Anda dispatch dari agent view. Sebelum rilis ini, sesi yang dihasilkan memuat setiap sumber pengaturan. |

1052| v2.1.268 | Setelah `←` pertama menampilkan `Press ← again to open agents`, atau `Press ← again to go back to agents` dalam sesi yang dilampirkan, [tekan pertama yang datang setidaknya satu detik kemudian beralih](#switch-sessions-without-leaving-the-terminal), bahkan ketika tekan yang lebih cepat di antaranya diabaikan. Sebelum rilis ini, setiap tekan yang diabaikan memulai ulang penantian, jadi menekan `←` lagi dengan kecepatan yang stabil tidak beralih sampai Anda berhenti selama lebih dari satu detik. |1064| v2.1.281 | `claude --bg`, dan perintah yang memulai ulang sesi, memeriksa kepercayaan ruang kerja untuk direktori sesi terlebih dahulu. Dari terminal di direktori itu, [dialog kepercayaan muncul](#from-your-shell) jika Anda belum menerimanya; di mana tidak ada dialog yang dapat muncul, seperti dalam skrip, perintah keluar dengan kesalahan [`Workspace not trusted`](/docs/id/errors#workspace-not-trusted-when-dispatching-a-background-session). |

1053| v2.1.260 | Ketika Anda [melepaskan sesi](#from-inside-a-session), [daftar agen](/docs/id/cross-session-messaging#see-which-sessions-claude-can-reach) sesi lain Anda menampilkan percakapan sekali, sebagai sesi latar belakangnya, dan pesan mereka kepadanya tidak lagi mencapai terminal tempat Anda memindahkannya. Sebelum rilis ini, terminal itu bisa tetap terdaftar sebagai sesi interaktif kedua di bawah nama percakapan, dan sesi yang telah mengirim pesan ke percakapan sebelum perpindahan terus mengirimkan ke terminal itu. |1065| v2.1.274 | Setelah pembaruan otomatis, agent view yang Anda tinggalkan selama sekitar satu jam dapat meluncurkan ulang dirinya ke build baru. Ketika melakukannya, ia menyimpan [default dispatch](#dispatch-defaults) yang Anda buka dengannya: `--model`, `--effort`, `--permission-mode`, `--allow-dangerously-skip-permissions`, dan `--agent`. Sebelum rilis ini, tampilan yang diluncurkan ulang hanya menyimpan `--cwd` dan flag konfigurasi seperti `--settings` dan `--mcp-config`, jadi sesi yang Anda dispatch setelahnya dimulai tanpa default tersebut. |

1054| v2.1.260 | Ketika [penghapusan ditolak atas commit yang tidak didorong](#what-deleting-a-session-removes), pesan menyebutkan cabang worktree dan berapa banyak commit yang tidak didorong, dan menghapus sesi lagi membuang worktree dan commitnya. Sebelum rilis ini, penolakan hanya mengatakan `worktree has commits that are not pushed anywhere`, menghapus lagi ditolak dengan cara yang sama, dan menghapus sesi memerlukan mendorong commit atau menghapus worktree dengan tangan. |1066| v2.1.274 | Ketika [penghapusan ditolak](#what-deleting-a-session-removes) karena git atau hook `WorktreeRemove` Anda tidak dapat menghapus worktree, submodul yang diperiksa yang Claude Code verifikasi tidak memiliki perubahan yang tidak dikomit pada file yang dilacak tidak memblokir penawaran untuk menghapus lagi dan menghapus direktori bagaimanapun. Pekerjaan yang tidak dikomit di dalam submodul yang diperiksa dihitung sebagai perubahan yang tidak dikomit, dan pesan menyebutkan submodul. Sebelum rilis ini, checkout submodul apa pun di worktree memblokir penawaran, dengan pesan mengatakan worktree berisi repositori bersarang. |

1055| v2.1.257 | `←` [melepaskan dari sesi yang dilampirkan sementara overlay `/btw` terbuka](#attach-to-a-session), bahkan di tengah jawaban, dan overlay membuka kembali ketika Anda melampirkan lagi. Sebelum rilis ini, `←` tidak melepaskan sementara overlay terbuka. |1067| v2.1.268 | Ketika [penghapusan ditolak](#what-deleting-a-session-removes) karena git atau hook `WorktreeRemove` Anda tidak dapat menghapus worktree, pesan menyebutkan penyebabnya, termasuk bagaimana hook berakhir dan awal stderr-nya. Untuk worktree git yang ditautkan di bawah `.claude/worktrees/` repositori tanpa perubahan yang tidak dikomit pada file yang dilacak, tidak ada repositori bersarang di dalamnya, dan tidak ada catatan sesi lain yang menyebutkannya, menghapus sesi lagi menghapus direktori bagaimanapun, dari agent view atau dengan `claude rm <id> --force-remove-worktree <worktree-id>`. Sebelum rilis ini, baris hanya menampilkan `worktree could not be removed (WorktreeRemove hook failed)` atau kesalahan git, stderr hook hanya masuk ke log debug, dan menghapus lagi ditolak dengan cara yang sama. |

1056| v2.1.257 | Ketika Anda menjalankan [`claude --resume <session-id> --bg`](#from-your-shell), Claude Code melanjutkan sesi itu di bawah ID-nya sendiri, atau memulai salinan di bawah ID baru dan mencetak baris `note:` yang menjelaskan alasannya. `--continue`, `--resume` telanjang, dan `--resume` dengan nama atau jalur memulai salinan dengan catatan yang sama. Sebelum rilis ini, `--resume` dengan `--bg` selalu memulai salinan di bawah ID baru dan tidak mengatakan apa-apa. |1068| v2.1.268 | Setelah `←` pertama menampilkan `Press ← again to open agents`, atau `Press ← again to go back to agents` dalam sesi yang terpasang, [tekan pertama yang datang setidaknya satu detik kemudian beralih](#switch-sessions-without-leaving-the-terminal), bahkan ketika tekan yang lebih cepat di antaranya diabaikan. Sebelum rilis ini, setiap tekan yang diabaikan memulai ulang penantian, jadi menekan `←` lagi dengan kecepatan yang stabil tidak beralih sampai Anda berhenti selama lebih dari satu detik. |

1057| v2.1.257 | Ketika Anda mengirim sesi dari tampilan agen yang Anda buka dengan `←`, Claude Code memulainya dalam [mode izin yang dikonfigurasi direktori target](#permission-mode) melalui `permissions.defaultMode`. Ketika direktori tidak menetapkan satu, mode izin sesi yang Anda datang darinya berlaku. Sebelum rilis ini, sesi yang dikirim selalu dimulai dalam mode izin sesi yang Anda datang darinya, menimpanya. |1069| v2.1.260 | Ketika Anda [memindahkan sesi ke latar belakang](#from-inside-a-session), [daftar agent](/docs/id/cross-session-messaging#see-which-sessions-claude-can-reach) sesi lain Anda menampilkan percakapan sekali, sebagai sesi latar belakangnya, dan pesan mereka kepadanya tidak lagi mencapai terminal yang Anda pindahkan. Sebelum rilis ini, terminal itu bisa tetap terdaftar sebagai sesi interaktif kedua di bawah nama percakapan, dan sesi yang telah mengirim pesan ke percakapan sebelum perpindahan terus mengirimkan ke terminal itu. |

1058| v2.1.257 | `Ctrl+S`, `Ctrl+T`, dan `Ctrl+G` dalam tampilan agen [mengikuti `keybindings.json` Anda](#keyboard-shortcuts): `Ctrl+S` dan `Ctrl+T` melalui tindakan `agents:switchView` dan `agents:togglePin` konteks `Agents`, dan `Ctrl+G` melalui pengikatan `chat:externalEditor` konteks `Chat`. Sebelum rilis ini, tampilan agen mengabaikan `keybindings.json` dan kunci ini diperbaiki. |1070| v2.1.260 | Ketika [penghapusan ditolak atas komit yang tidak didorong](#what-deleting-a-session-removes), pesan menyebutkan cabang worktree dan berapa banyak komit yang tidak didorong, dan menghapus sesi lagi membuang worktree dan komitnya. Sebelum rilis ini, penolakan hanya mengatakan `worktree has commits that are not pushed anywhere`, menghapus lagi ditolak dengan cara yang sama, dan menghapus sesi memerlukan mendorong komit atau menghapus worktree dengan tangan. |

1059| v2.1.257 | Memulai [layanan latar belakang](#the-supervisor-process) pulih dari dua penyebab kegagalan. Pada instalasi npm macOS, awal selama pembaruan diri [menunggu instalasi](/docs/id/errors#eacces-when-starting-a-background-session) alih-alih menjalankan placeholder yang npm letakkan saat mengganti biner. Di Windows, `daemon.lock` yang sudah usang ditulis sebelum mesin terakhir boot, atau yang ID proses yang dicatat sekarang milik proses yang berbeda, diganti. Sebelum rilis ini, awal macOS gagal dengan `Error: claude native binary not installed.` selama jendela instalasi, dan kunci Windows membuat setiap awal gagal dengan [`exited before it became reachable`](/docs/id/errors#background-service-exited-before-it-became-reachable) sampai Anda menghapus `~/.claude/daemon.lock`. |1071| v2.1.257 | `←` [melepaskan dari sesi yang terpasang sementara overlay `/btw` terbuka](#attach-to-a-session), bahkan di tengah jawaban, dan overlay dibuka kembali ketika Anda melampirkan berikutnya. Sebelum rilis ini, `←` tidak melepaskan sementara overlay terbuka. |

1060| v2.1.257 | Ketika Anda membuka atau mengirim sesi latar belakang sementara proses Claude Code lain mengunduh pembaruan npm, Claude Code [terus menunggu hingga dua menit](/docs/id/errors#eacces-when-starting-a-background-session) sementara instalasi berjalan, kemudian gagal mengatakan `Claude Code is being updated by npm on this machine`. Sebelum rilis ini, penantian berhenti pada sepuluh detik, jadi pembukaan gagal dengan `Couldn't start the background service` sementara unduhan masih berjalan. |1072| v2.1.257 | Ketika Anda menjalankan [`claude --resume <session-id> --bg`](#from-your-shell), Claude Code melanjutkan sesi itu di bawah ID-nya sendiri, atau memulai salinan di bawah ID baru dan mencetak baris `note:` yang menjelaskan mengapa. `--continue`, `--resume` yang kosong, dan `--resume` dengan nama atau path memulai salinan dengan catatan yang sama. Sebelum rilis ini, `--resume` dengan `--bg` selalu memulai salinan di bawah ID baru dan tidak mengatakan apa-apa. |

1061| v2.1.257 | Sesi latar belakang yang memegang [pesan lintas sesi](/docs/id/cross-session-messaging#control-inbound-messages) untuk persetujuan Anda menampilkan `approve message from` pada barisnya `Needs input`, dengan alamat pengirim dan nama yang diklaim pengirim. Sebelum rilis ini, baris pindah ke `Needs input` tetapi menyimpan teks sebelumnya, jadi tidak ada dalam `claude agents` yang menyebutkan pesan yang menunggu atau pengirimnya. |1073| v2.1.257 | Ketika Anda dispatch sesi dari agent view yang Anda buka dengan `←`, Claude Code memulainya dalam [mode izin yang dikonfigurasi direktori target](#permission-mode) melalui `permissions.defaultMode`. Ketika direktori tidak menetapkan satu, mode izin sesi yang Anda datangi berlaku. Sebelum rilis ini, sesi yang didispatch selalu dimulai dalam mode izin sesi yang Anda datangi, menimpanya. |

1062| v2.1.257 | Prompt yang disimpan dengan `Ctrl+S` di dalam sesi latar belakang yang dibuka [disimpan dengan sesi](#what-persists-across-restarts), jadi `Ctrl+S` memulihkannya setelah proses sesi dihentikan dan dimulai lagi. Sebelum rilis ini, simpanan hanya hidup dalam proses yang berjalan dan hilang ketika sesi menjadi idle cukup lama untuk prosesnya berhenti, atau ketika dihentikan dan kemudian dibuka kembali. |1074| v2.1.257 | `Ctrl+S`, `Ctrl+T`, dan `Ctrl+G` dalam agent view [mengikuti `keybindings.json`](#keyboard-shortcuts) Anda: `Ctrl+S` dan `Ctrl+T` melalui tindakan `agents:switchView` dan `agents:togglePin` konteks `Agents`, dan `Ctrl+G` melalui pengikatan `chat:externalEditor` konteks `Chat`. Sebelum rilis ini, agent view mengabaikan `keybindings.json` dan kunci ini diperbaiki. |

1063| v2.1.251 | Dalam sesi latar belakang yang belum [pindah ke worktree](#how-file-edits-are-isolated), Claude dan subagen yang dipawnnya dapat mengedit file di dalam worktree git yang ditautkan. |1075| v2.1.257 | Memulai [layanan latar belakang](#the-supervisor-process) pulih dari dua penyebab kegagalan. Pada instalasi npm macOS, awal selama pembaruan diri [menunggu instalasi](/docs/id/errors#eacces-when-starting-a-background-session) alih-alih menjalankan placeholder yang npm letakkan saat mengganti biner. Di Windows, `daemon.lock` yang sudah usang ditulis sebelum mesin terakhir boot, atau yang ID proses yang dicatat sekarang milik proses berbeda, diganti. Sebelum rilis ini, awal macOS gagal dengan `Error: claude native binary not installed.` selama jendela instalasi, dan kunci Windows membuat setiap awal gagal dengan [`exited before it became reachable`](/docs/id/errors#background-service-exited-before-it-became-reachable) sampai Anda menghapus `~/.claude/daemon.lock`. |

1064| v2.1.251 | Claude Code meneruskan gateway penyedia cloud yang diekspor dalam shell tempat Anda mengirim, seperti `ANTHROPIC_VERTEX_BASE_URL` atau `ANTHROPIC_BEDROCK_BASE_URL` dengan bendera bypass autnya, ke [worker sesi](#llm-gateway) di bawah kondisi yang sama dengan `ANTHROPIC_BASE_URL`. Sebelum rilis ini, jika Anda melepaskan atau mengirim dari shell yang hanya diautentikasi melalui gateway seperti itu, setiap permintaan yang dibuat sesi gagal, karena titik akhir dan bendera dijatuhkan dari lingkungannya. |1076| v2.1.257 | Ketika Anda membuka atau dispatch sesi latar belakang sementara proses Claude Code lain mengunduh pembaruan npm, Claude Code [terus menunggu hingga dua menit](/docs/id/errors#eacces-when-starting-a-background-session) sementara instalasi berjalan, kemudian gagal mengatakan `Claude Code is being updated by npm on this machine`. Sebelum rilis ini, penantian berhenti pada sepuluh detik, jadi pembukaan gagal dengan `Couldn't start the background service` sementara unduhan masih berjalan. |

1065| v2.1.251 | Ketika sesi latar belakang dimulai sementara proses Claude Code lain sedang menyegarkan [marketplace plugin](/docs/id/plugins/overview), seperti sesi saudara yang menjalankan [pembaruan otomatis marketplace](/docs/id/plugins/install#keep-plugins-updated), Claude Code menjaga plugin marketplace tersebut tetap tersedia. Sebelum rilis ini, sesi seperti itu bisa dimulai tanpa skill, agen, hook, dan server MCP marketplace apa pun dan tetap seperti itu selama seluruh jalannya. |1077| v2.1.257 | Sesi latar belakang yang menyimpan [pesan lintas sesi](/docs/id/cross-session-messaging#control-inbound-messages) untuk persetujuan Anda menampilkan `approve message from` pada baris `Needs input`-nya, dengan alamat pengirim dan nama yang diklaim pengirim. Sebelum rilis ini, baris pindah ke `Needs input` tetapi menyimpan teks sebelumnya, jadi tidak ada dalam `claude agents` yang menyebutkan pesan menunggu atau pengirimnya. |

1066| v2.1.248 | `Shift+Enter` dalam [input pengiriman](#keyboard-shortcuts) menyisipkan baris baru, sesuai dengan prompt utama, dan `Ctrl+Enter` mengirim dan melampirkan segera di terminal tempat overlay `?` mencantumkan `ctrl+enter to start and open`. Sebelum rilis ini, `Shift+Enter` mengirim dan melampirkan. |1078| v2.1.257 | Prompt yang disimpan dengan `Ctrl+S` di dalam sesi latar belakang yang dibuka [disimpan dengan sesi](#what-persists-across-restarts), jadi `Ctrl+S` memulihkannya setelah proses sesi dihentikan dan dimulai lagi. Sebelum rilis ini, simpanan hanya hidup dalam proses yang berjalan dan hilang ketika sesi menjadi idle cukup lama untuk proses berhenti, atau ketika dihentikan dan kemudian dibuka kembali. |

1067| v2.1.248 | [Menghapus sesi](#what-deleting-a-session-removes) berhasil ketika commit worktree sudah ada di salinan lokal cabang default remote `origin` Anda dan checkout utama Anda memiliki cabang itu yang diperiksa; sebelum rilis ini, penghapusan ditolak dengan `has commits that are not pushed anywhere`. |1079| v2.1.251 | Dalam sesi latar belakang yang belum [pindah ke worktree](#how-file-edits-are-isolated), Claude dan subagent yang dihasilkannya dapat mengedit file di dalam worktree git yang ditautkan. |

1068| v2.1.248 | Sesi yang dilepaskan dengan `←` atau `/background` memegang [`git worktree lock`](/docs/id/worktrees#clean-up-subagent-and-background-session-worktrees) pada worktree-nya saat berjalan; sebelum rilis ini, melepaskan melepaskan kunci, dan pembersihan atau `git worktree remove` bisa menghapus worktree di bawah sesi yang sedang berjalan. |1080| v2.1.251 | Claude Code meneruskan gateway penyedia cloud yang diekspor dalam shell tempat Anda dispatch, seperti `ANTHROPIC_VERTEX_BASE_URL` atau `ANTHROPIC_BEDROCK_BASE_URL` dengan flag bypass autentikasi, ke [worker sesi](#llm-gateway) di bawah kondisi yang sama dengan `ANTHROPIC_BASE_URL`. Sebelum rilis ini, jika Anda memindahkan ke latar belakang atau dispatch dari shell yang diautentikasi hanya melalui gateway seperti itu, setiap permintaan yang dibuat sesi gagal, karena endpoint dan flag dijatuhkan dari lingkungannya. |

1069| v2.1.248 | Sesi latar belakang yang tidak menunggu input Anda dan ditemukan mati lebih dari 48 jam setelah aktivitas terakhirnya, seperti setelah mesin mati selama berhari-hari, [menampilkan sebagai berhenti](#sessions-show-as-failed-after-shutdown) dengan `ended while the background service was off`, dan `Enter` padanya bertanya sebelum melanjutkan percakapan yang disimpannya. Sebelum rilis ini, sesi seperti itu muncul kembali sebagai kegagalan segar yang diurutkan ke atas daftar, dan satu `Enter` menarik percakapan berusia berminggu-minggu ke latar depan. |1081| v2.1.251 | Ketika sesi latar belakang dimulai sementara proses Claude Code lain menyegarkan [marketplace plugin](/docs/id/plugins/overview), seperti sesi saudara yang menjalankan [pembaruan otomatis marketplace](/docs/id/plugins/install#keep-plugins-updated), Claude Code menjaga plugin marketplace itu tetap tersedia. Sebelum rilis ini, sesi seperti itu bisa dimulai tanpa skill, agent, hook, dan server MCP marketplace itu dan tetap seperti itu untuk seluruh jalannya. |

1070| v2.1.248 | Membuka baris yang dihentikan yang percakapannya [Anda lanjutkan di terminal lain](#opening-a-session-says-the-conversation-is-already-open) ditolak dengan `Can't open — this session is running in another terminal`, dan baris menampilkan `Open in a terminal` alih-alih menampilkan di bawah `Working`. Sebelum rilis ini, membuka baris memulai proses kedua yang menulis ke percakapan yang sama. |1082| v2.1.248 | `Shift+Enter` dalam [input dispatch](#keyboard-shortcuts) menyisipkan baris baru, cocok dengan prompt utama, dan `Ctrl+Enter` dispatch dan melampirkan segera di terminal tempat overlay `?` mencantumkan `ctrl+enter to start and open`. Sebelum rilis ini, `Shift+Enter` dispatch dan melampirkan. |

1071| v2.1.248 | Sesi latar belakang yang menunggu keputusan izin sementara hook `PermissionRequest` atau `PreToolUse` mencetak jawaban yang tidak valid [menyebutkan acara hook dan kesalahan skema pada barisnya](#peek-and-reply). Sebelum rilis ini, baris hanya menampilkan permintaan yang tertunda. |1083| v2.1.248 | [Menghapus sesi](#what-deleting-a-session-removes) berhasil ketika komit worktree sudah ada di salinan lokal cabang default remote `origin` Anda dan checkout utama Anda memiliki cabang itu diperiksa; sebelum rilis ini, penghapusan ditolak dengan `has commits that are not pushed anywhere`. |

1072| v2.1.248 | Di Windows, `claude agents` merespons keyboard ketika diluncurkan di tab terminal yang program sebelumnya tinggalkan dalam mode win32-input. Sebelum rilis ini, Claude Code tidak mendekode catatan kunci yang dikirim tab seperti itu. |1084| v2.1.248 | Sesi yang dipindahkan ke latar belakang dengan `←` atau `/background` menyimpan [`git worktree lock`](/docs/id/worktrees#clean-up-subagent-and-background-session-worktrees) pada worktreenya sementara berjalan; sebelum rilis ini, memindahkan ke latar belakang melepaskan kunci, dan pembersihan atau `git worktree remove` bisa menghapus worktree di bawah sesi yang berjalan. |

1073| v2.1.247 | Di Linux dan WSL, sesi [yang proses host terminalnya mati](#the-terminal-host-died-or-the-session-stopped-responding) gagal dalam hitungan detik dengan alasannya. Pembukaan yang tidak menghasilkan output berakhir setelah sekitar sepuluh detik dengan penawaran restart, dan `Enter` pada baris memulai ulang sesi dengan percakapannya; `claude attach <id>` melaporkan penyebabnya dan keluar. Sebelum rilis ini, membuka sesi seperti itu menampilkan `opening… · esc to cancel` tanpa batas dan `claude attach <id>` menunggu tanpa melaporkan kesalahan. |1085| v2.1.248 | Sesi latar belakang yang tidak menunggu input Anda dan ditemukan mati lebih dari 48 jam setelah aktivitas terakhirnya, seperti setelah mesin mati selama berhari-hari, [menampilkan sebagai dihentikan](#sessions-show-as-failed-after-shutdown) dengan `ended while the background service was off`, dan `Enter` padanya menanyakan sebelum melanjutkan percakapan yang disimpannya. Sebelum rilis ini, sesi seperti itu muncul kembali sebagai kegagalan segar yang diurutkan ke atas daftar, dan satu `Enter` menarik percakapan berminggu-minggu lalu ke latar depan. |

1086| v2.1.248 | Membuka baris yang dihentikan yang percakapannya [Anda lanjutkan di terminal lain](#opening-a-session-says-the-conversation-is-already-open) ditolak dengan `Can't open — this session is running in another terminal`, dan baris menampilkan `Open in a terminal` alih-alih menampilkan di bawah `Working`. Sebelum rilis ini, membuka baris memulai proses kedua menulis ke percakapan yang sama. |

1087| v2.1.248 | Sesi latar belakang menunggu keputusan izin sementara hook `PermissionRequest` atau `PreToolUse` mencetak jawaban yang tidak valid [menyebutkan acara hook dan kesalahan skema pada barisnya](#peek-and-reply). Sebelum rilis ini, baris hanya menampilkan permintaan yang tertunda. |

1088| v2.1.248 | Di Windows, `claude agents` merespons keyboard ketika diluncurkan di tab terminal yang program sebelumnya tinggalkan dalam mode input win32. Sebelum rilis ini, Claude Code tidak mendekode catatan kunci yang dikirim tab seperti itu. |

1089| v2.1.247 | Di Linux dan WSL, sesi [yang proses host terminalnya mati](#the-terminal-host-died-or-the-session-stopped-responding) gagal dalam hitungan detik dengan alasannya. Pembukaan yang tidak menghasilkan output berakhir setelah sekitar sepuluh detik dengan penawaran restart, dan `Enter` pada baris memulai ulang sesi dengan percakapannya; `claude attach <id>` melaporkan penyebab dan keluar. Sebelum rilis ini, membuka sesi seperti itu menampilkan `opening… · esc to cancel` tanpa batas dan `claude attach <id>` menunggu tanpa melaporkan kesalahan. |

1074| v2.1.246 | Pada instalasi npm, ketika [layanan latar belakang](#the-supervisor-process) gagal dimulai sementara `npm install -g @anthropic-ai/claude-code` mengganti biner, Claude Code menunggu hingga sepuluh detik agar instalasi selesai dan mencoba lagi sebelum melaporkan [`EACCES: permission denied`](/docs/id/errors#eacces-when-starting-a-background-session). |1090| v2.1.246 | Pada instalasi npm, ketika [layanan latar belakang](#the-supervisor-process) gagal dimulai sementara `npm install -g @anthropic-ai/claude-code` mengganti biner, Claude Code menunggu hingga sepuluh detik agar instalasi selesai dan mencoba lagi sebelum melaporkan [`EACCES: permission denied`](/docs/id/errors#eacces-when-starting-a-background-session). |

1075| v2.1.246 | Ketika proses [layanan latar belakang](#the-supervisor-process) mati setelah mencetak kesalahan, Claude Code melaporkan kegagalan dan [mengutip baris kesalahan pertama layanan](/docs/id/errors#background-service-exited-before-it-became-reachable). |1091| v2.1.246 | Ketika proses [layanan latar belakang](#the-supervisor-process) mati setelah mencetak kesalahan, Claude Code melaporkan kegagalan dan [mengutip baris kesalahan pertama layanan](/docs/id/errors#background-service-exited-before-it-became-reachable). |

1076| v2.1.246 | Jika mesin Anda tidur sementara [layanan latar belakang](#the-supervisor-process) sedang dimulai, Claude Code mencoba lagi sekali alih-alih gagal. |1092| v2.1.246 | Jika mesin Anda tidur sementara [layanan latar belakang](#the-supervisor-process) dimulai, Claude Code mencoba ulang awal sekali alih-alih gagal. |

1077| v2.1.246 | Claude Code menunggu sekitar dua menit alih-alih 45 detik untuk [layanan latar belakang](#the-supervisor-process) yang baru dimulai yang hidup tetapi lambat menerima koneksi. |1093| v2.1.246 | Claude Code menunggu sekitar dua menit alih-alih 45 detik untuk [layanan latar belakang](#the-supervisor-process) yang baru dimulai yang hidup tetapi lambat menerima koneksi. |

1078| v2.1.246 | [Layanan latar belakang](#the-supervisor-process) dimulai dari direktori rumah Anda, jadi di macOS dan Linux direktori awal yang dihapus atau dipindahkan tidak lagi memblokir awal. |1094| v2.1.246 | [Layanan latar belakang](#the-supervisor-process) dimulai dari direktori rumah Anda, jadi di macOS dan Linux direktori awal yang dihapus atau dipindahkan tidak lagi memblokir awal. |

1079| v2.1.246 | `/fork` [menyalin percakapan lengkap](#copy-the-session-with-%2Ffork) dari sesi yang sendiri dimulai sebagai salinan dan belum merekam prompt baru sejak: salinan `/fork` yang Anda lampirkan, sesi yang dilampirkan kembali setelah `←` atau `/background` memindahkannya ke latar belakang, atau sesi yang dimulai dengan `claude --resume <id> --fork-session`. Sebelum rilis ini, jika Anda menjalankan `/fork` dalam sesi seperti itu sebelum mengirimnya prompt baru, Claude Code mencetak konfirmasi normal tetapi memulai salinan dengan percakapan kosong. Memindahkan sesi seperti itu ke latar belakang dengan `←` atau `/background` kehilangan percakapan dengan cara yang sama. |1095| v2.1.246 | `/fork` [menyalin percakapan lengkap](#copy-the-session-with-%2Ffork) dari sesi yang sendiri dimulai sebagai salinan dan belum mencatat prompt baru sejak: salinan `/fork` yang Anda lampirkan, sesi yang dilampirkan kembali setelah `←` atau `/background` memindahkannya ke latar belakang, atau sesi dimulai dengan `claude --resume <id> --fork-session`. Sebelum rilis ini, jika Anda menjalankan `/fork` dalam sesi seperti itu sebelum mengirimnya prompt baru, Claude Code mencetak konfirmasi normal tetapi memulai salinan dengan percakapan kosong. Memindahkan sesi seperti itu ke latar belakang dengan `←` atau `/background` kehilangan percakapan dengan cara yang sama. |

1080| v2.1.246 | Ketika Anda membuka sesi yang baru saja Anda kirim sementara proses worker-nya masih dimulai, seperti dengan menekan `Enter` pada barisnya, Claude Code menunggu proses dan kemudian melampirkan. Sebelum rilis ini, jika Anda menekan `Enter` sementara proses masih dimulai, Claude Code bisa menghentikan sesi dengan [`Session <id> was stopped while the respawn was in flight`](/docs/id/errors#session-was-stopped-while-the-respawn-was-in-flight). |1096| v2.1.246 | Ketika Anda membuka sesi yang baru saja Anda dispatch sementara proses worker masih dimulai, seperti dengan menekan `Enter` pada barisnya, Claude Code menunggu proses dan kemudian melampirkan. Sebelum rilis ini, jika Anda menekan `Enter` sementara proses masih dimulai, Claude Code bisa menghentikan sesi dengan [`Session <id> was stopped while the respawn was in flight`](/docs/id/errors#session-was-stopped-while-the-respawn-was-in-flight). |

1081| v2.1.246 | Ketika Anda [melepaskan](#from-inside-a-session) sesi bernama, Claude Code mencantumkannya sekali, dan ketika Anda melepaskan percakapan yang sama lagi, itu menomori nama baris baru, seperti `my-session (2)`, dengan baris yang ada menyimpan namanya. Sebelum rilis ini, terminal tempat Anda menekan `←` bisa muncul dalam `claude agents --json` sebagai sesi kedua dengan nama yang sama, dan jika Anda melepaskan percakapan yang sama lagi, Claude Code menambahkan baris lain di bawah nama yang identik. |1097| v2.1.246 | Ketika Anda [memindahkan](#from-inside-a-session) sesi bernama ke latar belakang, Claude Code mencantumkannya sekali, dan ketika Anda memindahkan percakapan yang sama ke latar belakang lagi, ia menomori nama baris baru, seperti `my-session (2)`, dengan baris yang ada menyimpan namanya. Sebelum rilis ini, terminal yang Anda tekan `←` bisa muncul dalam `claude agents --json` sebagai sesi kedua di bawah nama yang sama, dan jika Anda memindahkan percakapan yang sama ke latar belakang lagi, Claude Code menambahkan baris lain di bawah nama yang identik. |

1082| v2.1.239 | Dengan [mode editor vim](/docs/id/interactive-mode#vim-editor-mode) aktif, menekan `Esc` dalam input tampilan agen beralih dari mode INSERT ke NORMAL dan menyimpan teks Anda, sesuai dengan prompt utama; dalam mode NORMAL dengan teks masih dalam input, menekan `Esc` menghapusnya, dan menekan `Esc` pada input kosong keluar, seperti yang dijelaskan pintasan [`Esc`](#keyboard-shortcuts). Sebelum rilis ini, `Esc` menghapus input. |1098| v2.1.239 | Dengan [mode editor vim](/docs/id/interactive-mode#vim-editor-mode) aktif, menekan `Esc` dalam input agent view beralih dari mode INSERT ke NORMAL dan menyimpan teks Anda, cocok dengan prompt utama; dalam mode NORMAL dengan teks masih dalam input, menekan `Esc` menghapusnya, dan menekan `Esc` pada input kosong keluar, seperti yang dijelaskan pintasan [`Esc`](#keyboard-shortcuts). Sebelum rilis ini, `Esc` menghapus input. |

1083| v2.1.233 | Untuk sesi yang ditautkan ke permintaan tarik GitLab, Claude Code menulis label baris dalam sintaks referensi `!1234` GitLab. Anda juga dapat menempel URL permintaan tarik ke dalam [input pengiriman](#filter-sessions) untuk memilih sesi itu. Sebelum rilis ini, label dirender sebagai `#1234`, dan URL permintaan tarik yang ditempel cocok dengan sesi hanya ketika prompt pertamanya berisi URL. |1099| v2.1.233 | Untuk sesi yang ditautkan ke permintaan penggabungan GitLab, Claude Code menulis label baris dalam sintaks referensi `!1234` GitLab. Anda juga dapat menempel URL permintaan penggabungan ke dalam [input dispatch](#filter-sessions) untuk memilih sesi itu. Sebelum rilis ini, label dirender sebagai `#1234`, dan URL permintaan penggabungan yang ditempel cocok dengan sesi hanya ketika prompt pertamanya berisi URL. |

1084| v2.1.227 | [Menghapus sesi](#what-deleting-a-session-removes) menyimpan sesi dan worktree-nya sementara sesi Claude Code langsung lain sedang berjalan di dalam direktori worktree itu. Tampilan agen menampilkan `not deleted` pada baris dan alasannya di footer, dan `claude rm` mencetak `kept <id>` dengan alasan, yang menyebutkan ID proses sesi lain. Sebelum rilis ini, menghapus sesi menghapus worktree sementara sesi lain masih bekerja di dalamnya. |1100| v2.1.227 | [Menghapus sesi](#what-deleting-a-session-removes) menyimpan sesi dan worktreenya sementara sesi Claude Code langsung lain berjalan di dalam direktori worktree itu. Agent view menampilkan `not deleted` pada baris dan alasannya di footer, dan `claude rm` mencetak `kept <id>` dengan alasannya, yang menyebutkan ID proses sesi lain. Sebelum rilis ini, menghapus sesi menghapus worktree sementara sesi lain masih bekerja di dalamnya. |

1085| v2.1.225 | `claude agents` dalam direktori yang belum Anda percayai menampilkan [dialog kepercayaan workspace](/docs/id/permissions#project-allow-rules-and-workspace-trust) yang sama yang ditampilkan `claude` saat startup, sebelum tampilan agen terbuka. Menerima menyimpan kepercayaan untuk workspace itu; menolak keluar tanpa membuka tampilan agen. Sebelum rilis ini, `claude agents` terbuka tanpa bertanya, jadi sesi yang Anda kirim darinya berjalan dalam direktori yang tidak pernah Anda diminta untuk percayai.<br /><br />Dengan daftar yang dikelompokkan berdasarkan direktori, mengarahkan mouse ke baris menyorotinya tanpa mengubah [target pengiriman](#dispatch-to-a-specific-directory); memilih baris dengan tombol panah atau klik masih mengubah target. Sebelum rilis ini, menggerakkan mouse ke sesi di proyek lain diam-diam mengubah direktori tempat sesi yang dikirim berikutnya dimulai. |1101| v2.1.225 | `claude agents` dalam direktori yang belum Anda percayai menampilkan [dialog kepercayaan ruang kerja](/docs/id/permissions#project-allow-rules-and-workspace-trust) yang sama yang ditampilkan `claude` saat startup, sebelum agent view terbuka. Menerima menyimpan kepercayaan untuk ruang kerja itu; menolak keluar tanpa membuka agent view. Sebelum rilis ini, `claude agents` terbuka tanpa bertanya, jadi sesi yang Anda dispatch darinya berjalan dalam direktori yang belum pernah Anda diminta untuk percayai.<br /><br />Dengan daftar dikelompokkan berdasarkan direktori, mengarahkan mouse ke baris menyorotinya tanpa mengubah [target dispatch](#dispatch-to-a-specific-directory); memilih baris dengan tombol panah atau klik masih mengubah target. Sebelum rilis ini, menggerakkan mouse ke sesi dalam proyek lain secara diam-diam mengubah direktori tempat sesi yang didispatch berikutnya dimulai. |

1086| v2.1.221 | `/status` menampilkan baris `Session kind`: `background job · attached` atau `background job · unattended` dalam sesi latar belakang, tergantung apakah terminal dilampirkan, dan `interactive` dalam sesi lain apa pun. Sebelum rilis ini, `/status` tidak melaporkan jenis sesi.<br /><br />`/fork`: Claude Code menginstruksikan [salinan](#from-inside-a-session) untuk mengisolasi pekerjaannya dari sesi asli: salinan membuat worktree-nya sendiri sebelum membuat perubahan kode, tetap keluar dari worktree sesi asli, dan mendasarkan cabang baru pada cabang asli ketika tugasnya dibangun di atas pekerjaan itu. Lihat bagian tertaut untuk kondisi pastinya. Sebelum rilis ini, salinan tidak menerima instruksi isolasi dan bisa berakhir mengedit worktree atau checkout yang masih dikerjakan sesi asli.<br /><br />Dengan [mode editor vim](/docs/id/interactive-mode#vim-editor-mode) aktif, menekan `←` tepat setelah membatalkan prompt kembali ke kosong dengan `u` bertanya untuk konfirmasi yang sama seperti menghapus teks atau bergerak melalui riwayat prompt, dan beralih hanya pada tekan kedua; sebelum rilis ini tekan beralih segera. |1102| v2.1.221 | `/status` menampilkan baris `Session kind`: `background job · attached` atau `background job · unattended` dalam sesi latar belakang, tergantung apakah terminal dilampirkan, dan `interactive` dalam sesi lain apa pun. Sebelum rilis ini, `/status` tidak melaporkan jenis sesi.<br /><br />`/fork`: Claude Code menginstruksikan [salinan](#from-inside-a-session) untuk mengisolasi pekerjaannya dari sesi asli: salinan membuat worktree sendiri sebelum membuat perubahan kode, tetap keluar dari worktree sesi asli, dan mendasarkan cabang baru pada cabang asli ketika tugasnya dibangun di atas pekerjaan itu. Lihat bagian tertaut untuk kondisi yang tepat. Sebelum rilis ini, salinan tidak menerima instruksi isolasi dan bisa berakhir mengedit worktree atau checkout yang masih dikerjakan sesi asli.<br /><br />Dengan [mode editor vim](/docs/id/interactive-mode#vim-editor-mode) aktif, menekan `←` tepat setelah membatalkan prompt kembali ke kosong dengan `u` menanyakan konfirmasi yang sama seperti menghapus teks atau bergerak melalui riwayat prompt, dan beralih hanya pada tekan kedua; sebelum rilis ini tekan beralih segera. |

1087| v2.1.219 | Dengan [mode editor vim](/docs/id/interactive-mode#vim-editor-mode) aktif, menekan `←` pada prompt kosong membuka tampilan agen dari mode NORMAL serta INSERT, dan petunjuk `←` footer menampilkan dalam mode NORMAL; sebelum rilis ini gestur dan petunjuk adalah INSERT-only, dan dalam mode NORMAL `←` pada prompt kosong tidak melakukan apa pun. Mengetik ke dalam input sementara Claude Code menunggu untuk melepaskan sesi membatalkan switch dengan `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` jadi draft yang diketik tidak hilang. |1103| v2.1.219 | Dengan [mode editor vim](/docs/id/interactive-mode#vim-editor-mode) aktif, menekan `←` pada prompt kosong membuka agent view dari mode NORMAL serta INSERT, dan hint footer `←` menampilkan dalam mode NORMAL; sebelum rilis ini gesture dan hint adalah INSERT-only, dan dalam mode NORMAL `←` pada prompt kosong tidak melakukan apa-apa. Mengetik ke dalam input sementara Claude Code menunggu untuk memindahkan sesi ke latar belakang membatalkan switch dengan `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` jadi draft yang diketik tidak hilang. |

1088| v2.1.218 | Menekan `←` dalam dua detik penghapusan yang mengosongkan prompt, atau bergerak melalui riwayat prompt, menampilkan `Press ← again to open agents`, atau `Press ← again to go back to agents` dalam sesi yang dilampirkan, dan beralih hanya pada tekan kedua setidaknya satu detik kemudian; sebelum rilis ini tekan beralih segera. `←` yang tiba di dalam input yang ditempel atau skrip tidak lagi memicu switch. Melepaskan sesi latar depan dengan `←` menampilkan `Your conversation moved to the background` di atas daftar, dan `Esc` di akar tampilan agen kembali ke percakapan itu alih-alih keluar ke shell, dengan `Ctrl+C` ganda tetap menjadi keluar; jika percakapan tidak dapat dibuka kembali, Claude Code keluar dan mencetak perintah `claude --resume` untuknya. Di Windows, `←` yang ditekan dalam sekitar setengah detik melampirkan menampilkan `Ambiguous ←, press again to detach` dan melepaskan pada tekan kedua. |1104| v2.1.218 | Menekan `←` dalam dua detik penghapusan yang mengosongkan prompt, atau bergerak melalui riwayat prompt, menampilkan `Press ← again to open agents`, atau `Press ← again to go back to agents` dalam sesi yang terpasang, dan beralih hanya pada tekan kedua setidaknya satu detik kemudian; sebelum rilis ini tekan beralih segera. `←` yang tiba di dalam input yang ditempel atau skrip tidak lagi memicu switch. Memindahkan sesi latar depan ke latar belakang dengan `←` menampilkan `Your conversation moved to the background` di atas daftar, dan `Esc` di akar agent view kembali ke percakapan itu alih-alih keluar ke shell, dengan `Ctrl+C` ganda tetap menjadi keluar; jika percakapan tidak dapat dibuka kembali, Claude Code keluar dan mencetak perintah `claude --resume` untuknya. Di Windows, `←` ditekan dalam sekitar setengah detik melampirkan menampilkan `Ambiguous ←, press again to detach` dan melepaskan pada tekan kedua. |

1089| v2.1.217 | Lencana permintaan tarik pada baris sesi dirender sebagai hyperlink bahkan ketika Claude Code tidak dapat mendeteksi dukungan hyperlink terminal, misalnya melalui SSH atau tmux; atur [`FORCE_HYPERLINK=0`](/docs/id/env-vars) untuk merendernya sebagai teks biasa. Sebelum rilis ini, lencana dirender sebagai teks biasa ketika dukungan tidak terdeteksi. |1105| v2.1.217 | Lencana permintaan tarik pada baris sesi dirender sebagai hyperlink bahkan ketika Claude Code tidak dapat mendeteksi dukungan hyperlink terminal, misalnya melalui SSH atau tmux; atur [`FORCE_HYPERLINK=0`](/docs/id/env-vars) untuk merender sebagai teks biasa. Sebelum rilis ini, lencana dirender sebagai teks biasa ketika dukungan tidak terdeteksi. |

1090| v2.1.216 | `/fork`: [konfirmasi](#from-inside-a-session) adalah satu baris, menampilkan status salinan, nama baris tampilan agen-nya, dan ID sesi-nya untuk `claude attach`, berakhir dengan `runs in the origin tree` atau `edits this checkout` hanya ketika salinan berjalan di pohon kerja utama atau mengedit checkout yang Anda buka. Mengklik nama melepaskan sesi ini dan membuka tampilan agen dalam sesi salinan. Konfirmasi tidak lagi menyatakan kembali mode izin yang diwarisi salinan; versi sebelumnya mencetak konfirmasi multi-baris tanpa nama yang dapat diklik.<br /><br />Memerlukan input: `/install-github-app` dan daftar pengaturan `/mcp`, jalankan sementara tidak ada yang dilampirkan, menampilkan sesi di bawah `Needs input` dengan baris yang menyebutkan perintah, dan melampirkan dan menjalankan kembali perintah melanjutkan; dari v2.1.208 hingga v2.1.215 mereka ditolak sepenuhnya dalam keadaan itu.<br /><br />Pemulihan `--agent`: melanjutkan atau memulai ulang sesi `--agent` yang [dilepaskan](#from-your-shell) memulihkan prompt sistem agen dan pembatasan alat, mencari direktori sesi sendiri untuk agen terlebih dahulu, ketika workspace-nya dipercayai; sesi yang agennya tidak lagi ada melanjutkan dengan alat default dan prompt sistem dan terbuka dengan peringatan yang terlihat, alih-alih diam-diam kembali ke agen default.<br /><br />`Ctrl+X`: menekannya dua kali menghapus sesi bahkan ketika upaya berhenti gagal, alih-alih berhenti yang gagal membatalkan penghapusan yang tertunda, dan sesi yang dihapus yang proses worker-nya telah mati tidak lagi muncul kembali pada refresh berikutnya.<br /><br />Penghapusan worktree: sesi yang direktori worktree-nya tidak termasuk dalam repositori git apa pun dapat dihapus; sebelum rilis ini setiap upaya menghapus sesi seperti itu ditolak. Direktori yang sudah hilang dihapus segera. Tekan ganda tampilan agen menghapus direktori yang masih memiliki file, menjalankan hook `WorktreeRemove` Anda untuk direktori yang dibuat hook, kecuali sesi lain juga menyebutnya. `claude rm` menyimpan direktori seperti itu kapan pun file tetap ada. |1106| v2.1.216 | `/fork`: [konfirmasi](#from-inside-a-session) adalah satu baris, menampilkan status salinan, nama baris agent-view-nya, dan ID sesinya untuk `claude attach`, berakhir dengan `runs in the origin tree` atau `edits this checkout` hanya ketika salinan berjalan di pohon kerja utama atau mengedit checkout yang Anda buka. Mengklik nama memindahkan sesi ini ke latar belakang dan membuka agent view dalam sesi salinan. Konfirmasi tidak lagi menyatakan kembali mode izin yang diwarisi salinan; versi sebelumnya mencetak konfirmasi multi-baris tanpa nama yang dapat diklik.<br /><br />Needs input: `/install-github-app` dan daftar pengaturan `/mcp`, dijalankan sementara tidak ada yang dilampirkan, menampilkan sesi di bawah `Needs input` dengan baris yang menyebutkan perintah, dan melampirkan dan menjalankan kembali perintah melanjutkan; dari v2.1.208 melalui v2.1.215 mereka ditolak sepenuhnya dalam keadaan itu.<br /><br />`--agent` restore: melanjutkan atau memulai ulang sesi [backgrounded `--agent`](#from-your-shell) memulihkan prompt sistem agent dan pembatasan alat, mencari direktori sesi sendiri untuk agent terlebih dahulu, ketika ruang kerja kepercayaannya; sesi yang agennya tidak lagi ada melanjutkan dengan alat default dan prompt sistem dan terbuka dengan peringatan yang terlihat, alih-alih diam-diam kembali ke agent default.<br /><br />`Ctrl+X`: menekannya dua kali menghapus sesi bahkan ketika upaya berhenti gagal, alih-alih berhenti yang gagal membatalkan penghapusan yang tertunda, dan sesi yang dihapus yang proses worker-nya telah mati tidak lagi muncul kembali pada refresh berikutnya.<br /><br />Penghapusan worktree: sesi yang direktori worktree-nya tidak termasuk dalam repositori git apa pun dapat dihapus; sebelum rilis ini setiap upaya menghapus sesi seperti itu ditolak. Direktori yang sudah hilang dihapus segera. Tekan ganda agent view menghapus direktori yang masih memiliki file, menjalankan hook `WorktreeRemove` Anda untuk direktori yang dibuat hook, kecuali sesi lain juga menyebutkannya. `claude rm` menyimpan direktori seperti itu kapan pun file tetap ada. |

1091| v2.1.214 | Sesi yang dilepaskan dengan `←` atau `/background` dan dibiarkan idle tanpa apa pun yang berjalan memiliki prosesnya dihentikan seperti sesi idle lainnya, alih-alih menyimpan prosesnya dan layanan latar belakang berjalan tanpa batas. Sesi yang selesai dapat dihapus dengan `claude rm` atau dari tampilan agen setelah layanan latar belakang telah idle, dan sesi yang memasuki worktree setelah dikirim dari direktori yang bukan repositori git, seperti folder workspace multi-repo, dapat dihapus dari tampilan agen ketika worktree itu sendiri termasuk dalam repositori git, karena pembersihan diselesaikan dari worktree alih-alih direktori tempat sesi dikirim; kedua penghapusan ditolak pada setiap upaya sebelumnya. Membuka kembali sesi yang dihentikan memulihkan percakapan yang disimpannya bahkan ketika folder dalam penyimpanan transkrip tidak dapat dibaca. |1107| v2.1.214 | Sesi yang dipindahkan ke latar belakang dengan `←` atau `/background` dan dibiarkan idle tanpa apa pun yang berjalan memiliki prosesnya dihentikan seperti sesi idle lainnya, alih-alih menyimpan prosesnya dan layanan latar belakang berjalan tanpa batas. Sesi yang selesai dapat dihapus dengan `claude rm` atau dari agent view setelah layanan latar belakang telah idle, dan sesi yang memasuki worktree setelah didispatch dari direktori yang bukan repositori git, seperti folder ruang kerja multi-repo, dapat dihapus dari agent view ketika worktree itu sendiri termasuk dalam repositori git, karena pembersihan diselesaikan dari worktree alih-alih direktori tempat sesi didispatch; kedua penghapusan ditolak pada setiap upaya sebelumnya. Membuka kembali sesi yang dihentikan memulihkan percakapan yang disimpannya bahkan ketika folder dalam penyimpanan transkrip tidak dapat dibaca. |

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

1093| v2.1.212 | [`/fork` dalam sesi interaktif](#from-inside-a-session) menyalin percakapan ke sesi latar belakang baru yang muncul sebagai barisnya sendiri, dinamai setelah sesi yang berasal darinya atau, untuk fork yang diminta dari sesi tanpa nama, setelah prompt fork, sementara asli terus berjalan; perilaku subagen yang di-fork sebelumnya dari `/fork` pindah ke `/subtask`. Dengan [tampilan agen dimatikan](#turn-off-agent-view), `/fork` menyimpan perilaku subagen yang di-fork. Baris yang difokuskan yang menunggu prompt pertamanya menampilkan `space to send it a prompt`. `Ctrl+J` menyisipkan baris baru dalam input pengiriman di terminal dengan pelaporan kunci diperluas, di mana penekanan tombol sebelumnya diabaikan, dan overlay `?` mencantumkan pintasan. Petunjuk footer `←` dalam sesi interaktif secara singkat menampilkan `N done` ketika sesi latar belakang selesai sementara tidak ada yang memerlukan input Anda. Mengetik `/resume` telanjang dalam tampilan agen membuka pemilih sesi masa lalu dari repositori tempat Anda membuka tampilan agen, termasuk sesi yang dihapus dari daftar, dan memilih satu melanjutkannya sebagai sesi latar belakang; sebelum rilis ini `/resume` tidak tersedia dalam tampilan agen dan sesi yang dihapus hanya dapat dijangkau dengan `claude --resume` atau `/resume` dari sesi interaktif. Bentuk yang ditargetkan, dibatasi, dan dibatasi menyimpan petunjuk `attach to a session to run it` yang ditampilkan versi sebelumnya untuk setiap bentuk. Sesi yang menunggu prompt jaringan sandbox network-host, permintaan input MCP, atau prompt pengaturan terkelola menampilkan sebagai `Needs input` alih-alih `Working`, dalam tampilan agen dan dalam `claude agents --json`, dan pertanyaan dari Claude melaporkan `waitingFor: input needed` alih-alih `permission prompt`. Melampirkan ke sesi yang prosesnya telah berhenti menampilkan transkripsnya diformat cara sesi langsung merendernya, alih-alih sebagai teks mentah. Sesi yang dihentikan yang transkripsnya berada di tempat yang tidak terduga melanjutkan darinya melalui pemindaian upaya terakhir dari transkrip yang disimpan Anda, dan membuka baris yang tidak memiliki transkrip yang disimpan menampilkan `Press enter again to restart this session fresh`, memulai ulang segar pada tekan kedua; v2.1.211 menampilkan penolakan tanpa cara untuk memulai ulang dari tampilan agen. |1109| v2.1.212 | [`/fork` dalam sesi interaktif](#from-inside-a-session) menyalin percakapan ke dalam sesi latar belakang baru yang muncul sebagai barisnya sendiri, dinamai setelah sesi yang berasal darinya atau, untuk fork yang diminta dari sesi tanpa nama, setelah prompt fork, sementara asli terus berjalan; perilaku subagent yang di-fork sebelumnya dari `/fork` pindah ke `/subtask`. Dengan [agent view dimatikan](#turn-off-agent-view), `/fork` menyimpan perilaku subagent yang di-fork. Baris yang difokuskan yang menunggu prompt pertamanya menampilkan `space to send it a prompt`. `Ctrl+J` menyisipkan baris baru dalam input dispatch pada terminal dengan pelaporan kunci yang diperluas, di mana penekanan kunci sebelumnya diabaikan, dan overlay `?` mencantumkan pintasan. Hint footer `←` dalam sesi interaktif secara singkat menampilkan `N done` ketika sesi latar belakang selesai sementara tidak ada yang memerlukan input Anda. Mengetik `/resume` kosong dalam agent view membuka pemilih sesi masa lalu dari repositori tempat Anda membuka agent view, termasuk sesi yang dihapus dari daftar, dan memilih satu melanjutkannya sebagai sesi latar belakang; sebelum rilis ini `/resume` tidak tersedia dalam agent view dan sesi yang dihapus hanya dapat dijangkau dengan `claude --resume` atau `/resume` dari sesi interaktif. Bentuk yang ditargetkan, berscopus, dan terbatas menyimpan hint `attach to a session to run it` yang ditampilkan versi sebelumnya untuk setiap bentuk. Sesi menunggu prompt jaringan sandbox host, permintaan input MCP, atau prompt pengaturan yang dikelola menampilkan sebagai `Needs input` alih-alih `Working`, dalam agent view dan dalam `claude agents --json`, dan pertanyaan dari Claude melaporkan `waitingFor: input needed` alih-alih `permission prompt`. Melampirkan ke sesi yang prosesnya telah berhenti menampilkan transkrip yang diformat cara sesi langsung merender, alih-alih sebagai teks mentah. Sesi yang dihentikan yang transkrip-nya berada di tempat yang tidak terduga dilanjutkan darinya melalui pemindaian upaya terakhir dari transkrip yang disimpan, dan membuka baris yang tidak memiliki transkrip yang disimpan menampilkan `Press enter again to restart this session fresh`, memulai ulang segar pada tekan kedua; v2.1.211 menampilkan penolakan tanpa cara untuk memulai ulang dari agent view. |

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

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

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

1097| v2.1.207 | Panel intip terbuka dengan kalimat yang dipotong baris, seperti pertanyaan pastinya untuk sesi yang menunggu Anda, dan menampilkan berapa lama sesi yang diblokir telah menunggu sebagai baris `waiting 3m` tunggal alih-alih menambahkan awalan stempel waktu yang sama ke kalimat status dan pertanyaan. Menempel teks yang sama lagi dalam input pengiriman memperluas placeholder `[Pasted text #N]` yang runtuh alih-alih menambahkan yang kedua. Sesi latar belakang yang dinamai dengan menerima rencana menampilkan nama itu pada barisnya. Sesi latar belakang yang pindah ke worktree menyimpan percakapannya ketika prosesnya dimulai ulang dari tampilan agen. |1113| v2.1.207 | Panel intip terbuka dengan kalimat yang dipotong baris, seperti pertanyaan yang tepat untuk sesi yang menunggu Anda, dan menampilkan berapa lama sesi yang diblokir telah menunggu sebagai baris `waiting 3m` tunggal alih-alih menambahkan awalan stempel waktu yang sama ke kalimat status dan pertanyaan. Menempel teks yang sama lagi dalam input dispatch memperluas placeholder `[Pasted text #N]` yang runtuh alih-alih menambahkan yang kedua. Sesi latar belakang yang dinamai dengan menerima rencana menampilkan nama itu pada barisnya. Sesi latar belakang yang pindah ke worktree menyimpan percakapannya ketika prosesnya dimulai ulang dari agent view. |

1098| v2.1.206 | Ringkasan baris mengisi lebar sisa baris dan dipotong hanya di tepi kanan terminal alih-alih pada 64 kolom. Setelah supervisor dimulai ulang ke versi Claude Code baru, ia memulai ulang sesi latar belakang idle yang tersisa ke versi itu di latar belakang alih-alih beberapa per menit. Menghapus sesi dengan `Ctrl+X` atau `claude rm` juga menghapusnya dari daftar sesi supervisor, sehingga baris tidak lagi muncul kembali setelah restart supervisor. Penimpaan badan permintaan `CLAUDE_CODE_EXTRA_BODY` yang diekspor dalam shell pengiriman mencapai sesi latar belakang alih-alih diabaikan. |1114| v2.1.206 | Ringkasan baris mengisi lebar sisa baris dan memotong hanya di tepi kanan terminal alih-alih pada 64 kolom. Setelah supervisor memulai ulang ke versi Claude Code baru, ia memulai ulang sesi latar belakang idle yang tersisa ke versi itu di latar belakang alih-alih beberapa per menit. Menghapus sesi dengan `Ctrl+X` atau `claude rm` juga menghapusnya dari daftar sesi supervisor, jadi baris tidak lagi muncul kembali setelah restart supervisor. Penggantian badan permintaan `CLAUDE_CODE_EXTRA_BODY` yang diekspor dalam shell pengiriman mencapai sesi latar belakang alih-alih diabaikan. |

1099| v2.1.205 | Petunjuk `←` footer prompt menghitung agen latar belakang yang menunggu Anda, seperti `← 2 agents`. Ringkasan baris menampilkan laporan satu baris sesi itu sendiri, dipotong pada 64 kolom, alih-alih invokasi alat mentah atau hitungan `done/total`; baris yang dikelompokkan direktori terbuka dengan kata status berwarna. Panel intip terbuka dengan kalimat status lengkap dan, untuk sesi yang menunggu Anda, pertanyaan pastinya di atas input balasan. Sesi yang mengedit, mengomentari, menutup, atau menandai permintaan tarik siap dengan `gh` ditautkan ke sana, bukan hanya yang membuat atau checkout permintaan tarik, push menautkan permintaan tarik bahkan ketika nama cabang lokal tidak cocok, dan permintaan tarik yang output perintah pembuatannya melebihi batas inline juga ditautkan. Giliran tanpa teks yang dapat dibaca menyimpan status sesi sebelumnya alih-alih membaliknya kembali ke `Working`. `claude attach` menunggu hingga sekitar 60 detik untuk sesi yang sedang dimulai ulang, dengan baris status yang menyebutkan alasannya, alih-alih gagal. |1115| v2.1.205 | Hint `←` footer prompt dalam sesi `claude` biasa menghitung agen latar belakang yang menunggu Anda, seperti `← 2 agents`. Ringkasan baris menampilkan laporan satu baris sesi sendiri, dipotong pada 64 kolom, alih-alih invokasi alat mentah atau hitungan `done/total`; baris yang dikelompokkan direktori terbuka dengan kata status berwarna. Panel intip terbuka dengan kalimat status lengkap dan, untuk sesi menunggu Anda, pertanyaan yang tepat di atas input balasan. Sesi yang mengedit, berkomentar, menutup, atau menandai permintaan tarik siap dengan `gh` ditautkan ke sesi itu, bukan hanya yang membuat atau checkout permintaan tarik, push menautkan permintaan tarik bahkan ketika nama cabang lokal tidak cocok, dan permintaan tarik yang perintah pembuatannya melebihi batas inline juga ditautkan. Giliran tanpa teks yang dapat dibaca menyimpan status sesi sebelumnya alih-alih membaliknya kembali ke `Working`. `claude attach` menunggu hingga sekitar 60 detik untuk sesi yang dimulai ulang, dengan baris status yang menyebutkan mengapa, alih-alih gagal. |

1100| v2.1.203 | Gateway `ANTHROPIC_BASE_URL` yang diekspor dalam shell pengiriman mencapai sesi yang dikirim darinya ke direktori yang sama ketika supervisor membagikan gateway environment tersebut, alih-alih dijatuhkan sementara kunci API yang diekspor bersama dengannya tetap disimpan. `PATH` shell pengiriman diterapkan ke setiap worker sesi. Menekan `←` saat subagen sedang berjalan menunggu mereka alih-alih memulai ulang mereka setelah sepuluh detik. Daftar kosong selalu menampilkan header bagian dengan deskripsi di bawah masing-masing. Mengetik `@` dalam input pengiriman juga mencantumkan git worktrees terdaftar dari repositori peluncuran yang berada di dalam pohon direktorinya. Upaya yang diwarisi dari pengaturan `effortLevel` mengikuti pengeditan kemudian ke pengaturan tersebut alih-alih diperbaiki pada pengiriman. Membuka sesi yang dihentikan yang percakapannya sudah terbuka di sesi yang sedang berjalan lainnya ditolak dengan pesan alih-alih gagal pada baris. Perintah yang tidak tersedia dalam tampilan agen meninggalkan teks yang diketik dalam input. Hook `WorktreeCreate` yang gagal di luar repositori git tidak lagi memblokir sesi dari pengeditan file. |1116| v2.1.203 | Gateway `ANTHROPIC_BASE_URL` yang diekspor dalam shell pengiriman mencapai sesi yang didispatch darinya ke direktori yang sama ketika supervisor berbagi lingkungan gateway itu, alih-alih dijatuhkan sementara kunci API yang diekspor bersama dengannya disimpan. `PATH` shell pengiriman diterapkan ke worker setiap sesi. Menekan `←` sementara subagent berjalan menunggu mereka alih-alih memulai ulang mereka setelah sepuluh detik. Daftar kosong selalu menampilkan header bagian dengan deskripsi di bawah masing-masing. Mengetik `@` dalam input dispatch juga mencantumkan worktree git terdaftar repositori peluncuran yang hidup di dalam pohon direktorinya. Upaya yang diwarisi dari pengaturan `effortLevel` mengikuti pengeditan kemudian ke pengaturan itu alih-alih diperbaiki pada pengiriman. Membuka sesi yang dihentikan yang percakapannya sudah terbuka dalam sesi yang berjalan lain ditolak dengan pesan alih-alih gagal baris. Perintah yang tidak tersedia dalam agent view meninggalkan teks yang diketik dalam input. Hook `WorktreeCreate` yang gagal di luar repositori git tidak lagi memblokir sesi dari mengedit file. |

1101| v2.1.202 | Nama yang ditetapkan dengan `/rename` atau `Ctrl+R` pada sesi latar belakang tetap ada ketika supervisor menghentikan dan memulai ulang prosesnya, alih-alih kembali ke nama yang dikirim sesi dengan. |1117| v2.1.202 | Nama yang ditetapkan dengan `/rename` atau `Ctrl+R` pada sesi latar belakang bertahan ketika supervisor menghentikan dan memulai ulang prosesnya, alih-alih kembali ke nama sesi yang didispatch dengannya. |

1102| v2.1.200 | Versi Claude Code yang lebih lama yang menulis ulang daftar sesi dalam `roster.json` mempertahankan bidang yang ditulis oleh versi yang lebih baru, sesuai dengan jaminan `state.json` yang ada, sehingga sesi yang dimulai oleh versi yang lebih baru terus menerima input setelah supervisor dimulai ulang. Ketika Anda membuka sesi yang telah berhenti merespons, supervisor memulai ulang prosesnya dan sesi melanjutkan respons yang terputus dari tempat ia berhenti. Tampilan agen menerapkan bendera `--plugin-dir` yang ditempatkan setelah `agents` ke subagen tampilan agen-nya sendiri dan autocomplete skill dalam input pengiriman serta sesi yang dikirim. |1118| v2.1.200 | Versi Claude Code yang lebih lama yang menulis ulang daftar sesi dalam `roster.json` menyimpan bidang yang ditulis oleh versi yang lebih baru, cocok dengan jaminan `state.json` yang ada, jadi sesi yang dimulai oleh versi yang lebih baru terus menerima input setelah supervisor dimulai ulang. Ketika Anda membuka sesi yang telah berhenti merespons, supervisor memulai ulang prosesnya dan sesi melanjutkan respons yang terputus dari tempat ia berhenti. Agent view menerapkan flag `--plugin-dir` yang ditempatkan setelah `agents` ke subagent dan skill autocomplete-nya sendiri dalam input dispatch serta sesi yang didispatch. |

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

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

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

1106| v2.1.195 | Pekerjaan yang sedang berlangsung dibawa ketika Anda melepaskan sesi di Windows juga; atur `CLAUDE_DISABLE_ADOPT=1` untuk menghentikannya sebagai gantinya. Grup `Completed` mengisi ruang vertikal yang tersisa dan header dikompakkan di terminal pendek. Versi Claude Code yang lebih lama tidak lagi menjatuhkan bidang `state.json` sesi yang lebih baru atau menyembunyikan sesi tersebut dari `claude agents`. Melampirkan ke sesi yang dihentikan beralih segera alih-alih menampilkan layar kosong selama lima detik. Supervisor yang tidak dapat menerima koneksi keluar dan melepaskan kuncinya sendiri. |1122| v2.1.195 | Pekerjaan dalam penerbangan terbawa ketika Anda memindahkan sesi di Windows juga; atur `CLAUDE_DISABLE_ADOPT=1` untuk menghentikannya. Grup `Completed` mengisi ruang vertikal yang tersisa dan header mengompak pada terminal pendek. Versi Claude Code yang lebih lama tidak lagi menjatuhkan bidang `state.json` sesi yang lebih baru atau menyembunyikan sesi itu dari `claude agents`. Melampirkan ke sesi yang dihentikan beralih segera alih-alih menampilkan layar kosong selama hingga lima detik. Supervisor yang tidak dapat menerima koneksi keluar dan melepaskan kuncinya sendiri. |

1107| v2.1.191 | `claude --bg` dengan nama `--agent` yang tidak cocok dengan subagen apa pun Anda gagal meluncurkan: sesi keluar segera dengan kesalahan `--agent '<name>' not found` alih-alih berjalan dengan agen default. |1123| v2.1.191 | `claude --bg` dengan nama `--agent` yang tidak cocok dengan subagent Anda apa pun gagal peluncuran: sesi keluar segera dengan kesalahan `--agent '<name>' not found` alih-alih berjalan dengan agent default. |

1108| v2.1.174 | Sesi latar belakang tidak lagi mewarisi variabel titik akhir gateway seperti `ANTHROPIC_BASE_URL` dari shell peluncuran supervisor; supervisor menyediakan snapshot kredensial segar ke worker yang sudah dipanaskan sebelumnya, memperbaiki kesalahan `Could not resolve authentication method` yang palsu. |1124| v2.1.174 | Sesi latar belakang tidak lagi mewarisi variabel endpoint gateway seperti `ANTHROPIC_BASE_URL` dari shell peluncuran supervisor; supervisor menyediakan snapshot kredensial segar ke worker yang sudah hangat, memperbaiki kesalahan `Could not resolve authentication method` yang palsu. |

1109| v2.1.172 | `/model` dalam input pengiriman menetapkan penimpaan model pengiriman yang dibatasi sesi. |1125| v2.1.172 | `/model` dalam input dispatch menetapkan penggantian model dispatch yang berscopus sesi. |

1110| v2.1.161 | Ringkasan baris menampilkan hitungan `done/total` untuk item kerja paralel; panel intip menyebutkan item kerja paralel yang paling lama berjalan. |1126| v2.1.161 | Ringkasan baris menampilkan hitungan `done/total` untuk item kerja paralel; panel intip menyebutkan item kerja paralel yang paling lama berjalan. |

1111| v2.1.157 | `claude agents` menerima `--agent`; sesi yang dikirim menghormati pengaturan `agent`. |1127| v2.1.157 | `claude agents` menerima `--agent`; sesi yang didispatch menghormati pengaturan `agent`. |

1112| v2.1.145 | Dikte suara didukung dalam input balasan panel intip dan input pengiriman. |1128| v2.1.145 | Dikte suara didukung dalam input balasan panel intip dan input dispatch. |

1113| v2.1.143 | Pengaturan `worktree.bgIsolation` ditambahkan; `claude agents` menerima `--allow-dangerously-skip-permissions`. |1129| v2.1.143 | Pengaturan `worktree.bgIsolation` ditambahkan; `claude agents` menerima `--allow-dangerously-skip-permissions`. |

1114| v2.1.142 | `claude agents` menerima `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`, `--settings`, `--add-dir`, `--plugin-dir`, `--mcp-config`, dan `--strict-mcp-config`. |1130| v2.1.142 | `claude agents` menerima `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`, `--settings`, `--add-dir`, `--plugin-dir`, `--mcp-config`, dan `--strict-mcp-config`. |

1115| v2.1.141 | `claude agents` menerima `--cwd` untuk membatasi daftar ke satu proyek. |1131| v2.1.141 | `claude agents` menerima `--cwd` untuk membatasi daftar ke satu proyek. |

1116| v2.1.139 | Tampilan agen diperkenalkan sebagai pratinjau penelitian. |1132| v2.1.139 | Agent view diperkenalkan sebagai pratinjau penelitian. |

agents.md +1 −1

Details

13| [Subagents](/docs/id/sub-agents) | Pekerja delegasi di dalam satu sesi yang melakukan tugas sampingan dalam konteks mereka sendiri dan mengembalikan ringkasan | Tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi |13| [Subagents](/docs/id/sub-agents) | Pekerja delegasi di dalam satu sesi yang melakukan tugas sampingan dalam konteks mereka sendiri dan mengembalikan ringkasan | Tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi |

14| [Agent view](/docs/id/agent-view) | Satu layar untuk mengirim dan memantau sesi yang berjalan di latar belakang, dibuka dengan `claude agents`. Pratinjau penelitian | Anda memiliki beberapa tugas independen dan ingin menyerahkannya, memeriksa status sekilas, dan hanya melangkah ketika salah satunya membutuhkan Anda |14| [Agent view](/docs/id/agent-view) | Satu layar untuk mengirim dan memantau sesi yang berjalan di latar belakang, dibuka dengan `claude agents`. Pratinjau penelitian | Anda memiliki beberapa tugas independen dan ingin menyerahkannya, memeriksa status sekilas, dan hanya melangkah ketika salah satunya membutuhkan Anda |

15| [Agent teams](/docs/id/agent-teams) | Beberapa sesi terkoordinasi dengan daftar tugas bersama dan pesan antar-agen, dikelola oleh pemimpin. Eksperimental dan dinonaktifkan secara default | Anda ingin Claude membagi proyek menjadi beberapa bagian, menugaskannya, dan menjaga pekerja tetap tersinkronisasi |15| [Agent teams](/docs/id/agent-teams) | Beberapa sesi terkoordinasi dengan daftar tugas bersama dan pesan antar-agen, dikelola oleh pemimpin. Eksperimental dan dinonaktifkan secara default | Anda ingin Claude membagi proyek menjadi beberapa bagian, menugaskannya, dan menjaga pekerja tetap tersinkronisasi |

16| [Projects](/docs/id/claude-projects) | Satu percakapan berkelanjutan di claude.ai/code atau di aplikasi desktop. Claude memulai sesi cloud paralel yang disebut threads, memberikan masing-masing repositori proyek, instruksi, dan memori, dan menunjukkan kepada Anda mana yang membutuhkan Anda. Beta publik di Pro dan Max | Pekerjaan mencakup banyak tugas selama berhari-hari atau berminggu-minggu, harus terus berjalan ketika mesin Anda mati, dan Anda lebih suka mendeskripsikannya sekali daripada mengirim dan melacak setiap sesi |16| [Projects](/docs/id/claude-projects) | Satu percakapan berkelanjutan di claude.ai/code atau di aplikasi desktop. Claude memulai sesi paralel yang disebut threads, di cloud atau, ketika Anda meminta, di komputer Anda melalui Remote Control, memberikan masing-masing instruksi proyek, dan menunjukkan kepada Anda mana yang membutuhkan Anda. Beta publik di Pro dan Max | Pekerjaan mencakup banyak tugas selama berhari-hari atau berminggu-minggu, harus terus berjalan ketika mesin Anda mati, dan Anda lebih suka mendeskripsikannya sekali daripada mengirim dan melacak setiap sesi |

17| [Dynamic workflows](/docs/id/workflows) | Skrip yang menjalankan banyak subagents dan memeriksa silang hasil mereka, untuk pekerjaan yang terlalu besar untuk dikoordinasikan satu putaran sekaligus atau yang memerlukan lebih dari satu kali lintasan | Tugas terlalu besar untuk segelintir subagents, atau Anda ingin temuan diverifikasi satu sama lain: audit seluruh codebase, migrasi 500 file, penelitian yang diperiksa silang, atau rencana yang disusun dari beberapa sudut |17| [Dynamic workflows](/docs/id/workflows) | Skrip yang menjalankan banyak subagents dan memeriksa silang hasil mereka, untuk pekerjaan yang terlalu besar untuk dikoordinasikan satu putaran sekaligus atau yang memerlukan lebih dari satu kali lintasan | Tugas terlalu besar untuk segelintir subagents, atau Anda ingin temuan diverifikasi satu sama lain: audit seluruh codebase, migrasi 500 file, penelitian yang diperiksa silang, atau rencana yang disusun dari beberapa sudut |

18 18 

19Dalam setiap pendekatan, pekerja adalah sesi Claude. Untuk melibatkan alat yang berbeda, paparkan ke Claude sebagai [MCP server](/docs/id/mcp).19Dalam setiap pendekatan, pekerja adalah sesi Claude. Untuk melibatkan alat yang berbeda, paparkan ke Claude sebagai [MCP server](/docs/id/mcp).

artifacts.md +36 −4

Details

305 305 

306Untuk tipografi, Claude dapat memuat typeface dari Google Fonts, satu-satunya sumber font eksternal yang dapat dimuat halaman artefak. Claude menginline typeface lain apa pun sebagai `@font-face` data URI dan memberikan setiap typeface tumpukan fallback, sehingga halaman masih ditampilkan jika font tidak dimuat. Untuk menggunakan typeface tertentu, sebutkan dalam prompt atau sistem desain Anda.306Untuk tipografi, Claude dapat memuat typeface dari Google Fonts, satu-satunya sumber font eksternal yang dapat dimuat halaman artefak. Claude menginline typeface lain apa pun sebagai `@font-face` data URI dan memberikan setiap typeface tumpukan fallback, sehingga halaman masih ditampilkan jika font tidak dimuat. Untuk menggunakan typeface tertentu, sebutkan dalam prompt atau sistem desain Anda.

307 307 

308<h2 id="draft-a-design-canvas">308<h2 id="start-from-a-slides-design-or-docs-template">

309 Buat kanvas desain309 Mulai dari template Slides, Design, atau Docs

310</h2>310</h2>

311 311 

312Untuk membuat mockup UI, alur layar, halaman landing, atau poster daripada membangun halaman, jalankan `/design` dengan ringkasan singkat. Claude membuat desain sebagai artboard pada satu kanvas dan menerbitkan kanvas sebagai artefak Design. Ringkasan singkat menamai apa yang ingin Anda gambar:312Alih-alih membangun halaman dari awal, Claude dapat memulai artefak dari salah satu template di akun claude.ai Anda: [Claude Slides](https://support.claude.com/en/articles/17153992-what-are-artifacts-and-how-do-i-use-them#h_11d5a9a5fa) untuk presentasi, [Claude Design](https://support.claude.com/en/articles/14604416-get-started-with-claude-design) untuk desain visual, atau [Claude Docs](https://support.claude.com/en/articles/16923645-get-started-with-claude-docs) untuk dokumen yang akan dibaca dan diedit orang lain. Masing-masing membuka di editor tersendiri di claude.ai, di mana Anda dan rekan tim mengubahnya secara langsung atau meminta Claude melakukannya, dan mengekspornya ke format seperti PowerPoint, PDF, atau Word.

313 

314Untuk memulai dari template, jelaskan apa yang Anda inginkan, seperti "ubah catatan migrasi menjadi deck untuk tinjauan Kamis" atau "tulis rencana ini sebagai dokumen untuk tim". Claude memilih template yang cocok, mengisinya dari permintaan Anda dan dari apa yang sudah ada di sesi, dan memberikan Anda tautannya. Untuk deck atau desain, Anda juga dapat menjalankan `/slides` atau `/design` dengan ringkasan singkat.

315 

316<Note>

317 Template sedang dalam beta. Mereka aktif secara default pada paket Pro, Max, dan Team. Pada paket Enterprise, Owner [mengaktifkan setiap template](https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans) di bawah **Organization settings > Artifacts**. Jika organisasi Anda menonaktifkan template Slides, `/slides` tidak muncul; jika menonaktifkan template Design, `/design` tidak membuat draf desain. Kedua perintah memerlukan Claude Code v2.1.265 atau lebih baru dan sesi di mana [artefak tersedia](#availability).

318</Note>

319 

320<h3 id="make-a-slide-deck">

321 Buat slide deck

322</h3>

323 

324Jalankan `/slides` dengan ringkasan singkat yang mengatakan apa yang deck bahas dan untuk siapa:

325 

326```text wrap theme={null}

327/slides a quarterly review of the platform team's reliability work, for the engineering all-hands

328```

329 

330Claude membuat artefak Claude Slides dan memberikan Anda tautannya. Buka di browser desktop untuk mengedit atau mempresentasikan deck. Jika Anda menjalankan `/slides` tanpa ringkasan singkat, Claude menanyakan apa yang seharusnya deck bahas sebelum membuat apa pun.

331 

332<h3 id="draft-a-design-canvas">

333 Buat kanvas desain

334</h3>

335 

336Untuk membuat mockup UI, alur layar, halaman landing, atau poster daripada membangun halaman, jalankan `/design` dengan ringkasan singkat. Claude membuat desain sebagai artboard pada satu kanvas dan menerbitkan kanvas sebagai artefak Claude Design. Ringkasan singkat menamai apa yang ingin Anda gambar:

313 337 

314```text wrap theme={null}338```text wrap theme={null}

315/design a settings screen for a mobile banking app339/design a settings screen for a mobile banking app


317 341 

318Buka artefak yang diterbitkan di browser desktop untuk meninjau artboard. Pilih elemen pada artboard dan ubah, dan edit Anda disimpan secara otomatis. Anda dapat mengekspor setiap artboard sebagai PNG atau PDF.342Buka artefak yang diterbitkan di browser desktop untuk meninjau artboard. Pilih elemen pada artboard dan ubah, dan edit Anda disimpan secara otomatis. Anda dapat mengekspor setiap artboard sebagai PNG atau PDF.

319 343 

320`/design` memerlukan sesi di mana [artefak tersedia](#availability) dan Claude Code v2.1.265 atau lebih baru.344<h3 id="write-a-document-with-claude-docs">

345 Tulis dokumen dengan Claude Docs

346</h3>

347 

348Claude Docs mencapai Claude Code sebagai [konektor](/docs/id/mcp#use-mcp-servers-from-claude-ai) claude.ai daripada perintah. Ketika terhubung, `/mcp` mencantumnya sebagai `claude.ai Claude Docs`. Permintaan untuk dokumen yang dimaksudkan untuk orang lain kemudian pergi ke Claude Docs alih-alih halaman artefak: spesifikasi, proposal, atau penulisan rencana yang Anda kerjakan melalui sesi. Claude memberikan Anda tautan dokumen ketika sudah dibuat draf.

349 

350Dokumen yang termasuk dalam basis kode, seperti README, tetap menjadi file. Untuk mendapatkan file untuk sesuatu yang Claude akan menempatkan di Claude Docs, namai formatnya, seperti `.docx` atau file Markdown di repositori.

351 

352Untuk mematikan konektor, tambahkan `claude.ai Claude Docs` ke `deniedMcpServers` atau gunakan toggle `/mcp`, keduanya dijelaskan dalam [Nonaktifkan konektor claude.ai](/docs/id/mcp#disable-claude-ai-connectors).

321 353 

322<h2 id="page-constraints">354<h2 id="page-constraints">

323 Batasan halaman355 Batasan halaman

authentication.md +45 −19

Details

32 32 

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

34 34 

35Untuk tetap masuk ke beberapa akun sekaligus, seperti akun kerja dan pribadi, berikan setiap akun direktori konfigurasi sendiri. Ketika Anda memulai `claude`, atur variabel lingkungan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars#variables) ke direktori untuk akun yang ingin Anda gunakan. Setiap direktori memiliki pengaturan sendiri, riwayat sesi, dan login claude.ai atau kunci API. Misalnya, di Bash atau Zsh, tambahkan alias ini ke `~/.bashrc` atau `~/.zshrc` sehingga `claude-work` menggunakan akun kerja Anda sementara `claude` menyimpan akun pribadi Anda:

36 

37```bash theme={null}

38alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

39```

40 

41Setelah Anda membuka terminal baru dan menjalankan `claude-work` untuk pertama kalinya, Claude Code memandu Anda melalui login dan pengaturan untuk direktori baru. Direktori terpisah tidak menjaga dua login Claude Console [tanpa kunci API](#sign-in-without-an-api-key) terpisah, karena Claude Code menyimpan jenis login itu di luar direktori konfigurasi.

42 

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

36 44 

37<h2 id="set-up-team-authentication">45<h2 id="set-up-team-authentication">


122* File pengaturan apa pun menetapkan [`forceLoginOrgUUID`](#restrict-login-to-your-organization), atau menetapkan `forceLoginMethod` ke `"claudeai"` atau `"console"`130* File pengaturan apa pun menetapkan [`forceLoginOrgUUID`](#restrict-login-to-your-organization), atau menetapkan `forceLoginMethod` ke `"claudeai"` atau `"console"`

123* Sumber pengaturan terkelola di mesin Anda, seperti file pengaturan terkelola, profil MDM, atau pengaturan terkelola server yang di-cache, ada tetapi Claude Code [tidak dapat membacanya](/docs/id/managed-settings#invalid-entries-in-managed-settings) dan tidak ada sumber terkelola lain yang menyediakan kebijakan131* Sumber pengaturan terkelola di mesin Anda, seperti file pengaturan terkelola, profil MDM, atau pengaturan terkelola server yang di-cache, ada tetapi Claude Code [tidak dapat membacanya](/docs/id/managed-settings#invalid-entries-in-managed-settings) dan tidak ada sumber terkelola lain yang menyediakan kebijakan

124 132 

125Batalkan `ANTHROPIC_API_KEY` sebelum Anda masuk tanpa kunci. Profil yang ditulis oleh masuk Console Claude Code sendiri, atau oleh CLI Claude Platform `ant auth login`, adalah jenis kredensial yang sama, jadi masuk lagi menggantinya.133Batalkan `ANTHROPIC_API_KEY` sebelum Anda masuk tanpa kunci.

126 134 

127Setelah Anda masuk tanpa kunci, Anda memiliki profil alih-alih kunci API yang disimpan:135Setelah Anda masuk tanpa kunci, Anda memiliki profil alih-alih kunci API yang disimpan:

128 136 


160 168 

161Untuk memerlukan bahwa login claude.ai pengembang milik organisasi Anthropic tertentu, atur [`forceLoginMethod`](/docs/id/settings-reference#forceloginmethod) dan [`forceLoginOrgUUID`](/docs/id/settings-reference#forceloginorguuid) dalam [pengaturan terkelola](/docs/id/managed-settings). Atur `forceLoginOrgUUID` ke ID organisasi Anda, ditampilkan dalam [pengaturan admin claude.ai](https://claude.ai/admin-settings/organization) untuk organisasi Claude for Teams atau Enterprise. Claude Code melaporkan kesalahan untuk login claude.ai ke organisasi lain dan keluar saat startup jika kredensial claude.ai yang digunakan milik organisasi yang tidak terdaftar.169Untuk memerlukan bahwa login claude.ai pengembang milik organisasi Anthropic tertentu, atur [`forceLoginMethod`](/docs/id/settings-reference#forceloginmethod) dan [`forceLoginOrgUUID`](/docs/id/settings-reference#forceloginorguuid) dalam [pengaturan terkelola](/docs/id/managed-settings). Atur `forceLoginOrgUUID` ke ID organisasi Anda, ditampilkan dalam [pengaturan admin claude.ai](https://claude.ai/admin-settings/organization) untuk organisasi Claude for Teams atau Enterprise. Claude Code melaporkan kesalahan untuk login claude.ai ke organisasi lain dan keluar saat startup jika kredensial claude.ai yang digunakan milik organisasi yang tidak terdaftar.

162 170 

163Untuk login Claude Console, Claude Code menggunakan `forceLoginOrgUUID` untuk pra-pilih organisasi di halaman masuk Console ketika Anda menetapkannya ke ID organisasi Console tunggal, ditampilkan di [platform.claude.com/settings/organization](https://platform.claude.com/settings/organization). Ini tidak memeriksa organisasi mana yang dimiliki kredensial Console yang dihasilkan, saat login atau saat startup, dan pengembang yang masuk dengan akun Console sebelum Anda menerapkan kunci tetap masuk.171Untuk login Claude Console, Claude Code menggunakan `forceLoginOrgUUID` untuk pra-pilih organisasi di halaman masuk Console ketika Anda menetapkannya ke ID organisasi Console tunggal, ditampilkan di [platform.claude.com/settings/organization](https://platform.claude.com/settings/organization). Ini tidak memeriksa organisasi mana yang dimiliki kredensial Console yang dihasilkan, saat login atau saat startup. Pengembang yang masuk dengan akun Console sebelum Anda menerapkan kunci tetap masuk, dan kunci yang disimpan itu diblokir di mesin yang juga memerlukan masuk [gateway](/docs/id/claude-apps-gateway) atau dalam sesi yang memilih penyedia cloud.

164 172 

165Jika Anda menetapkan `forceLoginOrgUUID` dalam file pengaturan apa pun, Claude Code berhenti menawarkan [masuk Console tanpa kunci](#sign-in-without-an-api-key) dalam sesi yang berlaku file itu dan membuat kunci API sebagai gantinya. Untuk mengarahkan pengembang ke masuk claude.ai sebagai gantinya, atur `forceLoginMethod` ke `"claudeai"`.173Jika Anda menetapkan `forceLoginOrgUUID` dalam file pengaturan apa pun, Claude Code berhenti menawarkan [masuk Console tanpa kunci](#sign-in-without-an-api-key) dalam sesi yang berlaku file itu dan membuat kunci API sebagai gantinya. Untuk mengarahkan pengembang ke masuk claude.ai sebagai gantinya, atur `forceLoginMethod` ke `"claudeai"`.

166 174 

167Pengembang dapat masuk dari beberapa jalur: alur terminal `/login`, [ekstensi VS Code](/docs/id/vs-code), Agent SDK, `claude setup-token`, `/install-github-app`, dan [masuk gateway](/docs/id/claude-apps-gateway) untuk organisasi yang merutekan melalui gateway cloud. Pada Claude Code v2.1.212 atau lebih baru, setiap jalur menerapkan `forceLoginMethod`; sebelum v2.1.212, hanya login terminal yang menerapkan salah satu kunci. Di layar login interaktif terminal, dicapai oleh `/login` atau onboarding pertama kali, Claude Code pra-pilih metode `claudeai` atau `console` tanpa memberlakukannya, jadi bahkan dengan `forceLoginMethod` diatur ke `"claudeai"`, pengembang masih dapat menyelesaikan login Console di sana. Jalur berbeda pada `forceLoginOrgUUID`:175Pada Claude Code v2.1.212 atau lebih baru, setiap jalur login yang terdaftar di sini menerapkan `forceLoginMethod`. Di layar login interaktif terminal, dicapai oleh `/login` atau onboarding pertama kali, Claude Code pra-pilih metode `claudeai` atau `console` tanpa memberlakukannya, jadi bahkan dengan `forceLoginMethod` diatur ke `"claudeai"`, pengembang masih dapat menyelesaikan login Console di sana.

168 176 

169* **Login terminal, ekstensi VS Code, dan Agent SDK**: verifikasi `forceLoginOrgUUID` untuk login akun claude.ai177Jalur berbeda pada `forceLoginOrgUUID`:

178 

179* **Login terminal, [ekstensi VS Code](/docs/id/vs-code), dan Agent SDK**: verifikasi `forceLoginOrgUUID` untuk login akun claude.ai

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

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

172 182 

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

174 184 

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

186 

175Kunci juga memutuskan apakah sesi yang tidak menggunakan kredensial login dapat dimulai. Lihat [`forceLoginOrgUUID`](/docs/id/settings-reference#forceloginorguuid) dalam referensi pengaturan untuk perilaku lengkap.187Kunci juga memutuskan apakah sesi yang tidak menggunakan kredensial login dapat dimulai. Lihat [`forceLoginOrgUUID`](/docs/id/settings-reference#forceloginorguuid) dalam referensi pengaturan untuk perilaku lengkap.

176 188 

177* **`ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper`**: diblokir saat startup, karena keanggotaan organisasi tidak dapat diverifikasi untuk kredensial lingkungan189* **`ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper`**: diblokir saat startup. Di bawah `forceLoginOrgUUID`, keanggotaan organisasi tidak dapat diverifikasi untuk kredensial lingkungan, dan di bawah `forceLoginMethod` kredensial akan berdiri untuk masuk yang diperlukan. Ketika pengaturan terkelola juga memerlukan masuk [gateway](/docs/id/claude-apps-gateway), Claude Code memblokir kunci API yang disimpan oleh login Claude Console sebelumnya dengan cara yang sama. Lihat [Kebijakan administrator memerlukan masuk gateway Cloud](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in)

178* **Sesi penyedia cloud seperti Amazon Bedrock**: tidak diblokir, karena mereka mengautentikasi terhadap penyedia cloud Anda. Batasi mereka melalui kebijakan IAM cloud Anda190* **Sesi penyedia cloud seperti Amazon Bedrock**: diblokir hanya saat kredensial `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper`, atau kunci API yang disimpan oleh login Claude Console sebelumnya, masih ada di mesin. Hapusnya dan sesi dimulai. Sesi ini mengautentikasi terhadap penyedia cloud Anda, yang kebijakan akses mereka mengaturnya

179* **[Profil Anthropic atau kredensial federasi](#anthropic-profiles-and-federation-credentials)**: tidak diblokir, dan kunci tidak memeriksa organisasi mana yang dimiliki profil191* **[Profil Anthropic atau kredensial federasi](#anthropic-profiles-and-federation-credentials)**: tidak diblokir kecuali kredensial `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper`, atau kunci API yang disimpan oleh login Claude Console sebelumnya, juga ada di mesin. Kunci tidak memeriksa organisasi mana yang dimiliki profil

180 192 

181<h2 id="credential-management">193<h2 id="credential-management">

182 Manajemen kredensial194 Manajemen kredensial


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

193* **Jenis autentikasi yang didukung**: kredensial claude.ai, kredensial API Claude, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, kredensial profil Anthropic dan [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), dan token sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway).205* **Jenis autentikasi yang didukung**: kredensial claude.ai, kredensial API Claude, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, kredensial profil Anthropic dan [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), dan token sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway).

194* **Skrip kredensial kustom**: konfigurasi pengaturan [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) untuk menjalankan skrip shell yang mengembalikan kunci API.206* **Skrip kredensial kustom**: konfigurasi pengaturan [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) untuk menjalankan skrip shell yang mengembalikan kunci API.

195* **Interval penyegaran**: Claude Code menjalankan kembali `apiKeyHelper` setelah lima menit secara default. Atur variabel lingkungan `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` untuk interval penyegaran kustom. Lihat [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) untuk kasus lain di mana Claude Code menjalankan kembali helper.207* **Interval penyegaran**: lihat [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) untuk kasus di mana Claude Code menjalankan kembali helper.

196* **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.208* **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.

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

198 210 

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

200 212 


202 Perbarui login yang akan kedaluwarsa214 Perbarui login yang akan kedaluwarsa

203</h3>215</h3>

204 216 

205Ketika login yang Anda buat dengan `/login` dalam tiga hari akan kedaluwarsa, Claude Code menampilkan peringatan saat startup: `Your login expires in 3 days · run /login to renew`. Memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.217, peringatan muncul lima hari keluar.217Ketika login yang Anda buat dengan `/login` dalam tiga hari akan kedaluwarsa, Claude Code menampilkan peringatan saat startup: `Your login expires in 3 days · run /login to renew`.

206 218 

207Jalankan `/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.219Jalankan `/login` untuk memperbarui. Peringatan bersifat informatif dan tidak pernah memblokir permintaan: autentikasi terus bekerja sampai login benar-benar kedaluwarsa.

208 220 

209Setelah login yang disimpan kedaluwarsa dan tidak dapat disegarkan, setiap permintaan model gagal dengan [`Login expired · Please run /login`](/docs/id/errors#login-expired) sampai Anda masuk lagi. Sebelum v2.1.206, Claude Code melaporkan login yang kedaluwarsa pada permintaan model sebagai kesalahan model sebagai gantinya.221Setelah login yang disimpan kedaluwarsa dan tidak dapat disegarkan, setiap permintaan model gagal dengan [`Login expired · Please run /login`](/docs/id/errors#login-expired) sampai Anda masuk lagi.

210 222 

211Anda dapat memeriksa status ini sebelum permintaan gagal: [`/status`](/docs/id/commands) menampilkan baris `Login` yang membaca `Expired — log in again`, ditambah organisasi dan email yang disimpannya untuk login yang kedaluwarsa. Baris muncul hanya ketika login claude.ai atau Claude Console yang disimpan adalah kredensial aktif. Baris memerlukan Claude Code v2.1.210 atau lebih baru.223Anda dapat memeriksa status ini sebelum permintaan gagal: [`/status`](/docs/id/commands) menampilkan baris `Login` yang membaca `Expired — log in again`, ditambah organisasi dan email yang disimpannya untuk login yang kedaluwarsa. Baris muncul hanya ketika login claude.ai atau Claude Console yang disimpan adalah kredensial aktif. Baris memerlukan Claude Code v2.1.210 atau lebih baru.

212 224 


230 242 

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

232 244 

233Jika [pengaturan terkelola](/docs/id/managed-settings) mesin Anda menetapkan [`forceLoginMethod`](/docs/id/settings-reference#forceloginmethod) ke `"gateway"` atau menetapkan [`forceLoginGatewayUrl`](/docs/id/settings-reference#forcelogingatewayurl), dan Anda tidak memilih penyedia cloud melalui variabel seperti `CLAUDE_CODE_USE_BEDROCK` atau `CLAUDE_CODE_USE_VERTEX`, sesi Anda hanya menggunakan sign-in gateway. Claude Code melewati sumber kredensial lainnya dan meminta Anda untuk masuk dengan `/login`. Lihat [Administrator policy requires a Cloud gateway sign-in](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) untuk apa yang Anda lihat dengan setiap kredensial sisa. Sebelum v2.1.261, atau sebelum v2.1.265 pada mesin yang hanya menetapkan `forceLoginGatewayUrl`, Claude Code menggunakan login yang disimpan sisa pada mesin ini sampai Anda masuk ke gateway.245Jika [pengaturan terkelola](/docs/id/managed-settings) mesin Anda menetapkan [`forceLoginMethod`](/docs/id/settings-reference#forceloginmethod) ke `"gateway"` atau menetapkan [`forceLoginGatewayUrl`](/docs/id/settings-reference#forcelogingatewayurl), dan Anda tidak memilih penyedia cloud melalui variabel seperti `CLAUDE_CODE_USE_BEDROCK` atau `CLAUDE_CODE_USE_VERTEX`, sesi Anda hanya menggunakan sign-in gateway. Claude Code melewati sumber kredensial lainnya dan meminta Anda untuk masuk dengan `/login`. Lihat [Administrator policy requires a Cloud gateway sign-in](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) untuk apa yang Anda lihat dengan setiap kredensial sisa. Memerlukan Claude Code v2.1.261 atau lebih baru, atau v2.1.265 atau lebih baru pada mesin yang hanya menetapkan `forceLoginGatewayUrl`.

234 246 

235Jika Anda memiliki langganan Claude aktif tetapi juga memiliki `ANTHROPIC_API_KEY` diatur di lingkungan Anda, Claude Code menggunakan kunci API setelah Anda menyetujuinya. Ini dapat menyebabkan kegagalan autentikasi jika kunci milik organisasi yang dinonaktifkan atau kedaluwarsa.247Jika Anda memiliki langganan Claude aktif tetapi juga memiliki `ANTHROPIC_API_KEY` diatur di lingkungan Anda, Claude Code menggunakan kunci API setelah Anda menyetujuinya. Ini dapat menyebabkan kegagalan autentikasi jika kunci milik organisasi yang dinonaktifkan atau kedaluwarsa.

236 248 


254| Variabel federasi | `ANTHROPIC_FEDERATION_RULE_ID` dan `ANTHROPIC_ORGANIZATION_ID`, keduanya diatur | Di atas |266| Variabel federasi | `ANTHROPIC_FEDERATION_RULE_ID` dan `ANTHROPIC_ORGANIZATION_ID`, keduanya diatur | Di atas |

255| Profil aktif | File [`active_config`](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) di direktori konfigurasi Anda, atau profil bernama `default` | Di atas ketika mode auth-nya adalah `oidc_federation`; di bawah kredensial `/login` yang berfungsi ketika mode auth-nya adalah `user_oauth` |267| Profil aktif | File [`active_config`](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) di direktori konfigurasi Anda, atau profil bernama `default` | Di atas ketika mode auth-nya adalah `oidc_federation`; di bawah kredensial `/login` yang berfungsi ketika mode auth-nya adalah `user_oauth` |

256 268 

257Aturan `user_oauth` menjaga profil `ant auth login` yang tersisa dari memindahkan permintaan Anda dari akun yang Anda masuki dengan `/login`. Untuk variabel federasi, Claude Code juga membaca variabel lain dalam [referensi WIF](https://platform.claude.com/docs/en/manage-claude/wif-reference#environment-variables), seperti `ANTHROPIC_IDENTITY_TOKEN_FILE`, ketika menukar token identitas Anda. Untuk format file profil, lihat [referensi WIF](https://platform.claude.com/docs/en/manage-claude/wif-reference#profile-configuration-file).269Untuk variabel federasi, Claude Code juga membaca variabel lain dalam [referensi WIF](https://platform.claude.com/docs/en/manage-claude/wif-reference#environment-variables), seperti `ANTHROPIC_IDENTITY_TOKEN_FILE`, ketika menukar token identitas Anda. Untuk format file profil, lihat [referensi WIF](https://platform.claude.com/docs/en/manage-claude/wif-reference#profile-configuration-file).

258 270 

259Untuk mengonfirmasi sumber mana yang dipilih Claude Code, jalankan `/status`. Baris `Profile` menamai sumber sebagai pengganti baris `Login method`. Ketika profil adalah kredensial yang sedang digunakan, baris `Organization` dan `Email` menunjukkan akunnya.271Untuk mengonfirmasi sumber mana yang dipilih Claude Code, jalankan `/status`. Baris `Profile` menamai sumber sebagai pengganti baris `Login method`. Ketika profil adalah kredensial yang sedang digunakan, baris `Organization` dan `Email` menunjukkan akunnya.

260 272 

261Jika Anda memulai Claude Code dengan `--debug`, itu juga menulis baris `Using Anthropic profile auth` dengan nama sumber ke log debug di `~/.claude/debug/<session-id>.txt`. Ketika Claude Code melewati profil aktif `user_oauth` karena Anda memiliki kredensial `/login` yang berfungsi, itu menulis peringatan ke log debug mengatakan itu menggunakan login claude.ai sebagai gantinya.

262 

263Ketika login profil `user_oauth` telah kedaluwarsa dan Claude Code tidak dapat memperbarui, permintaan gagal dengan [Anthropic profile login expired](/docs/id/errors#anthropic-profile-login-expired).273Ketika login profil `user_oauth` telah kedaluwarsa dan Claude Code tidak dapat memperbarui, permintaan gagal dengan [Anthropic profile login expired](/docs/id/errors#anthropic-profile-login-expired).

264 274 

265Fitur yang memerlukan login claude.ai Anda, seperti [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) dan [`/schedule`](/docs/id/routines), tidak tersedia saat salah satu sumber ini dipilih. Untuk menghentikan Claude Code dari memilih sumber:275Fitur yang memerlukan login claude.ai Anda, seperti [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) dan [`/schedule`](/docs/id/routines), tidak tersedia saat salah satu sumber ini dipilih. Untuk menghentikan Claude Code dari memilih sumber:


279 289 

280Perintah membuka alur otorisasi browser yang sama seperti `/login`, dan token dicetak ke terminal setelah Anda menyetujui akses di browser. Itu tidak menyimpan token di mana pun; salin dan atur sebagai variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN` di mana pun Anda ingin melakukan autentikasi:290Perintah membuka alur otorisasi browser yang sama seperti `/login`, dan token dicetak ke terminal setelah Anda menyetujui akses di browser. Itu tidak menyimpan token di mana pun; salin dan atur sebagai variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN` di mana pun Anda ingin melakukan autentikasi:

281 291 

282```bash theme={null}292<Tabs>

283export CLAUDE_CODE_OAUTH_TOKEN=your-token293 <Tab title="macOS, Linux, WSL">

284```294 ```bash theme={null}

295 export CLAUDE_CODE_OAUTH_TOKEN=your-token

296 ```

297 </Tab>

298 

299 <Tab title="Windows PowerShell">

300 ```powershell theme={null}

301 $env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"

302 ```

303 </Tab>

304 

305 <Tab title="Windows CMD">

306 ```batch theme={null}

307 set CLAUDE_CODE_OAUTH_TOKEN=your-token

308 ```

309 </Tab>

310</Tabs>

285 311 

286Token ini melakukan autentikasi dengan langganan Claude Anda dan memerlukan paket Pro, Max, Team, atau Enterprise. Itu hanya dapat membuat permintaan model, jadi itu tidak dapat membuat sesi [Remote Control](/docs/id/remote-control) atau mengambil [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai). Server MCP yang Anda konfigurasi secara lokal masih berfungsi.312Token ini melakukan autentikasi dengan langganan Claude Anda dan memerlukan paket Pro, Max, Team, atau Enterprise. Itu hanya dapat membuat permintaan model, jadi itu tidak dapat membuat sesi [Remote Control](/docs/id/remote-control) atau mengambil [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai). Server MCP yang Anda konfigurasi secara lokal masih berfungsi.

287 313 

Details

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

10 10 

11<Note>11<Note>

12 Mode otomatis tersedia untuk semua pengguna di setiap penyedia, termasuk Anthropic API, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk. Jika Claude Code melaporkan mode otomatis tidak tersedia untuk akun Anda, periksa [persyaratan lengkap](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), yang juga mencakup model yang didukung dan kontrol tingkat organisasi pada paket Tim dan Enterprise. Dalam v2.1.158 hingga v2.1.206, mode otomatis di Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude memerlukan pengaturan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 menghapus persyaratan.12 Halaman ini adalah referensi konfigurasi. Mengaktifkan dan menonaktifkan mode otomatis tercakup di halaman Permission modes:

13 

14 * **Beralih ke mode otomatis di tengah sesi, atau keluar darinya**: lihat [Switch permission modes](/docs/id/permission-modes#switch-permission-modes)

15 * **Mulai sesi dalam mode otomatis**: lihat [Start in a different permission mode](/docs/id/permission-modes#start-in-a-different-mode)

13</Note>16</Note>

14 17 

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`.18Mode otomatis tersedia untuk semua pengguna di setiap penyedia, termasuk Anthropic API, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk. Jika Claude Code melaporkan mode otomatis tidak tersedia untuk akun Anda, periksa [persyaratan lengkap](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), yang juga mencakup model yang didukung dan kontrol tingkat organisasi pada paket Tim dan Enterprise.

16 19 

17Untuk cara sesi berakhir dalam mode otomatis dan apa yang diblokir pengklasifikasi secara default, lihat [mode otomatis di halaman Permission modes](/docs/id/permission-modes#eliminate-prompts-with-auto-mode). Halaman ini adalah referensi konfigurasi.20Secara 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`.

18 21 

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

20 23 

21* [Tambahkan checkpoint manusia](#add-a-human-checkpoint) untuk push dan pull request dengan `permissions.ask`24* [Tambahkan checkpoint manusia](#add-a-human-checkpoint) 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

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

24* [Hasilkan entri lingkungan](#generate-environment-entries) dengan `/auto-mode-setup`26* [Hasilkan entri lingkungan](#generate-environment-entries) dengan `/auto-mode-setup`

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

26* [Edit aturan dari `/permissions`](#edit-rules-from-permissions) tanpa membuka file pengaturan

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

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

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

30 28 

31<h2 id="common-boundaries">29<h2 id="common-boundaries">


34 32 

35Mode otomatis memungkinkan push ke cabang mana pun dari repositori yang Anda kerjakan, termasuk cabang default, dan pembuatan pull request secara default. Cabang non-default yang namanya menandainya sebagai target deploy atau publikasi, seperti `production`, `release`, atau `gh-pages`, tidak tercakup oleh default tersebut: pengklasifikasi menilai push di sana berdasarkan syarat-syaratnya sendiri, termasuk sebagai deploy produksi. Konten push juga masih diperiksa, jadi force push, rahasia yang memasuki commit, atau perubahan yang akan mengirim rahasia di luar repositori ketika CI atau pipeline deploy menjalankannya tetap diblokir.33Mode otomatis memungkinkan push ke cabang mana pun dari repositori yang Anda kerjakan, termasuk cabang default, dan pembuatan pull request secara default. Cabang non-default yang namanya menandainya sebagai target deploy atau publikasi, seperti `production`, `release`, atau `gh-pages`, tidak tercakup oleh default tersebut: pengklasifikasi menilai push di sana berdasarkan syarat-syaratnya sendiri, termasuk sebagai deploy produksi. Konten push juga masih diperiksa, jadi force push, rahasia yang memasuki commit, atau perubahan yang akan mengirim rahasia di luar repositori ketika CI atau pipeline deploy menjalankannya tetap diblokir.

36 34 

37<Info>Sebelum v2.1.211, pengklasifikasi hanya memungkinkan push ke cabang kerja Anda, cabang yang dibuat Claude, dan push rutin ke cabang default.</Info>

38 

39Jika Anda ingin checkpoint manusia sebelum perintah push dan pull request Claude, tambahkan aturan izin: [resep di bawah](#add-a-human-checkpoint) menjaga mode otomatis tetap aktif untuk segalanya.35Jika Anda ingin checkpoint manusia sebelum perintah push dan pull request Claude, tambahkan aturan izin: [resep di bawah](#add-a-human-checkpoint) menjaga mode otomatis tetap aktif untuk segalanya.

40 36 

41<h3 id="add-a-human-checkpoint">37<h3 id="add-a-human-checkpoint">


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

80| Bendera `--settings` atau Agent SDK | JSON inline | Penggantian per-invokasi untuk otomasi |76| Bendera `--settings` atau Agent SDK | JSON inline | Penggantian per-invokasi untuk otomasi |

81 77 

82Pengklasifikasi 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.78Pengklasifikasi 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. Pindahkan blok `autoMode` apa pun di `.claude/settings.local.json` ke `~/.claude/settings.json`.

83 79 

84Entri 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.80Entri 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.

85 81 


93 89 

94Untuk sebagian besar organisasi, `autoMode.environment` adalah satu-satunya bidang yang perlu Anda atur. Ini memberitahu pengklasifikasi repositori, bucket, dan domain mana yang terpercaya: pengklasifikasi menggunakannya untuk memutuskan apa arti "eksternal", jadi tujuan apa pun yang tidak tercantum adalah target potensi exfiltration.90Untuk sebagian besar organisasi, `autoMode.environment` adalah satu-satunya bidang yang perlu Anda atur. Ini memberitahu pengklasifikasi repositori, bucket, dan domain mana yang terpercaya: pengklasifikasi menggunakannya untuk memutuskan apa arti "eksternal", jadi tujuan apa pun yang tidak tercantum adalah target potensi exfiltration.

95 91 

96Mulai dari Claude Code v2.1.198, `claude auto-mode defaults` mencetak tiga jenis entri lingkungan. Versi sebelum v2.1.195 hanya mencetak lima slot kepercayaan pertama.92`claude auto-mode defaults` mencetak tiga jenis entri lingkungan.

97 93 

98* **Context slots**: mendeskripsikan organisasi, stack, dan postur keamanan Anda sehingga pengklasifikasi membaca aturan lain dalam konteks Anda. Masing-masing default ke `None configured` atau ke asumsi konservatif yang dinamai di sebelahnya:94* **Context slots**: mendeskripsikan organisasi, stack, dan postur keamanan Anda sehingga pengklasifikasi membaca aturan lain dalam konteks Anda. Masing-masing default ke `None configured` atau ke asumsi konservatif yang dinamai di sebelahnya:

99 * **Organization**95 * **Organization**


101 * **Cloud provider(s)**97 * **Cloud provider(s)**

102 * **Repository visibility**: sebuah repositori diasumsikan private kecuali host remote dan namanya menunjukkan sebaliknya, atau pengklasifikasi membaca pemeriksaan visibilitas lebih awal dalam percakapan yang menunjukkan bahwa itu public.98 * **Repository visibility**: sebuah repositori diasumsikan private kecuali host remote dan namanya menunjukkan sebaliknya, atau pengklasifikasi membaca pemeriksaan visibilitas lebih awal dalam percakapan yang menunjukkan bahwa itu public.

103 99 

104 Dalam permintaan pengklasifikasi yang dikirim oleh Claude Code itu sendiri, pengklasifikasi membaca pesan Anda dan perintah yang dijalankan Claude, bukan output mereka. Bukti harus berupa sesuatu yang dapat dibaca pengklasifikasi, seperti pesan Anda sendiri yang menyebutkan repositori sebagai public; output dari `gh repo view` saja tidak mencapainya. Pemeriksaan bukti transkrip memerlukan Claude Code v2.1.200 atau lebih baru100 Dalam permintaan pengklasifikasi yang dikirim oleh Claude Code itu sendiri, pengklasifikasi membaca pesan Anda dan perintah yang dijalankan Claude, bukan output mereka. Bukti harus berupa sesuatu yang dapat dibaca pengklasifikasi, seperti pesan Anda sendiri yang menyebutkan repositori sebagai public; output dari `gh repo view` saja tidak mencapainya.

105 * **Internal sharing / snippet hosting**: layanan paste dan gist publik diperlakukan sebagai di luar batas kepercayaan sampai Anda menyebutkan satu101 * **Internal sharing / snippet hosting**: layanan paste dan gist publik diperlakukan sebagai di luar batas kepercayaan sampai Anda menyebutkan satu

106 * **Org-specific CLIs**102 * **Org-specific CLIs**

107 * **Secrets management**103 * **Secrets management**


110 * **Host containment**: default ke mesin developer biasa atau CI runner dengan internet terbuka. Jika Claude Code berjalan dalam container, VM, atau pod dengan daftar allow-list egress atau tetangga yang tidak boleh disentuh, sebutkan host yang diizinkan, apakah endpoint metadata cloud harus dapat dijangkau, dan proyek cloud, cluster, atau registry mana yang digunakan tugas dan di bawah identitas apa. Sampai entri ini menyebutkan identitas itu, pengklasifikasi [memblokir](/docs/id/permission-modes#what-the-classifier-blocks-by-default) permintaan untuk kredensial host itu sendiri. Memerlukan Claude Code v2.1.257 atau lebih baru106 * **Host containment**: default ke mesin developer biasa atau CI runner dengan internet terbuka. Jika Claude Code berjalan dalam container, VM, atau pod dengan daftar allow-list egress atau tetangga yang tidak boleh disentuh, sebutkan host yang diizinkan, apakah endpoint metadata cloud harus dapat dijangkau, dan proyek cloud, cluster, atau registry mana yang digunakan tugas dan di bawah identitas apa. Sampai entri ini menyebutkan identitas itu, pengklasifikasi [memblokir](/docs/id/permission-modes#what-the-classifier-blocks-by-default) permintaan untuk kredensial host itu sendiri. Memerlukan Claude Code v2.1.257 atau lebih baru

111 * **Protected deployment namespaces / environments**: kembali ke heuristik Sensitive remote targets sampai Anda menyebutkannya107 * **Protected deployment namespaces / environments**: kembali ke heuristik Sensitive remote targets sampai Anda menyebutkannya

112 * **Data retention / declassification**108 * **Data retention / declassification**

113* **Trust slots**: sebutkan apa yang diperlakukan pengklasifikasi sebagai dalam batas Anda. Slot adalah Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services, dan Internal package registry. Entri repo dan source-control default ke repositori kerja dan remote yang dikonfigurasinya. Setiap slot kepercayaan lainnya default ke `None configured`, jadi tidak ada yang lain terpercaya sampai Anda menambahkannya. Visibilitas repositori hanya mencakup materi rahasia: repositori private adalah tujuan yang dapat diterima untuk materi rahasia, tetapi membuat repositori private tidak pernah menghapus rahasia atau data pribadi atau terpercaya ke dalamnya, dan pengklasifikasi memperlakukan konten yang diport, diarahkan ulang, atau pertama kali dibaca dari luar repositori kerja sebagai bukan pekerjaan repositori itu sendiri. Scoping ini memerlukan Claude Code v2.1.203 atau lebih baru.109* **Trust slots**: sebutkan apa yang diperlakukan pengklasifikasi sebagai dalam batas Anda. Slot adalah Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services, dan Internal package registry. Entri repo dan source-control default ke repositori kerja dan remote yang dikonfigurasinya. Setiap slot kepercayaan lainnya default ke `None configured`, jadi tidak ada yang lain terpercaya sampai Anda menambahkannya. Visibilitas repositori hanya mencakup materi rahasia: repositori private adalah tujuan yang dapat diterima untuk materi rahasia, tetapi membuat repositori private tidak pernah menghapus rahasia atau data pribadi atau terpercaya ke dalamnya, dan pengklasifikasi memperlakukan konten yang diport, diarahkan ulang, atau pertama kali dibaca dari luar repositori kerja sebagai bukan pekerjaan repositori itu sendiri.

114* **Sensitivity slots**: sebutkan apa yang diperlakukan aturan perlindungan sebagai berisiko tinggi. Slot adalah Sensitive data locations & audiences, Sensitive remote targets, dan Protected IaC scopes. Masing-masing default ke heuristik yang luas, seperti memperlakukan host atau namespace apa pun yang namanya membawa `prod` atau `production` sebagai target remote sensitif, jadi aturan perlindungan aktif sebelum Anda mengonfigurasi apa pun. Menyebutkan target konkret dalam slot sensitivitas membuat aturan tersebut berlaku untuk target yang disebutkan alih-alih heuristik.110* **Sensitivity slots**: sebutkan apa yang diperlakukan aturan perlindungan sebagai berisiko tinggi. Slot adalah Sensitive data locations & audiences, Sensitive remote targets, dan Protected IaC scopes. Masing-masing default ke heuristik yang luas, seperti memperlakukan host atau namespace apa pun yang namanya membawa `prod` atau `production` sebagai target remote sensitif, jadi aturan perlindungan aktif sebelum Anda mengonfigurasi apa pun. Menyebutkan target konkret dalam slot sensitivitas membuat aturan tersebut berlaku untuk target yang disebutkan alih-alih heuristik.

115 111 

116<Info>Sebelum v2.1.211, context slots juga menyertakan entri Default / protected branches yang memperlakukan `main` dan `master` sebagai protected sampai Anda menyebutkan yang lain. v2.1.211 menghapusnya: [push ke cabang apa pun dari repositori yang Anda kerjakan](#common-boundaries) diizinkan secara default, jadi tidak ada default protected-branch untuk dikonfigurasi.</Info>

117 

118Untuk menambahkan entri Anda sendiri bersama default, sertakan string literal `"$defaults"` dalam array. Entri default disambung pada posisi itu, jadi entri kustom Anda dapat berada sebelum atau sesudahnya.112Untuk menambahkan entri Anda sendiri bersama default, sertakan string literal `"$defaults"` dalam array. Entri default disambung pada posisi itu, jadi entri kustom Anda dapat berada sebelum atau sesudahnya.

119 113 

120Contoh berikut mempertahankan entri default dan menambahkan repo, bucket, domain, dan layanan organisasi.114Contoh berikut mempertahankan entri default dan menambahkan repo, bucket, domain, dan layanan organisasi.


143* **Trusted internal domains**: hostname untuk API, dashboard, dan layanan di dalam jaringan Anda, seperti `*.internal.example.com`137* **Trusted internal domains**: hostname untuk API, dashboard, dan layanan di dalam jaringan Anda, seperti `*.internal.example.com`

144* **Key internal services**: CI, artifact registries, internal package indexes, incident tooling138* **Key internal services**: CI, artifact registries, internal package indexes, incident tooling

145* **Internal package registry**: npm pribadi, PyPI, atau registry lain yang harus dirutekan install, jadi install yang melewatinya untuk registry publik mendapat blokir139* **Internal package registry**: npm pribadi, PyPI, atau registry lain yang harus dirutekan install, jadi install yang melewatinya untuk registry publik mendapat blokir

146* **Sensitive data locations & audiences**: bucket, database, atau path yang menyimpan data pribadi, data bisnis rahasia, kredensial, data yang diatur, atau materi sensitif serupa, dan audiens yang data di setiap lokasi dapat dibagikan, jadi pengklasifikasi melindungi lokasi tersebut alih-alih menebak dari konten. Claude Code v2.1.195 melalui v2.1.197 menyebutkan entri ini PII / regulated-data locations dan hanya mencakup lokasi yang menyimpan data pribadi atau yang diatur, tanpa dimensi audiens140* **Sensitive data locations & audiences**: bucket, database, atau path yang menyimpan data pribadi, data bisnis rahasia, kredensial, data yang diatur, atau materi sensitif serupa, dan audiens yang data di setiap lokasi dapat dibagikan, jadi pengklasifikasi melindungi lokasi tersebut alih-alih menebak dari konten.

147* **Sensitive remote targets**: namespace, host, atau container yang dihitung sebagai production, jadi remote shell dan port-forward ke dalamnya memerlukan persetujuan eksplisit Anda141* **Sensitive remote targets**: namespace, host, atau container yang dihitung sebagai production, jadi remote shell dan port-forward ke dalamnya memerlukan persetujuan eksplisit Anda

148* **Protected IaC scopes**: resource infrastruktur yang apply atau destroy harus selalu memerlukan Anda untuk menyebutkan perubahan142* **Protected IaC scopes**: resource infrastruktur yang apply atau destroy harus selalu memerlukan Anda untuk menyebutkan perubahan

149* **Additional context**: batasan industri yang diatur, infrastruktur multi-tenant, atau persyaratan kepatuhan yang mempengaruhi apa yang harus diperlakukan pengklasifikasi sebagai berisiko143* **Additional context**: batasan industri yang diatur, infrastruktur multi-tenant, atau persyaratan kepatuhan yang mempengaruhi apa yang harus diperlakukan pengklasifikasi sebagai berisiko

150 144 

151Entri Internal package registry, Sensitive data locations & audiences, Sensitive remote targets, dan Protected IaC scopes memerlukan Claude Code v2.1.195 atau lebih baru. Versi sebelumnya masih membacanya sebagai konteks biasa tetapi tidak memiliki aturan built-in yang menargetkannya.

152 

153Template awal yang berguna: isi bidang dalam kurung dan hapus baris apa pun yang tidak berlaku.145Template awal yang berguna: isi bidang dalam kurung dan hapus baris apa pun yang tidak berlaku.

154 146 

155```json theme={null}147```json theme={null}


169}161}

170```162```

171 163 

172Semakin spesifik konteks yang Anda berikan, semakin baik pengklasifikasi dapat membedakan operasi internal rutin dari upaya exfiltration.

173 

174Anda tidak perlu mengisi semuanya sekaligus. Rollout yang masuk akal: mulai dengan default dan tambahkan org source control dan layanan internal kunci Anda, yang menyelesaikan false positive paling umum seperti push ke repo Anda sendiri. Tambahkan domain terpercaya dan cloud bucket berikutnya. Isi sisanya saat blok muncul.164Anda tidak perlu mengisi semuanya sekaligus. Rollout yang masuk akal: mulai dengan default dan tambahkan org source control dan layanan internal kunci Anda, yang menyelesaikan false positive paling umum seperti push ke repo Anda sendiri. Tambahkan domain terpercaya dan cloud bucket berikutnya. Isi sisanya saat blok muncul.

175 165 

176<h2 id="generate-environment-entries">166<h2 id="generate-environment-entries">


309 299 

310Secara default, aturan Bash dan PowerShell yang sempit seperti `Bash(npm test)` tetap berlaku dalam mode otomatis. Claude Code menyelesaikannya sebelum pengklasifikasi berjalan, kecuali perintah membawa [domain yang diizinkan per-perintah](/docs/id/sandboxing#per-command-allowed-domains-in-auto-mode). Claude Code menangguhkan hanya aturan luas yang memberikan eksekusi kode arbitrer, seperti `Bash(*)` atau interpreter dengan wildcard, bersama dengan setiap aturan yang menyebutkan [`Monitor`](/docs/id/tools-reference#monitor-tool), karena perintah Monitor berjalan melalui shell. Ini berarti aturan yang sempit masih dapat membiarkan argumen yang merusak melewati tanpa pengklasifikasi melihatnya, misalnya jalur skrip atau flag yang tidak diantisipasi oleh awalan aturan.300Secara default, aturan Bash dan PowerShell yang sempit seperti `Bash(npm test)` tetap berlaku dalam mode otomatis. Claude Code menyelesaikannya sebelum pengklasifikasi berjalan, kecuali perintah membawa [domain yang diizinkan per-perintah](/docs/id/sandboxing#per-command-allowed-domains-in-auto-mode). Claude Code menangguhkan hanya aturan luas yang memberikan eksekusi kode arbitrer, seperti `Bash(*)` atau interpreter dengan wildcard, bersama dengan setiap aturan yang menyebutkan [`Monitor`](/docs/id/tools-reference#monitor-tool), karena perintah Monitor berjalan melalui shell. Ini berarti aturan yang sempit masih dapat membiarkan argumen yang merusak melewati tanpa pengklasifikasi melihatnya, misalnya jalur skrip atau flag yang tidak diantisipasi oleh awalan aturan.

311 301 

312Atur `autoMode.classifyAllShell` ke `true` untuk menangguhkan setiap aturan izin Bash dan PowerShell saat mode otomatis aktif, sehingga pengklasifikasi mengevaluasi setiap perintah shell terlepas dari daftar izin Anda.302Atur `autoMode.classifyAllShell` ke `true` untuk menangguhkan setiap aturan izin Bash dan PowerShell saat mode otomatis aktif, sehingga pengklasifikasi mengevaluasi setiap perintah shell terlepas dari daftar izin Anda, kecuali [penghapusan jalur kritis](/docs/id/permission-modes#critical-paths).

313 303 

314```json theme={null}304```json theme={null}

315{305{


323 313 

324Pengaturan hanya berlaku saat mode otomatis aktif, dan aturan izin Anda berperilaku normal dalam mode izin lainnya.314Pengaturan hanya berlaku saat mode otomatis aktif, dan aturan izin Anda berperilaku normal dalam mode izin lainnya.

325 315 

326<Note>

327 `autoMode.classifyAllShell` memerlukan Claude Code v2.1.193 atau lebih baru. Versi sebelumnya mengabaikan kunci dan terus membawa aturan izin shell yang sempit ke dalam mode otomatis.

328</Note>

329 

330<h2 id="inspect-the-defaults-and-your-effective-config">316<h2 id="inspect-the-defaults-and-your-effective-config">

331 Periksa default dan konfigurasi efektif Anda317 Periksa default dan konfigurasi efektif Anda

332</h2>318</h2>


357 ...343 ...

358 ],344 ],

359 "soft_deny": [345 "soft_deny": [

360 "Git Destructive [named+specifics — **must name:** the destructive operation and its target]: Force pushing (`git push --force`), menghapus cabang jarak jauh, tag, atau rilis, atau menulis ulang riwayat jarak jauh. Juga `git commit --amend` ketika komit yang ditulis ulang bukan pekerjaan yang belum didorong agen: baik tidak ada `git commit` sebelumnya yang terlihat (HEAD mendahului sesi), atau `git push` dari cabang saat ini terlihat setelah komit terbaru (telah didorong). Dihapus ketika pengguna meminta untuk mengubah/mengubah kata-kata/memperbaiki, atau ketika itu adalah pengubahan kata-kata pesan saja (`--amend -m …`, tidak ada yang baru dipentaskan) dari komit yang agen buat secara terlihat sesi ini.",346 "Git Destructive [named+specifics — **must name:** the destructive operation and its target]: Force pushing (`git push --force`), menghapus cabang jarak jauh, tag, atau rilis, atau menulis ulang riwayat jarak jauh. Juga `git commit --amend` ketika komit yang ditulis ulang bukan pekerjaan yang belum didorong agen: baik tidak ada `git commit` sebelumnya yang terlihat (HEAD mendahului sesi), atau `git push` dari cabang saat ini terlihat setelah komit terbaru (telah didorong). Dihapus ketika pengguna meminta untuk mengubah/mengubah kata/memperbaiki, atau ketika itu adalah pengubahan kata pesan saja (`--amend -m …`, tidak ada yang baru dipentaskan) dari komit yang terlihat dibuat agen sesi ini.",

361 ...347 ...

362 ],348 ],

363 "hard_deny": [...],349 "hard_deny": [...],

364 "environment": [350 "environment": [

365 ...351 ...

366 "**Trusted repo**: Repositori git tempat agen dimulai (direktori kerjanya) dan remote(s) yang dikonfigurasinya. Ketika visibilitas publik/pribadi repo diberikan — oleh entri Repository visibility atau pesan pengguna sendiri — gunakan untuk menentukan ruang lingkup apa yang OK untuk dilakukan atau didorong di sana: materi rahasia baik-baik saja di repo pribadi; di repo publik, hanya pekerjaan repo itu sendiri — dan konten yang diportasi, ditunjuk kembali, atau pertama kali dibaca dari luar repo sesi ini bukan pekerjaan miliknya, siapa pun yang mengarahkan port. Visibilitas menentukan ruang lingkup materi rahasia saja: rahasia dan data sensitif (pribadi & dipercaya) tidak pernah dihapus ke repo apa pun oleh visibilitasnya (lihat Definitions).",352 "**Trusted repo**: Repositori git tempat agen dimulai (direktori kerjanya) dan remote(s) yang dikonfigurasinya. Ketika visibilitas publik/pribadi repo diberikan — oleh entri Repository visibility atau pesan pengguna sendiri — gunakan untuk menentukan ruang lingkup apa yang OK untuk dikomit atau didorong di sana: materi rahasia baik-baik saja di repo pribadi; di repo publik, hanya pekerjaan repo itu sendiri — dan konten yang diportasi, ditunjuk ulang, atau pertama kali dibaca dari luar repo sesi ini bukan pekerjaan miliknya, siapa pun yang mengarahkan port. Visibilitas menentukan ruang lingkup materi rahasia saja: rahasia dan data sensitif (pribadi & terpercaya) tidak pernah disetujui ke dalam repo apa pun oleh visibilitasnya (lihat Definitions).",

367 ...353 ...

368 ]354 ]

369}355}


375claude auto-mode critique361claude auto-mode critique

376```362```

377 363 

378Jalankan `claude auto-mode config` setelah menyimpan pengaturan Anda untuk mengonfirmasi bahwa aturan efektif adalah apa yang Anda harapkan, dengan `"$defaults"` diperluas di tempat. Jika Anda telah menulis aturan kustom, `claude auto-mode critique` meninjau mereka dan menandai entri yang ambigu, berlebihan, atau kemungkinan menyebabkan positif palsu.364Jika Anda telah menulis aturan kustom, `claude auto-mode critique` meninjau mereka dan menandai entri yang ambigu, berlebihan, atau kemungkinan menyebabkan positif palsu.

379 365 

380Untuk membuang kustomisasi Anda dan kembali ke default bawaan, jalankan subperintah reset. Ini memerlukan Claude Code v2.1.212 atau lebih baru dan menghapus bagian `autoMode` dari file pengaturan pengguna Anda:366Untuk membuang kustomisasi Anda dan kembali ke default bawaan, jalankan subperintah reset. Ini memerlukan Claude Code v2.1.212 atau lebih baru dan menghapus bagian `autoMode` dari file pengaturan pengguna Anda:

381 367 


409 395 

410Anda dapat menambahkan entri lingkungan atau aturan `allow` dari tab [**Auto mode**](#edit-rules-from-permissions) dialog `/permissions`.396Anda dapat menambahkan entri lingkungan atau aturan `allow` dari tab [**Auto mode**](#edit-rules-from-permissions) dialog `/permissions`.

411 397 

412Dalam sebagian besar sesi nama alasan menyebutkan aturan yang cocok dengan pengklasifikasi, dalam tanda kurung siku, seperti `[Data Exfiltration]` atau `[Production Deploy]`, dan beberapa sesi menjalankan model pengklasifikasi yang menambahkan penjelasan singkat. Claude Code memilih model pengklasifikasi, jadi bentuk mana yang Anda lihat bukan sesuatu yang Anda konfigurasi.398Teks dalam tanda kurung siku, seperti `[Data Exfiltration]`, adalah nama aturan yang cocok dengan pengklasifikasi. Untuk membaca kata-kata lengkap aturan tersebut, lihat [Inspeksi default dan konfigurasi efektif Anda](#inspect-the-defaults-and-your-effective-config).

413 399 

414<h3 id="fix-repeated-denials">400<h3 id="fix-repeated-denials">

415 Perbaiki penolakan berulang401 Perbaiki penolakan berulang


417 403 

418Penolakan berulang untuk tujuan yang sama biasanya berarti pengklasifikasi kehilangan konteks. Tambahkan tujuan itu ke `autoMode.environment`, atau [jalankan `/auto-mode-setup`](#generate-environment-entries) untuk membuat Claude Code membuat draf entri, kemudian jalankan `claude auto-mode config` untuk mengonfirmasi perubahan telah diterapkan.404Penolakan berulang untuk tujuan yang sama biasanya berarti pengklasifikasi kehilangan konteks. Tambahkan tujuan itu ke `autoMode.environment`, atau [jalankan `/auto-mode-setup`](#generate-environment-entries) untuk membuat Claude Code membuat draf entri, kemudian jalankan `claude auto-mode config` untuk mengonfirmasi perubahan telah diterapkan.

419 405 

420Untuk bereaksi terhadap penolakan secara terprogram, gunakan [`PermissionDenied` hook](/docs/id/hooks#permissiondenied).

421 

422<h2 id="see-also">406<h2 id="see-also">

423 Lihat juga407 Lihat juga

424</h2>408</h2>

Details

46 46 

47* **Dalam satu prompt**: minta Claude menjalankan pemeriksaan dan melakukan iterasi dalam pesan yang sama, seperti dalam tabel di atas.47* **Dalam satu prompt**: minta Claude menjalankan pemeriksaan dan melakukan iterasi dalam pesan yang sama, seperti dalam tabel di atas.

48* **Sepanjang sesi**: atur pemeriksaan sebagai [kondisi `/goal`](/docs/id/goal). Evaluator terpisah memeriksa ulang setelah setiap giliran dan Claude terus bekerja sampai goal terpenuhi. Jika Claude terhenti, Claude Code pada akhirnya menghentikan run dengan goal masih ditetapkan — lihat [bagaimana evaluasi /goal bekerja](/docs/id/goal#how-evaluation-works).48* **Sepanjang sesi**: atur pemeriksaan sebagai [kondisi `/goal`](/docs/id/goal). Evaluator terpisah memeriksa ulang setelah setiap giliran dan Claude terus bekerja sampai goal terpenuhi. Jika Claude terhenti, Claude Code pada akhirnya menghentikan run dengan goal masih ditetapkan — lihat [bagaimana evaluasi /goal bekerja](/docs/id/goal#how-evaluation-works).

49* **Sebagai gerbang deterministik**: [hook Stop](/docs/id/hooks#stop) menjalankan pemeriksaan Anda sebagai skrip dan memblokir giliran dari berakhir sampai lulus. Claude Code menimpa hook dan mengakhiri giliran setelah 8 blok berturut-turut.49* **Sebagai gerbang deterministik**: [hook Stop](/docs/id/hooks#stop) menjalankan pemeriksaan Anda sebagai skrip dan memblokir giliran dari berakhir sampai lulus. [Stop input](/docs/id/hooks#stop-input) mencakup batas pada blok berturut-turut.

50* **Dengan pendapat kedua**: [subagent verifikasi](/docs/id/sub-agents) atau [alur kerja dinamis](/docs/id/workflows) yang memeriksa temuannya sendiri memiliki model segar yang mencoba menyangkal hasil, sehingga agen yang melakukan pekerjaan bukan yang menilainya.50* **Dengan pendapat kedua**: [subagent verifikasi](/docs/id/sub-agents) atau [alur kerja dinamis](/docs/id/workflows) yang memeriksa temuannya sendiri memiliki model segar yang mencoba menyangkal hasil, sehingga agen yang melakukan pekerjaan bukan yang menilainya.

51 51 

52Setiap langkah menukar setup untuk perhatian. Versi prompt berfungsi pada tugas apa pun hari ini. Versi `/goal` dan Stop hook adalah yang memungkinkan run tanpa pengawasan selesai dengan benar tanpa Anda.52Setiap langkah menukar setup untuk perhatian. Versi prompt berfungsi pada tugas apa pun hari ini. Versi `/goal` dan Stop hook adalah yang memungkinkan run tanpa pengawasan selesai dengan benar tanpa Anda.


209 Untuk mendapatkan lebih sedikit prompt tanpa mengorbankan kontrol, pra-setujui alat yang Anda percayai dengan `/permissions` dan biarkan perintah sandboxed berjalan tanpa bertanya dengan `/sandbox`. Beralih ke mode Manual ketika Anda ingin menyetujui pengeditan dan perintah sendiri.209 Untuk mendapatkan lebih sedikit prompt tanpa mengorbankan kontrol, pra-setujui alat yang Anda percayai dengan `/permissions` dan biarkan perintah sandboxed berjalan tanpa bertanya dengan `/sandbox`. Beralih ke mode Manual ketika Anda ingin menyetujui pengeditan dan perintah sendiri.

210</Tip>210</Tip>

211 211 

212Di paket Pro, Max, dan Team, auto mode adalah [mode izin awal bawaan](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk sesi terminal interaktif dan VS Code: model classifier terpisah meninjau sebagian besar tindakan alih-alih Anda dan hanya memblokir apa yang terlihat berisiko, seperti eskalasi cakupan, infrastruktur yang tidak dikenal, atau tindakan yang didorong konten bermusuhan.212Dengan Claude Code v2.1.283 atau lebih baru, auto mode adalah [mode izin awal bawaan](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk sesi terminal interaktif dan VS Code: model classifier terpisah meninjau sebagian besar tindakan alih-alih Anda dan hanya memblokir apa yang terlihat berisiko, seperti eskalasi cakupan, infrastruktur yang tidak dikenal, atau tindakan yang didorong konten bermusuhan. Pada versi sebelumnya, auto mode adalah mode izin awal bawaan hanya pada paket Pro, Max, dan Team.

213 213 

214Dalam mode Manual, mode izin awal bawaan di paket lain, Claude Code meminta sebelum tindakan yang mungkin memodifikasi sistem Anda: penulisan file, perintah Bash, alat MCP. Itu aman tetapi membosankan. Setelah persetujuan kesepuluh Anda mengklik saja daripada meninjau. Dua alat mengurangi gangguan tersebut dalam mode Manual dan berlaku dalam mode auto juga:214Dalam mode Manual, Claude Code meminta sebelum tindakan yang mungkin memodifikasi sistem Anda: penulisan file, perintah Bash, alat MCP. Itu aman tetapi membosankan. Setelah persetujuan kesepuluh Anda mengklik saja daripada meninjau. Dua alat mengurangi gangguan tersebut dalam mode Manual dan berlaku dalam mode auto juga:

215 215 

216* **Allowlist izin**: izinkan alat spesifik yang Anda tahu aman, seperti `npm run lint` atau `git commit`216* **Allowlist izin**: izinkan alat spesifik yang Anda tahu aman, seperti `npm run lint` atau `git commit`

217* **Sandboxing**: aktifkan isolasi tingkat OS yang membatasi akses sistem file dan jaringan, memungkinkan Claude bekerja lebih bebas dalam batas yang ditentukan217* **Sandboxing**: aktifkan isolasi tingkat OS yang membatasi akses sistem file dan jaringan, memungkinkan Claude bekerja lebih bebas dalam batas yang ditentukan

channels.md +1 −1

Details

359 359 

360Selama pratinjau, `--channels` hanya menerima plugin dari daftar penyetujuan yang dipertahankan Anthropic, atau dari daftar penyetujuan organisasi Anda jika admin telah mengatur [`allowedChannelPlugins`](#restrict-which-channel-plugins-can-run). Plugin channel di [claude-plugins-official](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins) adalah set yang disetujui secara default. Jika Anda melewatkan sesuatu yang tidak ada di daftar penyetujuan yang efektif, Claude Code dimulai secara normal tetapi channel tidak mendaftar, dan pemberitahuan startup memberi tahu Anda mengapa.360Selama pratinjau, `--channels` hanya menerima plugin dari daftar penyetujuan yang dipertahankan Anthropic, atau dari daftar penyetujuan organisasi Anda jika admin telah mengatur [`allowedChannelPlugins`](#restrict-which-channel-plugins-can-run). Plugin channel di [claude-plugins-official](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins) adalah set yang disetujui secara default. Jika Anda melewatkan sesuatu yang tidak ada di daftar penyetujuan yang efektif, Claude Code dimulai secara normal tetapi channel tidak mendaftar, dan pemberitahuan startup memberi tahu Anda mengapa.

361 361 

362Untuk menguji channel yang Anda bangun, gunakan `--dangerously-load-development-channels`. Lihat [Test during the research preview](/docs/id/channels-reference#test-during-the-research-preview) untuk informasi tentang menguji channels khusus yang Anda bangun.362Untuk menguji channel yang Anda bangun, teruskan ke `--dangerously-load-development-channels` dalam bentuk `plugin:<name>@<marketplace>` atau `server:<name>`. Lihat [Test during the research preview](/docs/id/channels-reference#test-during-the-research-preview) untuk informasi tentang menguji channels khusus yang Anda bangun.

363 363 

364Laporkan masalah atau umpan balik di [repositori GitHub Claude Code](https://github.com/anthropics/claude-code/issues).364Laporkan masalah atau umpan balik di [repositori GitHub Claude Code](https://github.com/anthropics/claude-code/issues).

365 365 

Details

804 804 

805Untuk membuat channel Anda dapat diinstal dan dibagikan, bungkus dalam [plugin](/docs/id/plugins/overview) dan publikasikan ke [marketplace](/docs/id/plugins/overview). Pengguna menginstalnya dengan `/plugin install`, kemudian mengaktifkannya per sesi dengan `--channels plugin:<name>@<marketplace>`.805Untuk membuat channel Anda dapat diinstal dan dibagikan, bungkus dalam [plugin](/docs/id/plugins/overview) dan publikasikan ke [marketplace](/docs/id/plugins/overview). Pengguna menginstalnya dengan `/plugin install`, kemudian mengaktifkannya per sesi dengan `--channels plugin:<name>@<marketplace>`.

806 806 

807Channel yang dipublikasikan ke marketplace Anda sendiri masih memerlukan `--dangerously-load-development-channels` untuk berjalan, karena tidak ada di [approved allowlist](/docs/id/channels#supported-channels). Allowlist default adalah plugin channel di `claude-plugins-official`. [Formulir pengajuan in-app](/docs/id/plugins/publish#submit-to-the-community-marketplace) menambahkan plugin ke community marketplace, yang tidak ada di allowlist channel.807Channel yang dipublikasikan ke marketplace Anda sendiri masih memerlukan `--dangerously-load-development-channels` untuk berjalan, karena tidak ada di [approved allowlist](/docs/id/channels#supported-channels). Allowlist default adalah plugin channel di `claude-plugins-official`. Community marketplace tidak ada di allowlist channel.

808 808 

809Jika Anda bekerja dengan kontak partner Anthropic, hubungi mereka untuk mengoordinasikan listing official-marketplace. Pada rencana Team dan Enterprise, admin dapat sebagai gantinya menyertakan plugin Anda dalam daftar [`allowedChannelPlugins`](/docs/id/channels#restrict-which-channel-plugins-can-run) organisasi, yang menggantikan allowlist Anthropic default.809Jika Anda bekerja dengan kontak partner Anthropic, hubungi mereka untuk mengoordinasikan listing official-marketplace. Pada rencana Team dan Enterprise, admin dapat sebagai gantinya menyertakan plugin Anda dalam daftar [`allowedChannelPlugins`](/docs/id/channels#restrict-which-channel-plugins-can-run) organisasi, yang menggantikan allowlist Anthropic default.

810 810 

Details

114 Pesan yang dikirim di tengah giliran tidak di-checkpoint114 Pesan yang dikirim di tengah giliran tidak di-checkpoint

115</h3>115</h3>

116 116 

117Ketika pesan yang Anda [antri saat Claude bekerja](/docs/id/interactive-mode#queue-messages-while-claude-works) mencapai Claude dalam giliran yang sedang berjalan, pesan tersebut bergabung dengan giliran itu alih-alih memulai yang baru. Pesan muncul dalam percakapan, tetapi Claude Code tidak membuat checkpoint untuknya, dan menu rewind tidak mencantumnya. Pesan antri yang Claude Code kirim sebagai gilirannya sendiri mendapatkan checkpoint seperti biasa.117Ketika pesan yang Anda [antri saat Claude bekerja](/docs/id/interactive-mode#queue-messages-while-claude-works) mencapai Claude dalam giliran yang sedang berjalan, pesan tersebut bergabung dengan giliran itu alih-alih memulai yang baru. Pesan muncul dalam percakapan, tetapi Claude Code tidak membuat checkpoint untuknya, dan menu rewind tidak mencantumnya. Pesan antri yang Claude Code kirim sebagai bagian dari giliran baru mendapatkan checkpoint seperti biasa, termasuk ketika beberapa pesan antri [berbagi giliran itu](/docs/id/interactive-mode#when-claude-code-sends-what-you-queued).

118 118 

119Untuk menghapus pesan seperti itu, atau membatalkan edit yang Claude buat setelahnya, rewind ke prompt yang memulai giliran. Itu melakukan rewind seluruh giliran, termasuk pekerjaan yang Claude lakukan sebelum pesan Anda tiba.119Untuk menghapus pesan seperti itu, atau membatalkan edit yang Claude buat setelahnya, rewind ke prompt yang memulai giliran. Itu melakukan rewind seluruh giliran, termasuk pekerjaan yang Claude lakukan sebelum pesan Anda tiba.

120 120 

Details

490 * Dalam sesi tertanam yang [diluncurkan Claude Desktop](#connect-claude-desktop), CLI mengirimkan ekspor ke `OTEL_EXPORTER_OTLP_ENDPOINT` yang dikonfigurasi. CLI melampirkan token sesi gateway ke ekspor tersebut hanya ketika titik akhir itu menunjuk ke gateway itu sendiri.490 * Dalam sesi tertanam yang [diluncurkan Claude Desktop](#connect-claude-desktop), CLI mengirimkan ekspor ke `OTEL_EXPORTER_OTLP_ENDPOINT` yang dikonfigurasi. CLI melampirkan token sesi gateway ke ekspor tersebut hanya ketika titik akhir itu menunjuk ke gateway itu sendiri.

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

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

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

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

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

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

Details

170| `password` | Tidak | Database credential. Atur di sini daripada di `postgres_url` jadi credential tetap keluar dari URL. Menerima karakter apa pun dan mengambil precedence atas URL credentials. |170| `password` | Tidak | Database credential. Atur di sini daripada di `postgres_url` jadi credential tetap keluar dari URL. Menerima karakter apa pun dan mengambil precedence atas URL credentials. |

171| `max_connections` | Tidak | Postgres connection-pool size per replica. Default `5`, yang konservatif dan ramah ke shared databases. Dengan [spend limits](#admin) diaktifkan, hot path melakukan beberapa operasi per inference request, jadi naikkan untuk dedicated database di bawah load, dan simpan replicas × ini di bawah database's `max_connections`. |171| `max_connections` | Tidak | Postgres connection-pool size per replica. Default `5`, yang konservatif dan ramah ke shared databases. Dengan [spend limits](#admin) diaktifkan, hot path melakukan beberapa operasi per inference request, jadi naikkan untuk dedicated database di bawah load, dan simpan replicas × ini di bawah database's `max_connections`. |

172| `connect_timeout_seconds` | Tidak | Detik gateway menunggu ketika membuka koneksi Postgres. Seluruh number dari `1` hingga `60`, default `5`. Naikkan jika upaya koneksi timeout ketika instance gateway baru dimulai. Memerlukan Claude Code v2.1.274 atau lebih baru di server gateway. Versi sebelumnya menolak untuk memulai ketika key diatur. |172| `connect_timeout_seconds` | Tidak | Detik gateway menunggu ketika membuka koneksi Postgres. Seluruh number dari `1` hingga `60`, default `5`. Naikkan jika upaya koneksi timeout ketika instance gateway baru dimulai. Memerlukan Claude Code v2.1.274 atau lebih baru di server gateway. Versi sebelumnya menolak untuk memulai ketika key diatur. |

173| `readiness_grace_seconds` | Tidak | Berapa banyak detik `/readyz` terus melaporkan ready setelah Postgres berhenti menjawab. Seluruh number dari `0` hingga `3600`, default `0`. Lihat [Outage behavior](/docs/id/claude-apps-gateway-deploy#outage-behavior) untuk cara memilih value. Memerlukan Claude Code v2.1.282 atau lebih baru di server gateway. Versi sebelumnya menolak untuk memulai ketika key diatur. |

173 174 

174Untuk local development, arahkan `postgres_url` ke throwaway Postgres container, misalnya `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.175Untuk local development, arahkan `postgres_url` ke throwaway Postgres container, misalnya `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.

175 176 


947* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`948* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

948* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`949* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`

949 950 

951Ketika Anda [menambahkan label Anda sendiri](#add-your-own-labels), gateway juga mendorong `OTEL_RESOURCE_ATTRIBUTES`.

952 

950Sebelum Claude Code v2.1.265 di server gateway, gateway mendorong ketiga selector exporter sebagai `otlp`, termasuk untuk signal yang tidak ada tujuan yang opt into.953Sebelum Claude Code v2.1.265 di server gateway, gateway mendorong ketiga selector exporter sebagai `otlp`, termasuk untuk signal yang tidak ada tujuan yang opt into.

951 954 

952Endpoint yang didorong dibangun dari URL publik, jadi metrik dan log tidak memerlukan konfigurasi OTEL dari developer atau kebijakan.955Endpoint yang didorong dibangun dari URL publik, jadi metrik dan log tidak memerlukan konfigurasi OTEL dari developer atau kebijakan.


964 967 

965Kedua encoding OTLP protobuf dan JSON direlai, dan backend apa pun yang kompatibel dengan OpenTelemetry bekerja sebagai tujuan.968Kedua encoding OTLP protobuf dan JSON direlai, dan backend apa pun yang kompatibel dengan OpenTelemetry bekerja sebagai tujuan.

966 969 

970<h4 id="add-your-own-labels">

971 Add your own labels

972</h4>

973 

974Untuk menempatkan label tetap seperti `service.namespace` atau `deployment.environment.name` pada telemetry sesi yang masuk melalui gateway, atur `telemetry.resource_attributes`. Setiap label adalah atribut resource OpenTelemetry, dan setiap tujuan menerima label yang sama.

975 

976Sesi mendapat label hanya ketika Anda juga mengatur `telemetry.forward_to` dan `listen.public_url`. Contoh ini menambahkan dua label:

977 

978```yaml theme={null}

979telemetry:

980 forward_to:

981 - url: https://otel-collector.internal.example.com

982 resource_attributes:

983 service.namespace: claude

984 deployment.environment.name: prod

985```

986 

987Gateway menolak untuk memulai ketika label melanggar salah satu aturan ini, dan error startup menamai label:

988 

989* Nama menggunakan hanya huruf, digit, `.`, `_`, dan `-`

990* Nama tidak dicadangkan. Dibandingkan dalam huruf apa pun, nama yang dicadangkan adalah semua yang dimulai dengan `user.`, `enduser.`, atau `identity.`, ditambah `service.name`, `service.version`, `claude.deployment_mode`, `host.arch`, `os.type`, `os.version`, dan `wsl.version`

991* Nilai adalah printable ASCII non-kosong tanpa spasi dan tidak ada `, ; = \ " %`

992* Nilai paling banyak 255 karakter seperti yang dihitung gateway setelah percent-encoding, jadi `/`, `:`, dan `@` masing-masing dihitung sebagai tiga

993* Nilai adalah teks, jadi kutip angka, `true`, atau `false`

994 

995Anda memerlukan Claude Code v2.1.281 atau lebih baru di server gateway untuk mengatur `telemetry.resource_attributes`. Gateway sebelumnya menolak untuk memulai ketika menemukan kunci. Upgrade setiap replika sebelum Anda menambahkan kunci, dan hapus kunci sebelum Anda rollback ke versi sebelumnya.

996 

997Sesi terminal yang masuk melalui `/login` menerima label sebagai `OTEL_RESOURCE_ATTRIBUTES`, didorong dengan [variabel telemetry](#telemetry) lainnya. Jika Anda mengatur `OTEL_RESOURCE_ATTRIBUTES` dalam blok `env` kebijakan, sesi terminal yang cocok dengan kebijakan itu mendapat nilai itu alih-alih label. Claude Desktop menerima label dari gateway bersama `user.email` dan atribut identitas lainnya.

998 

999Claude Code juga menyalin setiap label ke setiap data point metrik, jadi Anda dapat memfilter metrik berdasarkannya dalam backend yang tidak mengindeks atribut resource. Untuk mematikan salinan itu, lihat [Metrics cardinality control](/docs/id/monitoring-usage#metrics-cardinality-control).

1000 

967<h4 id="export-directly-to-your-collector">1001<h4 id="export-directly-to-your-collector">

968 Export directly to your collector1002 Export directly to your collector

969</h4>1003</h4>


1034 1068 

1035Blok `load_test_mode` memungkinkan Anda load test gateway tanpa memanggil penyedia model. Saat diaktifkan, gateway membangun dan menandatangani setiap permintaan penyedia seperti biasa, membuangnya alih-alih mengirimkannya, dan streaming respons kaleng kembali melalui jalur respons normalnya. Respons adalah teks pengisi yang dimulai dengan kalimat mengatakan itu kaleng.1069Blok `load_test_mode` memungkinkan Anda load test gateway tanpa memanggil penyedia model. Saat diaktifkan, gateway membangun dan menandatangani setiap permintaan penyedia seperti biasa, membuangnya alih-alih mengirimkannya, dan streaming respons kaleng kembali melalui jalur respons normalnya. Respons adalah teks pengisi yang dimulai dengan kalimat mengatakan itu kaleng.

1036 1070 

1037Memerlukan v2.1.283 atau lebih baru. Versi sebelumnya menolak untuk memulai ketika kunci diatur, jadi upgrade setiap replika sebelum Anda menambahkan blok dan hapus sebelum Anda rollback.1071Memerlukan Claude Code v2.1.282 atau lebih baru di server gateway. Versi sebelumnya menolak untuk memulai ketika menemukan kunci. Upgrade setiap replika sebelum Anda menambahkan blok, dan hapus blok sebelum Anda rollback.

1038 1072 

1039Contoh di bawah mengaktifkan mode dengan default, respons 750 token output yang di-stream selama sekitar 10 detik:1073Contoh di bawah mengaktifkan mode dengan default, respons kira-kira 750 token teks yang di-stream selama sekitar 10 detik:

1040 1074 

1041```yaml theme={null}1075```yaml theme={null}

1042load_test_mode:1076load_test_mode:


1053 1087 

1054Load test dalam mode ini mencakup gateway, Postgres Anda, dan segalanya di depan gateway. Ini tidak mencakup batas, kecepatan, atau jalur jaringan penyedia.1088Load test dalam mode ini mencakup gateway, Postgres Anda, dan segalanya di depan gateway. Ini tidak mencakup batas, kecepatan, atau jalur jaringan penyedia.

1055 1089 

1056Saat mode diaktifkan, permintaan dapat membawa header `x-load-test-user` yang menyimpan angka bulat hingga tujuh digit, dan gateway menghitung setiap angka sebagai developer terpisah dengan email dan grup developer yang token-nya datang dengan permintaan. Berikan deployment load-test database kosong sendiri, karena gateway menolak untuk memulai dengan mode diaktifkan terhadap database di mana developer apa pun sudah menghabiskan apa pun.1090Tidak ada permintaan model yang dikirim ke penyedia, jadi CPU replika per permintaan adalah estimasi dan membaca lebih rendah dari produksi, yang juga mengenkripsi traffic-nya ke penyedia. Konfirmasi jumlah replika dengan pilot kecil terhadap penyedia nyata. Sebelum v2.1.283, estimasi membaca jauh lebih rendah.

1091 

1092Saat mode diaktifkan, permintaan dapat membawa header `x-load-test-user` yang menyimpan angka bulat hingga tujuh digit. Gateway menghitung setiap angka sebagai developer terpisah, dengan email dan grup developer yang token-nya datang dengan permintaan.

1093 

1094Berikan deployment load-test database kosong sendiri, karena gateway menolak untuk memulai dengan mode diaktifkan terhadap database di mana developer apa pun sudah menghabiskan apa pun.

1057 1095 

1058<Warning>1096<Warning>

1059 Jangan pernah mengaktifkan ini untuk gateway yang developer gunakan. Setiap permintaan mendapat respons kaleng dan tidak ada model yang dipanggil. Gateway mencatat peringatan `load_test_mode is on` saat boot dan menandai setiap event audit [`inference`](/docs/id/claude-apps-gateway-deploy#logs) dengan `load_test: true` saat mode diaktifkan.1097 Jangan pernah mengaktifkan ini untuk gateway yang developer gunakan. Setiap permintaan mendapat respons kaleng dan tidak ada model yang dipanggil. Gateway mencatat peringatan `load_test_mode is on` saat boot dan menandai setiap event audit [`inference`](/docs/id/claude-apps-gateway-deploy#logs) dengan `load_test: true` saat mode diaktifkan.


1111 postgres_url: ${GATEWAY_POSTGRES_URL}1149 postgres_url: ${GATEWAY_POSTGRES_URL}

1112 # max_connections: 51150 # max_connections: 5

1113 # connect_timeout_seconds: 51151 # connect_timeout_seconds: 5

1152 # readiness_grace_seconds: 300 # keep passing the readiness check through a database failover

1114 1153 

1115# Enables /v1/organizations/spend_limits (mirrors the Anthropic Admin API)1154# Enables /v1/organizations/spend_limits (mirrors the Anthropic Admin API)

1116# and per-developer spend enforcement on /v1/messages. Omit to disable.1155# and per-developer spend enforcement on /v1/messages. Omit to disable.


1238 1277 

1239Untuk Claude Desktop, atur key `bootstrapUrl` dalam [managed configuration](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop sendiri ke `<listen.public_url>/user/bootstrap`. Sign-in flow dan per-group policy kemudian cocok dengan CLI's setelah policy opt-in server-side dengan key `desktop`; tanpa opt-in, `/user/bootstrap` mengembalikan 404. Lihat [Claude Desktop overlay](#claude-desktop-overlay) untuk bagian server-side.1278Untuk Claude Desktop, atur key `bootstrapUrl` dalam [managed configuration](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop sendiri ke `<listen.public_url>/user/bootstrap`. Sign-in flow dan per-group policy kemudian cocok dengan CLI's setelah policy opt-in server-side dengan key `desktop`; tanpa opt-in, `/user/bootstrap` mengembalikan 404. Lihat [Claude Desktop overlay](#claude-desktop-overlay) untuk bagian server-side.

1240 1279 

1241Claude Code menghormati [`forceLoginGatewayUrl`](/docs/id/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/id/settings-reference#gatewayinternalnetworks), dan nilai `"gateway"` dari [`forceLoginMethod`](/docs/id/settings-reference#forceloginmethod) hanya dari managed source di mesin: `managed-settings.json`, plist macOS atau Windows HKLM registry, atau policy helper. Developer menetapkannya dalam `~/.claude/settings.json` mereka sendiri tidak memiliki efek, dan begitu juga menetapkannya dalam gateway payload.1280Claude Code menghormati [`forceLoginGatewayUrl`](/docs/id/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/id/settings-reference#gatewayinternalnetworks), dan nilai `"gateway"` dari [`forceLoginMethod`](/docs/id/settings-reference#forceloginmethod) hanya dari managed source di mesin: `managed-settings.json`, plist macOS atau Windows HKLM registry, atau policy helper. Menetapkannya dalam `~/.claude/settings.json` developer sendiri atau dalam gateway payload tidak mengonfigurasi gateway sign-in.

1281 

1282Tinggalkan `forceLoginMethod` dan `forceLoginOrgUUID` di luar payload. Claude Code masih membaca kedua keys dari payload untuk startup credential check-nya, jadi developer yang menyimpan credential yang dikeluarkan Anthropic di mesin mendapatkan startup exit yang dijelaskan di bawah [Administrator policy requires a Cloud gateway sign-in](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) bahkan setelah mereka sign in.

1242 1283 

1243<h2 id="related">1284<h2 id="related">

1244 Terkait1285 Terkait

Details

181 Kesehatan181 Kesehatan

182</h3>182</h3>

183 183 

184Gateway melayani `GET /healthz` sebagai probe liveness dan `GET /readyz` sebagai probe kesiapan; `/readyz` memverifikasi toko dapat dijangkau. Keduanya dikecualikan dari `access_control.allow_cidrs`, jadi probe terus bekerja pada pendengar yang terkunci.184Gateway melayani `GET /healthz` sebagai probe liveness dan `GET /readyz` sebagai probe kesiapan. `/readyz` memverifikasi toko dapat dijangkau. Jika Anda menetapkan [`store.readiness_grace_seconds`](/docs/id/claude-apps-gateway-config#store), `/readyz` terus melaporkan siap selama hingga banyak detik setelah toko berhenti menjawab.

185 

186Kedua endpoint dikecualikan dari `access_control.allow_cidrs`, jadi probe terus bekerja pada pendengar yang terkunci.

185 187 

186Dokumen penemuan OAuth di `/.well-known/oauth-authorization-server` juga mengembalikan `200` hanya setelah pemuatan konfigurasi, penemuan OIDC, konstruksi klien upstream, dan migrasi Postgres semua berhasil, jadi berfungsi ganda sebagai pemeriksaan boot end-to-end.188Dokumen penemuan OAuth di `/.well-known/oauth-authorization-server` juga mengembalikan `200` hanya setelah pemuatan konfigurasi, penemuan OIDC, konstruksi klien upstream, dan migrasi Postgres semua berhasil, jadi berfungsi ganda sebagai pemeriksaan boot end-to-end.

187 189 


217* **Sesi yang ada**: token pembawa memvalidasi secara lokal dengan rahasia JWT, penyegaran sesi tidak menyentuh toko, dan proses gateway masih dapat melayani inferensi219* **Sesi yang ada**: token pembawa memvalidasi secara lokal dengan rahasia JWT, penyegaran sesi tidak menyentuh toko, dan proses gateway masih dapat melayani inferensi

218* **Masuk baru**: gagal sampai Postgres pulih, karena aliran perangkat dan penghitung batas lajunya tinggal di Postgres220* **Masuk baru**: gagal sampai Postgres pulih, karena aliran perangkat dan penghitung batas lajunya tinggal di Postgres

219* **[Penegakan batas pengeluaran](/docs/id/claude-apps-gateway-spend-limits#postgres-availability)**: gagal terbuka secara default selama pemadaman, jadi inferensi masih mengalir; balikkan ke gagal tertutup jika Anda lebih suka memblokir daripada menjalankan tanpa meter221* **[Penegakan batas pengeluaran](/docs/id/claude-apps-gateway-spend-limits#postgres-availability)**: gagal terbuka secara default selama pemadaman, jadi inferensi masih mengalir; balikkan ke gagal tertutup jika Anda lebih suka memblokir daripada menjalankan tanpa meter

220* **Kesiapan**: `/readyz` melaporkan tidak siap selama pemadaman, jadi orchestrator yang gating lalu lintas pada kesiapan menghapus setiap replika dari rotasi sekaligus. Dalam topologi itu semua lalu lintas, termasuk inferensi yang dapat masih dilayani gateway, gagal di penyeimbang beban sampai Postgres pulih. Probe liveness di `/healthz` terus lulus, jadi replika tidak dimulai ulang. Arahkan probe kesiapan ke `/healthz` sebagai gantinya jika Anda lebih suka pengembang yang masuk terus bekerja melalui pemadaman toko; biayanya adalah masuk baru gagal terhadap replika yang masih melaporkan siap.222* **Kesiapan**: secara default `/readyz` melaporkan tidak siap segera setelah Postgres tidak dapat dijangkau, jadi setiap replika gagal pemeriksaan kesiapannya sekaligus. Di mana lalu lintas hanya mencapai replika yang lulus pemeriksaan, semua lalu lintas, termasuk inferensi yang masih dapat dilayani gateway, gagal sampai Postgres pulih. Probe liveness di `/healthz` terus lulus sepanjang waktu.

223 

224Jika IdP Anda turun, sesi yang ada bekerja sampai `ttl_hours` dan masuk baru gagal. Penyegaran sesi mendapat jawaban coba-lagi dan berjalan setelah IdP kembali. Atur `ttl_hours` yang lebih lama jika IdP Anda memiliki jendela pemeliharaan yang sering.

225 

226<h4 id="readiness-grace-period">

227 Periode grace kesiapan

228</h4>

229 

230Untuk menjaga pengembang yang masuk tetap bekerja melalui pemadaman Postgres yang singkat seperti failover database, atur [`store.readiness_grace_seconds`](/docs/id/claude-apps-gateway-config#store) lebih lama dari waktu yang diperlukan failover, misalnya `300`. Dengan batas pengeluaran aktif dan perilaku gagal-terbuka default, permintaan melalui replika yang tetap siap tidak diukur sampai Postgres pulih, jadi simpan nilai serendah yang mencakup failover Anda. Jika Anda menetapkan [`enforcement.fail_closed_on_error: true`](/docs/id/claude-apps-gateway-config#enforcement), gateway menolak inferensi pengembang yang masuk dengan pesan `429` `spend limit unavailable` sampai Postgres pulih, bahkan sementara replika masih lulus pemeriksaan kesiapan mereka.

231 

232Pengaturan memerlukan Claude Code v2.1.282 atau lebih baru pada server gateway. Gateway yang lebih awal menolak untuk memulai ketika menemukan kunci, jadi upgrade setiap replika sebelum Anda menambahkannya. [Upgrade](#upgrades) mencakup rollback.

221 233 

222Jika IdP Anda turun, sesi yang ada bekerja sampai `ttl_hours`, login baru gagal, dan penyegaran sesi mendapat jawaban coba-lagi dan berjalan setelah IdP kembali. Atur `ttl_hours` yang lebih lama jika IdP Anda memiliki jendela pemeliharaan yang sering.234Jika Anda menunjukkan probe kesiapan ke `/healthz` sebagai gantinya, replika juga terus lulus melalui pemadaman, tetapi `/healthz` tidak pernah melaporkan tidak siap, jadi replika yang koneksi Postgres-nya tidak pulih terus lulus juga.

223 235 

224<h3 id="jwt-secret-rotation">236<h3 id="jwt-secret-rotation">

225 Rotasi rahasia JWT237 Rotasi rahasia JWT


357| Permintaan pengembang gagal dengan `Not signed in to the Cloud gateway — run /login.` | Pengaturan terkelola mesin menetapkan `forceLoginMethod: "gateway"` atau `forceLoginGatewayUrl`, dan sesi tidak memiliki masuk gateway. Login claude.ai yang tersisa tidak memenuhi persyaratan. | Minta pengembang menjalankan `/login` dan menyelesaikan masuk gateway. Lihat juga [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |369| Permintaan pengembang gagal dengan `Not signed in to the Cloud gateway — run /login.` | Pengaturan terkelola mesin menetapkan `forceLoginMethod: "gateway"` atau `forceLoginGatewayUrl`, dan sesi tidak memiliki masuk gateway. Login claude.ai yang tersisa tidak memenuhi persyaratan. | Minta pengembang menjalankan `/login` dan menyelesaikan masuk gateway. Lihat juga [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

358| Claude Desktop melaporkan bahwa konfigurasi bootstrap-nya tidak dapat diambil | `/user/bootstrap` mengembalikan 404: kebijakan yang cocok dengan pengguna tidak membawa kunci `desktop`, atau tidak ada kebijakan yang cocok. Log audit gateway mencatat setiap penolakan sebagai `desktop_bootstrap.denied` dengan alasannya. | Tambahkan blok `desktop` ke kebijakan yang cocok dengan pengguna, atau ke lapisan dasar `match: {}`; `desktop: {}` kosong sudah cukup. Lihat [overlay Claude Desktop](/docs/id/claude-apps-gateway-config#claude-desktop-overlay). |370| Claude Desktop melaporkan bahwa konfigurasi bootstrap-nya tidak dapat diambil | `/user/bootstrap` mengembalikan 404: kebijakan yang cocok dengan pengguna tidak membawa kunci `desktop`, atau tidak ada kebijakan yang cocok. Log audit gateway mencatat setiap penolakan sebagai `desktop_bootstrap.denied` dengan alasannya. | Tambahkan blok `desktop` ke kebijakan yang cocok dengan pengguna, atau ke lapisan dasar `match: {}`; `desktop: {}` kosong sudah cukup. Lihat [overlay Claude Desktop](/docs/id/claude-apps-gateway-config#claude-desktop-overlay). |

359| 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 |371| 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 |

360| Startup keluar dengan `Administrator policy requires a Cloud gateway sign-in on this machine` | Lingkungan pengembang menetapkan `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN`, pengaturan mereka mengonfigurasi [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper), atau kunci API dari login Claude Console sebelumnya masih tersimpan | Minta pengembang menghapus masing-masing yang berlaku: batalkan pengaturan variabel, hapus entri `apiKeyHelper`, atau jalankan `claude auth logout` untuk menghapus kunci yang tersimpan. Kemudian minta mereka memulai `claude` dan masuk dengan `/login`. Lihat juga [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |372| Startup keluar dengan `Administrator policy requires a Cloud gateway sign-in on this machine` | Lingkungan pengembang menetapkan `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN`, pengaturan mereka mengonfigurasi [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper), atau kunci API dari login Claude Console sebelumnya masih tersimpan | Minta pengembang menghapus masing-masing yang berlaku: batalkan pengaturan variabel, hapus entri `apiKeyHelper`, atau jalankan `claude auth logout` untuk menghapus kunci yang tersimpan. Sesi yang memilih penyedia cloud dengan `CLAUDE_CODE_USE_*` kemudian dimulai tanpa masuk; untuk setiap sesi lainnya, minta mereka memulai `claude` dan masuk dengan `/login`. Lihat juga [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

361| Startup atau `/login` melaporkan `Claude Code may not be enabled for your organization` setelah 403 pada beban pengaturan terkelola | Gateway, atau sesuatu di depannya, menjawab permintaan `/managed/settings` dengan 403. Rute pengaturan gateway sendiri tidak pernah menjawab 403. Status berasal dari pemeriksaan IP [`access_control`](/docs/id/claude-apps-gateway-config#http-tuning) atau dari proxy atau WAF di depan gateway. Log audit mencatat penolakan pemeriksaan IP sebagai `access.denied` dengan alasannya. Pengembang tetap masuk. | Periksa log audit untuk `access.denied` pada waktu kegagalan dan perbaiki daftar `access_control` atau front end, lalu minta pengembang memulai `claude` lagi |373| Startup atau `/login` melaporkan `Claude Code may not be enabled for your organization` setelah 403 pada beban pengaturan terkelola | Gateway, atau sesuatu di depannya, menjawab permintaan `/managed/settings` dengan 403. Rute pengaturan gateway sendiri tidak pernah menjawab 403. Status berasal dari pemeriksaan IP [`access_control`](/docs/id/claude-apps-gateway-config#http-tuning) atau dari proxy atau WAF di depan gateway. Log audit mencatat penolakan pemeriksaan IP sebagai `access.denied` dengan alasannya. Pengembang tetap masuk. | Periksa log audit untuk `access.denied` pada waktu kegagalan dan perbaiki daftar `access_control` atau front end, lalu minta pengembang memulai `claude` lagi |

362| CLI `/login`: `The gateway is limiting sign-in attempts right now`, atau `Request failed with status code 429` pada versi yang lebih lama. Halaman `/device` mungkin menampilkan `Too many attempts` kepada pengembang yang belum pernah mencoba sebelumnya | Batas laju masuk per-IP tercapai. Baik `listen.trusted_proxies` tidak mencakup penyeimbang beban, jadi setiap pengembang berbagi alamatnya, atau banyak pengembang berbagi alamat keluar NAT atau VPN. Acara audit dengan `result: rate_limited` menunjukkan satu atau beberapa nilai `client_ip` yang sama. | Atur `listen.trusted_proxies` ke rentang sumber penyeimbang beban terlebih dahulu, lalu naikkan `rate_limits` jika pengembang masih berbagi alamat. Lihat [Peluncuran besar-besaran](#large-rollouts). |374| CLI `/login`: `The gateway is limiting sign-in attempts right now`, atau `Request failed with status code 429` pada versi yang lebih lama. Halaman `/device` mungkin menampilkan `Too many attempts` kepada pengembang yang belum pernah mencoba sebelumnya | Batas laju masuk per-IP tercapai. Baik `listen.trusted_proxies` tidak mencakup penyeimbang beban, jadi setiap pengembang berbagi alamatnya, atau banyak pengembang berbagi alamat keluar NAT atau VPN. Acara audit dengan `result: rate_limited` menunjukkan satu atau beberapa nilai `client_ip` yang sama. | Atur `listen.trusted_proxies` ke rentang sumber penyeimbang beban terlebih dahulu, lalu naikkan `rate_limits` jika pengembang masih berbagi alamat. Lihat [Peluncuran besar-besaran](#large-rollouts). |

363| 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](/docs/id/claude-apps-gateway#prerequisites). Jika alamat adalah ruang publik yang dimiliki dan digunakan organisasi Anda secara internal, [deklarasikan blok itu](/docs/id/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) sebagai gantinya. |375| 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](/docs/id/claude-apps-gateway#prerequisites). Jika alamat adalah ruang publik yang dimiliki dan digunakan organisasi Anda secara internal, [deklarasikan blok itu](/docs/id/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) sebagai gantinya. |

Details

255 255 

256 store:256 store:

257 postgres_url: ${GATEWAY_POSTGRES_URL} # EKS: ${file:/secrets/postgres-url}257 postgres_url: ${GATEWAY_POSTGRES_URL} # EKS: ${file:/secrets/postgres-url}

258 # readiness_grace_seconds: 300 # keep passing the health check

259 # through an RDS failover

258 260 

259 upstreams:261 upstreams:

260 - provider: bedrock262 - provider: bedrock


423 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"425 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"

424 ```426 ```

425 427 

426 Periode ketenangan 60 detik memberi tugas dingin waktu untuk menarik gambar, terhubung ke toko, dan menjawab pemeriksaan kesehatan pertamanya sebelum ECS mulai menghitung kegagalan terhadap deployment. Pemeriksaan kesehatan grup target di `GET /readyz` memverifikasi toko dapat dijangkau, jadi tugas yang tidak dapat mencapai Postgres tidak pernah memasuki rotasi; lihat [Perilaku Pemadaman](/docs/id/claude-apps-gateway-deploy#outage-behavior) untuk tradeoff dan alternatif `/healthz`.428 Periode ketenangan 60 detik memberi tugas dingin waktu untuk menarik gambar, terhubung ke toko, dan menjawab pemeriksaan kesehatan pertamanya sebelum ECS mulai menghitung kegagalan terhadap deployment.

429 

430 Pemeriksaan kesehatan grup target di `GET /readyz` memverifikasi toko dapat dijangkau, jadi tugas yang tidak dapat mencapai Postgres tidak pernah memasuki rotasi. Untuk menjaga tugas melewati pemeriksaan melalui pemadaman database singkat seperti failover RDS, atur `store.readiness_grace_seconds` seperti yang dijelaskan dalam [Perilaku Pemadaman](/docs/id/claude-apps-gateway-deploy#outage-behavior), yang juga mencakup alternatif `/healthz`.

427 431 

428 Tugas berjalan di subnet pribadi tanpa IP publik, jadi semua egress (ke Bedrock, IdP Anda, Secrets Manager, ECR, dan CloudWatch Logs) melalui gateway NAT. Untuk menjaga lalu lintas Bedrock dari jalur publik, buat endpoint VPC antarmuka `bedrock-runtime` dan arahkan `base_url` upstream ke sana, seperti yang ditunjukkan dalam [referensi upstream Bedrock](/docs/id/claude-apps-gateway-config#amazon-bedrock); IdP masih memerlukan egress internet.432 Tugas berjalan di subnet pribadi tanpa IP publik, jadi semua egress (ke Bedrock, IdP Anda, Secrets Manager, ECR, dan CloudWatch Logs) melalui gateway NAT. Untuk menjaga lalu lintas Bedrock dari jalur publik, buat endpoint VPC antarmuka `bedrock-runtime` dan arahkan `base_url` upstream ke sana, seperti yang ditunjukkan dalam [referensi upstream Bedrock](/docs/id/claude-apps-gateway-config#amazon-bedrock); IdP masih memerlukan egress internet.

429 433 

Details

86 86 

87Kueri pra-pemeriksaan Postgres dengan batas waktu dua detik. Jika toko tidak dapat dijangkau atau waktu habis, penegakan gagal terbuka secara default: permintaan dilanjutkan, gateway mencatat peringatan, dan respons tidak membawa header `anthropic-ratelimit-unified-*`. Atur [`enforcement.fail_closed_on_error: true`](/docs/id/claude-apps-gateway-config#enforcement) untuk gagal tertutup sebagai gantinya, yang mengembalikan `429 billing_error` yang sama tetapi dengan pesan `spend limit unavailable` dan tanpa periode, waktu reset, atau header `retry-after`. Gagal-terbuka menjaga pemadaman toko agar tidak menjadi pemadaman inferensi; gagal-tertutup menjamin tidak ada pengeluaran yang tidak diukur.87Kueri pra-pemeriksaan Postgres dengan batas waktu dua detik. Jika toko tidak dapat dijangkau atau waktu habis, penegakan gagal terbuka secara default: permintaan dilanjutkan, gateway mencatat peringatan, dan respons tidak membawa header `anthropic-ratelimit-unified-*`. Atur [`enforcement.fail_closed_on_error: true`](/docs/id/claude-apps-gateway-config#enforcement) untuk gagal tertutup sebagai gantinya, yang mengembalikan `429 billing_error` yang sama tetapi dengan pesan `spend limit unavailable` dan tanpa periode, waktu reset, atau header `retry-after`. Gagal-terbuka menjaga pemadaman toko agar tidak menjadi pemadaman inferensi; gagal-tertutup menjamin tidak ada pengeluaran yang tidak diukur.

88 88 

89Gagal-terbuka hanya membantu saat penyeimbang beban atau orchestrator Anda masih merutekan lalu lintas ke gateway. Lihat [Perilaku pemadaman](/docs/id/claude-apps-gateway-deploy#outage-behavior) untuk `store.readiness_grace_seconds`, yang menjaga replika melewati pemeriksaan kesiapan mereka melalui pemadaman singkat.

90 

89<h3 id="usage-warnings-in-claude-code">91<h3 id="usage-warnings-in-claude-code">

90 Peringatan penggunaan di Claude Code92 Peringatan penggunaan di Claude Code

91</h3>93</h3>

Details

61 61 

62Thread dalam [project](/docs/id/claude-projects) memerlukan Claude GitHub App diinstal di setiap repositori yang mereka kloning, metode mana pun yang Anda gunakan untuk terhubung. Lihat [Set up GitHub access](/docs/id/claude-projects#set-up-github-access).62Thread dalam [project](/docs/id/claude-projects) memerlukan Claude GitHub App diinstal di setiap repositori yang mereka kloning, metode mana pun yang Anda gunakan untuk terhubung. Lihat [Set up GitHub access](/docs/id/claude-projects#set-up-github-access).

63 63 

64Dalam lingkungan yang dihosting Anthropic, kredensial GitHub Anda tetap terenkripsi di server Anthropic dan tidak pernah masuk ke VM sesi. Operasi GitHub dari VM melewati [GitHub proxy](/docs/id/cloud-environments#github-proxy), yang melampirkan kredensial di sisi server.

65 

64Untuk cara `/schedule` memeriksa akses repositori sebelum membuat routine, lihat [Repositories and branch permissions](/docs/id/routines#repositories-and-branch-permissions). Lihat [Connect from your terminal](/docs/id/web-quickstart#connect-from-your-terminal) untuk panduan `/web-setup`, termasuk apa yang disimpan `/web-setup` dan cara menghapusnya.66Untuk cara `/schedule` memeriksa akses repositori sebelum membuat routine, lihat [Repositories and branch permissions](/docs/id/routines#repositories-and-branch-permissions). Lihat [Connect from your terminal](/docs/id/web-quickstart#connect-from-your-terminal) untuk panduan `/web-setup`, termasuk apa yang disimpan `/web-setup` dan cara menghapusnya.

65 67 

66Quick web setup adalah pengaturan organisasi yang memungkinkan anggota menghubungkan GitHub dengan `/web-setup`, melewati prompt instalasi Claude GitHub App selama onboarding browser, dan membuat onboarding browser membuat lingkungan [**Default**](/docs/id/cloud-environments#the-default-environment) untuk mereka alih-alih menampilkan formulir lingkungan. Pada paket Team dan Enterprise, ini dimatikan secara default, yang menyembunyikan `/web-setup`. [Owner](/docs/id/server-managed-settings#access-control) mengaktifkannya dengan toggle **Quick web setup** di [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code).68Quick web setup adalah pengaturan organisasi yang memungkinkan anggota menghubungkan GitHub dengan `/web-setup`, melewati prompt instalasi Claude GitHub App selama onboarding browser, dan membuat onboarding browser membuat lingkungan [**Default**](/docs/id/cloud-environments#the-default-environment) untuk mereka alih-alih menampilkan formulir lingkungan. Pada paket Team dan Enterprise, ini dimatikan secara default, yang menyembunyikan `/web-setup`. [Owner](/docs/id/server-managed-settings#access-control) mengaktifkannya dengan toggle **Quick web setup** di [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code).


135 137 

136Ketika Anda menjalankan `claude --cloud` dari repositori yang tidak memiliki remote git, atau dari repositori github.com yang Claude GitHub App tidak diinstal, Claude Code membundel repositori lokal Anda dan mengunggahnya langsung ke sesi cloud. Ini berlaku bahkan jika Anda menghubungkan GitHub dengan `/web-setup`. Bundle mencakup riwayat repositori lengkap Anda di semua cabang, ditambah perubahan yang tidak dicommit ke file yang dilacak.138Ketika Anda menjalankan `claude --cloud` dari repositori yang tidak memiliki remote git, atau dari repositori github.com yang Claude GitHub App tidak diinstal, Claude Code membundel repositori lokal Anda dan mengunggahnya langsung ke sesi cloud. Ini berlaku bahkan jika Anda menghubungkan GitHub dengan `/web-setup`. Bundle mencakup riwayat repositori lengkap Anda di semua cabang, ditambah perubahan yang tidak dicommit ke file yang dilacak.

137 139 

138Di macOS, Linux, dan WSL, Claude Code meninggalkan perubahan yang tidak dicommit ke file bernama seperti kredensial atau kunci dari unggahan dan memberi nama file yang ditinggalkannya. Ini mencakup file `.env`, file Terraform `*.tfvars`, dan file kunci seperti `id_rsa` dan `*.pem`. Sesi dimulai dengan versi yang dicommit dari masing-masing, atau tanpa file jika tidak ada yang dicommit. Dalam worktree tertaut, submodul, atau tata letak serupa, Claude Code mengunggah perubahan ini dengan sisanya dan memberi nama file yang diunggahnya.140Di macOS, Linux, dan WSL, Claude Code meninggalkan perubahan yang tidak dicommit ke file bernama seperti kredensial atau kunci dari unggahan dan memberi nama file yang ditinggalkannya. Ini mencakup file `.env`, file Terraform `*.tfvars`, dan file kunci seperti `id_rsa` dan `*.pem`. Sesi dimulai dengan versi yang dicommit dari masing-masing, atau tanpa file jika tidak ada yang dicommit.

139 141 

140Untuk mengunggah bundle bahkan ketika Claude Code akan mengkloning dari remote, atur `CCR_FORCE_BUNDLE=1`:142Untuk mengunggah bundle bahkan ketika Claude Code akan mengkloning dari remote, atur `CCR_FORCE_BUNDLE=1`:

141 143 


429Sebelum mengandalkan sesi cloud untuk alur kerja, pertimbangkan batasan ini:431Sebelum mengandalkan sesi cloud untuk alur kerja, pertimbangkan batasan ini:

430 432 

431* **Batas laju**: sesi cloud berbagi batas laju dengan semua penggunaan Claude dan Claude Code lainnya dalam akun Anda. Menjalankan beberapa tugas secara paralel mengonsumsi lebih banyak batas laju secara proporsional. Tidak ada biaya komputasi terpisah untuk VM cloud.433* **Batas laju**: sesi cloud berbagi batas laju dengan semua penggunaan Claude dan Claude Code lainnya dalam akun Anda. Menjalankan beberapa tugas secara paralel mengonsumsi lebih banyak batas laju secara proporsional. Tidak ada biaya komputasi terpisah untuk VM cloud.

434* **Batas waktu**: perintah yang dijalankan Claude dan hook SessionStart memiliki batas waktu default yang dapat Anda ubah, dan skrip setup disimpan dalam cache hanya ketika selesai dalam waktu kurang lebih lima menit. Lihat [Batas waktu](/docs/id/cloud-environments#time-limits)

432* **Autentikasi repositori**: Anda hanya dapat menarik sesi cloud ke terminal Anda saat Anda diautentikasi ke akun yang sama435* **Autentikasi repositori**: Anda hanya dapat menarik sesi cloud ke terminal Anda saat Anda diautentikasi ke akun yang sama

433* **Pembatasan platform**: kloning repositori dan pembuatan pull request memerlukan GitHub. Instans [GitHub Enterprise Server](/docs/id/github-enterprise-server) self-hosted didukung untuk paket Team dan Enterprise. Anda dapat mengirim repositori GitLab, Bitbucket, atau non-GitHub lainnya ke sesi cloud sebagai [bundle lokal](#send-local-repositories-without-github) dengan menetapkan `CCR_FORCE_BUNDLE=1`, tetapi sesi tidak dapat mendorong hasil kembali ke remote tersebut436* **Pembatasan platform**: kloning repositori dan pembuatan pull request memerlukan GitHub. Instans [GitHub Enterprise Server](/docs/id/github-enterprise-server) self-hosted didukung untuk paket Team dan Enterprise. Anda dapat mengirim repositori GitLab, Bitbucket, atau non-GitHub lainnya ke sesi cloud sebagai [bundle lokal](#send-local-repositories-without-github) dengan menetapkan `CCR_FORCE_BUNDLE=1`, tetapi sesi tidak dapat mendorong hasil kembali ke remote tersebut

434* **Daftar putih IP organisasi**: sesi cloud memanggil API Anthropic dari infrastruktur yang dikelola Anthropic, bukan jaringan Anda, sementara sesi di [lingkungan self-hosted](/docs/id/self-hosted-environments) memanggilnya dari jaringan Anda sendiri. Jika organisasi Anda memiliki [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) yang diaktifkan, setiap sesi cloud yang dihosting Anthropic gagal dengan kesalahan autentikasi. Hal yang sama berlaku untuk [Code Review](/docs/id/code-review) dan untuk [routines](/docs/id/routines) yang berjalan pada lingkungan yang dihosting Anthropic; routine yang dialihkan ke lingkungan self-hosted memanggil API dari jaringan Anda sendiri. Hubungi [dukungan Anthropic](https://support.claude.com/) untuk mengecualikan layanan yang dihosting Anthropic dari daftar putih IP organisasi Anda.437* **Daftar putih IP organisasi**: sesi cloud memanggil API Anthropic dari infrastruktur yang dikelola Anthropic, bukan jaringan Anda, sementara sesi di [lingkungan self-hosted](/docs/id/self-hosted-environments) memanggilnya dari jaringan Anda sendiri. Jika organisasi Anda memiliki [IP allowlisting](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) yang diaktifkan, setiap sesi cloud yang dihosting Anthropic gagal dengan kesalahan autentikasi. Hal yang sama berlaku untuk [Code Review](/docs/id/code-review) dan untuk [routines](/docs/id/routines) yang berjalan pada lingkungan yang dihosting Anthropic; routine yang dialihkan ke lingkungan self-hosted memanggil API dari jaringan Anda sendiri. Hubungi [dukungan Anthropic](https://support.claude.com/) untuk mengecualikan layanan yang dihosting Anthropic dari daftar putih IP organisasi Anda.

Details

1554| `projects/<project>/<session>.jsonl` | Transkrip percakapan lengkap: setiap pesan, panggilan alat, dan hasil alat |1554| `projects/<project>/<session>.jsonl` | Transkrip percakapan lengkap: setiap pesan, panggilan alat, dan hasil alat |

1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Transkrip sebelumnya untuk sesi yang Claude Code sisihkan alih-alih menimpanya atau menghapusnya. Tidak muncul di pemilih sesi |1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Transkrip sebelumnya untuk sesi yang Claude Code sisihkan alih-alih menimpanya atau menghapusnya. Tidak muncul di pemilih sesi |

1556| `projects/<project>/<session>/subagents/` | Transkrip percakapan [Subagent](/docs/id/sub-agents), dihapus dengan transkrip sesi induk saat usia habis |1556| `projects/<project>/<session>/subagents/` | Transkrip percakapan [Subagent](/docs/id/sub-agents), dihapus dengan transkrip sesi induk saat usia habis |

1557| `projects/<project>/<session>/tool-results/` | Output alat besar yang tumpah ke file terpisah |1557| `projects/<project>/<session>/tool-results/` | Output alat besar yang tumpah ke file terpisah, dan salinan ukuran penuh [gambar yang alat MCP kembalikan](/docs/id/mcp#images-in-tool-results) |

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

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

1560| `debug/` | Log debug per-sesi, ditulis saat pencatatan debug aktif, seperti saat Anda memulai dengan [`--debug`](/docs/id/cli-reference#cli-flags) atau menjalankan `/debug` |1560| `debug/` | Log debug per-sesi, ditulis saat pencatatan debug aktif, seperti saat Anda memulai dengan [`--debug`](/docs/id/cli-reference#cli-flags) atau menjalankan `/debug` |


1582* **Mode bare**: saat Anda menjalankan `claude -p` dengan [`--bare`](/docs/id/headless#start-faster-with-bare-mode), Claude Code tidak menjalankan sweep dalam sesi itu.1582* **Mode bare**: saat Anda menjalankan `claude -p` dengan [`--bare`](/docs/id/headless#start-faster-with-bare-mode), Claude Code tidak menjalankan sweep dalam sesi itu.

1583* **Sweep dijeda**: jika Claude Code tidak dapat dengan aman menentukan periode retensi, itu menjeda sweep pembersihan retensi; acara [`retention_sweep`](/docs/id/monitoring-usage#retention-sweep-event) mencantumkan setiap konfigurasi yang menjeda itu. Saat penyebabnya adalah file pengaturan yang tidak dapat dibaca atau diuraikan, atau kesalahan pengaturan dengan `cleanupPeriodDays` atau `desktopSessionCleanupPeriodDays` yang secara eksplisit ditetapkan, Claude Code juga menampilkan peringatan di `/status` sampai Anda memperbaiki kesalahan pengaturan. Saat [pengaturan terkelola](/docs/id/server-managed-settings) menyediakan `cleanupPeriodDays`, Claude Code menjalankan sweep pada nilai terkelola dalam kedua kasus.1583* **Sweep dijeda**: jika Claude Code tidak dapat dengan aman menentukan periode retensi, itu menjeda sweep pembersihan retensi; acara [`retention_sweep`](/docs/id/monitoring-usage#retention-sweep-event) mencantumkan setiap konfigurasi yang menjeda itu. Saat penyebabnya adalah file pengaturan yang tidak dapat dibaca atau diuraikan, atau kesalahan pengaturan dengan `cleanupPeriodDays` atau `desktopSessionCleanupPeriodDays` yang secara eksplisit ditetapkan, Claude Code juga menampilkan peringatan di `/status` sampai Anda memperbaiki kesalahan pengaturan. Saat [pengaturan terkelola](/docs/id/server-managed-settings) menyediakan `cleanupPeriodDays`, Claude Code menjalankan sweep pada nilai terkelola dalam kedua kasus.

1584 1584 

1585<h3 id="session-scratchpad-directory">

1586 Direktori scratchpad sesi

1587</h3>

1588 

1589Scratchpad adalah direktori per-sesi yang Claude Code berikan kepada Claude untuk file sementara: hasil antara, skrip pembantu, dan draft yang tidak termasuk dalam proyek Anda. Saat Claude mengatakan itu menyimpan sesuatu "ke scratchpad", file ada di sana. Claude menggunakannya alih-alih `/tmp`, dan dapat membuat, mengedit, dan membaca file di dalamnya tanpa prompt izin.

1590 

1591Scratchpad berada di bawah direktori temp Claude Code daripada `~/.claude`. Temukan jalur sesi saat ini untuk platform Anda:

1592 

1593* **macOS**: `/private/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`

1594* **Linux**: `/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`, atau bentuk yang sama di bawah `$TMPDIR` saat sistem Anda menetapkan satu

1595* **Windows**: `%TEMP%\claude\<project>\<session-id>\scratchpad\`

1596 

1597`<project>` adalah jalur direktori kerja Anda dengan setiap karakter selain huruf dan angka diganti dengan `-`, seperti `-Users-you-my-project`. Jika Anda menetapkan [`CLAUDE_CODE_TMPDIR`](/docs/id/env-vars), pohon bergerak di bawah direktori itu sebagai gantinya. Hooks menerima jalur sesi saat ini sebagai [`scratchpad_dir`](/docs/id/hooks#common-input-fields).

1598 

1599File scratchpad bertahan selama transkrip sesi: [sweep retensi](#cleaned-up-automatically) menghapus direktori saat menghapus transkrip, dan [`claude project purge`](#clear-local-data) tidak menyentuh direktori temp. Karena direktori berada di bawah lokasi temp sistem, sistem operasi Anda juga dapat menghapusnya, seperti saat restart. Untuk menyimpan sesuatu yang Claude tulis di sana, minta Claude untuk memindahkannya ke proyek Anda.

1600 

1601Sesi memiliki scratchpad hanya saat semua ini berlaku:

1602 

1603* Anda masuk dengan akun claude.ai daripada kunci API

1604* Sesi menggunakan API Anthropic, bukan Amazon Bedrock, Agent Platform Google Cloud, atau Microsoft Foundry

1605* [`enableArtifact`](/docs/id/settings-reference#enableartifact) tidak diatur ke `false`

1606 

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

1586 Disimpan sampai Anda menghapusnya1608 Disimpan sampai Anda menghapusnya

1587</h3>1609</h3>


1626* Baris prompt yang cocok di `history.jsonl`1648* Baris prompt yang cocok di `history.jsonl`

1627* Entri proyek di `~/.claude.json`1649* Entri proyek di `~/.claude.json`

1628 1650 

1629Gambar yang Anda tempel atau lampirkan dalam sesi proyek disimpan di bawah direktori temp Claude Code daripada `~/.claude`, jadi purge tidak menghapusnya. [Sweep retensi](#cleaned-up-automatically) menghapusnya setelah mereka lebih tua dari `cleanupPeriodDays`.1651Gambar yang Anda tempel atau lampirkan dalam sesi proyek dan [scratchpad](#session-scratchpad-directory) setiap sesi disimpan di bawah direktori temp Claude Code daripada `~/.claude`, jadi purge tidak menghapusnya. [Sweep retensi](#cleaned-up-automatically) masih menghapus gambar setelah mereka lebih tua dari `cleanupPeriodDays`; scratchpad sesi yang dimurnikan tetap ada sampai Anda menghapusnya atau sistem operasi Anda menghapus direktori temp.

1630 1652 

1631Perintah mencetak rencana penghapusan lengkap dan meminta konfirmasi sebelum menghapus apa pun.1653Perintah mencetak rencana penghapusan lengkap dan meminta konfirmasi sebelum menghapus apa pun.

1632 1654 

Details

12 12 

13Sebuah project adalah satu percakapan berkelanjutan di mana Claude mengoordinasikan aliran pekerjaan terkait untuk Anda. Anda memberi tahu apa yang perlu dilakukan dan ia memulai thread untuk setiap tugas.13Sebuah project adalah satu percakapan berkelanjutan di mana Claude mengoordinasikan aliran pekerjaan terkait untuk Anda. Anda memberi tahu apa yang perlu dilakukan dan ia memulai thread untuk setiap tugas.

14 14 

15Setiap thread biasanya adalah [sesi cloud](/docs/id/claude-code-on-the-web): Claude Code berjalan di cloud daripada di mesin Anda. Ketika sebuah tugas membutuhkan sesuatu yang hanya dimiliki komputer Anda, Anda dapat meminta Claude untuk menjalankan thread itu di komputer Anda sebagai gantinya melalui [Remote Control](/docs/id/remote-control). Thread berjalan secara paralel dan Anda dapat memeriksanya dan mengarahkannya dari ponsel Anda. Thread cloud terus berjalan setelah Anda menutup laptop.15Setiap thread biasanya adalah [sesi cloud](/docs/id/claude-code-on-the-web): Claude Code berjalan di cloud daripada di mesin Anda. Ketika sebuah tugas membutuhkan sesuatu yang hanya dimiliki komputer Anda, Anda dapat meminta Claude untuk [menjalankan thread itu di komputer Anda](#run-a-thread-on-your-own-computer) sebagai gantinya melalui [Remote Control](/docs/id/remote-control). Thread berjalan secara paralel, dan Anda dapat memeriksanya dan mengarahkannya dari ponsel Anda. Thread cloud terus berjalan setelah Anda menutup laptop, sementara thread di komputer Anda hanya berjalan ketika komputer itu sedang aktif.

16 16 

17Tanpa project, menjalankan beberapa sesi berarti melakukan koordinasi sendiri: Anda memutuskan apa yang dikerjakan masing-masing, mengulangi latar belakang yang sama di awal masing-masing, dan memeriksa kembali untuk melihat mana yang selesai atau membutuhkan jawaban. Dengan project, Anda malah:17Tanpa project, menjalankan beberapa sesi berarti melakukan koordinasi sendiri: Anda memutuskan apa yang dikerjakan masing-masing, mengulangi latar belakang yang sama di awal masing-masing, dan memeriksa kembali untuk melihat mana yang selesai atau membutuhkan jawaban. Dengan project, Anda malah:

18 18 


30 30 

31* **Satu tujuan di banyak repositori**: "Bawa setiap layanan ke konfigurasi lint baru." Claude dapat menjalankan thread per repositori, masing-masing dengan pull request sendiri, dan pane [**Overview**](#see-what-needs-you-in-overview) menunjukkan mana yang siap untuk ditinjau.31* **Satu tujuan di banyak repositori**: "Bawa setiap layanan ke konfigurasi lint baru." Claude dapat menjalankan thread per repositori, masing-masing dengan pull request sendiri, dan pane [**Overview**](#see-what-needs-you-in-overview) menunjukkan mana yang siap untuk ditinjau.

32* **Area yang terus Anda isi**: bug, stack trace, dan permintaan review untuk satu layanan, ditempel ke dalam percakapan saat sampai ke Anda. Jebakan yang Anda beri tahu Claude untuk diingat setelah satu perbaikan ada di [project memory](#give-a-project-standing-context) untuk yang berikutnya.32* **Area yang terus Anda isi**: bug, stack trace, dan permintaan review untuk satu layanan, ditempel ke dalam percakapan saat sampai ke Anda. Jebakan yang Anda beri tahu Claude untuk diingat setelah satu perbaikan ada di [project memory](#give-a-project-standing-context) untuk yang berikutnya.

33* **Build atau migrasi yang lebih besar dari satu sesi**: "Bangun apa yang dijelaskan `docs/spec.md`" atau "Pindahkan aplikasi dari ORM yang sudah usang." Pekerjaan terbagi menjadi thread yang masing-masing mengambil bagian, keputusan yang Anda minta Claude untuk diingat di awal mencapai thread yang lebih baru, dan spec berubah serta bug yang Anda temukan selama build masuk ke percakapan yang sama.33* **Build atau migrasi yang lebih besar dari satu sesi**: "Bangun apa yang dijelaskan `docs/spec.md`" atau "Pindahkan aplikasi dari ORM yang sudah usang." Pekerjaan terbagi menjadi thread yang masing-masing mengambil bagian, keputusan yang Anda minta Claude untuk diingat di awal mencapai thread cloud yang lebih baru, dan spec berubah serta bug yang Anda temukan selama build masuk ke percakapan yang sama.

34* **Pekerjaan yang bukan kode**: folder kontrak atau ekspor tiket dukungan yang terus Anda kembali dengan pertanyaan baru, seperti "temukan sepuluh kesalahan integrasi paling umum di tiket ini." Unggah dokumen alih-alih menambahkan repositori, dan thread memberikan setiap laporan sebagai file di tab [**Library**](#see-what-needs-you-in-overview) project.34* **Pekerjaan yang bukan kode**: folder kontrak atau ekspor tiket dukungan yang terus Anda kembali dengan pertanyaan baru, seperti "temukan sepuluh kesalahan integrasi paling umum di tiket ini." Unggah dokumen alih-alih menambahkan repositori, dan thread memberikan setiap laporan sebagai file di tab [**Library**](#see-what-needs-you-in-overview) project.

35 35 

36Di salah satu dari mereka Anda dapat mengirim batch tugas, beri tahu Claude untuk memulai tanpa meminta Anda mengonfirmasi, pergi, dan temukan thread yang membutuhkan Anda di bawah [**Waiting on you**](#see-what-needs-you-in-overview) ketika Anda kembali, atau minta Claude untuk menjadwalkan bagian pekerjaan sebagai [routine](/docs/id/routines). Jika salah satu ini adalah situasi Anda, [buat project](#create-a-project).36Di salah satu dari mereka Anda dapat mengirim batch tugas, beri tahu Claude untuk memulai tanpa meminta Anda mengonfirmasi, pergi, dan temukan thread yang membutuhkan Anda di bawah [**Waiting on you**](#see-what-needs-you-in-overview) ketika Anda kembali, atau minta Claude untuk menjadwalkan bagian pekerjaan sebagai [routine](/docs/id/routines). Jika salah satu ini adalah situasi Anda, [buat project](#create-a-project).


39 Kapan sesuatu yang lain lebih cocok39 Kapan sesuatu yang lain lebih cocok

40</h3>40</h3>

41 41 

42Thread bekerja pada repositori GitHub dan pada file, folder, dan folder Google Drive yang Anda unggah ke project, bukan pada file atau alat yang hanya ada di mesin Anda. Jika tugas memerlukan mesin Anda, minta Claude untuk menjalankan threadnya di sana melalui [Remote Control](/docs/id/remote-control). [Limitations](#limitations) mencantumkan apa yang diperlukan. Sesuatu yang lain lebih cocok dalam kasus ini:42Project masih cocok ketika hanya beberapa tugas yang memerlukan mesin Anda. Thread cloud bekerja pada repositori GitHub dan pada file, folder, dan folder Google Drive yang Anda unggah ke project, dan untuk tugas sesekali yang memerlukan database lokal atau alat di komputer Anda, Anda dapat meminta Claude untuk [menjalankan thread tugas itu di komputer Anda](#run-a-thread-on-your-own-computer). Sesuatu yang lain lebih cocok dalam kasus ini:

43 43 

44* **Satu tugas yang cocok dalam satu sesi**: "Perbaiki tes login yang tidak stabil." Mulai [sesi cloud](/docs/id/claude-code-on-the-web) sendiri.44* **Satu tugas yang cocok dalam satu sesi**: "Perbaiki tes login yang tidak stabil." Mulai [sesi cloud](/docs/id/claude-code-on-the-web) sendiri.

45* **Pekerjaan di mana setiap tugas memerlukan mesin Anda**: database lokal, emulator perangkat, atau API di belakang VPN Anda. Gunakan sesi lokal, atau [agent view](/docs/id/agent-view) untuk menjalankan beberapa sekaligus. Jika pekerjaan hanya memerlukan file lokal, unggah ke project.45* **Pekerjaan di mana setiap tugas memerlukan mesin Anda**: database lokal, emulator perangkat, atau API di belakang VPN Anda. Gunakan sesi lokal, atau [agent view](/docs/id/agent-view) untuk menjalankan beberapa sekaligus. Jika pekerjaan hanya memerlukan file lokal, unggah ke project.


277 277 

278Setiap persetujuan mencakup prompt itu, atau sisa thread itu jika Anda memilih opsi yang lebih luas. Untuk membiarkan setiap thread menjalankan perintah tertentu tanpa bertanya, atau untuk memblokir beberapa, tambahkan [permission rules](/docs/id/permissions) ke `.claude/settings.json` repositori. Thread menerapkannya hanya dalam project dengan satu repositori; lihat [Apa yang diambil thread dari repositori Anda](#what-threads-pick-up-from-your-repositories).278Setiap persetujuan mencakup prompt itu, atau sisa thread itu jika Anda memilih opsi yang lebih luas. Untuk membiarkan setiap thread menjalankan perintah tertentu tanpa bertanya, atau untuk memblokir beberapa, tambahkan [permission rules](/docs/id/permissions) ke `.claude/settings.json` repositori. Thread menerapkannya hanya dalam project dengan satu repositori; lihat [Apa yang diambil thread dari repositori Anda](#what-threads-pick-up-from-your-repositories).

279 279 

280<h3 id="run-a-thread-on-your-own-computer">

281 Jalankan thread di komputer Anda sendiri

282</h3>

283 

284Ketika tugas membutuhkan sesuatu yang hanya dimiliki komputer Anda, seperti database lokal, emulator perangkat, atau API di belakang VPN Anda, minta Claude untuk menjalankan thread untuk tugas itu di komputer Anda alih-alih di cloud. Ketika Anda meminta dalam percakapan project, thread adalah sesi Claude Code di folder di mesin Anda, terhubung melalui [Remote Control](/docs/id/remote-control). Thread project lainnya terus berjalan di cloud. Dibandingkan dengan thread cloud, thread di komputer Anda:

285 

286* Bekerja dengan file, alat, server MCP, dan pengaturan Claude Code di mesin itu alih-alih lingkungan cloud project

287* Dimulai dengan instruksi project, tetapi tidak dengan file memori yang dimuat

288* Berjalan hanya saat komputer itu terjaga dengan Remote Control diaktifkan

289 

290<Steps>

291 <Step title="Hubungkan folder">

292 Di komputer yang memiliki folder yang dibutuhkan tugas, buatnya tersedia melalui Remote Control dengan salah satu dari dua cara. Keduanya memerlukan Claude Code v2.1.280 atau lebih baru di komputer itu.

293 

294 * **Di aplikasi desktop Claude**: buka **Settings > Claude Code**, aktifkan **Use this computer from your phone and claude.ai**, dan tambahkan folder ke daftar di bawah switch itu. Thread dapat berjalan di komputer ini saat aplikasi terbuka.

295 * **Di terminal**: jalankan `claude remote-control` di folder dan biarkan berjalan.

296 </Step>

297 

298 <Step title="Minta tugas dengan Work locally">

299 Dalam percakapan project, pilih **Work locally** dari menu **+** di samping kotak pesan, yang menandai pesan Anda **Local**, dan tulis apa yang ingin Anda lakukan. Mengatakan dalam pesan bahwa tugas harus berjalan di komputer Anda juga berfungsi.

300 </Step>

301 

302 <Step title="Izinkan di kartu">

303 Claude menjawab dengan kartu **Allow Claude to work in a folder on your device**. Pilih folder jika Anda menghubungkan beberapa. Kemudian klik **Allow once**.

304 </Step>

305</Steps>

306 

307Thread berjalan dalam [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), jadi Claude menjalankan perintah dan mengedit file di folder itu tanpa meminta Anda setiap kali. Jika auto mode tidak tersedia atau dimatikan di Claude Code komputer itu, thread berjalan tanpanya, dan prompt izin apa pun yang dimunculkannya menunggu jawaban Anda di thread, seperti yang dijelaskan [Buka blokir thread yang menunggu persetujuan](#unblock-a-thread-waiting-on-approval).

308 

309Saat thread berjalan, ikon laptop di headernya menunjukkan apakah komputer Anda terhubung. Klik untuk melihat folder mana yang digunakan thread atau untuk mematikan koneksi. Thread dijeda saat komputer itu tidur, dan berhenti jika aplikasi desktop atau `claude remote-control` berhenti. [Kehilangan kontak dengan folder Anda](#lost-contact-with-your-folder) mencakup membuatnya berjalan lagi. Di aplikasi desktop, aktifkan **Keep this computer awake for Remote Control** di bawah **Settings > Claude Code** untuk mencegah komputer tidur dengan sendirinya.

310 

311Project tidak dapat menjalankan thread di komputer Anda saat [**Require trusted devices**](/docs/id/remote-control#trusted-devices) aktif untuk akun Anda.

312 

280<h2 id="give-a-project-standing-context">313<h2 id="give-a-project-standing-context">

281 Berikan project konteks berdiri314 Berikan project konteks berdiri

282</h2>315</h2>


441* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) adalah Claude di saluran Slack tim Anda, di paket Team dan Enterprise. Siapa pun di saluran dapat memberikan pekerjaan, semua orang di saluran melihat dan mengarahkannya, dan itu menggunakan koneksi yang disiapkan admin untuk saluran itu. Project adalah milik Anda sendiri: Anda satu-satunya yang mengirim pekerjaan atau melihat thread-nya, itu menggunakan akses GitHub dan connectors Anda sendiri, dan itu di Pro dan Max. [Bagaimana Claude Tag berbeda dari Cowork dan Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) memiliki perbandingan berdampingan.474* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) adalah Claude di saluran Slack tim Anda, di paket Team dan Enterprise. Siapa pun di saluran dapat memberikan pekerjaan, semua orang di saluran melihat dan mengarahkannya, dan itu menggunakan koneksi yang disiapkan admin untuk saluran itu. Project adalah milik Anda sendiri: Anda satu-satunya yang mengirim pekerjaan atau melihat thread-nya, itu menggunakan akses GitHub dan connectors Anda sendiri, dan itu di Pro dan Max. [Bagaimana Claude Tag berbeda dari Cowork dan Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) memiliki perbandingan berdampingan.

442* **Cloud sessions**: setiap thread adalah [sesi cloud](/docs/id/claude-code-on-the-web) kecuali Anda meminta Claude untuk menjalankannya di mesin Anda. Bagaimanapun, Claude memulai dan melacaknya alih-alih Anda. Sesi cloud yang Anda mulai sendiri dapat menjadi project atau memberi makan satu melalui [**Continue as a project** atau **Move to project**](#start-from-an-existing-cloud-session).475* **Cloud sessions**: setiap thread adalah [sesi cloud](/docs/id/claude-code-on-the-web) kecuali Anda meminta Claude untuk menjalankannya di mesin Anda. Bagaimanapun, Claude memulai dan melacaknya alih-alih Anda. Sesi cloud yang Anda mulai sendiri dapat menjadi project atau memberi makan satu melalui [**Continue as a project** atau **Move to project**](#start-from-an-existing-cloud-session).

443* **Routines**: ketika Anda meminta pekerjaan terjadwal dalam project, Claude membuat [routine](/docs/id/routines) yang berjalan sebagai thread dalam project itu dan muncul di tab **Routines**-nya. Routine yang Anda buat di luar project terus bekerja sendiri.476* **Routines**: ketika Anda meminta pekerjaan terjadwal dalam project, Claude membuat [routine](/docs/id/routines) yang berjalan sebagai thread dalam project itu dan muncul di tab **Routines**-nya. Routine yang Anda buat di luar project terus bekerja sendiri.

444* **Local sessions dan agent view**: sesi yang Anda mulai sendiri di terminal, IDE, atau environment lokal aplikasi desktop tidak dapat ditambahkan ke project. Project menjangkau mesin Anda hanya dengan menjalankan thread di sana melalui [Remote Control](/docs/id/remote-control). [Agent view](/docs/id/agent-view) adalah layar untuk melacak beberapa sesi lokal yang Anda mulai sendiri; itu tidak memiliki koordinator.477* **Remote Control**: [Remote Control](/docs/id/remote-control) menghubungkan claude.ai ke sesi Claude Code yang berjalan di mesin Anda. Ketika Anda meminta Claude dalam project untuk menjalankan thread di komputer Anda, project [menggunakan Remote Control untuk melakukannya](#run-a-thread-on-your-own-computer).

478* **Local sessions dan agent view**: sesi yang Anda mulai sendiri di terminal, IDE, atau environment lokal aplikasi desktop tidak dapat ditambahkan ke project. [Agent view](/docs/id/agent-view) adalah layar untuk melacak beberapa sesi lokal berdampingan, dan Anda masih memulai masing-masing dan memberikan tugasnya sendiri.

445* **Worktrees**: [worktree](/docs/id/worktrees) memberikan setiap sesi lokal salinan kerjanya sendiri dari repositori sehingga sesi paralel di mesin Anda tidak menimpa satu sama lain. Thread cloud tidak membutuhkannya: setiap thread mengkloning repositorinya ke sandbox cloud sendiri dan bekerja di cabang sendiri.479* **Worktrees**: [worktree](/docs/id/worktrees) memberikan setiap sesi lokal salinan kerjanya sendiri dari repositori sehingga sesi paralel di mesin Anda tidak menimpa satu sama lain. Thread cloud tidak membutuhkannya: setiap thread mengkloning repositorinya ke sandbox cloud sendiri dan bekerja di cabang sendiri.

446* **Agent teams**: [agent team](/docs/id/agent-teams) adalah satu sesi yang memulai sesi rekan untuk satu tugas, di mesin Anda atau di dalam sesi cloud, dan berakhir dengan tugas itu.480* **Agent teams**: [agent team](/docs/id/agent-teams) adalah satu sesi yang memulai sesi rekan untuk satu tugas, di mesin Anda atau di dalam sesi cloud, dan berakhir dengan tugas itu.

447* **Projects di claude.ai chat dan Cowork**: [pengalaman Projects sebelumnya](https://support.claude.com/en/articles/9517075-what-are-projects), yang mengelompokkan percakapan dan file referensi tanpa thread atau koordinator. Project tersebut terus bekerja seperti yang mereka lakukan hari ini sampai pengalaman yang dirancang ulang mencapai mereka.481* **Projects di claude.ai chat dan Cowork**: [pengalaman Projects sebelumnya](https://support.claude.com/en/articles/9517075-what-are-projects), yang mengelompokkan percakapan dan file referensi tanpa thread atau koordinator. Project tersebut terus bekerja seperti yang mereka lakukan hari ini sampai pengalaman yang dirancang ulang mencapai mereka.


454 488 

455* Project tersedia di claude.ai/code, di aplikasi desktop, dan di aplikasi mobile Claude, bukan di CLI terminal atau melalui Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Perintah [`claude project`](/docs/id/cli-reference) CLI, yang mengelola keadaan Claude Code lokal untuk direktori, tidak terkait.489* Project tersedia di claude.ai/code, di aplikasi desktop, dan di aplikasi mobile Claude, bukan di CLI terminal atau melalui Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Perintah [`claude project`](/docs/id/cli-reference) CLI, yang mengelola keadaan Claude Code lokal untuk direktori, tidak terkait.

456* Thread project adalah [sesi cloud](/docs/id/claude-code-on-the-web), atau sesi di mesin Anda sendiri melalui [Remote Control](/docs/id/remote-control), dengan Anthropic sebagai penyedia model di kedua kasus. [Security](/docs/id/security) dan [Data usage](/docs/id/data-usage) mencakup bagaimana sesi cloud diisolasi dan apa yang disimpan, dan [Connection and security](/docs/id/remote-control#connection-and-security) mencakup bagaimana thread di mesin Anda terhubung dan apa yang disimpan.490* Thread project adalah [sesi cloud](/docs/id/claude-code-on-the-web), atau sesi di mesin Anda sendiri melalui [Remote Control](/docs/id/remote-control), dengan Anthropic sebagai penyedia model di kedua kasus. [Security](/docs/id/security) dan [Data usage](/docs/id/data-usage) mencakup bagaimana sesi cloud diisolasi dan apa yang disimpan, dan [Connection and security](/docs/id/remote-control#connection-and-security) mencakup bagaimana thread di mesin Anda terhubung dan apa yang disimpan.

457* Anda tidak dapat menambahkan sesi yang Anda mulai sendiri di mesin Anda ke project. Untuk membiarkan project menjalankan thread di mesin Anda, hubungkan folder tempat project harus bekerja melalui [Remote Control](/docs/id/remote-control#requirements): aktifkan Remote Control di bawah **Settings > Claude Code** di aplikasi desktop Claude, atau jalankan `claude remote-control` di folder dan biarkan berjalan. Mesin tersebut memerlukan Claude Code v2.1.280 atau lebih baru. Project juga tidak dapat menjalankan thread di mesin Anda saat **Require trusted devices** aktif di pengaturan claude.ai Anda.491* Anda tidak dapat menambahkan sesi yang Anda mulai sendiri di mesin Anda ke project. Project mencapai mesin Anda hanya dengan [menjalankan thread di sana melalui Remote Control](#run-a-thread-on-your-own-computer), dan bagian itu mencantumkan apa yang dibutuhkannya.

458* Sandbox thread cloud dijeda antara giliran dan dilanjutkan ketika thread berlanjut. Jika sandbox tidak dapat dilanjutkan, thread berlanjut dari klon segar, jadi perubahan yang tidak dicommit dapat hilang. Pada tugas panjang, minta Claude untuk commit dan push pekerjaan yang sedang berlangsung.492* Sandbox thread cloud dijeda antara giliran dan dilanjutkan ketika thread berlanjut. Jika sandbox tidak dapat dilanjutkan, thread berlanjut dari klon segar, jadi perubahan yang tidak dicommit dapat hilang. Pada tugas panjang, minta Claude untuk commit dan push pekerjaan yang sedang berlangsung.

459* Project milik satu pengguna. Anda tidak dapat berbagi project atau thread-nya dengan pengguna lain, dan transkrip thread tidak memiliki opsi berbagi yang dimiliki sesi cloud lain. Tidak ada kontrol tingkat organisasi untuk project selama beta.493* Project milik satu pengguna. Anda tidak dapat berbagi project atau thread-nya dengan pengguna lain, dan transkrip thread tidak memiliki opsi berbagi yang dimiliki sesi cloud lain. Tidak ada kontrol tingkat organisasi untuk project selama beta.

460* Thread milik satu project yang memulainya. Anda tidak dapat memindahkan atau menyalin thread ke project lain, atau memindahkannya keluar untuk berdiri sendiri. [**Move to project**](#start-from-an-existing-cloud-session) hanya berjalan dengan cara lain: itu membawa pekerjaan sesi cloud ke project.494* Thread milik satu project yang memulainya. Anda tidak dapat memindahkan atau menyalin thread ke project lain, atau memindahkannya keluar untuk berdiri sendiri. [**Move to project**](#start-from-an-existing-cloud-session) hanya berjalan dengan cara lain: itu membawa pekerjaan sesi cloud ke project.


513 547 

514Thread atau percakapan project membuat permintaan yang hanya dicakup paket Anda dengan kredit penggunaan, seperti satu ke model atau ukuran konteks yang tidak disertakan paket Anda, dan kredit penggunaan tidak diaktifkan untuk akun Anda. [Tambahkan kredit penggunaan ke langganan Anda](/docs/id/costs#add-usage-credits-to-your-subscription) mencakup siapa yang dapat mengaktifkannya atau membelinya di setiap paket. Setelah kredit tersedia, kirim pesan lain untuk mencoba lagi.548Thread atau percakapan project membuat permintaan yang hanya dicakup paket Anda dengan kredit penggunaan, seperti satu ke model atau ukuran konteks yang tidak disertakan paket Anda, dan kredit penggunaan tidak diaktifkan untuk akun Anda. [Tambahkan kredit penggunaan ke langganan Anda](/docs/id/costs#add-usage-credits-to-your-subscription) mencakup siapa yang dapat mengaktifkannya atau membelinya di setiap paket. Setelah kredit tersedia, kirim pesan lain untuk mencoba lagi.

515 549 

550<h3 id="lost-contact-with-your-folder">

551 Kehilangan kontak dengan folder Anda

552</h3>

553 

554Thread yang berjalan di komputer Anda menunjukkan ini ketika sesi Claude Code di sana berhenti merespons, biasanya karena komputer tidur atau aplikasi desktop atau `claude remote-control` berhenti. Bangunkan komputer, dan jika aplikasi desktop atau `claude remote-control` tidak lagi berjalan di sana, mulai lagi: buka kembali aplikasi dan konfirmasi **Use this computer from your phone and claude.ai** masih aktif di bawah **Settings > Claude Code**, atau jalankan `claude remote-control` lagi di folder yang sama.

555 

516<h3 id="context-limit">556<h3 id="context-limit">

517 Pesan lainnya557 Pesan lainnya

518</h3>558</h3>


527| "The project's environment was removed" | Pilih environment berbeda di **Project settings > Environment**; perubahan berlaku untuk thread baru |567| "The project's environment was removed" | Pilih environment berbeda di **Project settings > Environment**; perubahan berlaku untuk thread baru |

528| "Setup script failed" | Klik **Edit setup script** pada kesalahan, perbaiki skrip di environment, lalu kirim pesan lain. [Setup script failed](/docs/id/web-quickstart#setup-script-failed) mencantumkan penyebab umum |568| "Setup script failed" | Klik **Edit setup script** pada kesalahan, perbaiki skrip di environment, lalu kirim pesan lain. [Setup script failed](/docs/id/web-quickstart#setup-script-failed) mencantumkan penyebab umum |

529| "Claude ran out of context on this turn" | Thread mengisi jendela konteksnya. Jika pesan mengatakan thread berlanjut dalam sesi segar, itu berlanjut sendiri; jika tidak, minta Claude dalam percakapan project untuk memulai thread baru untuk pekerjaan yang tersisa |569| "Claude ran out of context on this turn" | Thread mengisi jendela konteksnya. Jika pesan mengatakan thread berlanjut dalam sesi segar, itu berlanjut sendiri; jika tidak, minta Claude dalam percakapan project untuk memulai thread baru untuk pekerjaan yang tersisa |

570| "Couldn't start in" diikuti dengan nama folder Anda | Anda mengizinkan thread untuk berjalan di komputer Anda, tetapi sesi tidak dapat dimulai di sana. Ketika baris di bawah pesan memberikan alasan, perbaiki itu, lalu minta Claude untuk menjalankan tugas lagi |

571| "Claude is out of date on your device" | Komputer yang Anda pilih untuk menjalankan thread memiliki versi Claude Code yang lebih lama dari v2.1.280. Perbarui Claude Code di sana, atau perbarui aplikasi desktop jika itu yang menghubungkan folder, lalu minta Claude untuk menjalankan tugas lagi |

530| "Reached the turn limit" | Thread mencapai batas pada langkah agentic yang [`CLAUDE_CODE_MAX_TURNS`](/docs/id/env-vars) tetapkan. Kirim pesan lain untuk melanjutkan, atau naikkan atau hapus variabel itu di mana pun variabel itu ditetapkan |572| "Reached the turn limit" | Thread mencapai batas pada langkah agentic yang [`CLAUDE_CODE_MAX_TURNS`](/docs/id/env-vars) tetapkan. Kirim pesan lain untuk melanjutkan, atau naikkan atau hapus variabel itu di mana pun variabel itu ditetapkan |

531 573 

532<h2 id="related-resources">574<h2 id="related-resources">

Details

26| `claude install [version]` | Instal atau instal ulang binary asli. Menerima versi seperti `2.1.118`, atau `stable` atau `latest`. Lihat [Instal versi tertentu](/docs/id/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Instal atau instal ulang binary asli. Menerima versi seperti `2.1.118`, atau `stable` atau `latest`. Lihat [Instal versi tertentu](/docs/id/setup#install-a-specific-version) | `claude install stable` |

27| `claude auth login` | Masuk ke akun Anthropic Anda. Gunakan `--email` untuk mengisi email Anda sebelumnya, `--sso` untuk memaksa autentikasi SSO, dan `--console` untuk masuk dengan Anthropic Console untuk penagihan penggunaan API alih-alih langganan Claude | `claude auth login --console` |27| `claude auth login` | Masuk ke akun Anthropic Anda. Gunakan `--email` untuk mengisi email Anda sebelumnya, `--sso` untuk memaksa autentikasi SSO, dan `--console` untuk masuk dengan Anthropic Console untuk penagihan penggunaan API alih-alih langganan Claude | `claude auth login --console` |

28| `claude auth logout` | Keluar dari akun Anthropic Anda | `claude auth logout` |28| `claude auth logout` | Keluar dari akun Anthropic Anda | `claude auth logout` |

29| `claude auth status` | Tampilkan status autentikasi sebagai JSON. Gunakan `--text` untuk output yang dapat dibaca manusia. Keluar dengan kode 0 jika masuk, 1 jika tidak | `claude auth status` |29| `claude auth status` | Tampilkan status autentikasi sebagai JSON. Gunakan `--text` untuk output yang dapat dibaca manusia. Keluar dengan kode 0 jika masuk, 1 jika tidak. JSON mencakup bidang `configDirectory` yang menamai [direktori konfigurasi](/docs/id/claude-directory) yang digunakan CLI. Bidang ini memerlukan Claude Code v2.1.268 atau lebih baru | `claude auth status` |

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

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

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


64| `--add-dir` | Tambahkan direktori kerja tambahan untuk Claude membaca dan mengedit file. Memberikan akses file; Claude Code [tidak menemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) sebagian besar konfigurasi `.claude/` dari direktori ini. Memvalidasi bahwa setiap jalur ada sebagai direktori. Anda tidak dapat menambahkan sebagian besar [jalur jaringan](/docs/id/errors#working-directory-is-a-network-path), seperti `\\server\share`. Untuk mempertahankan direktori ini di seluruh sesi, atur [`permissions.additionalDirectories`](/docs/id/settings-reference#permissions-additionaldirectories) dalam pengaturan | `claude --add-dir ../apps ../lib` |64| `--add-dir` | Tambahkan direktori kerja tambahan untuk Claude membaca dan mengedit file. Memberikan akses file; Claude Code [tidak menemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) sebagian besar konfigurasi `.claude/` dari direktori ini. Memvalidasi bahwa setiap jalur ada sebagai direktori. Anda tidak dapat menambahkan sebagian besar [jalur jaringan](/docs/id/errors#working-directory-is-a-network-path), seperti `\\server\share`. Untuk mempertahankan direktori ini di seluruh sesi, atur [`permissions.additionalDirectories`](/docs/id/settings-reference#permissions-additionaldirectories) dalam pengaturan | `claude --add-dir ../apps ../lib` |

65| `--advisor <model>` | Aktifkan [alat penasihat](/docs/id/advisor) sisi server untuk sesi ini dengan alias model, `fable`, `opus`, atau `sonnet`, atau ID model lengkap. Mengambil alih pengaturan `advisorModel` untuk sesi. `fable` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model) | `claude --advisor opus` |65| `--advisor <model>` | Aktifkan [alat penasihat](/docs/id/advisor) sisi server untuk sesi ini dengan alias model, `fable`, `opus`, atau `sonnet`, atau ID model lengkap. Mengambil alih pengaturan `advisorModel` untuk sesi. `fable` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model) | `claude --advisor opus` |

66| `--agent` | Tentukan agen untuk sesi saat ini (menimpa pengaturan `agent`) | `claude --agent my-custom-agent` |66| `--agent` | Tentukan agen untuk sesi saat ini (menimpa pengaturan `agent`) | `claude --agent my-custom-agent` |

67| `--agents` | Tentukan subagen khusus secara dinamis melalui JSON. Menerima [bidang yang tercantum untuk subagen yang ditentukan CLI](/docs/id/sub-agents#choose-the-subagent-scope). Claude Code memvalidasi JSON saat startup dan keluar pada nilai yang tidak valid; lihat [`Konfigurasi --agents tidak valid`](/docs/id/errors#invalid-agents-configuration) untuk pesan dan untuk bendera dan variabel lingkungan yang melewati validasi. Validasi memerlukan Claude Code v2.1.242 atau lebih baru | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |67| `--agents` | Tentukan subagen khusus secara dinamis melalui JSON. Menerima [bidang yang tercantum untuk subagen yang ditentukan CLI](/docs/id/sub-agents#choose-the-subagent-scope). Dengan `--print`, nilainya dapat berupa jalur ke file JSON yang menyimpan objek; bentuk file memerlukan Claude Code v2.1.281 atau lebih baru. Claude Code memvalidasi nilai saat startup dan keluar pada nilai yang tidak valid; lihat [`Konfigurasi --agents tidak valid`](/docs/id/errors#invalid-agents-configuration) untuk pesan dan untuk bendera dan variabel lingkungan yang melewati validasi. Validasi memerlukan Claude Code v2.1.242 atau lebih baru | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

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

69| `--allowedTools`, `--allowed-tools` | Alat yang dijalankan tanpa meminta izin. Lihat [sintaks aturan izin](/docs/id/settings-reference#permission-rule-syntax) untuk pencocokan pola. Untuk membatasi alat mana yang tersedia, gunakan `--tools` sebagai gantinya. Jika Anda menamai salah satu [alat pelacakan tugas](/docs/id/tools-reference#task-tool-availability) di sini, Claude Code juga memilih sesi masuk | `"Bash(git log *)" "Bash(git diff *)" "Read"` |69| `--allowedTools`, `--allowed-tools` | Alat yang dijalankan tanpa meminta izin. Lihat [sintaks aturan izin](/docs/id/settings-reference#permission-rule-syntax) untuk pencocokan pola. Untuk membatasi alat mana yang tersedia, gunakan `--tools` sebagai gantinya. Jika Anda menamai salah satu [alat pelacakan tugas](/docs/id/tools-reference#task-tool-availability) di sini, Claude Code juga memilih sesi masuk | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

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


75| `--ax-screen-reader` | Render output yang ramah pembaca layar: teks datar tanpa batas dekoratif atau animasi. Memaksa renderer klasik, jadi pengaturan [`tui`](/docs/id/settings-reference#tui) tidak berpengaruh; [sesi latar belakang](/docs/id/agent-view) yang terlampir masih render layar penuh. Mengambil alih [`CLAUDE_AX_SCREEN_READER`](/docs/id/env-vars) dan pengaturan [`axScreenReader`](/docs/id/settings-reference#axscreenreader). Memerlukan Claude Code v2.1.181 atau lebih baru | `claude --ax-screen-reader` |75| `--ax-screen-reader` | Render output yang ramah pembaca layar: teks datar tanpa batas dekoratif atau animasi. Memaksa renderer klasik, jadi pengaturan [`tui`](/docs/id/settings-reference#tui) tidak berpengaruh; [sesi latar belakang](/docs/id/agent-view) yang terlampir masih render layar penuh. Mengambil alih [`CLAUDE_AX_SCREEN_READER`](/docs/id/env-vars) dan pengaturan [`axScreenReader`](/docs/id/settings-reference#axscreenreader). Memerlukan Claude Code v2.1.181 atau lebih baru | `claude --ax-screen-reader` |

76| `--bare` | Mode minimal: lewati penemuan otomatis hooks, skills, perintah khusus, subagen, plugin, server MCP, memori otomatis, dan CLAUDE.md sehingga panggilan skrip dimulai lebih cepat. Skills dalam direktori yang Anda lewatkan dengan `--add-dir` masih dimuat. Claude memiliki akses ke alat Bash, pembacaan file, dan pengeditan file. Menetapkan [`CLAUDE_CODE_SIMPLE`](/docs/id/env-vars). Lihat [mode bare](/docs/id/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |76| `--bare` | Mode minimal: lewati penemuan otomatis hooks, skills, perintah khusus, subagen, plugin, server MCP, memori otomatis, dan CLAUDE.md sehingga panggilan skrip dimulai lebih cepat. Skills dalam direktori yang Anda lewatkan dengan `--add-dir` masih dimuat. Claude memiliki akses ke alat Bash, pembacaan file, dan pengeditan file. Menetapkan [`CLAUDE_CODE_SIMPLE`](/docs/id/env-vars). Lihat [mode bare](/docs/id/headless#start-faster-with-bare-mode) | `claude --bare -p "query"` |

77| `--betas` | Header beta untuk disertakan dalam permintaan API (hanya pengguna kunci API) | `claude --betas interleaved-thinking` |77| `--betas` | Header beta untuk disertakan dalam permintaan API (hanya pengguna kunci API) | `claude --betas interleaved-thinking` |

78| `--bg`, `--background` | Mulai sesi sebagai [agen latar belakang](/docs/id/agent-view) dan kembali segera. Mencetak ID sesi dan perintah manajemen. Gabungkan dengan `--exec` untuk menjalankan perintah shell sebagai pekerjaan latar belakang yang didukung PTY alih-alih memulai sesi Claude, atau dengan `--agent` untuk menjalankan subagen tertentu. Tidak dapat digabungkan dengan `-p`/`--print`; lihat [referensi kesalahan](/docs/id/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |78| `--bg`, `--background` | Mulai sesi sebagai [agen latar belakang](/docs/id/agent-view) dan kembali segera. Mencetak ID sesi dan perintah manajemen. Gabungkan dengan `--exec` untuk menjalankan perintah shell sebagai pekerjaan latar belakang yang didukung PTY alih-alih memulai sesi Claude, atau dengan `--agent` untuk menjalankan subagen tertentu. Memeriksa [kepercayaan ruang kerja](/docs/id/permissions#project-allow-rules-and-workspace-trust) untuk direktori sebelum dimulai. Tidak dapat digabungkan dengan `-p`/`--print`; lihat [referensi kesalahan](/docs/id/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |

79| `--channels` | (Pratinjau penelitian) Server MCP yang [notifikasi saluran](/docs/id/channels) Claude harus mendengarkan dalam sesi ini. Daftar yang dipisahkan spasi dari entri `plugin:<name>@<marketplace>`. Memerlukan autentikasi Anthropic melalui claude.ai atau kunci API Console | `claude --channels plugin:my-notifier@my-marketplace` |79| `--channels` | (Pratinjau penelitian) Server MCP yang [notifikasi saluran](/docs/id/channels) Claude harus mendengarkan dalam sesi ini. Daftar yang dipisahkan spasi dari entri `plugin:<name>@<marketplace>`. Memerlukan autentikasi Anthropic melalui claude.ai atau kunci API Console | `claude --channels plugin:my-notifier@my-marketplace` |

80| `--chrome` | Aktifkan [integrasi browser Chrome](/docs/id/chrome) untuk otomasi web dan pengujian | `claude --chrome` |80| `--chrome` | Aktifkan [integrasi browser Chrome](/docs/id/chrome) untuk otomasi web dan pengujian | `claude --chrome` |

81| `--cloud` | Dengan deskripsi tugas, buat [sesi cloud](/docs/id/claude-code-on-the-web) baru. Dengan ID sesi (`session_...` atau `cse_...`) atau URL claude.ai/code, antrekan pesan ke sesi yang ada sebagai gantinya, dengan `-p`. Lihat [kirim pesan lanjutan](/docs/id/claude-code-on-the-web#send-follow-ups-from-the-cli). | `claude --cloud "Fix the login bug"` |81| `--cloud` | Dengan deskripsi tugas, buat [sesi cloud](/docs/id/claude-code-on-the-web) baru. Dengan ID sesi (`session_...` atau `cse_...`) atau URL claude.ai/code, antrekan pesan ke sesi yang ada sebagai gantinya, dengan `-p`. Lihat [kirim pesan lanjutan](/docs/id/claude-code-on-the-web#send-follow-ups-from-the-cli). | `claude --cloud "Fix the login bug"` |


89| `--effort` | Atur [tingkat upaya](/docs/id/model-config#adjust-effort-level) untuk sesi saat ini. Opsi: `low`, `medium`, `high`, `xhigh`, `max`, atau `ultracode`. Tingkat yang tersedia tergantung pada model. `ultracode` meminta upaya `xhigh` dengan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) diaktifkan, dan memerlukan Claude Code v2.1.203 atau lebih baru. Menimpa pengaturan [`modelSettings`](/docs/id/settings-reference#modelsettings) dan [`effortLevel`](/docs/id/settings-reference#effortlevel) untuk sesi ini dan tidak bertahan | `claude --effort high` |89| `--effort` | Atur [tingkat upaya](/docs/id/model-config#adjust-effort-level) untuk sesi saat ini. Opsi: `low`, `medium`, `high`, `xhigh`, `max`, atau `ultracode`. Tingkat yang tersedia tergantung pada model. `ultracode` meminta upaya `xhigh` dengan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) diaktifkan, dan memerlukan Claude Code v2.1.203 atau lebih baru. Menimpa pengaturan [`modelSettings`](/docs/id/settings-reference#modelsettings) dan [`effortLevel`](/docs/id/settings-reference#effortlevel) untuk sesi ini dan tidak bertahan | `claude --effort high` |

90| `--enable-auto-mode` | Dihapus di v2.1.111. Mode otomatis sekarang dalam siklus `Shift+Tab` secara default; gunakan `--permission-mode auto` untuk memulai di dalamnya | `claude --permission-mode auto` |90| `--enable-auto-mode` | Dihapus di v2.1.111. Mode otomatis sekarang dalam siklus `Shift+Tab` secara default; gunakan `--permission-mode auto` untuk memulai di dalamnya | `claude --permission-mode auto` |

91| `--environment <environment-id>` | Buat sesi cloud baru yang berjalan di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments) dengan ID yang diberikan. ID lingkungan dimulai dengan `ccpool_`. Lihat [perilaku pengiriman `--environment`](/docs/id/self-hosted-environments-testing#environment-dispatch-behavior) untuk perilaku pengiriman dan kombinasi bendera yang ditolaknya. Memerlukan Claude Code v2.1.224 atau lebih baru | `claude -p "Fix the login bug" --environment ccpool_abc123` |91| `--environment <environment-id>` | Buat sesi cloud baru yang berjalan di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments) dengan ID yang diberikan. ID lingkungan dimulai dengan `ccpool_`. Lihat [perilaku pengiriman `--environment`](/docs/id/self-hosted-environments-testing#environment-dispatch-behavior) untuk perilaku pengiriman dan kombinasi bendera yang ditolaknya. Memerlukan Claude Code v2.1.224 atau lebih baru | `claude -p "Fix the login bug" --environment ccpool_abc123` |

92| `--exclude-dynamic-system-prompt-sections` | Pindahkan bagian per-mesin dari prompt sistem (direktori kerja, info lingkungan, jalur memori, bendera git-repo) ke pesan pengguna pertama. Meningkatkan penggunaan kembali cache prompt di berbagai pengguna dan mesin yang menjalankan tugas yang sama. Hanya berlaku dengan prompt sistem default; diabaikan ketika `--system-prompt` atau `--system-prompt-file` diatur. Gunakan dengan `-p` untuk beban kerja multi-pengguna yang ditulis skrip | `claude -p --exclude-dynamic-system-prompt-sections "query"` |92| `--exclude-dynamic-system-prompt-sections` | Pindahkan konteks per-pengguna, seperti lokasi memori otomatis, keluar dari prompt sistem dan ke pesan pengguna pertama. Meningkatkan penggunaan kembali cache prompt di berbagai pengguna dan mesin yang menjalankan tugas yang sama. Hanya berlaku dengan prompt sistem default; diabaikan ketika `--system-prompt` atau `--system-prompt-file` diatur. Gunakan dengan `-p` untuk beban kerja multi-pengguna yang ditulis skrip | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

93| `--exec` | Jalankan perintah shell sebagai pekerjaan latar belakang yang didukung PTY alih-alih memulai sesi Claude. Gunakan dengan `--bg` untuk meluncurkan dari shell | `claude --bg --exec 'pytest -x'` |93| `--exec` | Jalankan perintah shell sebagai pekerjaan latar belakang yang didukung PTY alih-alih memulai sesi Claude. Gunakan dengan `--bg` untuk meluncurkan dari shell | `claude --bg --exec 'pytest -x'` |

94| `--fallback-model` | Aktifkan fallback otomatis ke model yang ditentukan ketika model utama kelebihan beban atau tidak tersedia, misalnya model yang sudah pensiun. Menerima daftar yang dipisahkan koma yang dicoba secara berurutan. Lihat [Rantai model fallback](/docs/id/model-config#fallback-model-chains). Untuk mempertahankan rantai di seluruh sesi, gunakan pengaturan [`fallbackModel`](/docs/id/settings-reference#fallbackmodel), yang bendera ini timpa | `claude --fallback-model sonnet,haiku` |94| `--fallback-model` | Aktifkan fallback otomatis ke model yang ditentukan ketika model utama kelebihan beban atau tidak tersedia, misalnya model yang sudah pensiun. Menerima daftar yang dipisahkan koma yang dicoba secara berurutan. Lihat [Rantai model fallback](/docs/id/model-config#fallback-model-chains). Untuk mempertahankan rantai di seluruh sesi, gunakan pengaturan [`fallbackModel`](/docs/id/settings-reference#fallbackmodel), yang bendera ini timpa | `claude --fallback-model sonnet,haiku` |

95| `--fork-session` | Saat melanjutkan, buat ID sesi baru alih-alih menggunakan kembali yang asli (gunakan dengan `--resume` atau `--continue`) | `claude --resume abc123 --fork-session` |95| `--fork-session` | Saat melanjutkan, buat ID sesi baru alih-alih menggunakan kembali yang asli (gunakan dengan `--resume` atau `--continue`) | `claude --resume abc123 --fork-session` |


127| `--resume`, `-r` | Lanjutkan sesi tertentu berdasarkan ID atau nama, atau tampilkan pemilih interaktif untuk memilih sesi. Sebagai pengganti ID, Anda dapat melewatkan jalur absolut ke file [transkrip](/docs/id/sessions#where-transcripts-are-stored) `.jsonl` sesi. Pemilih dan pencarian nama mencakup sesi yang menambahkan direktori ini dengan `/add-dir`. Ketika Anda melewatkan ID sesi, Claude Code mencari direktori proyek saat ini dan git worktrees-nya, kemudian setiap proyek lain di mesin ini. Sebelum v2.1.223, pencarian ID hanya mencakup direktori proyek saat ini dan git worktrees-nya. [Sesi latar belakang](/docs/id/agent-view) muncul di pemilih yang ditandai dengan `bg` | `claude --resume auth-refactor` |127| `--resume`, `-r` | Lanjutkan sesi tertentu berdasarkan ID atau nama, atau tampilkan pemilih interaktif untuk memilih sesi. Sebagai pengganti ID, Anda dapat melewatkan jalur absolut ke file [transkrip](/docs/id/sessions#where-transcripts-are-stored) `.jsonl` sesi. Pemilih dan pencarian nama mencakup sesi yang menambahkan direktori ini dengan `/add-dir`. Ketika Anda melewatkan ID sesi, Claude Code mencari direktori proyek saat ini dan git worktrees-nya, kemudian setiap proyek lain di mesin ini. Sebelum v2.1.223, pencarian ID hanya mencakup direktori proyek saat ini dan git worktrees-nya. [Sesi latar belakang](/docs/id/agent-view) muncul di pemilih yang ditandai dengan `bg` | `claude --resume auth-refactor` |

128| `--safe-mode` | Mulai dengan semua kustomisasi dinonaktifkan untuk memecahkan masalah konfigurasi yang rusak: CLAUDE.md, skills, plugins, hooks, server MCP, perintah dan agen khusus, gaya output, alur kerja, tema khusus, pintasan keyboard khusus, perintah baris status dan saran file, server LSP, dan memori otomatis tidak dimuat. Autentikasi, pemilihan model, alat bawaan, dan izin bekerja secara normal, yang berbeda dari [`--bare`](/docs/id/headless#start-faster-with-bare-mode). Kebijakan pengaturan terkelola masih berlaku, termasuk hook yang dikonfigurasi kebijakan, baris status, dan perintah saran file; plugin terkelola, skills terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Berguna untuk memeriksa apakah kustomisasi adalah apa yang memicu [fallback model otomatis](/docs/id/model-config#automatic-model-fallback). Menetapkan [`CLAUDE_CODE_SAFE_MODE`](/docs/id/env-vars) | `claude --safe-mode` |128| `--safe-mode` | Mulai dengan semua kustomisasi dinonaktifkan untuk memecahkan masalah konfigurasi yang rusak: CLAUDE.md, skills, plugins, hooks, server MCP, perintah dan agen khusus, gaya output, alur kerja, tema khusus, pintasan keyboard khusus, perintah baris status dan saran file, server LSP, dan memori otomatis tidak dimuat. Autentikasi, pemilihan model, alat bawaan, dan izin bekerja secara normal, yang berbeda dari [`--bare`](/docs/id/headless#start-faster-with-bare-mode). Kebijakan pengaturan terkelola masih berlaku, termasuk hook yang dikonfigurasi kebijakan, baris status, dan perintah saran file; plugin terkelola, skills terkelola, CLAUDE.md terkelola, dan server MCP yang dikonfigurasi kebijakan tidak. Berguna untuk memeriksa apakah kustomisasi adalah apa yang memicu [fallback model otomatis](/docs/id/model-config#automatic-model-fallback). Menetapkan [`CLAUDE_CODE_SAFE_MODE`](/docs/id/env-vars) | `claude --safe-mode` |

129| `--session-id` | Gunakan ID sesi tertentu untuk percakapan (harus UUID yang valid) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |129| `--session-id` | Gunakan ID sesi tertentu untuk percakapan (harus UUID yang valid) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

130| `--setting-sources` | Daftar sumber pengaturan yang dipisahkan koma untuk dimuat (`user`, `project`, `local`) | `claude --setting-sources user,project` |130| `--setting-sources` | Daftar sumber pengaturan yang dipisahkan koma untuk dimuat (`user`, `project`, `local`). Lihat [tampilan agen](/docs/id/agent-view#what-carries-over-when-you-background) dan [tim agen](/docs/id/agent-teams#context-and-communication) untuk sesi yang Anda mulai dari sesi ini yang mewarisi daftar | `claude --setting-sources user,project` |

131| `--settings` | Jalur ke file JSON pengaturan atau string JSON inline. Nilai yang Anda atur di sini menimpa kunci yang sama dalam file `settings.json` Anda untuk sesi ini. Kunci yang Anda lewatkan menyimpan nilai berbasis file mereka. File harus berupa file biasa tidak lebih besar dari 2 MiB. Lihat [preseden pengaturan](/docs/id/settings#settings-precedence) | `claude --settings ./settings.json` |131| `--settings` | Jalur ke file JSON pengaturan atau string JSON inline. Nilai yang Anda atur di sini menimpa kunci yang sama dalam file `settings.json` Anda untuk sesi ini. Kunci yang Anda lewatkan menyimpan nilai berbasis file mereka. File harus berupa file biasa tidak lebih besar dari 2 MiB. Lihat [preseden pengaturan](/docs/id/settings#settings-precedence) | `claude --settings ./settings.json` |

132| `--strict-mcp-config` | Hanya gunakan server MCP dari `--mcp-config`, abaikan semua konfigurasi MCP lainnya. Lihat [Kontrol eksklusif dengan managed-mcp.json](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) untuk apa yang dilakukan bendera di bawah file MCP terkelola | `claude --strict-mcp-config --mcp-config ./mcp.json` |132| `--strict-mcp-config` | Hanya gunakan server MCP dari `--mcp-config`, abaikan semua konfigurasi MCP lainnya. Lihat [Kontrol eksklusif dengan managed-mcp.json](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) untuk apa yang dilakukan bendera di bawah file MCP terkelola | `claude --strict-mcp-config --mcp-config ./mcp.json` |

133| `--system-prompt` | Ganti seluruh prompt sistem dengan teks khusus | `claude --system-prompt "You are a Python expert"` |133| `--system-prompt` | Ganti seluruh prompt sistem dengan teks khusus | `claude --system-prompt "You are a Python expert"` |

Details

281 Apa yang tersedia di sesi cloud281 Apa yang tersedia di sesi cloud

282</h2>282</h2>

283 283 

284Di lingkungan yang di-host Anthropic, setiap sesi mendapat mesin virtual (VM) segar yang menjalankan Ubuntu 24.04 pada x86\_64, terlepas dari sistem operasi dan arsitektur CPU Anda sendiri, dengan repositori Anda yang dikloning dan toolchain umum yang sudah diinstal sebelumnya. Ketika dependensi menyediakan binari yang sudah dikompilasi, seperti gem Ruby dengan ekstensi asli atau wheel Python yang sudah dibangun, gunakan build Linux x86\_64 untuk mencocokkan VM. Bagian ini mencakup default yang di-host Anthropic, alat GitHub bawaan, cara [menjalankan tes dan layanan](#run-tests-start-services-and-add-packages), dan [batas sumber daya](#resource-limits) yang diterima setiap VM.284Di lingkungan yang di-host Anthropic, setiap sesi mendapat mesin virtual (VM) segar yang menjalankan Ubuntu 24.04 pada x86\_64, terlepas dari sistem operasi dan arsitektur CPU Anda sendiri, dengan repositori Anda yang dikloning dan toolchain umum yang sudah diinstal sebelumnya. Ketika dependensi menyediakan binari yang sudah dikompilasi, seperti gem Ruby dengan ekstensi asli atau wheel Python yang sudah dibangun, gunakan build Linux x86\_64 untuk mencocokkan VM. Bagian ini mencakup default yang di-host Anthropic, alat GitHub bawaan, cara [menjalankan tes dan layanan](#run-tests-start-services-and-add-packages), [batas sumber daya](#resource-limits) yang diterima setiap VM, dan [batas waktu](#time-limits) pada pekerjaan yang berjalan lama.

285 285 

286<Note>286<Note>

287 Sesi yang organisasi Anda arahkan ke [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) berjalan di runner Anda sendiri sebagai gantinya, dengan alat yang disediakan gambar runner Anda.287 Sesi yang organisasi Anda arahkan ke [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) berjalan di runner Anda sendiri sebagai gantinya, dengan alat yang disediakan gambar runner Anda.


421 421 

422VM mungkin menghentikan tugas yang memerlukan memori jauh lebih banyak, seperti pekerjaan build besar atau tes yang memakan memori. Untuk beban kerja di luar batas ini, gunakan [Remote Control](/docs/id/remote-control) untuk menjalankan Claude Code di perangkat keras Anda sendiri, atau jalankan sesi cloud di [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) pada komputasi yang dioperasikan organisasi Anda.422VM mungkin menghentikan tugas yang memerlukan memori jauh lebih banyak, seperti pekerjaan build besar atau tes yang memakan memori. Untuk beban kerja di luar batas ini, gunakan [Remote Control](/docs/id/remote-control) untuk menjalankan Claude Code di perangkat keras Anda sendiri, atau jalankan sesi cloud di [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) pada komputasi yang dioperasikan organisasi Anda.

423 423 

424<h3 id="time-limits">

425 Batas waktu

426</h3>

427 

428Di lingkungan yang di-host Anthropic, batas waktu ini berlaku untuk pekerjaan yang berjalan lama di sesi cloud, seperti build, install, atau test run. Setiap entri menautkan ke bagian yang mendefinisikan batas.

429 

430* **Perintah yang dijalankan Claude**: lingkungan cloud tidak menetapkan timeout perintahnya sendiri, jadi default alat Bash berlaku. Claude menunggu 2 menit untuk perintah secara default dan dapat meminta hingga 10 menit. Ketika perintah mencapai [timeout](/docs/id/tools-reference#timeout-and-output-limits)-nya, Claude Code [memindahkannya ke latar belakang](/docs/id/tools-reference#background-commands) alih-alih menghentikannya, kecuali perintah dimulai dengan `sleep`.

431* **Hook SessionStart**: Claude Code membatalkan hook `command` setelah 600 detik kecuali Anda menetapkan [`timeout`](/docs/id/hooks#common-fields), dalam detik, pada entri hook. Claude Code tidak memberlakukan timeout pada hook yang Anda jalankan dengan [`async: true`](/docs/id/hooks#run-hooks-in-the-background).

432* **Skrip setup**: skrip yang memakan waktu lebih lama dari kira-kira lima menit tidak di-cache. [Script requirements](#script-requirements) mencakup cara tetap di bawah itu.

433* **Sesi idle**: sesi berhenti setelah periode inaktivitas dan VM-nya diambil kembali. [Environment expired](/docs/id/claude-code-on-the-web#environment-expired) mencakup apa yang dihitung sebagai tidak aktif dan cara membuka kembali sesi.

434 

435Untuk menaikkan timeout perintah untuk sesi lingkungan, tambahkan [`BASH_DEFAULT_TIMEOUT_MS` dan `BASH_MAX_TIMEOUT_MS`](/docs/id/env-vars#variables) ke [variabel lingkungannya](#set-environment-variables). Keduanya mengambil milidetik. Misalnya, `BASH_DEFAULT_TIMEOUT_MS=600000` membuat 10 menit menjadi default.

436 

424<h2 id="setup-scripts">437<h2 id="setup-scripts">

425 Skrip setup438 Skrip setup

426</h2>439</h2>


445Skrip setup memiliki tiga batasan untuk ditulis:458Skrip setup memiliki tiga batasan untuk ditulis:

446 459 

447* **Exit zero**: jika skrip keluar non-zero, sesi gagal dimulai. Tambahkan `|| true` ke perintah non-kritis sehingga kegagalan instalasi sesekali tidak memblokir sesi.460* **Exit zero**: jika skrip keluar non-zero, sesi gagal dimulai. Tambahkan `|| true` ke perintah non-kritis sehingga kegagalan instalasi sesekali tidak memblokir sesi.

448* **Selesai dalam lima menit**: jaga runtime total skrip di bawah kira-kira lima menit sehingga [cache lingkungan](#environment-caching) dapat dibangun. Jalankan instalasi independen secara paralel dengan `&` dan `wait`, dan pindahkan unduhan tunggal apa pun yang tidak cocok ke [hook SessionStart](#setup-scripts-vs-sessionstart-hooks) yang meluncurkannya di latar belakang.461* **Selesai dalam lima menit**: jaga runtime total skrip di bawah kira-kira lima menit sehingga [cache lingkungan](#environment-caching) dapat dibangun. Ketika setup memakan waktu lebih lama dari itu, lingkungan tidak di-cache. Jalankan instalasi independen secara paralel dengan `&` dan `wait`, dan pindahkan unduhan tunggal apa pun yang tidak cocok ke [hook SessionStart](#setup-scripts-vs-sessionstart-hooks) yang meluncurkannya di latar belakang. Jika sesi baru macet atau gagal selama setup, lihat [New sessions hang or time out during setup](/docs/id/web-quickstart#new-sessions-hang-or-time-out-during-setup).

449* **Akses jaringan untuk instalasi**: instalasi paket perlu menjangkau registri. Tingkat **Trusted** default mencakup [registri paket umum](#default-allowed-domains) termasuk npm, PyPI, RubyGems, dan crates.io; dengan akses jaringan **None**, instalasi gagal.462* **Akses jaringan untuk instalasi**: instalasi paket perlu menjangkau registri. Tingkat **Trusted** default mencakup [registri paket umum](#default-allowed-domains) termasuk npm, PyPI, RubyGems, dan crates.io; dengan akses jaringan **None**, instalasi gagal.

450 463 

451<h3 id="environment-caching">464<h3 id="environment-caching">

452 Caching lingkungan465 Caching lingkungan

453</h3>466</h3>

454 467 

455Skrip setup berjalan pertama kali Anda memulai sesi di lingkungan. Setelah selesai, Anthropic membuat snapshot sistem file dan menggunakan kembali snapshot itu sebagai titik awal untuk sesi nanti. Sesi baru dimulai dengan dependensi, alat, dan gambar Docker Anda sudah di disk, dan melewati langkah skrip setup. Ini menjaga startup cepat bahkan ketika skrip menginstal toolchain besar atau menarik gambar kontainer.468Skrip setup berjalan pertama kali Anda memulai sesi di lingkungan. Ketika setup selesai dalam [kira-kira lima menit](#script-requirements), Anthropic membuat snapshot sistem file dan menggunakan kembali snapshot itu sebagai titik awal untuk sesi nanti. Sesi baru dimulai dengan dependensi, alat, dan gambar Docker Anda sudah di disk, dan melewati langkah skrip setup. Ini menjaga startup cepat bahkan ketika skrip menginstal toolchain besar atau menarik gambar kontainer. Jika setup memakan waktu lebih lama dari kira-kira lima menit, lingkungan tidak di-cache.

456 469 

457Cache adalah snapshot sistem file, jadi menyimpan apa yang ditulis skrip setup ke disk dan kehilangan apa pun yang hanya berjalan. Paket yang Anda instal, gambar Docker yang Anda tarik, dan file yang Anda tulis semuanya terbawa. Database yang dimulai skrip, tumpukan `docker compose up`, atau proses latar belakang lainnya tidak; mulai mereka per sesi dengan meminta Claude atau dengan [hook SessionStart](#setup-scripts-vs-sessionstart-hooks).470Cache adalah snapshot sistem file, jadi menyimpan apa yang ditulis skrip setup ke disk dan kehilangan apa pun yang hanya berjalan. Paket yang Anda instal, gambar Docker yang Anda tarik, dan file yang Anda tulis semuanya terbawa. Database yang dimulai skrip, tumpukan `docker compose up`, atau proses latar belakang lainnya tidak; mulai mereka per sesi dengan meminta Claude atau dengan [hook SessionStart](#setup-scripts-vs-sessionstart-hooks).

458 471 

code-review.md +2 −2

Details

298 Pemecahan masalah298 Pemecahan masalah

299</h2>299</h2>

300 300 

301Jalankan ulasan adalah upaya terbaik. Jalankan yang gagal tidak pernah memblokir PR Anda, tetapi juga tidak mencoba ulang dengan sendirinya. Bagian ini mencakup cara pulih dari jalankan yang gagal dan tempat mencari ketika jalankan pemeriksaan melaporkan masalah yang tidak dapat Anda temukan.301Jalankan ulasan adalah upaya terbaik, dan jalankan yang gagal tidak pernah memblokir PR Anda. Code Review mencoba ulang beberapa ulasan yang terputus dengan sendirinya. Bagian ini mencakup cara menjalankan ulasan lagi sendiri dan tempat mencari ketika jalankan pemeriksaan melaporkan masalah yang tidak dapat Anda temukan.

302 302 

303<h3 id="retrigger-a-failed-or-timed-out-review">303<h3 id="retrigger-a-failed-or-timed-out-review">

304 Picu ulang ulasan yang gagal atau habis waktu304 Picu ulang ulasan yang gagal atau habis waktu

305</h3>305</h3>

306 306 

307Ketika infrastruktur ulasan mengalami kesalahan internal atau melampaui batas waktu, jalankan pemeriksaan selesai dengan judul **Code review encountered an error** atau **Code review timed out**. Kesimpulannya masih netral, jadi tidak ada yang memblokir penggabungan Anda, tetapi tidak ada temuan yang diposting.307Ketika ulasan gagal atau melampaui batas waktu, jalankan pemeriksaan selesai dengan judul seperti **Code review failed** atau **Code review timed out**. Kesimpulannya masih netral, jadi tidak ada yang memblokir penggabungan Anda. Kecuali ringkasan jalankan pemeriksaan mengatakan ulasan baru dari komit telah antri secara otomatis, jalankan ulasan lagi sendiri.

308 308 

309Untuk menjalankan ulasan lagi, komentari `@claude review` pada PR. Ini memulai ulasan segar tanpa berlangganan PR ke push masa depan. Jika PR tidak [dari fork](#review-pull-requests-from-forks), Anda dapat mengklik **Re-run** pada pemeriksaan **Claude Code Review** di tab Checks GitHub. Jalankan ulang juga memulai ulasan segar tanpa berlangganan PR.309Untuk menjalankan ulasan lagi, komentari `@claude review` pada PR. Ini memulai ulasan segar tanpa berlangganan PR ke push masa depan. Jika PR tidak [dari fork](#review-pull-requests-from-forks), Anda dapat mengklik **Re-run** pada pemeriksaan **Claude Code Review** di tab Checks GitHub. Jalankan ulang juga memulai ulasan segar tanpa berlangganan PR.

310 310 

commands.md +4 −3

Details

79| `/dataviz [request]` | **[Skill](/docs/id/skills#bundled-skills).** Panduan desain untuk bagan, grafik, dan dasbor. Claude memilih bentuk bagan untuk data, menetapkan warna berdasarkan peran, memvalidasi palet untuk keamanan buta warna dan kontras dengan skrip bundel, dan menerapkan aturan tanda, interaksi, dan aksesibilitas. Menggunakan palet placeholder netral merek yang Anda ganti dengan milik Anda sendiri. Memerlukan Claude Code v2.1.198 atau lebih baru |79| `/dataviz [request]` | **[Skill](/docs/id/skills#bundled-skills).** Panduan desain untuk bagan, grafik, dan dasbor. Claude memilih bentuk bagan untuk data, menetapkan warna berdasarkan peran, memvalidasi palet untuk keamanan buta warna dan kontras dengan skrip bundel, dan menerapkan aturan tanda, interaksi, dan aksesibilitas. Menggunakan palet placeholder netral merek yang Anda ganti dengan milik Anda sendiri. Memerlukan Claude Code v2.1.198 atau lebih baru |

80| `/debug [description]` | **[Skill](/docs/id/skills#bundled-skills).** Aktifkan pencatatan debug untuk sesi saat ini dan selesaikan masalah dengan membaca log debug sesi. Pencatatan debug dimatikan secara default kecuali Anda memulai dengan `claude --debug`, jadi menjalankan `/debug` di tengah sesi mulai menangkap log dari titik itu maju. Secara opsional jelaskan masalah untuk fokus analisis |80| `/debug [description]` | **[Skill](/docs/id/skills#bundled-skills).** Aktifkan pencatatan debug untuk sesi saat ini dan selesaikan masalah dengan membaca log debug sesi. Pencatatan debug dimatikan secara default kecuali Anda memulai dengan `claude --debug`, jadi menjalankan `/debug` di tengah sesi mulai menangkap log dari titik itu maju. Secara opsional jelaskan masalah untuk fokus analisis |

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

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

83| `/design-login` | Otorisasi akses sistem desain untuk `/design-sync` dengan akun claude.ai Anda |83| `/design-login` | Otorisasi akses sistem desain untuk `/design-sync` dengan akun claude.ai Anda |

84| `/design-sync [hint]` | **[Skill](/docs/id/skills#bundled-skills).** Konversi sistem desain React repo Anda dan unggah ke [Claude Design](https://claude.ai/design), sehingga desain yang dihasilkannya menggunakan komponen nyata Anda. Secara opsional beri nama sistem desain, misalnya `/design-sync Acme DS`. Sinkronisasi pertama kali memverifikasi setiap komponen dan dapat memakan waktu beberapa jam di repo besar. Tersedia di Anthropic API. Memerlukan claude.ai, yang CLI tidak hubungi di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, atau Claude Platform di AWS, atau melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway#availability-and-limitations), jadi perintah tidak tersedia di sana |84| `/design-sync [hint]` | **[Skill](/docs/id/skills#bundled-skills).** Konversi sistem desain React repo Anda dan unggah ke [Claude Design](https://claude.ai/design), sehingga desain yang dihasilkannya menggunakan komponen nyata Anda. Secara opsional beri nama sistem desain, misalnya `/design-sync Acme DS`. Sinkronisasi pertama kali memverifikasi setiap komponen dan dapat memakan waktu beberapa jam di repo besar. Tersedia di Anthropic API. Memerlukan claude.ai, yang CLI tidak hubungi di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, atau Claude Platform di AWS, atau melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway#availability-and-limitations), jadi perintah tidak tersedia di sana |

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

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

87| `/doctor` | **[Skill](/docs/id/skills#bundled-skills).** Jalankan pemeriksaan pengaturan yang mendiagnosis masalah dan dapat memperbaikinya. Memeriksa kesehatan instalasi, termasuk instalasi duplikat atau sisa, masalah `PATH`, dan file pengaturan yang tidak dapat diuraikan. Menemukan skill yang tidak digunakan, server MCP, dan plugin versus biaya konteks mereka, menandai [hook](/docs/id/hooks) yang lambat, dan memeriksa versi yang lebih baru di [saluran rilis](/docs/id/setup#configure-release-channel) Anda. Menghilangkan duplikat file `CLAUDE.md` lokal terhadap yang diperiksa, memangkas file [`CLAUDE.md`](/docs/id/memory#my-claude-md-is-too-large) yang diperiksa dengan memotong konten yang Claude bisa turunkan dari basis kode, dan memigrasikan panduan yang selalu dimuat yang tersisa ke [skill](/docs/id/skills) dan file `CLAUDE.md` bersarang yang dimuat sesuai permintaan. Juga menawarkan untuk membuat [mode otomatis](/docs/id/permissions#permission-modes) default Anda dan untuk [pra-persetujuan](/docs/id/permissions) perintah baca-saja yang sering ditolak. Laporan temuan terlebih dahulu dan minta konfirmasi sebelum mengubah apa pun. Dari terminal, `claude doctor` mencetak diagnostik instalasi baca-saja tanpa memulai sesi. Alias: `/checkup`. Pemeriksaan trim `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 |87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/id/skills#bundled-skills).** Jalankan pemeriksaan pengaturan yang mendiagnosis masalah dan dapat memperbaikinya. Memeriksa kesehatan instalasi, termasuk instalasi duplikat atau sisa, masalah `PATH`, dan file pengaturan yang tidak dapat diuraikan. Menemukan skill yang tidak digunakan, server MCP, dan plugin versus biaya konteks mereka, menandai [hook](/docs/id/hooks) yang lambat, dan memeriksa versi yang lebih baru di [saluran rilis](/docs/id/setup#configure-release-channel) Anda. Menghilangkan duplikat file `CLAUDE.md` lokal terhadap yang diperiksa, memangkas file [`CLAUDE.md`](/docs/id/memory#my-claude-md-is-too-large) yang diperiksa dengan memotong konten yang Claude bisa turunkan dari basis kode, dan memigrasikan panduan yang selalu dimuat yang tersisa ke [skill](/docs/id/skills) dan file `CLAUDE.md` bersarang yang dimuat sesuai permintaan. Juga menawarkan untuk membuat [mode otomatis](/docs/id/permissions#permission-modes) default Anda dan untuk [pra-persetujuan](/docs/id/permissions) perintah baca-saja yang sering ditolak. Laporan temuan terlebih dahulu dan minta konfirmasi sebelum mengubah apa pun. Dari terminal, `claude doctor` mencetak diagnostik instalasi baca-saja tanpa memulai sesi. Alias: `/checkup`. Jalankan `/doctor prompt-audit` untuk memiliki Claude [audit file `CLAUDE.md`, skill, dan konfigurasi lainnya](/docs/id/memory#write-effective-instructions) untuk instruksi yang ketinggalan zaman atau bertentangan alih-alih menjalankan pemeriksaan. Subperintah `prompt-audit` memerlukan Claude Code v2.1.283 atau lebih baru. Pemeriksaan trim `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 |

88| `/effort [level\|auto\|status]` | Atur [tingkat upaya](/docs/id/model-config#adjust-effort-level): `low` hingga `xhigh`, `max`, [`ultracode`](/docs/id/workflows#let-claude-decide-with-ultracode), atau `auto`; `status` mencetaknya. `max` dan `ultracode` hanya sesi; kunci [`ultracode`](/docs/id/settings-reference#ultracode) bertahan. Jalankan saat Claude merespons dan, setelah Anda mengonfirmasi [peringatan cache](/docs/id/prompt-caching#changing-effort-level), jika Claude Code menunjukkan satu, Claude Code menerapkan tingkat baru ke permintaan berikutnya dalam giliran itu. Sebelum v2.1.242, Claude Code memutuskan dari bendera fitur yang diambilnya dari Anthropic apakah akan menjalankan perintah di tengah giliran atau mengantrikannya sampai giliran selesai, dan selalu mengantrikannya dalam sesi yang tidak [mengambil bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), seperti di [penyedia pihak ketiga](/docs/id/third-party-integrations). Bekerja dalam `-p` |88| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Atur [tingkat upaya](/docs/id/model-config#adjust-effort-level): `low` hingga `xhigh`, `max`, atau `auto`; `status` mencetaknya. `ultracode` atau `ultracode on` mengaktifkan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) untuk sesi pada tingkat saat ini, dan `ultracode off` mematikannya; kunci [`ultracode`](/docs/id/settings-reference#ultracode) bertahan. `max` hanya sesi. Argumen `on` dan `off` serta mempertahankan tingkat saat ini memerlukan Claude Code v2.1.284 atau lebih baru. Sebelum v2.1.284, `/effort ultracode` menetapkan sesi ke `xhigh`, dan `/effort ultracode off` gagal dengan `Invalid argument`. Jalankan saat Claude merespons dan, setelah Anda mengonfirmasi [peringatan cache](/docs/id/prompt-caching#changing-effort-level), jika Claude Code menunjukkan satu, Claude Code menerapkan tingkat baru ke permintaan berikutnya dalam giliran itu. Sebelum v2.1.242, Claude Code memutuskan dari bendera fitur yang diambilnya dari Anthropic apakah akan menjalankan perintah di tengah giliran atau mengantrikannya sampai giliran selesai, dan selalu mengantrikannya dalam sesi yang tidak [mengambil bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), seperti di [penyedia pihak ketiga](/docs/id/third-party-integrations). Bekerja dalam `-p` |

89| `/exit` | Keluar dari CLI. Dalam [sesi latar belakang](/docs/id/agent-view#attach-to-a-session) yang terlampir, ini melepaskan dan sesi terus berjalan. Alias: `/quit` |89| `/exit` | Keluar dari CLI. Dalam [sesi latar belakang](/docs/id/agent-view#attach-to-a-session) yang terlampir, ini melepaskan dan sesi terus berjalan. Alias: `/quit` |

90| `/export [filename]` | Ekspor percakapan saat ini sebagai teks biasa. Dengan nama file, menulis langsung ke file itu. Tanpa, membuka dialog untuk menyalin ke clipboard atau menyimpan ke file |90| `/export [filename]` | Ekspor percakapan saat ini sebagai teks biasa. Dengan nama file, menulis langsung ke file itu. Tanpa, membuka dialog untuk menyalin ke clipboard atau menyimpan ke file |

91| `/fast [on\|off]` | Alihkan [mode cepat](/docs/id/fast-mode) aktif atau nonaktif. Jalankan saat Claude merespons dan Claude Code mengalihkan mode cepat tanpa menunggu giliran berakhir, meskipun giliran yang berjalan selesai dengan kecepatan aslinya. Sebelum v2.1.242, Claude Code memutuskan dari bendera fitur yang diambilnya dari Anthropic apakah akan menjalankan perintah di tengah giliran atau mengantrikannya sampai giliran selesai, dan selalu mengantrikannya dalam sesi yang tidak [mengambil bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching). Ketersediaan dalam mode non-interaktif dengan `-p` terbatas; lihat [Alihkan mode cepat](/docs/id/fast-mode#toggle-fast-mode). Memerlukan Claude Code v2.1.205 atau lebih baru |91| `/fast [on\|off]` | Alihkan [mode cepat](/docs/id/fast-mode) aktif atau nonaktif. Jalankan saat Claude merespons dan Claude Code mengalihkan mode cepat tanpa menunggu giliran berakhir, meskipun giliran yang berjalan selesai dengan kecepatan aslinya. Sebelum v2.1.242, Claude Code memutuskan dari bendera fitur yang diambilnya dari Anthropic apakah akan menjalankan perintah di tengah giliran atau mengantrikannya sampai giliran selesai, dan selalu mengantrikannya dalam sesi yang tidak [mengambil bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching). Ketersediaan dalam mode non-interaktif dengan `-p` terbatas; lihat [Alihkan mode cepat](/docs/id/fast-mode#toggle-fast-mode). Memerlukan Claude Code v2.1.205 atau lebih baru |


143| `/simplify [target]` | **[Skill](/docs/id/skills#bundled-skills).** Tinjau kode yang diubah untuk peluang pembersihan dan terapkan perbaikan. Empat [agen](/docs/id/sub-agents) ulasan berjalan secara paralel, mencakup penggunaan kembali pembantu yang ada, penyederhanaan, efisiensi, dan apakah perubahan berada pada tingkat abstraksi yang tepat. Ulasan tidak mencari bug kebenaran. Gunakan `/code-review` untuk menemukan bug. Berikan jalur atau referensi PR untuk meninjau target tertentu |143| `/simplify [target]` | **[Skill](/docs/id/skills#bundled-skills).** Tinjau kode yang diubah untuk peluang pembersihan dan terapkan perbaikan. Empat [agen](/docs/id/sub-agents) ulasan berjalan secara paralel, mencakup penggunaan kembali pembantu yang ada, penyederhanaan, efisiensi, dan apakah perubahan berada pada tingkat abstraksi yang tepat. Ulasan tidak mencari bug kebenaran. Gunakan `/code-review` untuk menemukan bug. Berikan jalur atau referensi PR untuk meninjau target tertentu |

144| `/skill-doctor` | Tampilkan apa yang setiap [skill](/docs/id/skills) Anda biaya dalam konteks dan seberapa sering digunakan, sehingga Anda dapat [menemukan skill untuk dimatikan](/docs/id/skills#find-unused-skills). Memerlukan Claude Code v2.1.252 atau lebih baru dan [pengambilan bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching) |144| `/skill-doctor` | Tampilkan apa yang setiap [skill](/docs/id/skills) Anda biaya dalam konteks dan seberapa sering digunakan, sehingga Anda dapat [menemukan skill untuk dimatikan](/docs/id/skills#find-unused-skills). Memerlukan Claude Code v2.1.252 atau lebih baru dan [pengambilan bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching) |

145| `/skills` | Daftar [skill](/docs/id/skills) yang tersedia. Ketik untuk memfilter daftar berdasarkan nama, deskripsi, atau sumber. Tekan `t` untuk mengurutkan berdasarkan jumlah token, `Space` atau `Enter` untuk [siklus visibilitas skill ke Claude dan menu `/`](/docs/id/skills#override-skill-visibility-from-settings), dan `Esc` untuk menyimpan dan menutup. Anda tidak dapat mengulangi skill plugin, skill yang frontmatter menetapkan `disable-model-invocation: true`, atau skill dengan entri `skillOverrides` dalam pengaturan terkelola atau bendera `--settings` |145| `/skills` | Daftar [skill](/docs/id/skills) yang tersedia. Ketik untuk memfilter daftar berdasarkan nama, deskripsi, atau sumber. Tekan `t` untuk mengurutkan berdasarkan jumlah token, `Space` atau `Enter` untuk [siklus visibilitas skill ke Claude dan menu `/`](/docs/id/skills#override-skill-visibility-from-settings), dan `Esc` untuk menyimpan dan menutup. Anda tidak dapat mengulangi skill plugin, skill yang frontmatter menetapkan `disable-model-invocation: true`, atau skill dengan entri `skillOverrides` dalam pengaturan terkelola atau bendera `--settings` |

146| `/slides [brief]` | **[Skill](/docs/id/skills#bundled-skills).** Buat presentasi baru sebagai [artifact](/docs/id/artifacts#make-a-slide-deck) Claude Slides yang diisi dari ringkasan Anda, misalnya `/slides a quarterly review of the platform team`. Memerlukan Claude Code v2.1.265 atau lebih baru, sesi di mana [artifact tersedia](/docs/id/artifacts#availability), dan akun di mana [template Slides tersedia](/docs/id/artifacts#start-from-a-slides-design-or-docs-template); jika tidak, perintah tidak muncul. Tersedia di Anthropic API. Di Amazon Bedrock, Platform Agent Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, artifact tidak tersedia, jadi perintah tidak tersedia di sana |

146| `/stats` | Alias untuk `/usage`. Membuka di tab Stats |147| `/stats` | Alias untuk `/usage`. Membuka di tab Stats |

147| `/status` | Buka antarmuka Settings di tab Status, menampilkan versi, model, akun, dan konektivitas. Baris `Session kind` membaca `background job · attached` atau `background job · unattended` dalam [sesi latar belakang](/docs/id/agent-view), tergantung pada apakah terminal terlampir, dan `interactive` dalam sesi lainnya. Sebelum v2.1.221, `/status` tidak menampilkan baris ini. Bekerja saat Claude merespons |148| `/status` | Buka antarmuka Settings di tab Status, menampilkan versi, model, akun, dan konektivitas. Baris `Session kind` membaca `background job · attached` atau `background job · unattended` dalam [sesi latar belakang](/docs/id/agent-view), tergantung pada apakah terminal terlampir, dan `interactive` dalam sesi lainnya. Sebelum v2.1.221, `/status` tidak menampilkan baris ini. Bekerja saat Claude merespons |

148| `/statusline` | Konfigurasi [baris status](/docs/id/statusline) Claude Code. Jelaskan apa yang Anda inginkan, atau jalankan tanpa argumen untuk auto-configure dari prompt shell Anda |149| `/statusline` | Konfigurasi [baris status](/docs/id/statusline) Claude Code. Jelaskan apa yang Anda inginkan, atau jalankan tanpa argumen untuk auto-configure dari prompt shell Anda |

Details

228yang berisiko tinggi. Turun ke *Haiku* untuk pertanyaan cepat, pemformatan, dan edit mekanis228yang berisiko tinggi. Turun ke *Haiku* untuk pertanyaan cepat, pemformatan, dan edit mekanis

229di mana kecepatan menang. *Fable* adalah model paling mampu untuk tugas-tugas tersulit dan229di mana kecepatan menang. *Fable* adalah model paling mampu untuk tugas-tugas tersulit dan

230paling lama; itu bukan default, jadi pilih dengan `/model fable`, dan perhatikan bahwa konten230paling lama; itu bukan default, jadi pilih dengan `/model fable`, dan perhatikan bahwa konten

231cybersecurity dan biology kembali ke Opus secara otomatis. Opus 5.5 dan Opus 5 menjalankan pemeriksaannya sendiri juga: konten yang ditandai beralih ke Opus sebelumnya, kecuali231cybersecurity dan biology kembali ke Opus secara otomatis. Opus 5.5, Sonnet 5.5, dan

232konten biology yang ditandai pada Opus 5 ditolak.232Opus 5 menjalankan pemeriksaannya sendiri juga: konten yang ditandai beralih ke model sebelumnya

233dalam keluarga yang sama, kecuali konten biology yang ditandai pada Opus 5 atau Sonnet

2345.5 ditolak.

233 235 

234*Coba sekarang:* ketik `/model` dan pilih Sonnet jika Anda belum melakukannya. Ini adalah236*Coba sekarang:* ketik `/model` dan pilih Sonnet jika Anda belum melakukannya. Ini adalah

235default yang tepat untuk sebagian besar tugas.237default yang tepat untuk sebagian besar tugas.


241| - | - |243| - | - |

242| Fable | Tugas-tugas tersulit dan paling lama. Opt-in saja: pilih dengan `/model fable`. Konten cybersecurity atau biology memicu [fallback model otomatis ke Opus](/docs/id/model-config#automatic-model-fallback) |244| Fable | Tugas-tugas tersulit dan paling lama. Opt-in saja: pilih dengan `/model fable`. Konten cybersecurity atau biology memicu [fallback model otomatis ke Opus](/docs/id/model-config#automatic-model-fallback) |

243| Opus | Refactor skala besar, debugging kompleks, keputusan arsitektur, perubahan berisiko tinggi. Pada Opus 5.5 dan Opus 5, konten cybersecurity atau biology memicu [fallback model otomatis atau penolakan](/docs/id/model-config#automatic-model-fallback) |245| Opus | Refactor skala besar, debugging kompleks, keputusan arsitektur, perubahan berisiko tinggi. Pada Opus 5.5 dan Opus 5, konten cybersecurity atau biology memicu [fallback model otomatis atau penolakan](/docs/id/model-config#automatic-model-fallback) |

244| Sonnet | Pekerjaan fitur sehari-hari, perbaikan bug, tes, dokumentasi, review kode. Default yang direkomendasikan. |246| Sonnet | Pekerjaan fitur sehari-hari, perbaikan bug, tes, dokumentasi, review kode. Default yang direkomendasikan. Pada Sonnet 5.5, konten cybersecurity atau biology memicu [fallback model otomatis atau penolakan](/docs/id/model-config#automatic-model-fallback) |

245| Haiku | Pertanyaan cepat, pemformatan, edit mekanis, iterasi cepat |247| Haiku | Pertanyaan cepat, pemformatan, edit mekanis, iterasi cepat |

246 248 

247**Kemenangan cepat untuk dicoba terlebih dahulu**249**Kemenangan cepat untuk dicoba terlebih dahulu**

Details

1632* **Bersihkan antar tugas**: jalankan `/clear` saat beralih ke pekerjaan yang tidak terkait. Percakapan lama mengalahkan file yang Anda butuhkan selanjutnya dan menghabiskan token pada setiap pesan.1632* **Bersihkan antar tugas**: jalankan `/clear` saat beralih ke pekerjaan yang tidak terkait. Percakapan lama mengalahkan file yang Anda butuhkan selanjutnya dan menghabiskan token pada setiap pesan.

1633* **Delegasikan pembacaan besar**: kirim penelitian ke [subagent](/docs/id/sub-agents) sehingga konten file tetap berada di jendela konteksnya, bukan milik Anda.1633* **Delegasikan pembacaan besar**: kirim penelitian ke [subagent](/docs/id/sub-agents) sehingga konten file tetap berada di jendela konteksnya, bukan milik Anda.

1634 1634 

1635Jika Anda membutuhkan jendela yang lebih besar daripada percakapan yang lebih kecil, model Fable, Sonnet 5, Opus 4.6 dan yang lebih baru, dan Sonnet 4.6 mendukung jendela konteks 1 juta token. Lihat [Extended context](/docs/id/model-config#extended-context) untuk ketersediaan menurut paket dan cara memilih varian model `[1m]`. Pemadatan bekerja dengan cara yang sama pada batas yang lebih besar.1635Jika Anda membutuhkan jendela yang lebih besar daripada percakapan yang lebih kecil, model Fable, Sonnet 5 dan yang lebih baru, Opus 4.6 dan yang lebih baru, dan Sonnet 4.6 mendukung jendela konteks 1 juta token. Lihat [Extended context](/docs/id/model-config#extended-context) untuk ketersediaan menurut paket dan cara memilih varian model `[1m]`. Pemadatan bekerja dengan cara yang sama pada batas yang lebih besar.

1636 1636 

1637Sonnet 5 berjalan dengan jendela konteks 1M dan tidak memiliki varian `[1m]` untuk dipilih. Lihat [Sonnet 5 context window](/docs/id/model-config#sonnet-5-context-window) untuk ambang batas auto-compaction-nya dan pengecualian gateway LLM.1637Sonnet 5.5 dan Sonnet 5 berjalan dengan jendela konteks 1M dan tidak memiliki varian `[1m]` untuk dipilih. Lihat [Sonnet 5.5 and Sonnet 5 context window](/docs/id/model-config#sonnet-5-5-and-sonnet-5-context-window) untuk ambang batas auto-compaction-nya dan pengecualian gateway LLM.

1638 1638 

1639Titik di mana pemadatan otomatis berjalan tergantung pada model dan konfigurasi Anda. Lihat [Default auto-compact thresholds](/docs/id/model-config#default-auto-compact-thresholds) untuk batas per model, dan [Correct the window for a gateway or custom model ID](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) jika Claude Code mengasumsikan jendela yang salah untuk ID model Anda, seperti alias [LLM gateway](/docs/id/llm-gateway).1639Titik di mana pemadatan otomatis berjalan tergantung pada model dan konfigurasi Anda. Lihat [Default auto-compact thresholds](/docs/id/model-config#default-auto-compact-thresholds) untuk batas per model, dan [Correct the window for a gateway or custom model ID](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) jika Claude Code mengasumsikan jendela yang salah untuk ID model Anda, seperti alias [LLM gateway](/docs/id/llm-gateway).

1640 1640 

costs.md +4 −1

Details

359 359 

360Pemikiran yang diperluas diaktifkan secara default karena secara signifikan meningkatkan kinerja pada tugas perencanaan dan penalaran yang kompleks. Token pemikiran ditagih sebagai token output, dan anggaran default dapat mencapai puluhan ribu token per permintaan tergantung pada model.360Pemikiran yang diperluas diaktifkan secara default karena secara signifikan meningkatkan kinerja pada tugas perencanaan dan penalaran yang kompleks. Token pemikiran ditagih sebagai token output, dan anggaran default dapat mencapai puluhan ribu token per permintaan tergantung pada model.

361 361 

362Untuk tugas yang lebih sederhana di mana penalaran mendalam tidak diperlukan, Anda dapat mengurangi biaya dengan menurunkan [tingkat upaya](/docs/id/model-config#adjust-effort-level) dengan `/effort` atau di `/model`, atau dengan menonaktifkan pemikiran di `/config`. Anda tidak dapat mematikan pemikiran pada Opus 5.5 atau model Fable, yang selalu menggunakan pemikiran yang diperluas.362Untuk tugas yang lebih sederhana di mana penalaran mendalam tidak diperlukan, Anda dapat mengurangi biaya dengan menurunkan [tingkat upaya](/docs/id/model-config#adjust-effort-level) dengan `/effort` atau di `/model`, atau dengan menonaktifkan pemikiran di `/config`. Anda tidak dapat mematikan pemikiran pada Opus 5.5, Sonnet 5.5, atau model Fable, yang selalu menggunakan pemikiran yang diperluas.

363 363 

364Pada model dengan [anggaran pemikiran tetap](/docs/id/model-config#adaptive-reasoning-and-fixed-thinking-budgets), Anda juga dapat menurunkan anggaran dengan menetapkan [variabel lingkungan](/docs/id/env-vars) `MAX_THINKING_TOKENS`, misalnya `MAX_THINKING_TOKENS=8000`. Model adaptive-reasoning mengabaikan anggaran bukan nol, jadi gunakan tingkat upaya di sana.364Pada model dengan [anggaran pemikiran tetap](/docs/id/model-config#adaptive-reasoning-and-fixed-thinking-budgets), Anda juga dapat menurunkan anggaran dengan menetapkan [variabel lingkungan](/docs/id/env-vars) `MAX_THINKING_TOKENS`, misalnya `MAX_THINKING_TOKENS=8000`. Model adaptive-reasoning mengabaikan anggaran bukan nol, jadi gunakan tingkat upaya di sana.

365 365 


369 369 

370Menjalankan tes, mengambil dokumentasi, atau memproses file log dapat mengonsumsi konteks yang signifikan. Delegasikan ini ke [subagents](/docs/id/sub-agents#isolate-high-volume-operations) sehingga output verbose tetap dalam konteks subagent sementara hanya ringkasan yang kembali ke percakapan utama Anda.370Menjalankan tes, mengambil dokumentasi, atau memproses file log dapat mengonsumsi konteks yang signifikan. Delegasikan ini ke [subagents](/docs/id/sub-agents#isolate-high-volume-operations) sehingga output verbose tetap dalam konteks subagent sementara hanya ringkasan yang kembali ke percakapan utama Anda.

371 371 

372Permintaan subagent sendiri masih menarik penggunaan Anda. Untuk menghabiskan lebih sedikit pada mereka, [pilih model yang lebih kecil untuk subagent](/docs/id/sub-agents#choose-a-model) atau [jalankan setiap subagent pada satu model](/docs/id/sub-agents#run-every-subagent-on-one-model).

373 

372<h3 id="manage-agent-team-costs">374<h3 id="manage-agent-team-costs">

373 Kelola biaya tim agen375 Kelola biaya tim agen

374</h3>376</h3>


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

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

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

421* **Subagen dan alur kerja**: setiap subagen, dan setiap agen yang [alur kerja dinamis](/docs/id/workflows#cost) hasilkan, mengirimkan permintaannya sendiri di atas percakapan utama. [Rincian atribusi](#plan-usage-breakdown) menunjukkan bagian subagen

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

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

421 424 

Details

14 14 

15Pesan adalah sepotong teks yang ditulis satu Claude ke Claude lainnya, tidak pernah riwayat percakapan atau file pengirim. Untuk memindahkan seluruh percakapan atau konteksnya, [lanjutkan sesi](/docs/id/sessions#resume-a-session) sebagai gantinya.15Pesan adalah sepotong teks yang ditulis satu Claude ke Claude lainnya, tidak pernah riwayat percakapan atau file pengirim. Untuk memindahkan seluruh percakapan atau konteksnya, [lanjutkan sesi](/docs/id/sessions#resume-a-session) sebagai gantinya.

16 16 

17Claude menggunakan dua alat untuk ini: `ListAgents` untuk menemukan agen mana yang dapat dijangkaunya, dan `SendMessage` untuk mengirimkan pesan ke salah satunya berdasarkan nama. Dengan alat `SendMessage` yang sama, Claude juga dapat mengirim pesan ke [subagen](/docs/id/sub-agents#resume-subagents) dan rekan tim [tim agen](/docs/id/agent-teams) dalam satu sesi atau tim. Halaman ini mencakup pesan antara sesi independen Anda.

18 

19<h2 id="when-to-use-cross-session-messaging">17<h2 id="when-to-use-cross-session-messaging">

20 Kapan menggunakan cross-session messaging18 Kapan menggunakan cross-session messaging

21</h2>19</h2>


27* **Dapatkan status dari pekerjaan yang berjalan lama**: buat migrasi atau pengujian melaporkan kembali ke sesi yang Anda tonton, atau minta sendiri dari sana. Jika sesi itu ada di mesin ini, Claude juga dapat [memintanya untuk satu pemberitahuan ketika sesi berikutnya idle atau keluar](#get-a-notice-when-another-session-goes-idle).25* **Dapatkan status dari pekerjaan yang berjalan lama**: buat migrasi atau pengujian melaporkan kembali ke sesi yang Anda tonton, atau minta sendiri dari sana. Jika sesi itu ada di mesin ini, Claude juga dapat [memintanya untuk satu pemberitahuan ketika sesi berikutnya idle atau keluar](#get-a-notice-when-another-session-goes-idle).

28* **Kirim pesan lintas mesin**: jangkau salah satu sesi Anda di mesin lain atau di web.26* **Kirim pesan lintas mesin**: jangkau salah satu sesi Anda di mesin lain atau di web.

29 27 

30Gunakan messaging antara sesi independen yang Anda mulai dan arahkan sendiri. Claude Code memiliki fitur khusus untuk setiap cara lain menjalankan atau menjangkau beberapa sesi, jadi gunakan yang dibangun untuk apa yang Anda lakukan:

31 

32* Untuk melanjutkan satu percakapan di terminal lain, atau berbagi konteksnya dengan sesi baru, [lanjutkan sesi](/docs/id/sessions#resume-a-session)

33* Untuk tim sesi terkoordinasi yang Claude spawn dan supervisi, gunakan [agent teams](/docs/id/agent-teams)

34* Untuk menonton dan mengarahkan banyak sesi dari satu tempat, gunakan [agent view](/docs/id/agent-view)

35* Untuk mengarahkan sesi sendiri dari ponsel atau perangkat lain, daripada membuat sesi saling mengirim pesan, gunakan [Remote Control](/docs/id/remote-control)

36* Untuk mendorong peristiwa eksternal, seperti hasil CI atau pesan chat, ke dalam sesi, gunakan [channels](/docs/id/channels)

37 

38<h2 id="message-another-session">28<h2 id="message-another-session">

39 Kirim pesan ke sesi lain29 Mengirim pesan ke sesi lain

40</h2>30</h2>

41 31 

42Ketika salah satu sesi Anda mempelajari sesuatu yang dibutuhkan sesi lain, seperti temuan, status, atau keputusan, Claude meneruskannya alih-alih Anda menyalin-menempel antar terminal. Claude menemukan target dengan `ListAgents` dan mengirim dengan `SendMessage`, jadi Anda tidak pernah memanggil tool apa pun sendiri. Claude dapat memutuskan untuk mengirimkan pesan tanpa diminta, dan Anda juga dapat meminta satu.32Ketika salah satu sesi Anda mempelajari sesuatu yang sesi lain butuhkan, seperti temuan, status, atau keputusan, Claude meneruskannya alih-alih Anda menyalin-menempel antar terminal. Claude menemukan target dengan `ListAgents` dan mengirim dengan `SendMessage`, jadi Anda tidak pernah memanggil salah satu alat tersebut sendiri. Claude dapat memutuskan untuk mengirim pesan tanpa diminta, dan Anda juga dapat meminta satu.

43 33 

44Untuk meminta satu sendiri, beri tahu Claude apa yang ingin Anda ketahui atau lakukan sesi lain. Contoh ini adalah prompt yang Anda ketik, bukan pesan yang Claude kirim:34Untuk meminta satu sendiri, beri tahu Claude apa yang ingin Anda ketahui atau lakukan oleh sesi lain. Contoh ini adalah prompt yang Anda ketik, bukan pesan yang Claude kirim:

45 35 

46```text wrap theme={null}36```text wrap theme={null}

47Tanyakan ke sesi yang berjalan di terminal lain saya apakah migrasi selesai37Tanyakan ke sesi yang berjalan di terminal lain saya apakah migrasi selesai

48```38```

49 39 

50Claude menulis pesan aktual sendiri, jadi prompt Anda dapat meninggalkan konten kepada Claude. Prompt ini meminta ringkasan tanpa mendikte kata-katanya, dan apa yang Claude kirim bervariasi:40Claude menulis pesan aktual itu sendiri, jadi prompt Anda dapat membiarkan konten kepada Claude. Prompt ini meminta ringkasan tanpa mendikte kata-katanya, dan apa yang Claude kirim bervariasi:

51 41 

52```text wrap theme={null}42```text wrap theme={null}

53Jelaskan apa yang baru saja kami lakukan ke sesi yang bekerja pada API pembayaran43Jelaskan apa yang baru saja kita lakukan ke sesi yang mengerjakan API pembayaran

54```44```

55 45 

56Untuk menamai target sendiri, sebutkan sesi dalam prompt Anda: ketik `@` diikuti oleh huruf pertama nama sesi dan pilih sesi dari typeahead, dengan cara yang sama Anda [@-mention subagent](/docs/id/sub-agents#invoke-subagents-explicitly). Memerlukan Claude Code v2.1.232 atau lebih baru. Claude Code menyisipkan penyebutan, seperti `@api-worker`, dan memberi tahu Claude sesi mana yang dinamainya, jadi Claude dapat mengirim pesan ke sesi itu tanpa membuat daftar sesi Anda terlebih dahulu. Prompt ini menamai target dengan penyebutan:46Untuk menamai target sendiri, sebutkan sesi dalam prompt Anda: ketik `@` diikuti oleh huruf pertama nama sesi dan pilih sesi dari typeahead, dengan cara yang sama Anda [@-mention subagent](/docs/id/sub-agents#invoke-subagents-explicitly). Memerlukan Claude Code v2.1.232 atau lebih baru. Claude Code menyisipkan mention, seperti `@api-worker`, dan memberi tahu Claude sesi mana yang dinamai, sehingga Claude dapat mengirim pesan ke sesi itu tanpa membuat daftar sesi Anda terlebih dahulu. Prompt ini menamai target dengan mention:

57 47 

58```text wrap theme={null}48```text wrap theme={null}

59Biarkan @api-worker tahu migrasi skema selesai49Beri tahu @api-worker bahwa migrasi skema selesai

60```50```

61 51 

62Typeahead mencantumkan sesi live lain Anda di mesin ini. Dua kasus memerlukan lebih dari huruf pertama nama:52Typeahead mencantumkan sesi hidup lainnya Anda di mesin ini. Dua kasus memerlukan lebih dari huruf pertama nama:

63 53 

64* **Sesi di luar mesin ini**: sesi cloud atau Remote Control muncul di typeahead hanya setelah Claude telah membuat daftar atau mengirim pesan ke sesi Anda di luar mesin ini, jadi minta Claude untuk membuat daftar mereka terlebih dahulu.54* **Sesi di luar mesin ini**: sesi cloud atau Remote Control muncul di typeahead hanya setelah Claude telah membuat daftar atau mengirim pesan ke sesi Anda di luar mesin ini, jadi minta Claude untuk membuat daftar mereka terlebih dahulu.

65* **Nama dengan spasi atau karakter lain di luar huruf, digit, tanda hubung, dan garis bawah**: ketiknya dalam tanda kutip ganda, seperti `@"release notes"`. Ketika Anda memilih sesi dari typeahead, Claude Code menyisipkan tanda kutip untuk Anda.55* **Nama dengan spasi atau karakter lain di luar huruf, digit, tanda hubung, dan garis bawah**: ketikkan dalam tanda kutip ganda, seperti `@"release notes"`. Ketika Anda memilih sesi dari typeahead, Claude Code menyisipkan tanda kutip untuk Anda.

66 56 

67Anda juga dapat mengetik penyebutan tanpa pemilih. Ketika lebih dari satu sesi live menjawab nama yang disebutkan, Claude meminta Anda sesi mana yang Anda maksud sebelum mengirim.57Anda juga dapat mengetik mention tanpa picker. Ketika lebih dari satu sesi hidup menjawab nama yang disebutkan, Claude menanyakan kepada Anda yang mana sebelum mengirim.

68 58 

69Untuk apa pesan yang Claude tulis terlihat seperti ketika tiba, termasuk contoh satu, lihat [apa pesan terlihat seperti](#what-a-message-looks-like).59Untuk apa pesan yang Claude tulis terlihat seperti ketika tiba, termasuk contoh satu, lihat [apa tampilan pesan](#what-a-message-looks-like).

70 60 

71<h3 id="message-delivery">61<h3 id="message-delivery">

72 Pengiriman pesan62 Pengiriman pesan

73</h3>63</h3>

74 64 

75Claude penerima membaca pesan antara pemanggilan tools selama giliran aktif, jadi tools yang berjalan tidak pernah terputus. Ketika sesi penerima idle, Claude Code memulai giliran baru dengan pesan.65Claude penerima membaca pesan di antara panggilan alat selama giliran aktif, jadi alat yang berjalan tidak pernah terganggu. Ketika sesi penerima menganggur, Claude Code memulai giliran baru dengan pesan.

76 66 

77Pesan dari sesi lain tiba sebagai teks biasa. Jika menyebutkan file atau [MCP resource](/docs/id/mcp#use-mcp-resources) dengan `@`, Claude melihat penyebutan seperti yang ditulis dan Claude Code tidak melampirkan apa pun, apakah pesan memulai giliran baru atau tiba selama satu. Claude masih dapat membuka jalur yang disebutkan di mesin penerima dengan tools-nya sendiri, tunduk pada izin sesi itu. Sebelum v2.1.251, penyebutan `@` dalam pesan yang memulai giliran baru melampirkan file atau MCP resource di sisi penerima.67Pesan dari sesi lain tiba sebagai teks biasa. Jika menyebutkan file atau [sumber daya MCP](/docs/id/mcp#use-mcp-resources) dengan `@`, Claude melihat mention seperti yang ditulis dan Claude Code tidak melampirkan apa pun, apakah pesan memulai giliran baru atau tiba selama satu. Claude masih dapat membuka jalur yang disebutkan di mesin penerima dengan alatnya sendiri, tunduk pada izin sesi itu.

78 68 

79Claude Code menolak pesan dalam kasus berikut:69Claude Code menolak pesan dalam kasus berikut:

80 70 

81* Pesan [melebihi batas ukuran](#limitations). Claude Code menolaknya di sesi pengirim, sebelum meninggalkan.71* Pesan [melebihi batas ukuran](#limitations). Claude Code menolaknya dalam sesi pengiriman, sebelum meninggalkan.

82* Ledakan cepat ke sesi di mesin ini telah mencapai [apa yang diterima inbox sesi itu](#limitations). Claude Code menolak pesan lebih lanjut ke sesi itu.72* Ledakan cepat ke sesi di mesin ini telah mencapai [apa yang diterima kotak masuk sesi itu](#limitations). Claude Code menolak pesan lebih lanjut ke sesi itu.

83* Target balasan di mesin ini gagal pemeriksaan keamanan, seperti target yang disimbolkan atau endpoint yang bukan proses yang diharapkan. [Menolak mengirim pesan cross-session](/docs/id/errors#refusing-to-send-a-cross-session-message) mencantumkan pemeriksaan ini.73* Target balasan di mesin ini gagal pemeriksaan keamanan, seperti target yang disimbolkan atau endpoint yang bukan proses yang diharapkan. [Menolak untuk mengirim pesan lintas-sesi](/docs/id/errors#refusing-to-send-a-cross-session-message) mencantumkan pemeriksaan ini.

84* Claude mengatasi pesan ke nama sesi ini sendiri, seperti dijelaskan di bawah [Lihat sesi mana yang dapat dijangkau Claude](#see-which-sessions-claude-can-reach).

85 74 

86Sesi penerima memeriksa setiap pesan yang tiba terhadap [kontrol inbound](#control-inbound-messages) miliknya sendiri, dan pemeriksaan berakhir dalam salah satu dari tiga hasil:75Sesi penerima memeriksa setiap pesan yang tiba terhadap [kontrol inbound](/docs/id/errors#control-inbound-messages) miliknya sendiri, dan pemeriksaan berakhir dalam salah satu dari tiga hasil:

87 76 

88* **Delivered**: Claude Code meneruskan pesan ke Claude penerima.77* **Dikirim**: Claude Code meneruskan pesan ke Claude penerima.

89* **Held**: Claude Code menyisihkan pesan tanpa dikirim. Pesan yang ditahan mencapai Claude hanya ketika Anda menyetujuinya atau perubahan mode atau pengaturan yang lebih baru memungkinkannya.78* **Ditahan**: Claude Code menyisihkan pesan tanpa dikirim. Pesan yang ditahan mencapai Claude hanya ketika Anda menyetujuinya atau perubahan mode atau pengaturan yang lebih baru memungkinkannya.

90* **Refused**: Claude Code menjatuhkan pesan tanpa mengirimkannya.79* **Ditolak**: Claude Code menghapus pesan tanpa mengirimkannya.

91 80 

92Setelah dikirim, pesan dihitung terhadap [usage](/docs/id/costs) seperti prompt yang Anda ketik, dan Claude penerima dapat membalas ke pengirim dengan cara yang sama, kecuali dalam [kasus cross-machine satu arah](#message-sessions-on-other-machines).81Setelah dikirim, pesan dihitung terhadap [penggunaan](/docs/id/costs) seperti prompt yang Anda ketik, dan Claude penerima dapat membalas ke pengirim dengan cara yang sama, kecuali dalam [kasus lintas-mesin satu arah](#message-sessions-on-other-machines).

93 82 

94Batas izin tetap per-sesi. Claude diinstruksikan untuk tidak pernah meminta sesi lain untuk tindakan yang ditolak atau diblokir di sesi miliknya sendiri, atau yang akan diblokir pengaturan izin miliknya sendiri, dan untuk mengarahkan pekerjaan itu kembali ke Anda. Di sisi penerima, [prompt izin sesi penerima sendiri dan aturan masih berlaku](#how-a-session-treats-an-incoming-message) untuk apa pun yang diminta pesan.83Batas izin tetap per-sesi. Claude diinstruksikan untuk tidak pernah meminta sesi lain untuk tindakan yang ditolak atau diblokir di sesi miliknya sendiri, atau yang pengaturan izin miliknya sendiri akan blokir, dan untuk mengarahkan pekerjaan itu kembali ke Anda. Di sisi penerima, [prompt izin sesi penerima sendiri dan aturan masih berlaku](#how-a-session-treats-an-incoming-message) untuk apa pun yang diminta pesan.

95 84 

96<h3 id="get-a-notice-when-another-session-goes-idle">85<h3 id="get-a-notice-when-another-session-goes-idle">

97 Dapatkan pemberitahuan ketika sesi lain idle86 Dapatkan pemberitahuan ketika sesi lain menganggur

98</h3>87</h3>

99 88 

100Claude dapat meminta salah satu sesi Anda di mesin ini untuk mengirimkan kembali satu pemberitahuan ketika sesi itu berikutnya idle atau keluar. Idle di sini berarti sesi menyelesaikan giliran tanpa apa pun dalam antrian. Gunakan ketika Anda menunggu tugas panjang di sesi lain dan ingin mendengar ketika selesai alih-alih memeriksa. Memerlukan Claude Code v2.1.236 atau lebih baru di kedua sesi.89Claude dapat meminta salah satu sesi Anda di mesin ini untuk mengirim kembali satu pemberitahuan ketika sesi itu berikutnya menganggur atau keluar. Menganggur di sini berarti sesi menyelesaikan giliran tanpa apa pun dalam antrian. Gunakan ketika Anda menunggu tugas panjang di sesi lain dan ingin mendengar kapan selesai alih-alih memeriksa. Memerlukan Claude Code v2.1.236 atau lebih baru di kedua sesi.

101 90 

102<h4 id="ask-for-a-notice">91<h4 id="ask-for-a-notice">

103 Minta pemberitahuan92 Minta pemberitahuan


106Beri tahu Claude apa yang Anda tunggu. Prompt ini meminta pemberitahuan dari sesi migrasi:95Beri tahu Claude apa yang Anda tunggu. Prompt ini meminta pemberitahuan dari sesi migrasi:

107 96 

108```text wrap theme={null}97```text wrap theme={null}

109Beri tahu saya ketika sesi migrasi selesai dengan apa yang sedang dikerjakan98Beri tahu saya ketika sesi migrasi menyelesaikan apa yang sedang dikerjakan

110```99```

111 100 

112Claude berlangganan dengan input `notify_when_idle` tools `SendMessage`, baik dilampirkan ke pesan yang sedang dikirimnya atau sendiri. Sendiri, Claude Code berlangganan tanpa memulai giliran atau menghabiskan token di sesi yang ditonton, dan mengirimkan pemberitahuan segera jika sesi itu sudah idle. Dilampirkan ke pesan, Claude Code mengirimkan pesan terlebih dahulu dan mengirimkan pemberitahuan nanti.101Claude berlangganan dengan input `notify_when_idle` alat `SendMessage`, baik dilampirkan ke pesan yang sedang dikirimnya atau sendiri. Sendiri, Claude Code berlangganan tanpa memulai giliran atau menghabiskan token di sesi yang ditonton, dan mengirim pemberitahuan segera jika sesi itu sudah menganggur. Dilampirkan ke pesan, Claude Code mengirimkan pesan terlebih dahulu dan mengirim pemberitahuan nanti.

113 102 

114<h4 id="what-each-session-shows">103<h4 id="what-each-session-shows">

115 Apa yang ditunjukkan setiap sesi104 Apa yang ditampilkan setiap sesi

116</h4>105</h4>

117 106 

118Sesi yang ditonton menunjukkan baris yang mengatakan proses lain meminta untuk diberitahu ketika sesi berikutnya idle. Sesi yang bertanya menunjukkan pemberitahuan sebagai baris yang menamai sesi yang ditonton. Baris dapat mencakup waktu giliran sesi itu selesai dan status satu baris dari giliran itu. Jika sesi yang bertanya idle, Claude Code memulai giliran baru dengan pemberitahuan.107Sesi yang ditonton menampilkan baris yang mengatakan proses lain meminta untuk diberitahu ketika sesi berikutnya menganggur. Sesi yang bertanya menampilkan pemberitahuan sebagai baris yang menamai sesi yang ditonton. Baris dapat mencakup waktu giliran sesi itu selesai dan status satu baris dari giliran itu. Jika sesi yang bertanya menganggur, Claude Code memulai giliran baru dengan pemberitahuan.

119 108 

120<h4 id="limits">109<h4 id="limits">

121 Batas110 Batas

122</h4>111</h4>

123 112 

124Pemberitahuan adalah satu kali: Claude Code mengirimnya sekali dari sesi yang ditonton, dan tidak ada sesi yang menanyakan yang lain. Jika tidak ada pemberitahuan yang tiba dalam 12 jam, Claude Code menjatuhkan langganan dan memberi tahu Claude, jadi tidak terus menunggu.113Jika tidak ada pemberitahuan yang tiba dalam 12 jam, Claude Code menghapus langganan dan memberi tahu Claude, jadi tidak terus menunggu.

125 114 

126[Kontrol inbound](#control-inbound-messages) setiap sisi berlaku untuk pemberitahuan seperti pesan:115[Kontrol inbound](#control-inbound-messages) setiap sisi berlaku untuk pemberitahuan seperti pesan:

127 116 

128* **`refuse` di kedua sisi**: tidak ada yang tiba. Sesi yang ditonton menjatuhkan permintaan tanpa merekam atau menjawabnya, jadi langganan berakhir tanpa jawaban setelah 12 jam, dan sesi yang bertanya dengan `refuse` tidak pernah berlangganan.117* **`refuse` di kedua sisi**: tidak ada yang tiba. Sesi yang ditonton menghapus permintaan tanpa merekam atau menjawabnya, jadi langganan kedaluwarsa tanpa jawaban setelah 12 jam, dan sesi yang bertanya dengan `refuse` tidak pernah berlangganan.

129* **`hold` di kedua sisi**: pemberitahuan tiba dengan lebih sedikit. Sesi yang ditonton meninggalkan status satu baris, dan sesi yang bertanya menunjukkan pemberitahuan dalam transkrip Anda tanpa mengirimkannya ke Claude.118* **`hold` di kedua sisi**: pemberitahuan tiba dengan lebih sedikit. Sesi yang ditonton meninggalkan status satu baris, dan sesi yang bertanya menampilkan pemberitahuan dalam transkrip Anda tanpa mengirimkannya ke Claude.

130 119 

131Hanya Claude dalam percakapan utama Anda yang dapat berlangganan, dan hanya ke sesi Anda di mesin ini. Ketika subagent atau rekan kerja agent team menetapkan `notify_when_idle`, Claude Code tidak membuat langganan dan memberi tahu demikian. Ketika Claude meminta pemberitahuan dari agen lain apa pun, seperti rekan kerja, subagent, atau sesi di luar mesin ini, Claude Code menolak seluruh panggilan, termasuk pesan apa pun yang dilampirkan padanya, dan melaporkan penolakan ke Claude sehingga dapat mengirim ulang pesan tanpa permintaan.120Hanya Claude dalam percakapan utama Anda yang dapat berlangganan, dan hanya ke sesi Anda di mesin ini. Ketika Claude meminta pemberitahuan dari target lain apa pun, seperti rekan kerja, subagent, atau sesi di luar mesin ini, Claude Code menolak seluruh panggilan, termasuk pesan apa pun yang dilampirkan padanya.

132 121 

133<h3 id="see-which-sessions-claude-can-reach">122<h3 id="see-which-sessions-claude-can-reach">

134 Lihat sesi mana yang dapat dijangkau Claude123 Lihat sesi mana yang dapat dijangkau Claude

135</h3>124</h3>

136 125 

137Claude menemukan target pesan sendiri, jadi Anda tidak perlu menjalankan apa pun sebelum memintanya mengirim. Untuk melihat sendiri sesi mana yang dapat dijangkau Claude, jalankan perintah `/list-agents`. Baris pertama, ketika ada, adalah nama sesi ini sendiri, yang digunakan sesi lain Anda untuk mengirim pesan padanya. Baris di bawahnya adalah sesi yang dapat dijangkau Claude:126Claude menemukan target pesan sendiri, jadi Anda tidak perlu menjalankan apa pun sebelum memintanya untuk mengirim. Untuk melihat sendiri sesi mana yang dapat dijangkau Claude, jalankan perintah `/list-agents`. Baris pertama, jika ada, adalah nama sesi ini sendiri, yang digunakan sesi lain Anda untuk mengirim pesan padanya. Baris di bawahnya adalah sesi yang dapat dijangkau Claude:

138 127 

139* **Subagents**: agen yang berjalan di dalam sesi saat ini.128* **Subagents**: agen yang berjalan di dalam sesi saat ini.

140* **Teammates**: rekan kerja [agent team](/docs/id/agent-teams) sesi ini sendiri. Sebelum v2.1.239, rekan kerja tidak muncul dalam daftar, meskipun Claude sudah dapat mengirim pesan kepada mereka berdasarkan nama.129* **Rekan kerja**: rekan kerja [tim agen](/docs/id/agent-teams) sesi ini sendiri.

141* **Sesi lokal Anda yang lain**: sesi Claude Code yang berjalan di mesin yang sama, termasuk [background sessions](/docs/id/agent-view). Sesi muncul hanya ketika mengikat [inbox socket](#the-sessions-inbox-socket).130* **Sesi lokal Anda yang lain**: sesi Claude Code yang berjalan di mesin yang sama, termasuk [sesi latar belakang](/docs/id/agent-view). Sesi muncul hanya ketika mengikat [soket kotak masuk](#the-sessions-inbox-socket).

142* **Sesi cloud Anda**: sesi [Claude Code on the web](/docs/id/claude-code-on-the-web) Anda, ditampilkan saat sesi ini terhubung ke [Remote Control](/docs/id/remote-control). Claude Code memberi label `cloud` pada mereka dalam daftar.131* **[Sesi cloud](/docs/id/claude-code-on-the-web) Anda**: ditampilkan saat sesi ini terhubung ke [Remote Control](/docs/id/remote-control).

143* **Sesi Remote Control Anda di mesin lain**: ditampilkan saat sesi ini terhubung ke [Remote Control](/docs/id/remote-control), dan diberi label `Remote Control`. Claude Code menunjukkan `offline` sebagai status sesi yang koneksi Remote Control-nya telah putus.132* **Sesi Remote Control Anda di mesin lain**: ditampilkan saat sesi ini terhubung ke [Remote Control](/docs/id/remote-control), dan diberi label `Remote Control`. Claude Code menampilkan `offline` sebagai status sesi yang koneksi Remote Control-nya telah putus.

144 

145Sesi ini bukan salah satu baris. Jika Claude mengatasi pesan ke nama sesi ini sendiri, Claude Code menolaknya dan memberi tahu Claude target adalah sesi saat ini. Sebelum v2.1.239, daftar tidak menunjukkan nama sesi ini, dan Claude Code melaporkan pesan yang dikirim padanya sebagai agen yang tidak dapat ditemukannya.

146 133 

147Saat sesi ini terhubung ke [Remote Control](/docs/id/remote-control), Claude Code menahan beberapa detail sesi lokal Anda dari output `/list-agents`, tanpa mengubah apa yang Claude sendiri lihat ketika mencari sesi untuk mengirim pesan:134Saat sesi ini terhubung ke [Remote Control](/docs/id/remote-control), Claude Code menahan beberapa detail sesi lokal Anda dari output `/list-agents`, tanpa mengubah apa yang Claude sendiri lihat ketika mencari sesi untuk dikirim pesan:

148 135 

149* **Direktori kerja**: meninggalkan direktori kerja setiap sesi lokal.136* **Direktori kerja**: meninggalkan direktori kerja setiap sesi lokal.

150* **Nama sesi**: meninggalkan nama sesi apa pun yang tidak dapat diatribusikan ke orang, jadi baris yang tersisa tanpa nama berbunyi `(unnamed session)`.137* **Nama sesi**: meninggalkan nama sesi apa pun yang tidak dapat diatribusikan ke orang, jadi baris yang ditinggalkan tanpa nama berbunyi `(unnamed session)`.

151* **Baris pertama**: meninggalkan baris dengan nama sesi ini sendiri kecuali Anda mengetik nama itu di terminal ini, dengan `--name` atau dengan `/rename` dan nama, sejak Anda meluncurkan atau terakhir melanjutkan sesi.138* **Baris pertama**: meninggalkan baris dengan nama sesi ini sendiri kecuali Anda mengetik nama itu di terminal ini, dengan `--name` atau dengan `/rename` dan nama, sejak Anda meluncurkan atau terakhir melanjutkan sesi.

152 139 

153Ketika output mencantumkan apa pun, itu berakhir dengan catatan yang mengatakan detail ditahan. Menjalankan `/rename` diikuti dengan nama yang tidak digunakan di keyboard sesi sendiri memberikan sesi itu nama yang muncul dalam output.140Ketika output mencantumkan apa pun, itu berakhir dengan catatan yang mengatakan detail ditahan. Menjalankan `/rename` diikuti dengan nama yang tidak digunakan di keyboard sesi sendiri memberikan sesi itu nama yang muncul dalam output.

154 141 

155Claude Code membaca daftar sesi cloud dan Remote Control Anda terbaru terlebih dahulu dan berhenti setelah jumlah halaman terbatas untuk masing-masing. Jika akun Anda memiliki lebih banyak sesi itu daripada yang cocok, Claude Code tidak membuat daftar yang lebih lama, dan Claude tidak dapat mengirim pesan kepada mereka berdasarkan nama. Ketika ini terjadi, Claude Code mengatakan demikian dalam daftar, dan Claude melihat catatan yang sama ketika mengirim pesan.

156 

157Claude mengatasi sesi di luar mesin ini berdasarkan nama, sama seperti sesi lokal. Lihat [Message sessions on other machines](#message-sessions-on-other-machines) untuk bagaimana pesan itu bepergian.

158 

159Sesi menjawab nama yang Anda tetapkan dengan perintah [`/rename`](/docs/id/commands) atau bendera [`--name`](/docs/id/cli-reference#cli-flags). Ketika Anda tidak menetapkan satu, Claude Code memberi nama sesi itu sendiri. Untuk sesi interaktif, itu adalah nama yang ditampilkan dalam [daftar sesi yang berjalan](/docs/id/sessions#name-your-sessions).142Sesi menjawab nama yang Anda tetapkan dengan perintah [`/rename`](/docs/id/commands) atau bendera [`--name`](/docs/id/cli-reference#cli-flags). Ketika Anda tidak menetapkan satu, Claude Code memberi nama sesi itu sendiri. Untuk sesi interaktif, itu adalah nama yang ditampilkan dalam [daftar sesi yang berjalan](/docs/id/sessions#name-your-sessions).

160 143 

161Ketika Anda mengganti nama sesi, Claude Code juga memperbarui catatan bersama yang digunakan sesi lain Anda untuk mencari nama sesi. Jika tidak dapat memperbarui catatan itu, itu memperingatkan Anda dalam output `/rename` bahwa sesi lain mungkin masih menunjukkan nama lama. Jalankan sesi dengan [`--debug`](/docs/id/cli-reference#cli-flags), dan Claude Code mencatat penyebab pembaruan yang gagal.144Ketika Anda mengganti nama sesi, atau memulai atau melanjutkan sesi interaktif, dengan nama yang sesi hidup lain di mesin ini sudah gunakan, Claude Code meninggalkan nama dengan sesi yang sudah memilikinya dan [mengganti nama Anda menjadi varian](/docs/id/sessions#name-your-sessions). Sesi masih dapat berbagi nama, misalnya ketika salah satu dari mereka menjalankan versi Claude Code yang lebih awal atau nama bersama adalah yang dihasilkan Claude Code. Kecuali sesi ini terhubung ke Remote Control, Claude Code menampilkan direktori kerja setiap sesi lokal dalam output `/list-agents`, jadi Anda dapat membedakan sesi dengan nama yang sama ketika berjalan di direktori berbeda. Claude mengatasi pesan dalam salah satu dari dua cara, tergantung pada berapa banyak sesi hidup yang menjawab nama:

162 

163Ketika Anda mengganti nama sesi, atau memulai atau melanjutkan sesi interaktif, dengan nama yang sudah digunakan sesi live lain di mesin ini, Claude Code meninggalkan nama dengan sesi yang sudah memilikinya dan [mengganti nama Anda menjadi varian](/docs/id/sessions#name-your-sessions). Sesi masih dapat berbagi nama, misalnya ketika salah satunya menjalankan versi Claude Code yang lebih awal atau nama bersama adalah yang dihasilkan Claude Code. Kecuali sesi ini terhubung ke Remote Control, Claude Code menunjukkan direktori kerja setiap sesi lokal dalam output `/list-agents`, jadi Anda dapat membedakan sesi dengan nama yang sama ketika berjalan di direktori berbeda. Claude mengatasi pesan dalam salah satu dari dua cara, tergantung pada berapa banyak sesi live yang menjawab nama:

164 145 

165* **Satu sesi menjawab nama**: Claude Code mengirimkan pesan hanya pada nama.146* **Satu sesi menjawab nama**: Claude Code mengirimkan pesan hanya pada nama.

166* **Beberapa sesi berbagi nama, atau Claude Code tidak dapat memeriksa di mana pun sesi Anda berjalan**: Claude menambahkan pengidentifikasi pendek ke setiap baris daftarnya dan menggunakan pengidentifikasi dalam alamat.147* **Beberapa sesi berbagi nama, atau Claude Code tidak dapat memeriksa di mana pun sesi Anda berjalan**: Claude menambahkan pengidentifikasi pendek ke setiap baris daftarnya dan menggunakan pengidentifikasi dalam alamat.

167 148 

168<h3 id="message-sessions-on-other-machines">149<h3 id="message-sessions-on-other-machines">

169 Kirim pesan ke sesi di mesin lain150 Mengirim pesan ke sesi di mesin lain

170</h3>151</h3>

171 152 

172Bagaimana pesan bepergian, dan apakah melewati server Anthropic, tergantung di mana sesi target berjalan:153Bagaimana pesan bepergian, dan apakah melewati server Anthropic, tergantung pada tempat sesi target berjalan:

173 154 

174| Di mana sesi lain berjalan | Bagaimana pesan bepergian |155| Tempat sesi lain berjalan | Bagaimana pesan bepergian |

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

176| Di mesin ini | Melalui soket per-sesi di macOS dan Linux, atau pipa bernama per-sesi di Windows native, tidak pernah melalui server Anthropic |157| Di mesin ini | Melalui soket per-sesi di macOS dan Linux, atau pipa bernama per-sesi di Windows asli, tidak pernah melalui server Anthropic |

177| Di mesin lain Anda | Melalui server Anthropic, tiba melalui koneksi [Remote Control](/docs/id/remote-control) mesin itu |158| Di mesin lain Anda | Melalui server Anthropic, tiba melalui koneksi [Remote Control](/docs/id/remote-control) mesin itu |

178| Di [Claude Code on the web](/docs/id/claude-code-on-the-web) | Melalui server Anthropic, langsung ke sesi cloud |159| Di [cloud](/docs/id/claude-code-on-the-web) | Melalui server Anthropic, langsung ke sesi cloud |

179 

180Memulai percakapan dengan sesi di mesin lain Anda memerlukan Claude Code v2.1.225 atau lebih baru dan target yang [muncul dalam daftar](#see-which-sessions-claude-can-reach). Sebelum v2.1.225, Claude hanya dapat membalas pesan yang tiba dari satu.

181 160 

182Anda dapat mengirim pesan ke sesi yang ditampilkan sebagai `offline` dalam [daftar](#see-which-sessions-claude-can-reach), sesi yang koneksi Remote Control-nya telah putus. Pengiriman melewati, tetapi pesan tiba hanya setelah mesin sesi itu terhubung kembali. Claude diberitahu demikian ketika mengirim.161Memulai percakapan dengan sesi di mesin lain Anda memerlukan Claude Code v2.1.225 atau lebih baru dan target yang [muncul dalam daftar](#see-which-sessions-claude-can-reach).

183 162 

184Pengiriman mesin yang sama bekerja di mana pun fitur diaktifkan. Setiap sesi mendaftarkan dirinya dalam file di disk. Ketika Claude membuat daftar atau mengirim pesan ke sesi lokal Anda, Claude Code membaca file itu untuk menemukan sesi, jadi dua sesi dapat menjangkau satu sama lain hanya ketika dapat melihat file yang sama.163Anda dapat mengirim pesan ke sesi yang ditampilkan sebagai `offline` dalam [daftar](#see-which-sessions-claude-can-reach), satu yang koneksi Remote Control-nya telah putus. Pengiriman melewati, tetapi pesan tiba hanya setelah mesin sesi itu terhubung kembali.

185 164 

186Kontainer memiliki sistem file sendiri, jadi sesi di dalamnya dan sesi di host tidak dapat menjangkau satu sama lain. Dua sesi di dalam kontainer yang sama masih dapat mengirim pesan satu sama lain, termasuk di [self-hosted runner](/docs/id/self-hosted-environments). Sesi di dalam WSL 2 dan sesi Windows native di komputer yang sama juga tidak dapat menjangkau satu sama lain, karena mendaftarkan di bawah direktori home berbeda dan mendengarkan pada jenis soket berbeda.165Sesi di dalam kontainer dan sesi di host tidak dapat menjangkau satu sama lain. Dua sesi di dalam kontainer yang sama masih dapat mengirim pesan satu sama lain, termasuk di [runner yang di-host sendiri](/docs/id/self-hosted-environments). Sesi di dalam WSL 2 dan sesi Windows asli di komputer yang sama juga tidak dapat menjangkau satu sama lain.

187 166 

188Saat sesi ini terhubung ke Remote Control, ketika Anda mengirim pesan ke sesi di mesin lain Anda, Claude Code menunjukkan pesan dalam percakapan sesi itu di bawah nama Remote Control sesi ini. Claude di mesin itu dapat membalas nama itu. Misalnya, ketika sesi ini terhubung ke Remote Control sebagai `laptop-graceful-unicorn` dan Anda mengirim pesan ke desktop Anda, Anda melihat pesan di sesi desktop di bawah `laptop-graceful-unicorn`.167Jika sesi ini tidak terhubung ke Remote Control ketika Claude mengirim ke sesi di luar mesin ini, pesan masih melewati, tetapi tanpa [alamat balasan](#what-a-message-looks-like), jadi Claude penerima tidak dapat menjawabnya.

189 

190Jika sesi ini tidak terhubung ke Remote Control ketika Claude mengirim ke sesi di luar mesin ini, pesan masih melewati, tetapi tanpa [alamat balasan](#what-a-message-looks-like), jadi Claude penerima tidak dapat menjawabnya. Claude diberitahu demikian ketika mengirim.

191 168 

192Untuk memerlukan persetujuan Anda sebelum pesan apa pun melampaui mesin ini, atur [`isolatePeerMachines`](#require-approval-for-cross-machine-messages).169Untuk memerlukan persetujuan Anda sebelum pesan apa pun melampaui mesin ini, atur [`isolatePeerMachines`](#require-approval-for-cross-machine-messages).

193 170 


206 Apa pesan terlihat seperti183 Apa pesan terlihat seperti

207</h3>184</h3>

208 185 

209Ketika pesan tiba, Claude Code menunjukkannya dalam percakapan sebagai pratinjau satu baris yang redup, dan baris pratinjau tetap dalam percakapan sesudahnya. Pratinjau membawa nama pengirim dan baris pertama pesan, dipotong dengan `…` ketika panjang, seperti `› Message from @api-worker: Schema migration finished (ctrl+o to expand)`. Sebelum v2.1.247, Claude Code menunjukkan pesan yang tiba secara penuh alih-alih pratinjau.186Ketika pesan tiba, Claude Code menunjukkannya dalam percakapan sebagai pratinjau satu baris yang redup, dan baris pratinjau tetap dalam percakapan sesudahnya. Pratinjau membawa nama pengirim dan baris pertama pesan, dipotong dengan `…` ketika panjang, seperti `› Message from @api-worker: Schema migration finished (ctrl+o to expand)`.

210 187 

211Salah satu dari ini menunjukkan Anda teks lengkap:188Salah satu dari ini menunjukkan Anda teks lengkap:

212 189 


215 192 

216Pratinjau mempersingkat hanya apa yang Anda lihat. Apakah Anda memperluas atau tidak, Claude membaca pesan lengkap.193Pratinjau mempersingkat hanya apa yang Anda lihat. Apakah Anda memperluas atau tidak, Claude membaca pesan lengkap.

217 194 

218Claude menerima pesan dengan nama pengirim dan alamat balasan, kecuali untuk [pesan cross-machine satu arah](#message-sessions-on-other-machines), yang tidak membawa alamat balasan. Di luar nama dan alamat balasan, Claude penerima mendapatkan teks pesan, tidak pernah riwayat percakapan atau file pengirim. [Message delivery](#message-delivery) mencakup penyebutan `@` dalam teks.195Claude menerima pesan dengan nama pengirim dan alamat balasan, kecuali untuk [pesan cross-machine satu arah](#message-sessions-on-other-machines), yang tidak membawa alamat balasan.

219 

220Pesan yang ditulis [subagent](/docs/id/sub-agents) tiba di bawah nama sesi pengirim, dengan subagent diidentifikasi dalam teks pesan. Balasan padanya mencapai percakapan utama sesi itu, bukan subagent.

221 196 

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

223 198 


254* Ketika dialog tetap tanpa jawaban melewati batas waktu [`dialogExpiry`](/docs/id/settings-reference#dialogexpiry), Claude Code menutupnya dan menjatuhkan pesan. Batas waktu default ke lima menit.229* Ketika dialog tetap tanpa jawaban melewati batas waktu [`dialogExpiry`](/docs/id/settings-reference#dialogexpiry), Claude Code menutupnya dan menjatuhkan pesan. Batas waktu default ke lima menit.

255* Saat tidak ada terminal yang terpasang ke [background session](/docs/id/agent-view), Claude Code meninggalkan dialog terbuka melewati batas waktu. Setelah Anda melampirkan, jika dialog tetap tanpa jawaban untuk periode batas waktu penuh, Claude Code menutupnya dan menjatuhkan pesan.230* Saat tidak ada terminal yang terpasang ke [background session](/docs/id/agent-view), Claude Code meninggalkan dialog terbuka melewati batas waktu. Setelah Anda melampirkan, jika dialog tetap tanpa jawaban untuk periode batas waktu penuh, Claude Code menutupnya dan menjatuhkan pesan.

256* Jika kelas mode izin sesi ini berubah saat pesan ditahan, Claude Code menerapkan kembali aturan inbound, mengirimkan pesan yang sekarang diterima, dan menunjukkan pemberitahuan.231* Jika kelas mode izin sesi ini berubah saat pesan ditahan, Claude Code menerapkan kembali aturan inbound, mengirimkan pesan yang sekarang diterima, dan menunjukkan pemberitahuan.

257* Jika perubahan pengaturan membuat `refuse` berlaku saat pesan ditahan, Claude Code menjatuhkan setiap pesan yang ditahan dan melaporkan penolakan ke setiap pengirim yang dapat dijangkaunya.

258 

259Ketika pengirim adalah sesi di mesin yang sama, Claude Code mengirimkan pemberitahuan kembali ke sana ketika penerima menahan pesan, dan tindak lanjut ketika penerima kemudian mengirimkan, menolak, atau kedaluwarsa. Pemberitahuan mencapai Claude pengirim, jadi tahu tidak perlu terus menunggu pesan yang sesi lain belum baca.

260 

261Dalam sesi pengirim interaktif, pemberitahuan muncul dalam transkrip. Pengirim [`claude -p`](/docs/id/headless) menerima dalam [streamed output](/docs/id/headless#stream-responses) sebagai [informational `system` message](/docs/id/agent-sdk/typescript#sdkinformationalmessage). Pemberitahuan ke pengirim `claude -p` memerlukan Claude Code v2.1.271 atau lebih baru.

262 232 

263Jika penerima menolak pesan, pemberitahuan pengirim mengatakan penerima tidak menerima pesan cross-session dan memberi tahu Claude pengirim untuk tidak menunggu atau mengirim ulang.233Claude Code menahan paling banyak 100 pesan, dan melampaui itu menjatuhkan yang tertua.

264 

265Claude Code menahan paling banyak 100 pesan, terpisah dari antrian pengiriman, dan melampaui itu menjatuhkan yang tertua.

266 234 

267<h3 id="non-interactive-sessions">235<h3 id="non-interactive-sessions">

268 Sesi non-interaktif236 Sesi non-interaktif


277 245 

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

279 247 

280Ketika sesi berakhir dengan pesan masih ditahan, Claude Code melaporkannya sebagai kedaluwarsa ke setiap pengirim yang dapat dijangkaunya. Sebelum v2.1.225, tidak ada batas waktu yang berlaku dalam sesi `-p`: pesan yang ditahan tetap ditahan kecuali perubahan mode izin selama jalankan mengirimkannya, dan sesi yang berakhir dengan pesan yang ditahan melaporkan tidak ada kepada pengirim mereka.

281 

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

283 249 

284<h3 id="the-sessions-inbox-socket">250<h3 id="the-sessions-inbox-socket">


294* `/status` menunjukkannya dalam baris `Peer address`. Jalur diawali dengan `uds:`.260* `/status` menunjukkannya dalam baris `Peer address`. Jalur diawali dengan `uds:`.

295* Claude Code mengekspornya ke [hooks](/docs/id/hooks) dan perintah Bash sebagai variabel lingkungan [`CLAUDE_CODE_MESSAGING_SOCKET`](/docs/id/env-vars#variables):261* Claude Code mengekspornya ke [hooks](/docs/id/hooks) dan perintah Bash sebagai variabel lingkungan [`CLAUDE_CODE_MESSAGING_SOCKET`](/docs/id/env-vars#variables):

296 * Dalam sesi yang dimulai dengan messaging aktif, Claude Code mengekspor variabel sebelum hook apa pun berjalan, termasuk `SessionStart`.262 * Dalam sesi yang dimulai dengan messaging aktif, Claude Code mengekspor variabel sebelum hook apa pun berjalan, termasuk `SessionStart`.

297 * Setiap sesi mengekspor soketnya sendiri, tidak pernah yang diwarisi dari sesi induk.

298 263 

299Di macOS dan Linux, Claude Code membatasi soket ke pengguna sistem operasi Anda. Di Windows native, itu malah memerlukan setiap koneksi untuk mengautentikasi terlebih dahulu dengan kunci yang hanya dapat dibaca pengguna sistem operasi Anda. Bagaimanapun, di mesin bersama sesi pengguna lain tidak dapat mengirimkan ke soket itu.264Di macOS dan Linux, Claude Code membatasi soket ke pengguna sistem operasi Anda. Di Windows native, itu malah memerlukan setiap koneksi untuk mengautentikasi terlebih dahulu dengan kunci yang hanya dapat dibaca pengguna sistem operasi Anda. Bagaimanapun, di mesin bersama sesi pengguna lain tidak dapat mengirimkan ke soket itu.

300 265 


307 272 

308Buka koneksi hanya ketika pesan yang Anda posting siap. Claude Code menutup koneksi yang belum mengirimkan baris lengkap dalam 30 detik, jadi tangkap output perintah lambat terlebih dahulu dan kemudian buka koneksi untuk mengirimkannya.273Buka koneksi hanya ketika pesan yang Anda posting siap. Claude Code menutup koneksi yang belum mengirimkan baris lengkap dalam 30 detik, jadi tangkap output perintah lambat terlebih dahulu dan kemudian buka koneksi untuk mengirimkannya.

309 274 

310[Aturan own-child](#own-child-messages) di bawah mengatakan kapan Claude Code berkonsultasi dengan token dan bagaimana memperlakukan pesan yang tidak dapat diverifikasi.

311 

312<span id="own-child-messages" />Claude Code menjalankan pesan yang tiba di soket melalui [kontrol inbound](#control-inbound-messages) yang sama seperti pesan peer apa pun, dengan satu pengecualian dan satu prasyarat:275<span id="own-child-messages" />Claude Code menjalankan pesan yang tiba di soket melalui [kontrol inbound](#control-inbound-messages) yang sama seperti pesan peer apa pun, dengan satu pengecualian dan satu prasyarat:

313 276 

314* **Pesan own-child**: ketika tidak ada nilai `crossSessionInbound` yang berlaku, Claude Code mengirimkan pesan yang diverifikasi berasal dari proses anak sesi itu sendiri, seperti hook atau perintah Bash memposting kembali ke soket sesinya sendiri.277* **Pesan own-child**: ketika tidak ada nilai `crossSessionInbound` yang berlaku, Claude Code mengirimkan pesan yang diverifikasi berasal dari proses anak sesi itu sendiri, seperti hook atau perintah Bash memposting kembali ke soket sesinya sendiri.


382 * **Sesi cloud hilang**: sesi cloud muncul hanya saat sesi ini terhubung ke [Remote Control](/docs/id/remote-control).345 * **Sesi cloud hilang**: sesi cloud muncul hanya saat sesi ini terhubung ke [Remote Control](/docs/id/remote-control).

383 * **Sesi mesin lain hilang**: sesi di mesin lain Anda muncul hanya ketika berjalan dengan [Remote Control](/docs/id/remote-control) dan sesi ini juga terhubung.346 * **Sesi mesin lain hilang**: sesi di mesin lain Anda muncul hanya ketika berjalan dengan [Remote Control](/docs/id/remote-control) dan sesi ini juga terhubung.

384 * **Sesi mesin lain `offline`**: pesan ke sesi yang terdaftar sebagai `offline` akan diteruskan, tetapi [tiba hanya setelah mesin sesi itu terhubung kembali](#message-sessions-on-other-machines).347 * **Sesi mesin lain `offline`**: pesan ke sesi yang terdaftar sebagai `offline` akan diteruskan, tetapi [tiba hanya setelah mesin sesi itu terhubung kembali](#message-sessions-on-other-machines).

385 * **Sesi cloud atau mesin lain yang lebih lama hilang**: Claude Code [membaca daftar sesi itu terbaru terlebih dahulu dan berhenti setelah jumlah halaman terbatas](#see-which-sessions-claude-can-reach), jadi Claude tidak dapat mengirim pesan ke sesi yang jatuh melewati mereka berdasarkan nama.348 * **Sesi cloud atau mesin lain yang lebih lama hilang**: Claude Code membaca daftar sesi itu terbaru terlebih dahulu dan berhenti setelah jumlah halaman terbatas, jadi Claude tidak dapat mengirim pesan ke sesi yang jatuh melewati mereka berdasarkan nama.

386 * **Memulai percakapan**: [Message sessions on other machines](#message-sessions-on-other-machines) mencakup memulai percakapan dengan sesi di luar mesin ini.

387 349 

388Dalam sesi dengan messaging, `/status` juga menunjukkan baris `Peer address` dengan alamat inbox sesi itu sendiri, atau `unavailable` dan alasan ketika Claude Code [tidak dapat mengatur inbox](#the-sessions-inbox-socket).350Dalam sesi dengan messaging, `/status` juga menunjukkan baris `Peer address` dengan alamat inbox sesi itu sendiri, atau `unavailable` dan alasan ketika Claude Code [tidak dapat mengatur inbox](#the-sessions-inbox-socket).

389 351 


395 357 

396* **Teks biasa saja**: Claude mengirimkan hanya teks biasa lintas sesi. Pesan protokol [agent team](/docs/id/agent-teams) terstruktur tetap dalam tim.358* **Teks biasa saja**: Claude mengirimkan hanya teks biasa lintas sesi. Pesan protokol [agent team](/docs/id/agent-teams) terstruktur tetap dalam tim.

397* **Ukuran pesan mesin yang sama dibatasi**: Claude Code menolak pesan ke sesi di mesin ini setelah bentuk serialnya melewati sekitar satu juta karakter. Penolakan [menamai ukuran yang tepat](/docs/id/errors#message-too-large-for-cross-session-delivery). Tidak ada yang mencapai sesi penerima.359* **Ukuran pesan mesin yang sama dibatasi**: Claude Code menolak pesan ke sesi di mesin ini setelah bentuk serialnya melewati sekitar satu juta karakter. Penolakan [menamai ukuran yang tepat](/docs/id/errors#message-too-large-for-cross-session-delivery). Tidak ada yang mencapai sesi penerima.

398* **Ledakan cepat ke satu sesi ditolak di pengirim**: setelah ledakan cepat pesan ke sesi di mesin ini mencapai apa yang diterima inbox sesi itu, Claude Code menolak pengiriman lebih lanjut dalam sesi pengirim. [Penolakan menamai ledakan](/docs/id/errors#too-many-messages-to-this-session-just-now) dan memberi tahu Claude untuk mengelompokkan sisanya menjadi satu pesan atau menunggu. Sebelum v2.1.236, Claude Code melaporkan pengiriman itu sebagai dikirim sementara sesi penerima menjatuhkannya.360* **Ledakan cepat ke satu sesi ditolak di pengirim**: setelah ledakan cepat pesan ke sesi di mesin ini mencapai apa yang diterima inbox sesi itu, Claude Code menolak pengiriman lebih lanjut dalam sesi pengirim. [Penolakan menamai ledakan](/docs/id/errors#too-many-messages-to-this-session-just-now) dan memberi tahu Claude untuk mengelompokkan sisanya menjadi satu pesan atau menunggu.

399* **Loop pesan dibatasi**: dalam sesi penerima, Claude Code membatasi laju pesan berulang per pengirim, menjatuhkan pengulangan identik yang tiba dalam jendela pendek, dan antrian paling banyak 50 pesan yang diterima untuk dibaca Claude. Loop pesan antara dua sesi karena itu berhenti sendiri. Ketika batas laju, pemeriksaan pengulangan, atau batas antrian menjatuhkan pesan dari sesi interaktif di mesin ini, Claude Code memberi tahu sesi itu mana yang menjatuhkannya dan memberi tahu Claude-nya untuk tidak mengirim ulang segera.361* **Loop pesan dibatasi**: dalam sesi penerima, Claude Code membatasi laju pesan berulang per pengirim, menjatuhkan pengulangan identik yang tiba dalam jendela pendek, dan antrian paling banyak 50 pesan yang diterima untuk dibaca Claude. Loop pesan antara dua sesi karena itu berhenti sendiri.

400 362 

401<h2 id="related-resources">363<h2 id="related-resources">

402 Sumber daya terkait364 Sumber daya terkait


405* [Subagents](/docs/id/sub-agents#resume-subagents) dan [agent teams](/docs/id/agent-teams#messages-between-agents): messaging dalam satu sesi atau tim367* [Subagents](/docs/id/sub-agents#resume-subagents) dan [agent teams](/docs/id/agent-teams#messages-between-agents): messaging dalam satu sesi atau tim

406* [Background agents](/docs/id/agent-view): dispatch dan monitor sesi paralel yang mungkin Anda kirim pesan368* [Background agents](/docs/id/agent-view): dispatch dan monitor sesi paralel yang mungkin Anda kirim pesan

407* [Remote Control](/docs/id/remote-control): hubungkan sesi ini untuk menjangkau sesi Anda di mesin lain369* [Remote Control](/docs/id/remote-control): hubungkan sesi ini untuk menjangkau sesi Anda di mesin lain

370* [Channels](/docs/id/channels): push acara eksternal, seperti hasil CI atau pesan chat, ke dalam sesi

408* [Settings](/docs/id/settings-reference#all-settings): `crossSessionInbound`, `isolatePeerMachines`, dan `dialogExpiry`371* [Settings](/docs/id/settings-reference#all-settings): `crossSessionInbound`, `isolatePeerMachines`, dan `dialogExpiry`

409* [Permission modes](/docs/id/permission-modes): mode di balik default inbound dua kelas372* [Permission modes](/docs/id/permission-modes): mode di balik default inbound dua kelas

410* [Tools reference](/docs/id/tools-reference): baris `ListAgents` dan `SendMessage` dalam tabel tools373* [Tools reference](/docs/id/tools-reference): baris `ListAgents` dan `SendMessage` dalam tabel tools

data-usage.md +3 −3

Details

110 110 

111[Sesi cloud](/docs/id/claude-code-on-the-web) berjalan di mesin virtual yang dikelola Anthropic secara default alih-alih secara lokal. Sesi yang organisasi Anda arahkan ke [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) berjalan pada infrastruktur yang Anda kontrol; untuk apa yang tetap berada di mesin Anda dan apa yang masih pergi ke Anthropic, lihat [Apa yang tetap berada di infrastruktur Anda](/docs/id/self-hosted-environments#what-stays-on-your-infrastructure). Dalam sesi cloud yang di-host Anthropic:111[Sesi cloud](/docs/id/claude-code-on-the-web) berjalan di mesin virtual yang dikelola Anthropic secara default alih-alih secara lokal. Sesi yang organisasi Anda arahkan ke [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) berjalan pada infrastruktur yang Anda kontrol; untuk apa yang tetap berada di mesin Anda dan apa yang masih pergi ke Anthropic, lihat [Apa yang tetap berada di infrastruktur Anda](/docs/id/self-hosted-environments#what-stays-on-your-infrastructure). Dalam sesi cloud yang di-host Anthropic:

112 112 

113* **Penyimpanan kode dan data:** Repositori Anda diklon ke VM terisolasi. Kode dan data sesi tunduk pada kebijakan retensi dan penggunaan untuk jenis akun Anda (lihat bagian Retensi data di atas)113* **Penyimpanan kode dan data:** Repositori Anda diklon ke VM terisolasi sesi. Anthropic menyimpan transkrip sesi sehingga Anda dapat kembali ke sesi nanti. Kode dan data sesi tunduk pada [kebijakan retensi dan penggunaan](#data-retention) untuk jenis akun Anda

114* **Kredensial:** Autentikasi GitHub ditangani melalui proxy aman; kredensial GitHub Anda tidak pernah memasuki sandbox114* **Kredensial:** Kredensial GitHub disimpan terenkripsi di server Anthropic dan tidak pernah memasuki VM. Lalu lintas GitHub dari VM melewati proxy Anthropic yang melampirkannya di sisi server

115* **Lalu lintas jaringan:** Semua lalu lintas keluar melewati proxy keamanan untuk logging audit dan pencegahan penyalahgunaan115* **Lalu lintas jaringan:** Semua lalu lintas keluar melewati proxy keamanan untuk logging audit dan pencegahan penyalahgunaan

116* **Data sesi:** Prompt, perubahan kode, dan output mengikuti kebijakan data yang sama dengan penggunaan Claude Code lokal116* **Data sesi:** Prompt, perubahan kode, dan output mengikuti kebijakan data yang sama dengan penggunaan Claude Code lokal

117 117 


121 Layanan telemetri121 Layanan telemetri

122</h2>122</h2>

123 123 

124Claude 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`. Menetapkan `DISABLE_TELEMETRY` atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` juga menonaktifkan evaluasi feature-flag yang [Remote Control](/docs/id/remote-control#requirements) bergantung padanya; `DISABLE_ERROR_REPORTING` tidak.124Claude 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`. Menetapkan `DISABLE_TELEMETRY` atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` juga menonaktifkan evaluasi feature-flag, yang dapat membuat [Remote Control](/docs/id/remote-control#requirements) tidak tersedia; `DISABLE_ERROR_REPORTING` tidak.

125 125 

126**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.126**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.

127 127 

Details

110| Hook tidak pernah aktif | `matcher` menggunakan `,` sebagai pemisah pada versi sebelum v2.1.191 | Claude Code v2.1.191 atau lebih baru memperlakukan `,` sebagai pemisah daftar seperti `\|`. Versi sebelumnya mengevaluasi koma sebagai karakter literal, jadi `"Edit,Write"` tidak cocok dengan apa pun. Gunakan `\|` sebagai gantinya, atau tingkatkan Claude Code. |110| Hook tidak pernah aktif | `matcher` menggunakan `,` sebagai pemisah pada versi sebelum v2.1.191 | Claude Code v2.1.191 atau lebih baru memperlakukan `,` sebagai pemisah daftar seperti `\|`. Versi sebelumnya mengevaluasi koma sebagai karakter literal, jadi `"Edit,Write"` tidak cocok dengan apa pun. Gunakan `\|` sebagai gantinya, atau tingkatkan Claude Code. |

111| Hook tidak pernah aktif | Nilai `matcher` adalah huruf kecil, misalnya `"bash"` | Pencocokan peka huruf besar-kecil. Nama alat dikapitalisasi: `Bash`, `Edit`, `Write`, `Read`. |111| Hook tidak pernah aktif | Nilai `matcher` adalah huruf kecil, misalnya `"bash"` | Pencocokan peka huruf besar-kecil. Nama alat dikapitalisasi: `Bash`, `Edit`, `Write`, `Read`. |

112| Hook tidak pernah aktif | Hook berada dalam file standalone bukan `settings.json` | Tidak ada file hooks standalone untuk konfigurasi proyek atau pengguna. Tentukan hooks di bawah kunci `"hooks"` di `settings.json`. Hanya [plugins](/docs/id/plugins/components#hooks) yang memuat `hooks/hooks.json` terpisah. Lihat [konfigurasi hook](/docs/id/hooks). |112| Hook tidak pernah aktif | Hook berada dalam file standalone bukan `settings.json` | Tidak ada file hooks standalone untuk konfigurasi proyek atau pengguna. Tentukan hooks di bawah kunci `"hooks"` di `settings.json`. Hanya [plugins](/docs/id/plugins/components#hooks) yang memuat `hooks/hooks.json` terpisah. Lihat [konfigurasi hook](/docs/id/hooks). |

113| Permissions, hooks, atau env yang diatur secara global diabaikan | Konfigurasi ditambahkan ke `~/.claude.json` | `~/.claude.json` menyimpan status aplikasi dan toggle UI. `permissions`, `hooks`, dan `env` termasuk dalam `~/.claude/settings.json`. Ini adalah dua file berbeda. |113| Permissions atau hooks yang diatur secara global diabaikan | Konfigurasi ditambahkan ke `~/.claude.json` | `~/.claude.json` menyimpan status aplikasi dan toggle UI. `permissions`, `hooks`, dan `env` termasuk dalam `~/.claude/settings.json`. Ini adalah dua file berbeda. |

114| Nilai `settings.json` tampak diabaikan | Kunci yang sama diatur di `settings.local.json` | `settings.local.json` menggantikan `settings.json`, dan keduanya menggantikan `~/.claude/settings.json`. Lihat [preseden pengaturan](/docs/id/settings#settings-precedence). |114| Nilai `settings.json` tampak diabaikan | Kunci yang sama diatur di `settings.local.json` | `settings.local.json` menggantikan `settings.json`, dan keduanya menggantikan `~/.claude/settings.json`. Lihat [preseden pengaturan](/docs/id/settings#settings-precedence). |

115| Skill tidak muncul di `/skills` | File skill berada di `.claude/skills/name.md` bukan dalam folder | Gunakan folder dengan `SKILL.md` di dalamnya: `.claude/skills/name/SKILL.md`. |115| Skill tidak muncul di `/skills` | File skill berada di `.claude/skills/name.md` bukan dalam folder | Gunakan folder dengan `SKILL.md` di dalamnya: `.claude/skills/name/SKILL.md`. |

116| Skill muncul di `/skills` tetapi Claude tidak pernah menginvokasinya | Skill memiliki `disable-model-invocation: true` di frontmatter-nya, atau deskripsinya tidak cocok dengan cara Anda merumuskan permintaan | Periksa lencana di `/skills`: label "user-only" berarti Claude tidak akan memicunya sendiri. Lihat [skill invocation](/docs/id/skills). |116| Skill muncul di `/skills` tetapi Claude tidak pernah menginvokasinya | Skill memiliki `disable-model-invocation: true` di frontmatter-nya, atau deskripsinya tidak cocok dengan cara Anda merumuskan permintaan | Periksa lencana di `/skills`: label "user-only" berarti Claude tidak akan memicunya sendiri. Lihat [skill invocation](/docs/id/skills). |

desktop.md +2 −2

Details

735 735 

736Untuk mengatur variabel lingkungan untuk sesi lokal dan dev server di platform apa pun, buka dropdown lingkungan di kotak prompt, arahkan ke **Local**, dan klik ikon gear untuk membuka editor lingkungan lokal. Variabel yang Anda simpan di sini disimpan terenkripsi di mesin Anda dan berlaku untuk setiap sesi lokal dan server pratinjau yang Anda mulai. Anda juga dapat menambahkan variabel ke kunci `env` di file `~/.claude/settings.json` Anda, meskipun ini hanya mencapai sesi Claude dan bukan dev server. Lihat [environment variables](/docs/id/env-vars) untuk daftar lengkap variabel yang didukung.736Untuk mengatur variabel lingkungan untuk sesi lokal dan dev server di platform apa pun, buka dropdown lingkungan di kotak prompt, arahkan ke **Local**, dan klik ikon gear untuk membuka editor lingkungan lokal. Variabel yang Anda simpan di sini disimpan terenkripsi di mesin Anda dan berlaku untuk setiap sesi lokal dan server pratinjau yang Anda mulai. Anda juga dapat menambahkan variabel ke kunci `env` di file `~/.claude/settings.json` Anda, meskipun ini hanya mencapai sesi Claude dan bukan dev server. Lihat [environment variables](/docs/id/env-vars) untuk daftar lengkap variabel yang didukung.

737 737 

738[Extended thinking](/docs/id/model-config#extended-thinking) diaktifkan secara default, yang meningkatkan kinerja pada tugas penalaran kompleks tetapi menggunakan token tambahan. Pada Anthropic API, atur `MAX_THINKING_TOKENS` ke `0` di editor lingkungan lokal untuk mematikan pemikiran; ini tidak berpengaruh pada Opus 5.5 atau model Fable, yang selalu menggunakan extended thinking. Dengan pemikiran dimatikan pada Anthropic API, Claude Code mengirimkan effort `high` alih-alih level yang lebih tinggi ke model yang diketahui [tidak menerima kombinasi itu](/docs/id/errors#effort-isnt-available-with-thinking-turned-off), seperti Opus 5.738[Extended thinking](/docs/id/model-config#extended-thinking) diaktifkan secara default, yang meningkatkan kinerja pada tugas penalaran kompleks tetapi menggunakan token tambahan. Pada Anthropic API, atur `MAX_THINKING_TOKENS` ke `0` di editor lingkungan lokal untuk mematikan pemikiran; ini tidak berpengaruh pada Opus 5.5, Sonnet 5.5, atau model Fable, yang selalu menggunakan extended thinking. Dengan pemikiran dimatikan pada Anthropic API, Claude Code mengirimkan effort `high` alih-alih level yang lebih tinggi ke model yang diketahui [tidak menerima kombinasi itu](/docs/id/errors#effort-isnt-available-with-thinking-turned-off), seperti Opus 5.

739 739 

740Pada model dengan [adaptive reasoning](/docs/id/model-config#adjust-effort-level), nilai `MAX_THINKING_TOKENS` selain `0` diabaikan karena adaptive reasoning mengontrol kedalaman pemikiran sebagai gantinya. Pada Opus 4.6 dan Sonnet 4.6, atur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` ke `1` untuk menggunakan anggaran pemikiran tetap; model Fable, Sonnet 5, dan Opus 4.7 dan yang lebih baru selalu menggunakan adaptive reasoning dan tidak memiliki mode anggaran tetap.740Pada model dengan [adaptive reasoning](/docs/id/model-config#adjust-effort-level), nilai `MAX_THINKING_TOKENS` selain `0` diabaikan karena adaptive reasoning mengontrol kedalaman pemikiran sebagai gantinya. Pada Opus 4.6 dan Sonnet 4.6, atur `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` ke `1` untuk menggunakan anggaran pemikiran tetap; model Fable, Sonnet 5 dan yang lebih baru, serta Opus 4.7 dan yang lebih baru selalu menggunakan adaptive reasoning dan tidak memiliki mode anggaran tetap.

741 741 

742<h4 id="local-sessions-on-managed-devices">742<h4 id="local-sessions-on-managed-devices">

743 Local sessions on managed devices743 Local sessions on managed devices

Details

4 4 

5# Memulai dengan aplikasi desktop5# Memulai dengan aplikasi desktop

6 6 

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

8 8 

9Aplikasi desktop memberi Anda Claude Code dengan antarmuka grafis yang dirancang untuk menjalankan beberapa sesi berdampingan: sidebar untuk mengelola pekerjaan paralel, tata letak drag-and-drop dengan terminal terintegrasi dan editor file, tinjauan diff visual, pratinjau aplikasi langsung, pemantauan GitHub PR dengan penggabungan otomatis, dan tugas terjadwal. Tidak perlu terminal.9Aplikasi desktop memberi Anda Claude Code dengan antarmuka grafis, sehingga Anda dapat meminta Claude untuk bekerja pada kode di folder di komputer Anda dan meninjau perubahannya tanpa menggunakan terminal. Halaman ini memandu Anda melalui instalasi aplikasi dan memulai sesi pertama Anda di tab **Code**. Claude Code memerlukan [langganan Pro, Max, Team, atau Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).

10 10 

11<CardGroup cols={3}>11<CardGroup cols={3}>

12 <Card title="Unduh untuk macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Unduh untuk macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">


25Untuk Windows ARM64, unduh [penginstal ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). Di Linux, instal dengan apt; lihat [Claude Desktop di Linux](/docs/id/desktop-linux).25Untuk Windows ARM64, unduh [penginstal ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). Di Linux, instal dengan apt; lihat [Claude Desktop di Linux](/docs/id/desktop-linux).

26 26 

27<Note>27<Note>

28 Claude Code memerlukan [langganan Pro, Max, Team, atau Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).28 Kasus-kasus ini tercakup di halaman lain:

29</Note>

30 29 

31Halaman ini memandu Anda melalui instalasi aplikasi dan memulai sesi pertama Anda. Jika Anda sudah siap, lihat [Gunakan Claude Code Desktop](/docs/id/desktop) untuk referensi lengkap.30 * **Sudah siap**: lihat [Gunakan Claude Code Desktop](/docs/id/desktop) untuk semua yang dapat dilakukan tab Code

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

32</Note>

32 33 

33Aplikasi desktop memiliki tiga tab:34Aplikasi desktop memiliki tiga tab:

34 35 

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

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* **Cowork**: Agen latar belakang otonom yang bekerja pada tugas secara independen saat Anda melakukan pekerjaan lain.

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

38 39 

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**.40Chat 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**.


52 </Step>53 </Step>

53</Steps>54</Steps>

54 55 

55Aplikasi desktop menyertakan Claude Code. Anda tidak perlu menginstal Node.js atau CLI secara terpisah. Untuk menggunakan `claude` dari terminal, instal CLI secara terpisah. Lihat [Memulai dengan CLI](/docs/id/quickstart).56Aplikasi desktop menyertakan Claude Code, jadi Anda tidak perlu menginstal Node.js atau CLI untuk menggunakan tab Code.

56 57 

57<h2 id="start-your-first-session">58<h2 id="start-your-first-session">

58 Mulai sesi pertama Anda59 Mulai sesi pertama Anda

Details

61 61 

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

63* **Hourly**: berjalan setiap jam63* **Hourly**: berjalan setiap jam

64* **Daily**: menampilkan pemilih waktu, default ke 9:00 AM waktu lokal64* **Daily**: berjalan setiap hari pada waktu lokal yang Anda pilih

65* **Weekdays**: sama dengan Daily tetapi melewati Sabtu dan Minggu65* **Weekdays**: sama dengan Daily tetapi melewati Sabtu dan Minggu

66* **Weekly**: menampilkan pemilih waktu dan pemilih hari66* **Weekly**: menampilkan pemilih waktu dan pemilih hari

67 67 

env-vars.md +29 −25

Details

114 114 

115Dalam file pengaturan Anda dapat mengatur variabel tetapi Anda tidak dapat menghapusnya. Untuk mengganti variabel yang tidak dapat Anda batalkan, seperti `CLAUDE_CODE_USE_VERTEX` yang sudah usang yang diekspor oleh profil shell yang tidak Anda kontrol, atur ke string kosong dalam blok `env`: `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code memperlakukan nilai kosong sebagai tidak diatur untuk pemilihan penyedia. Subproses masih mewarisi nilai kosong.115Dalam file pengaturan Anda dapat mengatur variabel tetapi Anda tidak dapat menghapusnya. Untuk mengganti variabel yang tidak dapat Anda batalkan, seperti `CLAUDE_CODE_USE_VERTEX` yang sudah usang yang diekspor oleh profil shell yang tidak Anda kontrol, atur ke string kosong dalam blok `env`: `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code memperlakukan nilai kosong sebagai tidak diatur untuk pemilihan penyedia. Subproses masih mewarisi nilai kosong.

116 116 

117Antara file pengaturan, nilai `env` mengikuti [urutan prioritas pengaturan](/docs/id/settings#settings-precedence), jadi entri pengaturan yang dikelola mengganti variabel yang sama dalam pengaturan pengguna atau proyek.117Antara file pengaturan, nilai `env` mengikuti [urutan prioritas pengaturan](/docs/id/settings#settings-precedence), jadi entri pengaturan yang dikelola mengganti variabel yang sama dalam pengaturan pengguna atau proyek. Pengaturan proyek dan lokal tidak dapat mengatur beberapa variabel, seperti `CLAUDE_CONFIG_DIR` dan variabel pengekspor OpenTelemetry. [Variabel yang Claude Code abaikan dalam `env`](/docs/id/settings-reference#variables-claude-code-ignores-in-env) mencantumnya, bersama dengan nilai off OpenTelemetry yang masih berlaku.

118 118 

119Bagaimana variabel lingkungan berinteraksi dengan bendera CLI dan perintah dalam sesi bervariasi per fitur: `--model` dan `/model` mengganti `ANTHROPIC_MODEL`, sementara `CLAUDE_CODE_EFFORT_LEVEL` mengganti `--effort` dan `/effort`. Ketika variabel berinteraksi dengan sumber konfigurasi lain, barisnya dalam daftar [Variabel](#variables) menyatakan urutan prioritas atau menautkan ke halaman yang mendokumentasikannya.119Bagaimana variabel lingkungan berinteraksi dengan bendera CLI dan perintah dalam sesi bervariasi per fitur: `--model` dan `/model` mengganti `ANTHROPIC_MODEL`, sementara `CLAUDE_CODE_EFFORT_LEVEL` mengganti `--effort` dan `/effort`. Ketika variabel berinteraksi dengan sumber konfigurasi lain, barisnya dalam daftar [Variabel](#variables) menyatakan urutan prioritas atau menautkan ke halaman yang mendokumentasikannya.

120 120 


237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Dihapus di v2.1.186 dan sekarang tidak beroperasi. Sebelumnya menetapkan timeout terpisah untuk fase koneksi, TLS, dan header respons dari permintaan API streaming. Gunakan `API_TIMEOUT_MS` untuk timeout per-permintaan. Untuk fase header respons dari permintaan streaming, lihat `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Dihapus di v2.1.186 dan sekarang tidak beroperasi. Sebelumnya menetapkan timeout terpisah untuk fase koneksi, TLS, dan header respons dari permintaan API streaming. Gunakan `API_TIMEOUT_MS` untuk timeout per-permintaan. Untuk fase header respons dari permintaan streaming, lihat `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Ganti path file log debug. Meskipun namanya, ini adalah path file, bukan direktori. Memerlukan mode debug diaktifkan secara terpisah melalui `--debug`, `/debug`, atau variabel lingkungan `DEBUG`: menetapkan variabel ini saja tidak mengaktifkan logging. Flag [`--debug-file`](/docs/id/cli-reference#cli-flags) melakukan keduanya sekaligus. Default ke `~/.claude/debug/<session-id>.txt` |238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Ganti path file log debug. Meskipun namanya, ini adalah path file, bukan direktori. Memerlukan mode debug diaktifkan secara terpisah melalui `--debug`, `/debug`, atau variabel lingkungan `DEBUG`: menetapkan variabel ini saja tidak mengaktifkan logging. Flag [`--debug-file`](/docs/id/cli-reference#cli-flags) melakukan keduanya sekaligus. Default ke `~/.claude/debug/<session-id>.txt` |

239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Atur ke `verbose` untuk menyertakan diagnostik volume tinggi seperti output perintah status line penuh, atau naikkan ke `error` untuk mengurangi kebisingan |239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Atur ke `verbose` untuk menyertakan diagnostik volume tinggi seperti output perintah status line penuh, atau naikkan ke `error` untuk mengurangi kebisingan |

240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Atur ke `1` untuk menonaktifkan dukungan [jendela konteks 1M](/docs/id/model-config#extended-context). Ketika diatur, varian model 1M tidak tersedia di pemilih model, dan Claude Code menahan sesi di model dengan jendela 1M asli, seperti [Sonnet 5](/docs/id/model-config#sonnet-5-context-window) dan model Fable, ke jendela 200K; lihat [Konteks Diperpanjang](/docs/id/model-config#extended-context) untuk cara tahan ditegakkan. Berguna untuk lingkungan perusahaan dengan persyaratan kepatuhan. Untuk perannya dalam mengoreksi jendela untuk ID model `[1m]` yang tidak dikenali, lihat [Koreksi jendela untuk ID model gateway atau khusus](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Atur ke `1` untuk menonaktifkan dukungan [jendela konteks 1M](/docs/id/model-config#extended-context). Ketika diatur, varian model 1M tidak tersedia di pemilih model, dan Claude Code menahan sesi di model dengan jendela 1M asli, seperti [Sonnet 5.5](/docs/id/model-config#sonnet-5-5-and-sonnet-5-context-window) dan model Fable, ke jendela 200K; lihat [Konteks Diperpanjang](/docs/id/model-config#extended-context) untuk cara tahan ditegakkan. Berguna untuk lingkungan perusahaan dengan persyaratan kepatuhan. Untuk perannya dalam mengoreksi jendela untuk ID model `[1m]` yang tidak dikenali, lihat [Koreksi jendela untuk ID model gateway atau khusus](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Atur ke `1` untuk menonaktifkan [penalaran adaptif](/docs/id/model-config#adjust-effort-level) di Opus 4.6 dan Sonnet 4.6 dan kembali ke anggaran pemikiran tetap yang dikendalikan oleh `MAX_THINKING_TOKENS`. Tidak berpengaruh pada [model Fable](/docs/id/model-config#extended-thinking), Sonnet 5, atau Opus 4.7 dan lebih baru, yang selalu menggunakan penalaran adaptif |241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Atur ke `1` untuk menonaktifkan [penalaran adaptif](/docs/id/model-config#adjust-effort-level) di Opus 4.6 dan Sonnet 4.6 dan kembali ke anggaran pemikiran tetap yang dikendalikan oleh `MAX_THINKING_TOKENS`. Tidak berpengaruh pada [model Fable](/docs/id/model-config#extended-thinking), Sonnet 5 dan lebih baru, atau Opus 4.7 dan lebih baru, yang selalu menggunakan penalaran adaptif |

242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Atur ke `1` untuk menghentikan Claude Code dari penggabungan blok `env` [pengaturan yang dikelola](/docs/id/managed-settings#precedence-within-the-managed-tier) per kunci di seluruh sumber admin, jadi hanya blok `env` sumber prioritas tertinggi yang berlaku, seperti sebelum v2.1.223. Atur di lingkungan yang meluncurkan Claude Code, karena Claude Code mengabaikan salinan yang dikirim melalui blok `env` pengaturan. Memerlukan Claude Code v2.1.223 atau lebih baru |242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Atur ke `1` untuk menghentikan Claude Code dari penggabungan blok `env` [pengaturan yang dikelola](/docs/id/managed-settings#precedence-within-the-managed-tier) per kunci di seluruh sumber admin, jadi hanya blok `env` sumber prioritas tertinggi yang berlaku, seperti sebelum v2.1.223. Atur di lingkungan yang meluncurkan Claude Code, karena Claude Code mengabaikan salinan yang dikirim melalui blok `env` pengaturan. Memerlukan Claude Code v2.1.223 atau lebih baru |

243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Atur ke `1` untuk menonaktifkan [alat penasihat](/docs/id/advisor). Perintah `/advisor` menjadi tidak tersedia, `advisorModel` yang dikonfigurasi apa pun diabaikan, dan flag `--advisor` diterima tetapi tidak berpengaruh, jadi skrip yang ada yang meneruskannya terus bekerja tanpa kesalahan |243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Atur ke `1` untuk menonaktifkan [alat penasihat](/docs/id/advisor). Perintah `/advisor` menjadi tidak tersedia, `advisorModel` yang dikonfigurasi apa pun diabaikan, dan flag `--advisor` diterima tetapi tidak berpengaruh, jadi skrip yang ada yang meneruskannya terus bekerja tanpa kesalahan |

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


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

256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Atur ke `1` untuk mencegah memuat file memori CLAUDE.md apa pun ke dalam konteks, termasuk file memori pengguna, proyek, dan otomatis |256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Atur ke `1` untuk mencegah memuat file memori CLAUDE.md apa pun ke dalam konteks, termasuk file memori pengguna, proyek, dan otomatis |

257| `CLAUDE_CODE_DISABLE_CRON` | Atur ke `1` untuk menonaktifkan [tugas terjadwal](/docs/id/scheduled-tasks). Skill `/loop` dan alat cron menjadi tidak tersedia dan tugas yang sudah dijadwalkan apa pun berhenti diaktifkan, termasuk tugas yang sudah berjalan di tengah sesi |257| `CLAUDE_CODE_DISABLE_CRON` | Atur ke `1` untuk menonaktifkan [tugas terjadwal](/docs/id/scheduled-tasks). Skill `/loop` dan alat cron menjadi tidak tersedia dan tugas yang sudah dijadwalkan apa pun berhenti diaktifkan, termasuk tugas yang sudah berjalan di tengah sesi |

258| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Atur ke `1` untuk menonaktifkan batas waktu pada prompt [penghapusan jalur kritis](/docs/id/permission-modes#critical-paths). Dalam mode `auto` Claude Code kemudian mengirim penghapusan ini ke pengklasifikasi sebagai gantinya, dan dalam mode `bypassPermissions` prompt menunggu jawaban Anda. Atur di lingkungan yang meluncurkan Claude Code, karena Claude Code mengabaikan salinan yang dikirim melalui blok `env` pengaturan. Memerlukan Claude Code v2.1.281 atau lebih baru |

258| `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 ketika gateway proxy menolak permintaan dengan kesalahan seperti "Unexpected value(s) for the `anthropic-beta` header" atau "Extra inputs are not permitted". Bidang standar (`name`, `description`, `input_schema`, `cache_control`) dipertahankan. [Pencarian alat MCP](/docs/id/mcp#scale-with-mcp-tool-search) dinonaktifkan dan semua alat MCP dimuat di muka, bahkan ketika Anda menetapkan `ENABLE_TOOL_SEARCH`. Di Claude Code v2.1.227 atau lebih baru, [pengaturan yang dikelola](/docs/id/managed-settings) dapat menjaga pencarian alat tetap aktif. [Nonaktifkan kemampuan pra-rilis](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) mencakup tempat penggantian berlaku |259| `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 ketika gateway proxy menolak permintaan dengan kesalahan seperti "Unexpected value(s) for the `anthropic-beta` header" atau "Extra inputs are not permitted". Bidang standar (`name`, `description`, `input_schema`, `cache_control`) dipertahankan. [Pencarian alat MCP](/docs/id/mcp#scale-with-mcp-tool-search) dinonaktifkan dan semua alat MCP dimuat di muka, bahkan ketika Anda menetapkan `ENABLE_TOOL_SEARCH`. Di Claude Code v2.1.227 atau lebih baru, [pengaturan yang dikelola](/docs/id/managed-settings) dapat menjaga pencarian alat tetap aktif. [Nonaktifkan kemampuan pra-rilis](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) mencakup tempat penggantian berlaku |

259| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Atur ke `1` untuk menonaktifkan [subagent Explore dan Plan](/docs/id/sub-agents#built-in-subagents) bawaan. Claude mengeksplorasi dengan alat pencarian atau subagent tujuan umum sebagai gantinya, dan [mode rencana](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) membaca file secara langsung daripada meluncurkan agen Explore dan Plan. Subagent khusus bernama `Explore` atau `Plan` tidak terpengaruh. Untuk menghapus setiap jenis subagent bawaan di Agent SDK atau mode non-interaktif, gunakan `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` sebagai gantinya. Memerlukan Claude Code v2.1.198 atau lebih baru |260| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Atur ke `1` untuk menonaktifkan [subagent Explore dan Plan](/docs/id/sub-agents#built-in-subagents) bawaan. Claude mengeksplorasi dengan alat pencarian atau subagent tujuan umum sebagai gantinya, dan [mode rencana](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) membaca file secara langsung daripada meluncurkan agen Explore dan Plan. Subagent khusus bernama `Explore` atau `Plan` tidak terpengaruh. Untuk menghapus setiap jenis subagent bawaan di Agent SDK atau mode non-interaktif, gunakan `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` sebagai gantinya. Memerlukan Claude Code v2.1.198 atau lebih baru |

260| `CLAUDE_CODE_DISABLE_FAST_MODE` | Atur ke `1` untuk menonaktifkan [mode cepat](/docs/id/fast-mode) |261| `CLAUDE_CODE_DISABLE_FAST_MODE` | Atur ke `1` untuk menonaktifkan [mode cepat](/docs/id/fast-mode) |


265| `CLAUDE_CODE_DISABLE_MOUSE` | Atur ke `1` untuk menonaktifkan pelacakan mouse dalam [rendering fullscreen](/docs/id/fullscreen). Pengguliran keyboard dengan `PgUp` dan `PgDn` masih bekerja. Gunakan ini untuk menjaga perilaku salinan-pada-pilih asli terminal Anda |266| `CLAUDE_CODE_DISABLE_MOUSE` | Atur ke `1` untuk menonaktifkan pelacakan mouse dalam [rendering fullscreen](/docs/id/fullscreen). Pengguliran keyboard dengan `PgUp` dan `PgDn` masih bekerja. Gunakan ini untuk menjaga perilaku salinan-pada-pilih asli terminal Anda |

266| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Atur ke `1` untuk menonaktifkan penanganan klik, seret, dan hover dalam [rendering fullscreen](/docs/id/fullscreen) sambil menjaga pengguliran roda mouse. Gunakan ini ketika Anda ingin pengguliran roda bekerja di dalam Claude Code tetapi tidak ingin klik memposisikan kursor, memperluas output alat, atau membuka tautan. `CLAUDE_CODE_DISABLE_MOUSE` mengambil prioritas ketika keduanya diatur. Memerlukan Claude Code v2.1.195 atau lebih baru |267| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Atur ke `1` untuk menonaktifkan penanganan klik, seret, dan hover dalam [rendering fullscreen](/docs/id/fullscreen) sambil menjaga pengguliran roda mouse. Gunakan ini ketika Anda ingin pengguliran roda bekerja di dalam Claude Code tetapi tidak ingin klik memposisikan kursor, memperluas output alat, atau membuka tautan. `CLAUDE_CODE_DISABLE_MOUSE` mengambil prioritas ketika keduanya diatur. Memerlukan Claude Code v2.1.195 atau lebih baru |

267| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Atur ke `1` untuk menghentikan Claude Code dari membaca ulang [sertifikat klien mTLS dan kunci](/docs/id/network-config#mtls-authentication) ketika permintaan API gagal dengan kesalahan tingkat koneksi, seperti pengaturan ulang koneksi atau kesalahan jabat tangan TLS. Dengan reload dinonaktifkan, Claude Code memuat file yang diputar hanya ketika berikutnya menerapkan pengaturan atau pada startup berikutnya. Memerlukan Claude Code v2.1.232 atau lebih baru |268| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Atur ke `1` untuk menghentikan Claude Code dari membaca ulang [sertifikat klien mTLS dan kunci](/docs/id/network-config#mtls-authentication) ketika permintaan API gagal dengan kesalahan tingkat koneksi, seperti pengaturan ulang koneksi atau kesalahan jabat tangan TLS. Dengan reload dinonaktifkan, Claude Code memuat file yang diputar hanya ketika berikutnya menerapkan pengaturan atau pada startup berikutnya. Memerlukan Claude Code v2.1.232 atau lebih baru |

268| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Atur ke nilai apa pun yang tidak kosong, seperti `1`, untuk menonaktifkan lalu lintas jaringan yang tidak penting: pembaruan otomatis, telemetri, pelaporan kesalahan, perintah `/feedback`, [umpan balik yang ditulis Claude](/docs/id/tools-reference#sendfeedback-tool-behavior), catatan rilis, pemeriksaan [lencana status PR dan MR](/docs/id/interactive-mode#pr-review-status), dan pemeriksaan ketersediaan seperti pemeriksaan [mode cepat](/docs/id/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Ini juga menghentikan [jalankan latar belakang dari sumber `command` plugin](/docs/id/plugin-marketplaces#when-claude-code-re-runs-the-command), yang merupakan perintah lokal daripada lalu lintas jaringan, karena mereka dapat memicu instalasi ketergantungan. **Menetapkannya ke `0` atau `false` masih menonaktifkan lalu lintas ini**, tidak seperti sebagian besar variabel aktif/mati; batalkan penetapan variabel untuk mengizinkannya lagi. Juga menonaktifkan pengambilan flag fitur, yang membuat [Remote Control](/docs/id/remote-control#requirements) dan [fitur lain yang memerlukan pengambilan flag fitur](#features-that-need-feature-flag-fetching) tidak tersedia. Instalasi otomatis marketplace plugin resmi tidak tercakup; nonaktifkan dengan `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Tidak mempengaruhi [penemuan model gateway](/docs/id/llm-gateway-connect#add-gateway-models-to-the-model-picker), yang memiliki opt-in sendiri |269| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Atur ke nilai apa pun yang tidak kosong, seperti `1`, untuk menonaktifkan lalu lintas jaringan yang tidak penting: pembaruan otomatis, telemetri, pelaporan kesalahan, perintah `/feedback`, [umpan balik yang ditulis Claude](/docs/id/tools-reference#sendfeedback-tool-behavior), catatan rilis, pemeriksaan [lencana status PR dan MR](/docs/id/interactive-mode#pr-review-status), dan pemeriksaan ketersediaan seperti pemeriksaan [mode cepat](/docs/id/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Ini juga menghentikan [jalankan latar belakang dari sumber `command` plugin](/docs/id/plugins/loading#when-a-command-source-re-runs), yang merupakan perintah lokal daripada lalu lintas jaringan, karena mereka dapat memicu instalasi ketergantungan. **Menetapkannya ke `0` atau `false` masih menonaktifkan lalu lintas ini**, tidak seperti sebagian besar variabel aktif/mati; batalkan penetapan variabel untuk mengizinkannya lagi. Juga menonaktifkan pengambilan flag fitur, yang membuat [Remote Control](/docs/id/remote-control#requirements) dan [fitur lain yang memerlukan pengambilan flag fitur](#features-that-need-feature-flag-fetching) tidak tersedia. Instalasi otomatis marketplace plugin resmi tidak tercakup; nonaktifkan dengan `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Tidak mempengaruhi [penemuan model gateway](/docs/id/llm-gateway-connect#add-gateway-models-to-the-model-picker), yang memiliki opt-in sendiri |

269| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Atur ke `1` untuk menonaktifkan fallback non-streaming ketika permintaan streaming gagal di tengah-tengah. Kesalahan streaming menyebar ke lapisan percobaan ulang sebagai gantinya. Berguna ketika proxy atau gateway menyebabkan fallback menghasilkan eksekusi alat duplikat |270| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Atur ke `1` untuk menonaktifkan fallback non-streaming ketika permintaan streaming gagal di tengah-tengah. Kesalahan streaming menyebar ke lapisan percobaan ulang sebagai gantinya. Berguna ketika proxy atau gateway menyebabkan fallback menghasilkan eksekusi alat duplikat |

270| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Atur ke `1` untuk mengirim pemberitahuan desktop alat `PushNotification` bahkan saat Anda mengetik atau fokus pada terminal. Secara default alat melewati pemberitahuan desktop dan [push mobile](/docs/id/remote-control#mobile-push-notifications) ketika mendeteksi aktivitas keyboard atau fokus terminal baru-baru ini. Variabel ini hanya menonaktifkan pemeriksaan lokal itu, jadi server masih dapat menekan push mobile ketika mendeteksi bahwa Anda aktif. Memerlukan Claude Code v2.1.193 atau lebih baru |271| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Atur ke `1` untuk mengirim pemberitahuan desktop alat `PushNotification` bahkan saat Anda mengetik atau fokus pada terminal. Secara default alat melewati pemberitahuan desktop dan [push mobile](/docs/id/remote-control#mobile-push-notifications) ketika mendeteksi aktivitas keyboard atau fokus terminal baru-baru ini. Variabel ini hanya menonaktifkan pemeriksaan lokal itu, jadi server masih dapat menekan push mobile ketika mendeteksi bahwa Anda aktif. Memerlukan Claude Code v2.1.193 atau lebih baru |

271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Atur ke `1` untuk menonaktifkan pendaftaran otomatis marketplace plugin resmi. Claude Code membaca variabel ketika akan mendaftarkan marketplace, biasanya selama peluncuran interaktif mesin pertama. Jika variabel diatur pada titik itu, Claude Code melewati pendaftaran secara permanen. Membatalkan penetapan variabel nanti tidak membatalkan lompatan. Jalankan `claude plugin marketplace add anthropics/claude-plugins-official` untuk mendaftarkan marketplace kapan saja |272| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Atur ke `1` untuk menonaktifkan pendaftaran otomatis marketplace plugin resmi. Claude Code membaca variabel ketika akan mendaftarkan marketplace, biasanya selama peluncuran interaktif mesin pertama. Jika variabel diatur pada titik itu, Claude Code melewati pendaftaran secara permanen. Membatalkan penetapan variabel nanti tidak membatalkan lompatan. Jalankan `claude plugin marketplace add anthropics/claude-plugins-official` untuk mendaftarkan marketplace kapan saja |

272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Atur ke `1` untuk menghentikan Claude Code dari menjalankan [hook `Notification` Anda untuk permintaan izin yang belum dijawab](/docs/id/hooks#notification) di sesi di mana Claude Code mengirimnya ke callback `canUseTool` Agent SDK, yang merupakan cara Claude Desktop dan ekstensi VS Code menampilkan Claude Code. Tidak berpengaruh di sesi terminal. Memerlukan Claude Code v2.1.233 atau lebih baru |273| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Atur ke `1` untuk menghentikan Claude Code dari menjalankan [hook `Notification` Anda untuk permintaan izin yang belum dijawab](/docs/id/hooks#notification) di sesi di mana Claude Code mengirimnya ke callback `canUseTool` Agent SDK, yang merupakan cara Claude Desktop dan ekstensi VS Code menampilkan Claude Code. Tidak berpengaruh di sesi terminal. Memerlukan Claude Code v2.1.233 atau lebih baru |

273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Atur ke `1` untuk melewati pemuatan skills dari direktori skills yang dikelola di seluruh sistem. Berguna untuk sesi container atau CI yang tidak boleh memuat skills yang disediakan operator |274| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Atur ke `1` untuk melewati pemuatan skills dari direktori skills yang dikelola di seluruh sistem. Berguna untuk sesi container atau CI yang tidak boleh memuat skills yang disediakan operator |

275| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Atur ke `1` untuk menonaktifkan pemeriksaan [alat PowerShell](/docs/id/tools-reference#powershell-tool) yang menolak perintah bawaan `cmd` `rd`, `rmdir`, `del`, dan `erase` pada [jalur sistem](/docs/id/permission-modes#remove-item-in-powershell), seperti akar drive atau direktori home Anda. Claude Code mengabaikan variabel ini di blok `env` file pengaturan. Memerlukan Claude Code v2.1.283 atau lebih baru |

276| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Atur ke `1` untuk menonaktifkan pemeriksaan [jalur kritis](/docs/id/permission-modes#critical-paths) untuk `rm` rekursif yang targetnya sepenuhnya output dari substitusi perintah, seperti `rm -rf "$(pwd)"`. Pemeriksaan jalur kritis lainnya terus berjalan. Atur di lingkungan yang meluncurkan Claude Code, karena Claude Code mengabaikan salinan yang dikirim melalui blok `env` pengaturan. Memerlukan Claude Code v2.1.281 atau lebih baru |

274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Atur ke `1` untuk menonaktifkan pembaruan judul terminal otomatis berdasarkan konteks percakapan. Ini juga melewati permintaan model kecil/cepat latar belakang yang [menghasilkan judul sesi](/docs/id/sessions#name-your-sessions) |277| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Atur ke `1` untuk menonaktifkan pembaruan judul terminal otomatis berdasarkan konteks percakapan. Ini juga melewati permintaan model kecil/cepat latar belakang yang [menghasilkan judul sesi](/docs/id/sessions#name-your-sessions) |

275| `CLAUDE_CODE_DISABLE_THINKING` | Atur ke `1` untuk menghilangkan parameter `thinking` dari permintaan API sepenuhnya. Ini adalah opsi kompatibilitas untuk proxy dan gateway yang menolak parameter. Di model yang berpikir secara default, menghilangkan parameter berarti model mungkin masih berpikir. Untuk secara eksplisit menonaktifkan [pemikiran yang diperpanjang](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) di API Anthropic, gunakan `MAX_THINKING_TOKENS=0` sebagai gantinya. Tidak ada variabel yang menonaktifkan pemikiran di Opus 5.5 atau model Fable, yang tidak dapat memiliki pemikiran dinonaktifkan. Di [penyedia pihak ketiga](/docs/id/third-party-integrations), `MAX_THINKING_TOKENS=0` demikian pula menghilangkan parameter, jadi kedua variabel berperilaku sama di sana |278| `CLAUDE_CODE_DISABLE_THINKING` | Atur ke `1` untuk menghilangkan parameter `thinking` dari permintaan API sepenuhnya. Ini adalah opsi kompatibilitas untuk proxy dan gateway yang menolak parameter. Di model yang berpikir secara default, menghilangkan parameter berarti model mungkin masih berpikir. Untuk secara eksplisit menonaktifkan [pemikiran yang diperpanjang](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) di API Anthropic, gunakan `MAX_THINKING_TOKENS=0` sebagai gantinya. Tidak ada variabel yang menonaktifkan pemikiran di Opus 5.5, Sonnet 5.5, atau model Fable, yang tidak dapat memiliki pemikiran dinonaktifkan. Di [penyedia pihak ketiga](/docs/id/third-party-integrations), `MAX_THINKING_TOKENS=0` demikian pula menghilangkan parameter, jadi kedua variabel berperilaku sama di sana |

276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Atur ke `1` untuk melewati [auto-compaction](/docs/id/costs#reduce-token-usage) proaktif ketika Claude Code tidak mengenali ID model, seperti alias [gateway LLM](/docs/id/llm-gateway). Tanpa variabel ini, Claude Code compact pada jendela konteks yang diasumsikan untuk ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` dapat mengoreksi jendela yang diasumsikan sebagai gantinya; lihat [Koreksi jendela untuk ID model gateway atau khusus](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) untuk kapan setiap variabel berlaku. Memerlukan Claude Code v2.1.223 atau lebih baru |279| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Atur ke `1` untuk melewati [auto-compaction](/docs/id/costs#reduce-token-usage) proaktif ketika Claude Code tidak mengenali ID model, seperti alias [gateway LLM](/docs/id/llm-gateway). Tanpa variabel ini, Claude Code compact pada jendela konteks yang diasumsikan untuk ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` dapat mengoreksi jendela yang diasumsikan sebagai gantinya; lihat [Koreksi jendela untuk ID model gateway atau khusus](/docs/id/model-config#correct-the-window-for-a-gateway-or-custom-model-id) untuk kapan setiap variabel berlaku. Memerlukan Claude Code v2.1.223 atau lebih baru |

277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Atur ke `1` untuk menonaktifkan pengguliran virtual dalam [rendering fullscreen](/docs/id/fullscreen) dan merender setiap pesan dalam transkrip. Gunakan ini jika pengguliran dalam mode fullscreen menampilkan wilayah kosong di mana pesan harus muncul |280| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Atur ke `1` untuk menonaktifkan pengguliran virtual dalam [rendering fullscreen](/docs/id/fullscreen) dan merender setiap pesan dalam transkrip. Gunakan ini jika pengguliran dalam mode fullscreen menampilkan wilayah kosong di mana pesan harus muncul |

278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Atur ke `1` untuk memulai perintah [alat PowerShell](/docs/id/tools-reference#powershell-tool) di Windows secara langsung daripada melalui peluncur `cmd.exe`. Secara default, peluncur memungkinkan perintah PowerShell [berjalan di latar belakang](/docs/id/tools-reference#background-commands) [membawa ke proses sesi berikutnya](/docs/id/agent-view#the-supervisor-process), seperti ketika Anda [menempatkan sesi di latar belakang](/docs/id/agent-view#from-inside-a-session). Jika Anda menetapkan variabel, perintah PowerShell yang dilatarbelakangkan berhenti ketika proses sesi keluar. Perintah Bash tidak terpengaruh. Memerlukan Claude Code v2.1.269 atau lebih baru |281| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Atur ke `1` untuk memulai perintah [alat PowerShell](/docs/id/tools-reference#powershell-tool) di Windows secara langsung daripada melalui peluncur `cmd.exe`. Secara default, peluncur memungkinkan perintah PowerShell [berjalan di latar belakang](/docs/id/tools-reference#background-commands) [membawa ke proses sesi berikutnya](/docs/id/agent-view#the-supervisor-process), seperti ketika Anda [menempatkan sesi di latar belakang](/docs/id/agent-view#from-inside-a-session). Jika Anda menetapkan variabel, perintah PowerShell yang dilatarbelakangkan berhenti ketika proses sesi keluar. Perintah Bash tidak terpengaruh. Memerlukan Claude Code v2.1.269 atau lebih baru |


287| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Dihapus di v2.1.142, ketika default [mode cepat](/docs/id/fast-mode) pindah dari Opus 4.6 ke Opus 4.7 |290| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Dihapus di v2.1.142, ketika default [mode cepat](/docs/id/fast-mode) pindah dari Opus 4.6 ke Opus 4.7 |

288| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Atur ke `false` untuk menonaktifkan saran prompt, prediksi abu-abu yang muncul di input prompt Anda. Mengambil prioritas di atas pengaturan [`promptSuggestionEnabled`](/docs/id/settings-reference#promptsuggestionenabled), yang merupakan apa yang toggle **Saran prompt** di `/config` tulis. Claude Code juga [menjeda saran saat akun Anda mendekati atau mencapai batas penggunaan](/docs/id/interactive-mode#when-claude-code-skips-suggestions). Atur ke `true` untuk menyimpannya aktif sampai Anda mencapai batas. Memerlukan Claude Code v2.1.238 atau lebih baru. Lihat [Saran prompt](/docs/id/interactive-mode#prompt-suggestions) |291| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Atur ke `false` untuk menonaktifkan saran prompt, prediksi abu-abu yang muncul di input prompt Anda. Mengambil prioritas di atas pengaturan [`promptSuggestionEnabled`](/docs/id/settings-reference#promptsuggestionenabled), yang merupakan apa yang toggle **Saran prompt** di `/config` tulis. Claude Code juga [menjeda saran saat akun Anda mendekati atau mencapai batas penggunaan](/docs/id/interactive-mode#when-claude-code-skips-suggestions). Atur ke `true` untuk menyimpannya aktif sampai Anda mencapai batas. Memerlukan Claude Code v2.1.238 atau lebih baru. Lihat [Saran prompt](/docs/id/interactive-mode#prompt-suggestions) |

289| `CLAUDE_CODE_ENABLE_TASKS` | Memilih alat pelacakan tugas mana yang Claude Code sediakan di [sesi yang memilikinya](/docs/id/tools-reference#task-tool-availability). Secara default, Claude Code menyediakan alat Task `TaskCreate`, `TaskUpdate`, `TaskGet`, dan `TaskList`. Atur ke `0` untuk mendapatkan alat `TodoWrite` warisan sebagai gantinya. Lihat [Daftar tugas](/docs/id/interactive-mode#task-list) |292| `CLAUDE_CODE_ENABLE_TASKS` | Memilih alat pelacakan tugas mana yang Claude Code sediakan di [sesi yang memilikinya](/docs/id/tools-reference#task-tool-availability). Secara default, Claude Code menyediakan alat Task `TaskCreate`, `TaskUpdate`, `TaskGet`, dan `TaskList`. Atur ke `0` untuk mendapatkan alat `TodoWrite` warisan sebagai gantinya. Lihat [Daftar tugas](/docs/id/interactive-mode#task-list) |

290| `CLAUDE_CODE_ENABLE_TELEMETRY` | Atur ke `1` untuk mengaktifkan pengumpulan data OpenTelemetry untuk metrik dan logging. Diperlukan sebelum mengonfigurasi pengekspor OTel. Lihat [Monitoring](/docs/id/monitoring-usage) |293| `CLAUDE_CODE_ENABLE_TELEMETRY` | Atur ke `1` untuk mengaktifkan pengumpulan data OpenTelemetry untuk metrik dan logging. Diperlukan sebelum mengonfigurasi pengekspor OTel. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env). Lihat [Monitoring](/docs/id/monitoring-usage) |

291| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Atur ke `1` untuk mendapatkan alat pelacakan tugas di setiap model. Tanpanya, Claude Code menyediakannya secara default hanya di model yang tercantum di bawah [Ketersediaan alat Task](/docs/id/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` masih memilih alat Task atau `TodoWrite`. Memerlukan Claude Code v2.1.233 atau lebih baru |294| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Atur ke `1` untuk mendapatkan alat pelacakan tugas di setiap model. Tanpanya, Claude Code menyediakannya secara default hanya di model yang tercantum di bawah [Ketersediaan alat Task](/docs/id/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` masih memilih alat Task atau `TodoWrite`. Memerlukan Claude Code v2.1.233 atau lebih baru |

292| `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 |295| `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 |

293| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Atur ke `1` untuk mengaktifkan [tim agent](/docs/id/agent-teams). Tim agent bersifat eksperimental dan dinonaktifkan secara default |296| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Atur ke `1` untuk mengaktifkan [tim agent](/docs/id/agent-teams). Tim agent bersifat eksperimental dan dinonaktifkan secara default |


341| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Atur ke `1` untuk membiarkan Claude Code menjalankan perintah upgrade manajer paket Anda di latar belakang ketika versi baru tersedia. Berlaku untuk instalasi Homebrew dan WinGet. Manajer paket lain terus menampilkan perintah upgrade tanpa menjalankannya. Lihat [Pembaruan otomatis](/docs/id/setup#auto-updates) |344| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Atur ke `1` untuk membiarkan Claude Code menjalankan perintah upgrade manajer paket Anda di latar belakang ketika versi baru tersedia. Berlaku untuk instalasi Homebrew dan WinGet. Manajer paket lain terus menampilkan perintah upgrade tanpa menjalankannya. Lihat [Pembaruan otomatis](/docs/id/setup#auto-updates) |

342| `CLAUDE_CODE_PERFORCE_MODE` | Atur ke `1` untuk mengaktifkan perlindungan penulisan yang menyadari Perforce. Ketika diatur, Edit, Write, dan NotebookEdit gagal dengan petunjuk `p4 edit <file>` jika file target tidak memiliki bit pemilik-tulis, yang Perforce hapus pada file yang disinkronkan sampai `p4 edit` membukanya. Ini mencegah Claude Code dari melewati pelacakan perubahan Perforce |345| `CLAUDE_CODE_PERFORCE_MODE` | Atur ke `1` untuk mengaktifkan perlindungan penulisan yang menyadari Perforce. Ketika diatur, Edit, Write, dan NotebookEdit gagal dengan petunjuk `p4 edit <file>` jika file target tidak memiliki bit pemilik-tulis, yang Perforce hapus pada file yang disinkronkan sampai `p4 edit` membukanya. Ini mencegah Claude Code dari melewati pelacakan perubahan Perforce |

343| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Ganti direktori root plugin. Meskipun namanya, ini menetapkan direktori induk, bukan cache itu sendiri: marketplace dan cache plugin hidup di subdirektori di bawah path ini. Default ke `~/.claude/plugins` |346| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Ganti direktori root plugin. Meskipun namanya, ini menetapkan direktori induk, bukan cache itu sendiri: marketplace dan cache plugin hidup di subdirektori di bawah path ini. Default ke `~/.claude/plugins` |

344| `CLAUDE_CODE_PLUGIN_DIRS` | Direktori plugin untuk dimuat untuk sesi, masing-masing dimuat dengan cara flag [`--plugin-dir`](/docs/id/plugins#test-your-plugins-locally) memuat. Pisahkan beberapa path dengan `:` di Unix atau `;` di Windows. Berikan setiap path sebagai path absolut atau mulai dengan `~`, karena Claude Code melewati path relatif. Memerlukan Claude Code v2.1.280 atau lebih baru |347| `CLAUDE_CODE_PLUGIN_DIRS` | Direktori plugin untuk dimuat untuk sesi, masing-masing dimuat dengan cara flag [`--plugin-dir`](/docs/id/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) memuat. Pisahkan beberapa path dengan `:` di Unix atau `;` di Windows. Berikan setiap path sebagai path absolut atau mulai dengan `~`, karena Claude Code melewati path relatif. Memerlukan Claude Code v2.1.280 atau lebih baru. Lihat [Muat plugin untuk satu sesi](/docs/id/plugins/create#load-a-directory-or-archive-for-one-session) |

345| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout dalam milidetik untuk operasi git saat memasang atau memperbarui plugin (default: 120000). Naikkan nilai ini untuk repositori besar atau koneksi jaringan lambat. Lihat [Operasi Git timeout](/docs/id/plugin-marketplaces#git-operations-time-out) |348| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout dalam milidetik untuk kloning atau penyegaran marketplace plugin (default: 120000). Naikkan nilai ini untuk repositori besar atau koneksi jaringan lambat. Lihat [Git clone timed out](/docs/id/plugins/troubleshooting#git-clone-timed-out-after-120s) |

346| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Atur ke `1` untuk melewati upaya re-clone dan terus menggunakan checkout marketplace yang ada ketika penyegaran marketplace tidak dapat menjangkau atau mengautentikasi ke remote. Berguna di lingkungan offline atau airgapped di mana re-cloning akan gagal dengan cara yang sama. Lihat [Pembaruan Marketplace gagal di lingkungan offline](/docs/id/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |349| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Atur ke `1` untuk melewati upaya re-clone dan terus menggunakan checkout marketplace yang ada ketika penyegaran marketplace tidak dapat menjangkau atau mengautentikasi ke remote. Berguna di lingkungan offline atau airgapped di mana re-cloning akan gagal dengan cara yang sama. Lihat [Pembaruan Marketplace gagal di lingkungan offline](/docs/id/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

347| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Atur ke `1` untuk mengkloning shorthand sumber GitHub `owner/repo` melalui HTTPS daripada SSH. Berlaku untuk instalasi plugin dan update, dan untuk `/plugin marketplace add` dan `update`. Berguna di runner CI, container, atau lingkungan apa pun tanpa kunci SSH yang dikonfigurasi untuk `github.com` |350| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Atur ke `1` untuk mengkloning shorthand sumber GitHub `owner/repo` melalui HTTPS daripada SSH. Berlaku untuk instalasi plugin dan update, dan untuk `/plugin marketplace add` dan `update`. Berguna di runner CI, container, atau lingkungan apa pun tanpa kunci SSH yang dikonfigurasi untuk `github.com` |

348| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Path ke satu atau lebih direktori seed plugin baca-saja, dipisahkan oleh `:` di Unix atau `;` di Windows. Gunakan ini untuk membundel direktori plugin yang sudah diisi sebelumnya ke dalam gambar container. Claude Code mendaftarkan marketplace dari direktori ini saat startup dan menggunakan plugin yang di-cache sebelumnya tanpa re-cloning. Lihat [Pre-populate plugins untuk container](/docs/id/plugin-marketplaces#pre-populate-plugins-for-containers) |351| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Path ke satu atau lebih direktori seed plugin baca-saja, dipisahkan oleh `:` di Unix atau `;` di Windows. Gunakan ini untuk membundel direktori plugin yang sudah diisi sebelumnya ke dalam gambar container. Claude Code mendaftarkan marketplace dari direktori ini saat startup dan menggunakan plugin yang di-cache sebelumnya tanpa re-cloning. Lihat [Pre-populate plugins untuk container](/docs/id/plugins/org#seed-containers-and-ci) |

349| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Atur ke `1` untuk menghentikan Claude Code dari meneruskan `-ExecutionPolicy Bypass` saat memunculkan PowerShell untuk panggilan alat, hook, dan perintah status line, dan menghormati kebijakan eksekusi efektif mesin sebagai gantinya. Secara default Claude Code melewati kebijakan eksekusi di ruang lingkup proses sehingga skrip `.ps1` dan impor modul bekerja pada instalasi Windows default-Restricted. Bypass ruang lingkup proses tidak pernah mengganti Kebijakan Grup `MachinePolicy` atau `UserPolicy` terlepas dari pengaturan ini |352| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Atur ke `1` untuk menghentikan Claude Code dari meneruskan `-ExecutionPolicy Bypass` saat memunculkan PowerShell untuk panggilan alat, hook, dan perintah status line, dan menghormati kebijakan eksekusi efektif mesin sebagai gantinya. Secara default Claude Code melewati kebijakan eksekusi di ruang lingkup proses sehingga skrip `.ps1` dan impor modul bekerja pada instalasi Windows default-Restricted. Bypass ruang lingkup proses tidak pernah mengganti Kebijakan Grup `MachinePolicy` atau `UserPolicy` terlepas dari pengaturan ini |

350| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Batas dalam milidetik pada menunggu idle untuk subagent latar belakang dan alur kerja setelah giliran terakhir dalam [mode non-interaktif](/docs/id/headless#background-tasks-at-exit) dengan flag `-p`. Menunggu idle dimulai lagi setiap kali Claude mengambil giliran untuk menangani hasil latar belakang. Default: `600000`, atau 10 menit. Ketika menunggu idle mencapai batas, Claude Code berhenti menunggu tugas latar belakang yang tersisa dan keluar. Atur ke `0` untuk menunggu tanpa batas. Batas ini terpisah dari periode grace lima detik yang berlaku untuk shell latar belakang biasa. Memerlukan Claude Code v2.1.182 atau lebih baru |353| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Batas dalam milidetik pada menunggu idle untuk subagent latar belakang dan alur kerja setelah giliran terakhir dalam [mode non-interaktif](/docs/id/headless#background-tasks-at-exit) dengan flag `-p`. Menunggu idle dimulai lagi setiap kali Claude mengambil giliran untuk menangani hasil latar belakang. Default: `600000`, atau 10 menit. Ketika menunggu idle mencapai batas, Claude Code berhenti menunggu tugas latar belakang yang tersisa dan keluar. Atur ke `0` untuk menunggu tanpa batas. Batas ini terpisah dari periode grace lima detik yang berlaku untuk shell latar belakang biasa. Memerlukan Claude Code v2.1.182 atau lebih baru |

351| `CLAUDE_CODE_PROCESS_WRAPPER` | Luncurkan proses yang Claude Code mulai dari binernya sendiri, seperti layanan latar belakang yang menampilkan sesi [tampilan agent](/docs/id/agent-view), melalui peluncur perusahaan yang diberikan sebagai awalan argv seperti `/opt/corp/launcher`. Atur di blok `env` pengaturan pengguna atau [yang dikelola](/docs/id/managed-settings), bukan sebagai ekspor shell, jadi layanan latar belakang yang terpisah mewarisnya; pengaturan proyek dan lokal tidak dapat menetapkannya. Setara dengan pengaturan [`processWrapper`](/docs/id/settings-reference#processwrapper), yang memerlukan Claude Code v2.1.210 atau lebih baru; variabel ini mengambil prioritas ketika keduanya diatur. Ekstensi VS Code mengonfigurasi peluncur sendiri secara terpisah melalui pengaturan `claudeProcessWrapper`. Diabaikan di Windows. Lihat [Jalankan Claude Code di balik peluncur perusahaan](/docs/id/corporate-launcher) untuk format nilai, apa yang dicakup peluncur, dan kontrak yang harus dipenuhi peluncur. Memerlukan Claude Code v2.1.208 atau lebih baru |354| `CLAUDE_CODE_PROCESS_WRAPPER` | Luncurkan proses yang Claude Code mulai dari binernya sendiri, seperti layanan latar belakang yang menampilkan sesi [tampilan agent](/docs/id/agent-view), melalui peluncur perusahaan yang diberikan sebagai awalan argv seperti `/opt/corp/launcher`. Atur di blok `env` pengaturan pengguna atau [yang dikelola](/docs/id/managed-settings), bukan sebagai ekspor shell, jadi layanan latar belakang yang terpisah mewarisnya; pengaturan proyek dan lokal tidak dapat menetapkannya. Setara dengan pengaturan [`processWrapper`](/docs/id/settings-reference#processwrapper), yang memerlukan Claude Code v2.1.210 atau lebih baru; variabel ini mengambil prioritas ketika keduanya diatur. Ekstensi VS Code mengonfigurasi peluncur sendiri secara terpisah melalui pengaturan `claudeProcessWrapper`. Diabaikan di Windows. Lihat [Jalankan Claude Code di balik peluncur perusahaan](/docs/id/corporate-launcher) untuk format nilai, apa yang dicakup peluncur, dan kontrak yang harus dipenuhi peluncur. Memerlukan Claude Code v2.1.208 atau lebih baru |


359| `CLAUDE_CODE_RESTRICTED` | Atur ke `1` untuk memulai sesi dalam mode terbatas, sama seperti meneruskan [`--restricted`](/docs/id/cli-reference#cli-flags). Claude Code mengabaikan variabel ini di blok `env` file pengaturan. Memerlukan Claude Code v2.1.248 atau lebih baru |362| `CLAUDE_CODE_RESTRICTED` | Atur ke `1` untuk memulai sesi dalam mode terbatas, sama seperti meneruskan [`--restricted`](/docs/id/cli-reference#cli-flags). Claude Code mengabaikan variabel ini di blok `env` file pengaturan. Memerlukan Claude Code v2.1.248 atau lebih baru |

360| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Atur ke `1` untuk secara otomatis melanjutkan jika sesi sebelumnya berakhir di tengah-giliran. Digunakan dalam mode SDK sehingga model melanjutkan tanpa memerlukan SDK untuk mengirim ulang prompt. Untuk menonaktifkan ini, batalkan penetapan variabel atau atur ke `0`. Sebelum v2.1.221, Claude Code mengabaikan `0` dan nilai falsy lainnya, jadi menetapkan `0` masih memicu resume dalam mode non-interaktif dan membatalkan penetapan variabel adalah satu-satunya cara untuk menonaktifkannya |363| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Atur ke `1` untuk secara otomatis melanjutkan jika sesi sebelumnya berakhir di tengah-giliran. Digunakan dalam mode SDK sehingga model melanjutkan tanpa memerlukan SDK untuk mengirim ulang prompt. Untuk menonaktifkan ini, batalkan penetapan variabel atau atur ke `0`. Sebelum v2.1.221, Claude Code mengabaikan `0` dan nilai falsy lainnya, jadi menetapkan `0` masih memicu resume dalam mode non-interaktif dan membatalkan penetapan variabel adalah satu-satunya cara untuk menonaktifkannya |

361| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Usia maksimum dalam milidetik dari pesan transkrip terakhir untuk sesi yang berakhir di tengah-giliran untuk melanjutkan secara otomatis pada resume. Ketika pesan terakhir lebih lama dari batas ini, Claude Code melewati resume otomatis `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` dan pesan lanjutan `CLAUDE_CODE_RESUME_PROMPT` yang disuntikkan, dan sesi dimulai idle sehingga Anda melanjutkan secara eksplisit. Tidak diatur atau `0` berarti tidak ada batas, kecuali bahwa giliran yang permintaan terakhirnya gagal dengan kesalahan API melanjutkan hanya saat kesalahan itu kurang dari enam jam. Nilai positif mengikat setiap giliran, termasuk yang; nilai negatif atau non-numerik menerapkan batas satu jam. Skrip spawn untuk agent yang berjalan lama dapat menetapkan ini sehingga restart terhadap transkrip lama tidak menjalankan kembali prompt basi. Claude Code menetapkan batas satu jam sendiri ketika memulai ulang sesi [tampilan agent](/docs/id/agent-view) yang mogok yang mewarisi percakapannya dari sesi interaktif. Memerlukan Claude Code v2.1.211 atau lebih baru |364| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Usia maksimum dalam milidetik dari pesan transkrip terakhir untuk sesi yang berakhir di tengah-giliran untuk melanjutkan secara otomatis pada resume. Ketika pesan terakhir lebih lama dari batas ini, Claude Code melewati resume otomatis `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` dan pesan lanjutan `CLAUDE_CODE_RESUME_PROMPT` yang disuntikkan, dan sesi dimulai idle sehingga Anda melanjutkan secara eksplisit. Tidak diatur atau `0` berarti tidak ada batas, kecuali bahwa giliran yang permintaan terakhirnya gagal dengan kesalahan API melanjutkan hanya saat kesalahan itu kurang dari enam jam. Nilai positif mengikat setiap giliran, termasuk yang; nilai negatif atau non-numerik menerapkan batas satu jam. Skrip spawn untuk agent yang berjalan lama dapat menetapkan ini sehingga restart terhadap transkrip lama tidak menjalankan kembali prompt basi. Claude Code menetapkan batas satu jam sendiri ketika memulai ulang sesi [tampilan agent](/docs/id/agent-view) yang mogok yang mewarisi percakapannya dari sesi interaktif. Memerlukan Claude Code v2.1.211 atau lebih baru |

362| `CLAUDE_CODE_RESUME_PROMPT` | Ganti pesan lanjutan yang disuntikkan saat melanjutkan sesi yang berakhir di tengah-giliran. Default ke `Continue from where you left off.`. Skrip spawn untuk agent yang berjalan lama dapat menetapkan ini ke pesan boot yang lebih direktif. String kosong menggunakan default |365| `CLAUDE_CODE_RESUME_PROMPT` | Ganti pesan lanjutan yang disuntikkan saat melanjutkan sesi yang berakhir di tengah-giliran atau saat Anda melanjutkan [panggilan alat yang ditunda](/docs/id/hooks#defer-a-tool-call-for-later) dengan `-p`. Default ke `Continue from where you left off.`. String kosong menggunakan default |

363| `CLAUDE_CODE_RETRY_WATCHDOG` | Atur ke `1` untuk sesi tanpa pengawasan seperti harness eval, pekerjaan CI, atau pekerja jarak jauh. Percobaan ulang `429` dan `529` kesalahan kapasitas tanpa batas daripada gagal setelah upaya `CLAUDE_CODE_MAX_RETRIES`. Claude Code gagal sekaligus ketika permintaan kecepatan standar mendapat `429` yang melaporkan batas pengeluaran atau kredit penggunaan yang habis, bahkan satu dari [batas pengeluaran gateway](/docs/id/errors#spend-limit-reached) yang direset sesuai jadwal. Sebelum v2.1.239, watchdog mencoba ulang ini tanpa batas. Untuk permintaan mode cepat, lihat [Tangani batas laju](/docs/id/fast-mode#handle-rate-limits). Watchdog mundur hingga 5 menit antara upaya, atau sampai batas direset ketika respons membawa waktu reset batas laju, jadi sesi yang mencapai batas penggunaan menunggu jendela yang tersisa. Di v2.1.199 atau lebih baru itu juga menaikkan jumlah percobaan ulang default untuk kesalahan transien lainnya, seperti kesalahan server, timeout, dan koneksi yang dijatuhkan, ke 300, kira-kira tiga jam mundur, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda menetapkan variabel itu secara eksplisit. Memerlukan Claude Code v2.1.186 atau lebih baru |366| `CLAUDE_CODE_RETRY_WATCHDOG` | Atur ke `1` untuk sesi tanpa pengawasan seperti harness eval, pekerjaan CI, atau pekerja jarak jauh. Percobaan ulang `429` dan `529` kesalahan kapasitas tanpa batas daripada gagal setelah upaya `CLAUDE_CODE_MAX_RETRIES`. Claude Code gagal sekaligus ketika permintaan kecepatan standar mendapat `429` yang melaporkan batas pengeluaran atau kredit penggunaan yang habis, bahkan satu dari [batas pengeluaran gateway](/docs/id/errors#spend-limit-reached) yang direset sesuai jadwal. Sebelum v2.1.239, watchdog mencoba ulang ini tanpa batas. Untuk permintaan mode cepat, lihat [Tangani batas laju](/docs/id/fast-mode#handle-rate-limits). Watchdog mundur hingga 5 menit antara upaya, atau sampai batas direset ketika respons membawa waktu reset batas laju, jadi sesi yang mencapai batas penggunaan menunggu jendela yang tersisa. Di v2.1.199 atau lebih baru itu juga menaikkan jumlah percobaan ulang default untuk kesalahan transien lainnya, seperti kesalahan server, timeout, dan koneksi yang dijatuhkan, ke 300, kira-kira tiga jam mundur, dan menghapus batas 15 pada `CLAUDE_CODE_MAX_RETRIES` jika Anda menetapkan variabel itu secara eksplisit. Memerlukan Claude Code v2.1.186 atau lebih baru |

364| `CLAUDE_CODE_SAFE_MODE` | Atur ke `1` untuk memulai dalam mode aman: CLAUDE.md, skills, plugin, hook, server MCP, perintah khusus dan agent, gaya output, alur kerja, tema khusus, pintasan keyboard khusus, perintah status line dan saran file, server LSP, dan memori otomatis tidak dimuat, untuk pemecahan masalah konfigurasi yang rusak. Kebijakan pengaturan yang dikelola masih berlaku, termasuk hook, status line, dan perintah saran file yang dikonfigurasi kebijakan; plugin yang dikelola, skills yang dikelola, CLAUDE.md yang dikelola, dan server MCP yang dikonfigurasi kebijakan tidak. Setara dengan meneruskan [`--safe-mode`](/docs/id/cli-reference#cli-flags). Proses anak yang diluncurkan secara langsung mewarisi variabel |367| `CLAUDE_CODE_SAFE_MODE` | Atur ke `1` untuk memulai dalam mode aman: CLAUDE.md, skills, plugin, hook, server MCP, perintah khusus dan agent, gaya output, alur kerja, tema khusus, pintasan keyboard khusus, perintah status line dan saran file, server LSP, dan memori otomatis tidak dimuat, untuk pemecahan masalah konfigurasi yang rusak. Kebijakan pengaturan yang dikelola masih berlaku, termasuk hook, status line, dan perintah saran file yang dikonfigurasi kebijakan; plugin yang dikelola, skills yang dikelola, CLAUDE.md yang dikelola, dan server MCP yang dikonfigurasi kebijakan tidak. Setara dengan meneruskan [`--safe-mode`](/docs/id/cli-reference#cli-flags). Proses anak yang diluncurkan secara langsung mewarisi variabel |

365| `CLAUDE_CODE_SCRIPT_CAPS` | Objek JSON yang membatasi berapa kali skrip spesifik dapat dipanggil per sesi ketika `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` diatur. Kunci adalah substring yang cocok dengan teks perintah; nilai adalah batas panggilan bilangan bulat. Misalnya, `{"deploy.sh": 2}` memungkinkan `deploy.sh` dipanggil paling banyak dua kali. Pencocokan berbasis substring jadi trik ekspansi shell seperti `./scripts/deploy.sh $(evil)` masih dihitung terhadap batas. Fan-out runtime melalui `xargs` atau `find -exec` tidak terdeteksi; ini adalah kontrol pertahanan mendalam |368| `CLAUDE_CODE_SCRIPT_CAPS` | Objek JSON yang membatasi berapa kali skrip spesifik dapat dipanggil per sesi ketika `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` diatur. Kunci adalah substring yang cocok dengan teks perintah; nilai adalah batas panggilan bilangan bulat. Misalnya, `{"deploy.sh": 2}` memungkinkan `deploy.sh` dipanggil paling banyak dua kali. Pencocokan berbasis substring jadi trik ekspansi shell seperti `./scripts/deploy.sh $(evil)` masih dihitung terhadap batas. Fan-out runtime melalui `xargs` atau `find -exec` tidak terdeteksi; ini adalah kontrol pertahanan mendalam |


412| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Batas atas dalam milidetik tentang berapa lama agen [alur kerja](/docs/id/workflows) menunggu respons pertama sibling yang sama-awalan sebelum mengirim permintaan pertamanya sendiri. Ketika fan-out memulai beberapa agen yang berbagi [awalan cache prompt](/docs/id/workflows#prompt-caching-in-a-fan-out), Claude Code menahan semua kecuali agen pertama untuk waktu yang lama sehingga sisanya membaca awalan yang di-cache daripada masing-masing memprosesnya tanpa cache. Default `5000`. Atur ke `0` untuk menonaktifkan tunggu. Ketika `DISABLE_PROMPT_CACHING` diatur, agen tidak pernah menunggu. Memerlukan Claude Code v2.1.229 atau lebih baru |415| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Batas atas dalam milidetik tentang berapa lama agen [alur kerja](/docs/id/workflows) menunggu respons pertama sibling yang sama-awalan sebelum mengirim permintaan pertamanya sendiri. Ketika fan-out memulai beberapa agen yang berbagi [awalan cache prompt](/docs/id/workflows#prompt-caching-in-a-fan-out), Claude Code menahan semua kecuali agen pertama untuk waktu yang lama sehingga sisanya membaca awalan yang di-cache daripada masing-masing memprosesnya tanpa cache. Default `5000`. Atur ke `0` untuk menonaktifkan tunggu. Ketika `DISABLE_PROMPT_CACHING` diatur, agen tidak pernah menunggu. Memerlukan Claude Code v2.1.229 atau lebih baru |

413| `CLAUDE_CONFIG_DIR` | Ganti direktori konfigurasi (default: `~/.claude`). Semua pengaturan, riwayat sesi, dan plugin disimpan di bawah path ini. Untuk kredensial, lihat [di mana Claude Code menyimpan kredensial](/docs/id/authentication#credential-management). Berguna untuk menjalankan beberapa akun berdampingan: misalnya, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |416| `CLAUDE_CONFIG_DIR` | Ganti direktori konfigurasi (default: `~/.claude`). Semua pengaturan, riwayat sesi, dan plugin disimpan di bawah path ini. Untuk kredensial, lihat [di mana Claude Code menyimpan kredensial](/docs/id/authentication#credential-management). Berguna untuk menjalankan beberapa akun berdampingan: misalnya, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env) |

414| `CLAUDE_DISABLE_ADOPT` | Atur ke `1` untuk menghentikan pekerjaan latar belakang dalam penerbangan daripada membawanya saat Anda menempatkan sesi di latar belakang dengan menekan `←` atau dengan [`/background`](/docs/id/agent-view#from-inside-a-session). Claude Code meminta Anda untuk mengonfirmasi sebelum backgrounding, kemudian menghentikan tugas yang sebaliknya akan dibawa. Memerlukan Claude Code v2.1.195 atau lebih baru |417| `CLAUDE_DISABLE_ADOPT` | Atur ke `1` untuk menghentikan pekerjaan latar belakang dalam penerbangan daripada membawanya saat Anda menempatkan sesi di latar belakang dengan menekan `←` atau dengan [`/background`](/docs/id/agent-view#from-inside-a-session). Claude Code meminta Anda untuk mengonfirmasi sebelum backgrounding, kemudian menghentikan tugas yang sebaliknya akan dibawa. Memerlukan Claude Code v2.1.195 atau lebih baru |

415| `CLAUDE_EFFORT` | Atur secara otomatis di subproses alat Bash dan perintah hook ke [tingkat effort](/docs/id/model-config#adjust-effort-level) yang berlaku ketika subproses dimulai: `low`, `medium`, `high`, `xhigh`, atau `max`. Ultracode bukan tingkat yang berbeda dan melaporkan sebagai `xhigh`. Cocok dengan bidang `effort.level` yang diteruskan ke [hook](/docs/id/hooks). Hanya diatur ketika model saat ini mendukung parameter effort |418| `CLAUDE_EFFORT` | Atur secara otomatis di subproses alat Bash dan perintah hook ke [tingkat effort](/docs/id/model-config#adjust-effort-level) yang berlaku ketika subproses dimulai: `low`, `medium`, `high`, `xhigh`, atau `max`. Cocok dengan bidang `effort.level` yang diteruskan ke [hook](/docs/id/hooks). Hanya diatur ketika model saat ini mendukung parameter effort |

416| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Atur ke `1` untuk memaksa-mengaktifkan watchdog idle streaming tingkat byte, atau atur ke `0` untuk memaksa-menonaktifkannya. `0` juga menonaktifkan [tenggat waktu byte pertama](/docs/id/network-config#streaming-idle-watchdogs) pada koneksi di mana tenggat waktu itu berjalan. Ketika tidak diatur, watchdog diaktifkan secara default untuk koneksi API Anthropic langsung dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan untuk respons streaming di koneksi [gateway](/docs/id/gateways) yang dicapai melalui `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL`; sebelum v2.1.222 itu tidak berjalan di koneksi gateway itu, jadi watchdog tingkat acara dapat melaporkan stall di sana bahkan saat ping keep-alive tiba. Untuk timeout dan cara timer berinteraksi, lihat [Streaming idle watchdogs](/docs/id/network-config#streaming-idle-watchdogs) |419| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Atur ke `1` untuk memaksa-mengaktifkan watchdog idle streaming tingkat byte, atau atur ke `0` untuk memaksa-menonaktifkannya. `0` juga menonaktifkan [tenggat waktu byte pertama](/docs/id/network-config#streaming-idle-watchdogs) pada koneksi di mana tenggat waktu itu berjalan. Ketika tidak diatur, watchdog diaktifkan secara default untuk koneksi API Anthropic langsung dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan untuk respons streaming di koneksi [gateway](/docs/id/gateways) yang dicapai melalui `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL`; sebelum v2.1.222 itu tidak berjalan di koneksi gateway itu, jadi watchdog tingkat acara dapat melaporkan stall di sana bahkan saat ping keep-alive tiba. Untuk timeout dan cara timer berinteraksi, lihat [Streaming idle watchdogs](/docs/id/network-config#streaming-idle-watchdogs) |

417| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Atur ke `1` untuk mengaktifkan watchdog idle streaming tingkat byte pada respons Amazon Bedrock `vnd.amazon.eventstream`, yang juga mengaktifkan [tenggat waktu byte pertama](/docs/id/network-config#streaming-idle-watchdogs) pada permintaan streaming Bedrock. Dimatikan secara default. Konfigurasikan timeout dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |420| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Atur ke `1` untuk mengaktifkan watchdog idle streaming tingkat byte pada respons Amazon Bedrock `vnd.amazon.eventstream`, yang juga mengaktifkan [tenggat waktu byte pertama](/docs/id/network-config#streaming-idle-watchdogs) pada permintaan streaming Bedrock. Dimatikan secara default. Konfigurasikan timeout dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

418| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Atur ke `0` untuk memaksa-menonaktifkan watchdog idle streaming tingkat acara, atau atur ke `1` untuk memaksa-mengaktifkannya. Ketika tidak diatur, watchdog aktif secara default untuk semua penyedia. Sebelum v2.1.196, default yang tidak diatur dikendalikan server di API Anthropic langsung dan dimatikan di penyedia lain. Konfigurasikan timeout dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; untuk timer stall lainnya yang berjalan bersama ini, lihat [Streaming idle watchdogs](/docs/id/network-config#streaming-idle-watchdogs) |421| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Atur ke `0` untuk memaksa-menonaktifkan watchdog idle streaming tingkat acara, atau atur ke `1` untuk memaksa-mengaktifkannya. Ketika tidak diatur, watchdog aktif secara default untuk semua penyedia. Sebelum v2.1.196, default yang tidak diatur dikendalikan server di API Anthropic langsung dan dimatikan di penyedia lain. Konfigurasikan timeout dengan `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; untuk timer stall lainnya yang berjalan bersama ini, lihat [Streaming idle watchdogs](/docs/id/network-config#streaming-idle-watchdogs) |


458| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL cache prompt 5 menit bahkan ketika TTL 1 jam akan berlaku sebaliknya. Mengganti `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, dan pengaturan `promptCacheTtl` dan `subagentPromptCacheTtl` |461| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL cache prompt 5 menit bahkan ketika TTL 1 jam akan berlaku sebaliknya. Mengganti `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, dan pengaturan `promptCacheTtl` dan `subagentPromptCacheTtl` |

459| `HTTP_PROXY` | Tentukan server proxy HTTP untuk koneksi jaringan |462| `HTTP_PROXY` | Tentukan server proxy HTTP untuk koneksi jaringan |

460| `HTTPS_PROXY` | Tentukan server proxy HTTPS untuk koneksi jaringan |463| `HTTPS_PROXY` | Tentukan server proxy HTTPS untuk koneksi jaringan |

461| `IS_DEMO` | Atur ke nilai apa pun yang tidak kosong, seperti `1`, untuk mengaktifkan mode demo: menyembunyikan email dan nama organisasi Anda dari header dan output `/status`, dan melewati onboarding. **Menetapkannya ke `0` atau `false` masih mengaktifkan mode demo**, tidak seperti sebagian besar variabel aktif/mati; batalkan penetapan variabel untuk menonaktifkannya. Berguna saat streaming atau merekam sesi |464| `IS_DEMO` | Atur ke nilai apa pun yang tidak kosong, seperti `1`, untuk mengaktifkan mode demo: menyembunyikan email dan nama organisasi Anda dari header dan output `/status`, dan melewati onboarding. **Menetap kannya ke `0` atau `false` masih mengaktifkan mode demo**, tidak seperti sebagian besar variabel aktif/mati; batalkan penetapan variabel untuk menonaktifkannya. Berguna saat streaming atau merekam sesi |

462| `MAX_MCP_OUTPUT_TOKENS` | Jumlah maksimum token yang diizinkan dalam respons alat MCP. Claude Code menampilkan peringatan ketika output melebihi 10.000 token. Alat yang mendeklarasikan [`anthropic/maxResultSizeChars`](/docs/id/mcp#raise-the-limit-for-a-specific-tool) menggunakan batas karakter itu untuk konten teks sebagai gantinya, tetapi konten gambar dari alat itu masih tunduk pada variabel ini (default: 25000) |465| `MAX_MCP_OUTPUT_TOKENS` | Jumlah maksimum token yang diizinkan dalam respons alat MCP. Claude Code menampilkan peringatan ketika output melebihi 10.000 token. Alat yang mendeklarasikan [`anthropic/maxResultSizeChars`](/docs/id/mcp#raise-the-limit-for-a-specific-tool) menggunakan batas karakter itu untuk konten teks sebagai gantinya, tetapi konten gambar dari alat itu masih tunduk pada variabel ini (default: 25000) |

463| `MAX_STRUCTURED_OUTPUT_RETRIES` | Jumlah upaya yang Claude Code izinkan ketika respons model gagal validasi terhadap [`--json-schema`](/docs/id/cli-reference#cli-flags) dalam mode non-interaktif dengan flag `-p`; setelah banyak upaya gagal tanpa output yang valid, jalankan gagal. Batas yang sama berlaku ketika output terstruktur subagent [alur kerja](/docs/id/workflows) gagal validasi. Default ke 5, upaya pertama ditambah empat percobaan ulang |466| `MAX_STRUCTURED_OUTPUT_RETRIES` | Jumlah upaya yang Claude Code izinkan ketika respons model gagal validasi terhadap [`--json-schema`](/docs/id/cli-reference#cli-flags) dalam mode non-interaktif dengan flag `-p`; setelah banyak upaya gagal tanpa output yang valid, jalankan gagal. Batas yang sama berlaku ketika output terstruktur subagent [alur kerja](/docs/id/workflows) gagal validasi. Default ke 5, upaya pertama ditambah empat percobaan ulang |

464| `MAX_THINKING_TOKENS` | Anggaran token tetap untuk [pemikiran yang diperpanjang](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code membatasinya pada satu token di bawah token output maksimum permintaan dan tidak pernah di bawah 1.024. Lihat `CLAUDE_CODE_MAX_OUTPUT_TOKENS` untuk cara batas itu ditetapkan. Ketika tidak diatur dan pemikiran diaktifkan, model dengan [penalaran adaptif](/docs/id/model-config#adjust-effort-level) memilih kedalaman pemikiran mereka sendiri, dan model lain menggunakan batas. Atur ke `0` untuk menonaktifkan pemikiran di API Anthropic, kecuali di Opus 5.5 dan model Fable, yang tidak dapat memiliki pemikiran dinonaktifkan. Di [penyedia pihak ketiga](/docs/id/third-party-integrations), `0` menghilangkan parameter `thinking` sebagai gantinya. Dengan pemikiran dinonaktifkan di API Anthropic, Claude Code mengirim effort `high` daripada level yang lebih tinggi ke model yang diketahuinya [tidak menerima kombinasi itu](/docs/id/errors#effort-isnt-available-with-thinking-turned-off), seperti Opus 5. Claude Code mengabaikan nilai nonzero di model penalaran adaptif, kecuali di model di mana `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` menonaktifkan penalaran adaptif |467| `MAX_THINKING_TOKENS` | Anggaran token tetap untuk [pemikiran yang diperpanjang](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code membatasinya pada satu token di bawah token output maksimum permintaan dan tidak pernah di bawah 1.024. Lihat `CLAUDE_CODE_MAX_OUTPUT_TOKENS` untuk cara batas itu ditetapkan. Ketika tidak diatur dan pemikiran diaktifkan, model dengan [penalaran adaptif](/docs/id/model-config#adjust-effort-level) memilih kedalaman pemikiran mereka sendiri, dan model lain menggunakan batas. Atur ke `0` untuk menonaktifkan pemikiran di API Anthropic, kecuali di Opus 5.5, Sonnet 5.5, dan model Fable, yang tidak dapat memiliki pemikiran dinonaktifkan. Di [penyedia pihak ketiga](/docs/id/third-party-integrations), `0` menghilangkan parameter `thinking` sebagai gantinya. Dengan pemikiran dinonaktifkan di API Anthropic, Claude Code mengirim effort `high` daripada level yang lebih tinggi ke model yang diketahuinya [tidak menerima kombinasi itu](/docs/id/errors#effort-isnt-available-with-thinking-turned-off), seperti Opus 5. Claude Code mengabaikan nilai nonzero di model penalaran adaptif, kecuali di model di mana `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` menonaktifkan penalaran adaptif |

465| `MCP_CLIENT_SECRET` | Rahasia klien OAuth untuk server MCP yang memerlukan [kredensial yang dikonfigurasi sebelumnya](/docs/id/mcp#use-pre-configured-oauth-credentials). Menghindari prompt interaktif saat menambahkan server dengan `--client-secret` |468| `MCP_CLIENT_SECRET` | Rahasia klien OAuth untuk server MCP yang memerlukan [kredensial yang dikonfigurasi sebelumnya](/docs/id/mcp#use-pre-configured-oauth-credentials). Menghindari prompt interaktif saat menambahkan server dengan `--client-secret` |

466| `MCP_CONNECTION_NONBLOCKING` | Mengontrol apakah startup menunggu server MCP terhubung sebelum kueri pertama. Startup MCP non-blocking secara default: server terhubung di latar belakang dan alat mereka menjadi tersedia saat mereka selesai. Atur ke `0` untuk membuat Claude Code menunggu server terhubung sebelum kueri pertama. Server yang dikonfigurasi dengan [`alwaysLoad: true`](/docs/id/mcp#exempt-a-server-from-deferral) masih membuat startup menunggu terlepas dari itu, kecuali ketika dilayani dari [cache penemuan](/docs/id/mcp#server-status-detail), karena alat mereka harus ada ketika prompt pertama dibangun. Dalam mode non-interaktif (`-p`) tanpa `--input-format stream-json`, Claude Code juga menunggu server yang masih tertunda sebelum giliran pertama terlepas dari variabel ini. Ketika Anda meneruskan [`--mcp-config`](/docs/id/cli-reference#cli-flags) secara eksplisit, tunggu memiliki tenggat waktu yang lebih lama; lihat entri flag itu untuk pengecualian server yang di-cache |469| `MCP_CONNECTION_NONBLOCKING` | Mengontrol apakah startup menunggu server MCP terhubung sebelum kueri pertama. Startup MCP non-blocking secara default: server terhubung di latar belakang dan alat mereka menjadi tersedia saat mereka selesai. Atur ke `0` untuk membuat Claude Code menunggu server terhubung sebelum kueri pertama. Server yang dikonfigurasi dengan [`alwaysLoad: true`](/docs/id/mcp#exempt-a-server-from-deferral) masih membuat startup menunggu terlepas dari itu, kecuali ketika dilayani dari [cache penemuan](/docs/id/mcp#server-status-detail), karena alat mereka harus ada ketika prompt pertama dibangun. Dalam mode non-interaktif (`-p`) tanpa `--input-format stream-json`, Claude Code juga menunggu server yang masih tertunda sebelum giliran pertama terlepas dari variabel ini. Ketika Anda meneruskan [`--mcp-config`](/docs/id/cli-reference#cli-flags) secara eksplisit, tunggu memiliki tenggat waktu yang lebih lama; lihat entri flag itu untuk pengecualian server yang di-cache |

467| `MCP_CONNECT_TIMEOUT_MS` | Berapa lama startup MCP yang memblokir menunggu, dalam milidetik, untuk batch koneksi sebelum mengambil snapshot daftar alat (default: 5000). Berlaku ketika `MCP_CONNECTION_NONBLOCKING=0` atau untuk server yang ditandai [`alwaysLoad: true`](/docs/id/mcp#exempt-a-server-from-deferral). Server yang masih tertunda pada tenggat waktu terus terhubung di latar belakang. Berbeda dari `MCP_TIMEOUT`, yang mengikat upaya koneksi server individual |470| `MCP_CONNECT_TIMEOUT_MS` | Berapa lama startup MCP yang memblokir menunggu, dalam milidetik, untuk batch koneksi sebelum mengambil snapshot daftar alat (default: 5000). Berlaku ketika `MCP_CONNECTION_NONBLOCKING=0` atau untuk server yang ditandai [`alwaysLoad: true`](/docs/id/mcp#exempt-a-server-from-deferral). Server yang masih tertunda pada tenggat waktu terus terhubung di latar belakang. Berbeda dari `MCP_TIMEOUT`, yang mengikat upaya koneksi server individual |

468| `MCP_DISCOVERY_CACHE` | Mengaktifkan atau menonaktifkan [cache penemuan MCP](/docs/id/mcp#server-status-detail). Dengan cache aktif, server HTTP atau SSE jarak jauh yang pernah Anda gunakan sebelumnya dapat menampilkan [status `cached`](/docs/id/mcp#server-status-detail), dan Claude Code menghubungkannya pada panggilan alat pertama daripada saat startup. Cache dimatikan secara default kecuali rollout bertahap telah mengaktifkannya untuk akun Anda. Atur ke `1` untuk mengaktifkannya, atau `0` untuk menyimpannya dimatikan bahkan ketika rollout telah mengaktifkannya. Sebelum v2.1.238, cache aktif secara default. Status `cached` memerlukan Claude Code v2.1.221 atau lebih baru |471| `MCP_DISCOVERY_CACHE` | Mengaktifkan atau menonaktifkan [cache penemuan MCP](/docs/id/mcp#server-status-detail). Dengan cache aktif, server HTTP atau SSE jarak jauh yang pernah Anda gunakan sebelumnya dapat menampilkan [status `cached`](/docs/id/mcp#server-status-detail), dan Claude Code menghubungkannya pada panggilan alat pertama daripada saat startup. Cache dimatikan secara default kecuali rollout bertahap telah mengaktifkannya untuk akun Anda. Atur ke `1` untuk mengaktifkannya, atau `0` untuk menyimpannya dimatikan bahkan ketika rollout telah mengaktifkannya. Status `cached` memerlukan Claude Code v2.1.221 atau lebih baru |

469| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Usia maksimum, dalam detik, dari entri [cache penemuan](/docs/id/mcp#server-status-detail) (default: 14400, atau 4 jam). Pada startup di mana entri lebih lama dari itu, Claude Code membuangnya dan menghubungkan server saat startup, seperti yang dilakukannya dengan cache dimatikan. Claude Code membatasi nilai pada 7 hari. Sebelum v2.1.238, default adalah 86400, atau 24 jam, dan Claude Code tidak membatasi nilai |472| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Usia maksimum, dalam detik, dari entri [cache penemuan](/docs/id/mcp#server-status-detail) (default: 14400, atau 4 jam). Pada startup di mana entri lebih lama dari itu, Claude Code membuangnya dan menghubungkan server saat startup, seperti yang dilakukannya dengan cache dimatikan. Claude Code membatasi nilai pada 7 hari. Sebelum v2.1.238, default adalah 86400, atau 24 jam, dan Claude Code tidak membatasi nilai |

470| `MCP_DISCOVERY_CACHE_STRIKES` | Pada startup di mana entri [cache penemuan](/docs/id/mcp#server-status-detail) lebih lama dari `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code menyegarkannya di latar belakang. Variabel ini menetapkan berapa banyak penyegaran berturut-turut yang dapat gagal sebelum Claude Code membuang entri dan menghubungkan server pada startup berikutnya sebagai gantinya (default: 1). Naikkan jika koneksi jaringan Anda sesekali putus, jadi satu penyegaran yang gagal tidak membuang entri. Memerlukan Claude Code v2.1.238 atau lebih baru |473| `MCP_DISCOVERY_CACHE_STRIKES` | Pada startup di mana entri [cache penemuan](/docs/id/mcp#server-status-detail) lebih lama dari `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code menyegarkannya di latar belakang. Variabel ini menetapkan berapa banyak penyegaran berturut-turut yang dapat gagal sebelum Claude Code membuang entri dan menghubungkan server pada startup berikutnya sebagai gantinya (default: 1). Naikkan jika koneksi jaringan Anda sesekali putus, jadi satu penyegaran yang gagal tidak membuang entri. Memerlukan Claude Code v2.1.238 atau lebih baru |

471| `MCP_DISCOVERY_CACHE_TTL_S` | Detik di mana Claude Code menggunakan entri [cache penemuan](/docs/id/mcp#server-status-detail) tanpa menyegarkannya (default: 900). Pada startup di mana entri lebih lama dari itu, Claude Code masih menggunakannya tetapi menyegarkannya di latar belakang. Setelah entri lebih lama dari `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code membuangnya sebagai gantinya. Claude Code membatasi nilai pada `MCP_DISCOVERY_CACHE_MAX_STALE_S`, yang default 4 jam. Sebelum v2.1.238, Claude Code tidak membatasi nilai |474| `MCP_DISCOVERY_CACHE_TTL_S` | Detik di mana Claude Code menggunakan entri [cache penemuan](/docs/id/mcp#server-status-detail) tanpa menyegarkannya (default: 900). Pada startup di mana entri lebih lama dari itu, Claude Code masih menggunakannya tetapi menyegarkannya di latar belakang. Setelah entri lebih lama dari `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code membuangnya sebagai gantinya. Claude Code membatasi nilai pada `MCP_DISCOVERY_CACHE_MAX_STALE_S`, yang default 4 jam. Sebelum v2.1.238, Claude Code tidak membatasi nilai |


478| `MCP_TOOL_TIMEOUT` | Timeout dalam milidetik untuk eksekusi alat MCP (default: 100000000, sekitar 28 jam). Untuk server HTTP, SSE, atau konektor claude.ai, setiap permintaan juga timeout 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 timeout 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. Bidang `timeout` per-server setidaknya 1000 juga menetapkan jendela idle minimum untuk panggilan alat server itu, jadi `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` tidak pernah menghentikan mereka lebih awal; lantai ini memerlukan Claude Code v2.1.203 atau lebih baru. Untuk variabel env, nilai di bawah 1000 didasarkan ke satu detik; untuk bidang per-server, nilai di bawah 1000 diabaikan |481| `MCP_TOOL_TIMEOUT` | Timeout dalam milidetik untuk eksekusi alat MCP (default: 100000000, sekitar 28 jam). Untuk server HTTP, SSE, atau konektor claude.ai, setiap permintaan juga timeout 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 timeout 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. Bidang `timeout` per-server setidaknya 1000 juga menetapkan jendela idle minimum untuk panggilan alat server itu, jadi `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` tidak pernah menghentikan mereka lebih awal; lantai ini memerlukan Claude Code v2.1.203 atau lebih baru. Untuk variabel env, nilai di bawah 1000 didasarkan ke satu detik; untuk bidang per-server, nilai di bawah 1000 diabaikan |

479| `NO_PROXY` | Daftar domain dan IP yang permintaannya akan dikeluarkan secara langsung, melewati proxy |482| `NO_PROXY` | Daftar domain dan IP yang permintaannya akan dikeluarkan secara langsung, melewati proxy |

480| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Batas panjang nilai atribut SDK OpenTelemetry standar. Claude Code membatasi atribut telemetri yang membawa konten pada yang lebih kecil dari ini dan `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, jadi penanda pemotongan tetap dalam batas SDK. Claude Code membaca varian `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` dan `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` dengan cara yang sama, dan nilai set terkecil berlaku untuk semua sinyal. Memerlukan Claude Code v2.1.214 atau lebih baru. Lihat [Monitoring](/docs/id/monitoring-usage#common-configuration-variables) |483| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Batas panjang nilai atribut SDK OpenTelemetry standar. Claude Code membatasi atribut telemetri yang membawa konten pada yang lebih kecil dari ini dan `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, jadi penanda pemotongan tetap dalam batas SDK. Claude Code membaca varian `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` dan `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` dengan cara yang sama, dan nilai set terkecil berlaku untuk semua sinyal. Memerlukan Claude Code v2.1.214 atau lebih baru. Lihat [Monitoring](/docs/id/monitoring-usage#common-configuration-variables) |

481| `OTEL_LOG_ASSISTANT_RESPONSES` | Atur ke `1` untuk menyertakan teks respons model pada acara log OpenTelemetry `assistant_response`. Ketika tidak diatur, nilai `OTEL_LOG_USER_PROMPTS` digunakan sebagai gantinya. Atur ke `0` untuk menjaga respons diredaksi bahkan ketika `OTEL_LOG_USER_PROMPTS` diatur. Memerlukan Claude Code v2.1.193 atau lebih baru. Lihat [Monitoring](/docs/id/monitoring-usage#assistant-response-event) |484| `OTEL_LOG_ASSISTANT_RESPONSES` | Atur ke `1` untuk menyertakan teks respons model pada acara log OpenTelemetry `assistant_response`. Ketika tidak diatur, nilai `OTEL_LOG_USER_PROMPTS` digunakan sebagai gantinya. Atur ke `0` untuk menjaga respons diredaksi bahkan ketika `OTEL_LOG_USER_PROMPTS` diatur. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env), terlepas dari nilai off yang bagian itu jelaskan. Memerlukan Claude Code v2.1.193 atau lebih baru. Lihat [Monitoring](/docs/id/monitoring-usage#assistant-response-event) |

482| `OTEL_LOG_MANAGED_SETTINGS` | Atur ke `1` untuk menambahkan pengaturan yang dikelola yang diredaksi, dan digest SHA-256 dari pengaturan sebelum redaksi, ke acara log OpenTelemetry `managed_settings_resolved`. Dinonaktifkan secara default. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola; nilai di pengaturan proyek atau lokal tidak mengaktifkannya. Memerlukan Claude Code v2.1.274 atau lebih baru. Lihat [Monitoring](/docs/id/monitoring-usage#managed-settings-resolved-event) |485| `OTEL_LOG_MANAGED_SETTINGS` | Atur ke `1` untuk menambahkan pengaturan yang dikelola yang diredaksi, dan digest SHA-256 dari pengaturan sebelum redaksi, ke acara log OpenTelemetry `managed_settings_resolved`. Dinonaktifkan secara default. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola; nilai di pengaturan proyek atau lokal tidak mengaktifkannya. Memerlukan Claude Code v2.1.274 atau lebih baru. Lihat [Monitoring](/docs/id/monitoring-usage#managed-settings-resolved-event) |

483| `OTEL_LOG_RAW_API_BODIES` | Pancarkan JSON API Pesan Anthropic permintaan dan respons sebagai acara log `api_request_body` / `api_response_body`. Atur ke `1` untuk badan inline dipotong pada batas konten, atau `file:<dir>` untuk menulis badan yang tidak dipotong ke disk dan memancarkan path `body_ref` sebagai gantinya. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` mengonfigurasi batas konten, 60 KB secara default. Dinonaktifkan secara default; badan menyertakan seluruh riwayat percakapan. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env). Lihat [Monitoring](/docs/id/monitoring-usage#api-request-body-event) |486| `OTEL_LOG_RAW_API_BODIES` | Pancarkan JSON API Pesan Anthropic permintaan dan respons sebagai acara log `api_request_body` / `api_response_body`. Atur ke `1` untuk badan inline dipotong pada batas konten, atau `file:<dir>` untuk menulis badan yang tidak dipotong ke disk dan memancarkan path `body_ref` sebagai gantinya. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` mengonfigurasi batas konten, 60 KB secara default. Dinonaktifkan secara default; badan menyertakan seluruh riwayat percakapan. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env). Lihat [Monitoring](/docs/id/monitoring-usage#api-request-body-event) |

484| `OTEL_LOG_TOOL_CONTENT` | Atur ke `1` untuk menyertakan konten alat dalam acara span OpenTelemetry `tool.output`. Atribut span membawa konten alat di bawah [gerbang mereka sendiri](/docs/id/monitoring-usage#new-context-gates). Memerlukan [pelacakan](/docs/id/monitoring-usage#traces-beta). Dinonaktifkan secara default untuk melindungi data sensitif. Lihat [Monitoring](/docs/id/monitoring-usage#tool-output-span-event) |487| `OTEL_LOG_TOOL_CONTENT` | Atur ke `1` untuk menyertakan konten alat dalam acara span OpenTelemetry `tool.output`. Atribut span membawa konten alat di bawah [gerbang mereka sendiri](/docs/id/monitoring-usage#new-context-gates). Memerlukan [pelacakan](/docs/id/monitoring-usage#traces-beta). Dinonaktifkan secara default untuk melindungi data sensitif. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env), terlepas dari nilai off yang bagian itu jelaskan. Lihat [Monitoring](/docs/id/monitoring-usage#tool-output-span-event) |

485| `OTEL_LOG_TOOL_DETAILS` | Atur ke `1` untuk menyertakan argumen input alat, nama server MCP, nama alur kerja yang ditulis pengguna, string kesalahan mentah pada kegagalan alat, kategori penolakan `category` pada acara `api_refusal`, dan detail alat lainnya dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default untuk melindungi PII. Lihat [Monitoring](/docs/id/monitoring-usage) |488| `OTEL_LOG_TOOL_DETAILS` | Atur ke `1` untuk menyertakan argumen input alat, nama server MCP, nama alur kerja yang ditulis pengguna, string kesalahan mentah pada kegagalan alat, kategori penolakan `category` pada acara `api_refusal`, dan detail alat lainnya dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default untuk melindungi PII. Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env), terlepas dari nilai off yang bagian itu jelaskan. Lihat [Monitoring](/docs/id/monitoring-usage) |

486| `OTEL_LOG_USER_PROMPTS` | Atur ke `1` untuk menyertakan teks prompt pengguna dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default (prompt diredaksi). Lihat [Monitoring](/docs/id/monitoring-usage) |489| `OTEL_LOG_USER_PROMPTS` | Atur ke `1` untuk menyertakan teks prompt pengguna dalam jejak dan log OpenTelemetry. Dinonaktifkan secara default (prompt diredaksi). Atur di shell, pengaturan pengguna, atau pengaturan yang dikelola. Diabaikan di [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env), terlepas dari nilai off yang bagian itu jelaskan. Lihat [Monitoring](/docs/id/monitoring-usage) |

487| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Atur ke `false` untuk mengecualikan UUID akun dari atribut metrik (default: disertakan). Lihat [Monitoring](/docs/id/monitoring-usage) |490| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Atur ke `false` untuk mengecualikan UUID akun dari atribut metrik (default: disertakan). Lihat [Monitoring](/docs/id/monitoring-usage) |

488| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Atur ke `true` untuk menyertakan titik masuk sesi dalam atribut metrik (default: dikecualikan). Ditambahkan di v2.1.152. Lihat [Monitoring](/docs/id/monitoring-usage) |491| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Atur ke `true` untuk menyertakan titik masuk sesi dalam atribut metrik (default: dikecualikan). Ditambahkan di v2.1.152. Lihat [Monitoring](/docs/id/monitoring-usage) |

489| `OTEL_METRICS_INCLUDE_REPOSITORY` | Atur ke `true` untuk menandai metrik dan acara OpenTelemetry dengan atribut `vcs.*` yang mengidentifikasi repositori sesi (default: dikecualikan). Memerlukan Claude Code v2.1.269 atau lebih baru. Lihat [Atribut repositori](/docs/id/monitoring-usage#repository-attributes) |492| `OTEL_METRICS_INCLUDE_REPOSITORY` | Atur ke `true` untuk menandai metrik dan acara OpenTelemetry dengan atribut `vcs.*` yang mengidentifikasi repositori sesi (default: dikecualikan). Memerlukan Claude Code v2.1.269 atau lebih baru. Lihat [Atribut repositori](/docs/id/monitoring-usage#repository-attributes) |


506| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Ganti wilayah untuk Claude Opus 4.7 saat menggunakan Google Cloud's Agent Platform |509| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Ganti wilayah untuk Claude Opus 4.7 saat menggunakan Google Cloud's Agent Platform |

507| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Ganti wilayah untuk Claude Opus 4.8 saat menggunakan Google Cloud's Agent Platform |510| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Ganti wilayah untuk Claude Opus 4.8 saat menggunakan Google Cloud's Agent Platform |

508| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Ganti wilayah untuk Claude Opus 5.5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.280 |511| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Ganti wilayah untuk Claude Opus 5.5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.280 |

512| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Ganti wilayah untuk Claude Sonnet 5.5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.284 |

509| `VERTEX_REGION_CLAUDE_5_OPUS` | Ganti wilayah untuk Claude Opus 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.219 |513| `VERTEX_REGION_CLAUDE_5_OPUS` | Ganti wilayah untuk Claude Opus 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.219 |

510| `VERTEX_REGION_CLAUDE_5_SONNET` | Ganti wilayah untuk Claude Sonnet 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.197 |514| `VERTEX_REGION_CLAUDE_5_SONNET` | Ganti wilayah untuk Claude Sonnet 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.197 |

511| `VERTEX_REGION_CLAUDE_FABLE_5` | Ganti wilayah untuk Claude Fable 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.170 |515| `VERTEX_REGION_CLAUDE_FABLE_5` | Ganti wilayah untuk Claude Fable 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.170 |


514 518 

515Variabel pengekspor OpenTelemetry standar (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES`, dan varian spesifik sinyal) juga didukung. Lihat [Monitoring](/docs/id/monitoring-usage) untuk detail konfigurasi.519Variabel pengekspor OpenTelemetry standar (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES`, dan varian spesifik sinyal) juga didukung. Lihat [Monitoring](/docs/id/monitoring-usage) untuk detail konfigurasi.

516 520 

521Atur `CLAUDE_CODE_ENABLE_TELEMETRY` dan variabel OpenTelemetry yang mengaktifkan ekspor, memilih tujuannya, atau menangkap konten di shell, pengaturan pengguna, atau pengaturan yang dikelola. Claude Code [mengabaikannya di pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env), terlepas dari nilai off yang bagian itu jelaskan. `OTEL_RESOURCE_ATTRIBUTES` dan variabel interval ekspor, timeout, dan kompresi, seperti `OTEL_METRIC_EXPORT_INTERVAL`, masih berlaku dari pengaturan proyek dan lokal.

522 

517<h2 id="features-that-need-feature-flag-fetching">523<h2 id="features-that-need-feature-flag-fetching">

518 Fitur yang memerlukan pengambilan feature-flag524 Fitur yang memerlukan pengambilan feature-flag

519</h2>525</h2>


526 532 

527Dengan pengambilan dimatikan, Anda tidak dapat:533Dengan pengambilan dimatikan, Anda tidak dapat:

528 534 

529* [Memulai sesi dalam mode auto secara default](/docs/id/permission-modes#which-mode-a-session-starts-in) pada paket Pro, Max, dan Team

530* Memiliki ekstensi VS Code [membaca file pengaturan untuk mode izin awal](/docs/id/permission-modes#switch-permission-modes)

531* Menjalankan [`/auto-mode-setup`](/docs/id/auto-mode-config#generate-environment-entries) untuk membuat draf entri `autoMode.environment`535* Menjalankan [`/auto-mode-setup`](/docs/id/auto-mode-config#generate-environment-entries) untuk membuat draf entri `autoMode.environment`

532* Menggunakan [Remote Control](/docs/id/remote-control#requirements)536* Menggunakan [Remote Control](/docs/id/remote-control) dengan `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK` yang ditetapkan. Untuk `DISABLE_TELEMETRY` dan `DO_NOT_TRACK`, lihat [persyaratan Remote Control](/docs/id/remote-control#requirements)

533* [Mengirim pesan sesi di luar mesin ini](/docs/id/cross-session-messaging#message-sessions-on-other-machines); pesan antar sesi di mesin ini berfungsi dengan pengambilan dimatikan537* [Mengirim pesan sesi di luar mesin ini](/docs/id/cross-session-messaging#message-sessions-on-other-machines) ketika [Remote Control](/docs/id/remote-control#requirements) tidak tersedia. Pesan antar sesi di mesin ini berfungsi dengan pengambilan dimatikan

534* Menjalankan [`claude import` atau perintah `/import`](/docs/id/cli-reference#cli-commands)538* Menjalankan [`claude import` atau perintah `/import`](/docs/id/cli-reference#cli-commands)

535* Menjalankan [`/skill-doctor`](/docs/id/skills#find-unused-skills) atau membuka laporannya di tab **Stats** `/plugin`539* Menjalankan [`/skill-doctor`](/docs/id/skills#find-unused-skills) atau membuka laporannya di tab **Stats** `/plugin`

536* Mensinkronkan [skills](/docs/id/skills#where-synced-skills-load) dan [plugins](/docs/id/plugins-reference#synced-plugins) yang diaktifkan untuk akun claude.ai Anda ke dalam sesi terminal Anda540* Mensinkronkan [skills](/docs/id/skills#where-synced-skills-load) dan [plugins](/docs/id/plugins/loading#synced-plugins) yang diaktifkan untuk akun claude.ai Anda ke dalam sesi terminal Anda

537* Menggunakan [alat penasihat](/docs/id/advisor#requirements)541* Menggunakan [alat penasihat](/docs/id/advisor#requirements)

538* Membaca atau membalas [komentar pada artefak](/docs/id/artifacts#collect-comments-on-an-artifact)542* Membaca atau membalas [komentar pada artefak](/docs/id/artifacts#collect-comments-on-an-artifact)

539* Memiliki Claude Code menyelidiki server konektor claude.ai untuk [revisi protokol MCP 2026-07-28](/docs/id/mcp#mcp-client-runtimes) kecuali Anda menetapkan `MCP_PROTOCOL_NEGOTIATION=auto`543* Memiliki Claude Code menyelidiki server konektor claude.ai untuk [revisi protokol MCP 2026-07-28](/docs/id/mcp#mcp-client-runtimes) kecuali Anda menetapkan `MCP_PROTOCOL_NEGOTIATION=auto`


546 Sesi pertama setelah instalasi atau upgrade550 Sesi pertama setelah instalasi atau upgrade

547</h3>551</h3>

548 552 

549Dalam sesi pertama Anda setelah Anda menginstal Claude Code, atau upgrade ke versi yang menambahkan fitur, [fitur yang gated-flag](#features-that-need-feature-flag-fetching) dapat hilang, dan sesi dapat dimulai dalam mode Manual pada paket yang sebaliknya dimulai dalam mode auto. Claude Code mengambil flag selama sesi itu, jadi keduanya ada di sesi berikutnya Anda.553Dalam sesi pertama Anda setelah Anda menginstal Claude Code, atau upgrade ke versi yang menambahkan fitur, [fitur yang gated-flag](#features-that-need-feature-flag-fetching) dapat hilang. Sesi itu juga dapat dimulai dalam [mode izin](/docs/id/permission-modes#which-mode-a-session-starts-in) yang berbeda daripada sesi-sesi Anda yang kemudian. Claude Code mengambil flag selama sesi itu, jadi sesi berikutnya Anda memiliki fitur dan mode izin awal yang biasa.

550 554 

551Setelah instalasi segar, dalam sesi non-interaktif seperti `claude -p`, Agent SDK, atau ekstensi VS Code, Claude Code masih dapat mengambil flag sebelum ia [memilih mode izin awal](/docs/id/permission-modes#which-mode-a-session-starts-in).555Setelah instalasi segar, dalam sesi non-interaktif seperti `claude -p`, Agent SDK, atau ekstensi VS Code, Claude Code masih dapat mengambil flag sebelum ia [memilih mode izin awal](/docs/id/permission-modes#which-mode-a-session-starts-in).

552 556 

errors.md +561 −190

Details

24| :- | :- |24| :- | :- |

25| `API Error: 500 Internal server error` | [Server errors](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Server errors](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) |

27| `Opus is experiencing high load` / `Fable is experiencing high load` | [Server errors](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [Server errors](#request-timed-out), atau [Network](#unable-to-connect-to-api) jika pesan menyebutkan koneksi internet Anda |28| `Request timed out` | [Server errors](#request-timed-out), atau [Network](#unable-to-connect-to-api) jika pesan menyebutkan koneksi internet Anda |

28| `API Error: No response from API` | [Server errors](#no-response-from-api) |29| `API Error: No response from API` | [Server errors](#no-response-from-api) |

29| `Server error mid-response. The response above may be incomplete.` | [Server errors](#the-response-above-may-be-incomplete) |30| `Server error mid-response. The response above may be incomplete.` | [Server errors](#the-response-above-may-be-incomplete) |

30| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Server errors](#the-response-above-may-be-incomplete) |31| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Server errors](#the-response-above-may-be-incomplete) |

31| `Connection closed mid-response` / `Response stalled mid-stream` | [Server errors](#the-response-above-may-be-incomplete) |32| `Connection closed mid-response` / `Response stalled mid-stream` | [Server errors](#the-response-above-may-be-incomplete) |

33| `Part of the response never arrived` / `The response stream was malformed` | [Server errors](#the-response-above-may-be-incomplete) |

34| `API Error: Content block not found` / `API Error: Content block already closed` / `API Error: Stream event unreadable` | [Server errors](#the-response-above-may-be-incomplete) |

32| `Connection lost before a response was produced` / `Your computer went to sleep before a response was produced` / `The response stalled before a response was produced` | [Automatic retries](#automatic-retries) |35| `Connection lost before a response was produced` / `Your computer went to sleep before a response was produced` / `The response stalled before a response was produced` | [Automatic retries](#automatic-retries) |

33| `Connection closed while thinking` / `Response stalled while thinking` | [Automatic retries](#automatic-retries) |36| `Connection closed while thinking` / `Response stalled while thinking` | [Automatic retries](#automatic-retries) |

34| `Connection lost while your computer was asleep` | [Automatic retries](#automatic-retries) |37| `Connection lost while your computer was asleep` | [Automatic retries](#automatic-retries) |


49| `Could not update your spend limit` | [Usage limits](#could-not-update-your-spend-limit) |52| `Could not update your spend limit` | [Usage limits](#could-not-update-your-spend-limit) |

50| `spend limit reached` / `spend limit unavailable` | [Usage limits](#spend-limit-reached) |53| `spend limit reached` / `spend limit unavailable` | [Usage limits](#spend-limit-reached) |

51| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |54| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |

55| `Couldn't save your login` | [Authentication](#couldnt-save-your-login) |

56| `Authentication required · Sign in again to continue` | [Authentication](#not-logged-in) |

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

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

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


69| `signed-in claude.ai account or organization changed on this machine` | [Authentication](#remote-control-stopped-because-the-signed-in-account-changed) |74| `signed-in claude.ai account or organization changed on this machine` | [Authentication](#remote-control-stopped-because-the-signed-in-account-changed) |

70| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |75| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

71| `Remote Control stopped — the app running this session is signed out of Claude` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |76| `Remote Control stopped — the app running this session is signed out of Claude` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

77| `Couldn't verify your organization's policy for remote control` | [Troubleshoot Remote Control](/docs/id/remote-control#couldnt-verify-your-organizations-policy-for-remote-control) |

72| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |78| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |

73| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |79| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |

74| `Login expired · Please run /login` | [Authentication](#login-expired) |80| `Login expired · Please run /login` | [Authentication](#login-expired) |


77| `Not signed in to the Cloud gateway — run /login.` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |83| `Not signed in to the Cloud gateway — run /login.` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |

78| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |84| `Administrator policy requires a Cloud gateway sign-in on this machine` | [Authentication](#administrator-policy-requires-a-cloud-gateway-sign-in) |

79| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentication](#login-expired) |85| `Failed to authenticate: OAuth session expired and could not be refreshed` | [Authentication](#login-expired) |

86| `Could not refresh your login because another Claude Code process is refreshing it` | [Authentication](#could-not-refresh-your-login) |

87| `Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh` | [Authentication](#could-not-refresh-your-login) |

80| `Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted` | [Authentication](#your-account-is-on-hold) |88| `Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted` | [Authentication](#your-account-is-on-hold) |

81| `Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted` | [Authentication](#your-account-is-on-hold) |89| `Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted` | [Authentication](#your-account-is-on-hold) |

82| `Anthropic profile login expired · Re-authenticate your Anthropic profile` | [Authentication](#anthropic-profile-login-expired) |90| `Anthropic profile login expired · Re-authenticate your Anthropic profile` | [Authentication](#anthropic-profile-login-expired) |


120| `Couldn't reconnect to your Remote Control session` | [Network](#couldnt-reconnect-to-your-remote-control-session) |128| `Couldn't reconnect to your Remote Control session` | [Network](#couldnt-reconnect-to-your-remote-control-session) |

121| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Network](#sessions-ended-while-this-machine-was-offline) |129| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Network](#sessions-ended-while-this-machine-was-offline) |

122| `Couldn't share the transcript.` | [Network](#couldnt-share-the-transcript) |130| `Couldn't share the transcript.` | [Network](#couldnt-share-the-transcript) |

131| `Couldn't send feedback` | [Network](#couldnt-send-feedback) |

123| `Prompt is too long` / `Input is too long for requested model` | [Request errors](#prompt-is-too-long) |132| `Prompt is too long` / `Input is too long for requested model` | [Request errors](#prompt-is-too-long) |

124| `Prompt is too long · automatic compaction failed:` | [Request errors](#prompt-is-too-long) |133| `Prompt is too long · automatic compaction failed:` | [Request errors](#prompt-is-too-long) |

125| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [Request errors](#prompt-is-too-long) |134| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [Request errors](#prompt-is-too-long) |


139| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |148| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |

140| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |149| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |

141| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Request errors](#tool-input-schema-is-invalid) |150| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Request errors](#tool-input-schema-is-invalid) |

151| `tool_use.name: String should have at most 200 characters` | [Request errors](#tool-use-name-over-200-characters) |

142| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |152| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |

143| `Model ... is not a recognized model id` | [Request errors](#model-is-not-a-recognized-model-id) |153| `Model ... is not a recognized model id` | [Request errors](#model-is-not-a-recognized-model-id) |

144| `Model ... not found` | [Request errors](#model-not-found) |154| `Model ... not found` | [Request errors](#model-not-found) |

155| `API error: ... · model not changed` | [Request errors](#api-error-model-not-changed) |

145| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |156| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |

146| `Claude Code ... does not support this model; version ... or newer is required` | [Request errors](#claude-code-does-not-support-this-model) |157| `Claude Code ... does not support this model; version ... or newer is required` | [Request errors](#claude-code-does-not-support-this-model) |

147| `Claude Code ... is older than the minimum version required by your organization's policy` | [Request errors](#claude-code-does-not-support-this-model) |158| `Claude Code ... is older than the minimum version required by your organization's policy` | [Request errors](#claude-code-does-not-support-this-model) |

148| `Model ... is restricted by your organization's settings` | [Request errors](#model-is-restricted-by-your-organizations-settings) |159| `Model ... is restricted by your organization's settings` | [Request errors](#model-is-restricted-by-your-organizations-settings) |

160| `Model ... is not available. Your organization restricts model selection.` | [Request errors](#model-is-restricted-by-your-organizations-settings) |

149| `Model switch ... blocked by a PreModelSwitch hook` | [Request errors](#model-switch-was-blocked-by-a-premodelswitch-hook) |161| `Model switch ... blocked by a PreModelSwitch hook` | [Request errors](#model-switch-was-blocked-by-a-premodelswitch-hook) |

150| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Request errors](#couldnt-save-it-as-your-default) |162| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Request errors](#couldnt-save-it-as-your-default) |

151| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |163| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |


155| `API Error: 400 due to tool use concurrency issues` | [Request errors](#tool-use-or-thinking-block-mismatch) |167| `API Error: 400 due to tool use concurrency issues` | [Request errors](#tool-use-or-thinking-block-mismatch) |

156| `API Error: 400 orphaned tool_result in conversation history` | [Request errors](#tool-use-or-thinking-block-mismatch) |168| `API Error: 400 orphaned tool_result in conversation history` | [Request errors](#tool-use-or-thinking-block-mismatch) |

157| `API Error: 400 duplicate tool_use ID in conversation history` | [Request errors](#tool-use-or-thinking-block-mismatch) |169| `API Error: 400 duplicate tool_use ID in conversation history` | [Request errors](#tool-use-or-thinking-block-mismatch) |

170| `Invalid data in redacted_thinking block` | [Request errors](#invalid-data-in-redacted-thinking-block) |

158| `[Unsupported tool content removed]` | [Request errors](#unsupported-tool-content-removed) |171| `[Unsupported tool content removed]` | [Request errors](#unsupported-tool-content-removed) |

159| `role 'system' must precede an 'assistant' message` | [Request errors](#role-system-must-precede-an-assistant-message) |172| `role 'system' must precede an 'assistant' message` | [Request errors](#role-system-must-precede-an-assistant-message) |

160| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [Request errors](#invalid-encrypted-content-in-search-result-block) |173| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [Request errors](#invalid-encrypted-content-in-search-result-block) |

174| `Invalid encrypted_stdout in encrypted_code_execution_result block` | [Request errors](#invalid-encrypted-content-in-search-result-block) |

161| `server_tool_use.name: Input should be` pada setiap putaran sesi yang dilanjutkan | [Request errors](#unsupported-tool-content-removed) |175| `server_tool_use.name: Input should be` pada setiap putaran sesi yang dilanjutkan | [Request errors](#unsupported-tool-content-removed) |

162| `<model> can't help with this. Start a new session to continue` | [Request errors](#usage-policy-refusal) |176| `<model> can't help with this. Start a new session to continue` | [Request errors](#usage-policy-refusal) |

163| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Request errors](#usage-policy-refusal) |177| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Request errors](#usage-policy-refusal) |

164| `<model>'s safeguards flagged this message` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |178| `<model>'s safeguards flagged this message` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |

165| `Opus 5.5's safeguards flagged this session` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |179| `<model>'s safeguards flagged this session` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |

166| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |180| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |

167| `Installation was killed before it could finish (exit code 137)` | [Installation errors](#installation-was-killed-before-it-could-finish) |181| `Installation was killed before it could finish (exit code 137)` | [Installation errors](#installation-was-killed-before-it-could-finish) |

168| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |182| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |


173| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |187| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |

174| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#command-line-errors) |188| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#command-line-errors) |

175| `Error: Invalid --agents configuration:` | [Command-line errors](#invalid-agents-configuration) |189| `Error: Invalid --agents configuration:` | [Command-line errors](#invalid-agents-configuration) |

190| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Command-line errors](#invalid-agents-configuration) |

191| `Error: --agents file not found` | [Command-line errors](#invalid-agents-configuration) |

176| `Error: Settings file exceeds the 2MiB limit` | [Command-line errors](#settings-file-exceeds-the-2mib-limit) |192| `Error: Settings file exceeds the 2MiB limit` | [Command-line errors](#settings-file-exceeds-the-2mib-limit) |

177| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Command-line errors](#the-current-directory-no-longer-exists) |193| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Command-line errors](#the-current-directory-no-longer-exists) |

178| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |194| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |


207| `Single sign-on authorization needed` | [Command-line errors](#single-sign-on-authorization-needed) |223| `Single sign-on authorization needed` | [Command-line errors](#single-sign-on-authorization-needed) |

208| `Failed to resume the conversation` | [Command-line errors](#failed-to-resume-the-conversation) |224| `Failed to resume the conversation` | [Command-line errors](#failed-to-resume-the-conversation) |

209| `No conversation found with session ID: <session-id>` | [Command-line errors](#no-conversation-found-with-the-session-id) |225| `No conversation found with session ID: <session-id>` | [Command-line errors](#no-conversation-found-with-the-session-id) |

226| `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [Command-line errors](#windows-reported-an-error-ebadf) |

210| `Cannot switch renderers in this session` | [Command-line errors](#cannot-switch-renderers-in-this-session) |227| `Cannot switch renderers in this session` | [Command-line errors](#cannot-switch-renderers-in-this-session) |

211| `Cannot switch renderers while work is running in the background` | [Command-line errors](#cannot-switch-renderers-in-this-session) |228| `Cannot switch renderers while work is running in the background` | [Command-line errors](#cannot-switch-renderers-in-this-session) |

212| `Couldn't open Claude Desktop` | [Command-line errors](#couldnt-open-claude-desktop) |229| `Couldn't open Claude Desktop` | [Command-line errors](#couldnt-open-claude-desktop) |


218| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Command-line errors](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |235| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Command-line errors](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

219| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin errors](#plugin-eval-is-currently-in-early-access) |236| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin errors](#plugin-eval-is-currently-in-early-access) |

220| `Marketplace "<name>" is registered from an untrusted source` | [Plugin errors](#marketplace-is-registered-from-an-untrusted-source) |237| `Marketplace "<name>" is registered from an untrusted source` | [Plugin errors](#marketplace-is-registered-from-an-untrusted-source) |

238| `Claude Code refuses the marketplace name "<name>"` | [Plugin errors](#claude-code-refuses-the-marketplace-name) |

239| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Plugin errors](#claude-code-refuses-the-marketplace-name) |

221| `Marketplace "<name>" is already added from a different source` | [Plugin errors](#marketplace-is-already-added-from-a-different-source) |240| `Marketplace "<name>" is already added from a different source` | [Plugin errors](#marketplace-is-already-added-from-a-different-source) |

222| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Plugin errors](#marketplace-name-is-another-spelling-of-a-reserved-name) |241| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Plugin errors](#marketplace-name-is-another-spelling-of-a-reserved-name) |

223| `references ${user_config.*} in a shell-form command` | [Plugin errors](#plugin-command-references-user-config) |242| `references ${user_config.*} in a shell-form command` | [Plugin errors](#plugin-command-references-user-config) |


231| `Failed to load marketplace configuration` | [Plugin errors](#failed-to-load-marketplace-configuration) |250| `Failed to load marketplace configuration` | [Plugin errors](#failed-to-load-marketplace-configuration) |

232| `Marketplace configuration file is corrupted` | [Plugin errors](#failed-to-load-marketplace-configuration) |251| `Marketplace configuration file is corrupted` | [Plugin errors](#failed-to-load-marketplace-configuration) |

233| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Plugin errors](#plugin-is-required-by-your-organization) |252| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Plugin errors](#plugin-is-required-by-your-organization) |

253| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Plugin errors](#plugin-was-not-uninstalled) |

254| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Plugin errors](#plugin-was-not-uninstalled) |

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

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

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

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

236| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |259| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |

237| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Tool errors](#memory-index-is-over-its-read-limit) |260| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Tool errors](#memory-index-is-over-its-read-limit) |

238| `pkill: refusing to run` | [Tool errors](#pkill-pattern-matches-the-claude-code-process) |261| `pkill: refusing to run` | [Tool errors](#pkill-pattern-matches-the-claude-code-process) |


248| `Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>)` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [Tool errors](#refusing-after-a-symlink-changed) |271| `Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>)` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [Tool errors](#refusing-after-a-symlink-changed) |

249| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [Tool errors](#refusing-after-a-symlink-changed) |272| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [Tool errors](#refusing-after-a-symlink-changed) |

250| `Refusing to write through symlink: <path>` / `Refusing to write into symlinked directory: <path>` | [Tool errors](#refusing-after-a-symlink-changed) |273| `Refusing to write through symlink: <path>` / `Refusing to write into symlinked directory: <path>` | [Tool errors](#refusing-after-a-symlink-changed) |

274| `Refusing to write <path>: where it leads on disk could not be determined` / `Refusing to read <path>: where it leads on disk could not be determined` | [Tool errors](#refusing-after-a-symlink-changed) |

251| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [Tool errors](#refusing-after-a-symlink-changed) |275| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [Tool errors](#refusing-after-a-symlink-changed) |

252| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [Tool errors](#refusing-after-a-symlink-changed) |276| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [Tool errors](#refusing-after-a-symlink-changed) |

253| `task output swap refused (tasks dir moved or linked)` | [Tool errors](#task-output-swap-refused) |277| `task output swap refused (tasks dir moved or linked)` | [Tool errors](#task-output-swap-refused) |

254| `Command killed: its output file was replaced or could no longer be verified` | [Tool errors](#task-output-swap-refused) |278| `Command killed: its output file was replaced or could no longer be verified` | [Tool errors](#task-output-swap-refused) |

279| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

280| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

281| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) |

255| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |282| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |

256| `the source file has the replacement character U+FFFD` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |283| `the source file has the replacement character U+FFFD` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) |

257| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |284| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) |


279| `EACCES: permission denied, posix_spawn` | [Background session errors](#eacces-when-starting-a-background-session) |306| `EACCES: permission denied, posix_spawn` | [Background session errors](#eacces-when-starting-a-background-session) |

280| `exited before it became reachable` | [Background session errors](#background-service-exited-before-it-became-reachable) |307| `exited before it became reachable` | [Background session errors](#background-service-exited-before-it-became-reachable) |

281| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Background session errors](#working-directory-no-longer-exists-when-starting-a-background-session) |308| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Background session errors](#working-directory-no-longer-exists-when-starting-a-background-session) |

309| `Workspace not trusted.` saat memulai atau memulai ulang sesi latar belakang | [Background session errors](#workspace-not-trusted-when-dispatching-a-background-session) |

282| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Background session errors](#eacces-when-starting-a-background-session) |310| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Background session errors](#eacces-when-starting-a-background-session) |

283| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |311| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |

284| `The connection to Claude Code ended before this message completed` | [Wrapper and IDE errors](#the-connection-to-claude-code-ended-before-this-message-completed) |312| `The connection to Claude Code ended before this message completed` | [Wrapper and IDE errors](#the-connection-to-claude-code-ended-before-this-message-completed) |


291| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [Configuration warnings](#fullscreen-failed-start-notice) |319| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [Configuration warnings](#fullscreen-failed-start-notice) |

292| `Claude Code exited after an unrecoverable interface error (...)` | [Configuration warnings](#exited-after-an-unrecoverable-interface-error) |320| `Claude Code exited after an unrecoverable interface error (...)` | [Configuration warnings](#exited-after-an-unrecoverable-interface-error) |

293| `Agent descriptions are over the 15.0k-token limit` | [Configuration warnings](#agent-descriptions-are-over-the-15000-token-limit) |321| `Agent descriptions are over the 15.0k-token limit` | [Configuration warnings](#agent-descriptions-are-over-the-15000-token-limit) |

322| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Configuration warnings](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

294| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |323| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |

295| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |324| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |

296| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |325| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |

297| `Managed settings were not approved; exiting without applying them.` | [Configuration warnings](#managed-settings-were-not-approved) |326| `Managed settings were not approved; exiting without applying them.` | [Configuration warnings](#managed-settings-were-not-approved) |

327| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [Configuration warnings](#managed-settings-block-the-default-model) |

298| `MCP server <name> is blocked by enterprise managed policy` | [Configuration warnings](#mcp-server-is-blocked-by-enterprise-managed-policy) |328| `MCP server <name> is blocked by enterprise managed policy` | [Configuration warnings](#mcp-server-is-blocked-by-enterprise-managed-policy) |

299| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [Configuration warnings](#managed-settings-document-could-not-be-parsed) |329| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [Configuration warnings](#managed-settings-document-could-not-be-parsed) |

300| `Managed settings drop-in directory could not be read` | [Configuration warnings](#managed-settings-document-could-not-be-parsed) |330| `Managed settings drop-in directory could not be read` | [Configuration warnings](#managed-settings-document-could-not-be-parsed) |


392 422 

393Ini menunjukkan kegagalan yang tidak terduga di dalam API. Ini tidak disebabkan oleh prompt, pengaturan, atau akun Anda.423Ini menunjukkan kegagalan yang tidak terduga di dalam API. Ini tidak disebabkan oleh prompt, pengaturan, atau akun Anda.

394 424 

425Ketika proxy, load balancer, atau gateway menjawab dengan halaman kesalahan HTML, pesan menampilkan kode status dan judul halaman, seperti `API Error: 502 Bad Gateway`. Untuk halaman tanpa judul, pesan menampilkan kode status dan nama standarnya. Sebelum v2.1.281, kode status dijatuhkan ketika halaman memiliki judul, dan markup mentah halaman dicetak ketika tidak ada.

426 

395**Yang harus dilakukan:**427**Yang harus dilakukan:**

396 428 

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


416 448 

417* Periksa [status.claude.com](https://status.claude.com), atau halaman status penyedia yang disebutkan dalam pesan, untuk pemberitahuan kapasitas449* Periksa [status.claude.com](https://status.claude.com), atau halaman status penyedia yang disebutkan dalam pesan, untuk pemberitahuan kapasitas

418* Coba lagi dalam beberapa menit450* Coba lagi dalam beberapa menit

419* Jalankan `/model` dan beralih ke model yang berbeda untuk terus bekerja, karena kapasitas dilacak per model. Claude Code meminta Anda untuk melakukan ini ketika satu model mengalami beban yang sangat tinggi, misalnya `Opus is experiencing high load, please use /model to switch to Sonnet`.451* Jalankan `/model` dan beralih ke model yang berbeda untuk terus bekerja, karena kapasitas dilacak per model. Claude Code meminta Anda untuk melakukan ini ketika satu model mengalami beban yang sangat tinggi, misalnya `Opus is experiencing high load, please use /model to switch to Sonnet`. Pada model Fable pesan menyebutkan Fable.

452 

453 Dalam sesi yang dijalankan aplikasi Claude Desktop, seperti tab Code atau Cowork, pesan berbunyi `Opus is experiencing high load. Switch to Sonnet.` dan Anda beralih model dengan pemilih model aplikasi.

420 454 

421<h3 id="request-timed-out">455<h3 id="request-timed-out">

422 Request timed out456 Request timed out


474API Error: Connection lost mid-response. The response above may be incomplete.508API Error: Connection lost mid-response. The response above may be incomplete.

475API Error: Your computer went to sleep mid-response. The response above may be incomplete.509API Error: Your computer went to sleep mid-response. The response above may be incomplete.

476API Error: The response stopped arriving. The response above may be incomplete.510API Error: The response stopped arriving. The response above may be incomplete.

511API Error: Part of the response never arrived. The response above may be incomplete.

512API Error: The response stream was malformed. The response above may be incomplete.

477```513```

478 514 

479* `Server error mid-response`: kesalahan server overloaded atau 5xx mid-stream. Varian ini memerlukan Claude Code v2.1.199 atau lebih baru; sebelumnya kasus itu membuang output parsial dan melaporkan seluruh giliran sebagai kesalahan.515* `Server error mid-response`: kesalahan server overloaded atau 5xx mid-stream. Varian ini memerlukan Claude Code v2.1.199 atau lebih baru; sebelumnya kasus itu membuang output parsial dan melaporkan seluruh giliran sebagai kesalahan.

480* `Connection lost mid-response`: koneksi putus.516* `Connection lost mid-response`: koneksi putus. Anda juga melihat varian ini ketika proxy atau gateway mengakhiri badan respons dengan bersih sebelum respons selesai.

481* `Your computer went to sleep mid-response`: Claude Code mendeteksi bahwa komputer Anda tertidur saat respons streaming. Setelah komputer Anda bangun, Claude Code memperlakukan koneksi sebagai rusak dan berhenti membacanya.517* `Your computer went to sleep mid-response`: Claude Code mendeteksi bahwa komputer Anda tertidur saat respons streaming. Setelah komputer Anda bangun, Claude Code memperlakukan koneksi sebagai rusak dan berhenti membacanya.

518* `Part of the response never arrived`: peristiwa aliran dijatuhkan antara API dan Claude Code, jadi peristiwa yang lebih baru mereferensikan konten yang tidak pernah tiba. Sebelum v2.1.281, kasus ini mengakhiri giliran dengan `API Error: Content block not found`.

519* `The response stream was malformed`: peristiwa tiba untuk blok konten yang sudah selesai, atau peristiwa tiba rusak. Peristiwa yang rusak adalah peristiwa yang datanya bukan JSON yang valid, yang kontennya hilang, atau yang kontennya tidak cocok dengan jenis peristiwa. Sebelum v2.1.284, kesalahan parser mentah, seperti yang dimulai dengan `API Error: JSON Parse error`, muncul sebagai gantinya ketika peristiwa dengan JSON yang tidak valid tiba setelah Claude menyelesaikan pemikirannya, blok teks, atau panggilan alat.

482* `The response stopped arriving`: koneksi tetap terbuka tetapi berhenti mengirimkan data, jadi watchdog streaming idle membatalkannya. Sebelum v2.1.222, Claude Code juga dapat melaporkan kegagalan ini pada koneksi [gateway](/docs/id/gateways) yang dicapai melalui `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL` sementara ping keep-alive server masih tiba, karena hanya menghitung peristiwa respons yang diurai di sana; upgrade menghentikan waktu tunggu palsu itu di rute tersebut. Gateway yang dicapai melalui URL dasar penyedia seperti `ANTHROPIC_BEDROCK_BASE_URL` tidak dibungkus oleh watchdog byte; lihat [Streaming idle watchdogs](/docs/id/network-config#streaming-idle-watchdogs).520* `The response stopped arriving`: koneksi tetap terbuka tetapi berhenti mengirimkan data, jadi watchdog streaming idle membatalkannya. Sebelum v2.1.222, Claude Code juga dapat melaporkan kegagalan ini pada koneksi [gateway](/docs/id/gateways) yang dicapai melalui `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL` sementara ping keep-alive server masih tiba, karena hanya menghitung peristiwa respons yang diurai di sana; upgrade menghentikan waktu tunggu palsu itu di rute tersebut. Gateway yang dicapai melalui URL dasar penyedia seperti `ANTHROPIC_BEDROCK_BASE_URL` tidak dibungkus oleh watchdog byte; lihat [Streaming idle watchdogs](/docs/id/network-config#streaming-idle-watchdogs).

483 521 

484Sebelum v2.1.227, `Connection lost mid-response` membaca `Connection closed mid-response` dan `The response stopped arriving` membaca `Response stalled mid-stream`.522Sebelum v2.1.227, `Connection lost mid-response` membaca `Connection closed mid-response` dan `The response stopped arriving` membaca `Response stalled mid-stream`.

485 523 

524Ketika peristiwa aliran yang dijatuhkan, diduplikasi, atau rusak tiba sebelum Claude memulai teks atau panggilan alat apa pun, Anda tidak melihat pemberitahuan ini:

525 

526* Jika Claude hanya menyelesaikan pemikirannya, Claude Code mengeluarkan kembali permintaan. Ketika aliran yang diterbitkan kembali putus dengan cara yang sama, giliran berakhir dengan `Part of the response never arrived and no response was produced. Try again.` atau `The response stream was malformed and no response was produced. Try again.`

527* Jika tidak ada yang selesai, Claude Code mengirim ulang permintaan tanpa streaming. Jika Anda mematikan fallback itu dengan [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/id/env-vars), giliran berakhir dengan `API Error: Content block not found` untuk peristiwa yang dijatuhkan atau `API Error: Content block already closed` untuk peristiwa yang diduplikasi. Untuk peristiwa yang rusak dengan fallback dimatikan, giliran berakhir dengan `API Error: Stream event unreadable` atau kesalahan parser mentah.

528 

486Dalam empat kasus, Claude Code menangani kegagalan tanpa menampilkan pemberitahuan ini segera:529Dalam empat kasus, Claude Code menangani kegagalan tanpa menampilkan pemberitahuan ini segera:

487 530 

488* Sebelumnya dalam respons, Claude Code baik mencoba ulang kegagalan atau mengakhiri giliran dengan kesalahan yang berbeda. Lihat [Automatic retries](#automatic-retries).531* Sebelumnya dalam respons, Claude Code baik mencoba ulang kegagalan atau mengakhiri giliran dengan kesalahan yang berbeda. Lihat [Automatic retries](#automatic-retries).


641You've hit your Sonnet limit · resets 3:45pm684You've hit your Sonnet limit · resets 3:45pm

642```685```

643 686 

644Blok Claude Code memblokir permintaan lebih lanjut hingga waktu reset yang ditunjukkan dalam pesan. Batas sesi dan mingguan dibagikan di semua model, jadi beralih model tidak mengembalikan akses. Batas Opus dan Sonnet masing-masing hanya berlaku untuk permintaan ke keluarga model tersebut, jadi beralih ke model di luar keluarga dengan `/model` membuat Anda tetap bekerja.687Claude Code memblokir permintaan lebih lanjut hingga waktu reset yang ditunjukkan dalam pesan. Batas sesi dan mingguan dibagikan di semua model, jadi beralih model tidak mengembalikan akses. Batas Opus dan Sonnet masing-masing hanya berlaku untuk permintaan ke keluarga model tersebut, jadi beralih ke model di luar keluarga dengan `/model` membuat Anda tetap bekerja.

645 688 

646Dalam sesi interaktif yang masuk dengan langganan claude.ai, Claude Code juga dapat menunggu di sesi terbuka dan melanjutkan tugas yang terputus segera setelah reset. Saat menunggu, baris di bagian bawah sesi berbunyi `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`. Tekan `Esc` pada prompt kosong untuk membatalkan penantian. Lihat [Wait for a usage limit to reset](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset) untuk melihat apa yang Anda lihat, cara memulai atau membatalkan penantian, dan cara mematikan lanjutan otomatis. Sebelum v2.1.234, Claude Code tidak menawarkan penantian ini.689Dalam sesi interaktif yang masuk dengan langganan claude.ai, Claude Code juga dapat menunggu di sesi terbuka dan melanjutkan tugas yang terputus segera setelah reset. Saat menunggu, baris di bagian bawah sesi berbunyi `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`. Tekan `Esc` pada prompt kosong untuk membatalkan penantian. Lihat [Wait for a usage limit to reset](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset) untuk melihat apa yang Anda lihat, cara memulai atau membatalkan penantian, dan cara mematikan lanjutan otomatis. Sebelum v2.1.234, Claude Code tidak menawarkan penantian ini.

647 690 


668API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context711API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context

669```712```

670 713 

714Dalam sesi yang dijalankan aplikasi Claude Desktop, petunjuk tidak menyebutkan perintah apa pun: petunjuk menunjuk ke halaman pengaturan penggunaan claude.ai, atau pada paket Team dan Enterprise mengatakan untuk mengaktifkan usage credits di claude.ai/admin-settings/usage atau untuk meminta admin Anda.

715 

671Ini adalah pemeriksaan hak akses, bukan kehabisan kuota. Ini muncul bahkan ketika tunjangan sesi dan mingguan Anda memiliki kapasitas yang tersisa. Lihat [Extended context](/docs/id/model-config#extended-context) untuk paket mana yang mencakup konteks 1M secara langsung dan mana yang memerlukan usage credits. Claude Code menjalankan pemeriksaan ini ketika Anda memilih model dengan `/model`, dan hanya pada koneksi langsung ke API Anthropic; jika Anda menunjuk `ANTHROPIC_BASE_URL` ke [LLM gateway](/docs/id/llm-gateway), `/model` memungkinkan pemilihan `[1m]` dan gateway memutuskan apakah permintaan berhasil.716Ini adalah pemeriksaan hak akses, bukan kehabisan kuota. Ini muncul bahkan ketika tunjangan sesi dan mingguan Anda memiliki kapasitas yang tersisa. Lihat [Extended context](/docs/id/model-config#extended-context) untuk paket mana yang mencakup konteks 1M secara langsung dan mana yang memerlukan usage credits. Claude Code menjalankan pemeriksaan ini ketika Anda memilih model dengan `/model`, dan hanya pada koneksi langsung ke API Anthropic; jika Anda menunjuk `ANTHROPIC_BASE_URL` ke [LLM gateway](/docs/id/llm-gateway), `/model` memungkinkan pemilihan `[1m]` dan gateway memutuskan apakah permintaan berhasil.

672 717 

673Ketika kesalahan ini muncul di tengah percakapan karena konteks tumbuh melampaui 200K token, Claude Code secara otomatis mengompres percakapan kembali di bawah batas konteks standar dan menjaga sesi pada batas itu sesudahnya, jadi tidak ada tindakan yang diperlukan. Pada versi sebelum v2.1.172, kesalahan berulang pada setiap permintaan berikutnya termasuk `/compact`; jalankan `/clear` pada versi tersebut untuk pulih. Langkah-langkah di bawah berlaku ketika Anda secara eksplisit memilih model `[1m]`.718Ketika kesalahan ini muncul di tengah percakapan karena konteks tumbuh melampaui 200K token, Claude Code secara otomatis mengompres percakapan kembali di bawah batas konteks standar dan menjaga sesi pada batas itu sesudahnya, jadi tidak ada tindakan yang diperlukan. Pada versi sebelum v2.1.172, kesalahan berulang pada setiap permintaan berikutnya termasuk `/compact`; jalankan `/clear` pada versi tersebut untuk pulih. Langkah-langkah di bawah berlaku ketika Anda secara eksplisit memilih model `[1m]`.


733 778 

734Kalimat di akhir menyebutkan di mana memeriksa kesehatan layanan dan bervariasi menurut penyedia. Konfigurasi Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry menyebutkan status layanan penyedia itu sebagai gantinya dari halaman status Anthropic. `ANTHROPIC_BASE_URL` kustom menyebutkan host gateway.779Kalimat di akhir menyebutkan di mana memeriksa kesehatan layanan dan bervariasi menurut penyedia. Konfigurasi Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry menyebutkan status layanan penyedia itu sebagai gantinya dari halaman status Anthropic. `ANTHROPIC_BASE_URL` kustom menyebutkan host gateway.

735 780 

781Ketika proxy, load balancer, atau gateway antara Claude Code dan API menjawab dengan halaman HTML 429-nya sendiri, teks setelah `·` adalah judul halaman itu ketika memiliki satu, seperti `Too Many Requests`. Sebelum v2.1.281, markup halaman lengkap dicetak setelah `·`.

782 

736**Yang harus dilakukan:**783**Yang harus dilakukan:**

737 784 

738* Jalankan `/status` dan konfirmasi kredensial aktif adalah yang Anda harapkan. `ANTHROPIC_API_KEY` yang tersesat di lingkungan Anda dapat merutekan permintaan melalui kunci tingkat rendah daripada langganan Anda.785* Jalankan `/status` dan konfirmasi kredensial aktif adalah yang Anda harapkan. `ANTHROPIC_API_KEY` yang tersesat di lingkungan Anda dapat merutekan permintaan melalui kunci tingkat rendah daripada langganan Anda.


839Not logged in · Please run /login886Not logged in · Please run /login

840```887```

841 888 

889Dalam sesi yang dijalankan aplikasi Claude Desktop, seperti tab Code atau Cowork, pesan berbunyi `Authentication required · Sign in again to continue`, dan Anda masuk lagi dari aplikasi.

890 

842**Yang harus dilakukan:**891**Yang harus dilakukan:**

843 892 

844* Jalankan `/login` untuk autentikasi dengan langganan Claude Anda atau akun Console893* Jalankan `/login` untuk autentikasi dengan langganan Claude atau akun Console Anda

845* Jika Anda mengharapkan variabel lingkungan untuk mengautentikasi Anda, konfirmasi bahwa `ANTHROPIC_API_KEY` diatur dan diekspor di shell tempat Anda meluncurkan `claude`894* Jika Anda mengharapkan variabel lingkungan untuk mengautentikasi Anda, konfirmasi bahwa `ANTHROPIC_API_KEY` diatur dan diekspor di shell tempat Anda meluncurkan `claude`

846* Untuk CI atau otomasi di mana login interaktif tidak mungkin, konfigurasikan skrip [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) yang mengambil kunci saat startup895* Untuk CI atau otomasi di mana login interaktif tidak mungkin, konfigurasikan skrip [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) yang mengambil kunci saat startup

847* Lihat [Prioritas autentikasi](/docs/id/authentication#authentication-precedence) untuk memahami kredensial mana yang digunakan Claude Code ketika beberapa ada896* Lihat [Urutan prioritas autentikasi](/docs/id/authentication#authentication-precedence) untuk memahami kredensial mana yang digunakan Claude Code ketika beberapa tersedia

848 897 

849Jika Anda diminta untuk masuk berulang kali, lihat [Belum masuk atau token kedaluwarsa](/docs/id/troubleshoot-install#not-logged-in-or-token-expired) untuk pemeriksaan jam sistem dan langkah pemulihan penyimpanan kredensial macOS.898Jika Anda diminta untuk masuk berulang kali, lihat [Belum masuk atau token kedaluwarsa](/docs/id/troubleshoot-install#not-logged-in-or-token-expired) untuk pemeriksaan jam sistem dan langkah pemulihan penyimpanan kredensial macOS.

850 899 


852 Tidak dapat menyelesaikan metode autentikasi901 Tidak dapat menyelesaikan metode autentikasi

853</h3>902</h3>

854 903 

855Sesi mencapai klien API tanpa kredensial apa pun. [Sesi latar belakang](/docs/id/agent-view) dan sesi cloud menampilkan pesan ini ketika pekerja dimulai tanpa kredensial. Jalankan interaktif, `-p`, dan Agent SDK melaporkan kondisi yang sama seperti [Belum masuk](#not-logged-in) dan menulis string ini hanya ke log debug mereka, jadi jika Anda menemukannya di sana, ikuti entri itu sebagai gantinya.904Sesi mencapai klien API tanpa kredensial apa pun. [Sesi latar belakang](/docs/id/agent-view) dan sesi cloud menampilkan pesan ini ketika worker dimulai tanpa kredensial. Jalankan interaktif, `-p`, dan Agent SDK melaporkan kondisi yang sama seperti [Belum masuk](#not-logged-in) dan menulis string ini hanya ke log debug mereka, jadi jika Anda menemukannya di sana, ikuti entri itu sebagai gantinya.

856 905 

857```text theme={null}906```text theme={null}

858Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted907Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted

859```908```

860 909 

861Pada versi saat ini, kesalahan berarti tidak ada kredensial yang tersedia untuk proses pekerja. Sebelum v2.1.174, sesi latar belakang yang ditugaskan ke pekerja pra-inisialisasi yang menganggur dapat gagal dengan cara ini bahkan ketika kredensial yang valid dikonfigurasi. Sebelum v2.1.176, sesi cloud yang menganggur sebelum diklaim juga dapat. Tingkatkan untuk memulihkan.910Pada versi saat ini, kesalahan berarti tidak ada kredensial yang tersedia untuk proses worker. Sebelum v2.1.174, sesi latar belakang yang ditugaskan ke worker yang sudah diinisialisasi dan menganggur dapat gagal dengan cara ini bahkan ketika kredensial yang valid dikonfigurasi. Sebelum v2.1.176, sesi cloud yang menganggur sebelum diklaim juga dapat. Tingkatkan untuk memulihkan.

862 911 

863**Yang harus dilakukan:**912**Yang harus dilakukan:**

864 913 

865* Tingkatkan ke v2.1.176 atau lebih baru jika ini muncul dalam sesi latar belakang atau cloud dan kredensial Anda sudah dikonfigurasi914* Tingkatkan ke v2.1.176 atau lebih baru jika ini muncul dalam sesi latar belakang atau cloud dan kredensial Anda sudah dikonfigurasi

866* Konfirmasi bahwa `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN`, atau kredensial penyedia cloud Anda diatur di lingkungan yang meluncurkan pekerja, bukan hanya di shell interaktif Anda915* Konfirmasi bahwa `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN`, atau kredensial penyedia cloud Anda diatur di lingkungan yang meluncurkan worker, bukan hanya di shell interaktif Anda

867* Untuk Agent SDK, lihat [pengaturan autentikasi dalam panduan cepat](/docs/id/agent-sdk/quickstart#setup)916* Untuk Agent SDK, lihat [pengaturan autentikasi dalam quickstart](/docs/id/agent-sdk/quickstart#setup)

868* Jalankan `/status` dalam sesi interaktif di lingkungan yang sama untuk mengonfirmasi sumber kredensial mana yang diselesaikan917* Jalankan `/status` dalam sesi interaktif di lingkungan yang sama untuk mengonfirmasi sumber kredensial mana yang diselesaikan

869 918 

870<h3 id="invalid-api-key">919<h3 id="invalid-api-key">


877Invalid API key · Fix external API key926Invalid API key · Fix external API key

878```927```

879 928 

880Ketika pesan berlanjut melampaui `Fix external API key` dengan deskripsi seperti `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, API tidak pernah melihat kunci. Claude Code menemukan karakter yang tidak dapat dibawa oleh header HTTP dan menghentikan permintaan sebelum mengirimnya. Lihat [Nilai header permintaan tidak valid](#invalid-request-header-value) untuk cara membaca deskripsi dan memperbaiki nilai.929Ketika pesan berlanjut melampaui `Fix external API key` dengan deskripsi seperti `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, API tidak pernah melihat kunci. Claude Code menemukan karakter yang tidak dapat dibawa header HTTP dan menghentikan permintaan sebelum mengirimnya. Lihat [Nilai header permintaan tidak valid](#invalid-request-header-value) untuk cara membaca deskripsi dan memperbaiki nilai.

881 930 

882**Yang harus dilakukan:**931**Yang harus dilakukan:**

883 932 


893 942 

894Claude Code menjalankan perintah dalam pengaturan [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) Anda dan tidak mendapatkan kunci kembali. Tanpa satu, permintaan mencapai API dengan kredensial placeholder, dan API menolaknya dengan `401`. Panel `Authentication` di terminal menunjukkan mana dari ini yang terjadi:943Claude Code menjalankan perintah dalam pengaturan [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) Anda dan tidak mendapatkan kunci kembali. Tanpa satu, permintaan mencapai API dengan kredensial placeholder, dan API menolaknya dengan `401`. Panel `Authentication` di terminal menunjukkan mana dari ini yang terjadi:

895 944 

896* Perintah keluar dengan kesalahan atau waktu habis945* Perintah keluar dengan kesalahan atau habis waktu

897* Perintah tidak mencetak apa pun ke stdout946* Perintah tidak mencetak apa pun ke stdout

898* Perintah mencetak sesuatu selain kunci, seperti spanduk login atau baris log. Panel menunjukkan `returned output that cannot be used as an API key` dan mengatakan apa yang salah, tanpa mengulangi output. Sebelum v2.1.227, Claude Code mengirim apa pun yang dicetak perintah, setelah memangkas spasi putih di sekitarnya.947* Perintah mencetak sesuatu selain kunci, seperti banner login atau baris log. Panel menampilkan `returned output that cannot be used as an API key` dan mengatakan apa yang salah, tanpa mengulangi output. Sebelum v2.1.227, Claude Code mengirim apa pun yang dicetak perintah, setelah memangkas spasi putih di sekitarnya.

899 948 

900```text theme={null}949```text theme={null}

901Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output950Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output


905 954 

906Claude Code menjalankan kembali skrip dan mencoba kembali permintaan hingga dua kali lagi sebelum menampilkan pesan ini, jadi kegagalan muncul dalam tiga upaya. Sebelum v2.1.208, Claude Code menghabiskan [anggaran percobaan ulang](#automatic-retries) penuh mengirim ulang permintaan dengan kredensial placeholder dan kemudian melaporkan kesalahan autentikasi `401` generik sebagai gantinya dari kegagalan skrip.955Claude Code menjalankan kembali skrip dan mencoba kembali permintaan hingga dua kali lagi sebelum menampilkan pesan ini, jadi kegagalan muncul dalam tiga upaya. Sebelum v2.1.208, Claude Code menghabiskan [anggaran percobaan ulang](#automatic-retries) penuh mengirim ulang permintaan dengan kredensial placeholder dan kemudian melaporkan kesalahan autentikasi `401` generik sebagai gantinya dari kegagalan skrip.

907 956 

908Menjalankan `/login` tidak membantu di sini: output pembantu [mengambil prioritas](/docs/id/authentication#authentication-precedence) atas login yang disimpan selama pengaturan ada.957Menjalankan `/login` tidak membantu di sini: output helper [mengambil prioritas](/docs/id/authentication#authentication-precedence) atas login yang disimpan selama pengaturan ada.

909 958 

910**Yang harus dilakukan:**959**Yang harus dilakukan:**

911 960 

912* Jalankan perintah yang dikonfigurasi dalam `apiKeyHelper` secara langsung di shell Anda untuk mereproduksi kegagalan961* Jalankan perintah yang dikonfigurasi dalam `apiKeyHelper` secara langsung di shell Anda untuk mereproduksi kegagalan

913* Jika perintah melaporkan sesi yang kedaluwarsa, autentikasi ulang dengan penyedia kredensial Anda, misalnya dengan masuk kembali ke SSO atau brankas rahasia Anda962* Jika perintah melaporkan sesi yang kedaluwarsa, autentikasi ulang dengan penyedia kredensial Anda, misalnya dengan masuk kembali ke SSO atau vault rahasia Anda

914* Perbaiki perintah sehingga hanya mencetak kunci ke stdout, sebagai token ASCII yang dapat dicetak tunggal hingga 16.384 karakter, dan keluar dengan kode 0. Lihat [putar kredensial dengan apiKeyHelper](/docs/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) untuk pengaturan yang berfungsi.963* Perbaiki perintah sehingga hanya mencetak kunci ke stdout, sebagai token tunggal ASCII yang dapat dicetak hingga 16.384 karakter, dan keluar dengan kode 0. Lihat [putar kredensial dengan apiKeyHelper](/docs/id/llm-gateway-connect#rotate-credentials-with-apikeyhelper) untuk pengaturan yang berfungsi.

915* Jalankan `/status` untuk melihat kegagalan dan konfirmkan bahwa `apiKeyHelper` adalah sumber kredensial aktif. Baris `apiKeyHelper` menunjukkan `Failing` dengan detail kegagalan terakhir, seperti kode keluar dan output kesalahan perintah, dan hilang setelah jalankan yang berhasil berikutnya. Sebelum v2.1.274, `/status` hanya menunjukkan sumber kredensial, bukan kegagalan.964* Jalankan `/status` untuk melihat kegagalan dan konfirmasi bahwa `apiKeyHelper` adalah sumber kredensial aktif. Baris `apiKeyHelper` menampilkan `Failing` dengan detail kegagalan terakhir, seperti kode keluar dan output kesalahan perintah, dan hilang setelah jalankan berhasil berikutnya. Sebelum v2.1.274, `/status` hanya menampilkan sumber kredensial, bukan kegagalan.

916* Setiap kali perintah gagal, kode keluar dan output kesalahannya juga muncul dalam panel `Authentication` di terminal. Sebelum v2.1.212, panel berjudul `Cloud authentication`.965* Setiap kali perintah gagal, kode keluar dan output kesalahannya juga muncul dalam panel `Authentication` di terminal. Sebelum v2.1.212, panel berjudul `Cloud authentication`.

917 966 

918<h3 id="invalid-request-header-value">967<h3 id="invalid-request-header-value">

919 Nilai header permintaan tidak valid968 Nilai header permintaan tidak valid

920</h3>969</h3>

921 970 

922Nilai yang Claude Code akan kirim sebagai header permintaan berisi karakter yang tidak dapat dibawa oleh header HTTP: jeda baris, byte NUL, atau karakter di atas `U+00FF`, seperti tanda kutip melengkung atau spasi lebar nol. Claude Code menghentikan permintaan sebelum apa pun dikirim dan menamai variabel atau pengaturan untuk diperbaiki. Penyebab umum adalah kredensial yang ditempel dari dokumen atau obrolan yang membawa karakter tak terlihat atau jeda baris yang tersesat.971Nilai yang akan dikirim Claude Code sebagai header permintaan berisi karakter yang tidak dapat dibawa header HTTP: jeda baris, byte NUL, atau karakter di atas `U+00FF`, seperti tanda kutip melengkung atau spasi lebar nol. Claude Code menghentikan permintaan sebelum apa pun dikirim dan menamai variabel atau pengaturan untuk diperbaiki. Penyebab biasanya adalah kredensial yang ditempel dari dokumen atau obrolan yang membawa karakter tak terlihat atau jeda baris yang tersesat.

923 972 

924Claude Code menjalankan pemeriksaan ini ketika mengirim permintaan ke Claude API secara langsung atau melalui [gateway LLM](/docs/id/llm-gateway). Pada penyedia cloud pihak ketiga seperti [Amazon Bedrock](/docs/id/amazon-bedrock), Claude Code tidak menjalankannya sebelum mengirim.973Claude Code menjalankan pemeriksaan ini ketika mengirim permintaan ke Claude API secara langsung atau melalui [gateway LLM](/docs/id/llm-gateway). Pada penyedia cloud pihak ketiga seperti [Amazon Bedrock](/docs/id/amazon-bedrock), Claude Code tidak menjalankannya sebelum mengirim.

925 974 


929Invalid request header from the environment · Fix the environment variable978Invalid request header from the environment · Fix the environment variable

930```979```

931 980 

932Bagian pertama dari pesan tergantung pada tempat nilai buruk berasal:981Bagian pertama pesan tergantung pada tempat nilai buruk berasal:

933 982 

934* `Invalid auth token`: token pembawa dari [`ANTHROPIC_AUTH_TOKEN`](/docs/id/env-vars) atau [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/id/env-vars)983* `Invalid auth token`: token pembawa dari [`ANTHROPIC_AUTH_TOKEN`](/docs/id/env-vars) atau [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/id/env-vars)

935* `Invalid ANTHROPIC_CUSTOM_HEADERS`: nama header atau nilai yang Anda atur dalam [`ANTHROPIC_CUSTOM_HEADERS`](/docs/id/env-vars). Deskripsi menghitung pasangan `Name: Value` mana yang bersalah, seperti `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, tanpa mengulangi nama atau nilai, karena Anda memilih keduanya.984* `Invalid ANTHROPIC_CUSTOM_HEADERS`: nama header atau nilai yang Anda atur dalam [`ANTHROPIC_CUSTOM_HEADERS`](/docs/id/env-vars). Deskripsi menghitung pasangan `Name: Value` mana yang bersalah, seperti `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, tanpa mengulangi nama atau nilai, karena Anda memilih keduanya.


943Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).992Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).

944```993```

945 994 

946Posisi menghitung karakter mulai dari satu. Deskripsi dibangun dari frasa tetap dan hitungan karakter, jadi tidak pernah menyertakan nilai itu sendiri. Ini menamai karakter yang menyinggung hanya ketika itu adalah karakter tak terlihat atau tipografi yang terkenal, seperti tanda urutan byte, spasi lebar nol, atau tanda kutip melengkung, dan melaporkan apa pun yang lain sebagai `a non-ASCII character`.995Posisi menghitung karakter mulai dari satu. Deskripsi dibangun dari frasa tetap dan penghitungan karakter, jadi tidak pernah menyertakan nilai itu sendiri. Ini menamai karakter yang menyinggung hanya ketika itu adalah karakter tak terlihat atau tipografi yang terkenal, seperti tanda urutan byte, spasi lebar nol, atau tanda kutip melengkung, dan melaporkan apa pun yang lain sebagai `a non-ASCII character`.

947 996 

948**Yang harus dilakukan:**997**Yang harus dilakukan:**

949 998 


985Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead1034Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead

986Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account1035Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account

987Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account1036Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account

1037Your organization has disabled API key authentication · Sign in again with your claude.ai account

988```1038```

989 1039 

990Variabel lingkungan dan `apiKeyHelper` mengambil prioritas atas `/login`, jadi menjalankan `/login` saja tidak membantu sementara salah satu masih memasok kunci. Lihat [Prioritas autentikasi](/docs/id/authentication#authentication-precedence).1040Bentuk terakhir muncul dalam sesi yang dijalankan aplikasi Claude Desktop, seperti tab Code atau Cowork, di mana Anda masuk lagi dari aplikasi.

1041 

1042Variabel lingkungan dan `apiKeyHelper` mengambil prioritas atas `/login`, jadi menjalankan `/login` saja tidak membantu sementara salah satu masih memasok kunci. Lihat [Urutan prioritas autentikasi](/docs/id/authentication#authentication-precedence).

991 1043 

992**Yang harus dilakukan:**1044**Yang harus dilakukan:**

993 1045 


1007Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access1059Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

1008```1060```

1009 1061 

1010Ini adalah pengaturan organisasi sisi server, jadi tidak dapat ditimpa dari pengaturan lokal, variabel lingkungan, atau bendera CLI.1062Ini adalah pengaturan organisasi sisi server, jadi tidak dapat ditimpa dari pengaturan lokal, variabel lingkungan, atau flag CLI.

1011 1063 

1012Agent SDK dan mode non-interaktif `-p` menampilkan ini sebagai kode kesalahan `oauth_org_not_allowed`.1064Agent SDK dan mode non-interaktif `-p` menampilkan ini sebagai kode kesalahan `oauth_org_not_allowed`.

1013 1065 


1027Routines are disabled by your organization's policy.1079Routines are disabled by your organization's policy.

1028```1080```

1029 1081 

1030Ini adalah pengaturan sisi server, jadi tidak dapat ditimpa dari pengaturan lokal, variabel lingkungan, atau bendera CLI.1082Ini adalah pengaturan sisi server, jadi tidak dapat ditimpa dari pengaturan lokal, variabel lingkungan, atau flag CLI.

1031 1083 

1032**Yang harus dilakukan:**1084**Yang harus dilakukan:**

1033 1085 


1038 Remote Control memerlukan Anthropic API1090 Remote Control memerlukan Anthropic API

1039</h3>1091</h3>

1040 1092 

1041Sesi tidak berbicara langsung dengan Anthropic API, jadi tidak ada backend claude.ai untuk [Remote Control](/docs/id/remote-control) untuk dipasangkan.1093Sesi tidak berbicara langsung ke Anthropic API, jadi tidak ada backend claude.ai untuk [Remote Control](/docs/id/remote-control) untuk dipasangkan.

1042 1094 

1043```text theme={null}1095```text theme={null}

1044Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.1096Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.


1049* Variabel penyedia `CLAUDE_CODE_USE_*`, seperti `CLAUDE_CODE_USE_BEDROCK` untuk [Amazon Bedrock](/docs/id/amazon-bedrock) atau `CLAUDE_CODE_USE_VERTEX` untuk [Platform Agen Google Cloud](/docs/id/google-vertex-ai)1101* Variabel penyedia `CLAUDE_CODE_USE_*`, seperti `CLAUDE_CODE_USE_BEDROCK` untuk [Amazon Bedrock](/docs/id/amazon-bedrock) atau `CLAUDE_CODE_USE_VERTEX` untuk [Platform Agen Google Cloud](/docs/id/google-vertex-ai)

1050* [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy, bahkan ketika Anda masuk dengan claude.ai; sebelum v2.1.196, URL dasar khusus tidak memblokir Remote Control1102* [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy, bahkan ketika Anda masuk dengan claude.ai; sebelum v2.1.196, URL dasar khusus tidak memblokir Remote Control

1051* `ANTHROPIC_UNIX_SOCKET` diatur, jadi sesi mengirim permintaannya melalui soket lokal daripada ke `api.anthropic.com`1103* `ANTHROPIC_UNIX_SOCKET` diatur, jadi sesi mengirim permintaannya melalui soket lokal daripada ke `api.anthropic.com`

1052* Masuk [gateway cloud](/docs/id/claude-apps-gateway) perusahaan melalui `/login`, yang tidak mendukung Remote Control dan tidak memiliki variabel untuk dibatalkan pengaturannya1104* Masuk [gateway cloud](/docs/id/claude-apps-gateway) perusahaan yang dibuat melalui `/login`, yang tidak mendukung Remote Control dan tidak memiliki variabel untuk dibatalkan pengaturannya

1053 1105 

1054**Yang harus dilakukan:**1106**Yang harus dilakukan:**

1055 1107 

1056* Batalkan pengaturan variabel yang dinamai pesan, seperti `CLAUDE_CODE_USE_BEDROCK` atau `ANTHROPIC_BASE_URL`, dan mulai ulang sesi, atau mulai Remote Control dari sesi yang berbicara langsung dengan Anthropic API1108* Batalkan pengaturan variabel yang dinamai pesan, seperti `CLAUDE_CODE_USE_BEDROCK` atau `ANTHROPIC_BASE_URL`, dan mulai ulang sesi, atau mulai Remote Control dari sesi yang berbicara langsung ke Anthropic API

1057* Jika variabel tidak diatur di shell Anda, periksa kunci `env` dalam [file pengaturan](/docs/id/settings#where-settings-live) Anda, yang menerapkan variabel lingkungan ke setiap sesi1109* Jika variabel tidak diatur di shell Anda, periksa kunci `env` dalam [file pengaturan](/docs/id/settings#where-settings-live) Anda, yang menerapkan variabel lingkungan ke setiap sesi

1058* Untuk pesan startup Remote Control ini dan lainnya, lihat [Troubleshoot Remote Control](/docs/id/remote-control#troubleshooting)1110* Untuk pesan startup Remote Control ini dan lainnya, lihat [Troubleshoot Remote Control](/docs/id/remote-control#troubleshooting)

1059 1111 


1083* ` OAuth token unavailable`: Claude Code tidak memiliki token login yang disimpan ketika kredensial koneksi jatuh tempo untuk pembaruan1135* ` OAuth token unavailable`: Claude Code tidak memiliki token login yang disimpan ketika kredensial koneksi jatuh tempo untuk pembaruan

1084* `OAuth token refresh failed`: claude.ai menolak token login yang disimpan Anda saat Claude Code terhubung kembali, dan menyegarkan token tidak menghasilkan yang baru1136* `OAuth token refresh failed`: claude.ai menolak token login yang disimpan Anda saat Claude Code terhubung kembali, dan menyegarkan token tidak menghasilkan yang baru

1085* `JWT refresh failed: no OAuth token`: Claude Code tidak menemukan token login yang disimpan untuk diperbarui1137* `JWT refresh failed: no OAuth token`: Claude Code tidak menemukan token login yang disimpan untuk diperbarui

1086* ` Signed out of Claude`: Anda keluar di mesin ini, misalnya dengan menjalankan `/logout` di terminal lain, jadi Claude Code tidak memiliki login yang disimpan untuk memperbarui koneksi1138* ` Signed out of Claude`: Anda keluar di mesin ini, misalnya dengan menjalankan `/logout` di terminal lain, jadi Claude Code tidak memiliki login yang disimpan lagi untuk memperbarui koneksi

1087 1139 

1088**Yang harus dilakukan:**1140**Yang harus dilakukan:**

1089 1141 

1090* Jalankan `/login` untuk masuk lagi1142* Jalankan `/login` untuk masuk lagi

1091* Jalankan `/remote-control` untuk menghubungkan kembali sesi. Pesan yang berakhir `run /login to restore Remote Control` tidak memerlukan langkah ini: Claude Code terhubung kembali dengan sendirinya setelah Anda masuk.1143* Jalankan `/remote-control` untuk menghubungkan kembali sesi. Pesan yang berakhir `run /login to restore Remote Control` tidak memerlukan langkah ini: Claude Code terhubung kembali dengan sendirinya setelah Anda masuk.

1092 1144 

1093Sebelum v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` membaca `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, dan `JWT refresh failed: no OAuth token — run /login` membaca `no OAuth token available for recovery (code <N>)`. Pesan `Claude.ai login expired`, `Claude.ai login was rejected`, dan `OAuth token unavailable` ditambahkan dalam v2.1.225.1145Sebelum v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` berbunyi `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, dan `JWT refresh failed: no OAuth token — run /login` berbunyi `no OAuth token available for recovery (code <N>)`. Pesan `Claude.ai login expired`, `Claude.ai login was rejected`, dan `OAuth token unavailable` ditambahkan dalam v2.1.225.

1094 1146 

1095Sebelum v2.1.238, Claude Code melaporkan kasus yang sekarang mengatakan `Signed out of Claude` sebagai `JWT refresh failed: no OAuth token — run /login`, dan menghentikan Remote Control dengan `Claude.ai login expired — run /login to restore Remote Control` segera setelah satu penyegaran login tidak mendapat jawaban.1147Sebelum v2.1.238, Claude Code melaporkan kasus yang sekarang mengatakan `Signed out of Claude` sebagai `JWT refresh failed: no OAuth token — run /login`, dan menghentikan Remote Control dengan `Claude.ai login expired — run /login to restore Remote Control` segera setelah satu penyegaran login tidak mendapat jawaban.

1096 1148 


1098 Remote Control berhenti karena akun yang masuk berubah1150 Remote Control berhenti karena akun yang masuk berubah

1099</h3>1151</h3>

1100 1152 

1101Claude Code menampilkan baris ini selama sesi [Remote Control](/docs/id/remote-control) ketika Anda masuk ke akun claude.ai atau organisasi berbeda di mesin ini. Anda membuat sakelar di luar sesi Claude Code, misalnya dengan menjalankan `/login` di terminal lain.1153Claude Code menampilkan baris ini selama sesi [Remote Control](/docs/id/remote-control) ketika Anda masuk ke akun claude.ai atau organisasi berbeda di mesin ini. Anda membuat switch di luar sesi Claude Code, misalnya dengan menjalankan `/login` di terminal lain.

1102 1154 

1103Sesi Remote Control yang Anda mulai saat masuk melalui `/login` milik akun claude.ai dan organisasi yang masuk pada saat itu.1155Sesi Remote Control yang Anda mulai saat masuk melalui `/login` milik akun claude.ai dan organisasi yang masuk pada saat itu.

1104 1156 


1113* Jalankan `/remote-control` untuk memulai sesi Remote Control baru di bawah akun atau organisasi saat ini1165* Jalankan `/remote-control` untuk memulai sesi Remote Control baru di bawah akun atau organisasi saat ini

1114* Untuk beralih kembali, jalankan `/login` dan masuk ke akun atau organisasi sebelumnya lagi. Kemudian jalankan `/remote-control`.1166* Untuk beralih kembali, jalankan `/login` dan masuk ke akun atau organisasi sebelumnya lagi. Kemudian jalankan `/remote-control`.

1115 1167 

1116Sebelum v2.1.234, Claude Code tidak memperhatikan ketika Anda beralih ke akun atau organisasi berbeda di luar sesi Claude Code. Claude Code membuat sesi Remote Control tetap terhubung sampai permintaan nanti ke server Remote Control gagal dengan `Remote Control server rejected the request (HTTP 404)`. Kegagalan itu bisa datang berjam-jam setelah sakelar.1168Sebelum v2.1.234, Claude Code tidak memperhatikan ketika Anda beralih ke akun atau organisasi berbeda di luar sesi Claude Code. Claude Code membuat sesi Remote Control tetap terhubung sampai permintaan nanti ke server Remote Control gagal dengan `Remote Control server rejected the request (HTTP 404)`. Kegagalan itu bisa datang berjam-jam setelah switch.

1117 1169 

1118<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1170<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">

1119 Remote Control berhenti karena aplikasi yang menjalankan sesi keluar atau beralih akun1171 Remote Control berhenti karena aplikasi yang menjalankan sesi keluar atau beralih akun


1152 1204 

1153* Jalankan `/login` untuk masuk lagi1205* Jalankan `/login` untuk masuk lagi

1154* Jika kesalahan kembali dalam sesi yang sama setelah autentikasi ulang, jalankan `/logout` terlebih dahulu untuk sepenuhnya menghapus token yang disimpan, kemudian `/login`1206* Jika kesalahan kembali dalam sesi yang sama setelah autentikasi ulang, jalankan `/logout` terlebih dahulu untuk sepenuhnya menghapus token yang disimpan, kemudian `/login`

1155* Jika Anda autentikasi dengan variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code terus mengirim nilai yang Anda atur setelah permintaan gagal dengan 401, daripada beralih ke token login yang disimpan. [`/status`](/docs/id/commands) menunjukkan kredensial ini sebagai baris `Auth token` membaca `CLAUDE_CODE_OAUTH_TOKEN`. Hasilkan token segar dengan [`claude setup-token`](/docs/id/authentication#generate-a-long-lived-token) dan mulai ulang dengannya, atau batalkan pengaturan variabel dan jalankan `/login`. Sebelum v2.1.225, Claude Code dapat mengganti nilai variabel di tengah sesi dengan token akses berumur pendek dari login yang disimpan, dan sesi gagal dengan kesalahan 401 lagi setelah token itu kedaluwarsa.1207* Jika Anda autentikasi dengan variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code terus mengirim nilai yang Anda atur setelah permintaan gagal dengan 401, daripada beralih ke token login yang disimpan. [`/status`](/docs/id/commands) menampilkan kredensial ini sebagai baris `Auth token` membaca `CLAUDE_CODE_OAUTH_TOKEN`. Hasilkan token baru dengan [`claude setup-token`](/docs/id/authentication#generate-a-long-lived-token) dan mulai ulang dengannya, atau batalkan pengaturan variabel dan jalankan `/login`. Sebelum v2.1.225, Claude Code dapat mengganti nilai variabel di tengah sesi dengan token akses berumur pendek dari login yang disimpan, dan sesi gagal dengan kesalahan 401 lagi setelah token itu kedaluwarsa.

1156* Untuk prompt berulang untuk masuk di seluruh peluncuran, lihat pemeriksaan jam sistem dan langkah pemulihan penyimpanan kredensial macOS dalam [Troubleshooting](/docs/id/troubleshoot-install#not-logged-in-or-token-expired)1208* Untuk prompt berulang untuk masuk di seluruh peluncuran, lihat pemeriksaan jam sistem dan langkah pemulihan penyimpanan kredensial macOS dalam [Troubleshooting](/docs/id/troubleshoot-install#not-logged-in-or-token-expired)

1157* Untuk kegagalan lainnya termasuk `403 Forbidden` dan masalah browser OAuth, lihat [Login dan autentikasi](/docs/id/troubleshoot-install#login-and-authentication)1209* Untuk kegagalan lainnya termasuk `403 Forbidden` dan masalah browser OAuth, lihat [Login dan autentikasi](/docs/id/troubleshoot-install#login-and-authentication)

1158 1210 


1168 1220 

1169**Yang harus dilakukan:**1221**Yang harus dilakukan:**

1170 1222 

1171* Jika `/status` menunjukkan baris `API key` yang tidak ditandai sebagai tidak digunakan, `ANTHROPIC_API_KEY` yang disetujui [`ANTHROPIC_API_KEY`](/docs/id/authentication#authentication-precedence) adalah kredensial aktif dan mengambil prioritas atas login Anda, jadi `/login` tidak menggantinya. Putar kunci di Claude Console, atau kembali ke langganan Anda dengan menjalankan `unset ANTHROPIC_API_KEY`, atau di PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`.1223* Jika `/status` menampilkan baris `API key` yang tidak ditandai sebagai tidak digunakan, `ANTHROPIC_API_KEY` yang disetujui]\(/id/authentication#authentication-precedence) adalah kredensial aktif dan mengambil prioritas atas login Anda, jadi `/login` tidak menggantinya. Putar kunci di Claude Console, atau kembali ke langganan Anda dengan menjalankan `unset ANTHROPIC_API_KEY`, atau di PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`.

1172* Jika `/status` hanya menunjukkan login Anda, jalankan `/login` sekali. Jika kredensial dicabut, login segar menggantinya.1224* Jika `/status` hanya menampilkan login Anda, jalankan `/login` sekali. Jika kredensial dicabut, login baru menggantinya.

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

1174* Jika [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) menunjuk ke [gateway LLM](/docs/id/llm-gateway), teks setelah `401` adalah pesan gateway Anda daripada Anthropic, dan `/login` tidak mengubahnya. Perbaiki kredensial yang diharapkan gateway Anda sebagai gantinya.1226* Jika [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) menunjuk ke [gateway LLM](/docs/id/llm-gateway), teks setelah `401` adalah pesan gateway Anda daripada Anthropic, dan `/login` tidak mengubahnya. Perbaiki kredensial yang diharapkan gateway Anda sebagai gantinya.

1175 1227 


1191Failed to authenticate: OAuth session expired and could not be refreshed1243Failed to authenticate: OAuth session expired and could not be refreshed

1192```1244```

1193 1245 

1194Ini bukan keadaan yang sama seperti [Token OAuth dicabut atau kedaluwarsa](#oauth-token-revoked-or-expired). Pesan-pesan itu melaporkan penolakan yang dikembalikan API. Claude Code sendiri menghasilkan `Login expired` untuk login yang sudah gagal diperbarui, jadi tidak mengirim permintaan. Ketika pembaruan gagal karena akun itu sendiri ditangguhkan daripada login yang sudah usang, Claude Code menunjukkan [Akun Anda ditahan](#your-account-is-on-hold) sebagai gantinya.1246Ini bukan keadaan yang sama seperti [Token OAuth dicabut atau kedaluwarsa](#oauth-token-revoked-or-expired). Pesan-pesan itu melaporkan penolakan yang dikembalikan API. Claude Code itu sendiri menghasilkan `Login expired` untuk login yang sudah gagal diperbarui, jadi tidak mengirim permintaan. Ketika pembaruan gagal karena akun itu sendiri ditangguhkan daripada login yang sudah lama, Claude Code menampilkan [Akun Anda ditahan](#your-account-is-on-hold) sebagai gantinya.

1195 1247 

1196Sesi yang diautentikasi dengan kunci API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/id/env-vars), atau penyedia pihak ketiga tidak menggunakan login yang disimpan dan tidak pernah melihat pesan ini.1248Sesi yang diautentikasi dengan kunci API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/id/env-vars), atau penyedia pihak ketiga tidak menggunakan login yang disimpan dan tidak pernah melihat pesan ini.

1197 1249 

1198Anda dapat memeriksa keadaan ini sebelum permintaan gagal: [`/status`](/docs/id/commands) menunjukkan baris `Login` membaca `Expired — log in again`, ditambah organisasi dan email yang disimpannya untuk login yang kedaluwarsa. Baris muncul hanya ketika login yang disimpan adalah kredensial aktif Anda dan tidak dapat lagi disegarkan. Sesi yang diautentikasi dengan cara lain tidak menunjukkan baris, bahkan jika login yang kedaluwarsa tetap disimpan. Sebelum v2.1.210, `/status` tidak memberikan indikasi dalam keadaan ini bahwa login pernah ada, karena kredensial yang dihapus meninggalkannya tidak ada untuk dilaporkan.1250Anda dapat memeriksa keadaan ini sebelum permintaan gagal: [`/status`](/docs/id/commands) menampilkan baris `Login` membaca `Expired — log in again`, ditambah organisasi dan email yang disimpannya untuk login yang kedaluwarsa. Baris muncul hanya ketika login yang disimpan adalah kredensial aktif Anda dan tidak dapat lagi disegarkan. Sesi yang diautentikasi dengan cara lain tidak menampilkan baris, bahkan jika login yang kedaluwarsa tetap disimpan. Sebelum v2.1.210, `/status` tidak memberikan indikasi dalam keadaan ini bahwa login pernah ada, karena kredensial yang dihapus meninggalkannya tidak ada untuk dilaporkan.

1199 1251 

1200**Yang harus dilakukan:**1252**Yang harus dilakukan:**

1201 1253 

1202* Jalankan `/login` untuk masuk lagi. Mencoba lagi tanpa masuk menunjukkan pesan yang sama pada setiap permintaan.1254* Jalankan `/login` untuk masuk lagi. Mencoba lagi tanpa masuk menampilkan pesan yang sama pada setiap permintaan.

1203* 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 [hasilkan token berumur panjang dengan `claude setup-token`](/docs/id/authentication#generate-a-long-lived-token).1255* 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 [hasilkan token berumur panjang dengan `claude setup-token`](/docs/id/authentication#generate-a-long-lived-token).

1204* Jika masuk terus gagal, lihat [Login dan autentikasi](/docs/id/troubleshoot-install#login-and-authentication)1256* Jika masuk terus gagal, lihat [Login dan autentikasi](/docs/id/troubleshoot-install#login-and-authentication)

1205 1257 

1258<h3 id="could-not-refresh-your-login">

1259 Tidak dapat menyegarkan login Anda karena proses Claude Code lain menyegarkannya

1260</h3>

1261 

1262Pesan ini tidak berarti login Anda ditolak. Login claude.ai yang disimpan kedaluwarsa dan perlu diperbarui. Proses Claude Code lain di mesin yang sama menahan kunci penyegaran bersama, atau keluar dan meninggalkannya, dan penyegaran tidak membuat kemajuan saat sesi ini menunggu. Claude Code menghentikan permintaan sebelum mengirimnya:

1263 

1264```text theme={null}

1265Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login

1266```

1267 

1268Dalam [mode non-interaktif](/docs/id/headless) (`-p`) dan [Agent SDK](/docs/id/agent-sdk/overview), pesan berbunyi sebagai berikut, dan kode kesalahan terstruktur adalah `server_error`:

1269 

1270```text theme={null}

1271Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again

1272```

1273 

1274Sesi yang diautentikasi dengan kunci API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/id/env-vars), atau penyedia pihak ketiga tidak menggunakan login yang disimpan dan tidak pernah melihat pesan ini.

1275 

1276**Yang harus dilakukan:**

1277 

1278* Coba lagi dalam satu menit. Jika proses lain menyelesaikan penyegaran terlebih dahulu, sesi ini menggunakan login yang diperbarui.

1279* Jika pesan terus kembali, tutup jendela dan proses Claude Code lainnya, kemudian coba lagi.

1280* Jika kembali tanpa proses Claude Code lain yang berjalan, jalankan `/login`. Masuk lagi tidak menunggu kunci penyegaran.

1281 

1282<h3 id="couldnt-save-your-login">

1283 Tidak dapat menyimpan login Anda

1284</h3>

1285 

1286Anda masuk dengan claude.ai, tetapi Claude Code tidak dapat menyimpan login ke penyimpanan kredensialnya, jadi login tidak selesai. Di macOS ini dapat terjadi ketika keychain login terkunci, misalnya saat tidur atau menganggur, setelah Claude Code sudah membaca atau menyimpan kredensial di dalamnya selama sesi yang sama.

1287 

1288```text theme={null}

1289Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.

1290Couldn't save your login. Try logging in again.

1291```

1292 

1293Bentuk pertama muncul di macOS dan yang kedua di mana-mana. Kegagalan penyimpanan kredensial sementara, seperti timeout atau penyimpanan yang tidak dapat dibaca, menghasilkan pesan yang sama.

1294 

1295**Yang harus dilakukan:**

1296 

1297* Di macOS, buka kunci keychain login, kemudian jalankan `/login` lagi

1298* Di platform lain, jalankan `/login` lagi

1299* Jika login masih tidak menyimpan, lihat [Belum masuk atau token kedaluwarsa](/docs/id/troubleshoot-install#not-logged-in-or-token-expired) untuk perintah buka kunci keychain dan langkah pemulihan penyimpanan kredensial lainnya

1300 

1206<h3 id="claude-login-not-accepted">1301<h3 id="claude-login-not-accepted">

1207 Login Claude tidak diterima1302 Login Claude tidak diterima

1208</h3>1303</h3>


1223 Artefak memerlukan login claude.ai1318 Artefak memerlukan login claude.ai

1224</h3>1319</h3>

1225 1320 

1226Claude Code menolak [artefak](/docs/id/artifacts) publikasi atau baca karena sesi tidak memiliki login claude.ai yang dapat digunakan untuk artefak.1321Claude Code menolak publikasi atau pembacaan [artefak](/docs/id/artifacts) karena sesi tidak memiliki login claude.ai yang dapat digunakan untuk artefak.

1227 1322 

1228Setiap bentuk pesan dimulai dengan kata-kata yang sama, diikuti dengan solusi yang tergantung pada cara sesi Anda autentikasi. Tanpa kredensial yang bersaing, itu berbunyi:1323Setiap bentuk pesan dimulai dengan kata-kata yang sama, diikuti dengan solusi yang tergantung pada cara sesi Anda autentikasi. Tanpa kredensial yang bersaing, itu berbunyi:

1229 1324 


1237* Ketika pesan menamai kredensial yang mengambil prioritas, seperti `ANTHROPIC_API_KEY`, pengaturan `apiKeyHelper`, atau kunci Console yang disimpan oleh `/login` sebelumnya, hapus dengan cara yang dikatakan pesan, kemudian jalankan `/login`1332* Ketika pesan menamai kredensial yang mengambil prioritas, seperti `ANTHROPIC_API_KEY`, pengaturan `apiKeyHelper`, atau kunci Console yang disimpan oleh `/login` sebelumnya, hapus dengan cara yang dikatakan pesan, kemudian jalankan `/login`

1238* Ketika pesan mengatakan sesi jarak jauh ini autentikasi melalui mesin yang meluncurkannya, masuk ke claude.ai di mesin itu, kemudian hubungkan kembali sesi1333* Ketika pesan mengatakan sesi jarak jauh ini autentikasi melalui mesin yang meluncurkannya, masuk ke claude.ai di mesin itu, kemudian hubungkan kembali sesi

1239* Ketika pesan mengatakan kredensial disuntikkan oleh lingkungan host sesi, Anda tidak dapat mengubahnya dalam sesi itu; mulai sesi yang masuk ke claude.ai1334* Ketika pesan mengatakan kredensial disuntikkan oleh lingkungan host sesi, Anda tidak dapat mengubahnya dalam sesi itu; mulai sesi yang masuk ke claude.ai

1240* Lihat [Ketersediaan](/docs/id/artifacts#availability) untuk persyaratan lain yang dimiliki artefak, seperti paket, penyedia model, dan kebijakan organisasi1335* Lihat [Ketersediaan](/docs/id/artifacts#availability) untuk persyaratan lain yang dimiliki artefak, seperti rencana, penyedia model, dan kebijakan organisasi

1241 1336 

1242<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1337<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1243 Kebijakan administrator memerlukan masuk Cloud gateway1338 Kebijakan administrator memerlukan masuk Cloud gateway

1244</h3>1339</h3>

1245 1340 

1246Pengaturan [terkelola](/docs/id/managed-settings) administrator di mesin ini menetapkan [`forceLoginMethod`](/docs/id/settings-reference#forceloginmethod) ke `"gateway"` atau menetapkan [`forceLoginGatewayUrl`](/docs/id/settings-reference#forcelogingatewayurl). Kecuali Anda memilih penyedia cloud melalui variabel seperti `CLAUDE_CODE_USE_BEDROCK`, Claude Code kemudian hanya menerima masuk [gateway aplikasi Claude](/docs/id/claude-apps-gateway). Anda melihat salah satu dari dua pesan:1341Pengaturan [managed settings](/docs/id/managed-settings) administrator di mesin ini menetapkan [`forceLoginMethod`](/docs/id/settings-reference#forceloginmethod) ke `"gateway"` atau menetapkan [`forceLoginGatewayUrl`](/docs/id/settings-reference#forcelogingatewayurl). Kecuali Anda memilih penyedia cloud melalui variabel seperti `CLAUDE_CODE_USE_BEDROCK`, Claude Code kemudian hanya menerima masuk [gateway aplikasi Claude](/docs/id/claude-apps-gateway). Anda melihat salah satu dari dua pesan:

1247 1342 

1248```text theme={null}1343```text theme={null}

1249Not signed in to the Cloud gateway — run /login.1344Not signed in to the Cloud gateway — run /login.


1251 1346 

1252Permintaan model gagal dengan pesan ini ketika sesi tidak memiliki masuk gateway, misalnya karena Anda belum menjalankan `/login` sejak kebijakan mencapai mesin.1347Permintaan model gagal dengan pesan ini ketika sesi tidak memiliki masuk gateway, misalnya karena Anda belum menjalankan `/login` sejak kebijakan mencapai mesin.

1253 1348 

1254Jika Anda juga memiliki kredensial `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` yang dikonfigurasi dan pengaturan terkelola menetapkan `forceLoginMethod`, Claude Code keluar saat startup sebagai gantinya dengan pesan yang dimulai:1349Jika mesin juga menyimpan kredensial yang diterbitkan Anthropic dan pengaturan yang dikelola menetapkan `forceLoginMethod` atau `forceLoginOrgUUID`, Claude Code keluar saat startup sebagai gantinya. Kredensial itu dapat berupa variabel `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN`, pengaturan `apiKeyHelper`, atau kunci API yang disimpan oleh login Claude Console sebelumnya. Pesan dimulai:

1255 1350 

1256```text theme={null}1351```text theme={null}

1257Administrator policy requires a Cloud gateway sign-in on this machine; the1352Administrator policy requires a Cloud gateway sign-in on this machine; the


1262**Yang harus dilakukan:**1357**Yang harus dilakukan:**

1263 1358 

1264* Jalankan `/login` dan selesaikan masuk di layar **Cloud gateway**1359* Jalankan `/login` dan selesaikan masuk di layar **Cloud gateway**

1265* Untuk pesan startup, hapus pengaturan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` yang Anda konfigurasi, kemudian mulai `claude` dan jalankan `/login`1360* Untuk pesan startup, hapus `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau pengaturan `apiKeyHelper` yang Anda konfigurasikan. Untuk menghapus kunci API Console yang disimpan, jalankan `claude auth logout`, yang juga menghapus login claude.ai yang disimpan. Jika Anda memilih penyedia cloud dengan `CLAUDE_CODE_USE_*`, sesi kemudian dimulai tanpa masuk. Jika tidak, mulai `claude` dan jalankan `/login`

1266* Jika Anda percaya mesin tidak boleh memerlukan gateway, minta administrator yang mengelolanya untuk menghapus `forceLoginMethod` dan `forceLoginGatewayUrl` dari pengaturan terkelolanya1361* Jika Anda percaya mesin tidak boleh memerlukan gateway, minta administrator yang mengelolanya untuk menghapus `forceLoginMethod` dan `forceLoginGatewayUrl` dari pengaturan yang dikelolanya

1267 1362 

1268Pada v2.1.265, regresi juga menunjukkan pesan pertama dalam beberapa konfigurasi gateway LLM dan proxy yang autentikasi dengan kunci API, `apiKeyHelper`, atau header khusus, bahkan tanpa persyaratan administrator di mesin. Perbarui ke v2.1.266 atau lebih baru. Anda tidak perlu mengubah konfigurasi Anda.1363Pada v2.1.265, regresi juga menampilkan pesan pertama dalam beberapa konfigurasi gateway LLM dan proxy yang autentikasi dengan kunci API, `apiKeyHelper`, atau header khusus, bahkan tanpa persyaratan administrator di mesin. Perbarui ke v2.1.266 atau lebih baru. Anda tidak perlu mengubah konfigurasi Anda.

1269 1364 

1270Sebelum v2.1.261, pada mesin yang menetapkan `forceLoginMethod` ke `"gateway"`, Claude Code menggunakan login yang disimpan sisa daripada gagal permintaan model, dan melaporkan kredensial lingkungan yang dikonfigurasi dengan `This machine's managed settings require a first-party login` daripada pesan startup. Sebelum v2.1.265, mesin yang pengaturan terkelolanya hanya menetapkan `forceLoginGatewayUrl` tidak memerlukan masuk gateway, dan Claude Code menggunakan kredensial sisa di sana.1365Sebelum v2.1.261, pada mesin yang menetapkan `forceLoginMethod` ke `"gateway"`, Claude Code menggunakan login yang disimpan sisa daripada gagal permintaan model, dan melaporkan kredensial lingkungan yang dikonfigurasi dengan `This machine's managed settings require a first-party login` daripada pesan startup. Sebelum v2.1.265, mesin yang pengaturan yang dikelolanya hanya menetapkan `forceLoginGatewayUrl` tidak memerlukan masuk gateway, dan Claude Code menggunakan kredensial sisa di sana.

1271 1366 

1272<h3 id="your-account-is-on-hold">1367<h3 id="your-account-is-on-hold">

1273 Akun Anda ditahan1368 Akun Anda ditahan

1274</h3>1369</h3>

1275 1370 

1276Akun Claude di balik login Anda telah ditangguhkan. Claude Code menunjukkan pesan pertama ketika mencoba memperbarui login yang disimpan dan mempelajari tentang penahan, dan yang kedua ketika masuk yang Anda selesaikan di browser melaporkannya:1371Akun Claude di balik login Anda telah ditangguhkan. Claude Code menampilkan pesan pertama ketika mencoba memperbarui login yang disimpan dan mempelajari tentang penahan, dan yang kedua ketika masuk yang Anda selesaikan di browser melaporkannya:

1277 1372 

1278```text theme={null}1373```text theme={null}

1279Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1374Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted

1280Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted1375Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted

1281```1376```

1282 1377 

1283Masuk lagi dengan akun yang sama tidak menghapus pesan, karena penahan ada di akun daripada login. Dalam [mode non-interaktif](/docs/id/headless) (`-p`) dan [Agent SDK](/docs/id/agent-sdk/overview), kode kesalahan terstruktur adalah `account_on_hold`. Sebelum v2.1.235, Claude Code melaporkan akun yang ditahan sebagai [Login kedaluwarsa · Silakan jalankan /login](#login-expired), yang langkah pemulihan tidak dapat menghapus penahan.1378Masuk lagi dengan akun yang sama tidak menghapus pesan, karena penahan ada di akun daripada login. Dalam [mode non-interaktif](/docs/id/headless) (`-p`) dan [Agent SDK](/docs/id/agent-sdk/overview), kode kesalahan terstruktur adalah `account_on_hold`. Sebelum v2.1.235, Claude Code melaporkan akun yang ditahan sebagai [Login kedaluwarsa · Jalankan /login](#login-expired), yang langkah pemulihannya tidak dapat menghapus penahan.

1284 1379 

1285**Yang harus dilakukan:**1380**Yang harus dilakukan:**

1286 1381 


1291 Login profil Anthropic kedaluwarsa1386 Login profil Anthropic kedaluwarsa

1292</h3>1387</h3>

1293 1388 

1294Claude Code mengautentikasi melalui profil kredensial Anthropic yang kredensial login yang disimpan telah kedaluwarsa, dan profil tidak menyimpan kredensial penyegaran yang dapat digunakan Claude Code untuk memperbarui. Claude Code menghentikan setiap permintaan secara lokal tanpa mencoba lagi, karena percobaan lagi akan membaca kredensial yang sama yang kedaluwarsa.1389Claude Code autentikasi melalui profil kredensial Anthropic yang kredensial login yang disimpannya kedaluwarsa, dan profil tidak menyimpan kredensial penyegaran yang dapat digunakan Claude Code untuk memperbarui. Claude Code menghentikan setiap permintaan secara lokal tanpa mencoba ulang, karena percobaan ulang akan membaca kredensial yang sama yang kedaluwarsa.

1295 1390 

1296```text theme={null}1391```text theme={null}

1297Anthropic profile login expired · Re-authenticate your Anthropic profile1392Anthropic profile login expired · Re-authenticate your Anthropic profile


1300 1395 

1301Ini muncul hanya ketika kredensial aktif berasal dari profil kredensial Anthropic, yang Anda pilih dengan variabel lingkungan `ANTHROPIC_PROFILE`, yang Claude Code temukan sebagai profil aktif di direktori konfigurasi Anthropic Anda, atau yang Claude Code tulis ketika Anda [masuk tanpa kunci API](/docs/id/authentication#sign-in-without-an-api-key). Sesi yang autentikasi dengan opsi claude.ai `/login`, kunci API, token pembawa seperti `ANTHROPIC_AUTH_TOKEN`, atau penyedia pihak ketiga tidak pernah melihat pesan ini.1396Ini muncul hanya ketika kredensial aktif berasal dari profil kredensial Anthropic, yang Anda pilih dengan variabel lingkungan `ANTHROPIC_PROFILE`, yang Claude Code temukan sebagai profil aktif di direktori konfigurasi Anthropic Anda, atau yang Claude Code tulis ketika Anda [masuk tanpa kunci API](/docs/id/authentication#sign-in-without-an-api-key). Sesi yang autentikasi dengan opsi claude.ai `/login`, kunci API, token pembawa seperti `ANTHROPIC_AUTH_TOKEN`, atau penyedia pihak ketiga tidak pernah melihat pesan ini.

1302 1397 

1303Pada mesin yang [menawarkan masuk tanpa kunci](/docs/id/authentication#sign-in-without-an-api-key), jalankan `/login`, pilih akun Anthropic Console, dan masuk lagi untuk memperbarui profil yang ditulis oleh masuk Console tanpa kunci atau CLI Platform Claude `ant auth login`. Claude Code mengganti kredensial yang kedaluwarsa dalam profil itu. Untuk profil federasi atau yang dibuat alat lain, `/login` tidak memperbarui kredensial. Bentuk mana yang Anda lihat tergantung pada apakah Anda memilih profil atau Claude Code menemukannya:1398Di mesin yang [menawarkan masuk tanpa kunci](/docs/id/authentication#sign-in-without-an-api-key), jalankan `/login`, pilih akun Anthropic Console, dan masuk lagi untuk memperbarui profil yang ditulis oleh masuk Console tanpa kunci atau CLI Platform Claude `ant auth login`. Claude Code mengganti kredensial yang kedaluwarsa dalam profil itu. Untuk profil federasi atau yang dibuat alat lain, `/login` tidak memperbarui kredensial. Bentuk mana yang Anda lihat tergantung pada apakah Anda memilih profil atau Claude Code menemukannya:

1304 1399 

1305* Ketika Anda menetapkan `ANTHROPIC_PROFILE` secara eksplisit, pesan berakhir dengan `Re-authenticate your Anthropic profile`.1400* Ketika Anda menetapkan `ANTHROPIC_PROFILE` secara eksplisit, pesan berakhir dengan `Re-authenticate your Anthropic profile`.

1306* Ketika Claude Code menemukan profil dari direktori konfigurasi Anda, pesan menawarkan `/login`, karena Claude Code memberikan prioritas `/login` yang berfungsi atas profil yang ditemukan dan kemudian autentikasi dengan akun claude.ai atau Console Anda sebagai gantinya. Sebelum v2.1.234, Claude Code menunjukkan bentuk `Re-authenticate your Anthropic profile` dalam kasus ini juga.1401* Ketika Claude Code menemukan profil dari direktori konfigurasi Anda, pesan menawarkan `/login`, karena Claude Code memberikan prioritas `/login` yang berfungsi atas profil yang ditemukan dan kemudian autentikasi dengan akun claude.ai atau Console Anda sebagai gantinya. Sebelum v2.1.234, Claude Code menampilkan bentuk `Re-authenticate your Anthropic profile` dalam kasus ini juga.

1307 1402 

1308**Yang harus dilakukan:**1403**Yang harus dilakukan:**

1309 1404 

1310* Masuk ke profil lagi, kemudian coba lagi: pada mesin yang [menawarkan masuk tanpa kunci](/docs/id/authentication#sign-in-without-an-api-key), jalankan `/login` dan pilih akun Anthropic Console untuk profil yang ditulis oleh masuk Console tanpa kunci atau CLI Platform Claude `ant auth login`; untuk profil lain, gunakan alat yang membuatnya1405* Masuk ke profil lagi, kemudian coba ulang: di mesin yang [menawarkan masuk tanpa kunci](/docs/id/authentication#sign-in-without-an-api-key), jalankan `/login` dan pilih akun Anthropic Console untuk profil yang ditulis oleh masuk Console tanpa kunci atau CLI Platform Claude `ant auth login`; untuk profil lain, gunakan alat yang membuatnya

1311* Jika administrator menyediakan kredensial profil, minta mereka untuk mengeluarkan yang baru1406* Jika administrator memprovisikan kredensial profil, minta mereka untuk mengeluarkan yang baru

1312* Jalankan `/status` untuk mengonfirmasi sumber kredensial aktif dan nama profil1407* Jalankan `/status` untuk mengonfirmasi sumber kredensial aktif dan nama profil

1313* Untuk berhenti menggunakan profil, batalkan pengaturan `ANTHROPIC_PROFILE` jika Anda menetapkannya, kemudian autentikasi dengan cara lain, seperti `/login` atau `ANTHROPIC_API_KEY`1408* Untuk berhenti menggunakan profil, batalkan pengaturan `ANTHROPIC_PROFILE` jika Anda menetapkannya, kemudian autentikasi dengan cara lain, seperti `/login` atau `ANTHROPIC_API_KEY`

1314 1409 


1316 Persyaratan cakupan OAuth1411 Persyaratan cakupan OAuth

1317</h3>1412</h3>

1318 1413 

1319Token yang disimpan mendahului cakupan izin yang dibutuhkan fitur yang lebih baru. Anda melihat ini paling sering dari `/usage` dan indikator penggunaan baris status:1414Token yang disimpan mendahului cakupan izin yang diperlukan fitur yang lebih baru. Anda melihat ini paling sering dari `/usage` dan indikator penggunaan baris status:

1320 1415 

1321```text theme={null}1416```text theme={null}

1322OAuth token does not meet scope requirement: user:profile1417OAuth token does not meet scope requirement: user:profile


1330 claude.ai menolak token sesi1425 claude.ai menolak token sesi

1331</h3>1426</h3>

1332 1427 

1333Permintaan [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) gagal karena claude.ai menolak token dari login Claude Code Anda, biasanya login yang kedaluwarsa dan tidak dapat disegarkan. Token yang ditolak adalah login Anda, bukan otorisasi konektor sendiri di claude.ai, jadi mengotorisasi konektor lagi tidak menyelesaikannya. Dalam `/mcp`, konektor menunjukkan sebagai `connected · session token rejected` dan tampilan detailnya berbunyi:1428Permintaan [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) gagal karena claude.ai menolak token dari login Claude Code Anda, biasanya login yang kedaluwarsa dan tidak dapat disegarkan. Token yang ditolak adalah login Anda, bukan otorisasi konektor sendiri di claude.ai, jadi mengotorisasi konektor lagi tidak menyelesaikannya. Dalam `/mcp`, konektor menampilkan sebagai `connected · session token rejected` dan tampilan detailnya berbunyi:

1334 1429 

1335```text theme={null}1430```text theme={null}

1336claude.ai rejected the session token. Run /login, then reconnect.1431claude.ai rejected the session token. Run /login, then reconnect.


1347 Server MCP memerlukan Anda untuk masuk lagi1442 Server MCP memerlukan Anda untuk masuk lagi

1348</h3>1443</h3>

1349 1444 

1350Server [MCP](/docs/id/mcp) jarak jauh menolak kredensial pada panggilan alat di tengah sesi, biasanya karena masuk atau token kedaluwarsa atau karena token kekurangan izin yang dibutuhkan alat. Panggilan alat gagal, dan `/mcp` menandai server sebagai [memerlukan autentikasi](/docs/id/mcp#authenticate-with-remote-mcp-servers).1445Server [MCP](/docs/id/mcp) jarak jauh menolak kredensial pada panggilan alat di tengah sesi, biasanya karena masuk atau token kedaluwarsa atau karena token kekurangan izin yang diperlukan alat. Panggilan alat gagal, dan `/mcp` menandai server sebagai [memerlukan autentikasi](/docs/id/mcp#authenticate-with-remote-mcp-servers).

1351 1446 

1352Untuk server yang Anda masuki dari Claude Code, termasuk konektor claude.ai, masuk kedaluwarsa atau dicabut:1447Untuk server yang Anda masuki dari Claude Code, termasuk konektor claude.ai, masuk kedaluwarsa atau dicabut:

1353 1448 


1357 1452 

1358Jalankan `/mcp`, pilih server, dan masuk lagi dari menunya.1453Jalankan `/mcp`, pilih server, dan masuk lagi dari menunya.

1359 1454 

1360Untuk server yang dikonfigurasi dengan skrip [`headersHelper`](/docs/id/mcp#use-dynamic-headers-for-custom-authentication), Claude Code sudah menjalankan kembali pembantu dan mencoba lagi panggilan sekali sebelum menunjukkan ini:1455Untuk server yang dikonfigurasi dengan skrip [`headersHelper`](/docs/id/mcp#use-dynamic-headers-for-custom-authentication), Claude Code sudah menjalankan kembali helper dan mencoba ulang panggilan sekali sebelum menampilkan ini:

1361 1456 

1362```text theme={null}1457```text theme={null}

1363MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)1458MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)

1364```1459```

1365 1460 

1366Periksa bahwa pembantu mengembalikan kredensial yang diterima server, kemudian hubungkan kembali dari `/mcp`, yang menjalankan pembantu lagi.1461Periksa bahwa helper mengembalikan kredensial yang diterima server, kemudian hubungkan kembali dari `/mcp`, yang menjalankan helper lagi.

1367 1462 

1368Untuk server dengan header `Authorization` statis dalam konfigurasinya:1463Untuk server dengan header `Authorization` statis dalam konfigurasinya:

1369 1464 


1373 1468 

1374Perbarui nilai header tempat server dikonfigurasi, kemudian hubungkan kembali dari `/mcp`.1469Perbarui nilai header tempat server dikonfigurasi, kemudian hubungkan kembali dari `/mcp`.

1375 1470 

1376Sebelum v2.1.273, kasus masuk yang kedaluwarsa, `headersHelper`, dan header `Authorization` semuanya menunjukkan `MCP server "<name>" requires re-authorization (token expired)`.1471Sebelum v2.1.273, kasus masuk yang kedaluwarsa, `headersHelper`, dan header `Authorization` semuanya menampilkan `MCP server "<name>" requires re-authorization (token expired)`.

1377 1472 

1378Server juga dapat menolak panggilan alat dengan HTTP 403 `insufficient_scope` untuk meminta Anda mengotorisasi cakupan, kadang-kadang yang sudah tercantum dalam token Anda. Pesan menamai cakupan itu:1473Server juga dapat menolak panggilan alat dengan HTTP 403 `insufficient_scope` untuk meminta Anda mengotorisasi cakupan, kadang-kadang yang sudah tercantum dalam token Anda. Pesan menamai cakupan itu:

1379 1474 


1385 1480 

1386Ketika konfigurasi server tidak menetapkan [`oauth.scopes`](/docs/id/mcp#restrict-oauth-scopes) atau [`authServerMetadataUrl`](/docs/id/mcp#override-oauth-metadata-discovery), Claude Code meminta cakupan yang dinamai server. Dengan pengaturan apa pun, Claude Code meminta cakupan pengaturan itu sebagai gantinya. Jika Anda menyematkan `oauth.scopes`, tambahkan cakupan yang hilang ke daftar itu sebelum Anda autentikasi lagi.1481Ketika konfigurasi server tidak menetapkan [`oauth.scopes`](/docs/id/mcp#restrict-oauth-scopes) atau [`authServerMetadataUrl`](/docs/id/mcp#override-oauth-metadata-discovery), Claude Code meminta cakupan yang dinamai server. Dengan pengaturan apa pun, Claude Code meminta cakupan pengaturan itu sebagai gantinya. Jika Anda menyematkan `oauth.scopes`, tambahkan cakupan yang hilang ke daftar itu sebelum Anda autentikasi lagi.

1387 1482 

1388Sebelum v2.1.274, kasus ini menunjukkan pesan `needs you to sign in again`, dan sebelum v2.1.273 itu menunjukkan `requires re-authorization (token expired)` seperti kasus lainnya.1483Sebelum v2.1.274, kasus ini menampilkan pesan `needs you to sign in again`, dan sebelum v2.1.273 itu menampilkan `requires re-authorization (token expired)` seperti kasus lainnya.

1389 1484 

1390<h3 id="issuer-mismatch-in-authorization-response">1485<h3 id="issuer-mismatch-in-authorization-response">

1391 Ketidakcocokan penerbit dalam respons otorisasi1486 Ketidaksesuaian penerbit dalam respons otorisasi

1392</h3>1487</h3>

1393 1488 

1394Selama [masuk OAuth MCP](/docs/id/mcp#authenticate-with-remote-mcp-servers), server otorisasi dialihkan kembali ke Claude Code dengan parameter `iss` yang tidak menamai penerbit yang diharapkan Claude Code dari metadata OAuth server. Penerbit yang salah pada langkah ini adalah bagaimana serangan pencampuran server otorisasi terlihat, jadi Claude Code gagal masuk daripada menukar kode otorisasi. Claude Code menunjukkan kesalahan dalam menu server `/mcp` setelah masuk browser:1489Selama [masuk OAuth MCP](/docs/id/mcp#authenticate-with-remote-mcp-servers), server otorisasi dialihkan kembali ke Claude Code dengan parameter `iss` yang tidak menamai penerbit yang diharapkan Claude Code dari metadata OAuth server. Penerbit yang salah pada langkah ini adalah bagaimana serangan pencampuran server otorisasi terlihat, jadi Claude Code gagal masuk daripada menukar kode otorisasi. Claude Code menampilkan kesalahan dalam menu server `/mcp` setelah masuk browser:

1395 1490 

1396```text theme={null}1491```text theme={null}

1397Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"1492Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"


1423 1518 

1424**Yang harus dilakukan:**1519**Yang harus dilakukan:**

1425 1520 

1426* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda1521* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba ulang, atau hubungi administrator Anda

1427* Jika [`awsAuthRefresh`](/docs/id/amazon-bedrock#advanced-credential-configuration) diatur, jalankan perintah yang dinamai dalam pesan, seperti `aws sso login --profile myprofile`, di terminal lain dan selesaikan masuk browser, kemudian coba lagi. Jika tidak, segarkan kredensial AWS yang Anda gunakan sendiri: masuk SSO, kunci akses, kunci API, atau token proxy Anda1522* Jika [`awsAuthRefresh`](/docs/id/amazon-bedrock#advanced-credential-configuration) diatur, jalankan perintah yang dinamai dalam pesan, seperti `aws sso login --profile myprofile`, di terminal lain dan selesaikan masuk browser, kemudian coba ulang. Jika tidak, segarkan kredensial AWS yang Anda gunakan sendiri: masuk SSO, kunci akses, kunci API, atau token proxy Anda

1428* Dengan `awsAuthRefresh` diatur dalam sesi interaktif, Anda dapat menjalankan `/login`, pilih **3rd-party platform**, kemudian pilih **Claude Platform on AWS · refresh credentials** di bawah **Using 3rd-party platforms** untuk menjalankan perintah yang sama tanpa memulai ulang Claude Code. Lihat [Konfigurasi kredensial AWS](/docs/id/claude-platform-on-aws#1-configure-aws-credentials)1523* Dengan `awsAuthRefresh` diatur dalam sesi interaktif, Anda dapat menjalankan `/login`, pilih **3rd-party platform**, kemudian pilih **Claude Platform on AWS · refresh credentials** di bawah **Using 3rd-party platforms** untuk menjalankan perintah yang sama tanpa memulai ulang Claude Code. Lihat [Konfigurasi kredensial AWS](/docs/id/claude-platform-on-aws#1-configure-aws-credentials)

1429* Jika kesalahan berulang setelah perintah penyegaran berhasil, konfirmasi identitas valid di luar Claude Code dengan `aws sts get-caller-identity` di shell dan profil yang sama1524* Jika kesalahan berulang setelah perintah penyegaran berhasil, konfirmasi identitas valid di luar Claude Code dengan `aws sts get-caller-identity` di shell dan profil yang sama

1430 1525 


1438 1533 

1439401 dari Amazon Bedrock juga mendarat di sini daripada di bawah [Kredensial AWS kedaluwarsa atau tidak valid](#aws-credentials-expired-or-invalid), karena Amazon Bedrock tidak melaporkan token yang kedaluwarsa sebagai 401. 401 dari titik akhir itu biasanya berasal dari sesuatu yang lain dalam jalur permintaan, seperti proxy perusahaan.1534401 dari Amazon Bedrock juga mendarat di sini daripada di bawah [Kredensial AWS kedaluwarsa atau tidak valid](#aws-credentials-expired-or-invalid), karena Amazon Bedrock tidak melaporkan token yang kedaluwarsa sebagai 401. 401 dari titik akhir itu biasanya berasal dari sesuatu yang lain dalam jalur permintaan, seperti proxy perusahaan.

1440 1535 

1441Penyegaran kredensial memperbaiki token yang kedaluwarsa dan tidak dapat memperbaiki penyebab lain, jadi pesan menawarkan keduanya:1536Penyegaran kredensial memperbaiki token yang kedaluwarsa dan tidak dapat memperbaiki penyebab lainnya, jadi pesan menawarkan keduanya:

1442 1537 

1443```text theme={null}1538```text theme={null}

1444AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...1539AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...


1452 1547 

1453**Yang harus dilakukan:**1548**Yang harus dilakukan:**

1454 1549 

1455* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda1550* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba ulang, atau hubungi administrator Anda

1456* Segarkan kredensial AWS Anda jika kredensial yang kedaluwarsa adalah penyebabnya: jalankan perintah [`awsAuthRefresh`](/docs/id/amazon-bedrock#advanced-credential-configuration) yang dinamai dalam pesan ketika satu diatur, atau segarkan masuk SSO, kunci akses, kunci API, atau token proxy Anda sendiri1551* Segarkan kredensial AWS Anda jika kredensial yang kedaluwarsa mungkin menjadi penyebabnya: jalankan perintah [`awsAuthRefresh`](/docs/id/amazon-bedrock#advanced-credential-configuration) yang dinamai dalam pesan ketika satu diatur, atau segarkan masuk SSO, kunci akses, kunci API, atau token proxy Anda sendiri

1457* Jika kredensial Anda saat ini, konfirmasi izin IAM dalam [Konfigurasi IAM](/docs/id/amazon-bedrock#iam-configuration) dilampirkan ke identitas yang Anda gunakan dan model yang dipilih diaktifkan untuk akun dan wilayah Anda1552* Jika kredensial Anda saat ini, konfirmkan izin IAM dalam [Konfigurasi IAM](/docs/id/amazon-bedrock#iam-configuration) dilampirkan ke identitas yang Anda gunakan dan model yang dipilih diaktifkan untuk akun dan wilayah Anda

1458* Jalankan `aws sts get-caller-identity` untuk mengonfirmasi identitas mana yang digunakan permintaan Anda; profil `AWS_PROFILE` yang sudah usang atau profil default adalah penyebab umum ketidakcocokan izin1553* Jalankan `aws sts get-caller-identity` untuk mengonfirmasi identitas mana yang digunakan permintaan Anda; `AWS_PROFILE` lama atau profil default adalah penyebab umum ketidaksesuaian izin

1459 1554 

1460<h3 id="google-cloud-credentials-expired-or-invalid">1555<h3 id="google-cloud-credentials-expired-or-invalid">

1461 Kredensial Google Cloud kedaluwarsa atau tidak valid1556 Kredensial Google Cloud kedaluwarsa atau tidak valid


1471 1566 

1472**Yang harus dilakukan:**1567**Yang harus dilakukan:**

1473 1568 

1474* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda1569* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba ulang, atau hubungi administrator Anda

1475* Jika Anda autentikasi dengan kredensial default aplikasi, jalankan perintah [`gcpAuthRefresh`](/docs/id/google-vertex-ai#advanced-credential-configuration) yang dinamai dalam pesan, atau `gcloud auth application-default login`, dan selesaikan masuk, kemudian coba lagi1570* Jika Anda autentikasi dengan kredensial default aplikasi, jalankan perintah [`gcpAuthRefresh`](/docs/id/google-vertex-ai#advanced-credential-configuration) yang dinamai dalam pesan, atau `gcloud auth application-default login`, dan selesaikan masuk, kemudian coba ulang

1476* Jika Anda merutekan melalui [gateway LLM](/docs/id/llm-gateway) dengan `CLAUDE_CODE_SKIP_VERTEX_AUTH` diatur, segarkan token gateway dalam `ANTHROPIC_AUTH_TOKEN` atau `ANTHROPIC_CUSTOM_HEADERS`, kemudian coba lagi1571* Jika Anda merutekan melalui [gateway LLM](/docs/id/llm-gateway) dengan `CLAUDE_CODE_SKIP_VERTEX_AUTH` diatur, segarkan token gateway dalam `ANTHROPIC_AUTH_TOKEN` atau `ANTHROPIC_CUSTOM_HEADERS`, kemudian coba ulang

1477* Jika Anda autentikasi dengan file kunci akun layanan, konfirmasi `GOOGLE_APPLICATION_CREDENTIALS` menunjuk ke kunci yang valid. Lihat [Konfigurasi kredensial GCP](/docs/id/google-vertex-ai#3-configure-gcp-credentials)1572* Jika Anda autentikasi dengan file kunci akun layanan, konfirmkan `GOOGLE_APPLICATION_CREDENTIALS` menunjuk ke kunci yang valid. Lihat [Konfigurasi kredensial GCP](/docs/id/google-vertex-ai#3-configure-gcp-credentials)

1478* Jika kesalahan berulang setelah penyegaran, konfirmasi identitas bekerja di luar Claude Code dengan `gcloud auth application-default print-access-token` di shell yang sama1573* Jika kesalahan berulang setelah penyegaran, konfirmkan identitas bekerja di luar Claude Code dengan `gcloud auth application-default print-access-token` di shell yang sama

1479 1574 

1480Sebelum v2.1.273, 401 dari Platform Agen menunjukkan pesan `Please run /login` atau `Failed to authenticate` generik sebagai gantinya, yang tidak dapat menyegarkan kredensial Google Cloud.1575Sebelum v2.1.273, 401 dari Platform Agen menampilkan pesan `Please run /login` atau `Failed to authenticate` generik sebagai gantinya, yang tidak dapat menyegarkan kredensial Google Cloud.

1481 1576 

1482<h3 id="google-cloud-authentication-failed">1577<h3 id="google-cloud-authentication-failed">

1483 Autentikasi Google Cloud gagal1578 Autentikasi Google Cloud gagal


1493 1588 

1494**Yang harus dilakukan:**1589**Yang harus dilakukan:**

1495 1590 

1496* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda1591* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba ulang, atau hubungi administrator Anda

1497* Konfirmkan peran dalam [Konfigurasi IAM](/docs/id/google-vertex-ai#iam-configuration) diberikan kepada identitas yang Anda autentikasi dengan1592* Konfirmkan peran dalam [Konfigurasi IAM](/docs/id/google-vertex-ai#iam-configuration) diberikan kepada identitas yang Anda autentikasi dengan

1498* Konfirmkan model diaktifkan untuk proyek Anda. Lihat [Minta akses model](/docs/id/google-vertex-ai#2-request-model-access)1593* Konfirmkan model diaktifkan untuk proyek Anda. Lihat [Minta akses model](/docs/id/google-vertex-ai#2-request-model-access)

1499 1594 

1500Sebelum v2.1.273, 403 dari Platform Agen menunjukkan pesan `Please run /login` atau `Failed to authenticate` generik sebagai gantinya, yang tidak dapat menyegarkan kredensial Google Cloud.1595Sebelum v2.1.273, 403 dari Platform Agen menampilkan pesan `Please run /login` atau `Failed to authenticate` generik sebagai gantinya, yang tidak dapat menyegarkan kredensial Google Cloud.

1501 1596 

1502<h3 id="microsoft-foundry-authentication-failed">1597<h3 id="microsoft-foundry-authentication-failed">

1503 Autentikasi Microsoft Foundry gagal1598 Autentikasi Microsoft Foundry gagal

1504</h3>1599</h3>

1505 1600 

1506[Microsoft Foundry](/docs/id/microsoft-foundry) mengembalikan 401 atau 403: kredensial Azure pada permintaan ditolak, atau identitas di baliknya tidak memiliki akses ke sumber daya Foundry. `/login` tidak dapat membuat kredensial Azure. Petunjuk tindakan di tengah bervariasi dengan pengaturan Anda. Bagian yang stabil adalah `Microsoft Foundry authentication failed` terkemuka:1601[Microsoft Foundry](/docs/id/microsoft-foundry) mengembalikan 401 atau 403: kredensial Azure pada permintaan ditolak, atau identitas di baliknya tidak memiliki akses ke sumber daya Foundry. `/login` tidak dapat mencetak kredensial Azure. Petunjuk tindakan di tengah bervariasi dengan pengaturan Anda. Bagian yang stabil adalah `Microsoft Foundry authentication failed` terkemuka:

1507 1602 

1508```text theme={null}1603```text theme={null}

1509Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...1604Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...


1511 1606 

1512**Yang harus dilakukan:**1607**Yang harus dilakukan:**

1513 1608 

1514* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba lagi, atau hubungi administrator Anda1609* Jika petunjuk mengatakan kredensial dikelola oleh lingkungan ini, aplikasi yang meluncurkan Claude Code memiliki kredensial dan langkah lain di sini tidak berlaku: coba ulang, atau hubungi administrator Anda

1515* Segarkan kredensial yang Anda konfigurasi dalam [Konfigurasi kredensial Azure](/docs/id/microsoft-foundry#2-configure-azure-credentials): putar `ANTHROPIC_FOUNDRY_API_KEY`, buat `ANTHROPIC_FOUNDRY_AUTH_TOKEN` segar, atau jalankan `az login` sehingga rantai kredensial Microsoft Entra default dapat masuk lagi1610* Segarkan kredensial yang Anda konfigurasikan dalam [Konfigurasi kredensial Azure](/docs/id/microsoft-foundry#2-configure-azure-credentials): putar `ANTHROPIC_FOUNDRY_API_KEY`, cetak `ANTHROPIC_FOUNDRY_AUTH_TOKEN` baru, atau jalankan `az login` sehingga rantai kredensial Microsoft Entra default dapat masuk lagi

1516* Jika kredensial saat ini, konfirmkan identitas memiliki akses ke sumber daya Foundry. Lihat [Konfigurasi RBAC Azure](/docs/id/microsoft-foundry#azure-rbac-configuration)1611* Jika kredensial saat ini, konfirmkan identitas memiliki akses ke sumber daya Foundry. Lihat [Konfigurasi Azure RBAC](/docs/id/microsoft-foundry#azure-rbac-configuration)

1517 1612 

1518Sebelum v2.1.273, 401 atau 403 dari Microsoft Foundry menunjukkan pesan `Please run /login` atau `Failed to authenticate` generik sebagai gantinya, yang tidak dapat menyegarkan kredensial Azure.1613Sebelum v2.1.273, 401 atau 403 dari Microsoft Foundry menampilkan pesan `Please run /login` atau `Failed to authenticate` generik sebagai gantinya, yang tidak dapat menyegarkan kredensial Azure.

1519 1614 

1520<h3 id="could-not-load-aws-or-google-cloud-credentials">1615<h3 id="could-not-load-aws-or-google-cloud-credentials">

1521 Tidak dapat memuat kredensial AWS atau Google Cloud1616 Tidak dapat memuat kredensial AWS atau Google Cloud

1522</h3>1617</h3>

1523 1618 

1524Claude Code tidak dapat memperoleh kredensial yang dapat digunakan dari rantai penyedia kredensial AWS atau dari kredensial default aplikasi Google Anda di mesin tempat itu berjalan, jadi tidak ada permintaan yang mencapai penyedia cloud Anda. Claude Code menghapus kredensial yang disimpan dalam cache dan mencoba lagi dua kali sebelum menunjukkan pesan ini. Detail setelah `·` menamai penyebab spesifik, seperti sesi SSO yang kedaluwarsa, kredensial default aplikasi yang hilang dilaporkan sebagai `Could not load the default credentials`, atau masuk yang dicabut dilaporkan sebagai `invalid_grant`:1619Claude Code tidak dapat memperoleh kredensial yang dapat digunakan dari rantai penyedia kredensial AWS atau dari kredensial default aplikasi Google Anda di mesin tempat itu berjalan, jadi tidak ada permintaan yang mencapai penyedia cloud Anda. Claude Code menghapus kredensial yang disimpan dalam cache dan mencoba ulang dua kali sebelum menampilkan pesan ini. Detail setelah `·` menamai penyebab spesifik, seperti sesi SSO yang kedaluwarsa, kredensial default aplikasi yang hilang dilaporkan sebagai `Could not load the default credentials`, atau masuk yang dicabut dilaporkan sebagai `invalid_grant`:

1525 1620 

1526```text theme={null}1621```text theme={null}

1527API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.1622API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.

1528API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.1623API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.

1529```1624```

1530 1625 

1531Dalam [mode non-interaktif](/docs/id/headless) dengan `-p` dan dalam [Agent SDK](/docs/id/agent-sdk/overview), kode kesalahan terstruktur adalah `cloud_credential_error`. Sebelum v2.1.267, pesan hanya menunjukkan teks detail setelah `API Error:`, dan kode terstruktur adalah `server_error` atau `unknown`.1626Dalam [mode non-interaktif](/docs/id/headless) dengan `-p` dan dalam [Agent SDK](/docs/id/agent-sdk/overview), kode kesalahan terstruktur adalah `cloud_credential_error`. Sebelum v2.1.267, pesan hanya menampilkan teks detail setelah `API Error:`, dan kode terstruktur adalah `server_error` atau `unknown`.

1532 1627 

1533**Yang harus dilakukan:**1628**Yang harus dilakukan:**

1534 1629 

1535* Jalankan perintah masuk penyedia Anda, seperti `aws sso login --profile myprofile` atau `gcloud auth application-default login`, kemudian coba lagi. [Kredensial Bedrock, Platform Agen, atau Foundry tidak memuat](/docs/id/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) menunjukkan cara mengonfirmasi kredensial di luar Claude Code1630* Jalankan perintah masuk penyedia Anda, seperti `aws sso login --profile myprofile` atau `gcloud auth application-default login`, kemudian coba ulang. [Kredensial Bedrock, Platform Agen, atau Foundry tidak memuat](/docs/id/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) menunjukkan cara mengonfirmasi kredensial di luar Claude Code

1536* Jika detail membaca `AWS default-chain credential resolve timed out`, rantai tergantung daripada gagal, jadi ikuti [Resolusi kredensial rantai default AWS habis waktu](#aws-default-chain-credential-resolve-timed-out) sebagai gantinya1631* Jika detail membaca `AWS default-chain credential resolve timed out`, rantai tergantung daripada gagal, jadi ikuti [Resolusi kredensial rantai default AWS habis waktu](#aws-default-chain-credential-resolve-timed-out) sebagai gantinya

1537 1632 

1538<h3 id="aws-default-chain-credential-resolve-timed-out">1633<h3 id="aws-default-chain-credential-resolve-timed-out">

1539 Resolusi kredensial rantai default AWS habis waktu1634 Resolusi kredensial rantai default AWS habis waktu

1540</h3>1635</h3>

1541 1636 

1542Rantai penyedia kredensial default AWS tidak menghasilkan kredensial dalam 60 detik, jadi Claude Code menghentikan resolusi dan gagal permintaan. Waktu habis ini adalah satu penyebab [Tidak dapat memuat kredensial AWS atau Google Cloud](#could-not-load-aws-or-google-cloud-credentials). Kegagalan adalah resolusi kredensial lokal: permintaan tidak pernah mencapai [Amazon Bedrock](/docs/id/amazon-bedrock), [Claude Platform di AWS](/docs/id/claude-platform-on-aws), atau [titik akhir Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint). Claude Code menghapus [cache kredensial](/docs/id/amazon-bedrock#credential-caching-and-resolution-timeout) dan mencoba lagi sebelum kesalahan ini muncul, jadi pada saat Anda melihatnya rantai telah macet pada upaya berulang.1637Rantai penyedia kredensial default AWS tidak menghasilkan kredensial dalam 60 detik, jadi Claude Code menghentikan resolusi dan gagal permintaan. Timeout ini adalah satu penyebab [Tidak dapat memuat kredensial AWS atau Google Cloud](#could-not-load-aws-or-google-cloud-credentials). Kegagalan adalah resolusi kredensial lokal: permintaan tidak pernah mencapai [Amazon Bedrock](/docs/id/amazon-bedrock), [Claude Platform di AWS](/docs/id/claude-platform-on-aws), atau [titik akhir Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint). Claude Code menghapus [cache kredensial](/docs/id/amazon-bedrock#credential-caching-and-resolution-timeout) dan mencoba ulang sebelum kesalahan ini muncul, jadi pada saat Anda melihatnya rantai telah macet pada upaya berulang.

1543 1638 

1544```text theme={null}1639```text theme={null}

1545API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.1640API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.

1546```1641```

1547 1642 

1548Penyebab umum adalah perintah `credential_process` dalam profil AWS Anda yang menunggu input yang tidak dapat diterima, dan kontainer atau VM yang layanan metadata instans (IMDS) tidak pernah menjawab probe rantai.1643Penyebab umum adalah perintah `credential_process` dalam profil AWS Anda yang menunggu input yang tidak dapat diterima, dan kontainer atau VM yang instance metadata service (IMDS)-nya tidak pernah menjawab probe rantai.

1549 1644 

1550Sebelum v2.1.267, pesan membaca `API Error: AWS default-chain credential resolve timed out`.1645Sebelum v2.1.267, pesan berbunyi `API Error: AWS default-chain credential resolve timed out`.

1551Sebelum v2.1.207, rantai yang macet meninggalkan permintaan menunggu tanpa batas daripada gagal.1646Sebelum v2.1.207, rantai yang macet meninggalkan permintaan menunggu tanpa batas waktu daripada gagal.

1552 1647 

1553**Yang harus dilakukan:**1648**Yang harus dilakukan:**

1554 1649 


1568 1663 

1569Angka mencerminkan batas Anda: 60 detik secara default, atau nilai yang Anda atur dalam [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/id/env-vars).1664Angka mencerminkan batas Anda: 60 detik secara default, atau nilai yang Anda atur dalam [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/id/env-vars).

1570 1665 

1571Penyebab umum adalah jaringan atau proxy yang macet permintaan ke AWS, termasuk penyegaran token SSO, dan pembantu kredensial masih menunggu input yang tidak dapat Anda lihat. Naikkan batas hanya ketika pembantu secara sah memerlukan lebih banyak waktu.1666Penyebab umum adalah jaringan atau proxy yang macet permintaan ke AWS, termasuk penyegaran token SSO, dan helper kredensial masih menunggu input yang tidak dapat Anda lihat. Naikkan batas hanya ketika helper secara sah memerlukan lebih banyak waktu.

1572 1667 

1573Permintaan tunggal yang macet ke AWS juga dapat gagal pada waktu habis per-permintaan sendiri, yang menunjukkan pesan yang lebih pendek pada langkah yang sama:1668Permintaan tunggal yang macet ke AWS juga dapat gagal pada timeout per-permintaan-nya sendiri, yang menampilkan pesan yang lebih pendek pada langkah yang sama:

1574 1669 

1575```text theme={null}1670```text theme={null}

1576A request to AWS timed out. Check your network and proxy settings, then try again.1671A request to AWS timed out. Check your network and proxy settings, then try again.

1577```1672```

1578 1673 

1579Ketika waktu habis yang sama terjadi pada langkah pin model, wizard menandai model sebagai `unreachable` daripada menunjukkan pesan apa pun.1674Ketika timeout yang sama terjadi pada langkah pin model, wizard menandai model sebagai `unreachable` daripada menampilkan pesan apa pun.

1580 1675 

1581**Yang harus dilakukan:**1676**Yang harus dilakukan:**

1582 1677 

1583* Jalankan `aws sts get-caller-identity` di shell yang sama. Jika juga tergantung, macet ada di luar Claude Code, di jaringan Anda, proxy Anda, atau pembantu kredensial dalam profil AWS Anda; perbaiki itu terlebih dahulu.1678* Jalankan `aws sts get-caller-identity` di shell yang sama. Jika juga tergantung, macet ada di luar Claude Code, di jaringan Anda, proxy Anda, atau helper kredensial dalam profil AWS Anda; perbaiki itu terlebih dahulu.

1584* Selesaikan masuk interaktif apa pun sebelum membuka wizard, misalnya `aws sso login --profile myprofile`1679* Selesaikan masuk interaktif apa pun sebelum membuka wizard, misalnya `aws sso login --profile myprofile`

1585* Jika pembantu kredensial dalam profil AWS Anda secara sah memerlukan lebih lama dari 60 detik untuk meminta Anda, naikkan batas dalam milidetik dengan [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/id/env-vars)1680* Jika helper kredensial dalam profil AWS Anda secara sah memerlukan lebih lama dari 60 detik untuk meminta Anda, naikkan batas dalam milidetik dengan [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/id/env-vars)

1586 1681 

1587<h3 id="cloud-gateway-session-expired">1682<h3 id="cloud-gateway-session-expired">

1588 Sesi gateway cloud kedaluwarsa1683 Sesi gateway cloud kedaluwarsa

1589</h3>1684</h3>

1590 1685 

1591Anda masuk melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway), dan sesi gateway yang disimpan di mesin ini telah kedaluwarsa dan tidak dapat diperbarui, atau gateway tidak lagi menerimanya, misalnya setelah [rahasia JWT gateway diganti](/docs/id/claude-apps-gateway-deploy#jwt-secret-rotation). Jika Anda melihat baris ini ketika memulai `claude` secara interaktif, sesi telah dibuka keluar dari gateway:1686Anda masuk melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway), dan sesi gateway yang disimpan di mesin ini kedaluwarsa dan tidak dapat diperbarui, atau gateway tidak lagi menerimanya, misalnya setelah [rahasia JWT gateway diganti](/docs/id/claude-apps-gateway-deploy#jwt-secret-rotation). Jika Anda melihat baris ini ketika memulai `claude` secara interaktif, sesi telah dibuka tanpa masuk ke gateway:

1592 1687 

1593```text theme={null}1688```text theme={null}

1594Cloud gateway session expired — run /login to reconnect.1689Cloud gateway session expired — run /login to reconnect.


1596 1691 

1597Baris yang sama dapat muncul di tengah sesi ketika kredensial gateway kedaluwarsa dan Claude Code tidak dapat memperbarui.1692Baris yang sama dapat muncul di tengah sesi ketika kredensial gateway kedaluwarsa dan Claude Code tidak dapat memperbarui.

1598 1693 

1599Dalam jalankan [non-interaktif](/docs/id/headless), sesi latar belakang atau sesi yang tidak diawasi lainnya, atau subperintah `claude` selain `claude auth`, Claude Code keluar dengan pesan ini sebagai gantinya ketika gateway tidak lagi menerima sesi:1694Dalam jalankan [non-interaktif](/docs/id/headless), sesi latar belakang atau sesi lain yang tidak diawasi, atau subperintah `claude` selain `claude auth`, Claude Code keluar dengan pesan ini sebagai gantinya ketika gateway tidak lagi menerima sesi:

1600 1695 

1601```text theme={null}1696```text theme={null}

1602Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1697Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.


1608* Untuk peluncuran non-interaktif, mulai `claude` di lingkungan yang sama, jalankan `/login`, kemudian jalankan kembali perintah Anda1703* Untuk peluncuran non-interaktif, mulai `claude` di lingkungan yang sama, jalankan `/login`, kemudian jalankan kembali perintah Anda

1609 1704 

1610<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1705<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1611 Masuk tidak diterima ke Cloud gateway1706 Masuk habis waktu saat menunggu Anda untuk melanjutkan

1612</h3>1707</h3>

1613 1708 

1614Anda mencoba memulai [sesi cloud](/docs/id/claude-code-on-the-web), dan server menolak untuk membuatnya dengan 401: itu tidak menerima login Claude yang dikirim mesin ini, biasanya karena login kedaluwarsa atau dicabut.1709Selama masuk [gateway aplikasi Claude](/docs/id/claude-apps-gateway), gateway menamai akun yang masuk, dan Claude Code meminta Anda untuk mengonfirmasinya sebelum menyimpan kredensial. Anda meninggalkan konfirmasi terbuka melampaui kedaluwarsa masuk itu sendiri, dan gateway tidak mengeluarkan token penyegaran yang dapat memperbarui, jadi Claude Code tidak menyimpan apa pun ketika Anda melanjutkan:

1615 

1616Bagian pertama dari baris adalah alasan server sendiri ketika memberikan satu. Jika tidak, baris berbunyi:

1617 1710 

1618```text theme={null}1711```text theme={null}

1619Claude login not accepted · Run /login, then try again1712Sign-in timed out while waiting for you to continue. Try again.

1620```1713```

1621 1714 

1622**Yang harus dilakukan:**1715**Yang harus dilakukan:**

1623 1716 

1624* Jalankan `/login`, selesaikan masuk, kemudian mulai sesi lagi1717* Jalankan `/login` lagi dan konfirmkan akun sebelum masuk kedaluwarsa

1625 1718 

1626<h3 id="gateway-refused-the-request">1719<h3 id="gateway-refused-the-request">

1627 Gateway menolak permintaan1720 Gateway menolak permintaan


1638* Minta administrator gateway Anda untuk mencari permintaan. Ekor `API Error:` membawa penolakan yang dikembalikan gateway1731* Minta administrator gateway Anda untuk mencari permintaan. Ekor `API Error:` membawa penolakan yang dikembalikan gateway

1639* Untuk administrator: aturan [kontrol akses](/docs/id/claude-apps-gateway-config#http-tuning) pada gateway mengembalikan 403 yang dicatat [log audit](/docs/id/claude-apps-gateway-deploy#logs) dengan alasannya, dan penolakan otorisasi upstream melewati per [Pesan kesalahan Upstream](/docs/id/claude-apps-gateway-config#upstream-error-messages)1732* Untuk administrator: aturan [kontrol akses](/docs/id/claude-apps-gateway-config#http-tuning) pada gateway mengembalikan 403 yang dicatat [log audit](/docs/id/claude-apps-gateway-deploy#logs) dengan alasannya, dan penolakan otorisasi upstream melewati per [Pesan kesalahan Upstream](/docs/id/claude-apps-gateway-config#upstream-error-messages)

1640 1733 

1641Sebelum v2.1.273, 403 pada sesi gateway menunjukkan pesan `Please run /login` atau `Failed to authenticate` generik sebagai gantinya, dan masuk lagi tidak menghapus penolakan.1734Sebelum v2.1.273, 403 pada sesi gateway menampilkan pesan `Please run /login` atau `Failed to authenticate` generik sebagai gantinya, dan masuk lagi tidak menghapus penolakan.

1642 1735 

1643<h2 id="network-and-connection-errors">1736<h2 id="network-and-connection-errors">

1644 Kesalahan jaringan dan koneksi1737 Kesalahan jaringan dan koneksi


1679 1772 

1680Jika `curl` berhasil tetapi Claude Code masih gagal, penyebabnya biasanya sesuatu antara runtime dan jaringan daripada jaringan itu sendiri:1773Jika `curl` berhasil tetapi Claude Code masih gagal, penyebabnya biasanya sesuatu antara runtime dan jaringan daripada jaringan itu sendiri:

1681 1774 

1775* Periksa apakah `ANTHROPIC_BASE_URL` diatur dengan menjalankan `echo $ANTHROPIC_BASE_URL`, atau `echo $env:ANTHROPIC_BASE_URL` di PowerShell, dan cari di blok `env` dari [file pengaturan](/docs/id/settings) Anda. Ketika diatur, Claude Code mengirim permintaan model ke alamat itu daripada `api.anthropic.com`, jadi nilai sisa yang menunjuk ke proxy lokal atau gateway yang tidak lagi berjalan menghasilkan `Connection refused` meskipun `curl` menjangkau API. Hapus dari profil shell atau pengaturan Anda dan mulai Claude Code dari terminal baru.

1682* Di Linux dan WSL, periksa `/etc/resolv.conf` untuk nameserver yang tidak dapat dijangkau. WSL khususnya dapat mewarisi resolver yang rusak dari host.1776* Di Linux dan WSL, periksa `/etc/resolv.conf` untuk nameserver yang tidak dapat dijangkau. WSL khususnya dapat mewarisi resolver yang rusak dari host.

1683* Di macOS, klien VPN yang terputus atau dihapus dapat meninggalkan antarmuka terowongan atau aturan perutean. Periksa `ifconfig` untuk antarmuka `utun` yang basi dan hapus ekstensi jaringan VPN di Pengaturan Sistem.1777* Di macOS, klien VPN yang terputus atau dihapus dapat meninggalkan antarmuka terowongan atau aturan perutean. Periksa `ifconfig` untuk antarmuka `utun` yang basi dan hapus ekstensi jaringan VPN di Pengaturan Sistem.

1684* Docker Desktop dan runtime kontainer serupa dapat mencegat lalu lintas keluar. Keluar dari mereka dan coba lagi untuk mengesampingkan ini.1778* Docker Desktop dan runtime kontainer serupa dapat mencegat lalu lintas keluar. Keluar dari mereka dan coba lagi untuk mengesampingkan ini.


1899* Mulai sesi baru dengan `claude --remote-control` untuk membuat sesi Remote Control baru1993* Mulai sesi baru dengan `claude --remote-control` untuk membuat sesi Remote Control baru

1900* Untuk pesan startup Remote Control lainnya, lihat [Troubleshoot Remote Control](/docs/id/remote-control#troubleshooting)1994* Untuk pesan startup Remote Control lainnya, lihat [Troubleshoot Remote Control](/docs/id/remote-control#troubleshooting)

1901 1995 

1902Jika server melaporkan sebaliknya bahwa sesi sebelumnya hilang, Anda tidak melihat pesan ini. Claude Code memulai sesi baru di tempatnya atau menampilkan [`Previous session is unavailable — run /remote-control to start a new one`](/docs/id/remote-control#previous-session-is-unavailable), tergantung pada [catatan koneksi kembali percakapan](/docs/id/remote-control#resume-outcomes). Dari v2.1.227 hingga v2.1.231, Claude Code menampilkan pesan yang dimulai dengan `Remote Control could not resume the previous session under the current login` sebagai gantinya, dan [versi sebelumnya berperilaku berbeda lagi](/docs/id/remote-control#reconnect-history).1996Jika server melaporkan sebaliknya bahwa sesi sebelumnya hilang, Anda tidak melihat pesan ini. Claude Code memulai sesi baru di tempatnya atau menampilkan [`Previous session is unavailable — run /remote-control to start a new one`](/docs/id/remote-control#previous-session-is-unavailable).

1903 1997 

1904<h3 id="sessions-ended-while-this-machine-was-offline">1998<h3 id="sessions-ended-while-this-machine-was-offline">

1905 Sessions ended while this machine was offline1999 Sessions ended while this machine was offline


1933* Jalankan `/feedback` untuk mengirim transkrip dengan deskripsi apa yang terjadi. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda2027* Jalankan `/feedback` untuk mengirim transkrip dengan deskripsi apa yang terjadi. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda

1934* Jika permintaan lain juga gagal, periksa koneksi jaringan Anda dan lihat [Unable to connect to API](#unable-to-connect-to-api)2028* Jika permintaan lain juga gagal, periksa koneksi jaringan Anda dan lihat [Unable to connect to API](#unable-to-connect-to-api)

1935 2029 

2030<h3 id="couldnt-send-feedback">

2031 Couldn't send feedback

2032</h3>

2033 

2034Anda mengirim laporan dari dialog [`/feedback`, `/bug`, atau `/share`](/docs/id/commands#all-commands) dan unggahan ke Anthropic gagal. Dialog menyimpan teks Anda sehingga Anda dapat mencoba lagi.

2035 

2036```text theme={null}

2037Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.

2038```

2039 

2040Teks setelah awalan menamai apa yang gagal:

2041 

2042* **`: not signed in. Run /login, then retry.`**: dialog mengunggah hanya ketika Claude Code menemukan kredensial Anthropic saat dibuka, dan tidak ada yang dapat digunakan pada saat Anda mengirim. Misalnya, Anda keluar di mesin ini sementara itu, atau login Anda tidak lagi dapat disegarkan.

2043* **Tanda kurung**: `(server returned <status>)` adalah kode respons layanan; `(request timed out)` dan `(couldn't reach the service)` adalah kegagalan jaringan. Ketika Claude Code tidak dapat menamai alasan, tanda kurung tidak ada.

2044 

2045Dalam [antrian draf umpan balik](/docs/id/tools-reference#sendfeedback-tool-behavior), kegagalan yang sama berakhir dengan `The draft is still queued. Try again later.` sebagai gantinya, dan draf tetap dalam antrian untuk upaya lain.

2046 

2047**Yang harus dilakukan:**

2048 

2049* Untuk wording tidak-masuk, jalankan `/login` dan kirim lagi

2050* Jika tidak, kirim lagi; jika permintaan lain juga gagal, periksa koneksi jaringan Anda dan lihat [Unable to connect to API](#unable-to-connect-to-api)

2051* Jika terus gagal, ajukan laporan di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues), seperti yang dikatakan pesan

2052 

2053Sebelum v2.1.281, setiap pengiriman gagal dengan pesan ini sekali Remote Control **Stop** atau pesan lintas-sesi mendesak telah tiba saat dialog terbuka. Di versi tersebut, tutup dialog, buka kembali, dan kirim lagi.

2054 

1936<h2 id="request-errors">2055<h2 id="request-errors">

1937 Kesalahan permintaan2056 Kesalahan permintaan

1938</h2>2057</h2>


1955Context limit reached · /compact or /clear to continue2074Context limit reached · /compact or /clear to continue

1956```2075```

1957 2076 

1958Baris hanya menyebutkan `/clear` ketika [`DISABLE_COMPACT`](/docs/id/env-vars) diatur. Bentuk kesalahan yang lebih panjang, seperti bentuk kegagalan pemadatan di bawah, tetap mempertahankan pesan `Prompt is too long ·`. Dalam output `-p` dan transkrip, teksnya tetap `Prompt is too long`.2077Baris hanya menyebutkan `/clear` ketika [`DISABLE_COMPACT`](/docs/id/env-vars) diatur. Bentuk kesalahan yang lebih panjang, seperti bentuk gagal kompaksi di bawah, tetap mempertahankan pesan `Prompt is too long ·`. Dalam output `-p` dan transkrip, teksnya tetap `Prompt is too long`.

1959 2078 

1960Ketika Anda mematikan auto-compact di [pengaturan pengguna](/docs/id/settings-reference#autocompactenabled) Anda, baris juga mengatakan demikian:2079Ketika Anda mematikan auto-compact di [pengaturan pengguna](/docs/id/settings-reference#autocompactenabled), baris juga mengatakan demikian:

1961 2080 

1962```text theme={null}2081```text theme={null}

1963Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on2082Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on


1967 2086 

1968Amazon Bedrock melaporkan kondisi ini sebagai `Input is too long for requested model.`, yang Claude Code tangani dengan cara yang sama. Sebelum v2.1.217, Claude Code tidak mengenali pesan Bedrock, jadi auto-compact tidak pernah dipicu dan `/compact` gagal dengan kesalahan yang sama.2087Amazon Bedrock melaporkan kondisi ini sebagai `Input is too long for requested model.`, yang Claude Code tangani dengan cara yang sama. Sebelum v2.1.217, Claude Code tidak mengenali pesan Bedrock, jadi auto-compact tidak pernah dipicu dan `/compact` gagal dengan kesalahan yang sama.

1969 2088 

1970Gateway [aplikasi Claude](/docs/id/claude-apps-gateway-config#upstream-error-messages) melaporkan kondisi ini sebagai `capability_rejected: prompt_too_long` ketika upstream cloud menolak permintaan dalam bentuk kesalahan penyedia sendiri. Claude Code memperlakukan token sama dengan `Prompt is too long`. Sebelum v2.1.228, Claude Code tidak mengenali token, jadi auto-compact tidak dipicu.2089Gateway [aplikasi Claude](/docs/id/claude-apps-gateway-config#upstream-error-messages) melaporkan kondisi ini sebagai `capability_rejected: prompt_too_long` ketika upstream cloud menolak permintaan dalam bentuk kesalahan penyedia. Claude Code memperlakukan token yang sama dengan `Prompt is too long`. Sebelum v2.1.228, Claude Code tidak mengenali token, jadi auto-compact tidak dipicu.

1971 2090 

1972Ketika pemadatan otomatis berjalan pada giliran ini dan gagal pada kesalahan yang mendasar, seperti model yang tidak tersedia atau kegagalan autentikasi, pesan menyebutkan kesalahan itu setelah pemisah:2091Ketika kompaksi otomatis berjalan pada giliran ini dan gagal pada kesalahan yang mendasar, seperti model yang tidak tersedia atau kegagalan autentikasi, pesan menyebutkan kesalahan itu setelah pemisah:

1973 2092 

1974```text theme={null}2093```text theme={null}

1975Prompt is too long · automatic compaction failed: <the underlying error>2094Prompt is too long · automatic compaction failed: <the underlying error>

1976```2095```

1977 2096 

1978Selesaikan kesalahan yang dinamai terlebih dahulu; `/compact` gagal pada kesalahan yang sama sampai Anda melakukannya. Sebelum v2.1.229, pemadatan otomatis yang gagal menampilkan `Prompt is too long` tanpa penyebabnya.2097Selesaikan kesalahan yang dinamai terlebih dahulu; `/compact` gagal pada kesalahan yang sama sampai Anda melakukannya. Sebelum v2.1.229, kompaksi otomatis yang gagal menampilkan `Prompt is too long` tanpa penyebabnya.

1979 2098 

1980Ketika pemadatan otomatis berjalan pada kesalahan ini, biasanya merangkum pertukaran tertua Anda dan menyimpan yang terbaru. Sebagai upaya terakhir, Claude Code merangkum secara berbeda:2099Ketika kompaksi otomatis berjalan pada kesalahan ini, biasanya merangkum pertukaran tertua Anda dan menyimpan yang terbaru. Sebagai upaya terakhir, Claude Code merangkum secara berbeda:

1981 2100 

1982* Ketika tidak dapat merangkum seluruh pertukaran, Claude Code menyimpan prompt terbaru Anda kata demi kata dan merangkum semuanya sebelumnya.2101* Ketika tidak dapat merangkum seluruh pertukaran, Claude Code menyimpan prompt terbaru Anda kata demi kata dan merangkum semuanya sebelumnya.

1983* Dalam hal itu, ketika percakapan tidak berakhir dengan prompt Anda, Claude Code merangkum seluruh percakapan sebagai gantinya.2102* Dalam hal itu, ketika percakapan tidak berakhir dengan prompt Anda, Claude Code merangkum seluruh percakapan sebagai gantinya.

1984 2103 

1985Claude Code melewati pemulihan ini ketika konten yang akan dibawanya tidak menyimpan balasan model dan kurang dari sekitar 1.000 token teks Anda sendiri, seperti pengiriman ulang singkat setelah tempel berukuran besar. Jalankan `/clear` untuk memulai segar. Sebelum v2.1.269, pemadatan gagal setiap kali tidak dapat merangkum seluruh pertukaran, jadi sesi dalam keadaan itu mencapai kesalahan ini lagi pada setiap giliran.2104Claude Code melewati pemulihan ini ketika konten yang akan dibawanya tidak menyimpan balasan model dan kurang dari sekitar 1.000 token teks Anda sendiri, seperti pengiriman ulang singkat setelah tempel berukuran besar. Jalankan `/clear` untuk memulai segar. Sebelum v2.1.269, kompaksi gagal setiap kali tidak dapat merangkum seluruh pertukaran, jadi sesi dalam keadaan itu mengalami kesalahan ini lagi di setiap giliran.

1986 2105 

1987Percakapan pertukaran tunggal tidak memiliki giliran sebelumnya untuk dirangkum. Ketika pemadatan otomatis akan berjalan pada satu, Claude Code melewati upaya dan menjelaskan apa yang mengisi permintaan sebagai gantinya. Ketika API tidak melaporkan jumlah token dalam kesalahannya, pesan berbunyi:2106Percakapan pertukaran tunggal tidak memiliki giliran sebelumnya untuk dirangkum. Ketika kompaksi otomatis akan berjalan pada satu, Claude Code melewati upaya dan menjelaskan apa yang mengisi permintaan sebagai gantinya. Ketika API tidak melaporkan jumlah token dalam kesalahannya, pesan berbunyi:

1988 2107 

1989```text theme={null}2108```text theme={null}

1990Prompt is too long · this conversation is a single exchange and cannot be compacted — the request size comes mostly from system prompt, tool definitions, or attachments.2109Prompt is too long · this conversation is a single exchange and cannot be compacted — the request size comes mostly from system prompt, tool definitions, or attachments.

1991```2110```

1992 2111 

1993Ketika API melaporkan jumlah token dalam kesalahannya, Claude Code membandingkannya dengan estimasi sendiri tentang ukuran percakapan untuk mengetahui mana yang paling banyak dari permintaan: konten percakapan sendiri, atau prompt sistem, definisi alat, dan konten lampiran yang Claude Code kirim dengannya. Ketika konten percakapan sendiri paling banyak dari permintaan, pesan berbunyi:2112Ketika API melaporkan jumlah token dalam kesalahannya, Claude Code membandingkannya dengan estimasi sendiri tentang ukuran percakapan untuk mengetahui mana yang paling banyak dari permintaan: konten percakapan itu sendiri, atau prompt sistem, definisi alat, dan konten lampiran yang Claude Code kirim dengannya. Ketika konten percakapan itu sendiri paling banyak dari permintaan, pesan berbunyi:

1994 2113 

1995```text theme={null}2114```text theme={null}

1996Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) and this conversation's own content is most of it. A single-exchange conversation cannot be compacted; start with less content (smaller files or pasted text).2115Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) and this conversation's own content is most of it. A single-exchange conversation cannot be compacted; start with less content (smaller files or pasted text).


2002Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) but this conversation is only ~<conversation tokens> tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context.2121Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) but this conversation is only ~<conversation tokens> tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context.

2003```2122```

2004 2123 

2005Sebelum v2.1.162, Claude Code mencoba pemadatan bagaimanapun dan menampilkan `Prompt is too long` telanjang ketika gagal.2124Sebelum v2.1.162, Claude Code mencoba kompaksi bagaimanapun dan menampilkan `Prompt is too long` biasa ketika gagal.

2006 2125 

2007**Yang harus dilakukan:**2126**Yang harus dilakukan:**

2008 2127 

2009* Jalankan `/compact` untuk merangkum giliran sebelumnya dan membebaskan ruang, atau `/clear` untuk memulai segar. Jika `/compact` menjawab `Not enough messages to compact.`, percakapan adalah pertukaran tunggal tanpa apa pun sebelumnya untuk dirangkum, jadi ruang diambil oleh prompt itu dan apa yang Claude Code kirim dengan setiap permintaan: jalankan `/clear` dan kirim ulang dengan teks tempel lebih sedikit atau lampiran lebih kecil, atau kurangi definisi alat dan file memori menggunakan langkah-langkah di bawah2128* Jalankan `/compact` untuk merangkum giliran sebelumnya dan membebaskan ruang, atau `/clear` untuk memulai segar. Jika `/compact` menjawab `Not enough messages to compact.`, percakapan adalah pertukaran tunggal tanpa apa pun sebelumnya untuk dirangkum, jadi ruang diambil oleh satu prompt itu dan apa yang Claude Code kirim dengan setiap permintaan: jalankan `/clear` dan kirim ulang dengan teks tempel lebih sedikit atau lampiran lebih kecil, atau kurangi definisi alat dan file memori menggunakan langkah-langkah di bawah

2010* Jalankan `/context` untuk melihat rincian apa yang mengonsumsi jendela: prompt sistem, alat, file memori, dan pesan2129* Jalankan `/context` untuk melihat rincian apa yang mengonsumsi jendela: prompt sistem, alat, file memori, dan pesan

2011* Nonaktifkan server MCP yang tidak Anda gunakan dengan `/mcp disable <name>` untuk menghapus definisi alat mereka dari konteks2130* Nonaktifkan server MCP yang tidak Anda gunakan dengan `/mcp disable <name>` untuk menghapus definisi alat mereka dari konteks

2012* Pangkas file memori `CLAUDE.md` besar, atau pindahkan instruksi ke [aturan bersifat jalur](/docs/id/memory#path-specific-rules) yang dimuat hanya ketika relevan2131* Pangkas file memori `CLAUDE.md` besar, atau pindahkan instruksi ke [aturan cakupan jalur](/docs/id/memory#path-specific-rules) yang dimuat hanya ketika relevan

2013* Subagen mewarisi setiap definisi alat MCP dari sesi induk, yang dapat mengisi jendela konteks mereka sebelum giliran pertama. Nonaktifkan server MCP yang tidak Anda gunakan sebelum menelurkan subagen.2132* Subagen mewarisi setiap definisi alat MCP dari sesi induk, yang dapat mengisi jendela konteks mereka sebelum giliran pertama. Nonaktifkan server MCP yang tidak Anda gunakan sebelum menelurkan subagen.

2014* Auto-compact aktif secara default dan biasanya mencegah kesalahan ini. Jika Anda mematikannya di `/config` atau dengan [`DISABLE_AUTO_COMPACT`](/docs/id/env-vars), aktifkan kembali. Jika Anda tetap mematikannya, jalankan `/compact` sendiri sebelum jendela penuh.2133* Auto-compact aktif secara default dan biasanya mencegah kesalahan ini. Jika Anda mematikannya di `/config` atau dengan [`DISABLE_AUTO_COMPACT`](/docs/id/env-vars), aktifkan kembali. Jika Anda tetap mematikannya, jalankan `/compact` sendiri sebelum jendela penuh.

2015 2134 


2019 Konteks melebihi batas token2138 Konteks melebihi batas token

2020</h3>2139</h3>

2021 2140 

2022`/context` menampilkan peringatan ini di bagian atas outputnya ketika percakapan telah melampaui jendela konteks model. Permintaan gagal dengan [`Prompt is too long`](#prompt-is-too-long) sampai Anda membebaskan ruang. Sesi interaktif menampilkan kesalahan itu sebagai baris `Context limit reached`.2141`/context` menampilkan peringatan ini di bagian atas outputnya ketika percakapan telah tumbuh melampaui jendela konteks model. Permintaan gagal dengan [`Prompt is too long`](#prompt-is-too-long) sampai Anda membebaskan ruang. Sesi interaktif menampilkan kesalahan itu sebagai baris `Context limit reached`.

2023 2142 

2024```text theme={null}2143```text theme={null}

2025Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.2144Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.

2026```2145```

2027 2146 

2028Ketika batas yang Anda lampaui adalah jendela pemadatan, seperti batas 200K pada model konteks 1M, peringatan berbunyi berbeda. Jendela pemadatan dapat duduk di bawah jendela konteks model, jadi permintaan melewatinya masih dapat berhasil.2147Ketika batas yang Anda lampaui adalah jendela kompaksi, seperti batas 200K pada model konteks 1M, peringatan berbunyi berbeda. Jendela kompaksi dapat duduk di bawah jendela konteks model, jadi permintaan melewatinya masih dapat berhasil.

2029 2148 

2030```text theme={null}2149```text theme={null}

2031Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.2150Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.


2036**Yang harus dilakukan:**2155**Yang harus dilakukan:**

2037 2156 

2038* Dalam percakapan multi-giliran, jalankan `/compact` untuk merangkum giliran sebelumnya dan membebaskan ruang. Untuk memulai segar sebagai gantinya, jalankan `/clear`2157* Dalam percakapan multi-giliran, jalankan `/compact` untuk merangkum giliran sebelumnya dan membebaskan ruang. Untuk memulai segar sebagai gantinya, jalankan `/clear`

2039* Untuk lebih banyak cara mengurangi penggunaan, lihat [Prompt is too long](#prompt-is-too-long)2158* Untuk cara lebih banyak mengurangi penggunaan, lihat [Prompt terlalu panjang](#prompt-is-too-long)

2040 2159 

2041Sebelum v2.1.216, `/context` menampilkan penggunaan di atas 100% tanpa baris peringatan yang menjelaskan apa artinya atau cara pulih.2160Sebelum v2.1.216, `/context` menampilkan penggunaan di atas 100% tanpa baris peringatan yang menjelaskan apa artinya atau cara pulih.

2042 2161 

2043<h3 id="error-during-compaction-conversation-too-long">2162<h3 id="error-during-compaction-conversation-too-long">

2044 Kesalahan selama pemadatan: Percakapan terlalu panjang2163 Kesalahan selama kompaksi: Percakapan terlalu panjang

2045</h3>2164</h3>

2046 2165 

2047`/compact` sendiri gagal karena tidak ada cukup konteks bebas untuk menampung ringkasan yang dihasilkannya.2166`/compact` itu sendiri gagal karena tidak ada cukup konteks bebas untuk menampung ringkasan yang dihasilkannya.

2048 2167 

2049```text theme={null}2168```text theme={null}

2050Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.2169Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.


2054 2173 

2055**Yang harus dilakukan:**2174**Yang harus dilakukan:**

2056 2175 

2057* Tekan Esc dua kali untuk membuka daftar pesan dan mundur beberapa giliran. Ini menghilangkan pesan terbaru dari konteks. Kemudian jalankan `/compact` lagi.2176* Tekan Esc dua kali untuk membuka daftar pesan dan mundur beberapa giliran. Ini menghilangkan pesan paling baru dari konteks. Kemudian jalankan `/compact` lagi.

2058* Jika mundur tidak membebaskan cukup ruang, jalankan `/clear` untuk memulai sesi segar. Percakapan sebelumnya Anda disimpan dan dapat dibuka kembali dengan `/resume`.2177* Jika mundur tidak membebaskan cukup ruang, jalankan `/clear` untuk memulai sesi segar. Percakapan sebelumnya Anda dipertahankan dan dapat dibuka kembali dengan `/resume`.

2059 2178 

2060Pesan ini dan kegagalan `/compact` lainnya ditampilkan dalam gaya kesalahan. Sebelum v2.1.216, mereka dirender dalam gaya redup yang sama dengan output perintah yang berhasil, jadi Anda dapat membaca pemadatan yang gagal sebagai kesuksesan.2179Pesan ini dan kegagalan `/compact` lainnya ditampilkan dalam gaya kesalahan. Sebelum v2.1.216, mereka dirender dalam gaya redup yang sama dengan output perintah yang berhasil, jadi Anda dapat membaca kompaksi yang gagal sebagai kesuksesan.

2061 2180 

2062<h3 id="request-too-large">2181<h3 id="request-too-large">

2063 Permintaan terlalu besar2182 Permintaan terlalu besar


2069Request too large (max 32MB). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments.2188Request too large (max 32MB). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments.

2070```2189```

2071 2190 

2072Ketika permintaan langsung ke API Claude dan API sendiri menolaknya, Claude Code mengukur percakapan dan merumuskan pesan berdasarkan apakah pemulihan dapat bekerja. Melalui proxy, gateway, atau penyedia cloud Anda mendapatkan pesan umum. Bentuk yang diukur:2191Ketika permintaan langsung ke Claude API dan API itu sendiri menolaknya, Claude Code mengukur percakapan dan merumuskan pesan berdasarkan apakah pemulihan dapat bekerja. Melalui proxy, gateway, atau penyedia cloud Anda mendapatkan pesan umum. Bentuk yang diukur:

2073 2192 

2074* `Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).`: gambar atau dokumen mendorong permintaan melampaui batas. Claude Code mencoba ulang dengan mereka dihilangkan.2193* `Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).`: gambar atau dokumen mendorong permintaan melampaui batas. Claude Code mencoba ulang dengan mereka dihilangkan.

2075* `Request too large for the API's 32MB request limit`: pesan saja sudah melampaui batas, jadi pesan mengatakan `compacting cannot make it fit` dan Claude Code tidak mencoba ulang. Dalam [mode non-interaktif](/docs/id/headless), pesan memberi tahu Anda untuk mengurangi input atau memulai sesi baru sebagai gantinya.2194* `Request too large for the API's 32MB request limit`: pesan saja sudah melampaui batas, jadi pesan mengatakan `compacting cannot make it fit` dan Claude Code tidak mencoba ulang. Dalam [mode non-interaktif](/docs/id/headless), pesan memberi tahu Anda untuk mengurangi input atau memulai sesi baru sebagai gantinya.

2076 2195 

2077Sebelum v2.1.212, percakapan dengan cukup gambar terakumulasi gagal pada setiap giliran dengan `Request too large (max 32MB). Double press esc to go back and try with a smaller file.` Sebelum v2.1.229, Claude Code menampilkan saran lampiran untuk setiap penolakan, bahkan ketika pemadatan tidak dapat membantu.2196Sebelum v2.1.212, percakapan dengan cukup gambar terakumulasi gagal di setiap giliran dengan `Request too large (max 32MB). Double press esc to go back and try with a smaller file.` Sebelum v2.1.229, Claude Code menampilkan saran lampiran untuk setiap penolakan, bahkan ketika kompaksi tidak dapat membantu.

2078 2197 

2079**Yang harus dilakukan:**2198**Yang harus dilakukan:**

2080 2199 

2081* Jika pesan mengatakan `compacting cannot make it fit`, tekan Esc dua kali untuk mundur melampaui giliran yang menambahkan konten besar, atau jalankan `/clear` untuk memulai segar2200* Jika pesan mengatakan `compacting cannot make it fit`, tekan Esc dua kali untuk mundur melampaui giliran yang menambahkan konten besar, atau jalankan `/clear` untuk memulai segar

2082* Jika tidak, jalankan `/compact`, yang menghilangkan gambar dan lampiran terakumulasi2201* Jika tidak, jalankan `/compact`, yang menghilangkan gambar dan lampiran terakumulasi

2083* Referensikan file besar berdasarkan jalur bukan menempel konten mereka, jadi Claude dapat membacanya dalam potongan2202* Referensikan file besar berdasarkan jalur bukan menempel kontennya, jadi Claude dapat membacanya dalam potongan

2084* Untuk gambar, lihat [Image was too large](#image-was-too-large) di bawah2203* Untuk gambar, lihat [Gambar terlalu besar](#image-was-too-large) di bawah

2085 2204 

2086<h3 id="image-was-too-large">2205<h3 id="image-was-too-large">

2087 Gambar terlalu besar2206 Gambar terlalu besar


2094API Error: 400 ... image dimensions exceed max allowed size2213API Error: 400 ... image dimensions exceed max allowed size

2095```2214```

2096 2215 

2097Claude Code mengganti gambar yang tidak dapat diproses dengan placeholder teks dan mencoba ulang, jadi pesan berikutnya berhasil. Pada versi sebelum 2.1.142, gambar yang ditempel dapat tetap berada dalam percakapan dan mengulangi kesalahan yang sama pada setiap pesan berikutnya. Untuk pulih pada versi tersebut, tekan Esc dua kali dan mundur melampaui giliran tempat gambar ditambahkan.2216Claude Code mengganti gambar yang tidak dapat diproses dengan placeholder teks dan mencoba ulang, jadi pesan berikutnya berhasil. Pada versi sebelum 2.1.142, gambar yang ditempel dapat tetap dalam percakapan dan mengulangi kesalahan yang sama di setiap pesan berikutnya. Untuk pulih pada versi tersebut, tekan Esc dua kali dan mundur melampaui giliran tempat gambar ditambahkan.

2098 2217 

2099**Yang harus dilakukan:**2218**Yang harus dilakukan:**

2100 2219 

2101* Ubah ukuran gambar sebelum menempel. API menerima gambar hingga 8000 piksel di tepi terpanjang untuk satu gambar, atau 2000 piksel ketika banyak gambar berada dalam konteks.2220* Ubah ukuran gambar sebelum menempel. API menerima gambar hingga 8000 piksel di tepi terpanjang untuk satu gambar, atau 2000 piksel ketika banyak gambar dalam konteks.

2102* Ambil tangkapan layar yang lebih ketat dari wilayah yang relevan bukan layar penuh2221* Ambil tangkapan layar lebih ketat dari wilayah yang relevan bukan layar penuh

2103 2222 

2104<h3 id="unable-to-resize-image">2223<h3 id="unable-to-resize-image">

2105 Tidak dapat mengubah ukuran gambar2224 Tidak dapat mengubah ukuran gambar


2122**Yang harus dilakukan:**2241**Yang harus dilakukan:**

2123 2242 

2124* Jika pesan meminta Anda mengonversi gambar, konversikan ke PNG, JPEG, GIF, atau WebP dan lampirkan lagi. Claude Code dapat memverifikasi dimensi untuk format ini dari header file, tanpa mendekode gambar.2243* Jika pesan meminta Anda mengonversi gambar, konversikan ke PNG, JPEG, GIF, atau WebP dan lampirkan lagi. Claude Code dapat memverifikasi dimensi untuk format ini dari header file, tanpa mendekode gambar.

2125* Jika pesan melaporkan batas dimensi atau ukuran, ubah ukuran atau kompres ulang gambar di bawah batas itu sebelum melampirkan.2244* Jika pesan melaporkan batas dimensi atau ukuran, ubah ukuran atau kompresi ulang gambar di bawah batas itu sebelum melampirkan.

2126* Jika pesan menyebutkan penyebab, seperti JPEG CMYK, WebP animasi, atau file yang mungkin rusak, simpan ulang gambar dalam format yang disarankan pesan dan lampirkan lagi.2245* Jika pesan menyebutkan penyebab, seperti JPEG CMYK, WebP animasi, atau file yang mungkin rusak, simpan ulang gambar dalam format yang disarankan pesan dan lampirkan lagi.

2127 2246 

2128<h3 id="pdf-errors">2247<h3 id="pdf-errors">


2158**Yang harus dilakukan:**2277**Yang harus dilakukan:**

2159 2278 

2160* Konfigurasikan gateway Anda untuk meneruskan header `anthropic-beta`. Lihat [feature pass-through](/docs/id/llm-gateway-protocol#feature-pass-through) untuk apa yang harus diteruskan gateway.2279* Konfigurasikan gateway Anda untuk meneruskan header `anthropic-beta`. Lihat [feature pass-through](/docs/id/llm-gateway-protocol#feature-pass-through) untuk apa yang harus diteruskan gateway.

2161* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/id/env-vars) sebelum meluncurkan. [Disable pre-release capabilities](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) mencakup cakupan yang tepat.2280* Sebagai fallback, atur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/id/env-vars) sebelum meluncurkan. [Nonaktifkan kemampuan pra-rilis](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) mencakup cakupan yang tepat.

2162 2281 

2163<h3 id="tool-input-schema-is-invalid">2282<h3 id="tool-input-schema-is-invalid">

2164 Skema input alat tidak valid2283 Skema input alat tidak valid


2175 2294 

2176Claude Code [mengecualikan alat MCP yang skema input-nya akan gagal validasi ini](/docs/id/mcp#tools-with-invalid-input-schemas) ketika memuat alat server, jadi permintaan biasanya tidak pernah menyertakan satu.2295Claude Code [mengecualikan alat MCP yang skema input-nya akan gagal validasi ini](/docs/id/mcp#tools-with-invalid-input-schemas) ketika memuat alat server, jadi permintaan biasanya tidak pernah menyertakan satu.

2177 2296 

2178Pada [deployment di mana pengambilan flag dimatikan](/docs/id/env-vars#features-that-need-feature-flag-fetching), atau pada mesin yang flagnya tidak pernah tiba, Claude Code mencatat dalam log server alat mana yang akan ditolak tetapi mengirimnya bagaimanapun, jadi kesalahan ini masih dapat terjadi.2297Pada [deployment di mana pengambilan flag dimatikan](/docs/id/env-vars#features-that-need-feature-flag-fetching), atau pada mesin yang flag-nya tidak pernah tiba, Claude Code mencatat dalam log server alat mana yang akan ditolak tetapi mengirimnya bagaimanapun, jadi kesalahan ini masih dapat terjadi.

2179 2298 

2180Kesalahan juga dapat terjadi untuk alat yang skemanya mendeklarasikan dialek JSON Schema selain draft 2020-12 di `$schema`. Claude Code tidak memeriksa skema tersebut terhadap meta-skema JSON Schema, meskipun pemeriksaan nama properti tingkat atas masih berlaku.2299Kesalahan juga dapat terjadi untuk alat yang skemanya mendeklarasikan dialek JSON Schema selain draft 2020-12 di `$schema`. Claude Code tidak memeriksa skema tersebut terhadap meta-skema JSON Schema, meskipun pemeriksaan nama properti tingkat atas masih berlaku.

2181 2300 


2185 2304 

2186* Jika versi Claude Code Anda lebih awal dari v2.1.216, jalankan `claude update`.2305* Jika versi Claude Code Anda lebih awal dari v2.1.216, jalankan `claude update`.

2187* Hapus atau [nonaktifkan](/docs/id/mcp#disable-a-server-without-removing-it) server MCP yang mendeklarasikan skema tidak valid. Kesalahan hanya menyebutkan alat berdasarkan posisi. Pada v2.1.216 atau lebih baru, periksa log setiap server untuk baris yang menyebutkan alat yang skema input-nya akan ditolak. Jika tidak ada log yang menyebutkan satu, nonaktifkan server satu per satu.2306* Hapus atau [nonaktifkan](/docs/id/mcp#disable-a-server-without-removing-it) server MCP yang mendeklarasikan skema tidak valid. Kesalahan hanya menyebutkan alat berdasarkan posisi. Pada v2.1.216 atau lebih baru, periksa log setiap server untuk baris yang menyebutkan alat yang skema input-nya akan ditolak. Jika tidak ada log yang menyebutkan satu, nonaktifkan server satu per satu.

2188* Jika Anda memelihara server, perbaiki `input_schema` alat. Skema harus berupa JSON Schema yang valid, dan nama properti tingkat atas harus 1 hingga 64 karakter panjang dan hanya menggunakan huruf ASCII dan digit, `_`, `.`, dan `-`. Lihat [Tools with invalid input schemas](/docs/id/mcp#tools-with-invalid-input-schemas).2307* Jika Anda memelihara server, perbaiki `input_schema` alat. Skema harus JSON Schema yang valid, dan nama properti tingkat atas harus 1 hingga 64 karakter panjang dan hanya menggunakan huruf ASCII dan digit, `_`, `.`, dan `-`. Lihat [Alat dengan skema input tidak valid](/docs/id/mcp#tools-with-invalid-input-schemas).

2308 

2309<h3 id="tool-use-name-over-200-characters">

2310 tool\_use.name melebihi 200 karakter

2311</h3>

2312 

2313Panggilan alat dalam riwayat percakapan membawa nama yang lebih panjang dari 200 karakter yang diterima API dalam permintaan:

2314 

2315```text theme={null}

2316API Error: 400 ... tool_use.name: String should have at most 200 characters

2317```

2318 

2319Claude Code memotong nama seperti itu menjadi 200 karakter ketika respons tiba dan ketika memuat percakapan yang disimpan, jadi panggilan gagal dengan kesalahan alat biasa `No such tool available` dan percakapan berlanjut tanpa kesalahan API ini.

2320 

2321**Yang harus dilakukan:**

2322 

2323* Jalankan `claude update`, kemudian lanjutkan percakapan. Versi yang diperbarui memperbaiki nama yang terlalu panjang ketika memuat transkrip, jadi percakapan yang terjebak bekerja lagi.

2324 

2325Sebelum v2.1.281, nama yang terlalu panjang tetap dalam riwayat dan API menolak setiap permintaan yang mengirim ulang percakapan, termasuk `/compact` dan `--resume`, jadi kesalahan ini berulang dan percakapan terjebak.

2189 2326 

2190<h3 id="theres-an-issue-with-the-selected-model">2327<h3 id="theres-an-issue-with-the-selected-model">

2191 Ada masalah dengan model yang dipilih2328 Ada masalah dengan model yang dipilih


2201 2338 

2202* **CLI Interaktif**: jalankan `/model` untuk memilih dari model yang tersedia untuk akun Anda.2339* **CLI Interaktif**: jalankan `/model` untuk memilih dari model yang tersedia untuk akun Anda.

2203* **Mode non-interaktif (`-p`)**: teruskan `--model` dengan alias atau ID yang valid, atau atur [`ANTHROPIC_MODEL`](/docs/id/env-vars). Teks kesalahan menampilkan `Run --model` di permukaan ini.2340* **Mode non-interaktif (`-p`)**: teruskan `--model` dengan alias atau ID yang valid, atau atur [`ANTHROPIC_MODEL`](/docs/id/env-vars). Teks kesalahan menampilkan `Run --model` di permukaan ini.

2204* **Agent SDK**: teks kesalahan menghilangkan petunjuk karena model diatur secara terprogram. Atur [`model` pada `Options`](/docs/id/agent-sdk/typescript#options) di TypeScript atau [`ClaudeAgentOptions(model=...)`](/docs/id/agent-sdk/python#claudeagentoptions) di Python, dan tangani kesalahan terstruktur `model_not_found` untuk menampilkan pemilih ulang atau pemilih model Anda sendiri.2341* **Agent SDK**: teks kesalahan menghilangkan petunjuk karena model diatur secara terprogram. Atur [`model` pada `Options`](/docs/id/agent-sdk/typescript#options) di TypeScript atau [`ClaudeAgentOptions(model=...)`](/docs/id/agent-sdk/python#claudeagentoptions) di Python, dan tangani kesalahan terstruktur `model_not_found` untuk menampilkan percobaan ulang atau pemilih model Anda sendiri.

2205* Gunakan alias seperti `sonnet` atau `opus` bukan ID versi lengkap. Alias menyelesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Model configuration](/docs/id/model-config).2342* Gunakan alias seperti `sonnet` atau `opus` bukan ID versi lengkap. Alias menyelesaikan ke default yang dipertahankan sehingga tidak menjadi usang. Lihat [Konfigurasi model](/docs/id/model-config).

2206* Jika model yang salah terus kembali di CLI, ID usang diatur di suatu tempat. Periksa tempat Anda dapat mengatur model dalam [urutan prioritas](/docs/id/model-config#setting-your-model) dan hapus nilai usang.2343* Jika model yang salah terus kembali di CLI, ID usang diatur di suatu tempat. Periksa tempat Anda dapat mengatur model dalam [urutan prioritas](/docs/id/model-config#setting-your-model) dan hapus nilai usang.

2207* Model yang baru diluncurkan dapat tersedia di API Anthropic sebelum Amazon Bedrock, Platform Agent Google Cloud, atau Foundry Microsoft menawarkannya. Jika Anda menyematkan ID model baru pada salah satu penyedia tersebut dan melihat kesalahan ini, periksa katalog model penyedia Anda untuk ketersediaan di wilayah Anda, dan pertahankan versi sebelumnya yang disematkan sampai yang baru muncul di sana.2344* Model yang baru diluncurkan dapat tersedia di Anthropic API sebelum Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry menawarkannya. Jika Anda menyematkan ID model baru pada salah satu penyedia tersebut dan melihat kesalahan ini, periksa katalog model penyedia Anda untuk ketersediaan di wilayah Anda, dan pertahankan versi sebelumnya sampai yang baru muncul di sana.

2208* 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 pada versi yang lebih lama.2345* Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai [Login kedaluwarsa](#login-expired), bukan sebagai kesalahan ini. Sebelum v2.1.206, login kedaluwarsa yang tidak lagi dapat disegarkan gagal di setiap model dengan kesalahan ini; jalankan `/login` jika Anda melihat itu pada versi yang lebih lama.

2209* Untuk deployment Platform Agent Google Cloud, lihat [Troubleshooting Platform Agent Google Cloud](/docs/id/google-vertex-ai#troubleshooting).2346* Untuk deployment Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](/docs/id/google-vertex-ai#troubleshooting).

2210 2347 

2211<h3 id="model-is-not-a-recognized-model-id">2348<h3 id="model-is-not-a-recognized-model-id">

2212 Model bukan ID model yang dikenali2349 Model bukan ID model yang dikenali


2218Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?2355Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?

2219```2356```

2220 2357 

2221Petunjuk trailing menyebutkan alias atau ID model yang paling cocok. Ketika tidak ada yang cukup dekat, itu berbunyi `Run /model to see available models.` sebagai gantinya.2358Petunjuk trailing menyebutkan alias atau ID model yang paling cocok. Ketika tidak ada yang cukup dekat, itu berbunyi `Run /model to see available models.` sebagai gantinya. Dalam sesi yang dimulai [Desktop app](/docs/id/desktop) untuk Anda, petunjuk tidak ada kecocokan berbunyi `Switch to a different model.`

2222 2359 

2223Claude Code menghasilkan kesalahan ini secara lokal pada saat sakelar diminta, sebelum permintaan API apa pun dibuat. Ini berlaku ketika model diatur melalui metode [Agent SDK](/docs/id/agent-sdk/typescript) `setModel()`, oleh aplikasi seperti [Desktop app](/docs/id/desktop) yang menjalankan CLI Claude Code untuk Anda, atau ketika Anda memilih model dari perangkat yang terhubung melalui [Remote Control](/docs/id/remote-control). Sebelum v2.1.260, pemeriksaan tidak mencakup pilihan Remote Control, jadi Claude Code menerapkan pilihan dan permintaan berikutnya gagal dengan [Ada masalah dengan model yang dipilih](#theres-an-issue-with-the-selected-model).2360Claude Code menghasilkan kesalahan ini secara lokal pada saat sakelar diminta, sebelum permintaan API apa pun dibuat. Ini berlaku ketika model diatur melalui metode [Agent SDK](/docs/id/agent-sdk/typescript) `setModel()`, oleh aplikasi seperti [Desktop app](/docs/id/desktop) yang menjalankan Claude Code CLI untuk Anda, atau ketika Anda memilih model dari perangkat yang terhubung melalui [Remote Control](/docs/id/remote-control). Sebelum v2.1.260, pemeriksaan tidak mencakup pilihan Remote Control, jadi Claude Code menerapkan pilihan dan permintaan berikutnya gagal dengan [Ada masalah dengan model yang dipilih](#theres-an-issue-with-the-selected-model).

2224 2361 

2225**Yang harus dilakukan:**2362**Yang harus dilakukan:**

2226 2363 

2227* Jalankan `/model` tanpa argumen untuk membuka pemilih dan pilih dari model yang tersedia untuk akun Anda, kemudian teruskan alias atau ID yang ditampilkan di sana2364* Jalankan `/model` tanpa argumen untuk membuka pemilih dan pilih dari model yang tersedia untuk akun Anda, kemudian teruskan alias atau ID yang ditampilkan di sana

2228* Jika Anda menggunakan alias yang didukung versi Claude Code yang lebih baru, jalankan `claude update`. ID lengkap yang dimulai dengan `claude-` melewati pemeriksaan lokal ini bahkan ketika model lebih baru dari versi Claude Code Anda. Server masih dapat memerlukan versi minimum untuk model itu; lihat [Claude Code does not support this model](#claude-code-does-not-support-this-model).2365* Jika Anda menggunakan alias yang didukung versi Claude Code yang lebih baru, jalankan `claude update`. ID lengkap yang dimulai dengan `claude-` melewati pemeriksaan lokal ini bahkan ketika model lebih baru dari versi Claude Code Anda. Server masih dapat memerlukan versi minimum untuk model itu; lihat [Claude Code tidak mendukung model ini](#claude-code-does-not-support-this-model).

2229* Model yang disimpan sebelum v2.1.200 tidak diperbaiki oleh pemeriksaan ini. Jika nilai usang terus kembali, hapus dari lokasi yang tercantum di bawah [Setting your model](/docs/id/model-config#setting-your-model).2366* Model yang disimpan sebelum v2.1.200 tidak diperbaiki oleh pemeriksaan ini. Jika nilai usang terus kembali, hapus dari lokasi yang tercantum di bawah [Mengatur model Anda](/docs/id/model-config#setting-your-model).

2230* Pemeriksaan hanya berjalan di API Anthropic. Pada penyedia atau gateway lain apa pun, termasuk `ANTHROPIC_BASE_URL` kustom, penyedia menentukan nama model, jadi Claude Code menerima string apa pun dan meneruskannya. Claude Code masih dapat menulis [baris diagnostik model yang tidak dikenali](#unrecognized-model-id-on-a-request) pada waktu permintaan, di setiap penyedia.2367* Pemeriksaan hanya berjalan di Anthropic API. Pada penyedia atau gateway lain apa pun, termasuk `ANTHROPIC_BASE_URL` kustom, penyedia menentukan nama model, jadi Claude Code menerima string apa pun dan meneruskannya. Claude Code masih dapat menulis [baris diagnostik model tidak dikenali](#unrecognized-model-id-on-a-request) pada waktu permintaan, di setiap penyedia.

2231 2368 

2232<h3 id="model-not-found">2369<h3 id="model-not-found">

2233 Model tidak ditemukan2370 Model tidak ditemukan

2234</h3>2371</h3>

2235 2372 

2236Anda memilih model dengan `/model <name>` dan Claude Code tidak dapat mengkonfirmasi bahwa model dengan nama itu ada. Ketika nama bukan [alias model](/docs/id/model-config#model-aliases) atau ejaan lain yang Claude Code terima secara lokal, `/model` memverifikasinya dengan permintaan API minimal, dan kesalahan ini biasanya adalah jawaban endpoint API Anda. Nama yang tidak dapat menjadi ID model sama sekali, seperti yang berisi spasi, mendapatkan pesan yang sama.2373Anda memilih model dengan `/model <name>` dan Claude Code tidak dapat mengkonfirmasi bahwa model dengan nama itu ada. Ketika nama bukan [alias model](/docs/id/model-config#model-aliases) atau ejaan lain yang Claude Code terima secara lokal, `/model` memverifikasinya dengan permintaan API minimal, dan kesalahan ini biasanya adalah jawaban endpoint API Anda. Nama yang tidak dapat menjadi ID model sama sekali, seperti yang berisi spasi, mendapat pesan yang sama.

2237 2374 

2238```text theme={null}2375```text theme={null}

2239Model 'claude-opus-9' not found2376Model 'claude-opus-9' not found


2244**Yang harus dilakukan:**2381**Yang harus dilakukan:**

2245 2382 

2246* Jalankan `/model` tanpa argumen dan pilih dari model yang tersedia untuk akun Anda, atau gunakan [alias model](/docs/id/model-config#model-aliases) seperti `sonnet`, yang menyelesaikan ke default yang dipertahankan2383* Jalankan `/model` tanpa argumen dan pilih dari model yang tersedia untuk akun Anda, atau gunakan [alias model](/docs/id/model-config#model-aliases) seperti `sonnet`, yang menyelesaikan ke default yang dipertahankan

2247* Jika Anda mengetik ID lengkap, periksa terhadap katalog model penyedia Anda. Model yang baru diluncurkan dapat tersedia di API Anthropic sebelum penyedia atau wilayah Anda menawarkannya.2384* Jika Anda mengetik ID lengkap, periksa terhadap katalog model penyedia Anda. Model yang baru diluncurkan dapat tersedia di Anthropic API sebelum penyedia atau wilayah Anda menawarkannya.

2248* Sebelum v2.1.265, `/model` juga menolak ejaan alias `opusplan[1m]` dengan kesalahan ini. Pada versi tersebut, perbarui Claude Code, atau atur model di [settings](/docs/id/model-config#setting-your-model) atau dengan `--model` sebagai gantinya.2385* Sebelum v2.1.265, `/model` juga menolak ejaan alias `opusplan[1m]` dengan kesalahan ini. Pada versi tersebut, perbarui Claude Code, atau atur model di [pengaturan](/docs/id/model-config#setting-your-model) atau dengan `--model` sebagai gantinya.

2386 

2387<h3 id="api-error-model-not-changed">

2388 Kesalahan API saat memeriksa model yang dipilih

2389</h3>

2390 

2391Anda memilih model dengan `/model <name>`, atau aplikasi yang terhubung ke sesi meminta sakelar. API menolak permintaan minimal yang Claude Code kirim untuk memverifikasi model, untuk alasan yang tidak memiliki entri sendiri, seperti batas laju atau kesalahan server. Sesi menyimpan model saat ini, dan pesan berakhir dengan mengatakan demikian:

2392 

2393```text theme={null}

2394API error: 429 <the server's explanation> · model not changed

2395```

2396 

2397Bagian tengah pesan adalah status HTTP dan penjelasan server sendiri.

2398 

2399**Yang harus dilakukan:**

2400 

2401* Bertindak atas penjelasan server; untuk batas laju atau status 5xx, tunggu dan pilih model lagi

2402* Penolakan dengan pesan mereka sendiri dicakup oleh entri sekitarnya, seperti [Model tidak ditemukan](#model-not-found) dan [Model dibatasi oleh pengaturan organisasi Anda](#model-is-restricted-by-your-organizations-settings)

2249 2403 

2250<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">2404<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">

2251 Claude Opus tidak tersedia dengan paket Claude Pro2405 Claude Opus tidak tersedia dengan paket Claude Pro


2257Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.2411Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.

2258```2412```

2259 2413 

2414Dalam sesi yang dimulai Claude Desktop app, pesan mengatakan untuk `sign out and sign in again` bukan menyebutkan perintah.

2415 

2260**Yang harus dilakukan:**2416**Yang harus dilakukan:**

2261 2417 

2262* Jalankan `/model` dan pilih model yang disertakan paket Anda2418* Jalankan `/model` dan pilih model yang disertakan paket Anda


2267 Claude Code tidak mendukung model ini2423 Claude Code tidak mendukung model ini

2268</h3>2424</h3>

2269 2425 

2270API menolak permintaan dengan 400 karena versi Claude Code Anda di bawah minimum yang diperlukan. Baik model yang Anda pilih memerlukan versi yang lebih baru, yang diperiksa server per model, atau kebijakan organisasi Anda memerlukan satu. 400 membawa kode kesalahan `claude_code_version_too_old`, dan pesan mengatakan minimum mana yang berlaku.2426API menolak permintaan dengan 400 karena versi Claude Code Anda di bawah minimum yang diperlukan. Baik model yang Anda pilih memerlukan versi yang lebih baru, yang server periksa per model, atau kebijakan organisasi Anda memerlukan satu. 400 membawa kode kesalahan `claude_code_version_too_old`, dan pesan mengatakan minimum mana yang berlaku.

2271 2427 

2272```text theme={null}2428```text theme={null}

2273API Error: 400 Claude Code 2.1.219 does not support this model; version 2.1.255 or newer is required. Run 'claude update', or update the Claude desktop app, then try again.2429API Error: 400 Claude Code 2.1.219 does not support this model; version 2.1.255 or newer is required. Run 'claude update', or update the Claude desktop app, then try again.


2281 2437 

2282**Yang harus dilakukan:**2438**Yang harus dilakukan:**

2283 2439 

2284* Jalankan `claude update`, atau perbarui aplikasi desktop Claude, kemudian mulai sesi baru2440* Jalankan `claude update`, atau perbarui Claude desktop app, kemudian mulai sesi baru

2285* Untuk pesan per-model, Anda dapat terus bekerja dalam sesi saat ini dengan beralih ke model lain dengan `/model`2441* Untuk pesan per-model, Anda dapat terus bekerja dalam sesi saat ini dengan beralih ke model lain dengan `/model`

2286* Untuk pesan kebijakan organisasi, perbarui sebelum Anda melanjutkan2442* Untuk pesan kebijakan organisasi, perbarui sebelum Anda melanjutkan

2287 2443 


2289 Model dibatasi oleh pengaturan organisasi Anda2445 Model dibatasi oleh pengaturan organisasi Anda

2290</h3>2446</h3>

2291 2447 

2292Admin organisasi Anda telah menonaktifkan model ini di konsol admin claude.ai, atau dikecualikan oleh daftar izin [`availableModels`](/docs/id/model-config#restrict-model-selection) dalam pengaturan terkelola. Ketika model yang dibatasi diatur dengan `--model`, `ANTHROPIC_MODEL`, atau pengaturan `model`, Claude Code mengganti model yang diizinkan dan melanjutkan. Mengetik `/model <name>` untuk model yang dibatasi ditolak dengan `Run /model to choose a different model.` dan sesi menyimpan model saat ini. Pemberitahuan substitusi juga dapat muncul di tengah sesi setelah admin menonaktifkan model yang sedang dijalankan sesi di konsol admin claude.ai.2448Admin organisasi Anda telah menonaktifkan model ini di konsol admin claude.ai, atau pengaturan terkelola mengecualikannya melalui daftar allowlist [`availableModels`](/docs/id/model-config#restrict-model-selection) atau daftar [`deniedModels`](/docs/id/model-config#block-specific-models-or-versions). Pemberitahuan muncul saat startup ketika `--model`, `ANTHROPIC_MODEL`, atau pengaturan `model` menyebutkan model yang dibatasi, dan menyebutkan model yang digunakan sesi sebagai gantinya. Jika pengaturan terkelola tidak meninggalkan model yang diizinkan untuk digunakan sesi, lihat [Pengaturan terkelola memblokir model default](#managed-settings-block-the-default-model). Pemberitahuan substitusi juga dapat muncul di tengah sesi setelah admin menonaktifkan model yang dijalankan sesi di konsol admin claude.ai.

2293 2449 

2294```text theme={null}2450```text theme={null}

2295Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.2451Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.

2296```2452```

2297 2453 

2298Pemberitahuan dengan awalan nama agen, skill, atau perintah berarti pembatasan diterapkan pada [model yang diminta subagen](/docs/id/sub-agents#choose-a-model): subagen berjalan pada model yang diganti dan model sesi Anda tidak berubah. Sebelum v2.1.223, Claude Code menampilkan pemberitahuan hanya untuk subagen yang diluncurkan dengan alat Agent.2454Mengetik `/model <name>` untuk model yang dibatasi ditolak dan sesi menyimpan model saat ini. Untuk model yang dinonaktifkan di konsol admin, penolakan berbunyi `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` Untuk model yang pengaturan terkelola kecualikan, itu berbunyi `Model '<name>' is not available. Your organization restricts model selection.`

2455 

2456Pemberitahuan dengan awalan nama agen, skill, atau perintah berarti pembatasan diterapkan pada [model yang diminta subagen](/docs/id/sub-agents#choose-a-model): subagen berjalan pada model yang disubstitusi dan model sesi Anda tidak berubah. Sebelum v2.1.223, Claude Code menampilkan pemberitahuan hanya untuk subagen yang diluncurkan dengan alat Agent.

2299 2457 

2300Claude Code memperlakukan alias keluarga model, salah satu dari `opus`, `sonnet`, `haiku`, atau `fable`, sebagai permintaan untuk keluarga itu bukan untuk versi terbarunya. Di API Anthropic dan di [Claude Platform on AWS](/docs/id/claude-platform-on-aws), alias keluarga yang dibatasi menyelesaikan ke versi terbaru keluarga yang diizinkan organisasi Anda dan daftar izin `availableModels`, dan pemberitahuan substitusi menyebutkan versi itu. Claude Code menolak `/model <alias>` hanya ketika setiap versi keluarga dibatasi. Sebelum v2.1.205, alias keluarga diganti atau ditolak berdasarkan versi terbarunya saja, bahkan ketika versi yang lebih lama dari keluarga yang sama diizinkan.2458Claude Code memperlakukan alias keluarga model, salah satu dari `opus`, `sonnet`, `haiku`, atau `fable`, sebagai permintaan untuk keluarga itu bukan untuk versi terbarunya. Di Anthropic API dan di [Claude Platform on AWS](/docs/id/claude-platform-on-aws), alias keluarga yang dibatasi menyelesaikan ke versi terbaru keluarga yang diizinkan pengaturan organisasi Anda, dan pemberitahuan substitusi menyebutkan versi itu. Claude Code menolak `/model <alias>` hanya ketika setiap versi keluarga dibatasi. Sebelum v2.1.205, alias keluarga disubstitusi atau ditolak berdasarkan versi terbarunya saja, bahkan ketika versi keluarga yang lebih lama diizinkan.

2301 2459 

2302**Yang harus dilakukan:**2460**Yang harus dilakukan:**

2303 2461 

2304* Jalankan `/model` untuk memilih dari model yang diizinkan organisasi Anda. Model yang dibatasi disembunyikan dari pemilih.2462* Jalankan `/model` untuk memilih dari model yang diizinkan organisasi Anda. Model yang dibatasi disembunyikan dari pemilih.

2305* Jika model yang dibatasi diatur di `--model`, `ANTHROPIC_MODEL`, bidang `model` file pengaturan, atau frontmatter `model` dari [subagen](/docs/id/sub-agents#choose-a-model), skill, atau perintah, hapus atau perbarui nilai itu sehingga pemberitahuan tidak berulang2463* Jika model yang dibatasi diatur di `--model`, `ANTHROPIC_MODEL`, bidang `model` file pengaturan, atau frontmatter `model` dari [subagen](/docs/id/sub-agents#choose-a-model), skill, atau perintah, hapus atau perbarui nilai itu sehingga pemberitahuan tidak berulang

2306* Jika Anda memerlukan akses ke model yang dibatasi, minta admin organisasi Anda untuk mengaktifkannya. Lihat [Organization model restrictions](/docs/id/model-config#organization-model-restrictions).2464* Jika Anda memerlukan akses ke model yang dibatasi, minta admin organisasi Anda untuk mengaktifkannya. Lihat [Pembatasan model organisasi](/docs/id/model-config#organization-model-restrictions).

2307 2465 

2308<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">2466<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">

2309 Sakelar model diblokir oleh hook PreModelSwitch2467 Sakelar model diblokir oleh hook PreModelSwitch


2320* **Alasan yang ditulis hook**: hook PreModelSwitch menyediakan alasan itu ketika [menolak sakelar atau meminta konfirmasi](/docs/id/hooks#premodelswitch-decision-control). Tangani apa yang dimintanya, atau pilih model yang diizinkan hook Anda.2478* **Alasan yang ditulis hook**: hook PreModelSwitch menyediakan alasan itu ketika [menolak sakelar atau meminta konfirmasi](/docs/id/hooks#premodelswitch-decision-control). Tangani apa yang dimintanya, atau pilih model yang diizinkan hook Anda.

2321* **`PreModelSwitch hook <name> did not respond before its timeout`**: hook yang tidak menjawab sebelum [timeout](/docs/id/hooks#timeouts)-nya memblokir sakelar. Perbaiki perintah yang menggantung atau naikkan `timeout` hook itu, kemudian sakelar lagi.2479* **`PreModelSwitch hook <name> did not respond before its timeout`**: hook yang tidak menjawab sebelum [timeout](/docs/id/hooks#timeouts)-nya memblokir sakelar. Perbaiki perintah yang menggantung atau naikkan `timeout` hook itu, kemudian sakelar lagi.

2322* **`confirmation required, and this session cannot ask`**: hook menjawab `ask` tanpa alasan, dan permintaan kontrol tidak memiliki cara untuk menampilkan prompt konfirmasi. Perintah `/model` dalam run [`-p`](/docs/id/headless) melaporkan kondisi yang sama dengan `(run /model interactively to confirm)` setelah alasan. Buat sakelar dari sesi interaktif, atau ubah keputusan hook untuk model ini.2480* **`confirmation required, and this session cannot ask`**: hook menjawab `ask` tanpa alasan, dan permintaan kontrol tidak memiliki cara untuk menampilkan prompt konfirmasi. Perintah `/model` dalam run [`-p`](/docs/id/headless) melaporkan kondisi yang sama dengan `(run /model interactively to confirm)` setelah alasan. Buat sakelar dari sesi interaktif, atau ubah keputusan hook untuk model ini.

2323* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code tidak dapat mengetahui hook PreModelSwitch mana yang [plugin terkelola](/docs/id/settings-reference#enabledplugins) organisasi Anda berikan, misalnya karena plugin terkelola gagal dimuat. Salah satu hook itu mungkin memblokir sakelar, jadi Claude Code menolak bukan menerapkan sakelar yang tidak diperiksa. Awal alasan menyebutkan apa yang gagal. Claude Code memeriksa ulang pada setiap upaya sakelar, jadi kegagalan yang sejak itu telah dihapus berhenti memblokir; jika terus gagal, jalankan `claude --debug` dan sakelar lagi untuk menangkap detail, kemudian perbaiki plugin atau minta admin Anda memperbaikinya.2481* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code tidak dapat mengetahui hook PreModelSwitch mana yang [plugin terkelola](/docs/id/settings-reference#enabledplugins) organisasi Anda berikan, misalnya karena plugin terkelola gagal dimuat. Salah satu hook itu mungkin memblokir sakelar, jadi Claude Code menolak bukan menerapkan sakelar yang tidak diperiksa. Awal alasan menyebutkan apa yang gagal. Claude Code memeriksa ulang di setiap upaya sakelar, jadi kegagalan yang telah dihapus berhenti memblokir; jika terus gagal, jalankan `claude --debug` dan sakelar lagi untuk menangkap detail, kemudian perbaiki plugin atau minta admin Anda memperbaikinya.

2324* **`a PreModelSwitch hook failed before answering`** atau **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: jalankan hook berakhir tanpa putusan, dan Claude Code tidak memperlakukan itu sebagai persetujuan. Jalankan `claude --debug` untuk melihat apa yang gagal, kemudian sakelar lagi.2482* **`a PreModelSwitch hook failed before answering`** atau **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: jalankan hook berakhir tanpa putusan, dan Claude Code tidak memperlakukan itu sebagai persetujuan. Jalankan `claude --debug` untuk melihat apa yang gagal, kemudian sakelar lagi.

2325 2483 

2326Sebelum v2.1.260, penolakan plugin terkelola berbunyi `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code mencoba ulang pemuatan plugin sekali kemudian menolak sakelar kemudian dalam sesi, bahkan ketika organisasi Anda tidak mengelola plugin apa pun. Mulai ulang sesi untuk menjalankan pemuatan plugin lagi pada versi tersebut.2484Sebelum v2.1.260, penolakan plugin terkelola berbunyi `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code mencoba ulang pemuatan plugin sekali kemudian menolak sakelar kemudian dalam sesi, bahkan ketika organisasi Anda tidak mengelola plugin apa pun. Mulai ulang sesi untuk menjalankan pemuatan plugin lagi pada versi tersebut.


2337 2495 

2338Alasan setelah jalur file mengatakan apa yang gagal:2496Alasan setelah jalur file mengatakan apa yang gagal:

2339 2497 

2340* **`can't be written (<code>)`**: penulisan gagal dengan kode kesalahan sistem operasi dalam tanda kurung, seperti `EROFS` ketika file, atau file yang ditautkannya, duduk di sistem file yang menolak penulisan. Buat file dapat ditulis dan sakelar lagi. Jika alat lain menghasilkan file, atur kunci `model` di alat itu sebagai gantinya; lihat [A change you made in Claude Code is lost in new sessions](/docs/id/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions).2498* **`can't be written (<code>)`**: penulisan gagal dengan kode kesalahan sistem operasi dalam tanda kurung, seperti `EROFS` ketika file, atau file yang ditautkannya, duduk di sistem file yang menolak penulisan. Buat file dapat ditulis dan sakelar lagi. Jika alat lain menghasilkan file, atur kunci `model` di alat itu sebagai gantinya; lihat [Perubahan yang Anda buat di Claude Code hilang di sesi baru](/docs/id/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions).

2341* **`isn't valid JSON`**: file di disk tidak diurai, dan Claude Code meninggalkannya tidak tersentuh bukan menimpa konten yang tidak dapat dibaca kembali. Perbaiki kesalahan sintaks, kemudian sakelar lagi; lihat [Fix a broken settings file](/docs/id/settings#fix-a-broken-settings-file).2499* **`isn't valid JSON`**: file di disk tidak diurai, dan Claude Code meninggalkannya tidak tersentuh bukan menimpa konten yang tidak dapat dibaca kembali. Perbaiki kesalahan sintaks, kemudian sakelar lagi; lihat [Perbaiki file pengaturan yang rusak](/docs/id/settings#fix-a-broken-settings-file).

2342 2500 

2343Pemberitahuan yang berakhir `couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)` berarti penulisan belum selesai setelah tiga detik. Ini berlanjut di latar belakang, jadi default mungkin masih disimpan; periksa model mana yang dimulai sesi berikutnya Anda, atau jalankan `/model <name>` lagi.2501Pemberitahuan berakhir `couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)` berarti penulisan belum selesai setelah tiga detik. Ini berlanjut di latar belakang, jadi default mungkin masih disimpan; periksa model mana yang dimulai sesi berikutnya, atau jalankan `/model <name>` lagi.

2344 2502 

2345Sebelum v2.1.265, pemberitahuan mengatakan model itu `saved as your default for new sessions` bahkan ketika penulisan gagal.2503Sebelum v2.1.265, pemberitahuan mengatakan model itu `saved as your default for new sessions` bahkan ketika penulisan gagal.

2346 2504 


2356 2514 

2357**Yang harus dilakukan:**2515**Yang harus dilakukan:**

2358 2516 

2359* Jalankan `claude update` dan mulai ulang Claude Code. Opus 4.7 memerlukan v2.1.111 atau lebih baru. Opus 4.8 memerlukan v2.1.154 atau lebih baru. Sonnet 5 memerlukan v2.1.197 atau lebih baru. Opus 5 memerlukan v2.1.219 atau lebih baru. Opus 5.5 memerlukan v2.1.280 atau lebih baru2517* Jalankan `claude update` dan mulai ulang Claude Code. Opus 4.7 memerlukan v2.1.111 atau lebih baru. Opus 4.8 memerlukan v2.1.154 atau lebih baru. Sonnet 5 memerlukan v2.1.197 atau lebih baru. Opus 5 memerlukan v2.1.219 atau lebih baru. Opus 5.5 memerlukan v2.1.280 atau lebih baru. Sonnet 5.5 memerlukan v2.1.284 atau lebih baru

2360* Jika Anda tidak dapat meningkatkan, jalankan `/model` dan pilih Opus 4.6 atau Sonnet 4.6 sebagai gantinya2518* Jika Anda tidak dapat meningkatkan, jalankan `/model` dan pilih Opus 4.6 atau Sonnet 4.6 sebagai gantinya

2361* Jika Anda mencapai ini di [Agent SDK](/docs/id/agent-sdk/overview), tingkatkan paket SDK sebagai gantinya. Opus 4.8 memerlukan TypeScript SDK v0.3.154 atau lebih baru dan Python SDK v0.2.88 atau lebih baru. Sonnet 5 memerlukan TypeScript SDK v0.3.197 atau lebih baru. Opus 5 memerlukan TypeScript SDK v0.3.219 atau lebih baru. Opus 5.5 memerlukan TypeScript SDK v0.3.280 atau lebih baru2519* Jika Anda mengalami ini di [Agent SDK](/docs/id/agent-sdk/overview), tingkatkan paket SDK sebagai gantinya. Opus 4.8 memerlukan TypeScript SDK v0.3.154 atau lebih baru dan Python SDK v0.2.88 atau lebih baru. Sonnet 5 memerlukan TypeScript SDK v0.3.197 atau lebih baru. Opus 5 memerlukan TypeScript SDK v0.3.219 atau lebih baru. Opus 5.5 memerlukan TypeScript SDK v0.3.280 atau lebih baru. Sonnet 5.5 memerlukan TypeScript SDK v0.3.284 atau lebih baru

2362 2520 

2363<h3 id="effort-isnt-available-with-thinking-turned-off">2521<h3 id="effort-isnt-available-with-thinking-turned-off">

2364 Effort tidak tersedia dengan pemikiran dimatikan2522 Effort tidak tersedia dengan pemikiran dimatikan

2365</h3>2523</h3>

2366 2524 

2367Anda mematikan [extended thinking](/docs/id/model-config#extended-thinking) dan menjalankan pada [effort level](/docs/id/model-config#adjust-effort-level) di atas `high`. Model tidak menerima kombinasi itu, jadi API menolak permintaan.2525Anda mematikan [extended thinking](/docs/id/model-config#extended-thinking) dan menjalankan pada [level effort](/docs/id/model-config#adjust-effort-level) di atas `high`. Model tidak menerima kombinasi itu, jadi API menolak permintaan.

2368 2526 

2369```text theme={null}2527```text theme={null}

2370API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0)2528API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0)

2371```2529```

2372 2530 

2531Petunjuk setelah `·` bervariasi menurut sesi: dalam sesi non-interaktif itu berbunyi `use --effort high (or the effortLevel setting)`, dan dalam sesi yang dimulai Claude Desktop app itu berbunyi `you can lower effort to High`.

2532 

2373**Yang harus dilakukan:**2533**Yang harus dilakukan:**

2374 2534 

2375* [Turunkan effort level](/docs/id/model-config#set-the-effort-level) ke `high` atau di bawahnya.2535* [Turunkan level effort](/docs/id/model-config#set-the-effort-level) ke `high` atau di bawah.

2376* Nyalakan pemikiran kembali, misalnya dengan membatalkan [`MAX_THINKING_TOKENS`](/docs/id/env-vars) atau menghapus [`"alwaysThinkingEnabled": false`](/docs/id/settings-reference#alwaysthinkingenabled) dari pengaturan Anda.2536* Nyalakan pemikiran kembali, misalnya dengan membatalkan [`MAX_THINKING_TOKENS`](/docs/id/env-vars) atau menghapus [`"alwaysThinkingEnabled": false`](/docs/id/settings-reference#alwaysthinkingenabled) dari pengaturan Anda.

2377 2537 

2378Sebelum v2.1.242, Claude Code menampilkan pesan API sendiri: `API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking.` Sebelum v2.1.251, Claude Code mengirim permintaan pada effort level yang Anda atur, jadi Opus 5 menolak setiap permintaan di atas `high` dengan pemikiran dimatikan. Claude Code sekarang mengirim effort `high` sebagai gantinya ke model yang diketahuinya menolak kombinasi, seperti Opus 5, jadi pada v2.1.251 atau lebih baru kesalahan ini mencapai Anda hanya dari model yang Claude Code tidak tahu menolaknya.2538Sebelum v2.1.242, Claude Code menampilkan pesan API sendiri: `API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking.` Sebelum v2.1.251, Claude Code mengirim permintaan pada level effort yang Anda atur, jadi Opus 5 menolak setiap permintaan di atas `high` dengan pemikiran dimatikan. Claude Code sekarang mengirim effort `high` sebagai gantinya ke model yang diketahuinya menolak kombinasi, seperti Opus 5, jadi pada v2.1.251 atau lebih baru kesalahan ini mencapai Anda hanya dari model yang Claude Code tidak tahu menolaknya.

2379 2539 

2380<h3 id="thinking-budget-exceeds-output-limit">2540<h3 id="thinking-budget-exceeds-output-limit">

2381 Anggaran pemikiran melebihi batas output2541 Anggaran pemikiran melebihi batas output

2382</h3>2542</h3>

2383 2543 

2384Anggaran extended thinking yang dikonfigurasi melebihi panjang respons maksimum, jadi tidak ada ruang yang tersisa untuk jawaban sebenarnya.2544Anggaran pemikiran extended yang dikonfigurasi melebihi panjang respons maksimum, jadi tidak ada ruang tersisa untuk jawaban sebenarnya.

2385 2545 

2386```text theme={null}2546```text theme={null}

2387API Error: 400 ... max_tokens must be greater than thinking.budget_tokens2547API Error: 400 ... max_tokens must be greater than thinking.budget_tokens

2388```2548```

2389 2549 

2390Claude Code menyesuaikan nilai-nilai ini secara otomatis di API Anthropic. Anda biasanya melihat kesalahan ini di Amazon Bedrock atau Platform Agent Google Cloud ketika [`MAX_THINKING_TOKENS`](/docs/id/env-vars) diatur lebih tinggi dari batas output penyedia, atau ketika mode rencana menaikkan anggaran pemikiran.2550Claude Code menyesuaikan nilai ini secara otomatis di Anthropic API. Anda biasanya melihat kesalahan ini di Amazon Bedrock atau Google Cloud's Agent Platform ketika [`MAX_THINKING_TOKENS`](/docs/id/env-vars) diatur lebih tinggi dari batas output penyedia, atau ketika mode rencana menaikkan anggaran pemikiran.

2391 2551 

2392**Yang harus dilakukan:**2552**Yang harus dilakukan:**

2393 2553 


2398 Ketidakcocokan blok penggunaan alat atau pemikiran2558 Ketidakcocokan blok penggunaan alat atau pemikiran

2399</h3>2559</h3>

2400 2560 

2401Riwayat percakapan mencapai API dalam keadaan tidak konsisten, biasanya setelah panggilan alat dihentikan atau giliran diedit di tengah aliran.2561Riwayat percakapan mencapai API dalam keadaan tidak konsisten, biasanya setelah panggilan alat terputus atau giliran diedit di tengah aliran.

2402 2562 

2403```text theme={null}2563```text theme={null}

2404API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.2564API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.


2415* Jika Anda menggunakan Opus 4.7 atau Opus 4.8, jalankan `claude update` terlebih dahulu. Versi sebelum v2.1.156 dapat memicu kesalahan ini selama penggunaan alat normal, dan `/rewind` tidak menghapusnya.2575* Jika Anda menggunakan Opus 4.7 atau Opus 4.8, jalankan `claude update` terlebih dahulu. Versi sebelum v2.1.156 dapat memicu kesalahan ini selama penggunaan alat normal, dan `/rewind` tidak menghapusnya.

2416* Jalankan `/rewind`, atau tekan Esc dua kali, untuk mundur ke checkpoint sebelum giliran yang rusak dan lanjutkan dari sana. Lihat [Checkpointing](/docs/id/checkpointing) untuk bagaimana checkpoint dibuat dan dipulihkan.2576* Jalankan `/rewind`, atau tekan Esc dua kali, untuk mundur ke checkpoint sebelum giliran yang rusak dan lanjutkan dari sana. Lihat [Checkpointing](/docs/id/checkpointing) untuk bagaimana checkpoint dibuat dan dipulihkan.

2417 2577 

2578<h3 id="invalid-data-in-redacted-thinking-block">

2579 Data tidak valid dalam blok redacted\_thinking

2580</h3>

2581 

2582API menolak permintaan dengan 400 karena tidak dapat menerima blok `redacted_thinking` yang dibawa giliran sebelumnya dalam riwayat percakapan.

2583 

2584```text theme={null}

2585API Error: 400 ... Invalid `data` in `redacted_thinking` block

2586```

2587 

2588Claude Code meninggalkan pemikiran percakapan yang lebih awal dari permintaan dan mencoba ulang sekali, jadi sesi berlanjut tanpa menampilkan kesalahan. Sebelum v2.1.282, Claude Code menyimpan blok yang ditolak, dan setiap giliran kemudian gagal dengan kesalahan yang sama.

2589 

2590**Yang harus dilakukan:**

2591 

2592* Jika Anda berada di v2.1.281 atau lebih awal dan setiap giliran gagal dengan kesalahan ini, jalankan `claude update` dan lanjutkan sesi

2593* Jika kesalahan berlanjut, jalankan `/clear` untuk memulai percakapan yang tidak membawa blok

2594 

2418<h3 id="unsupported-tool-content-removed">2595<h3 id="unsupported-tool-content-removed">

2419 Konten alat yang tidak didukung dihapus2596 Konten alat yang tidak didukung dihapus

2420</h3>2597</h3>

2421 2598 

2422Ketika Claude Code terhubung langsung ke API Anthropic dan memuat atau melihat pratinjau sesi yang disimpan, ia menghapus konten alat yang API Anthropic tidak terima dan meninggalkan baris ini di mana konten yang dihapus duduk di antara dua blok pemikiran:2599Ketika Claude Code terhubung langsung ke Anthropic API dan memuat atau melihat pratinjau sesi yang disimpan, ia menghapus konten alat yang API Anthropic tidak terima dan meninggalkan baris ini di mana konten yang dihapus duduk di antara dua blok pemikiran:

2423 2600 

2424```text theme={null}2601```text theme={null}

2425[Unsupported tool content removed]2602[Unsupported tool content removed]

2426```2603```

2427 2604 

2428Konten seperti itu mencapai file sesi ketika sesuatu selain API Anthropic menjawab dalam format API, biasanya proxy pihak ketiga yang diatur melalui [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) yang menerjemahkan panggilan alat penyedia lain. Claude Code menghapusnya hanya ketika sesi terhubung langsung ke API Anthropic, dan memuat riwayat yang disimpan seperti adanya ketika sesi berjalan melalui proxy atau di penyedia lain. Sebelum v2.1.246, Claude Code mengirim penggunaan alat dan hasilnya kembali ke API, dan setiap giliran sesi yang dilanjutkan gagal dengan kesalahan 400 seperti `messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ...`.2605Konten seperti itu mencapai file sesi ketika sesuatu selain API Anthropic menjawab dalam format API, biasanya proxy pihak ketiga yang diatur melalui [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) yang menerjemahkan panggilan alat penyedia lain. Claude Code menghapusnya hanya ketika sesi terhubung langsung ke Anthropic API, dan memuat riwayat yang disimpan seperti adanya ketika sesi berjalan melalui proxy atau di penyedia lain. Sebelum v2.1.246, Claude Code mengirim penggunaan alat dan hasilnya kembali ke API, dan setiap giliran sesi yang dilanjutkan gagal dengan kesalahan 400 seperti `messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ...`.

2429 2606 

2430**Yang harus dilakukan:**2607**Yang harus dilakukan:**

2431 2608 


2442API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...2619API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...

2443```2620```

2444 2621 

2445Claude Code mengirim beberapa teks pengingat dan lampiran sebagai pesan sistem di dalam percakapan. Ketika API menolak posisi satu, Claude Code mencoba ulang permintaan sekali dengan teks itu dikirim sebagai pesan pengguna biasa sebagai gantinya. Pesan penempatan saudara API, seperti `use the top-level 'system' parameter for the initial system prompt`, mendapatkan pemulihan yang sama.2622Claude Code mengirim beberapa teks pengingat dan lampiran sebagai pesan sistem di dalam percakapan. Ketika API menolak posisi satu, Claude Code mencoba ulang permintaan sekali dengan teks itu dikirim sebagai pesan pengguna biasa sebagai gantinya. Pesan penempatan saudara API, seperti `use the top-level 'system' parameter for the initial system prompt`, mendapat pemulihan yang sama.

2446 2623 

2447Ketika kesalahan muncul, pesan sistem yang ditolak bukan yang dapat dihapus Claude Code. Itu biasanya berarti proxy atau [gateway LLM](/docs/id/llm-gateway) antara Claude Code dan API menambahkan pesan sistem mereka sendiri atau mengurutkan ulang percakapan.2624Ketika kesalahan muncul, pesan sistem yang ditolak bukan yang dapat dihapus Claude Code. Itu biasanya berarti proxy atau [gateway LLM](/docs/id/llm-gateway) antara Claude Code dan API menambahkan pesan sistem mereka sendiri atau mengurutkan ulang percakapan.

2448 2625 

2449**Yang harus dilakukan:**2626**Yang harus dilakukan:**

2450 2627 

2451* Jalankan `/clear` untuk memulai percakapan segar. Jika kesalahan kembali di sana juga, penyebabnya ada di jalur permintaan, bukan di percakapan yang disimpan.2628* Jalankan `/clear` untuk memulai percakapan segar. Jika kesalahan kembali di sana juga, penyebabnya ada di jalur permintaan, bukan di percakapan yang disimpan.

2452* Jika kesalahan berulang pada setiap giliran di belakang proxy atau gateway yang dikonfigurasi melalui [`ANTHROPIC_BASE_URL`](/docs/id/env-vars), terhubung tanpa proxy untuk mengkonfirmasi sumber, dan laporkan kesalahan ke siapa pun yang mengoperasikannya2629* Jika kesalahan berulang di setiap giliran di belakang proxy atau gateway yang dikonfigurasi melalui [`ANTHROPIC_BASE_URL`](/docs/id/env-vars), terhubung tanpa proxy untuk mengkonfirmasi sumber, dan laporkan kesalahan ke siapa pun yang mengoperasikannya

2453 2630 

2454Sebelum v2.1.280, Claude Code tidak mengenali pesan ini, jadi kesalahan juga muncul ketika pesan sistem yang ditolak adalah yang dikirim Claude Code sendiri, dan setiap giliran percakapan kemudian gagal dengan cara yang sama.2631Sebelum v2.1.280, Claude Code tidak mengenali pesan ini, jadi kesalahan juga muncul ketika pesan sistem yang ditolak adalah yang dikirim Claude Code itu sendiri, dan setiap giliran kemudian dari percakapan gagal dengan cara yang sama.

2455 2632 

2456<h3 id="invalid-encrypted-content-in-search-result-block">2633<h3 id="invalid-encrypted-content-in-search-result-block">

2457 Encrypted\_content tidak valid dalam blok search\_result2634 Konten terenkripsi tidak valid dalam blok search\_result

2458</h3>2635</h3>

2459 2636 

2460API menolak permintaan dengan 400 karena riwayat percakapan menyimpan konten pencarian web yang dihosting yang tidak dapat didekripsi. Pesan menyebutkan bidang yang tidak dapat dibacanya:2637API menolak permintaan dengan 400 karena riwayat percakapan menyimpan konten pencarian web yang dihosting yang tidak dapat didekripsi. Pesan menyebutkan bidang yang tidak dapat dibacanya:

2461 2638 

2462```text theme={null}2639```text theme={null}

2463API Error: 400 messages.21.content.0: Invalid `encrypted_content` in `search_result` block2640API Error: 400 ... Invalid `encrypted_content` in `search_result` block

2464API Error: 400 messages.21.content.3.citations.0: Invalid `encrypted_index` in `text` block2641API Error: 400 ... Invalid `encrypted_index` in `text` block

2465API Error: 400 Failed to decrypt web search result content2642API Error: 400 ... Failed to decrypt web search result content

2643API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block

2466```2644```

2467 2645 

2468Hasil dari [alat pencarian web](/docs/id/tools-reference#websearch-tool-behavior) yang dihosting API membawa bidang terenkripsi yang hanya dapat dibaca API. API menolak permintaan yang memutar ulang konten yang tidak dapat didekripsi, seperti konten yang diproduksi untuk organisasi berbeda.2646Hasil dari alat [web search yang dihosting](/docs/en/changelog) API membawa bidang terenkripsi yang hanya dapat dibaca API. `encrypted_stdout` pesan menyebutkan output program eksekusi kode yang dihosting yang membaca hasil seperti itu, yang API enkripsi juga. API menolak permintaan yang memutar ulang konten yang tidak dapat didekripsi, seperti konten yang diproduksi untuk organisasi berbeda.

2469 2647 

2470Alat [WebSearch](/docs/id/tools-reference#websearch-tool-behavior) Claude Code sendiri mencatat hasil pencarian sebagai teks biasa, jadi blok ini biasanya mencapai percakapan melalui proxy atau [gateway LLM](/docs/id/llm-gateway) yang menjalankan pencarian web yang dihosting itu sendiri.2648Alat [WebSearch](/docs/id/tools-reference#websearch-tool-behavior) Claude Code sendiri mencatat hasil pencarian sebagai teks biasa, jadi blok ini biasanya mencapai percakapan melalui proxy atau [gateway LLM](/docs/id/llm-gateway) yang menjalankan pencarian web yang dihosting itu sendiri.

2471 2649 

2472Blok yang ditolak tetap berada dalam riwayat percakapan, jadi setiap giliran kemudian dan `/compact` gagal dengan cara yang sama.2650Untuk tiga pesan pencarian web, Claude Code meninggalkan panggilan pencarian, hasil, dan kutipan dari apa yang dikirimnya dan mencoba ulang permintaan sekali, jadi sesi berlanjut tanpa menampilkan kesalahan. Pesan `encrypted_stdout` tidak memiliki pemulihan seperti itu, jadi pesan itu masih mencapai Anda. Sebelum v2.1.282, Claude Code menyimpan blok pencarian web yang ditolak juga, dan setiap giliran kemudian dan `/compact` gagal dengan cara yang sama.

2473 2651 

2474**Yang harus dilakukan:**2652**Yang harus dilakukan:**

2475 2653 

2476* Jalankan `/clear` atau mulai sesi baru; percakapan baru tidak membawa blok yang ditolak2654* Jika Anda berada di v2.1.281 atau lebih awal dan setiap giliran gagal dengan salah satu pesan pencarian web, jalankan `claude update` dan lanjutkan sesi

2655* Jika kesalahan berlanjut, atau pesan menyebutkan `encrypted_stdout`, jalankan `/rewind` untuk mundur ke checkpoint sebelum giliran yang menambahkan konten, atau jalankan `/clear` untuk memulai percakapan yang tidak membawanya

2477* Jika Anda menjalankan Claude Code di belakang proxy atau gateway, laporkan kesalahan ke siapa pun yang mengoperasikannya2656* Jika Anda menjalankan Claude Code di belakang proxy atau gateway, laporkan kesalahan ke siapa pun yang mengoperasikannya

2478 2657 

2479<h3 id="usage-policy-refusal">2658<h3 id="usage-policy-refusal">

2480 Penolakan Kebijakan Penggunaan2659 Penolakan Kebijakan Penggunaan

2481</h3>2660</h3>

2482 2661 

2483API menolak untuk merespons karena konten dalam percakapan memicu pemeriksaan [Kebijakan Penggunaan](https://www.anthropic.com/legal/aup). Pesan menyertakan ID Permintaan yang dapat Anda kutip untuk mendukung jika Anda percaya penolakan tidak benar.2662API menolak untuk merespons karena konten dalam percakapan memicu pemeriksaan [Kebijakan Penggunaan](https://www.anthropic.com/legal/aup).

2663 

2664Pesan menyertakan ID Permintaan dan ID Pesan yang dapat Anda kutip untuk mendukung jika Anda percaya penolakan tidak benar.

2484 2665 

2485```text theme={null}2666```text theme={null}

2486API Error: Opus 4.6 can't help with this. Start a new session to continue.2667API Error: Opus 4.6 can't help with this. Start a new session to continue.


2490 2671 

2491Pesan menyebutkan model yang menolak, atau `Claude` ketika tidak ada model yang dicatat.2672Pesan menyebutkan model yang menolak, atau `Claude` ketika tidak ada model yang dicatat.

2492 2673 

2493Pemeriksaan mengevaluasi seluruh percakapan, bukan hanya prompt terbaru Anda, jadi mengirim pesan baru dalam sesi yang sama biasanya memicu ulang penolakan yang sama. Hal yang sama berlaku setelah keluar dan membuka kembali sesi dengan `--continue` atau `--resume`, karena transkrip di disk masih berisi konten pemicu. Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Platform Agent Google Cloud](/docs/id/google-vertex-ai), dan [Microsoft Foundry](/docs/id/microsoft-foundry), pesan ini juga mencakup permintaan yang langkah-langkah keselamatan model tandai sebagai topik keamanan siber. Lihat [Safety measures flagged a cybersecurity topic](#safety-measures-flagged-a-cybersecurity-topic).2674Pemeriksaan mengevaluasi seluruh percakapan, bukan hanya prompt terbaru Anda, jadi mengirim pesan baru dalam sesi yang sama biasanya memicu ulang penolakan yang sama. Hal yang sama berlaku setelah keluar dan membuka kembali sesi dengan `--continue` atau `--resume`, karena transkrip di disk masih berisi konten yang memicu. Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), dan [Microsoft Foundry](/docs/id/microsoft-foundry), pesan ini juga mencakup permintaan yang langkah-langkah keselamatan model tandai sebagai topik keamanan siber. Lihat [Langkah-langkah keselamatan menandai topik keamanan siber](#safety-measures-flagged-a-cybersecurity-topic).

2494 2675 

2495Sebelum v2.1.219, pesan berbunyi `Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.`2676Sebelum v2.1.219, pesan berbunyi `Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.`

2496 2677 

2497**Yang harus dilakukan:**2678**Yang harus dilakukan:**

2498 2679 

2499* Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke checkpoint sebelum giliran yang memicu penolakan, kemudian rephrase atau ambil pendekatan berbeda. Lihat [Checkpointing](/docs/id/checkpointing).2680* Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke checkpoint sebelum giliran yang memicu penolakan, kemudian rephrase atau ambil pendekatan berbeda. Lihat [Checkpointing](/docs/id/checkpointing).

2500* Jika Anda tidak dapat mengidentifikasi giliran mana yang menyebabkannya, jalankan `/clear` untuk memulai percakapan segar dalam proyek yang sama. Percakapan sebelumnya Anda disimpan di disk dan tetap tersedia di `/resume`.2681* Jika Anda tidak dapat mengidentifikasi giliran mana yang menyebabkannya, jalankan `/clear` untuk memulai percakapan segar dalam proyek yang sama. Percakapan sebelumnya Anda dipertahankan di disk dan tetap tersedia di `/resume`.

2501* Dalam [mode non-interaktif](/docs/id/headless) (`-p`), di mana rewind tidak tersedia, coba ulang dengan prompt yang diucapkan ulang dalam sesi baru tanpa `--continue`. Pemeriksaan kebijakan bervariasi menurut model, jadi beralih ke model berbeda dengan `--model` juga dapat menyelesaikan penolakan dalam beberapa kasus.2682* Dalam [mode non-interaktif](/docs/id/headless) (`-p`), di mana rewind tidak tersedia, coba ulang dengan prompt yang diucapkan ulang dalam sesi baru tanpa `--continue`. Pemeriksaan kebijakan bervariasi menurut model, jadi beralih ke model berbeda dengan `--model` juga dapat menyelesaikan penolakan dalam beberapa kasus.

2502 2683 

2503<h3 id="safety-measures-flagged-a-cybersecurity-topic">2684<h3 id="safety-measures-flagged-a-cybersecurity-topic">


2510API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude2691API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude

2511```2692```

2512 2693 

2513Pesan menautkan ke [Program Verifikasi Siber](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), yang memberikan akses untuk pekerjaan keamanan siber yang sah. Di Opus 5.5, yang memerlukan v2.1.280 atau lebih baru, pesan dibuka dengan `Opus 5.5's safeguards flagged this session` sebagai gantinya. Ketika kategori yang ditandai memiliki model fallback yang tersedia, Claude Code [beralih model](/docs/id/model-config#automatic-model-fallback) bukan menampilkan kesalahan ini.2694Pesan menautkan ke [Program Verifikasi Siber](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), yang memberikan akses untuk pekerjaan keamanan siber yang sah. Pada Opus 5.5 dan Sonnet 5.5, pesan dibuka dengan `<model>'s safeguards flagged this session` sebagai gantinya. Ketika kategori yang ditandai memiliki model fallback yang tersedia, Claude Code [beralih model](/docs/id/model-config#automatic-model-fallback) bukan menampilkan kesalahan ini.

2514 2695 

2515Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Platform Agent Google Cloud](/docs/id/google-vertex-ai), dan [Microsoft Foundry](/docs/id/microsoft-foundry), bendera keamanan siber menghasilkan pesan [Penolakan Kebijakan Penggunaan](#usage-policy-refusal) sebagai gantinya.2696Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), dan [Microsoft Foundry](/docs/id/microsoft-foundry), bendera keamanan siber menghasilkan pesan [Penolakan Kebijakan Penggunaan](#usage-policy-refusal) sebagai gantinya.

2516 2697 

2517Penjaga itu sendiri adalah server-side dan mendahului v2.1.203; rilis klien sejak itu hanya mengubah pesan wording.2698Penjaga itu sendiri adalah server-side dan mendahului v2.1.203; rilis klien sejak saat itu hanya mengubah pesan pesan.

2518Dari v2.1.203 melalui v2.1.218, pesan berbunyi `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:` diikuti oleh tautan pusat bantuan yang sama, dan sesi interaktif ditambahkan `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`2699Dari v2.1.203 melalui v2.1.218, pesan berbunyi `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:` diikuti oleh tautan pusat bantuan yang sama, dan sesi interaktif ditambahkan `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`

2519Sebelum v2.1.203, itu berbunyi `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` diikuti oleh tautan formulir pengecualian.2700Sebelum v2.1.203, itu berbunyi `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` diikuti oleh tautan formulir pengecualian.

2520 2701 


2596 Konfigurasi --agents tidak valid2777 Konfigurasi --agents tidak valid

2597</h3>2778</h3>

2598 2779 

2599Nilai yang Anda berikan ke `--agents` tidak valid, jadi `claude` keluar dengan kode 1 alih-alih memulai sesi. Ketika Anda melewatkan `--safe-mode`, `--resume`, atau `--continue`, atau mengatur [`CLAUDE_CODE_SAFE_MODE`](/docs/id/env-vars#variables), Claude Code tidak memeriksa nilainya dan memulai sesi. Sebelum v2.1.242, Claude Code memulai sesi bagaimanapun dan menghilangkan definisi yang tidak bisa dimuat.2780Nilai yang Anda berikan ke `--agents` tidak valid, jadi `claude` keluar dengan kode 1 alih-alih memulai sesi. Ketika Anda melewatkan `--safe-mode` atau mengatur [`CLAUDE_CODE_SAFE_MODE`](/docs/id/env-vars#variables), Claude Code mengabaikan `--agents` sepenuhnya. Dengan `--resume` atau `--continue`, nilai JSON inline tidak diperiksa dan sesi dimulai; nilai yang dibaca dari file diperiksa pada setiap peluncuran. Sebelum v2.1.242, Claude Code memulai sesi bagaimanapun dan menghilangkan definisi yang tidak bisa dimuat.

2600 2781 

2601```text theme={null}2782```text theme={null}

2602Error: Invalid --agents configuration:2783Error: Invalid --agents configuration:


2605 2786 

2606Apa yang mengikuti baris pertama tergantung pada bagaimana nilainya gagal. Claude Code menjalankan pemeriksaan ini secara berurutan dan berhenti di yang pertama gagal. Jika nilai Anda memiliki dua jenis masalah, Anda hanya melihat yang kedua setelah Anda memperbaiki yang pertama:2787Apa yang mengikuti baris pertama tergantung pada bagaimana nilainya gagal. Claude Code menjalankan pemeriksaan ini secara berurutan dan berhenti di yang pertama gagal. Jika nilai Anda memiliki dua jenis masalah, Anda hanya melihat yang kedua setelah Anda memperbaiki yang pertama:

2607 2788 

26081. Ketika nilai tidak diuraikan sebagai JSON, Claude Code mencetak satu baris `invalid JSON:` yang membawa pesan parser JSON sendiri27891. Ketika nilai dimulai dengan `{` tetapi tidak diuraikan sebagai JSON, atau konten file `--agents` tidak diuraikan, Claude Code mencetak satu baris `invalid JSON:` yang membawa pesan parser JSON sendiri

26092. Ketika diuraikan tetapi definisi agen tidak cocok dengan skema untuk [subagen yang ditentukan CLI](/docs/id/sub-agents#choose-the-subagent-scope), Claude Code mencetak satu baris per masalah27902. Ketika diuraikan tetapi definisi agen tidak cocok dengan skema untuk [subagen yang ditentukan CLI](/docs/id/sub-agents#choose-the-subagent-scope), Claude Code mencetak satu baris per masalah

26103. Ketika nama agen dimulai dengan `-`, Claude Code mencetak `<name>: agent names must not start with '-'`27913. Ketika nama agen dimulai dengan `-`, Claude Code mencetak `<name>: agent names must not start with '-'`

2611 2792 

2612Ketika ada lebih dari 20 baris masalah, Claude Code mencetak 20 yang pertama dan mengganti sisanya dengan `…and N more`.2793Ketika ada lebih dari 20 baris masalah, Claude Code mencetak 20 yang pertama dan mengganti sisanya dengan `…and N more`.

2613 2794 

2795Dengan `--print`, `--agents` juga menerima [jalur ke file JSON](/docs/id/sub-agents#choose-the-subagent-scope) sebagai pengganti objek inline. Sebelum v2.1.281, `--agents` hanya menerima JSON inline dan memperlakukan jalur file sebagai JSON yang tidak valid. Bentuk file memiliki penolakan-nya sendiri, dicetak sebagai pengganti pesan ini, termasuk ini:

2796 

2797* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code membaca nilai sebagai jalur file dalam sesi interaktif. Berikan definisi sebagai JSON inline, atau tambahkan `-p` untuk membacanya dari file.

2798* **`Error: --agents file not found: <path>`**: tidak ada file yang ada di jalur itu. Nilai yang tidak dimulai dengan `{` dan bukan JSON yang valid dibaca sebagai jalur, jadi JSON inline yang shell Anda rusak dapat gagal dengan cara ini juga. Periksa jalur atau kutipan dan jalankan perintah lagi.

2799 

2614**Yang harus dilakukan:**2800**Yang harus dilakukan:**

2615 2801 

2616* Perbaiki setiap masalah yang daftar pesan, kemudian jalankan perintah lagi. Lihat [bidang yang diambil subagen yang ditentukan CLI](/docs/id/sub-agents#choose-the-subagent-scope).2802* Perbaiki setiap masalah yang daftar pesan, kemudian jalankan perintah lagi. Lihat [bidang yang diambil subagen yang ditentukan CLI](/docs/id/sub-agents#choose-the-subagent-scope).


2758 Workspace tidak dipercaya saat memulai Remote Control2944 Workspace tidak dipercaya saat memulai Remote Control

2759</h3>2945</h3>

2760 2946 

2761Anda memulai mode server [Remote Control](/docs/id/remote-control) dengan `claude remote-control` atau alias `claude rc`-nya di direktori yang belum Anda percayai. Perintah tidak menampilkan dialog kepercayaan workspace itu sendiri, jadi keluar dengan kode 1 dan menyebutkan perbaikannya:2947Anda memulai mode server [Remote Control](/docs/id/remote-control) dengan `claude remote-control` atau alias `claude rc`-nya di direktori yang belum Anda percayai, dan perintah tidak dapat menanyakan apakah Anda mempercayainya. Pesan ini muncul ketika input atau output standar perintah bukan terminal, misalnya karena salah satunya dialihkan atau disalurkan. Perintah keluar dengan kode 1:

2762 2948 

2763```text theme={null}2949```text theme={null}

2764Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.2950Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

2765```2951```

2766 2952 

2953Dua varian yang juga dimulai dengan `Error: Workspace not trusted.` muncul di terminal juga terlalu kecil untuk menampilkan apa yang mempercayai direktori aktifkan, atau yang tidak melaporkan ukurannya. Perbesar jendela atau beralih ke jendela terminal normal, kemudian jalankan `claude rc` lagi.

2954 

2767Di direktori home Anda pesan berbeda, karena dialog kepercayaan workspace tidak pernah menyimpan kepercayaan untuk direktori home, jadi menerimanya di sana tidak dapat memenuhi pemeriksaan ini. Sebelum v2.1.214, direktori home menampilkan pesan di atas, yang sarannya tidak dapat berhasil di sana.2955Di direktori home Anda pesan berbeda, karena dialog kepercayaan workspace tidak pernah menyimpan kepercayaan untuk direktori home, jadi menerimanya di sana tidak dapat memenuhi pemeriksaan ini. Sebelum v2.1.214, direktori home menampilkan pesan di atas, yang sarannya tidak dapat berhasil di sana.

2768 2956 

2769```text theme={null}2957```text theme={null}

2770Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).2958Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).

2771```2959```

2772 2960 

2961Jika Anda menjawab `n` atau menekan Enter di pertanyaan [`Trust <directory>?`](/docs/id/remote-control#requirements), perintah mencetak pesan `Remote Control did not start` yang menyebutkan direktori dan keluar dengan kode 1. Jalankan `claude rc` lagi untuk menjawab `y`.

2962 

2773**Yang harus dilakukan:**2963**Yang harus dilakukan:**

2774 2964 

2775* Jalankan `claude` di direktori, terima [dialog kepercayaan workspace](/docs/id/permissions#project-allow-rules-and-workspace-trust), kemudian jalankan `claude remote-control` lagi2965* Percayai direktori dari terminal terlebih dahulu: jalankan `claude rc` di sana dan jawab `y`, atau jalankan `claude` di sana dan terima [dialog kepercayaan workspace](/docs/id/permissions#project-allow-rules-and-workspace-trust), kemudian jalankan perintah asli Anda lagi

2776* Di direktori home Anda, ubah ke direktori proyek dan mulai Remote Control di sana2966* Di direktori home Anda, ubah ke direktori proyek dan mulai Remote Control di sana

2777 2967 

2968Sebelum v2.1.284, perintah tidak pernah menanyakan, bahkan di terminal.

2969 

2778<h3 id="not-carried-over-to-the-sessions-remote-control-starts">2970<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

2779 Tidak dibawa ke sesi yang Remote Control mulai2971 Tidak dibawa ke sesi yang Remote Control mulai

2780</h3>2972</h3>


3271* Untuk sesi interaktif, buka [pemilih sesi](/docs/id/sessions#use-the-session-picker) dengan `claude --resume` dan tekan `Ctrl+A` untuk memperluas ke setiap proyek di mesin ini, kemudian pilih sesi3463* Untuk sesi interaktif, buka [pemilih sesi](/docs/id/sessions#use-the-session-picker) dengan `claude --resume` dan tekan `Ctrl+A` untuk memperluas ke setiap proyek di mesin ini, kemudian pilih sesi

3272* Sesi yang dibuat dengan `claude -p` atau [Agent SDK](/docs/id/agent-sdk/overview) tidak muncul dalam pemilih, jadi periksa kembali ID terhadap `session_id` yang run asli Anda cetak3464* Sesi yang dibuat dengan `claude -p` atau [Agent SDK](/docs/id/agent-sdk/overview) tidak muncul dalam pemilih, jadi periksa kembali ID terhadap `session_id` yang run asli Anda cetak

3273 3465 

3466<h3 id="windows-reported-an-error-ebadf">

3467 Windows melaporkan kesalahan (EBADF) ketika Claude Code membaca file transkrip sesi ini

3468</h3>

3469 

3470Anda melanjutkan sesi di Windows, file [transkrip](/docs/id/sessions#where-transcripts-are-stored) yang disimpan terbuka secara normal, dan membacanya kemudian gagal dengan kesalahan sistem EBADF. Kesalahan sistem tidak mengatakan mengapa pembacaan gagal, jadi pesan menyarankan kemungkinan penyebab dan apa yang harus dicoba:

3471 

3472```text theme={null}

3473Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.

3474```

3475 

3476Pesan mengikuti baris kegagalan perintah sendiri, seperti `Failed to resume session <session-id>`. Perintah `claude --resume` atau [`claude -p`](/docs/id/headless) keluar dengan kode 1 setelah menampilkannya. Setelah `/resume` di dalam sesi, sesi saat ini Anda terus berjalan.

3477 

3478**Yang harus dilakukan:**

3479 

3480* Kecualikan folder yang menyimpan transkrip sesi Anda dari perangkat lunak yang memindai atau mengintersepsi pembacaan file, seperti keamanan, enkripsi, atau alat manajemen titik akhir. Transkrip hidup di bawah `%USERPROFILE%\.claude\projects` secara default, atau di bawah direktori yang [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars) sebutkan

3481* Jika Anda tidak dapat menambahkan pengecualian, tambahkan Claude Code ke aplikasi yang diizinkan perangkat lunak itu sebagai gantinya

3482* Lanjutkan sesi lagi

3483 

3484Sebelum v2.1.282, kegagalan datang tanpa penjelasan: `claude --resume <session-id>` berakhir di `Failed to resume session <session-id>`, dan run `-p` mencetak hanya teks kesalahan sistem, seperti `Failed to resume session: EBADF: bad file descriptor, read`.

3485 

3274<h3 id="cannot-switch-renderers-in-this-session">3486<h3 id="cannot-switch-renderers-in-this-session">

3275 Tidak dapat mengganti renderer dalam sesi ini3487 Tidak dapat mengganti renderer dalam sesi ini

3276</h3>3488</h3>


3298* Dalam sesi yang dimulai tanpa pembatasan itu, jalankan `/tui fullscreen`, atau `/tui default` untuk beralih kembali. Claude Code menyimpan pengaturan [`tui`](/docs/id/settings-reference#tui) di sana3510* Dalam sesi yang dimulai tanpa pembatasan itu, jalankan `/tui fullscreen`, atau `/tui default` untuk beralih kembali. Claude Code menyimpan pengaturan [`tui`](/docs/id/settings-reference#tui) di sana

3299 3511 

3300<h3 id="couldnt-open-claude-desktop">3512<h3 id="couldnt-open-claude-desktop">

3301 Couldn't open Claude Desktop3513 Tidak dapat membuka Claude Desktop

3302</h3>3514</h3>

3303 3515 

3304Anda menjalankan [`/desktop`](/docs/id/desktop#coming-from-the-cli), atau alias `/app`-nya, dan perintah sistem yang Claude Code gunakan untuk membuka Claude Desktop gagal. Sesi tetap di terminal.3516Anda menjalankan [`/desktop`](/docs/id/desktop#coming-from-the-cli), atau alias `/app`-nya, dan perintah sistem yang Claude Code gunakan untuk membuka Claude Desktop gagal. Sesi tetap di terminal.


3454* Ubah nama marketplace menjadi nama yang tidak mengeja nama yang dicadangkan dan tambahkan lagi3666* Ubah nama marketplace menjadi nama yang tidak mengeja nama yang dicadangkan dan tambahkan lagi

3455* Untuk peringatan entri yang diabaikan, jalankan perintah `claude plugin marketplace remove` yang diberikannya, atau hapus entri dari `~/.claude/plugins/known_marketplaces.json`3667* Untuk peringatan entri yang diabaikan, jalankan perintah `claude plugin marketplace remove` yang diberikannya, atau hapus entri dari `~/.claude/plugins/known_marketplaces.json`

3456 3668 

3669<h3 id="claude-code-refuses-the-marketplace-name">

3670 Claude Code refuses the marketplace name

3671</h3>

3672 

3673Nama marketplace yang terdaftar [menyamar sebagai marketplace Anthropic resmi](/docs/id/plugins/marketplace-reference#reserved-names) di bawah aturan yang bagian itu daftar.

3674 

3675Jika marketplace terdaftar dengan nama seperti itu sebelum pemeriksaan memblokir, marketplace dan plugin yang dipasang darinya berhenti memuat, karena Claude Code memeriksa nama setiap kali membaca katalog marketplace. Ketika nama meniru yang resmi, `claude plugin list` dan tab **Errors** `/plugin` melaporkan setiap plugin yang terpengaruh dengan pesan yang dimulai:

3676 

3677```text theme={null}

3678Claude Code refuses the marketplace name "anthropic-plugins-v2"

3679```

3680 

3681Untuk nama yang meniru, kesalahan marketplace itu sendiri berbunyi `Claude Code refuses this marketplace's name: it looks like one of Anthropic's own` sebagai gantinya. `claude plugin marketplace add` menolak nama yang menyamar apa pun dengan `Marketplace name impersonates an official Anthropic/Claude marketplace`.

3682 

3683Sebelum v2.1.282, `claude plugin list` dan `/plugin` melaporkan plugin dari nama yang meniru sebagai gagal memuat juga, tanpa menamai nama marketplace sebagai penyebabnya.

3684 

3685**Yang harus dilakukan:**

3686 

3687* Jalankan `claude plugin marketplace remove <name>`. Ini juga mencopot plugin yang dipasang dari marketplace dan menghapus data tersimpannya

3688* Untuk menyimpan marketplace sebagai gantinya, tunggu sampai pemeliharanya mengganti namanya, kemudian jalankan `claude plugin marketplace update <name>`

3689* Jika Anda menerbitkan marketplace, ubah namanya di `marketplace.json` Anda; pengguna kemudian memperbarui marketplace daripada menghapusnya

3690 

3457<h3 id="marketplace-is-already-added-from-a-different-source">3691<h3 id="marketplace-is-already-added-from-a-different-source">

3458 Marketplace is already added from a different source3692 Marketplace is already added from a different source

3459</h3>3693</h3>


3656 3890 

3657* Tanyakan admin organisasi claude.ai Anda untuk mengubah status yang diperlukan plugin di claude.ai3891* Tanyakan admin organisasi claude.ai Anda untuk mengubah status yang diperlukan plugin di claude.ai

3658 3892 

3893<h3 id="plugin-was-not-uninstalled">

3894 Plugin was not uninstalled

3895</h3>

3896 

3897Anda menjalankan [`claude plugin uninstall`](/docs/id/plugins/cli-reference#plugin-uninstall), atau memilih **Uninstall** di tab **Installed** `/plugin`, dan pencopotan berhenti dengan pesan yang dimulai `"<plugin>" was not uninstalled:`.

3898 

3899Ketika Claude Code menghapus entri plugin dari `enabledPlugins` dan membaca kembali file pengaturan cakupan itu, baik plugin masih dihidupkan di sana, atau file yang dapat menghidupkannya tidak dapat dibaca atau diperiksa. Menghapus opsi tersimpan plugin, rahasia, dan data sementara entri pengaturan dapat menghidupkannya kembali akan kehilangannya, jadi pencopotan berhenti sebagai gantinya: plugin tetap terpasang dan tidak ada yang disimpannya yang dihapus.

3900 

3901```text theme={null}

3902✘ Failed to uninstall plugin "formatter": "formatter" was not uninstalled: it is still switched on in /home/user/project/.claude/settings.local.json, although the settings change reported no error. It is still installed. Take it out of "enabledPlugins" in that file yourself, then uninstall it again.

3903```

3904 

3905Bagian tengah pesan menamai file dan penyebabnya:

3906 

3907* `it is still switched on in <file>, although the settings change reported no error`: penulisan pengaturan melaporkan kesuksesan tetapi entri masih ada ketika file dibaca kembali

3908* `it is still switched on in <file>, and the settings change failed (<error>)`: file tidak dapat disimpan, untuk alasan dalam tanda kurung

3909* `<file> is there and could not be read`: file ada tetapi tidak dapat dibaca sebagai pengaturan, misalnya karena bukan JSON yang valid, jadi mungkin masih mengaktifkan plugin

3910* `<file> (not read: it is on a network path or is a link to one, or could not be checked)`: Claude Code tidak membaca file pengaturan proyek atau lokal karena file, atau folder `.claude` yang menahannya, adalah tautan yang mengarah ke lokasi jaringan, atau karena tidak dapat memeriksa jalur itu

3911 

3912`claude plugin uninstall` keluar 1, dan dengan `--json` hasilnya membawa `failureCode: "settings_still_on"`. `/plugin` menampilkan pesan yang sama.

3913 

3914**Yang harus dilakukan:**

3915 

3916* Ikuti kalimat terakhir pesan: perbaiki atau ganti file pengaturan yang dinamainya, atau hapus entri plugin dari `enabledPlugins` di file itu sendiri, kemudian jalankan pencopotan lagi

3917 

3659<h2 id="tool-errors">3918<h2 id="tool-errors">

3660 Kesalahan alat3919 Kesalahan alat

3661</h2>3920</h2>


3705* Jika Claude harus dapat mengubah file, hapus atau persempit aturan penolakan `Read` di `/permissions` atau di [settings](/docs/id/settings-reference#permission-settings)3964* Jika Claude harus dapat mengubah file, hapus atau persempit aturan penolakan `Read` di `/permissions` atau di [settings](/docs/id/settings-reference#permission-settings)

3706* Jika file harus tetap tidak tersentuh, simpan aturan dan tambahkan aturan penolakan `Edit` untuk jalur yang sama untuk memblokir alat NotebookEdit juga3965* Jika file harus tetap tidak tersentuh, simpan aturan dan tambahkan aturan penolakan `Edit` untuk jalur yang sama untuk memblokir alat NotebookEdit juga

3707 3966 

3967<h3 id="path-cannot-contain-null-bytes">

3968 Path cannot contain null bytes

3969</h3>

3970 

3971Panggilan alat file path atau pattern argument mengandung null byte, yang sistem file dan alat pencarian tidak dapat terima. Read, Write, Edit, NotebookEdit, Glob, dan Grep memeriksa ini, dan pesan menamai alat dan argument:

3972 

3973```text theme={null}

3974Read file_path cannot contain null bytes (\0). Remove the null byte and try again.

3975```

3976 

3977Panggilan alat gagal, Claude melihat kesalahan, dan putaran berlanjut.

3978 

3979**What to do:**

3980 

3981* Tidak ada di sisi Anda: kesalahan dikembalikan ke Claude sebagai hasil alat, dan pesan itu sendiri memberitahu Claude untuk menghapus null byte dan coba lagi

3982 

3983Sebelum v2.1.281, null byte dalam jalur Read, Write, Edit, atau NotebookEdit mengakhiri seluruh putaran dengan kesalahan yang menamai `Path contains null bytes`, dan alat tidak pernah berjalan.

3984 

3708<h3 id="subagent-type-is-required">3985<h3 id="subagent-type-is-required">

3709 subagent\_type is required3986 subagent\_type is required

3710</h3>3987</h3>


3885 4162 

3886* `its symlink resolution changed after permission was checked`: tautan simbolis di sepanjang jalur, atau di akar pencarian Grep atau Glob, diganti antara pemeriksaan izin dan operasi. Dalam penolakan baca, frasa dalam tanda kurung menamai perbandingan mana yang gagal.4163* `its symlink resolution changed after permission was checked`: tautan simbolis di sepanjang jalur, atau di akar pencarian Grep atau Glob, diganti antara pemeriksaan izin dan operasi. Dalam penolakan baca, frasa dalam tanda kurung menamai perbandingan mana yang gagal.

3887* `its parent-directory symlink resolution changed after permission was checked`: direktori yang dilalui jalur penulisan tidak lagi diselesaikan ke lokasi yang disetujui4164* `its parent-directory symlink resolution changed after permission was checked`: direktori yang dilalui jalur penulisan tidak lagi diselesaikan ke lokasi yang disetujui

4165* `where it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve)`: Claude Code tidak dapat mengikuti jalur ke lokasi akhir di disk, misalnya karena tautan simbolis di dalamnya membentuk loop

3888* `it is a symbolic link. Write to the link's target path instead`: tautan simbolis duduk di lokasi penulisan yang disetujui itu sendiri, misalnya `CLAUDE.md` yang merupakan tautan simbolis ke `AGENTS.md`; pesan mengarahkan Claude ke target tautan4166* `it is a symbolic link. Write to the link's target path instead`: tautan simbolis duduk di lokasi penulisan yang disetujui itu sendiri, misalnya `CLAUDE.md` yang merupakan tautan simbolis ke `AGENTS.md`; pesan mengarahkan Claude ke target tautan

3889* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: kondisi yang sama ditangkap ketika penulis lain membuka file, seperti penulisan ke `.mcp.json` yang ditautkan4167* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: kondisi yang sama ditangkap ketika penulis lain membuka file, seperti penulisan ke `.mcp.json` yang ditautkan

3890* `Refusing to write into symlinked directory: <path>`: direktori yang menyimpan file itu sendiri adalah tautan simbolis, misalnya direktori `.claude/` proyek yang ditautkan ke lokasi lain4168* `Refusing to write into symlinked directory: <path>`: direktori yang menyimpan file itu sendiri adalah tautan simbolis, misalnya direktori `.claude/` proyek yang ditautkan ke lokasi lain


3903 4181 

3904Sebelum v2.1.251, Claude Code memeriksa kembali resolusi jalur hanya untuk penulisan file, jadi tautan yang diganti setelah pemeriksaan izin dapat mengarahkan baca atau pencarian ke lokasi berbeda tanpa pesan. Dari ini, hanya penolakan penulisan direktori induk, melalui-tautan, dan direktori-tertaut muncul di versi sebelumnya.4182Sebelum v2.1.251, Claude Code memeriksa kembali resolusi jalur hanya untuk penulisan file, jadi tautan yang diganti setelah pemeriksaan izin dapat mengarahkan baca atau pencarian ke lokasi berbeda tanpa pesan. Dari ini, hanya penolakan penulisan direktori induk, melalui-tautan, dan direktori-tertaut muncul di versi sebelumnya.

3905 4183 

4184Sebelum v2.1.280, penolakan `where it leads on disk could not be determined` tidak muncul.

4185 

3906<h3 id="task-output-swap-refused">4186<h3 id="task-output-swap-refused">

3907 Task output swap refused4187 Task output swap refused

3908</h3>4188</h3>


3928* Atau periksa direktori proyek Anda di bawah direktori temp Claude Code, `/private/tmp/claude-501/-Users-you-my-project` dalam pesan contoh. Jika jalur itu adalah tautan simbolis, atau direktori yang tidak seharusnya ada, hapus tautan atau direktori itu sendiri daripada target tautan, dan mulai ulang Claude Code4208* Atau periksa direktori proyek Anda di bawah direktori temp Claude Code, `/private/tmp/claude-501/-Users-you-my-project` dalam pesan contoh. Jika jalur itu adalah tautan simbolis, atau direktori yang tidak seharusnya ada, hapus tautan atau direktori itu sendiri daripada target tautan, dan mulai ulang Claude Code

3929* Jika penolakan berulang, proses mengganti, menautkan, atau menghapus entri di bawah direktori temp Claude Code saat sesi berjalan. Atur [`CLAUDE_CODE_TMPDIR`](/docs/id/env-vars) ke direktori yang tidak dikelola apa pun dan mulai ulang4209* Jika penolakan berulang, proses mengganti, menautkan, atau menghapus entri di bawah direktori temp Claude Code saat sesi berjalan. Atur [`CLAUDE_CODE_TMPDIR`](/docs/id/env-vars) ke direktori yang tidak dikelola apa pun dan mulai ulang

3930 4210 

4211<h3 id="disk-quota-or-temp-filesystem-is-full">

4212 Disk quota or temp filesystem is full

4213</h3>

4214 

4215Claude Code menyimpan output setiap perintah Bash dan PowerShell ke file di bawah direktori tempnya. Ketika perintah keluar dengan kode bukan nol dan tidak ada output sama sekali, Claude Code memeriksa apakah sistem file yang menyimpan file itu kehabisan ruang atau inode, atau apakah kuota disk Anda di dalamnya penuh. Jika demikian, diagnostik muncul dalam hasil perintah sebagai pengganti output kosong:

4216 

4217```text wrap theme={null}

4218Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.

4219```

4220 

4221Pesan menamai apa yang kehabisan:

4222 

4223* `Your disk quota is full ... (EDQUOT)`: kuota Anda sendiri di sistem file itu penuh. Kuota dapat penuh sementara sistem file masih menunjukkan ruang gratis

4224* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: sistem file, atau kuota Anda di dalamnya, tidak memiliki ruang tersisa

4225* `Command output was lost: the temp filesystem at ... is full` atau `... is out of inodes`: sistem file memiliki hampir tidak ada ruang gratis tersisa, atau kehabisan inode

4226 

4227**What to do:**

4228 

4229* Hapus file yang tidak lagi Anda butuhkan di sistem file yang menyimpan direktori temp Claude Code. Untuk `EDQUOT`, hapus file yang dihitung terhadap kuota Anda sendiri. Untuk `out of inodes`, hapus banyak file daripada beberapa file besar, karena setiap file membutuhkan satu inode apa pun ukurannya

4230* Atau mulai ulang Claude Code dengan [`CLAUDE_CODE_TMPDIR`](/docs/id/env-vars) diatur ke direktori di sistem file dengan ruang

4231* Kemudian minta Claude menjalankan perintah lagi. Output yang dicetak hilang, bukan dipotong

4232 

3931<h3 id="the-source-file-is-not-valid-utf-8-text">4233<h3 id="the-source-file-is-not-valid-utf-8-text">

3932 The source file is not valid UTF-8 text4234 The source file is not valid UTF-8 text

3933</h3>4235</h3>


4343 Direktori kerja tidak lagi ada saat memulai sesi latar belakang4645 Direktori kerja tidak lagi ada saat memulai sesi latar belakang

4344</h3>4646</h3>

4345 4647 

4346Anda mencoba memulai [sesi latar belakang](/docs/id/agent-view) dalam direktori yang tidak lagi ada. Ini terjadi ketika Anda mengirim dari tampilan agen atau menjalankan `/background` setelah direktori tempat Anda bekerja dihapus atau dipindahkan. Ini juga terjadi ketika Anda melampirkan ke atau memulai ulang sesi yang prosesnya telah keluar dan direktorinya hilang, karena proses baru akan dimulai di direktori yang sama. Claude Code tidak memulai sesi, dan pesan menamai direktori yang hilang:4648Anda mencoba memulai [sesi latar belakang](/docs/id/agent-view) dalam direktori yang tidak lagi ada. Claude Code tidak memulai sesi, dan pesan menamai direktori yang hilang:

4347 4649 

4348```text theme={null}4650```text theme={null}

4349Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4651Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)


4355 4657 

4356* Buat ulang direktori yang dinamai pesan, atau kirim dari direktori yang ada, kemudian coba lagi4658* Buat ulang direktori yang dinamai pesan, atau kirim dari direktori yang ada, kemudian coba lagi

4357 4659 

4660<h3 id="workspace-not-trusted-when-dispatching-a-background-session">

4661 Ruang kerja tidak dipercaya saat mengirim sesi latar belakang

4662</h3>

4663 

4664Anda memulai atau memulai ulang [sesi latar belakang](/docs/id/agent-view) dalam direktori yang belum Anda [percayai](/docs/id/permissions#project-allow-rules-and-workspace-trust), dan dialog kepercayaan ruang kerja tidak dapat muncul untuk bertanya. Claude Code tidak memulai sesi:

4665 

4666```text theme={null}

4667Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.

4668```

4669 

4670Dari terminal di direktori sesi itu sendiri, perintah yang sama menampilkan dialog kepercayaan sebagai gantinya dan memulai sesi setelah Anda menerima. Pesan ini muncul di mana tidak ada dialog yang dapat muncul, seperti dalam skrip, atau ketika Anda memulai ulang sesi dari direktori selain miliknya sendiri.

4671 

4672Dua varian menamai penyebab berbeda:

4673 

4674* **`The home directory is trusted one session at a time`**: direktori sesi adalah direktori home Anda. Claude Code tidak pernah menyimpan kepercayaan untuk direktori home, jadi menerima dialog di sana dalam sesi sebelumnya tidak dihitung.

4675* **`<path> could not be resolved on disk`**: Claude Code tidak dapat menemukan direktori sesi di disk.

4676 

4677**Yang harus dilakukan:**

4678 

4679* Jalankan `claude` di direktori yang dinamai pesan dan terima dialog kepercayaan, kemudian jalankan perintah lagi

4680* Untuk pesan direktori home, jalankan perintah dari terminal di direktori home Anda sehingga dialog dapat muncul, atau mulai sesi dari direktori proyek sebagai gantinya

4681* Untuk pesan `could not be resolved on disk`, buat ulang direktori, atau mulai sesi baru dari direktori yang ada

4682 

4358<h2 id="wrapper-and-ide-errors">4683<h2 id="wrapper-and-ide-errors">

4359 Kesalahan Wrapper dan IDE4684 Kesalahan Wrapper dan IDE

4360</h2>4685</h2>


4587* Perpendek frontmatter `description` dari file agent Anda, atau minta Claude untuk memangkasnya untuk Anda.4912* Perpendek frontmatter `description` dari file agent Anda, atau minta Claude untuk memangkasnya untuk Anda.

4588* Hapus file agent yang tidak lagi Anda gunakan.4913* Hapus file agent yang tidak lagi Anda gunakan.

4589 4914 

4915<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">

4916 Skill, command, atau workflow tidak dimuat karena namanya dicadangkan

4917</h3>

4918 

4919Folder skill, frontmatter `name`, file atau subfolder di `.claude/commands/`, atau [saved workflow](/docs/id/workflows#save-the-workflow-for-reuse) menggunakan nama `anthropic-skills` atau nama yang dimulai dengan `anthropic-skills:`. Claude Code [mencadangkan nama itu untuk skills yang disinkronkan dari claude.ai](/docs/id/skills#names-reserved-for-synced-skills) dan tidak memuat item itu.

4920 

4921Claude Code menampilkan peringatan ini sebagai pemberitahuan startup dalam tampilan percakapan daripada di stderr:

4922 

4923```text theme={null}

4924Not loaded: rename .claude/skills/anthropic-skills, then restart — its name uses "anthropic-skills", a name reserved for the skills synced from your claude.ai account

4925```

4926 

4927Pemberitahuan menyebutkan apa yang harus diubah untuk item pertama yang ditolak: folder atau file untuk diubah nama, baris `name:` untuk diedit, atau workflow untuk diubah nama. Ketika lebih dari satu item ditolak, pemberitahuan berakhir dengan hitungan seperti `· 2 more`, dan [log debug](/docs/id/debug-your-config) menyebutkan masing-masing.

4928 

4929**Yang harus dilakukan:**

4930 

4931* Ubah nama item yang dinamai pemberitahuan, atau edit baris `name:` yang ditunjuknya, kemudian restart sesi.

4932 

4933Sebelum v2.1.282, Claude Code memuat skills dan commands dengan nama-nama ini.

4934 

4590<h3 id="workspace-has-not-been-trusted">4935<h3 id="workspace-has-not-been-trusted">

4591 Workspace belum dipercaya4936 Workspace belum dipercaya

4592</h3>4937</h3>


4633 Pengaturan yang dikelola jarak jauh gagal dimuat4978 Pengaturan yang dikelola jarak jauh gagal dimuat

4634</h3>4979</h3>

4635 4980 

4636Sesi Anda memenuhi syarat untuk [server-managed settings](/docs/id/server-managed-settings), tetapi Claude Code tidak dapat mengambilnya, jadi menampilkan peringatan ini dalam sesi interaktif. Penyebab dalam tanda kurung menyebutkan apa yang gagal, seperti `network error`, `request timed out`, atau `authentication rejected (401)`, dan sisa baris mengatakan kebijakan mana yang dijalankan sesi:4981Sesi Anda memenuhi syarat untuk [server-managed settings](/docs/id/server-managed-settings), tetapi Claude Code tidak dapat mengambilnya atau tidak dapat menerapkan apa yang dikembalikan server, jadi menampilkan peringatan ini dalam sesi interaktif.

4982 

4983Penyebab dalam tanda kurung menyebutkan apa yang gagal, seperti `network error`, `request timed out`, atau `authentication rejected (401)`. Penyebab `no setting in the server response could be applied as written` berarti server menjawab tetapi tidak ada pengaturan yang dikembalikannya yang lulus [validation](/docs/id/server-managed-settings#invalid-entries-in-delivered-settings). Sebelum v2.1.282, penyebab ini berbunyi `server returned invalid settings`.

4984 

4985Sisa baris mengatakan kebijakan mana yang dijalankan sesi:

4637 4986 

4638* **Pengaturan di-cache dari pengambilan sebelumnya yang berhasil**: Claude Code menjalankan sesi pada kebijakan yang di-cache itu, kecuali [variabel lingkungan yang ditahan](/docs/id/server-managed-settings#fetch-and-caching-behavior), dan baris berbunyi `using cached policy`.4987* **Pengaturan di-cache dari pengambilan sebelumnya yang berhasil**: Claude Code menjalankan sesi pada kebijakan yang di-cache itu, kecuali [variabel lingkungan yang ditahan](/docs/id/server-managed-settings#fetch-and-caching-behavior), dan baris berbunyi `using cached policy`.

4639* **Tidak ada cache**: Claude Code menjalankan sesi tanpa server-managed settings, dan baris berbunyi `no remote policy applied`.4988* **Tidak ada cache**: Claude Code menjalankan sesi tanpa server-managed settings, dan baris berbunyi `no remote policy applied`.


4641**Yang harus dilakukan:**4990**Yang harus dilakukan:**

4642 4991 

4643* Bertindak atas penyebab yang dinamai pesan: untuk penyebab jaringan, periksa bahwa mesin ini dapat menjangkau `api.anthropic.com`; untuk penyebab autentikasi, periksa sign-in Anda dengan `/status`4992* Bertindak atas penyebab yang dinamai pesan: untuk penyebab jaringan, periksa bahwa mesin ini dapat menjangkau `api.anthropic.com`; untuk penyebab autentikasi, periksa sign-in Anda dengan `/status`

4993* Untuk `no setting in the server response could be applied as written`, minta administrator Anda untuk memperbaiki pengaturan di server

4644* Jalankan `/status` atau `claude doctor` untuk diagnostik lengkap4994* Jalankan `/status` atau `claude doctor` untuk diagnostik lengkap

4645 4995 

4646Sebelum v2.1.248, Claude Code melaporkan pengambilan pengaturan yang gagal hanya dalam log debug.4996Sebelum v2.1.248, Claude Code melaporkan pengambilan pengaturan yang gagal hanya dalam log debug.


4660* Mulai Claude Code lagi dan setujui dialog untuk melanjutkan di bawah pengaturan organisasi Anda. Dialog yang ditolak tidak diingat, jadi muncul lagi pada startup berikutnya.5010* Mulai Claude Code lagi dan setujui dialog untuk melanjutkan di bawah pengaturan organisasi Anda. Dialog yang ditolak tidak diingat, jadi muncul lagi pada startup berikutnya.

4661* Jika Anda tidak yakin tentang pengaturan yang dialog cantumkan, tanyakan kepada siapa pun yang memelihara pengaturan yang dikelola organisasi Anda sebelum menyetujui5011* Jika Anda tidak yakin tentang pengaturan yang dialog cantumkan, tanyakan kepada siapa pun yang memelihara pengaturan yang dikelola organisasi Anda sebelum menyetujui

4662 5012 

5013<h3 id="managed-settings-block-the-default-model">

5014 Managed settings memblokir model default

5015</h3>

5016 

5017[Managed settings](/docs/id/managed-settings) organisasi Anda memblokir model yang opsi Default diselesaikan dan setiap model yang dapat diturunkan. Sesi yang akan dimulai pada opsi Default keluar pada startup daripada menjalankan model yang diblokir. Pesan mana yang Anda lihat tergantung pada pengaturan yang memblokir. Ketika daftar [`deniedModels`](/docs/id/model-config#block-specific-models-or-versions) memblokir, pesan berbunyi:

5018 

5019```text theme={null}

5020Claude Code can't start: your organization's managed settings block the default model (claude-opus-5-5) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".

5021```

5022 

5023Ketika daftar `availableModels` dengan [`availableModelsMatch`](/docs/id/settings-reference#availablemodelsmatch) diatur ke `"exact"` menghilangkannya, pesan berbunyi:

5024 

5025```text theme={null}

5026Claude Code can't start: your organization allows only the models listed in "availableModels", and none of them can be used as the default model (claude-opus-5-5 isn't listed). Ask your administrator to update "availableModels".

5027```

5028 

5029**Yang harus dilakukan:**

5030 

5031* Jika Anda mengelola pengaturan, tambahkan model yang dapat dijalankan pengguna Anda ke `availableModels`, atau persempit entri `deniedModels` yang memblokir setiap fallback. [Block specific models or versions](/docs/id/model-config#block-specific-models-or-versions) menjelaskan bagaimana opsi Default diturunkan

5032* Jika Anda tidak mengelolanya, kirim pesan ke administrator Anda. File pengaturan Anda sendiri tidak dapat memperluas daftar `availableModels` atau `deniedModels` yang dikelola

5033 

4663<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">5034<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">

4664 Server MCP diblokir oleh kebijakan yang dikelola perusahaan5035 Server MCP diblokir oleh kebijakan yang dikelola perusahaan

4665</h3>5036</h3>


4929 5300 

4930* [`--fallback-model`](/docs/id/cli-reference#cli-flags) yang dikonfigurasi mengambil alih setelah kesalahan ketersediaan, hanya untuk giliran itu, dengan pemberitahuan dalam transkrip5301* [`--fallback-model`](/docs/id/cli-reference#cli-flags) yang dikonfigurasi mengambil alih setelah kesalahan ketersediaan, hanya untuk giliran itu, dengan pemberitahuan dalam transkrip

4931* Pemeriksaan startup Amazon Bedrock atau Google Cloud's Agent Platform menemukan model default Anda tidak tersedia5302* Pemeriksaan startup Amazon Bedrock atau Google Cloud's Agent Platform menemukan model default Anda tidak tersedia

4932* [Fallback model otomatis](/docs/id/model-config#automatic-model-fallback) pada Fable 5.1, Fable 5, Opus 5.5, dan Opus 5 memindahkan sesi ke model fallback kategori yang ditandai, ketika kategori itu memiliki satu, dan menampilkan pemberitahuan dalam transkrip5303* [Fallback model otomatis](/docs/id/model-config#automatic-model-fallback) pada Fable 5.1, Fable 5, Opus 5.5, Sonnet 5.5, dan Opus 5 memindahkan sesi ke model fallback kategori yang ditandai, ketika kategori itu memiliki satu, dan menampilkan pemberitahuan dalam transkrip

4933 5304 

4934Pemeriksaan Model selection di bawah menangkap kasus kedua dan ketiga; yang pertama muncul sebagai pemberitahuan transkrip daripada perubahan `/model`. [Model configuration](/docs/id/model-config) menjelaskan kapan setiap fallback berlaku.5305Pemeriksaan Model selection di bawah menangkap kasus kedua dan ketiga; yang pertama muncul sebagai pemberitahuan transkrip daripada perubahan `/model`. [Model configuration](/docs/id/model-config) menjelaskan kapan setiap fallback berlaku.

4935 5306 

Details

219</table>219</table>

220 220 

221<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 />221<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 />

222<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 atau yang lebih baru, dan model Fable. Lihat [Konfigurasi Auto mode](/docs/id/auto-mode-config). Mode izin awal bawaan di penyedia ini adalah Manual. Lihat [mode mana yang dimulai sesi](/docs/id/permission-modes#which-mode-a-session-starts-in). 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 />222<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> Di penyedia ini, auto mode mendukung hanya Claude Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, dan model Fable. Lihat [Konfigurasi Auto mode](/docs/id/auto-mode-config). Untuk mode izin yang dimulai sesi di penyedia ini, lihat [Mode mana yang dimulai sesi](/docs/id/permission-modes#which-mode-a-session-starts-in). 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 />

223<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Tunduk pada perjanjian Anda dengan penyedia cloud.<br />223<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> Tunduk pada perjanjian Anda dengan penyedia cloud.<br />

224<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Dashboard dan API saja. [Metrik kontribusi](/docs/id/analytics#enable-contribution-metrics) memerlukan organisasi Team atau Enterprise claude.ai.<br />224<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Dashboard dan API saja. [Metrik kontribusi](/docs/id/analytics#enable-contribution-metrics) memerlukan organisasi Team atau Enterprise claude.ai.<br />

225<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Memerlukan Claude Code v2.1.224 atau yang lebih baru di macOS dan Linux, termasuk Linux di dalam WSL 2. Di Windows asli, memerlukan Claude Code v2.1.234 atau yang lebih baru. Dengan autentikasi kunci API, pesan hanya mesin yang sama. Di Amazon Bedrock, Claude Platform di AWS, Platform Agent Google Cloud, dan Microsoft Foundry, pesan hanya mesin yang sama dan memerlukan Claude Code v2.1.248 atau yang lebih baru. Claude dapat menemukan sesi [Claude Code di web](/docs/id/claude-code-on-the-web) Anda dan sesi Anda di mesin lain hanya dari sesi yang terhubung ke [Remote Control](/docs/id/remote-control). Untuk terhubung, Anda memerlukan masuk claude.ai dan [persyaratan Remote Control lainnya](/docs/id/remote-control#requirements). Lihat [Pesan sesi di mesin lain](/docs/id/cross-session-messaging#message-sessions-on-other-machines).225<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Memerlukan Claude Code v2.1.224 atau yang lebih baru di macOS dan Linux, termasuk Linux di dalam WSL 2. Di Windows asli, memerlukan Claude Code v2.1.234 atau yang lebih baru. Dengan autentikasi kunci API, pesan hanya mesin yang sama. Di Amazon Bedrock, Claude Platform di AWS, Platform Agent Google Cloud, dan Microsoft Foundry, pesan hanya mesin yang sama dan memerlukan Claude Code v2.1.248 atau yang lebih baru. Claude dapat menemukan [sesi Claude Code di web](/docs/id/claude-code-on-the-web) Anda dan sesi Anda di mesin lain hanya dari sesi yang terhubung ke [Remote Control](/docs/id/remote-control). Untuk terhubung, Anda memerlukan masuk claude.ai dan [persyaratan Remote Control lainnya](/docs/id/remote-control#requirements). Lihat [Pesan sesi di mesin lain](/docs/id/cross-session-messaging#message-sessions-on-other-machines).

226 226 

227<Note>227<Note>

228 Jika Anda melakukan autentikasi melalui [gateway LLM](/docs/id/llm-gateway), ketersediaan fitur cocok dengan penyedia yang mendasarinya yang gateway teruskan, kecuali untuk fitur yang Claude Code sendiri matikan. Kapan pun `ANTHROPIC_BASE_URL` menunjuk ke host selain `api.anthropic.com`, Claude Code mematikan fitur seperti [Remote Control](/docs/id/remote-control#requirements) dan [pengaturan terkelola server](/docs/id/server-managed-settings#platform-availability), apa pun yang gateway teruskan. Beberapa fitur khusus Anthropic seperti [Advisor](/docs/id/advisor) hanya bekerja jika gateway meneruskan permintaan utuh ke API Anthropic.228 Jika Anda melakukan autentikasi melalui [gateway LLM](/docs/id/llm-gateway), ketersediaan fitur cocok dengan penyedia yang mendasarinya yang gateway teruskan, kecuali untuk fitur yang Claude Code sendiri matikan. Kapan pun `ANTHROPIC_BASE_URL` menunjuk ke host selain `api.anthropic.com`, Claude Code mematikan fitur seperti [Remote Control](/docs/id/remote-control#requirements) dan [pengaturan terkelola server](/docs/id/server-managed-settings#platform-availability), apa pun yang gateway teruskan. Beberapa fitur khusus Anthropic seperti [Advisor](/docs/id/advisor) hanya bekerja jika gateway meneruskan permintaan utuh ke API Anthropic.


243 **Dukungan parsial:**243 **Dukungan parsial:**

244 244 

245 * [Desktop](/docs/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)245 * [Desktop](/docs/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

246 * [Auto mode](/docs/id/auto-mode-config): Sonnet 5, Opus 4.7 atau yang lebih baru, dan model Fable saja246 * [Auto mode](/docs/id/auto-mode-config): Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, dan model Fable saja

247 * [Pesan lintas sesi](/docs/id/cross-session-messaging): antara sesi Anda di mesin ini saja <sup><a href="#fn5">5</a></sup>247 * [Pesan lintas sesi](/docs/id/cross-session-messaging): antara sesi Anda di mesin ini saja <sup><a href="#fn5">5</a></sup>

248 * [Zero Data Retention](/docs/id/zero-data-retention): tunduk pada perjanjian AWS Anda248 * [Zero Data Retention](/docs/id/zero-data-retention): tunduk pada perjanjian AWS Anda

249 249 


269 269 

270 * [Desktop](/docs/id/desktop): melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration) atau [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)270 * [Desktop](/docs/id/desktop): melalui [pengaturan terkelola](https://claude.com/docs/third-party/claude-desktop/configuration) atau [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

271 * [Web search](/docs/id/tools-reference#websearch-tool-behavior): model Claude 4 dan yang lebih baru271 * [Web search](/docs/id/tools-reference#websearch-tool-behavior): model Claude 4 dan yang lebih baru

272 * [Auto mode](/docs/id/auto-mode-config): Sonnet 5, Opus 4.7 atau yang lebih baru, dan model Fable saja272 * [Auto mode](/docs/id/auto-mode-config): Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, dan model Fable saja

273 * [Pesan lintas sesi](/docs/id/cross-session-messaging): antara sesi Anda di mesin ini saja <sup><a href="#fn5">5</a></sup>273 * [Pesan lintas sesi](/docs/id/cross-session-messaging): antara sesi Anda di mesin ini saja <sup><a href="#fn5">5</a></sup>

274 * [Zero Data Retention](/docs/id/zero-data-retention): tunduk pada perjanjian Google Cloud Anda274 * [Zero Data Retention](/docs/id/zero-data-retention): tunduk pada perjanjian Google Cloud Anda

275 275 


283 283 

284 * [Desktop](/docs/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)284 * [Desktop](/docs/id/desktop): hanya melalui [Claude Desktop pada 3P](https://claude.com/docs/third-party/claude-desktop/overview)

285 * [Web search](/docs/id/tools-reference#websearch-tool-behavior): [deployment yang dihosting di Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) saja285 * [Web search](/docs/id/tools-reference#websearch-tool-behavior): [deployment yang dihosting di Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) saja

286 * [Auto mode](/docs/id/auto-mode-config): Sonnet 5, Opus 4.7 atau yang lebih baru, dan model Fable saja286 * [Auto mode](/docs/id/auto-mode-config): Sonnet 5 atau yang lebih baru, Opus 4.7 atau yang lebih baru, dan model Fable saja

287 * [Pesan lintas sesi](/docs/id/cross-session-messaging): antara sesi Anda di mesin ini saja <sup><a href="#fn5">5</a></sup>287 * [Pesan lintas sesi](/docs/id/cross-session-messaging): antara sesi Anda di mesin ini saja <sup><a href="#fn5">5</a></sup>

288 * [Zero Data Retention](/docs/id/zero-data-retention): tunduk pada perjanjian Azure Anda288 * [Zero Data Retention](/docs/id/zero-data-retention): tunduk pada perjanjian Azure Anda

289 289 

fullscreen.md +3 −1

Details

104* **Klik opsi dalam menu multi-pilih** untuk mengalihnya, 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.104* **Klik opsi dalam menu multi-pilih** untuk mengalihnya, 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.

105* **Klik nilai pengaturan di panel `/config`** untuk mengubahnya, dan gulir daftar pengaturan dengan roda mouse. Memerlukan Claude Code v2.1.271 atau lebih baru.105* **Klik nilai pengaturan di panel `/config`** untuk mengubahnya, dan gulir daftar pengaturan dengan roda mouse. Memerlukan Claude Code v2.1.271 atau lebih baru.

106* **Gulir menu pilih atau multi-pilih dengan roda mouse** ketika memiliki lebih banyak opsi daripada yang ditampilkan sekaligus, seperti daftar `/model` di jendela terminal pendek. Roda menggulir daftar saat pointer berada di atas opsinya. Memerlukan Claude Code v2.1.280 atau lebih baru.106* **Gulir menu pilih atau multi-pilih dengan roda mouse** ketika memiliki lebih banyak opsi daripada yang ditampilkan sekaligus, seperti daftar `/model` di jendela terminal pendek. Roda menggulir daftar saat pointer berada di atas opsinya. Memerlukan Claude Code v2.1.280 atau lebih baru.

107* **Gulir daftar yang meluap dengan scrollbar-nya.** Dalam panel daftar seperti `/skills`, `/mcp`, dan daftar Installed `/plugin`, scrollbar muncul di samping daftar dengan lebih banyak baris daripada yang muat saat pointer berada di atasnya. Klik trek untuk melompat ke titik itu, atau seret ibu jari. Memerlukan Claude Code v2.1.281 atau lebih baru.

107* **Klik hasil tool yang diciutkan** untuk memerluasnya dan melihat output lengkap. Klik lagi untuk menciutkan. Panggilan tool dan hasilnya berkembang bersama. Hanya pesan yang memiliki lebih banyak untuk ditampilkan yang dapat diklik.108* **Klik hasil tool yang diciutkan** untuk memerluasnya dan melihat output lengkap. Klik lagi untuk menciutkan. Panggilan tool dan hasilnya berkembang bersama. Hanya pesan yang memiliki lebih banyak untuk ditampilkan yang dapat diklik.

108 * Mengklik juga memerluaskan output dari perintah shell `!`, baik hasil yang dipotong lebih lama atau baris kemajuan langsung saat perintah berjalan. Memerlukan Claude Code v2.1.257 atau lebih baru.109 * Mengklik juga memerluaskan output dari perintah shell `!`, baik hasil yang dipotong lebih lama atau baris kemajuan langsung saat perintah berjalan. Memerlukan Claude Code v2.1.257 atau lebih baru.

110 * Mengklik juga memerluaskan baris `Message from @<sender>` yang redup ketika pengirim adalah [rekan tim](/docs/id/agent-teams) atau agen lain yang berjalan dalam sesi Anda. Baris untuk pesan dari [salah satu sesi Anda yang lain](/docs/id/cross-session-messaging#what-a-message-looks-like) juga menampilkan baris pertama pesan dan tidak dapat diklik, jadi tekan `Ctrl+o` untuk membaca yang itu.

109* **Tahan `Cmd` di macOS, atau `Ctrl` di Linux dan Windows, dan klik URL atau jalur file** untuk membukanya. URL `http://` dan `https://` biasa terbuka di browser Anda, dan jalur file dalam output tool, seperti yang dicetak setelah Edit atau Write, terbuka di aplikasi default Anda. Klik biasa tanpa pengubah tidak membuka tautan, sesuai dengan perilaku terminal asli.111* **Tahan `Cmd` di macOS, atau `Ctrl` di Linux dan Windows, dan klik URL atau jalur file** untuk membukanya. URL `http://` dan `https://` biasa terbuka di browser Anda, dan jalur file dalam output tool, seperti yang dicetak setelah Edit atau Write, terbuka di aplikasi default Anda. Klik biasa tanpa pengubah tidak membuka tautan, sesuai dengan perilaku terminal asli.

110 * Claude Code merender jalur jaringan (UNC), seperti `\\server\share\file.ts`, sebagai teks biasa tanpa tautan, karena membuka jalur jaringan dapat mengirimkan kredensial Windows Anda ke host yang dinamainya.112 * Claude Code merender jalur jaringan (UNC), seperti `\\server\share\file.ts`, sebagai teks biasa tanpa tautan, karena membuka jalur jaringan dapat mengirimkan kredensial Windows Anda ke host yang dinamainya.

111 * Beberapa terminal macOS meneruskan `Cmd`+klik ke aplikasi yang berjalan alih-alih membuka tautan sendiri, dan protokol mouse terminal tidak memiliki cara untuk mengkodekan kunci `Cmd`, jadi Claude Code menerima klik biasa. Di Ghostty, dan di Warp di macOS, Claude Code mendeteksi ini dan membiarkan klik biasa pada tautan membukanya, dan menahan `Cmd` masih berfungsi.113 * Beberapa terminal macOS meneruskan `Cmd`+klik ke aplikasi yang berjalan alih-alih membuka tautan sendiri, dan protokol mouse terminal tidak memiliki cara untuk mengkodekan kunci `Cmd`, jadi Claude Code menerima klik biasa. Di Ghostty, dan di Warp di macOS, Claude Code mendeteksi ini dan membiarkan klik biasa pada tautan membukanya, dan menahan `Cmd` masih berfungsi.


290CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude292CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude

291```293```

292 294 

293Dengan penangkapan mouse dinonaktifkan, pengguliran keyboard dengan `PgUp`, `PgDn`, `Ctrl+Home`, dan `Ctrl+End` masih berfungsi, dan terminal Anda menangani pemilihan secara asli. Anda kehilangan klik-ke-posisi-kursor, klik-untuk-memperluas-keluaran-alat, klik URL, dan pengguliran roda di dalam Claude Code.295Dengan penangkapan mouse dinonaktifkan, pengguliran keyboard dengan `PgUp`, `PgDn`, `Ctrl+Home`, dan `Ctrl+End` masih berfungsi, dan terminal Anda menangani pemilihan secara asli. Anda kehilangan klik-ke-posisi-kursor, klik-untuk-memperluas, klik URL, dan pengguliran roda di dalam Claude Code.

294 296 

295Untuk mempertahankan pengguliran roda tetapi mematikan penanganan klik, seret, dan hover, atur `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1` sebagai gantinya. Memerlukan Claude Code v2.1.195 atau lebih baru. `CLAUDE_CODE_DISABLE_MOUSE` memiliki prioritas ketika kedua variabel diatur.297Untuk mempertahankan pengguliran roda tetapi mematikan penanganan klik, seret, dan hover, atur `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1` sebagai gantinya. Memerlukan Claude Code v2.1.195 atau lebih baru. `CLAUDE_CODE_DISABLE_MOUSE` memiliki prioritas ketika kedua variabel diatur.

296 298 

Details

252 Awal sesi gagal dengan `Unable to get organization UUID`252 Awal sesi gagal dengan `Unable to get organization UUID`

253</h3>253</h3>

254 254 

255Sesi cloud memerlukan organisasi Tim atau Enterprise. Masuk dengan `/login` menggunakan akun organisasi Anda. Jika Anda mengautentikasi dengan kunci API sebagai gantinya, sesi cloud gagal lebih awal dengan pesan yang meminta Anda menjalankan `/login`.255Masuk dengan `/login` menggunakan akun organisasi Anda. Jika Anda mengautentikasi dengan kunci API sebagai gantinya, sesi cloud gagal lebih awal dengan pesan yang meminta Anda menjalankan `/login`.

256 256 

257<h2 id="related-resources">257<h2 id="related-resources">

258 Sumber daya terkait258 Sumber daya terkait

glossary.md +28 −1

Details

72 Auto mode72 Auto mode

73</h3>73</h3>

74 74 

75Sebuah [permission mode](#permission-mode) di mana model classifier terpisah meninjau tindakan alih-alih Anda, sehingga Claude Code menjalankan sebagian besar dari mereka tanpa menanyakan Anda. Claude Code masih menanyakan Anda sebelum tindakan yang cocok dengan aturan ask eksplisit Anda. Pada paket Pro, Max, dan Team, auto mode adalah [permission mode awal bawaan](/docs/id/permission-modes#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code. Classifier memblokir eskalasi scope, infrastruktur yang tidak dipercaya, dan [prompt injection](#prompt-injection). Hasil tool dilepas dari apa yang dilihatnya, sehingga konten berbahaya dalam file atau halaman web tidak dapat memanipulasinya secara langsung.75Sebuah [permission mode](#permission-mode) di mana model classifier terpisah meninjau tindakan alih-alih Anda, sehingga Claude Code menjalankan sebagian besar dari mereka tanpa menanyakan Anda. Claude Code masih menanyakan Anda sebelum tindakan yang cocok dengan aturan ask eksplisit Anda. Dengan Claude Code v2.1.283 atau lebih baru, auto mode adalah [permission mode awal bawaan](/docs/id/permission-modes#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code, dan pada versi sebelumnya hanya pada paket Pro, Max, dan Team. Classifier memblokir eskalasi scope, infrastruktur yang tidak dipercaya, dan [prompt injection](#prompt-injection). Hasil tool dilepas dari apa yang dilihatnya, sehingga konten berbahaya dalam file atau halaman web tidak dapat memanipulasinya secara langsung.

76 76 

77Pelajari lebih lanjut: [Eliminate prompts with auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode)77Pelajari lebih lanjut: [Eliminate prompts with auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode)

78 78 


428 428 

429Pelajari lebih lanjut: [Platforms and integrations](/docs/id/platforms)429Pelajari lebih lanjut: [Platforms and integrations](/docs/id/platforms)

430 430 

431<h3 id="system-prompt">

432 System prompt

433</h3>

434 

435Instruksi yang Claude Code kirimkan sebelum percakapan Anda pada setiap permintaan, mencakup cara Claude menggunakan tools, berperilaku aman, dan memformat responsnya. Anda dapat menambahkan ke system prompt dengan `--append-system-prompt` atau menggantinya dengan `--system-prompt`. System prompt adalah lapisan pertama dari [prompt cache](/docs/id/prompt-caching#how-the-cache-is-organized).

436 

437File [CLAUDE.md](#claude-md) Anda dan instruksi [output style](#output-style) Anda bukan bagian dari system prompt. Claude Code menyampaikannya dalam percakapan sebagai [system reminder](#system-reminder).

438 

439Pelajari lebih lanjut: [System prompt flags](/docs/id/cli-reference#system-prompt-flags)

440 

441<h3 id="system-reminder">

442 System reminder

443</h3>

444 

445Pesan yang Claude Code, sebagai [harness](#agentic-harness), tambahkan ke percakapan untuk memberikan Claude konteks. Anda tidak mengirim system reminders sendiri. Claude Code menyisipkannya saat sesi berjalan, misalnya ketika sesi dimulai, ketika hook mengembalikan teks, atau ketika file berubah di disk. Claude membacanya bersama pesan Anda. Berikut ini semua mencapai Claude sebagai system reminders:

446 

447* File [CLAUDE.md](#claude-md) Anda

448* Instruksi [output style](#output-style) Anda

449* Teks yang [hook](#hook) kembalikan sebagai `additionalContext`

450* Daftar [skills](#skill) yang tersedia

451* Catatan bahwa file yang Claude baca sebelumnya telah berubah di disk

452* Baris atribusi commit dan pull request

453 

454Dalam permintaan API yang dicatat, system reminder muncul dibungkus dalam tag `<system-reminder>` di dalam pesan pengguna, atau pada beberapa model sebagai pesan terpisah dengan peran `system`.

455 

456Pelajari lebih lanjut: [Context Claude Code adds outside the system prompt](/docs/id/agent-sdk/modifying-system-prompts#context-claude-code-adds-outside-the-system-prompt)

457 

431<h2 id="t">458<h2 id="t">

432 T459 T

433</h2>460</h2>

goal.md +1 −1

Details

155 155 

156Jika giliran gagal pada kesalahan yang tidak akan dihapus sampai Anda memperbaikinya, Claude Code menghapus tujuan dan mencetak peringatan yang menyebutkan penyebabnya. Peringatan dimulai dengan `Goal cleared after an unrecoverable error` dan diakhiri dengan `Run /goal again to continue`. Perbaiki penyebabnya, kemudian [tetapkan tujuan lagi](#set-a-goal) dengan `/goal <condition>`. Empat jenis kegagalan menghapus tujuan:156Jika giliran gagal pada kesalahan yang tidak akan dihapus sampai Anda memperbaikinya, Claude Code menghapus tujuan dan mencetak peringatan yang menyebutkan penyebabnya. Peringatan dimulai dengan `Goal cleared after an unrecoverable error` dan diakhiri dengan `Run /goal again to continue`. Perbaiki penyebabnya, kemudian [tetapkan tujuan lagi](#set-a-goal) dengan `/goal <condition>`. Empat jenis kegagalan menghapus tujuan:

157 157 

158* Kegagalan autentikasi, ketika Claude Code mengelola kredensialnya sendiri. Ketika host mengelolanya untuk Anda, seperti aplikasi desktop, ekstensi VS Code, atau [sesi cloud](/docs/id/claude-code-on-the-web), Claude Code membiarkan tujuan tetap aktif karena host memulihkan akses dengan sendirinya.158* Kegagalan autentikasi, ketika Claude Code mengelola kredensialnya sendiri. Ketika host mengelolanya untuk Anda, seperti aplikasi desktop atau [sesi cloud](/docs/id/claude-code-on-the-web), Claude Code membiarkan tujuan tetap aktif karena host memulihkan akses dengan sendirinya.

159* Saldo kredit yang habis159* Saldo kredit yang habis

160* Overflow konteks yang [auto-compaction](/docs/id/model-config#set-the-auto-compact-window) tidak dapat menghapus160* Overflow konteks yang [auto-compaction](/docs/id/model-config#set-the-auto-compact-window) tidak dapat menghapus

161* Model yang tidak tersedia161* Model yang tidak tersedia

headless.md +11 −3

Details

38 Mulai lebih cepat dengan bare mode38 Mulai lebih cepat dengan bare mode

39</h3>39</h3>

40 40 

41Tambahkan `--bare` untuk mengurangi waktu startup dengan melewati penemuan otomatis hooks, skills, perintah kustom, [subagents](/docs/id/sub-agents), plugins, server MCP, auto memory, dan CLAUDE.md. Tanpanya, `claude -p` memuat [konteks](/docs/id/how-claude-code-works#the-context-window) yang sama dengan sesi interaktif, termasuk apa pun yang dikonfigurasi di direktori kerja atau `~/.claude`.41Tambahkan `--bare` untuk mengurangi waktu startup dengan melewati penemuan otomatis hooks, skills, perintah kustom, [subagents](/docs/id/sub-agents), plugins yang diinstal, server MCP, auto memory, dan CLAUDE.md. Tanpanya, `claude -p` memuat [konteks](/docs/id/how-claude-code-works#the-context-window) yang sama dengan sesi interaktif, termasuk apa pun yang dikonfigurasi di direktori kerja atau `~/.claude`.

42 42 

43Bare mode berguna untuk CI dan skrip di mana Anda memerlukan hasil yang sama di setiap mesin. Hook di `~/.claude` rekan kerja atau server MCP di `.mcp.json` proyek tidak akan berjalan, karena bare mode tidak pernah membacanya. Direktori yang Anda beri nama dengan `--add-dir` adalah pengecualian parsial: bare mode memuat skills dari folder `.claude/skills/` nya, tetapi masih melewati folder `.claude/commands/` dan `.claude/agents/` nya. [Skills dari direktori tambahan](/docs/id/skills#skills-from-additional-directories) mencakup apa yang dimuat dan tidak dimuat.43Bare mode berguna untuk CI dan skrip di mana Anda memerlukan hasil yang sama di setiap mesin. Hook di `~/.claude` rekan kerja atau server MCP di `.mcp.json` proyek tidak akan berjalan, karena bare mode tidak pernah membacanya. Direktori yang Anda beri nama dengan `--add-dir` adalah pengecualian parsial: bare mode memuat skills dari folder `.claude/skills/` nya, tetapi masih melewati folder `.claude/commands/` dan `.claude/agents/` nya. [Skills dari direktori tambahan](/docs/id/skills#skills-from-additional-directories) mencakup apa yang dimuat dan tidak dimuat.

44 44 


89* **Menjalankan perintah**: Claude Code mencatat perintah sebagai terbunuh dalam sesi.89* **Menjalankan perintah**: Claude Code mencatat perintah sebagai terbunuh dalam sesi.

90* **Menunggu jawaban untuk prompt izin**: jika Anda mengirim SIGTERM ke proses, Claude Code meninggalkan prompt tanpa jawaban. Jika program Anda menutup sesi melalui Agent SDK, SDK mengakhiri input Claude Code sebelum mengirim sinyal apa pun, dan Claude Code membatalkan prompt segera setelah input berakhir.90* **Menunggu jawaban untuk prompt izin**: jika Anda mengirim SIGTERM ke proses, Claude Code meninggalkan prompt tanpa jawaban. Jika program Anda menutup sesi melalui Agent SDK, SDK mengakhiri input Claude Code sebelum mengirim sinyal apa pun, dan Claude Code membatalkan prompt segera setelah input berakhir.

91 91 

92Ketika Anda [melanjutkan sesi](#continue-conversations), Claude Code melanjutkan giliran yang SIGTERM tinggalkan tidak selesai.92Ketika Anda [melanjutkan sesi](#continue-conversations), Claude Code meninggalkan giliran yang terputus seperti apa adanya, dan prompt berikutnya Anda mendorong percakapan. Untuk membuat Claude Code melanjutkan giliran yang terputus saat resume, atur [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/id/env-vars).

93 

94<h3 id="if-the-working-directory-is-deleted">

95 Jika direktori kerja dihapus

96</h3>

97 

98Jika direktori kerja dari sesi `claude -p` atau Agent SDK dihapus di tengah sesi, sesi terus berjalan. Ketika giliran dimulai sementara direktori hilang, Claude Code mengeluarkan [pesan peringatan](/docs/id/agent-sdk/typescript#sdkinformationalmessage) dalam output `stream-json`, dan perintah shell gagal sampai direktori ada lagi.

93 99 

94<h2 id="examples">100<h2 id="examples">

95 Contoh101 Contoh


255| Bidang | Tipe | Deskripsi |261| Bidang | Tipe | Deskripsi |

256| - | - | - |262| - | - | - |

257| `plugins` | array | plugin yang berhasil dimuat, masing-masing dengan `name` dan `path` |263| `plugins` | array | plugin yang berhasil dimuat, masing-masing dengan `name` dan `path` |

258| `plugin_errors` | array | kesalahan waktu muat plugin, masing-masing dengan `plugin`, `type`, dan `message`. Mencakup versi dependensi yang tidak terpenuhi dan kegagalan muat `--plugin-dir` seperti jalur yang hilang atau arsip yang tidak valid. Plugin yang terpengaruh diturunkan dan tidak ada di `plugins`. Kunci dihilangkan ketika tidak ada kesalahan |264| `plugin_errors` | array | kesalahan waktu muat plugin, masing-masing dengan `plugin`, `type`, dan `message`. Mencakup versi dependensi yang tidak terpenuhi dan kegagalan muat `--plugin-dir` seperti jalur yang hilang atau arsip yang tidak valid. Plugin yang tidak dimuat tidak ada di `plugins`. Kunci dihilangkan ketika tidak ada kesalahan |

265 

266Ketika direktori `--plugin-dir` atau arsip itu sendiri gagal dimuat, entri `plugin_errors`-nya mencakup jalur absolut yang diselesaikan sebagai `path`. Gunakan untuk membedakan mana dari beberapa nilai `--plugin-dir` yang gagal. Bidang `path` memerlukan Claude Code v2.1.283 atau lebih baru.

259 267 

260Gunakan bidang server MCP dengan cara yang sama. Ketika Anda berikan [`--mcp-config`](/docs/id/cli-reference#cli-flags) dengan `-p`, Claude Code menunggu server yang masih tertunda sebelum menjalankan giliran pertama, hingga timeout startup [`MCP_TIMEOUT`](/docs/id/env-vars), 30 detik secara default. Server jarak jauh dengan [daftar alat yang di-cache](/docs/id/agent-sdk/mcp#connection-timing) melewati tunggu, menampilkan `pending` di `system/init`, dan terhubung pada pemanggilan alat pertamanya. Tunggu memerlukan Claude Code v2.1.221 atau lebih baru.268Gunakan bidang server MCP dengan cara yang sama. Ketika Anda berikan [`--mcp-config`](/docs/id/cli-reference#cli-flags) dengan `-p`, Claude Code menunggu server yang masih tertunda sebelum menjalankan giliran pertama, hingga timeout startup [`MCP_TIMEOUT`](/docs/id/env-vars), 30 detik secara default. Server jarak jauh dengan [daftar alat yang di-cache](/docs/id/agent-sdk/mcp#connection-timing) melewati tunggu, menampilkan `pending` di `system/init`, dan terhubung pada pemanggilan alat pertamanya. Tunggu memerlukan Claude Code v2.1.221 atau lebih baru.

261 269 

hooks-guide.md +2 −2

Details

880 Prompt-based hooks880 Prompt-based hooks

881</h2>881</h2>

882 882 

883Untuk keputusan yang memerlukan penilaian daripada aturan deterministik, gunakan hook `type: "prompt"`. Daripada menjalankan perintah shell, Claude Code mengirim prompt Anda dan data input hook ke model Claude (Haiku secara default) untuk membuat keputusan. Anda dapat menentukan model berbeda dengan bidang `model` jika Anda memerlukan kemampuan lebih.883Untuk keputusan yang memerlukan penilaian daripada aturan deterministik, gunakan hook `type: "prompt"`. Daripada menjalankan perintah shell, Claude Code mengirim prompt Anda dan data input hook ke model Claude untuk membuat keputusan. Anda dapat menentukan model berbeda dengan bidang `model` jika Anda memerlukan kemampuan lebih.

884 884 

885Satu-satunya pekerjaan model adalah mengembalikan keputusannya sebagai JSON:885Satu-satunya pekerjaan model adalah mengembalikan keputusannya sebagai JSON:

886 886 


995 995 

996Pertimbangkan batasan-batasan ini saat merancang hooks:996Pertimbangkan batasan-batasan ini saat merancang hooks:

997 997 

998* Command hooks berkomunikasi melalui stdout, stderr, dan kode keluar saja. Mereka tidak dapat memicu perintah `/` atau panggilan alat. Teks yang dikembalikan melalui `additionalContext` disuntikkan sebagai pengingat sistem yang Claude baca sebagai teks biasa. HTTP hooks berkomunikasi melalui badan respons sebagai gantinya.998* Command hooks berkomunikasi melalui stdout, stderr, dan kode keluar saja. Mereka tidak dapat memicu perintah `/` atau panggilan alat. Teks yang dikembalikan melalui `additionalContext` disuntikkan sebagai [pengingat sistem](/docs/id/glossary#system-reminder) yang Claude baca sebagai teks biasa. HTTP hooks berkomunikasi melalui badan respons sebagai gantinya.

999* Timeout hook bervariasi menurut jenis. Timpa per hook dengan bidang `timeout` dalam detik.999* Timeout hook bervariasi menurut jenis. Timpa per hook dengan bidang `timeout` dalam detik.

1000 * `command`, `http`, `mcp_tool`: 10 menit. Claude Code menurunkan default ini menjadi 30 detik untuk hook `UserPromptSubmit`, `PreModelSwitch`, dan `PostModelSwitch`, dan menjadi 10 detik untuk hook `MessageDisplay`.1000 * `command`, `http`, `mcp_tool`: 10 menit. Claude Code menurunkan default ini menjadi 30 detik untuk hook `UserPromptSubmit`, `PreModelSwitch`, dan `PostModelSwitch`, dan menjadi 10 detik untuk hook `MessageDisplay`.

1001 * `prompt`: 30 detik.1001 * `prompt`: 30 detik.

Details

144 144 

145Untuk panduan interaktif tentang apa yang dimuat dan kapan, lihat [Explore the context window](/docs/id/context-window).145Untuk panduan interaktif tentang apa yang dimuat dan kapan, lihat [Explore the context window](/docs/id/context-window).

146 146 

147<h4 id="context-claude-code-adds-on-its-own">

148 Context Claude Code adds on its own

149</h4>

150 

151Jika Claude mengikuti aturan yang tidak Anda tulis, seperti menambahkan trailer `Co-Authored-By` ke commit, aturan tersebut mungkin berasal dari [system reminder](/docs/id/glossary#system-reminder). Saat Anda bekerja, Claude Code menambahkan konteksnya sendiri ke percakapan bersama pesan Anda:

152 

153* File CLAUDE.md Anda

154* Instruksi [output style](/docs/id/output-styles) Anda

155* Catatan ketika file yang dibaca Claude sebelumnya berubah di disk

156* Baris atribusi commit dan pull request

157 

158Untuk mengubah atau menghapus baris atribusi, atur [`attribution`](/docs/id/settings-reference#attribution). Untuk menghapus instruksi commit dan pull request bawaan Claude Code, atur [`includeGitInstructions`](/docs/id/settings-reference#includegitinstructions) ke `false`. Untuk switch lainnya, lihat [Turn off the context your agent replaces](/docs/id/agent-sdk/modifying-system-prompts#turn-off-the-context-your-agent-replaces).

159 

147<h4 id="when-context-fills-up">160<h4 id="when-context-fills-up">

148 When context fills up161 When context fills up

149</h4>162</h4>


188 201 

189Pilih mode permission untuk mengatur apa yang dapat dilakukan Claude tanpa bertanya kepada Anda. Tekan `Shift+Tab` untuk melakukan siklus melalui mode permission:202Pilih mode permission untuk mengatur apa yang dapat dilakukan Claude tanpa bertanya kepada Anda. Tekan `Shift+Tab` untuk melakukan siklus melalui mode permission:

190 203 

191* **Auto**: classifier meninjau sebagian besar tindakan di latar belakang dan memblokir tindakan yang berisiko alih-alih bertanya kepada Anda. Pada paket Pro, Max, dan Team, ini adalah [mode permission awal bawaan](/docs/id/permission-modes#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code204* **Auto**: classifier meninjau sebagian besar tindakan di latar belakang dan memblokir tindakan yang berisiko alih-alih bertanya kepada Anda. Dengan Claude Code v2.1.283 atau lebih baru, ini adalah [mode permission awal bawaan](/docs/id/permission-modes#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code, dan pada versi sebelumnya hanya pada paket Pro, Max, dan Team

192* **Manual**: Claude bertanya sebelum edit file dan perintah shell205* **Manual**: Claude bertanya sebelum edit file dan perintah shell

193* **Accept edits**: Claude mengedit file dan menjalankan perintah filesystem umum seperti `mkdir` dan `mv` tanpa bertanya, masih bertanya untuk perintah lain206* **Accept edits**: Claude mengedit file dan menjalankan perintah filesystem umum seperti `mkdir` dan `mv` tanpa bertanya, masih bertanya untuk perintah lain

194* **Plan**: Claude mengeksplorasi dan mengusulkan rencana tanpa mengedit file sumber Anda207* **Plan**: Claude mengeksplorasi dan mengusulkan rencana tanpa mengedit file sumber Anda


241Anda dapat mengalihkan Claude kapan saja tanpa memulai dari awal. Lakukan salah satu dari ini:254Anda dapat mengalihkan Claude kapan saja tanpa memulai dari awal. Lakukan salah satu dari ini:

242 255 

243* **Tekan `Esc`** untuk menghentikan Claude segera. Panggilan tool yang sedang berjalan dibatalkan dan Claude menunggu instruksi Anda berikutnya. Jika Anda memiliki pesan yang antri, Claude Code [mengirimnya selanjutnya](/docs/id/interactive-mode#queue-messages-while-claude-works).256* **Tekan `Esc`** untuk menghentikan Claude segera. Panggilan tool yang sedang berjalan dibatalkan dan Claude menunggu instruksi Anda berikutnya. Jika Anda memiliki pesan yang antri, Claude Code [mengirimnya selanjutnya](/docs/id/interactive-mode#queue-messages-while-claude-works).

244* **Ketik koreksi dan tekan `Enter`** tanpa menghentikan Claude. Pesan ditampilkan sebagai antri di atas kotak input. Jika Claude menjalankan panggilan tool, pesan dibaca segera setelah panggilan tersebut selesai, dalam giliran yang sama, dan disesuaikan sebelum langkah berikutnya. [Antri pesan saat Claude bekerja](/docs/id/interactive-mode#queue-messages-while-claude-works) mencakup kapan entri antri lainnya dikirim.257* **Ketik koreksi dan tekan `Enter`** tanpa menghentikan Claude. Pesan ditampilkan sebagai antri di dalam percakapan. Jika Claude menjalankan panggilan tool, pesan dibaca segera setelah panggilan tersebut selesai, dalam giliran yang sama, dan disesuaikan sebelum langkah berikutnya. [Antri pesan saat Claude bekerja](/docs/id/interactive-mode#queue-messages-while-claude-works) mencakup kapan entri antri lainnya dikirim.

245 258 

246<h3 id="delegate-don’t-dictate">259<h3 id="delegate-don’t-dictate">

247 Delegasikan, jangan mendikte260 Delegasikan, jangan mendikte

Details

34| `Ctrl+T` | Alihkan daftar tugas Claude | Tampilkan atau sembunyikan [daftar tugas Claude](#task-list) di area status. Ini bukan tampilan tugas latar belakang; gunakan [`/tasks`](/docs/id/commands) untuk melihat shell dan subagen yang berjalan |34| `Ctrl+T` | Alihkan daftar tugas Claude | Tampilkan atau sembunyikan [daftar tugas Claude](#task-list) di area status. Ini bukan tampilan tugas latar belakang; gunakan [`/tasks`](/docs/id/commands) untuk melihat shell dan subagen yang berjalan |

35| `Ctrl+S` | Simpan atau pulihkan prompt | Dengan teks dalam input, menyimpannya dan menghapus prompt. Ditekan lagi pada prompt kosong, memulihkan teks yang disimpan, posisi kursor, konten yang ditempel, dan mode input, jadi perintah shell `!` yang disimpan [kembali dalam mode shell](#shell-mode-with-prefix) |35| `Ctrl+S` | Simpan atau pulihkan prompt | Dengan teks dalam input, menyimpannya dan menghapus prompt. Ditekan lagi pada prompt kosong, memulihkan teks yang disimpan, posisi kursor, konten yang ditempel, dan mode input, jadi perintah shell `!` yang disimpan [kembali dalam mode shell](#shell-mode-with-prefix) |

36| `Ctrl+Z` | Jeda Claude Code | Unix saja. Menangguhkan proses ke shell Anda; jalankan `fg` untuk melanjutkan |36| `Ctrl+Z` | Jeda Claude Code | Unix saja. Menangguhkan proses ke shell Anda; jalankan `fg` untuk melanjutkan |

37| `Panah Kiri/Kanan` | Siklus melalui tab dialog | Navigasi antar tab dalam dialog izin dan menu |37| `Panah Kiri/Kanan` | Siklus melalui tab dialog | Navigasi antar tab dalam dialog izin dan menu. Dalam dialog bertab, kunci beralih tab sementara baris tab memiliki fokus. Lihat [Tindakan tab](/docs/id/keybindings#tabs-actions) untuk cara fokus bergerak |

38| `Tab` | Terima saran pelengkapan otomatis, atau tambahkan komentar ke jawaban izin | Saat saran pelengkapan otomatis ditampilkan dalam input prompt, menerima saran yang dipilih. Pada sebagian besar prompt izin, dengan **Ya** atau **Tidak** fokus, membuka bidang komentar pada opsi itu, dan menekannya lagi menutup bidang. Lihat [tambahkan komentar saat Anda menjawab prompt izin](/docs/id/permissions#add-a-comment-when-you-answer-a-permission-prompt) |38| `Tab` | Terima saran pelengkapan otomatis, atau tambahkan komentar ke jawaban izin | Saat saran pelengkapan otomatis ditampilkan dalam input prompt, menerima saran yang dipilih. Pada sebagian besar prompt izin, dengan **Ya** atau **Tidak** fokus, membuka bidang komentar pada opsi itu, dan menekannya lagi menutup bidang. Lihat [tambahkan komentar saat Anda menjawab prompt izin](/docs/id/permissions#add-a-comment-when-you-answer-a-permission-prompt) |

39| `Panah Atas/Bawah` atau `Ctrl+P`/`Ctrl+N` | Pindahkan kursor atau navigasi riwayat perintah | Ketika input mencakup lebih dari satu baris visual, baik dibungkus atau multiline, pertama kali memindahkan kursor dalam prompt. Setelah kursor berada di baris visual pertama atau terakhir, menekan lagi menavigasi riwayat perintah. Sementara Anda memiliki pesan antrian, `Atas` dari baris pertama malah [membawanya kembali](#take-back-what-you-queued) |39| `Panah Atas/Bawah` atau `Ctrl+P`/`Ctrl+N` | Pindahkan kursor atau navigasi riwayat perintah | Ketika input mencakup lebih dari satu baris visual, baik dibungkus atau multiline, pertama kali memindahkan kursor dalam prompt. Setelah kursor berada di baris visual pertama atau terakhir, menekan lagi menavigasi riwayat perintah. Sementara Anda memiliki pesan antrian, `Atas` dari baris pertama malah [membawanya kembali](#take-back-what-you-queued) |

40| `Esc` | Interupsi Claude, atau tutup dialog | Hentikan respons atau panggilan alat saat ini di tengah giliran sehingga Anda dapat mengalihkan. Claude menyimpan pekerjaan yang dilakukan sejauh ini. Jika Anda memiliki [pesan antrian](#queue-messages-while-claude-works), Claude Code mengirimnya selanjutnya. Ketika dialog terbuka, `Esc` menutup dialog. Pada prompt izin, `Esc` menolak tindakan, sama seperti [**Tidak** tanpa komentar](/docs/id/permissions#add-a-comment-when-you-answer-a-permission-prompt) |40| `Esc` | Interupsi Claude, atau tutup dialog | Hentikan respons atau panggilan alat saat ini di tengah giliran sehingga Anda dapat mengalihkan. Claude menyimpan pekerjaan yang dilakukan sejauh ini. Jika Anda memiliki [pesan antrian](#queue-messages-while-claude-works), Claude Code mengirimnya selanjutnya. Ketika dialog terbuka, `Esc` menutup dialog. Saat item footer dipilih, seperti baris di [panel subagen](/docs/id/sub-agents#run-subagents-in-foreground-or-background) di bawah prompt, `Esc` [membatalkan pilihannya](/docs/id/keybindings#footer-actions) alih-alih mengganggu. Pada prompt izin, `Esc` menolak tindakan, sama seperti [**Tidak** tanpa komentar](/docs/id/permissions#add-a-comment-when-you-answer-a-permission-prompt) |

41| `Esc` + `Esc` | Hapus draf input, atau putar ulang | Ketika input prompt berisi teks, `Esc` ganda menghapusnya dan menyimpan draf ke riwayat sehingga `Atas` mengingatnya. Ketika input kosong, `Esc` ganda membuka [menu putar ulang](/docs/id/checkpointing) untuk memulihkan atau merangkum kode dan percakapan dari titik sebelumnya |41| `Esc` + `Esc` | Hapus draf input, atau putar ulang | Ketika input prompt berisi teks, `Esc` ganda menghapusnya dan menyimpan draf ke riwayat sehingga `Atas` mengingatnya. Ketika input kosong, `Esc` ganda membuka [menu putar ulang](/docs/id/checkpointing) untuk memulihkan atau merangkum kode dan percakapan dari titik sebelumnya |

42| `Ctrl+Enter` atau `Ctrl+X Ctrl+S` | Kirim pesan antrian sekarang | Mengirim [pesan antrian](#queue-messages-while-claude-works) Anda, dan draf Anda bersama mereka, keluar segera. [Ketika Claude Code mengirim apa yang Anda antrekan](#when-claude-code-sends-what-you-queued) mencakup apa yang terjadi pada giliran yang sedang dikerjakan Claude. Dalam [mode shell](#shell-mode-with-prefix), kunci hanya mengantrekan perintah Anda. Di terminal yang tidak melaporkan kunci diperluas, `Ctrl+Enter` tiba sebagai `Enter` biasa; `Ctrl+X Ctrl+S` bekerja di terminal apa pun. Memerlukan Claude Code v2.1.275 atau yang lebih baru |42| `Ctrl+Enter` atau `Ctrl+X Ctrl+S` | Kirim pesan antrian sekarang | Mengirim [pesan antrian](#queue-messages-while-claude-works) Anda, dan draf Anda bersama mereka, keluar segera. [Ketika Claude Code mengirim apa yang Anda antrekan](#when-claude-code-sends-what-you-queued) mencakup apa yang terjadi pada giliran yang sedang dikerjakan Claude. Dalam [mode shell](#shell-mode-with-prefix), kunci hanya mengantrekan perintah Anda. Di terminal yang tidak melaporkan kunci diperluas, `Ctrl+Enter` tiba sebagai `Enter` biasa; `Ctrl+X Ctrl+S` bekerja di terminal apa pun. Memerlukan Claude Code v2.1.275 atau yang lebih baru |

43| `Shift+Tab`, atau `Alt+M` di Windows ketika runtime Node atau Bun tidak mengaktifkan mode input VT | Mode izin siklus | Siklus melalui `default` (berlabel Manual dalam indikator mode), `acceptEdits`, `plan`, dan, ketika tersedia, `bypassPermissions` dan kemudian `auto`. Dari `auto`, tekan pertama beralih ke `default`. Lihat [mode izin](/docs/id/permission-modes). Pada prompt izin file, kunci yang sama menutup [bidang komentar](/docs/id/permissions#add-a-comment-when-you-answer-a-permission-prompt) yang terbuka. Tanpa bidang terbuka, ini memilih opsi yang memungkinkan tindakan untuk sisa sesi, ketika prompt menawarkan opsi itu |43| `Shift+Tab`, atau `Alt+M` di Windows ketika runtime Node atau Bun tidak mengaktifkan mode input VT | Mode izin siklus | Siklus melalui `default` (berlabel Manual dalam indikator mode), `acceptEdits`, `plan`, dan, ketika tersedia, `bypassPermissions` dan kemudian `auto`. Dari `auto`, tekan pertama beralih ke `default`. Lihat [mode izin](/docs/id/permission-modes). Pada prompt izin file, kunci yang sama menutup [bidang komentar](/docs/id/permissions#add-a-comment-when-you-answer-a-permission-prompt) yang terbuka. Tanpa bidang terbuka, ini memilih opsi yang memungkinkan tindakan untuk sisa sesi, ketika prompt menawarkan opsi itu |

44| `Option+P` (macOS) atau `Alt+P` (Windows/Linux) | Model switch | Alihkan model tanpa menghapus prompt Anda |44| `Option+P` (macOS) atau `Alt+P` (Windows/Linux) | Model switch | Alihkan model tanpa menghapus prompt Anda |

45| `Option+T` (macOS) atau `Alt+T` (Windows/Linux) | Alihkan pemikiran diperpanjang | Aktifkan atau nonaktifkan mode pemikiran diperpanjang. Tidak berpengaruh pada Opus 5.5 atau model Fable, yang selalu menggunakan pemikiran diperpanjang. Bekerja di macOS tanpa mengonfigurasi Option sebagai Meta |45| `Option+T` (macOS) atau `Alt+T` (Windows/Linux) | Alihkan pemikiran diperpanjang | Aktifkan atau nonaktifkan mode pemikiran diperpanjang. Tidak berpengaruh pada Opus 5.5, Sonnet 5.5, atau model Fable, yang selalu menggunakan pemikiran diperpanjang. Bekerja di macOS tanpa mengonfigurasi Option sebagai Meta |

46| `Option+O` (macOS) atau `Alt+O` (Windows/Linux) | Alihkan mode cepat | Aktifkan atau nonaktifkan [mode cepat](/docs/id/fast-mode) |46| `Option+O` (macOS) atau `Alt+O` (Windows/Linux) | Alihkan mode cepat | Aktifkan atau nonaktifkan [mode cepat](/docs/id/fast-mode) |

47 47 

48<h3 id="text-editing">48<h3 id="text-editing">


235| Perintah | Tindakan |235| Perintah | Tindakan |

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

237| `x` | Hapus karakter |237| `x` | Hapus karakter |

238| `r{char}` | Ganti karakter di bawah kursor dengan `{char}` |

238| `dd` | Hapus baris |239| `dd` | Hapus baris |

239| `D` | Hapus hingga akhir baris |240| `D` | Hapus hingga akhir baris |

240| `dw`/`de`/`db` | Hapus kata/hingga akhir/kembali |241| `dw`/`de`/`db` | Hapus kata/hingga akhir/kembali |

241| `df{char}`/`dt{char}` | Hapus hingga dan termasuk, atau hingga, kemunculan karakter berikutnya |242| `df{char}`/`dt{char}` | Hapus hingga dan termasuk, atau hingga, kemunculan karakter berikutnya |

243| `dj`/`dk` | Hapus baris saat ini dan baris di bawah atau di atas |

244| `dgg`/`dG` | Hapus dari baris saat ini ke baris pertama atau terakhir |

245| `d0`/`c0`/`y0` | Hapus, ubah, atau yank dari kursor kembali ke awal baris. Memerlukan Claude Code v2.1.281 atau lebih baru |

242| `cc` | Ubah baris |246| `cc` | Ubah baris |

243| `C` | Ubah hingga akhir baris |247| `C` | Ubah hingga akhir baris |

244| `cw`/`ce`/`cb` | Ubah kata/hingga akhir/kembali |248| `cw`/`ce`/`cb` | Ubah kata/hingga akhir/kembali |


342* Meminta Claude Code untuk menjalankan perintah di latar belakang346* Meminta Claude Code untuk menjalankan perintah di latar belakang

343* Tekan `Ctrl+B` untuk memindahkan invokasi alat Bash biasa ke latar belakang. Pengguna Tmux harus menekan `Ctrl+B` dua kali karena kunci awalan tmux.347* Tekan `Ctrl+B` untuk memindahkan invokasi alat Bash biasa ke latar belakang. Pengguna Tmux harus menekan `Ctrl+B` dua kali karena kunci awalan tmux.

344 348 

349Ketika perintah mencapai batas waktu sebelum selesai, Claude Code secara otomatis [memindahkannya ke latar belakang](/docs/id/tools-reference#background-commands) alih-alih menghentikannya, kecuali perintah dimulai dengan `sleep`. Untuk mengubah berapa lama perintah berjalan sebelum itu terjadi, atur [variabel lingkungan batas waktu Bash](/docs/id/tools-reference#timeout-and-output-limits).

350 

345**Fitur utama:**351**Fitur utama:**

346 352 

347* Output ditulis ke file dan Claude dapat mengambilnya menggunakan alat Read353* Output ditulis ke file dan Claude dapat mengambilnya menggunakan alat Read


399 405 

400Pesan yang dikirim dan antri ditampilkan dalam warna abu-abu hingga Claude mulai merespons, sehingga Anda dapat mengetahui pesan mana yang belum dimulai oleh Claude.406Pesan yang dikirim dan antri ditampilkan dalam warna abu-abu hingga Claude mulai merespons, sehingga Anda dapat mengetahui pesan mana yang belum dimulai oleh Claude.

401 407 

408Jika Anda mengantrekan pesan dengan pilihan yang terlampir dari [IDE yang terhubung](/docs/id/vs-code#the-built-in-ide-mcp-server) atau [panel diff](#diff-panel), pesan tersebut mempertahankan pilihan yang Anda miliki saat Anda menekan `Enter`, apa pun yang Anda pilih setelahnya.

409 

402<h3 id="when-claude-code-sends-what-you-queued">410<h3 id="when-claude-code-sends-what-you-queued">

403 Kapan Claude Code mengirim apa yang Anda antrekan411 Kapan Claude Code mengirim apa yang Anda antrekan

404</h3>412</h3>

jetbrains.md +5 −1

Details

249 249 

250Server bernama `ide` dan tersembunyi dari `/mcp` karena tidak ada yang perlu dikonfigurasi. Jika organisasi Anda menggunakan [`PreToolUse` hook](/docs/id/hooks#pretooluse) untuk membuat daftar putih alat MCP, bagaimanapun, Anda perlu mengetahui bahwa itu ada.250Server bernama `ide` dan tersembunyi dari `/mcp` karena tidak ada yang perlu dikonfigurasi. Jika organisasi Anda menggunakan [`PreToolUse` hook](/docs/id/hooks#pretooluse) untuk membuat daftar putih alat MCP, bagaimanapun, Anda perlu mengetahui bahwa itu ada.

251 251 

252**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`](/docs/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.252**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.

253 

254Jika Anda [mengantrekan pesan saat Claude bekerja](/docs/id/interactive-mode#queue-messages-while-claude-works), pesan tersebut menyimpan pilihan yang Anda miliki saat Anda menekan `Enter`, apa pun yang Anda pilih setelahnya.

255 

256Untuk mengecualikan file sensitif seperti `.env`, tambahkan [aturan penolakan `Read`](/docs/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.

253 257 

254**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.258**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.

255 259 

keybindings.md +33 −12

Details

168 168 

169Dialog menggunakan `confirm:yes` dan `confirm:no` untuk menerima dan membatalkan bahkan ketika mereka tidak mengajukan pertanyaan ya-atau-tidak. Jika Anda mengikat huruf telanjang seperti `y` atau `n` dalam konteks ini, huruf juga bertindak pada dialog yang tidak pernah menampilkannya sebagai kunci. Dialog yang menampilkan `y` dan `n` sebagai kuncinya membaca huruf-huruf itu sendiri dan tidak memerlukan binding.169Dialog menggunakan `confirm:yes` dan `confirm:no` untuk menerima dan membatalkan bahkan ketika mereka tidak mengajukan pertanyaan ya-atau-tidak. Jika Anda mengikat huruf telanjang seperti `y` atau `n` dalam konteks ini, huruf juga bertindak pada dialog yang tidak pernah menampilkannya sebagai kunci. Dialog yang menampilkan `y` dan `n` sebagai kuncinya membaca huruf-huruf itu sendiri dan tidak memerlukan binding.

170 170 

171Dalam sebagian besar dialog, menekan `Ctrl+C` atau `Ctrl+D` dua kali menutup dialog alih-alih keluar dari Claude Code. Petunjuk setelah penekanan pertama mengatakan apakah penekanan kedua menutup dialog atau keluar. Kedua kunci adalah [pintasan yang dicadangkan](#reserved-shortcuts) dan tidak dapat diikat ulang.

172 

171Contoh ini mengikat `y` ke `confirm:yes` dan `n` ke `confirm:no`:173Contoh ini mengikat `y` ke `confirm:yes` dan `n` ke `confirm:no`:

172 174 

173```json theme={null}175```json theme={null}


268| `tabs:next` | Tab, Right | Tab berikutnya |270| `tabs:next` | Tab, Right | Tab berikutnya |

269| `tabs:previous` | Shift+Tab, Left | Tab sebelumnya |271| `tabs:previous` | Shift+Tab, Left | Tab sebelumnya |

270 272 

273Dalam dialog bertab, `tabs:next` dan `tabs:previous` mengalihkan tab saat baris tab memiliki fokus. Dalam beberapa dialog, seperti `/help` dan `/sandbox`, kunci pengalihan tab juga berfungsi dari dalam konten tab.

274 

275`Up` dan `Down` memindahkan fokus antara baris tab dan konten tab, dan daftar dalam konten merespons kunci hanya saat memiliki fokus.

276 

271<h3 id="attachments-actions">277<h3 id="attachments-actions">

272 Tindakan lampiran278 Tindakan lampiran

273</h3>279</h3>


295| `footer:down` | Down | Navigasi ke bawah di footer |301| `footer:down` | Down | Navigasi ke bawah di footer |

296| `footer:openSelected` | Enter | Buka item footer yang dipilih |302| `footer:openSelected` | Enter | Buka item footer yang dipilih |

297| `footer:clearSelection` | Escape | Bersihkan pilihan footer |303| `footer:clearSelection` | Escape | Bersihkan pilihan footer |

298| `footer:dismiss` | Backspace, Delete | Tutup tautan [artefak](/docs/id/artifacts) yang dipilih dari footer; artefak yang dipublikasikan itu sendiri tidak terpengaruh. Pada baris footer lainnya, kunci ini tidak berpengaruh. Memerlukan v2.1.217 atau lebih baru |304| `footer:dismiss` | (unbound) | Dihapus di v2.1.281. `keybindings.json` yang masih menyebutkan tindakan tetap valid, dan binding tidak melakukan apa pun. Sebelum v2.1.281, Backspace dan Delete menghapus tautan artefak yang dipilih dari footer |

299 305 

300Saat item footer dipilih, seperti baris di panel agen di bawah prompt, `Enter` membukanya bahkan ketika Anda mengikat ulang `Enter` dalam konteks `Chat` ke `chat:queueSubmit` atau `chat:newline`.306Saat item footer dipilih, seperti baris di panel agen di bawah prompt, `Enter` membukanya bahkan ketika Anda mengikat ulang `Enter` dalam konteks `Chat` ke `chat:queueSubmit` atau `chat:newline`.

301 307 


305 Tindakan pemilih pesan311 Tindakan pemilih pesan

306</h3>312</h3>

307 313 

308Tindakan yang tersedia dalam konteks `MessageSelector`:314Dalam daftar pesan dari [menu rewind](/docs/id/checkpointing), Anda bergerak melalui pesan dan memilih satu dengan [Tindakan Select](#select-actions) dan kunci default mereka. Binding `Select` Anda untuk tindakan tersebut berlaku di sana juga. Konteks `MessageSelector` tidak memiliki tindakan atau binding default sendiri. Gunakan untuk mengubah kunci untuk daftar ini saja, dengan mengikat tindakan Select seperti `select:accept` dalam blok `MessageSelector`.

309 315 

310| Tindakan | Default | Deskripsi |316Contoh ini mengikat `o` untuk memilih pesan yang disorot dalam menu rewind, tanpa mengubah daftar lain apa pun:

311| :- | :- | :- |317 

312| `messageSelector:up` | Up, K, Ctrl+P | Pindah ke atas dalam daftar |318```json theme={null}

313| `messageSelector:down` | Down, J, Ctrl+N | Pindah ke bawah dalam daftar |319{

314| `messageSelector:top` | Ctrl+Up, Shift+Up, Meta+Up, Shift+K | Lompat ke atas |320 "bindings": [

315| `messageSelector:bottom` | Ctrl+Down, Shift+Down, Meta+Down, Shift+J | Lompat ke bawah |321 {

316| `messageSelector:select` | Enter | Pilih pesan |322 "context": "MessageSelector",

323 "bindings": {

324 "o": "select:accept"

325 }

326 }

327 ]

328}

329```

330 

331Sebelum v2.1.283, daftar ini mengabaikan binding `Select` dan memiliki tindakan sendiri: `messageSelector:up`, `messageSelector:down`, `messageSelector:top`, `messageSelector:bottom`, dan `messageSelector:select`. Jika `keybindings.json` Anda mengikat salah satu nama tersebut, binding tetap bekerja dalam daftar ini sebagai tindakan Select yang melakukan hal yang sama. `Home` dan `End` melompat ke kedua ujung daftar; sebelum v2.1.283, kunci seperti `Shift+K` dan `Shift+J` melakukan itu secara default.

317 332 

318<h3 id="diff-actions">333<h3 id="diff-actions">

319 Tindakan diff334 Tindakan diff


328| `diff:nextSource` | Right | Sumber diff berikutnya |343| `diff:nextSource` | Right | Sumber diff berikutnya |

329| `diff:previousFile` | Up, K | File sebelumnya dalam daftar file; gulir ke atas satu baris dalam tampilan detail |344| `diff:previousFile` | Up, K | File sebelumnya dalam daftar file; gulir ke atas satu baris dalam tampilan detail |

330| `diff:nextFile` | Down, J | File berikutnya dalam daftar file; gulir ke bawah satu baris dalam tampilan detail |345| `diff:nextFile` | Down, J | File berikutnya dalam daftar file; gulir ke bawah satu baris dalam tampilan detail |

331| `diff:viewDetails` | Enter | Lihat detail diff |

332| `diff:back` | (unbound) | Kembali dalam penampil diff. Escape melakukan tindakan kembali melalui `diff:dismiss`. Default sebelumnya dari Left dalam tampilan detail dihapus di v2.1.203 |346| `diff:back` | (unbound) | Kembali dalam penampil diff. Escape melakukan tindakan kembali melalui `diff:dismiss`. Default sebelumnya dari Left dalam tampilan detail dihapus di v2.1.203 |

333 347 

348Daftar file juga merespons [Tindakan Select](#select-actions), melalui kunci default mereka dan binding `Select` Anda. `select:previous` dan `select:next` berpindah ke file sebelumnya dan berikutnya, dan `Enter` membuka diff file yang dipilih melalui `select:accept`. Untuk mengubah salah satu kunci tersebut untuk daftar file saja, ikat tindakan Select dalam blok `DiffDialog`.

349 

350Sebelum v2.1.283, daftar file mengabaikan binding `Select`, dan `Enter` membuka diff file yang dipilih melalui tindakan `diff:viewDetails` terpisah. Jika `keybindings.json` Anda mengikat `diff:viewDetails`, binding tetap bekerja dalam daftar file sebagai `select:accept`.

351 

334Tampilan detail diff juga mengikat kunci gaya pager ke [tindakan scroll](#scroll-actions) standar. Binding ini adalah bagian dari konteks `DiffDialog` dan hanya berlaku dalam tampilan detail; default konteks `Scroll` yang tercantum di bawah [Tindakan scroll](#scroll-actions) tidak berubah.352Tampilan detail diff juga mengikat kunci gaya pager ke [tindakan scroll](#scroll-actions) standar. Binding ini adalah bagian dari konteks `DiffDialog` dan hanya berlaku dalam tampilan detail; default konteks `Scroll` yang tercantum di bawah [Tindakan scroll](#scroll-actions) tidak berubah.

335 353 

336| Tindakan | Default | Deskripsi |354| Tindakan | Default | Deskripsi |


373 Tindakan slider upaya391 Tindakan slider upaya

374</h3>392</h3>

375 393 

376Tindakan yang tersedia dalam konteks `EffortSlider`, slider yang terbuka saat Anda menjalankan `/effort` tanpa argumen. Kunci Left, Right, Enter, dan Escape slider tidak dapat diikat ulang.394Tindakan yang tersedia dalam konteks `EffortSlider`, slider yang terbuka saat Anda menjalankan `/effort` tanpa argumen. Kunci Enter dan Escape slider tidak dapat diikat ulang.

377 395 

378| Tindakan | Default | Deskripsi |396| Tindakan | Default | Deskripsi |

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

398| `effortSlider:decreaseEffort` | Left | Pindahkan slider ke tingkat upaya yang lebih rendah berikutnya. Memerlukan v2.1.284 atau lebih baru |

399| `effortSlider:increaseEffort` | Right | Pindahkan slider ke tingkat upaya yang lebih tinggi berikutnya. Memerlukan v2.1.284 atau lebih baru |

400| `effortSlider:toggleUltracode` | Tab | Nyalakan atau matikan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) untuk sesi ini, ketika slider [menawarkannya](/docs/id/model-config#when-ultracode-is-available). Memerlukan v2.1.284 atau lebih baru |

380| `effortSlider:thisSessionOnly` | s | Terapkan [tingkat upaya](/docs/id/model-config#adjust-effort-level) yang difokuskan ke sesi ini saja. Memerlukan v2.1.257 atau lebih baru |401| `effortSlider:thisSessionOnly` | s | Terapkan [tingkat upaya](/docs/id/model-config#adjust-effort-level) yang difokuskan ke sesi ini saja. Memerlukan v2.1.257 atau lebih baru |

381 402 

382<h3 id="select-actions">403<h3 id="select-actions">


396| `select:accept` | Enter | Terima pilihan |417| `select:accept` | Enter | Terima pilihan |

397| `select:cancel` | Escape | Batalkan pilihan |418| `select:cancel` | Escape | Batalkan pilihan |

398 419 

399Claude Code menerapkan binding `select:pageUp`, `select:pageDown`, `select:first`, dan `select:last` Anda dalam menu `/skills`. Dalam sebagian besar daftar lainnya, seperti pemilih `/model`, binding `select:first` dan `select:last` Anda berlaku. PageUp dan PageDown halaman melalui opsi dalam daftar itu terlepas dari binding Anda.420Dalam panel daftar seperti `/skills` dan `/mcp`, Claude Code menerapkan binding `select:pageUp`, `select:pageDown`, `select:first`, dan `select:last` Anda. Dalam sebagian besar daftar lainnya, seperti pemilih `/model`, binding `select:first` dan `select:last` Anda berlaku. PageUp dan PageDown halaman melalui opsi dalam daftar itu terlepas dari binding Anda.

400 421 

401Sebelum v2.1.280, daftar lain itu mengabaikan Home, End, dan binding `select:first` dan `select:last` Anda.422Sebelum v2.1.280, daftar lain itu mengabaikan Home, End, dan binding `select:first` dan `select:last` Anda.

402 423 

llm-gateway.md +1 −1

Details

49 Langganan dan gateway49 Langganan dan gateway

50</h2>50</h2>

51 51 

52Sementara [variabel kredensial gateway](/docs/id/llm-gateway-connect#set-the-credential-variable) atau `apiKeyHelper` aktif, langganan claude.ai pengembang tidak digunakan: kredensial menggantikan login langganan untuk sesi itu, dan batas penggunaan langganan tidak berlaku. Lalu lintas itu ditagih per token kepada siapa pun yang memiliki kredensial yang diteruskan gateway, seperti akun Anthropic Console organisasi Anda, atau akun Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry Anda ketika gateway merutekan ke sana.52Sementara [variabel kredensial gateway](/docs/id/llm-gateway-connect#set-the-credential-variable) atau `apiKeyHelper` aktif, permintaan membawa kredensial itu menggantikan login langganan claude.ai pengembang, dan batas penggunaan langganan tidak berlaku untuk mereka. Claude Code menyimpan login claude.ai yang tersimpan di mesin tetapi tidak mengirimnya dengan permintaan tersebut. Lalu lintas itu ditagih per token kepada siapa pun yang memiliki kredensial yang diteruskan gateway, seperti akun Anthropic Console organisasi Anda, atau akun Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry Anda ketika gateway merutekan ke sana.

53 53 

54[`ANTHROPIC_BASE_URL`](/docs/id/llm-gateway-connect#set-the-base-url-and-credential) adalah variabel yang menunjukkan Claude Code ke gateway. Menetapkan hanya variabel itu, tanpa kredensial gateway, tidak menggantikan langganan. Permintaan masih merutekan melalui gateway, tetapi login claude.ai yang disimpan tetap menjadi kredensial aktif, sehingga batas penggunaan dan penagihan berlaku. Gateway yang meneruskan lalu lintas ini ke Anthropic harus meneruskan kemampuan OAuth di `anthropic-beta`; lihat [referensi header permintaan](/docs/id/llm-gateway-protocol#request-headers).54[`ANTHROPIC_BASE_URL`](/docs/id/llm-gateway-connect#set-the-base-url-and-credential) adalah variabel yang menunjukkan Claude Code ke gateway. Menetapkan hanya variabel itu, tanpa kredensial gateway, tidak menggantikan langganan. Permintaan masih merutekan melalui gateway, tetapi login claude.ai yang disimpan tetap menjadi kredensial aktif, sehingga batas penggunaan dan penagihan berlaku. Gateway yang meneruskan lalu lintas ini ke Anthropic harus meneruskan kemampuan OAuth di `anthropic-beta`; lihat [referensi header permintaan](/docs/id/llm-gateway-protocol#request-headers).

55 55 

Details

140<Tabs>140<Tabs>

141 <Tab title="Bash atau Zsh">141 <Tab title="Bash atau Zsh">

142 ```bash theme={null}142 ```bash theme={null}

143 curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \143 curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \

144 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \144 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \

145 -H "anthropic-version: 2023-06-01" \145 -H "anthropic-version: 2023-06-01" \

146 -H "content-type: application/json" \146 -H "content-type: application/json" \


594| `/fast` melaporkan `Fast mode has been disabled by your organization` dalam sesi yang diautentikasi dengan `ANTHROPIC_AUTH_TOKEN`, meskipun organisasi memiliki fast mode yang diaktifkan | Pemeriksaan ketersediaan memerlukan login claude.ai atau kunci API Anthropic; dengan hanya token bearer, Claude Code memperlakukan fast mode sebagai dinonaktifkan tanpa mengirim pemeriksaan | Atur `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`; lihat [gunakan fast mode di belakang proxy dan LLM gateway](/docs/id/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |594| `/fast` melaporkan `Fast mode has been disabled by your organization` dalam sesi yang diautentikasi dengan `ANTHROPIC_AUTH_TOKEN`, meskipun organisasi memiliki fast mode yang diaktifkan | Pemeriksaan ketersediaan memerlukan login claude.ai atau kunci API Anthropic; dengan hanya token bearer, Claude Code memperlakukan fast mode sebagai dinonaktifkan tanpa mengirim pemeriksaan | Atur `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`; lihat [gunakan fast mode di belakang proxy dan LLM gateway](/docs/id/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

595| Claude Code meminta Anda untuk masuk meskipun [tes curl](#verify-the-connection) berhasil | CLI tidak memiliki kredensial sendiri: URL dasar yang dapat dijangkau bukan satu, dan dalam sesi interaktif blok `env` di `.claude/settings.json` atau `.claude/settings.local.json` proyek hanya berlaku setelah wizard first-run dan [prompt kepercayaan](/docs/id/permissions#what-runs-before-you-trust-a-folder) | Atur `ANTHROPIC_AUTH_TOKEN` di mana pun Claude Code membaca sebelum pengaturan first-run: ekspor shell, blok `env` di `~/.claude/settings.json`, atau pengaturan terkelola |595| Claude Code meminta Anda untuk masuk meskipun [tes curl](#verify-the-connection) berhasil | CLI tidak memiliki kredensial sendiri: URL dasar yang dapat dijangkau bukan satu, dan dalam sesi interaktif blok `env` di `.claude/settings.json` atau `.claude/settings.local.json` proyek hanya berlaku setelah wizard first-run dan [prompt kepercayaan](/docs/id/permissions#what-runs-before-you-trust-a-folder) | Atur `ANTHROPIC_AUTH_TOKEN` di mana pun Claude Code membaca sebelum pengaturan first-run: ekspor shell, blok `env` di `~/.claude/settings.json`, atau pengaturan terkelola |

596| `ANTHROPIC_API_KEY` diatur tetapi diabaikan, tanpa prompt | Kunci memerlukan persetujuan satu kali dalam sesi interaktif, dan kunci yang sebelumnya ditolak diabaikan tanpa bertanya lagi | Aktifkannya di bawah `/config` dengan opsi `Use custom API key` |596| `ANTHROPIC_API_KEY` diatur tetapi diabaikan, tanpa prompt | Kunci memerlukan persetujuan satu kali dalam sesi interaktif, dan kunci yang sebelumnya ditolak diabaikan tanpa bertanya lagi | Aktifkannya di bawah `/config` dengan opsi `Use custom API key` |

597| `This machine's managed settings require a first-party login` | Pengaturan terkelola menyertakan `forceLoginMethod` atau `forceLoginOrgUUID`, yang tidak dapat hidup berdampingan dengan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` | Administrator Anda harus menghapus `forceLoginMethod` dan `forceLoginOrgUUID` dari pengaturan terkelola untuk menggunakan kredensial gateway, atau menghapus kredensial gateway untuk menggunakan login pihak pertama. Keduanya tidak dapat digabungkan |597| `This machine's managed settings require a first-party login`, atau [`Administrator policy requires a Cloud gateway sign-in`](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) ketika pengaturan terkelola menetapkan `forceLoginMethod` ke `"gateway"` atau juga menetapkan `forceLoginGatewayUrl` | Pengaturan terkelola menyertakan `forceLoginMethod` atau `forceLoginOrgUUID`, yang tidak dapat hidup berdampingan dengan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` | Administrator Anda harus menghapus `forceLoginMethod`, `forceLoginOrgUUID`, dan `forceLoginGatewayUrl` dari pengaturan terkelola untuk menggunakan kredensial gateway, atau menghapus kredensial gateway dan menggunakan sign-in yang diminta pengaturan terkelola. Keduanya tidak dapat digabungkan |

598| `403` dengan badan HTML seperti `403 Forbidden`, ketika log gateway sendiri menunjukkan tidak ada permintaan yang diterima | Firewall aplikasi web atau proxy terbalik di depan gateway memblokir badan permintaan sebelum mencapai gateway. Prompt Claude Code menyertakan tag gaya XML dan kode sumber yang cocok dengan aturan badan cross-site-scripting, jadi tes curl pendek lulus sementara sesi nyata tidak | Bebaskan jalur `/v1/messages` gateway dari inspeksi badan permintaan. Di AWS WAF ini adalah aturan terkelola `CrossSiteScripting_Body`; di nginx dengan ModSecurity itu adalah aturan badan OWASP CRS yang setara |598| `403` dengan badan HTML seperti `403 Forbidden`, ketika log gateway sendiri menunjukkan tidak ada permintaan yang diterima | Firewall aplikasi web atau proxy terbalik di depan gateway memblokir badan permintaan sebelum mencapai gateway. Prompt Claude Code menyertakan tag gaya XML dan kode sumber yang cocok dengan aturan badan cross-site-scripting, jadi tes curl pendek lulus sementara sesi nyata tidak | Bebaskan jalur `/v1/messages` gateway dari inspeksi badan permintaan. Di AWS WAF ini adalah aturan terkelola `CrossSiteScripting_Body`; di nginx dengan ModSecurity itu adalah aturan badan OWASP CRS yang setara |

599| Kesalahan sertifikat atau TLS seperti `SSL certificate verification failed` atau `Self-signed certificate detected`, ketika [tes curl](#verify-the-connection) berhasil | Runtime Claude Code tidak mempercayai otoritas sertifikat yang sama dengan yang digunakan `curl`. Umum di belakang proxy inspeksi TLS korporat | Atur `NODE_EXTRA_CA_CERTS` ke jalur bundel CA; lihat [CA certificate store](/docs/id/network-config#ca-certificate-store) |599| Kesalahan sertifikat atau TLS seperti `SSL certificate verification failed` atau `Self-signed certificate detected`, ketika [tes curl](#verify-the-connection) berhasil | Runtime Claude Code tidak mempercayai otoritas sertifikat yang sama dengan yang digunakan `curl`. Umum di belakang proxy inspeksi TLS korporat | Atur `NODE_EXTRA_CA_CERTS` ke jalur bundel CA; lihat [CA certificate store](/docs/id/network-config#ca-certificate-store) |

600 600 

Details

73 73 

74Alirkan respons inferensi. Claude Code membaca aliran saat tiba, jadi jika gateway Anda membuffer respons lengkap sebelum meneruskannya, Claude Code macet.74Alirkan respons inferensi. Claude Code membaca aliran saat tiba, jadi jika gateway Anda membuffer respons lengkap sebelum meneruskannya, Claude Code macet.

75 75 

76Kirimkan urutan event lengkap setiap respons tanpa menghilangkan, menduplikasi, atau mengubah urutan event. Ketika event mereferensikan blok konten yang `content_block_start` tidak pernah tiba, atau blok yang `content_block_stop` sudah tiba, Claude Code berhenti membaca aliran pada event tersebut daripada menerapkannya, jadi `content_block_stop` yang diduplikasi tidak dapat menjalankan panggilan alat yang sama dua kali. [Respons di atas mungkin tidak lengkap](/docs/id/errors#the-response-above-may-be-incomplete) menjelaskan apa yang dilihat pengguna, di bawah varian `Part of the response never arrived` dan `The response stream was malformed`.

77 

78Teruskan setiap respons melalui event `message_delta` dan `message_stop` finalnya sebelum mengakhiri body. Body yang berakhir setelah `message_delta` yang membawa `stop_reason`, tanpa blok konten yang masih terbuka dan tidak ada event blok konten setelah frame tersebut, dihitung sebagai lengkap bahkan ketika `message_stop` hilang. Body yang gateway Anda akhiri dengan bersih lebih awal, setelah blok konten telah dimulai, diperlakukan sama dengan koneksi yang terputus: [Automatic retries](/docs/id/errors#automatic-retries) mengatakan kapan Claude Code mengeluarkan kembali permintaan, dan [Respons di atas mungkin tidak lengkap](/docs/id/errors#the-response-above-may-be-incomplete) mencakup apa yang disimpannya setelah konten yang terlihat tiba. Claude Code menyimpan `stop_reason` yang `message_delta` berikan, jadi `message_delta` penggunaan-saja yang kemudian yang `delta` memiliki `stop_reason: null` atau tidak ada kunci `stop_reason` tidak menghapusnya.

79 

76Ketika klien berbicara format Amazon Bedrock, teruskan body respons `InvokeModelWithResponseStream` dan header `Content-Type: application/vnd.amazon.eventstream` tanpa modifikasi, dan jangan konversi aliran ke server-sent events. Lihat [Streaming errors behind a gateway or proxy](/docs/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).80Ketika klien berbicara format Amazon Bedrock, teruskan body respons `InvokeModelWithResponseStream` dan header `Content-Type: application/vnd.amazon.eventstream` tanpa modifikasi, dan jangan konversi aliran ke server-sent events. Lihat [Streaming errors behind a gateway or proxy](/docs/id/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).

77 81 

78Teruskan ping keep-alive juga. Pada koneksi melalui `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL`, Claude Code menghitung setiap byte yang gateway Anda teruskan, termasuk event SSE `ping` dan baris komentar, dan membatalkan aliran yang diam selama 300 detik secara default. Ping upstream adalah satu-satunya lalu lintas selama jeda pemikiran panjang, jadi jika gateway Anda menghapus atau membuffer mereka, Claude Code membatalkan aliran selama jeda tersebut; [Automatic retries](/docs/id/errors#automatic-retries) mencakup apa yang dilaporkan aliran yang dibatalkan berdasarkan seberapa jauh respons telah maju. Upstream yang tidak mengirim ping sama sekali, seperti event-stream biner Amazon Bedrock, meninggalkan jeda tersebut tanpa apa pun untuk diteruskan. Ketika menerjemahkan dari upstream seperti itu, keluarkan event `ping` Anda sendiri selama celah senyap. Gateway yang dicapai melalui `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, atau `ANTHROPIC_FOUNDRY_BASE_URL` tidak dibungkus oleh watchdog tingkat byte ini, bahkan ketika mereka meneruskan format Anthropic Messages; di sana, [timeout idle 5 menit](/docs/id/env-vars) membatalkan aliran senyap sebagai gantinya, dan pada koneksi `ANTHROPIC_BEDROCK_BASE_URL` Anda dapat menambahkan watchdog byte dengan [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/id/env-vars).82Teruskan ping keep-alive juga. Pada koneksi melalui `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL`, Claude Code menghitung setiap byte yang gateway Anda teruskan, termasuk event SSE `ping` dan baris komentar, dan membatalkan aliran yang diam selama 300 detik secara default. Ping upstream adalah satu-satunya lalu lintas selama jeda pemikiran panjang, jadi jika gateway Anda menghapus atau membuffer mereka, Claude Code membatalkan aliran selama jeda tersebut; [Automatic retries](/docs/id/errors#automatic-retries) mencakup apa yang dilaporkan aliran yang dibatalkan berdasarkan seberapa jauh respons telah maju. Upstream yang tidak mengirim ping sama sekali, seperti event-stream biner Amazon Bedrock, meninggalkan jeda tersebut tanpa apa pun untuk diteruskan. Ketika menerjemahkan dari upstream seperti itu, keluarkan event `ping` Anda sendiri selama celah senyap. Gateway yang dicapai melalui `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, atau `ANTHROPIC_FOUNDRY_BASE_URL` tidak dibungkus oleh watchdog tingkat byte ini, bahkan ketika mereka meneruskan format Anthropic Messages; di sana, [timeout idle 5 menit](/docs/id/env-vars) membatalkan aliran senyap sebagai gantinya, dan pada koneksi `ANTHROPIC_BEDROCK_BASE_URL` Anda dapat menambahkan watchdog byte dengan [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/id/env-vars).


158 162 

159Mengatur `CLAUDE_CODE_GATEWAY_HINT_HEADERS` ke `0` menghentikan header pada setiap koneksi.163Mengatur `CLAUDE_CODE_GATEWAY_HINT_HEADERS` ke `0` menghentikan header pada setiap koneksi.

160 164 

161Header hanya membawa apa yang baris di bawah daftar: kosakata tetap, nama alat, dan durasi, tidak pernah teks prompt atau konten file. Setiap nilai adalah ASCII yang dapat dicetak.165Header hanya membawa apa yang baris di bawah daftar: kosakata tetap, nama alat, durasi, dan pengidentifikasi prompt acak, tidak pernah teks prompt atau konten file. Setiap nilai adalah ASCII yang dapat dicetak.

162 166 

163| Header | Deskripsi |167| Header | Deskripsi |

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


167| `x-claude-code-compaction` | Hadir pada permintaan yang merangkum percakapan selama [compaction](/docs/id/prompt-caching#compacting-the-conversation). Nilainya mengatakan apa yang memicunya: `auto` ketika jendela konteks mendekati kapasitas, `manual` untuk `/compact`, atau `reactive` ketika API menolak permintaan sebagai terlalu panjang. Tidak ada pada setiap permintaan lainnya |171| `x-claude-code-compaction` | Hadir pada permintaan yang merangkum percakapan selama [compaction](/docs/id/prompt-caching#compacting-the-conversation). Nilainya mengatakan apa yang memicunya: `auto` ketika jendela konteks mendekati kapasitas, `manual` untuk `/compact`, atau `reactive` ketika API menolak permintaan sebagai terlalu panjang. Tidak ada pada setiap permintaan lainnya |

168| `x-claude-code-context-compacted` | Hadir sekali, pada permintaan percakapan utama pertama setelah compaction, dengan nilai yang sama seperti `x-claude-code-compaction`. Awalan percakapan sebelum permintaan ini tidak lagi digunakan, jadi cache yang dikunci padanya dapat dijatuhkan |172| `x-claude-code-context-compacted` | Hadir sekali, pada permintaan percakapan utama pertama setelah compaction, dengan nilai yang sama seperti `x-claude-code-compaction`. Awalan percakapan sebelum permintaan ini tidak lagi digunakan, jadi cache yang dikunci padanya dapat dijatuhkan |

169| `x-claude-code-prev-tool-durations` | Waktu run terukur dari panggilan alat yang hasilnya dibawa permintaan ini, sebagai `<name>=<ms>;<name>=<ms>`, misalnya `Bash=742;Read=9`. Dikirim pada permintaan berikutnya dari percakapan yang sama setelah batch panggilan alat, dari sesi utama atau subagent |173| `x-claude-code-prev-tool-durations` | Waktu run terukur dari panggilan alat yang hasilnya dibawa permintaan ini, sebagai `<name>=<ms>;<name>=<ms>`, misalnya `Bash=742;Read=9`. Dikirim pada permintaan berikutnya dari percakapan yang sama setelah batch panggilan alat, dari sesi utama atau subagent |

174| `x-claude-code-prompt-id` | UUID acak yang mengidentifikasi prompt pengguna yang dilayani permintaan. Permintaan yang melayani satu prompt berbagi nilai, termasuk giliran subagent yang dimulai prompt. Permintaan yang tidak dikaitkan dengan prompt menghilangkannya. Gunakan untuk mengelompokkan permintaan sesi berdasarkan prompt. Memerlukan Claude Code v2.1.283 atau lebih baru |

170 175 

171Sebelum mengurai `x-claude-code-prev-tool-durations`, periksa bagaimana Claude Code membangun nilai dan apa yang ditinggalkannya:176Sebelum mengurai `x-claude-code-prev-tool-durations`, periksa bagaimana Claude Code membangun nilai dan apa yang ditinggalkannya:

172 177 


265 Nonaktifkan kemampuan pra-rilis270 Nonaktifkan kemampuan pra-rilis

266</h3>271</h3>

267 272 

268`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` menghentikan Claude Code dari mengirim kemampuan pra-rilis dan field body mereka pada setiap penyedia, termasuk manajemen konteks dan field alat beta. Variabel tidak mempengaruhi penalaran adaptif, yang dipilih oleh model daripada oleh beta. Itu tidak pernah menekan kemampuan OAuth yang diperlukan autentikasi langganan.273`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` menghentikan Claude Code dari mengirim kemampuan pra-rilis dan field body mereka, termasuk manajemen konteks dan field alat beta. Variabel tidak mempengaruhi penalaran adaptif, yang dipilih oleh model daripada oleh beta. Itu tidak pernah menekan kemampuan OAuth yang diperlukan autentikasi langganan.

274 

275Ketika platform host yang menyematkan Claude Code menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/id/env-vars), `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` tidak menghentikan sesi mode otomatis pada Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, atau [gateway aplikasi Claude](/docs/id/claude-apps-gateway) dari meminta server untuk [classifier review](/docs/id/permission-modes#server-side-classifier-review). Review tersebut menambahkan nilai `anthropic-beta` dan field permintaan `safeguards`. Atur `CLAUDE_CODE_AUTO_MODE_SERVER=0` untuk menghentikannya di sana.

269 276 

270Pada Claude Code v2.1.227 atau lebih baru, organisasi Anda dapat menjaga [pencarian alat MCP](/docs/id/mcp#scale-with-mcp-tool-search) tetap aktif di bawah variabel ini melalui [pengaturan terkelola](/docs/id/managed-settings). Apa yang Claude Code kirimkan dengan override tersebut berlaku tergantung pada cara Anda terhubung:277Pada Claude Code v2.1.227 atau lebih baru, organisasi Anda dapat menjaga [pencarian alat MCP](/docs/id/mcp#scale-with-mcp-tool-search) tetap aktif di bawah variabel ini melalui [pengaturan terkelola](/docs/id/managed-settings). Apa yang Claude Code kirimkan dengan override tersebut berlaku tergantung pada cara Anda terhubung:

271 278 


340ID yang ditemukan tidak mendapatkan barisnya sendiri ketika cocok dengan baris yang sudah ada di pemilih:347ID yang ditemukan tidak mendapatkan barisnya sendiri ketika cocok dengan baris yang sudah ada di pemilih:

341 348 

342* ID yang sama: ID yang ditemukan cocok persis dengan ID baris yang ada, atau dua ID adalah ejaan dari versi [Fable](/docs/id/model-config#work-with-fable) yang sama.349* ID yang sama: ID yang ditemukan cocok persis dengan ID baris yang ada, atau dua ID adalah ejaan dari versi [Fable](/docs/id/model-config#work-with-fable) yang sama.

343* Model yang sama dengan alias built-in: ketika ID eksplisit yang ditemukan menamai model yang alias built-in saat ini diselesaikan, pemilih menampilkan hanya baris alias. Misalnya, sementara `sonnet` diselesaikan ke `claude-sonnet-5`, `claude-sonnet-5` yang ditemukan runtuh ke baris `sonnet`, dan `claude-sonnet-4-6` yang ditemukan masih mendapatkan barisnya sendiri. Sebelum v2.1.197, Claude Code tidak melipat ID ini ke baris built-in, jadi `claude-sonnet-5` juga mendapatkan barisnya sendiri "From gateway".350* Model yang sama dengan alias built-in: ketika ID eksplisit yang ditemukan menamai model yang alias built-in saat ini diselesaikan, pemilih menampilkan hanya baris alias. Misalnya, sementara `sonnet` diselesaikan ke `claude-sonnet-5-5`, `claude-sonnet-5-5` yang ditemukan runtuh ke baris `sonnet`, dan `claude-sonnet-5` yang ditemukan masih mendapatkan barisnya sendiri. Sebelum v2.1.197, Claude Code tidak melipat ID ini ke baris built-in, jadi ID yang alias diselesaikan juga mendapatkan barisnya sendiri "From gateway".

344 351 

345Hasil di-cache ke `~/.claude/cache/gateway-models.json`, atau `%USERPROFILE%\.claude\cache\gateway-models.json` di Windows, dan disegarkan pada setiap startup. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars), cache berada di bawah direktori itu sebagai gantinya. Jika permintaan gagal atau gateway tidak mengimplementasikan `/v1/models`, pemilih kembali ke daftar cache dari startup sebelumnya atau ke daftar model built-in. Jika gateway Anda melayani model Claude di bawah alias yang tidak cocok dengan filter penemuan, pengembang dapat menambahkan alias tersebut secara manual dengan variabel [konfigurasi model](/docs/id/model-config).352Hasil di-cache ke `~/.claude/cache/gateway-models.json`, atau `%USERPROFILE%\.claude\cache\gateway-models.json` di Windows, dan disegarkan pada setiap startup. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars), cache berada di bawah direktori itu sebagai gantinya. Jika permintaan gagal atau gateway tidak mengimplementasikan `/v1/models`, pemilih kembali ke daftar cache dari startup sebelumnya atau ke daftar model built-in. Jika gateway Anda melayani model Claude di bawah alias yang tidak cocok dengan filter penemuan, pengembang dapat menambahkan alias tersebut secara manual dengan variabel [konfigurasi model](/docs/id/model-config).

346 353 

Details

208 208 

209Tambahkan variabel bersyarat dari tabel ke blok `env` yang sama. `ANTHROPIC_BASE_URL` yang dikelola diberlakukan dan tidak dapat ditimpa oleh ekspor shell pengembang, karena Claude Code menerapkannya di atas lingkungan proses dan pengaturan prioritas lebih rendah.209Tambahkan variabel bersyarat dari tabel ke blok `env` yang sama. `ANTHROPIC_BASE_URL` yang dikelola diberlakukan dan tidak dapat ditimpa oleh ekspor shell pengembang, karena Claude Code menerapkannya di atas lingkungan proses dan pengaturan prioritas lebih rendah.

210 210 

211Jangan sertakan `forceLoginMethod` atau `forceLoginOrgUUID` dalam pengaturan terkelola bersama kredensial gateway. Salah satu kunci, dengan nilai apa pun, memblokir `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, dan `apiKeyHelper` saat startup, dan pengembang tidak dapat melanjutkan. Mereka melihat `This machine's managed settings require a first-party login`, atau [`Administrator policy requires a Cloud gateway sign-in`](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) di bawah nilai `"gateway"`.211Jangan sertakan `forceLoginMethod`, `forceLoginOrgUUID`, atau `forceLoginGatewayUrl` dalam pengaturan terkelola bersama kredensial gateway. `forceLoginMethod` atau `forceLoginOrgUUID`, dengan nilai apa pun, memblokir `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, dan `apiKeyHelper` saat startup, dan pengembang tidak dapat melanjutkan. Mereka melihat `This machine's managed settings require a first-party login`, atau [`Administrator policy requires a Cloud gateway sign-in`](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) ketika file menetapkan `forceLoginMethod` ke `"gateway"` atau menetapkan `forceLoginGatewayUrl`.

212 212 

213Pengiriman [pengaturan terkelola server](/docs/id/server-managed-settings#platform-availability) memerlukan koneksi langsung ke `api.anthropic.com`, sehingga tidak mencapai sesi yang dirutekan gateway. Penerapan gateway menggunakan jalur pengaturan terkelola berbasis file ini, yang memberlakukan kunci yang sama.213Pengiriman [pengaturan terkelola server](/docs/id/server-managed-settings#platform-availability) memerlukan koneksi langsung ke `api.anthropic.com`, sehingga tidak mencapai sesi yang dirutekan gateway. Penerapan gateway menggunakan jalur pengaturan terkelola berbasis file ini, yang memberlakukan kunci yang sama.

214 214 

managed-mcp.md +1 −1

Details

526 Pantau penggunaan MCP526 Pantau penggunaan MCP

527</h2>527</h2>

528 528 

529Ketika [ekspor OpenTelemetry](/docs/id/monitoring-usage) dikonfigurasi, Claude Code dapat merekam server MCP dan alat mana yang digunakan pengguna. Atur `OTEL_LOG_TOOL_DETAILS=1` untuk menyertakan nama server dan alat MCP dalam acara alat, kemudian agregasikan di kolektor Anda untuk melihat server mana yang benar-benar dihubungkan pengguna Anda. Lihat [Monitoring](/docs/id/monitoring-usage) untuk menyiapkan pengekspor dan untuk skema acara lengkap.529Ketika Anda mengonfigurasi [ekspor OpenTelemetry](/docs/id/monitoring-usage), Claude Code dapat merekam server MCP dan alat mana yang digunakan pengguna. Atur `OTEL_LOG_TOOL_DETAILS=1` untuk menyertakan nama server dan alat MCP dalam acara alat dan pada [penghitung biaya dan token](/docs/id/monitoring-usage#cost-counter), kemudian agregasikan di kolektor Anda untuk melihat server mana yang benar-benar dihubungkan pengguna Anda. Lihat [Monitoring](/docs/id/monitoring-usage) untuk menyiapkan pengekspor dan untuk skema acara lengkap.

530 530 

531<h2 id="configuration-summary">531<h2 id="configuration-summary">

532 Ringkasan konfigurasi532 Ringkasan konfigurasi

managed-settings.md +126 −91

Details

75| [Pengaturan terkelola server](/docs/id/server-managed-settings) | Di konsol admin claude.ai, atau di [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang di-host sendiri | Diambil saat startup dan dipolling setiap jam; lihat [perubahan yang memerlukan persetujuan](#where-and-when-a-policy-applies) | Anda ingin satu tempat untuk mengubah kebijakan untuk organisasi claude.ai tanpa menyentuh setiap mesin |75| [Pengaturan terkelola server](/docs/id/server-managed-settings) | Di konsol admin claude.ai, atau di [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang di-host sendiri | Diambil saat startup dan dipolling setiap jam; lihat [perubahan yang memerlukan persetujuan](#where-and-when-a-policy-applies) | Anda ingin satu tempat untuk mengubah kebijakan untuk organisasi claude.ai tanpa menyentuh setiap mesin |

76| Kebijakan MDM atau tingkat OS | Sebagai profil konfigurasi macOS atau nilai registry Windows `HKLM`, melalui Jamf, Intune, Group Policy, atau alat serupa; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan diperiksa untuk perubahan setiap 30 menit | Anda sudah mengelola perangkat dengan MDM atau Group Policy |76| Kebijakan MDM atau tingkat OS | Sebagai profil konfigurasi macOS atau nilai registry Windows `HKLM`, melalui Jamf, Intune, Group Policy, atau alat serupa; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan diperiksa untuk perubahan setiap 30 menit | Anda sudah mengelola perangkat dengan MDM atau Group Policy |

77| Berbasis file | Sebagai `managed-settings.json` di direktori sistem di setiap mesin; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan dimuat ulang ketika file berubah | Mesin tanpa MDM, host Linux, atau gambar yang Anda bangun sendiri |77| Berbasis file | Sebagai `managed-settings.json` di direktori sistem di setiap mesin; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan dimuat ulang ketika file berubah | Mesin tanpa MDM, host Linux, atau gambar yang Anda bangun sendiri |

78| Registry HKCU, Windows dan WSL | Sebagai nilai registry Windows `HKCU`; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan diperiksa untuk perubahan setiap 30 menit; Claude Code menggunakannya hanya ketika tidak ada sumber terkelola lain yang mengirimkan kunci kebijakan dan tidak ada [pengaturan induk yang disediakan host](#let-an-embedding-host-add-policy) yang menyediakan kunci yang ketat | Anda tidak dapat menulis kunci tingkat mesin `HKLM` |78| Registry HKCU, Windows dan WSL | Sebagai nilai registry Windows `HKCU`; lihat [di mana setiap mekanisme menyimpan kebijakan](#where-each-mechanism-stores-the-policy) | Dibaca saat startup dan diperiksa untuk perubahan setiap 30 menit; Claude Code menggunakannya hanya ketika [tidak ada dokumen admin yang ada di atasnya](#present-admin-documents) dan tidak ada [pengaturan induk yang disediakan host](#let-an-embedding-host-add-policy) yang menyediakan kunci yang ketat | Anda tidak dapat menulis kunci tingkat mesin `HKLM` |

79 79 

80Template pemula untuk Jamf, Iru, Intune, dan Group Policy ada di [repositori contoh MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).80Template pemula untuk Jamf, Iru, Intune, dan Group Policy ada di [repositori contoh MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).

81 81 


141 Bagaimana Claude Code menggabungkan sumber terkelola141 Bagaimana Claude Code menggabungkan sumber terkelola

142</h2>142</h2>

143 143 

144Ketika organisasi Anda mengirimkan lebih dari satu sumber terkelola ke mesin yang sama, kunci [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) menentukan apa yang Claude Code lakukan dengan yang lain:144Ketika organisasi Anda mengirimkan lebih dari satu sumber terkelola ke mesin yang sama, kunci [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) menentukan apa yang dilakukan Claude Code dengan yang lain:

145 145 

146* **`"first-wins"`, pengaturan default**: Claude Code menggunakan sumber dengan peringkat tertinggi yang mengirimkan setidaknya satu kunci kebijakan dan mengabaikan sisanya daripada menggabungkannya, kecuali untuk kunci dalam [Kunci yang dibaca dari setiap sumber admin](#keys-read-from-every-admin-source). Claude Code tidak menampilkan peringatan untuk sumber yang dilewati; `/status` [menamai sumber yang digunakan dan yang dilewati](#read-the-source-in-/status).146* **`"first-wins"`, pengaturan default**: Claude Code menggunakan sumber dengan peringkat tertinggi yang mengirimkan setidaknya satu kunci kebijakan dan mengabaikan sisanya daripada menggabungkannya, kecuali untuk kunci dalam [Kunci yang dibaca dari setiap sumber admin](#keys-read-from-every-admin-source). Claude Code tidak menampilkan peringatan untuk sumber yang dilewati; `/status` [menamai sumber yang digunakan dan yang dilewati](#read-the-source-in-/status).

147* **`"merge"`**: Claude Code menerapkan setiap sumber admin yang mengirimkan kunci kebijakan dan menggabungkannya berdasarkan jenis kunci: pada sebagian besar kunci nilai sumber dengan peringkat lebih tinggi berlaku, daftar bersatu, dan kunci mengambil nilai paling ketat. [Compose every managed source](#compose-every-managed-source) mengatakan di mana mengatur kunci dan bagaimana setiap jenis kunci menggabung. Memerlukan Claude Code v2.1.242 atau lebih baru.147* **`"merge"`**: Claude Code menerapkan setiap sumber admin yang mengirimkan kunci kebijakan dan menggabungkannya berdasarkan jenis kunci: pada sebagian besar kunci nilai sumber dengan peringkat lebih tinggi berlaku, daftar bersatu, dan kunci mengambil nilai paling ketat. [Susun setiap sumber terkelola](#compose-every-managed-source) mengatakan di mana menetapkan kunci dan bagaimana setiap jenis kunci menggabungkan. Memerlukan Claude Code v2.1.242 atau lebih baru.

148 148 

149Kedua pengaturan mengurutkan sumber dengan cara yang sama. Istilah-istilah ini berulang di bagian ini:149Kedua pengaturan menentukan peringkat sumber dengan cara yang sama. Istilah-istilah ini berulang di bagian ini:

150 150 

151* **Kunci kebijakan**: kunci pengaturan apa pun selain dua kunci kontrol, [`wslInheritsWindowsSettings`](/docs/id/settings-reference#wslinheritswindowssettings) dan [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior). File pengaturan terkelola atau kebijakan MDM yang hanya berisi yang tersebut tidak dihitung, dan Claude Code melanjutkan ke sumber berikutnya.151* **Kunci kebijakan**: kunci pengaturan apa pun selain dua kunci kontrol, [`wslInheritsWindowsSettings`](/docs/id/settings-reference#wslinheritswindowssettings) dan [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior). File pengaturan terkelola atau kebijakan MDM yang hanya berisi yang tersebut tidak dihitung, dan Claude Code melanjutkan ke sumber berikutnya.

152* **Sumber admin**: salah satu dari tiga sumber pertama di bawah. Registri HKCU dapat ditulis pengguna dan bukan salah satunya.152* **Sumber admin**: salah satu dari tiga sumber pertama di bawah. Registri HKCU dapat ditulis pengguna dan bukan salah satunya.


1561. Pengaturan jarak jauh, dikirimkan dari claude.ai sebagai [pengaturan yang dikelola server](/docs/id/server-managed-settings) atau oleh [gateway aplikasi Claude](/docs/id/claude-apps-gateway). Claude Code mengambil sumber ini hanya ketika sesi mengautentikasi ke API Anthropic secara langsung dengan [login atau kunci yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability), atau masuk ke gateway dengan `/login`. Pada penyedia lain, atau ketika `ANTHROPIC_BASE_URL` menunjuk ke tempat lain selain API Anthropic, dimulai dari sumber berikutnya1561. Pengaturan jarak jauh, dikirimkan dari claude.ai sebagai [pengaturan yang dikelola server](/docs/id/server-managed-settings) atau oleh [gateway aplikasi Claude](/docs/id/claude-apps-gateway). Claude Code mengambil sumber ini hanya ketika sesi mengautentikasi ke API Anthropic secara langsung dengan [login atau kunci yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability), atau masuk ke gateway dengan `/login`. Pada penyedia lain, atau ketika `ANTHROPIC_BASE_URL` menunjuk ke tempat lain selain API Anthropic, dimulai dari sumber berikutnya

1572. Kebijakan MDM atau tingkat OS: plist macOS atau kunci registri HKLM1572. Kebijakan MDM atau tingkat OS: plist macOS atau kunci registri HKLM

1583. File pengaturan terkelola, `managed-settings.d/*.json` dan `managed-settings.json` digabungkan bersama1583. File pengaturan terkelola, `managed-settings.d/*.json` dan `managed-settings.json` digabungkan bersama

1594. Registri HKCU, di Windows, dan di WSL setelah registri HKLM atau file pengaturan terkelola Windows mengaktifkan [`wslInheritsWindowsSettings`](/docs/id/settings-reference#wslinheritswindowssettings) dan nilai HKCU juga mengaturnya. Claude Code membacanya hanya ketika tidak ada sumber di atasnya yang mengirimkan kunci kebijakan dan tidak ada [pengaturan induk yang disediakan host](#let-an-embedding-host-add-policy) yang menyediakan kunci pembatasan1594. Registri HKCU, di Windows, dan di WSL setelah registri HKLM atau file pengaturan terkelola Windows mengaktifkan [`wslInheritsWindowsSettings`](/docs/id/settings-reference#wslinheritswindowssettings) dan nilai HKCU juga menetapkannya. Claude Code membacanya hanya ketika tidak ada dokumen admin yang ada di atasnya dan tidak ada [pengaturan induk yang disediakan host](#let-an-embedding-host-add-policy) yang menyediakan kunci pembatasan

160 160 

161Diagram ini menunjukkan peringkat, dengan contoh kunci lintas sumber yang Claude Code baca dari tiga sumber pertama di bawah pengaturan apa pun:161<span id="present-admin-documents" />

162 

163Claude Code tidak pernah menerapkan registri HKCU yang dapat ditulis pengguna di bawah dokumen admin yang ada. Dokumen ada ketika menetapkan kunci kebijakan apa pun ke nilai selain `null`, bahkan nilai yang tidak dapat dibaca Claude Code. Nilai HKLM, file pengaturan terkelola, atau direktori `managed-settings.d` yang ada tetapi tidak dapat dibaca juga ada. Di WSL, `/etc/claude-code` juga dapat ditulis pengguna, dan entri [`wslInheritsWindowsSettings`](/docs/id/settings-reference#wslinheritswindowssettings) mengatakan kapan dokumen Windows berdiri di atasnya.

164 

165Diagram ini menunjukkan peringkat, dengan contoh kunci lintas sumber yang dibaca Claude Code dari tiga sumber pertama di bawah pengaturan apa pun:

162 166 

163<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="Diagram menunjukkan empat sumber pengaturan terkelola yang diberi peringkat dari pengaturan jarak jauh di bagian atas melalui MDM, file pengaturan terkelola, dan registri HKCU di bagian bawah. Secara default sumber pertama dengan kunci kebijakan menyediakan kebijakan dan sisanya dilewati; dengan managedSourcesBehavior diatur ke merge, setiap sumber admin dengan kunci kebijakan berkontribusi, digabungkan berdasarkan jenis kunci, dan registri HKCU tetap keluar. Panel samping menunjukkan bahwa kunci lintas sumber seperti kunci sandbox, forceRemoteSettingsRefresh, dan per-variable env merge dibaca dari setiap sumber admin, yang mengecualikan registri HKCU." width="680" height="330" data-path="images/managed-source-precedence.svg" />167<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="Diagram menunjukkan empat sumber pengaturan terkelola yang diberi peringkat dari pengaturan jarak jauh di bagian atas melalui MDM, file pengaturan terkelola, dan registri HKCU di bagian bawah. Secara default sumber pertama dengan kunci kebijakan menyediakan kebijakan dan sisanya dilewati; dengan managedSourcesBehavior diatur ke merge, setiap sumber admin dengan kunci kebijakan berkontribusi, digabungkan berdasarkan jenis kunci, dan registri HKCU tetap keluar. Panel samping menunjukkan bahwa kunci lintas sumber seperti kunci sandbox, forceRemoteSettingsRefresh, dan per-variable env merge dibaca dari setiap sumber admin, yang mengecualikan registri HKCU." width="680" height="330" data-path="images/managed-source-precedence.svg" />

164 168 


168 Kunci yang dibaca dari setiap sumber admin172 Kunci yang dibaca dari setiap sumber admin

169</h3>173</h3>

170 174 

171Di bawah pengaturan default `"first-wins"`, Claude Code membaca sebagian besar kunci hanya dari [sumber yang dipilih](#how-claude-code-combines-managed-sources), dan mengabaikan nilai dalam sumber dengan peringkat lebih rendah bahkan ketika sumber yang dipilih membiarkan kunci itu tidak diatur.175Di bawah pengaturan default `"first-wins"`, Claude Code membaca sebagian besar kunci hanya dari [sumber yang dipilihnya](#how-claude-code-combines-managed-sources), dan mengabaikan nilai dalam sumber dengan peringkat lebih rendah bahkan ketika sumber yang dipilih membiarkan kunci itu tidak diatur.

172 176 

173Beberapa kunci bekerja berbeda. Claude Code membacanya dari setiap sumber admin, jadi kebijakan MDM atau file pengaturan terkelola dengan peringkat lebih rendah masih dapat mengaturnya ketika sumber yang dipilih tidak. Claude Code mengeluarkan registri HKCU yang dapat ditulis pengguna dari pemindaian itu; ketika HKCU adalah satu-satunya sumber dan tidak ada host yang menyediakan pengaturan induk, HKCU berlaku seperti sumber yang dipilih.177Beberapa kunci bekerja berbeda. Claude Code membacanya dari setiap sumber admin, sehingga kebijakan MDM atau file pengaturan terkelola dengan peringkat lebih rendah masih dapat menetapkannya ketika sumber yang dipilih tidak. Claude Code mengeluarkan registri HKCU yang dapat ditulis pengguna dari pemindaian itu; ketika HKCU adalah satu-satunya sumber dan tidak ada host yang menyediakan pengaturan induk, HKCU berlaku seperti sumber yang dipilih.

174 178 

175Kunci lintas sumber mencakup:179Kunci lintas sumber mencakup:

176 180 

177* `sandbox.network.allowManagedDomainsOnly` dan `sandbox.filesystem.allowManagedReadPathsOnly`: `true` dalam sumber admin apa pun mengaktifkan kunci. Saat kunci aktif, Claude Code menyatukan daftar yang dikunci, `sandbox.network.allowedDomains` bersama dengan aturan izin `WebFetch(domain:...)`, atau `sandbox.filesystem.allowRead`, di seluruh setiap sumber admin. Tanpa kunci, Claude Code memperlakukan daftar seperti kunci lainnya, jadi di bawah `"first-wins"` daftar sumber admin yang tidak dipilih diabaikan181* `sandbox.network.allowManagedDomainsOnly` dan `sandbox.filesystem.allowManagedReadPathsOnly`: `true` dalam sumber admin apa pun mengaktifkan kunci. Saat kunci aktif, Claude Code menyatukan daftar yang dikunci, `sandbox.network.allowedDomains` bersama dengan aturan izin `WebFetch(domain:...)`, atau `sandbox.filesystem.allowRead`, di seluruh setiap sumber admin. Tanpa kunci, Claude Code memperlakukan daftar seperti kunci lainnya, jadi di bawah `"first-wins"` daftar sumber admin yang tidak dipilih diabaikan

178* `allowAllClaudeAiMcps`182* `allowAllClaudeAiMcps`

179* `allowManagedMcpServersOnly`: `true` dalam sumber admin apa pun mengaktifkan kunci daftar izin MCP. Saat kunci aktif, daftar `allowedMcpServers` yang terkelola berasal dari sumber admin dengan peringkat tertinggi yang mengaturnya. Daftar yang dikelola server menggantikan daftar sumber yang lebih rendah daripada menggabungkannya.183* `allowManagedMcpServersOnly`: `true` dalam sumber admin apa pun mengaktifkan kunci daftar izin MCP. Saat kunci aktif, daftar `allowedMcpServers` yang dikelola berasal dari sumber admin dengan peringkat tertinggi yang menetapkan satu. Daftar yang dikelola server menggantikan daftar sumber yang lebih rendah daripada menggabungkannya.

180 184 

181 Jika tidak ada sumber admin yang mengatur daftar, setiap server yang melewati daftar penolakan dimuat, kecuali [pengaturan induk](#let-an-embedding-host-add-policy) menyediakan daftar.185 Jika tidak ada sumber admin yang menetapkan daftar, setiap server yang melewati daftar penolakan dimuat, kecuali [pengaturan induk](#let-an-embedding-host-add-policy) menyediakan daftar.

182 186 

183 Tanpa kunci, Claude Code membaca `allowedMcpServers` dari sumber terkelola yang diterapkan, jadi di bawah `"first-wins"` daftar sumber admin yang tidak dipilih diabaikan. Memerlukan Claude Code v2.1.273 atau lebih baru187 Tanpa kunci, Claude Code membaca `allowedMcpServers` dari sumber terkelola yang diterapkannya, jadi di bawah `"first-wins"` daftar sumber admin yang tidak dipilih diabaikan. Memerlukan Claude Code v2.1.273 atau lebih baru

184* `deniedMcpServers` dan [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors): entri atau `true` dalam sumber admin apa pun berlaku. Memerlukan Claude Code v2.1.273 atau lebih baru188* `deniedMcpServers` dan [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors): entri atau `true` dalam sumber admin apa pun berlaku. Memerlukan Claude Code v2.1.273 atau lebih baru

185* Jalur biner sandbox `sandbox.bwrapPath` dan `sandbox.socatPath`189* Jalur biner sandbox `sandbox.bwrapPath` dan `sandbox.socatPath`

186* Biner sandbox `ripgrep`, [`sandbox.ripgrep`](/docs/id/settings-reference#sandbox-ripgrep)190* Biner sandbox `ripgrep`, [`sandbox.ripgrep`](/docs/id/settings-reference#sandbox-ripgrep)


190* [`maxEffortLevel`](/docs/id/settings-reference#maxeffortlevel), di mana batas terendah dalam sumber admin apa pun berlaku. Jika pengembang menetapkan batas lebih rendah dalam pengaturan mereka sendiri atau dengan `--settings`, Claude Code menerapkan yang itu; tidak ada sumber yang dapat menaikkan batas. Memerlukan Claude Code v2.1.267 atau lebih baru194* [`maxEffortLevel`](/docs/id/settings-reference#maxeffortlevel), di mana batas terendah dalam sumber admin apa pun berlaku. Jika pengembang menetapkan batas lebih rendah dalam pengaturan mereka sendiri atau dengan `--settings`, Claude Code menerapkan yang itu; tidak ada sumber yang dapat menaikkan batas. Memerlukan Claude Code v2.1.267 atau lebih baru

191* Opt-out trailer komit dalam `attribution`, atau dalam `includeCoAuthoredBy` yang sudah usang, dari tingkat apa pun195* Opt-out trailer komit dalam `attribution`, atau dalam `includeCoAuthoredBy` yang sudah usang, dari tingkat apa pun

192* [`forceRemoteSettingsRefresh`](/docs/id/server-managed-settings)196* [`forceRemoteSettingsRefresh`](/docs/id/server-managed-settings)

193* `env`, digabungkan per variabel di seluruh sumber admin: setiap variabel berasal dari sumber prioritas tertinggi yang mendefinisikannya, jadi sumber lebih rendah mengisi variabel yang sumber lebih tinggi biarkan tidak diatur. Beberapa variabel mengikuti aturan mereka sendiri; [Per-key exceptions across managed sources](/docs/id/server-managed-settings#per-key-exceptions-across-managed-sources) menamai masing-masing. Memerlukan Claude Code v2.1.223 atau lebih baru. Sebelum v2.1.223, Claude Code menerapkan blok `env` seluruh sumber yang dipilih saja197* `env`, digabungkan per variabel di seluruh sumber admin: setiap variabel berasal dari sumber prioritas tertinggi yang mendefinisikannya, sehingga sumber yang lebih rendah mengisi variabel yang tidak ditinggalkan oleh sumber yang lebih tinggi. Beberapa variabel mengikuti aturan mereka sendiri; [Pengecualian per kunci di seluruh sumber terkelola](/docs/id/server-managed-settings#per-key-exceptions-across-managed-sources) menamai masing-masing. Memerlukan Claude Code v2.1.223 atau lebih baru. Sebelum v2.1.223, Claude Code menerapkan blok `env` seluruh sumber yang dipilih saja

194 198 

195Kunci [login gateway](#choose-a-delivery-mechanism) mengikuti aturan terpisah. Claude Code tidak pernah membacanya dari pengaturan yang dikelola server, jadi sementara pengaturan yang dikelola server adalah sumber yang dipilih, sumber admin dengan peringkat tertinggi di mesin yang membawa kunci kebijakan masih menyediakannya. Nilai dalam sumber admin yang diberi peringkat di bawah itu, atau dalam registri HKCU, diabaikan.199Kunci [login gateway](#choose-a-delivery-mechanism) mengikuti aturan terpisah. Claude Code tidak pernah membacanya dari pengaturan yang dikelola server, jadi sementara pengaturan yang dikelola server adalah sumber yang dipilih, sumber admin dengan peringkat tertinggi di mesin yang membawa kunci kebijakan masih menyediakannya. Nilai dalam sumber admin yang diberi peringkat di bawah yang itu, atau dalam registri HKCU, diabaikan.

196 200 

197Ketika sumber admin mengatur `allowManagedMcpServersOnly` atau daftar `allowedMcpServers` dan nilai itu bukan yang berlaku, `/status` dan `claude doctor` menamai sumber dan kunci itu.201Ketika sumber admin menetapkan `allowManagedMcpServersOnly` atau daftar `allowedMcpServers` dan nilai itu bukan yang berlaku, `/status` dan `claude doctor` menamai sumber dan kunci itu.

198 202 

199<h3 id="compose-every-managed-source">203<h3 id="compose-every-managed-source">

200 Compose every managed source204 Susun setiap sumber terkelola

201</h3>205</h3>

202 206 

203Untuk membuat Claude Code menerapkan setiap sumber admin yang organisasi Anda kirimkan, atur [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) ke `"merge"` dalam sumber dengan peringkat tertinggi yang Anda terapkan. Claude Code membaca kunci hanya dari sumber dengan peringkat tertinggi yang membawa kunci atau kunci kebijakan, jadi sumber lebih rendah tidak dapat memilih dirinya sendiri untuk bergabung dengan sumber di atasnya, dan mesin yang tidak pernah menerima pengaturan yang dikelola server memerlukan kunci dalam profil MDM juga. Registri HKCU yang dapat ditulis pengguna tidak pernah bergabung dengan sumber lain. Memerlukan Claude Code v2.1.242 atau lebih baru.207Untuk membuat Claude Code menerapkan setiap sumber admin yang disampaikan organisasi Anda, atur [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) ke `"merge"` dalam sumber dengan peringkat tertinggi yang Anda terapkan. Claude Code membaca kunci hanya dari sumber dengan peringkat tertinggi yang membawa kunci atau kunci kebijakan, sehingga sumber yang lebih rendah tidak dapat memilih dirinya sendiri untuk menggabungkan dengan sumber di atasnya, dan mesin yang tidak pernah menerima pengaturan yang dikelola server memerlukan kunci dalam profil MDM juga. Registri HKCU yang dapat ditulis pengguna tidak pernah menggabungkan dengan sumber lain. Memerlukan Claude Code v2.1.242 atau lebih baru.

204 208 

205Di bawah `"merge"`, Claude Code menambahkan entri daftar sumber lebih rendah, seperti aturan `permissions.allow` dan hooks, ke kebijakan, jadi aktifkan hanya ketika setiap sumber yang diberi peringkat di bawah yang tertinggi berada di bawah kontrol administrator.209Di bawah `"merge"`, Claude Code menambahkan entri daftar sumber yang lebih rendah, seperti aturan `permissions.allow` dan hooks, ke kebijakan, jadi aktifkan hanya ketika setiap sumber yang diberi peringkat di bawah yang tertinggi berada di bawah kontrol administrator.

206 210 

207Tabel ini menunjukkan bagaimana Claude Code menggabungkan setiap jenis kunci di bawah `"merge"`. Entri [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) menamai setiap kunci dalam tiga baris: daftar izin pembatasan, nilai yang diambil seluruhnya, dan kunci yang dibaca dari sumber dengan peringkat tertinggi saja.211Tabel ini menunjukkan bagaimana Claude Code menggabungkan setiap jenis kunci di bawah `"merge"`. Entri [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) menamai setiap kunci dalam tiga baris: daftar izin pembatasan, nilai yang diambil seluruhnya, dan kunci yang dibaca dari sumber dengan peringkat tertinggi saja.

208 212 

209| Jenis kunci | Bagaimana Claude Code menggabungkannya | Contoh |213| Jenis kunci | Bagaimana Claude Code menggabungkannya | Contoh |

210| :- | :- | :- |214| :- | :- | :- |

211| Daftar | Menggabungkan entri dari setiap sumber | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |215| Daftar | Menggabungkan entri dari setiap sumber | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers`, `deniedModels` |

212| Kunci | Menerapkan nilai paling ketat yang ditetapkan sumber apa pun; nilai yang lebih longgar berlaku hanya dari sumber dengan peringkat tertinggi | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |216| Kunci | Menerapkan nilai paling ketat yang ditetapkan sumber apa pun; nilai yang lebih longgar berlaku hanya dari sumber dengan peringkat tertinggi | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound`, `availableModelsMatch` |

213| Daftar izin pembatasan | Mengambil daftar seluruhnya dari sumber dengan peringkat tertinggi yang mengaturnya, tanpa menambahkan entri dari sumber lebih rendah | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, dan rantai `fallbackModel` |217| Daftar izin pembatasan | Mengambil daftar seluruhnya dari sumber dengan peringkat tertinggi yang menetapkannya, tanpa menambahkan entri dari sumber yang lebih rendah | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, dan rantai `fallbackModel` |

214| Nilai yang diambil seluruhnya | Mengambil nilai seluruhnya dari sumber dengan peringkat tertinggi yang mengaturnya, tanpa menggabungkan entri atau bidang dari sumber lebih rendah | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |218| Nilai yang diambil seluruhnya | Mengambil nilai seluruhnya dari sumber dengan peringkat tertinggi yang menetapkannya, tanpa menggabungkan entri atau bidang dari sumber yang lebih rendah | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |

215| Server MCP yang disediakan | Menggabungkan nama server dari setiap sumber; ketika dua sumber menetapkan nama yang sama, menerapkan entri seluruh sumber dengan peringkat lebih tinggi | `managedMcpServers` |219| Server MCP yang disediakan | Menggabungkan nama server dari setiap sumber; ketika dua sumber menetapkan nama yang sama, menerapkan entri seluruh sumber dengan peringkat lebih tinggi | `managedMcpServers` |

216| Kunci yang dibaca dari sumber dengan peringkat tertinggi saja | Mengabaikan kunci dalam setiap sumber lebih rendah, bahkan ketika sumber dengan peringkat tertinggi membiarkannya tidak diatur | Pembantu kredensial seperti `apiKeyHelper`, pin login seperti `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |220| Kunci yang dibaca dari sumber dengan peringkat tertinggi saja | Mengabaikan kunci dalam setiap sumber yang lebih rendah, bahkan ketika sumber dengan peringkat tertinggi membiarkannya tidak diatur | Pembantu kredensial seperti `apiKeyHelper`, pin login seperti `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |

217| `env` | Menggabungkan per variabel di seluruh sumber admin di bawah pengaturan apa pun, seperti [Kunci yang dibaca dari setiap sumber admin](#keys-read-from-every-admin-source) menjelaskan | |221| `env` | Menggabungkan per variabel di seluruh sumber admin di bawah pengaturan apa pun, seperti [Kunci yang dibaca dari setiap sumber admin](#keys-read-from-every-admin-source) menjelaskan | |

218| Setiap kunci lainnya | Mengambil nilai dari sumber dengan peringkat tertinggi yang mengaturnya | `model`, `cleanupPeriodDays` |222| Setiap kunci lainnya | Mengambil nilai dari sumber dengan peringkat tertinggi yang menetapkannya | `model`, `cleanupPeriodDays` |

219 223 

220Untuk mengonfirmasi sumber mana yang digabungkan di mesin, [baca baris `Setting sources` dalam `/status`](#read-the-source-in-/status); bagian itu mengatakan apa arti setiap label.224Untuk mengonfirmasi sumber mana yang digabungkan di mesin, [baca baris `Setting sources` dalam `/status`](#read-the-source-in-/status); bagian itu mengatakan apa arti setiap label.

221 225 


223 Hitung kebijakan dengan program pembantu227 Hitung kebijakan dengan program pembantu

224</h3>228</h3>

225 229 

226[`policyHelper`](/docs/id/settings-reference#policyhelper) adalah executable yang dinamai kebijakan MDM atau file pengaturan terkelola Anda, dan Claude Code menjalankannya untuk menghitung pengaturan terkelola saat startup. Ketika sumber yang dipilih mengonfigurasi satu dan pembantu mengeluarkan objek `managedSettings`, output itu mengubah apa yang Claude Code baca:230[`policyHelper`](/docs/id/settings-reference#policyhelper) adalah executable yang dinamai kebijakan MDM atau file pengaturan terkelola Anda, dan Claude Code menjalankannya untuk menghitung pengaturan terkelola saat startup. Ketika sumber yang dipilih mengonfigurasi satu dan pembantu memancarkan objek `managedSettings`, output itu mengubah apa yang dibaca Claude Code:

227 231 

228* **Objek `managedSettings` yang dipancarkan adalah satu-satunya pengaturan terkelola untuk sesi**, termasuk untuk [kunci yang sebaliknya dibaca dari setiap sumber admin](#keys-read-from-every-admin-source), terlepas dari [`forceRemoteSettingsRefresh`, yang memiliki aturan startup sendiri](/docs/id/settings-reference#forceremotesettingsrefresh)232* **Objek `managedSettings` yang dipancarkan adalah satu-satunya pengaturan terkelola untuk sesi**, termasuk untuk [kunci yang sebaliknya dibacanya dari setiap sumber admin](#keys-read-from-every-admin-source), terlepas dari [`forceRemoteSettingsRefresh`, yang memiliki aturan startup sendiri](/docs/id/settings-reference#forceremotesettingsrefresh)

229 233 

230Untuk kegagalan pembantu mana yang terjadi, dan apa yang Claude Code lakukan ketika terjadi, lihat [Helper failures](/docs/id/settings-reference#helper-failures).234Untuk pembantu mana yang menjalankan kegagalan, dan apa yang dilakukan Claude Code ketika satu terjadi, lihat [Kegagalan pembantu](/docs/id/settings-reference#helper-failures).

231 235 

232<span id="parent-settings-from-embedding-hosts" />236<span id="parent-settings-from-embedding-hosts" />

233 237 


239 Biarkan host penyematan menambahkan kebijakan243 Biarkan host penyematan menambahkan kebijakan

240</h3>244</h3>

241 245 

242Ketika aplikasi lain meluncurkan Claude Code, seperti Claude Desktop, ekstensi IDE, atau aplikasi Agent SDK, host itu dapat melewatkan pengaturan terkelolanya sendiri melalui opsi SDK `managedSettings`. Claude Code menyebut ini pengaturan induk.246Ketika aplikasi lain meluncurkan Claude Code, seperti Claude Desktop, ekstensi IDE, atau aplikasi Agent SDK, host itu dapat meneruskan pengaturan terkelolanya sendiri melalui opsi SDK `managedSettings`. Claude Code menyebut ini pengaturan induk.

243 247 

244Secara default, Claude Code mengabaikan pengaturan induk setiap kali sumber admin ada: pengaturan yang dikelola server, kebijakan MDM atau tingkat OS, atau file pengaturan terkelola.248Secara default, Claude Code mengabaikan pengaturan induk kapan pun sumber admin ada: pengaturan yang dikelola server, kebijakan MDM atau tingkat OS, atau file pengaturan terkelola.

245 249 

246Untuk membuat Claude Code menggabungkan pengaturan induk bersama sumber admin, atur [`parentSettingsBehavior`](/docs/id/settings-reference#parentsettingsbehavior) ke `"merge"` dalam sumber terkelola dengan prioritas tertinggi; Claude Code membaca kunci dari sumber itu saja.250Untuk membuat Claude Code menggabungkan pengaturan induk bersama sumber admin, atur [`parentSettingsBehavior`](/docs/id/settings-reference#parentsettingsbehavior) ke `"merge"` dalam sumber terkelola dengan prioritas tertinggi; Claude Code membaca kunci dari sumber itu saja.

247 251 

248Claude Code kemudian menyimpan hanya nilai host yang membatasi apa yang dapat dilakukan Claude, dengan satu celah untuk diketahui: kecuali Anda juga menetapkan kunci `allowManaged*Only`, aturan izin host dan daftar sandbox masih berlaku. Lihat [Restrict parent settings](/docs/id/claude-apps-gateway#restrict-parent-settings) untuk kunci.252Claude Code kemudian menyimpan hanya nilai host yang membatasi apa yang dapat dilakukan Claude, dengan satu celah untuk diketahui: kecuali Anda juga menetapkan kunci `allowManaged*Only`, aturan izin host dan daftar izin sandbox masih berlaku. Lihat [Batasi pengaturan induk](/docs/id/claude-apps-gateway#restrict-parent-settings) untuk kunci.

249 253 

250[`policyHelper`](/docs/id/settings-reference#policyhelper) dapat mematikan penggabungan induk terlepas dari kunci ini; entrinya mengatakan kapan.254[`policyHelper`](/docs/id/settings-reference#policyhelper) dapat mematikan penggabungan induk terlepas dari kunci ini; entrinya mengatakan kapan.

251 255 

252Claude Code juga menerapkan pemeriksaan ini ke nilai yang disediakan induk sendiri:256Claude Code juga menerapkan pemeriksaan ini ke nilai yang disediakan induk sendiri:

253 257 

254* Ketika sumber admin apa pun menetapkan `allowManagedPermissionRulesOnly`, Claude Code menghapus aturan izin [yang disediakan induk](/docs/id/claude-apps-gateway#restrict-parent-settings) dan `additionalDirectories` saat membacanya, bahkan ketika sumber prioritas lebih tinggi membiarkan kunci tidak diatur. Efek kunci pada aturan Anda sendiri berasal dari pengaturan terkelola yang Claude Code terapkan, atau dari pengaturan induk yang telah Anda pilih untuk digabungkan258* Ketika sumber admin apa pun menetapkan `allowManagedPermissionRulesOnly`, Claude Code menghapus [aturan izin yang disediakan induk](/docs/id/claude-apps-gateway#restrict-parent-settings) dan `additionalDirectories` saat membacanya, bahkan ketika sumber prioritas lebih tinggi membiarkan kunci tidak diatur. Efek kunci pada aturan Anda sendiri berasal dari pengaturan terkelola yang diterapkan Claude Code, atau dari pengaturan induk yang telah Anda pilih untuk digabungkan

255* Claude Code memberlakukan nilai `forceLoginOrgUUID` atau `allowedMcpServers` dalam pengaturan terkelola yang diterapkan dan memblokir yang disediakan induk. Di luar kunci daftar izin MCP, nilai dalam sumber admin lebih rendah yang Claude Code tidak terapkan tidak berlaku atau memblokir induk.259* Claude Code memberlakukan nilai `forceLoginOrgUUID` atau `allowedMcpServers` dalam pengaturan terkelola yang diterapkannya dan memblokir yang disediakan induk. Di luar kunci daftar izin MCP, nilai dalam sumber admin yang lebih rendah yang tidak diterapkan Claude Code tidak berlaku atau memblokir yang disediakan induk.

256 260 

257 Pada Claude Code v2.1.273 atau lebih baru, saat `allowManagedMcpServersOnly` aktif, daftar `allowedMcpServers` dari sumber admin dengan peringkat tertinggi yang mengaturnya berlaku dan memblokir induk, sebagai [kunci lintas sumber](#keys-read-from-every-admin-source). Daftar induk berlaku hanya ketika tidak ada sumber admin yang mengaturnya. Entri [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) mengatakan sumber mana yang menyediakan setiap kunci di bawah `"merge"`. Sebelum v2.1.223, nilai dalam sumber admin apa pun memblokir induk261 Pada Claude Code v2.1.273 atau lebih baru, saat `allowManagedMcpServersOnly` aktif, daftar `allowedMcpServers` dari sumber admin dengan peringkat tertinggi yang menetapkan satu berlaku dan memblokir yang disediakan induk, sebagai [kunci lintas sumber](#keys-read-from-every-admin-source). Daftar induk berlaku hanya ketika tidak ada sumber admin yang menetapkan satu. Entri [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) mengatakan sumber mana yang menyediakan setiap kunci di bawah `"merge"`. Sebelum v2.1.223, nilai dalam sumber admin apa pun memblokir yang disediakan induk

258* Untuk `availableModels`, Claude Code memberlakukan nilai dalam pengaturan terkelola yang diterapkan dan memblokir daftar yang disediakan induk262* Untuk `availableModels`, Claude Code memberlakukan nilai dalam pengaturan terkelola yang diterapkannya dan memblokir daftar yang disediakan induk

259* Untuk `strictKnownMarketplaces`, Claude Code juga memberlakukan daftar dalam pengaturan terkelola yang diterapkan dan memblokir yang disediakan induk. Daftar induk berlaku hanya ketika tidak ada sumber terkelola yang diterapkan yang mengaturnya. Memerlukan Claude Code v2.1.282 atau lebih baru263* Untuk `strictKnownMarketplaces`, Claude Code demikian juga memberlakukan daftar dalam pengaturan terkelola yang diterapkannya dan memblokir yang disediakan induk. Daftar induk berlaku hanya ketika tidak ada sumber terkelola yang diterapkan menetapkan satu. Memerlukan Claude Code v2.1.282 atau lebih baru

260* Sebuah `blockedMarketplaces` yang disediakan induk berlaku selain daftar blokir apa pun yang ditetapkan sumber terkelola. Memerlukan Claude Code v2.1.282 atau lebih baru264* Induk yang disediakan `blockedMarketplaces` berlaku selain daftar penolakan apa pun yang ditetapkan sumber terkelola. Memerlukan Claude Code v2.1.282 atau lebih baru

261 265 

262<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">266<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">

263 Pertahankan akses folder Cowork ketika hanya aturan terkelola yang berlaku267 Pertahankan akses folder Cowork ketika hanya aturan terkelola yang berlaku

264</h4>268</h4>

265 269 

266[Cowork](https://claude.com/docs/cowork/overview) dalam aplikasi Claude Desktop menjalankan sesinya di Claude Code dan memberikan setiap sesi akses ke folder kerjanya, seperti folder yang dihubungkan pengguna, melalui aturan izin yang disediakannya saat meluncurkan sesi. Ketika kebijakan terkelola Anda menetapkan [`allowManagedPermissionRulesOnly`](/docs/id/settings-reference#allowmanagedpermissionrulesonly), Claude Code menyimpan hanya aturan izin dalam kebijakan terkelola: itu menghapus aturan izin yang disediakan host sebagai pengaturan induk, sebagai `--allowedTools`, atau dalam file pengaturan, jadi penulisan ke folder tersebut kehilangan pra-persetujuan mereka. Dalam sesi Cowork yang meminta sebelum edit, Cowork tidak dapat menampilkan prompt, dan Claude melaporkan setiap penulisan sebagai diblokir karena jalur diselesaikan ke lokasi yang dilindungi atau jalur di luar folder yang terhubung.270[Cowork](https://claude.com/docs/cowork/overview) dalam aplikasi Claude Desktop menjalankan sesinya di Claude Code dan memberikan setiap sesi akses ke folder kerjanya, seperti folder yang dihubungkan pengguna, melalui aturan izin yang disediakannya saat meluncurkan sesi. Ketika kebijakan terkelola Anda menetapkan [`allowManagedPermissionRulesOnly`](/docs/id/settings-reference#allowmanagedpermissionrulesonly), Claude Code menyimpan hanya aturan izin dalam kebijakan terkelola: itu menghapus aturan izin yang disediakan host sebagai pengaturan induk, sebagai `--allowedTools`, atau dalam file pengaturan, sehingga penulisan ke folder tersebut kehilangan pra-persetujuan mereka. Dalam sesi Cowork yang meminta sebelum edit, Cowork tidak dapat menampilkan prompt, dan Claude melaporkan setiap penulisan sebagai diblokir karena jalur diselesaikan ke lokasi yang dilindungi atau jalur di luar folder yang terhubung.

267 271 

268Untuk memulihkan penulisan, tambahkan aturan izin untuk folder tersebut ke sumber terkelola yang Claude Code [pilih](#precedence-within-the-managed-tier) di mesin tersebut: di armada yang dikelola MDM, itu adalah kebijakan MDM daripada file pengaturan terkelola terpisah. Contoh ini menggunakan bentuk file, dan kebijakan MDM mengambil kunci yang sama. Itu menyimpan `allowManagedPermissionRulesOnly` diatur dan memungkinkan edit di bawah folder `CoworkProjects` di direktori home setiap pengguna; ganti jalur dengan folder yang dihubungkan pengguna Anda:272Untuk memulihkan penulisan, tambahkan aturan izin untuk folder tersebut ke sumber terkelola yang dipilih Claude Code [pada mesin tersebut](#precedence-within-the-managed-tier): pada armada yang dikelola MDM, itu adalah kebijakan MDM daripada file pengaturan terkelola terpisah. Contoh ini menggunakan bentuk file, dan kebijakan MDM mengambil kunci yang sama. Itu menyimpan `allowManagedPermissionRulesOnly` diatur dan memungkinkan edit di bawah folder `CoworkProjects` di direktori home setiap pengguna; ganti jalur dengan folder yang dihubungkan pengguna Anda:

269 273 

270```json managed-settings.json theme={null}274```json managed-settings.json theme={null}

271{275{


278}282}

279```283```

280 284 

281Setelah Anda menerapkan kebijakan, Claude dapat menyimpan file di bawah folder itu dalam sesi Cowork baru. [Read and Edit rules](/docs/id/permissions#read-and-edit) mencakup sintaks jalur, termasuk bentuk `//` untuk jalur absolut.285Setelah Anda menerapkan kebijakan, Claude dapat menyimpan file di bawah folder itu dalam sesi Cowork baru. [Aturan Read dan Edit](/docs/id/permissions#read-and-edit) mencakup sintaks jalur, termasuk bentuk `//` untuk jalur absolut.

282 286 

283<h3 id="what-a-developer-can-change">287<h3 id="what-a-developer-can-change">

284 Apa yang dapat diubah pengembang288 Apa yang dapat diubah pengembang


296<span id="verify-that-a-policy-is-in-force" />300<span id="verify-that-a-policy-is-in-force" />

297 301 

298<h2 id="check-that-a-policy-is-in-force">302<h2 id="check-that-a-policy-is-in-force">

299 Periksa bahwa kebijakan berlaku303 Periksa bahwa kebijakan sedang berlaku

300</h2>304</h2>

301 305 

302Pengembang melaporkan bahwa kebijakan tidak diterapkan, atau Anda ingin mengonfirmasi rollout mendarat sebelum mendorongnya ke armada. Dua perintah di mesin itu menjawabnya: `/status` menunjukkan sumber terkelola mana yang Claude Code pilih, dan `claude doctor` mencantumkan apa yang dihapusnya.306Seorang pengembang melaporkan bahwa kebijakan tidak diterapkan, atau Anda ingin mengonfirmasi bahwa peluncuran telah berhasil sebelum mendorongnya ke armada. Dua perintah pada mesin tersebut menjawabnya: `/status` menunjukkan sumber terkelola mana yang dipilih Claude Code, dan `claude doctor` mencantumkan apa yang dijatuhkannya.

303 307 

304<h3 id="read-the-source-in-/status">308<h3 id="read-the-source-in-/status">

305 Baca sumber dalam /status309 Baca sumber di /status

306</h3>310</h3>

307 311 

308Di mesin pengembang, jalankan `/status` di dalam Claude Code dan baca baris `Setting sources`. Ketika sumber terkelola berlaku, baris mencantumkan `Enterprise managed settings` dengan sumber yang Claude Code pilih dalam tanda kurung:312Pada mesin pengembang, jalankan `/status` di dalam Claude Code dan baca baris `Setting sources`. Ketika sumber terkelola berlaku, baris tersebut mencantumkan `Enterprise managed settings` dengan sumber yang dipilih Claude Code dalam tanda kurung:

309 313 

310* `(remote)`: pengaturan terkelola server dari claude.ai atau gateway314* `(remote)`: pengaturan yang dikelola server dari claude.ai atau gateway

311* `(plist)` atau `(HKLM)`: kebijakan MDM atau OS315* `(plist)` atau `(HKLM)`: kebijakan MDM atau OS

312* `(file)`, `(drop-ins)`, atau `(file + drop-ins)`: `managed-settings.json`, direktori drop-in, atau keduanya316* `(file)`, `(drop-ins)`, atau `(file + drop-ins)`: `managed-settings.json`, direktori drop-in, atau keduanya

313* `(remote + file, merged)`, atau daftar lain yang diakhiri dengan `, merged`: organisasi Anda [menyusun setiap sumber terkelola](#compose-every-managed-source), dan Claude Code menggabungkan sumber yang tercantum ke dalam kebijakan. Sumber lebih rendah masih dapat menyediakan variabel `env` tanpa muncul dalam daftar. Memerlukan Claude Code v2.1.242 atau lebih baru317* `(remote + file, merged)`, atau daftar lain yang diakhiri dengan `, merged`: organisasi Anda [menyusun setiap sumber terkelola](#compose-every-managed-source), dan Claude Code menggabungkan sumber yang tercantum ke dalam kebijakan. Sumber yang lebih rendah masih dapat menyediakan variabel `env` tanpa muncul dalam daftar. Memerlukan Claude Code v2.1.242 atau lebih baru

314* `(HKCU)`: fallback registry yang dapat ditulis pengguna318* `(HKCU)`: fallback registri yang dapat ditulis pengguna

315* `(parent process)`: [host embedding](#let-an-embedding-host-add-policy) menyediakan pengaturan yang ketat319* `(parent process)`: [host penyematan](#let-an-embedding-host-add-policy) menyediakan pengaturan pembatasan

316* `(helper)`: [`policyHelper`](/docs/id/settings-reference#policyhelper) dikonfigurasi oleh sumber MDM atau file yang dipilih320* `(helper)`: [`policyHelper`](/docs/id/settings-reference#policyhelper) yang dikonfigurasi oleh sumber MDM atau file yang dipilih

317 321 

318Ketika Claude Code menemukan sumber terkelola di mesin dan tidak memilihnya, baris kedua, `Skipped sources`, menamai setiap sumber seperti itu. Bacanya untuk membedakan kebijakan yang tidak pernah mencapai mesin dari yang mencapainya dan sumber prioritas lebih tinggi mengesampingkannya. Memerlukan Claude Code v2.1.242 atau lebih baru.322Ketika Claude Code menemukan sumber terkelola pada mesin dan tidak memilihnya, baris kedua, `Skipped sources`, menamai setiap sumber tersebut. Bacalah untuk membedakan kebijakan yang tidak pernah mencapai mesin dari kebijakan yang mencapainya dan yang sumber prioritas lebih tinggi mengesampingkan. Memerlukan Claude Code v2.1.242 atau lebih baru.

319 323 

320Ketika kebijakan tidak diterapkan, baris `Setting sources` memberi tahu Anda masalah mana dari dua yang Anda miliki:324Ketika kebijakan tidak diterapkan, baris `Setting sources` memberi tahu Anda masalah mana dari dua masalah yang Anda miliki:

321 325 

322* **Baris hilang**: Claude Code tidak menemukan sumber terkelola yang mengirimkan kunci kebijakan.326* **Baris hilang**: Claude Code tidak menemukan sumber terkelola yang memberikan kunci kebijakan.

323 327 

324 Jika Anda terapkan file pengaturan terkelola, periksa bahwa itu duduk di jalur untuk OS dan bahwa itu berisi [kunci kebijakan](#how-claude-code-combines-managed-sources) daripada hanya kunci kontrol. File yang bukan JSON yang valid tidak menghasilkan keadaan ini; Claude Code [menolak untuk memulai](#find-entries-claude-code-dropped) sebagai gantinya.328 Jika Anda menerapkan file pengaturan terkelola, periksa bahwa file tersebut berada di jalur untuk OS dan bahwa file tersebut berisi [kunci kebijakan](#how-claude-code-combines-managed-sources) daripada hanya kunci kontrol. File yang bukan JSON yang valid tidak menghasilkan status ini; Claude Code [menolak untuk memulai](#find-entries-claude-code-dropped) sebagai gantinya.

325 329 

326 Ketika Anda terapkan melalui pengaturan terkelola server sebagai gantinya, jalankan `claude doctor`, yang melaporkan [hasil pengambilan](/docs/id/server-managed-settings#verify-settings-delivery).330 Ketika Anda menerapkan melalui pengaturan yang dikelola server, jalankan `claude doctor`, yang melaporkan [hasil pengambilan](/docs/id/server-managed-settings#verify-settings-delivery).

327* **Baris menamai sumber selain yang Anda terapkan**: sumber prioritas lebih tinggi ada dan Claude Code mengabaikan milik Anda, dan `Skipped sources` mencantumkannya. [Bagaimana Claude Code menggabungkan sumber terkelola](#how-claude-code-combines-managed-sources) memberikan urutan.331* **Baris menamai sumber selain yang Anda terapkan**: sumber prioritas lebih tinggi ada dan Claude Code mengabaikan milik Anda, dan `Skipped sources` mencantumkannya. [Bagaimana Claude Code menggabungkan sumber terkelola](#how-claude-code-combines-managed-sources) memberikan urutan.

328 332 

329<span id="invalid-entries-in-managed-settings" />333<span id="invalid-entries-in-managed-settings" />

330 334 

331<h3 id="find-entries-claude-code-dropped">335<h3 id="find-entries-claude-code-dropped">

332 Temukan entri yang Claude Code hapus336 Temukan entri yang Claude Code jatuhkan

333</h3>337</h3>

334 338 

335Ketika file pengaturan terkelola, profil MDM, nilai registry, atau payload terkelola server gagal validasi skema, Claude Code pertama melewatkan entri individual yang dapat diperbaiki, seperti satu aturan izin yang tidak valid, dengan peringatan untuk masing-masing, kemudian menghapus kunci tingkat atas yang nilainya masih gagal dan terus memberlakukan setiap kunci yang valid yang tersisa.339Jika file pengaturan terkelola, profil MDM, nilai registri, atau muatan yang dikelola server gagal validasi skema, Claude Code terlebih dahulu melewati setiap entri individual yang dapat diperbaiki, seperti satu aturan izin yang tidak valid, dan memperingatkan tentang masing-masing. Claude Code kemudian menjatuhkan nilai apa pun yang masih gagal, kecuali nilai tersebut termasuk dalam salah satu kunci yang [gagal tertutup](#keys-that-fail-closed) sebagai gantinya.

336 340 

337Claude Code lebih ketat dengan `managedSettings` yang [`policyHelper`](/docs/id/settings-reference#policyhelper) pancarkan: itu membuat perbaikan entri yang sama, tetapi pelanggaran skema apa pun yang bertahan gagal seluruh jalankan pembantu, dan saat startup Claude Code menolak untuk memulai, sama seperti untuk pembantu yang keluar non-nol.341Claude Code lebih ketat dengan `managedSettings` yang [`policyHelper`](/docs/id/settings-reference#policyhelper) memancarkan: Claude Code melakukan perbaikan entri yang sama, tetapi pelanggaran skema apa pun yang bertahan gagal seluruh jalankan helper, dan saat startup Claude Code menolak untuk memulai, sama seperti untuk helper yang keluar dengan non-zero.

338 342 

339Ketika file pengaturan terkelola, file drop-in, plist MDM, atau nilai registry HKLM ada tetapi tidak dapat diuraikan sebagai objek JSON, Claude Code menolak untuk memulai dan mencetak [kesalahan yang menamai sumber](/docs/id/errors#managed-settings-document-could-not-be-parsed), bahkan ketika sumber admin lain mengirimkan kebijakan yang valid. Setiap sumber gagal dengan cara ini ketika:343Ketika file pengaturan terkelola, file drop-in, plist MDM, atau nilai registri HKLM ada tetapi tidak dapat diuraikan sebagai objek JSON, Claude Code menolak untuk memulai dan mencetak [kesalahan yang menamai sumber](/docs/id/errors#managed-settings-document-could-not-be-parsed), bahkan ketika sumber admin lain memberikan kebijakan yang valid. Setiap sumber gagal dengan cara ini ketika:

340 344 

341* **File pengaturan terkelola atau file drop-in**: file bukan JSON yang valid, atau tingkat atasnya bukan objek345* **File pengaturan terkelola atau file drop-in**: file bukan JSON yang valid, atau tingkat atasnya bukan objek

342* **Plist MDM**: `plutil` macOS melaporkan plist yang salah bentuk, atau konten yang dikonversi bukan objek JSON346* **Plist MDM**: `plutil` macOS melaporkan plist yang salah bentuk, atau konten yang dikonversi bukan objek JSON

343* **Nilai registry HKLM**: nilai `Settings` bukan string, kosong, atau tidak menyimpan objek JSON347* **Nilai registri HKLM**: nilai `Settings` bukan string, kosong, atau tidak menyimpan objek JSON

344 348 

345Tiga keadaan sumber tidak menyebabkan penolakan ini:349Tiga status sumber tidak menyebabkan penolakan ini:

346 350 

347* File, profil, atau nilai registry yang tidak ada bukan kegagalan; Claude Code berjalan tanpa sumber itu.351* File, profil, atau nilai registri yang tidak ada bukan kegagalan; Claude Code berjalan tanpa sumber tersebut.

348* File pengaturan terkelola kosong dihitung sebagai `{}`.352* File pengaturan terkelola yang kosong dihitung sebagai `{}`.

349* Nilai yang salah bentuk dalam kunci registry HKCU yang dapat ditulis pengguna tidak pernah memblokir peluncuran. Claude Code melaporkannya sebagai pemberitahuan dalam `/status` dan `claude doctor` sebagai gantinya.353* Nilai yang salah bentuk dalam kunci registri HKCU yang dapat ditulis pengguna tidak pernah memblokir peluncuran. Claude Code melaporkannya sebagai pemberitahuan di `/status` dan `claude doctor` sebagai gantinya.

350 354 

351Jika file pengaturan terkelola, file drop-in, atau direktori `managed-settings.d/` tidak dapat dibaca dan tidak ada sumber admin yang menyediakan kebijakan, sesi yang masuk dengan kredensial claude.ai atau Claude Console keluar saat startup dengan pesan untuk menghubungi administrator.355Jika file pengaturan terkelola, file drop-in, atau direktori `managed-settings.d/` tidak dapat dibaca dan tidak ada sumber admin yang menyediakan kebijakan, sesi yang masuk dengan kredensial claude.ai atau Claude Console keluar saat startup dengan pesan untuk menghubungi administrator.

352 356 

353Untuk menemukan entri yang dihapus, lihat di salah satu dari tiga tempat:357Untuk menemukan entri yang dijatuhkan, lihat di salah satu dari tiga tempat:

354 358 

355* Sesi interaktif menunjukkan dialog saat startup yang mencantumkan entri yang tidak valid.359* Sesi interaktif menampilkan dialog saat startup yang mencantumkan entri yang tidak valid.

356* Jalankan non-interaktif dengan `-p` mencetak ringkasan ke stderr.360* Jalankan non-interaktif dengan `-p` mencetak ringkasan ke stderr.

357* [`claude doctor`](/docs/id/debug-your-config) mencantumkan setiap entri yang tidak valid dengan sumber dan bidangnya.361* [`claude doctor`](/docs/id/debug-your-config) mencantumkan setiap entri yang tidak valid dengan sumber dan bidangnya.

358 362 


360 Kunci yang gagal tertutup364 Kunci yang gagal tertutup

361</h4>365</h4>

362 366 

363Beberapa kunci penegakan tidak dihapus ketika tidak valid. Claude Code memberlakukan fallback yang lebih ketat sampai nilai diperbaiki; tabel menunjukkan apa yang diberlakukannya untuk setiap kunci:367Ketika sumber terkelola menetapkan kunci tingkat atas yang memiliki nilai pembatasan tunggal, seperti `allowManagedPermissionRulesOnly`, `disableAutoMode`, atau `skipDangerousModePermissionPrompt`, ke sesuatu yang Claude Code tidak dapat membaca, kunci membaca sebagai nilai tersebut sampai Anda memperbaikinya. Laporan mengatakan kunci `was present but invalid` dan menamai nilai yang Claude Code perlakukan sebagai. Untuk kunci di dalam `sandbox`, lihat [Nilai yang tidak valid di dalam `sandbox`](#invalid-values-inside-sandbox).

368 

369Kasus-kasus ini tidak gagal tertutup:

370 

371* `null` menghapus kunci.

372* `disableAllHooks` yang tidak valid, bahkan boolean yang dikutip, dijatuhkan dengan peringatan, karena memberlakukan `true` juga akan membongkar hook yang pengaturan terkelola Anda sendiri terapkan.

373* Untuk setiap kunci boolean lainnya yang aturan cakup, string `"true"` atau `"false"` membaca sebagai boolean tersebut, dengan pemberitahuan di `/status` meminta Anda untuk menghapus tanda kutip.

374 

375Claude Code memperbaiki blok `permissions`, `autoMode`, `worktree`, dan `attribution` per bidang daripada menjatuhkan seluruhnya:

376 

377* Kunci kunci di dalamnya, seperti `permissions.disableBypassPermissionsMode`, membaca sebagai nilai pembatasannya.

378* `permissions.defaultMode` yang tidak valid membaca sebagai `default`.

379* Sementara daftar `deny` atau `ask` di `permissions` tidak dapat dibaca sama sekali, Claude Code menahan `allow` dan `additionalDirectories`, sehingga hibah tidak pernah diterapkan tanpa pembatasan yang ditulis di sebelahnya. Laporan menamai setiap hibah yang ditahan dan daftar yang tidak dapat dibaca.

380* Di `autoMode`, daftar `soft_deny` atau `hard_deny` yang tidak dapat dibaca, atau yang kehilangan entri yang tidak valid, menahan `allow` dan `environment` dengan cara yang sama.

381 

382Aturan gagal-tertutup untuk kunci dengan nilai pembatasan tunggal dan perbaikan per-bidang memerlukan Claude Code v2.1.282 atau lebih baru.

383 

384Kunci-kunci ini memiliki fallback mereka sendiri:

364 385 

365| Bidang | Perilaku ketika ada tetapi tidak valid |386| Bidang | Perilaku ketika ada tetapi tidak valid |

366| :- | :- |387| :- | :- |

367| `allowedMcpServers` | Diberlakukan sebagai daftar izin kosong sampai nilai diperbaiki, jadi tidak ada server MCP yang pengguna tambahkan yang diakui. Server yang organisasi Anda berikan melalui [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) masih dimuat, dan server `managed-mcp.json` dimuat per [Bagaimana server dievaluasi](/docs/id/managed-mcp#how-a-server-is-evaluated). Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. |388| `allowedMcpServers` | Diberlakukan sebagai daftar izin kosong sampai nilai diperbaiki, sehingga tidak ada server MCP yang ditambahkan pengguna yang diterima. Server yang organisasi Anda berikan melalui [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) masih dimuat, dan server `managed-mcp.json` dimuat per [Bagaimana server dievaluasi](/docs/id/managed-mcp#how-a-server-is-evaluated). Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. |

368| `allowedHttpHookUrls` | Claude Code memberlakukan daftar izin terkelola kosong [allowlist](/docs/id/settings-reference#allowedhttphookurls) sampai Anda memperbaiki nilai, jadi HTTP hook berjalan hanya jika file pengaturan lain mencantumkan URL-nya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri itu dan memberlakukan sisanya. |389| `allowedHttpHookUrls` | Claude Code memberlakukan [daftar izin](/docs/id/settings-reference#allowedhttphookurls) terkelola kosong sampai Anda memperbaiki nilai, sehingga hook HTTP berjalan hanya jika file pengaturan lain mencantumkan URL-nya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri tersebut dan memberlakukan sisanya. |

369| `httpHookAllowedEnvVars` | Claude Code memberlakukan daftar izin terkelola kosong [allowlist](/docs/id/settings-reference#httphookallowedenvvars) sampai Anda memperbaiki nilai, jadi variabel header diinterpolasi hanya jika file pengaturan lain menamainya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri itu dan memberlakukan sisanya. |390| `httpHookAllowedEnvVars` | Claude Code memberlakukan [daftar izin](/docs/id/settings-reference#httphookallowedenvvars) terkelola kosong sampai Anda memperbaiki nilai, sehingga variabel header diinterpolasi hanya jika file pengaturan lain menamakannya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri tersebut dan memberlakukan sisanya. |

370| `allowedChannelPlugins` | Claude Code memberlakukan daftar izin kosong sampai Anda memperbaiki nilai, jadi tidak ada plugin saluran yang dilewatkan ke `--channels` yang diakui. Jika hanya entri individual yang tidak valid, itu melepas entri itu dan memberlakukan sisanya. |391| `allowedChannelPlugins` | Claude Code memberlakukan daftar izin kosong sampai Anda memperbaiki nilai, sehingga tidak ada plugin saluran yang dilewatkan ke `--channels` yang diterima. Jika hanya entri individual yang tidak valid, Claude Code melepas entri tersebut dan memberlakukan sisanya. |

371| `strictKnownMarketplaces` | Diberlakukan sebagai daftar izin kosong sampai nilai diperbaiki, jadi tidak ada [sumber marketplace](/docs/id/plugins/org#restrict-what-users-can-install) yang diakui. Entri individual yang tidak valid atau tidak dapat diberlakukan, seperti regex `hostPattern` yang tidak dikompilasi, dilepas dan subset yang valid diberlakukan. |392| `strictKnownMarketplaces` | Diberlakukan sebagai daftar izin kosong sampai nilai diperbaiki, sehingga tidak ada [sumber marketplace](/docs/id/plugins/org#restrict-what-users-can-install) yang diterima. Entri individual yang tidak valid atau tidak dapat diberlakukan, seperti regex `hostPattern` yang tidak dikompilasi, dilepas dan subset yang valid diberlakukan. |

372| `allowManagedHooksOnly` | Diperlakukan sebagai `true` sampai diperbaiki: [pembatasan hook](/docs/id/settings-reference#allowmanagedhooksonly) berlaku dan, kecuali `disableCommandPluginSources` secara eksplisit `false`, plugin bersumber perintah dinonaktifkan. |393| `availableModels` | Diberlakukan sebagai daftar izin kosong sampai diperbaiki, sehingga hanya model Default yang tersedia; entri non-string dilepas dan subset yang valid diberlakukan. |

373| `allowManagedMcpServersOnly` | Diperlakukan sebagai `true`. |394| [`availableModelsMatch`](/docs/id/settings-reference#availablemodelsmatch) | Diperlakukan sebagai `exact` sampai nilai diperbaiki. |

374| `disableCommandPluginSources` | Diperlakukan sebagai `true`, jadi plugin bersumber perintah tetap dinonaktifkan sampai nilai diperbaiki. |

375| `disableSideloadFlags` | Diperlakukan sebagai `true` sampai nilai diperbaiki, dengan efek yang tercantum untuk [`disableSideloadFlags`](/docs/id/settings-reference#disablesideloadflags). |

376| `availableModels` | Diberlakukan sebagai daftar izin kosong sampai diperbaiki, jadi hanya model Default yang tersedia; entri non-string dilepas dan subset yang valid diberlakukan. |

377| `enforceAvailableModels` | Diperlakukan sebagai `true`. |

378| `syncClaudeAiPlugins` | Diperlakukan sebagai `false`, jadi sinkronisasi [plugin claude.ai](/docs/id/settings-reference#syncclaudeaiplugins) mati sampai nilai diperbaiki. |

379| `forceLoginOrgUUID` | Tidak ada organisasi yang diizinkan untuk masuk sampai nilai diperbaiki. |395| `forceLoginOrgUUID` | Tidak ada organisasi yang diizinkan untuk masuk sampai nilai diperbaiki. |

380| `gatewayInternalNetworks` | Ketika nilai yang tidak valid berasal dari sumber terkelola tertinggi di mesin, `/login` menolak setiap [gateway cloud](/docs/id/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) masuk baru di mesin itu sampai nilai diperbaiki. |396| `gatewayInternalNetworks` | Ketika nilai yang tidak valid berasal dari sumber terkelola tertinggi pada mesin, `/login` menolak setiap [gateway cloud](/docs/id/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) masuk baru pada mesin tersebut sampai nilai diperbaiki. |

381| `crossSessionInbound` | Diperlakukan sebagai `refuse`, nilai paling ketat, jadi [pesan lintas sesi](/docs/id/cross-session-messaging#control-inbound-messages) masuk ditolak sampai nilai diperbaiki. Pengembang melihat [peringatan](/docs/id/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |397| `crossSessionInbound` | Diperlakukan sebagai `refuse`, nilai paling pembatas, sehingga [pesan lintas sesi](/docs/id/cross-session-messaging#control-inbound-messages) masuk ditolak sampai nilai diperbaiki. Pengembang melihat [peringatan](/docs/id/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |

382| `deniedMcpServers` | Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. Nilai yang sepenuhnya tidak valid dihapus dengan peringatan, karena menolak setiap server akan memblokir server yang kebijakan tidak pernah namai. |398| `deniedMcpServers` | Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan, karena menolak setiap server akan memblokir server yang kebijakan tidak pernah namai. |

383| `blockedMarketplaces` | Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. Entri yang diuraikan tetapi tidak pernah cocok, seperti regex `hostPattern` yang tidak dikompilasi, disimpan dengan peringatan. Itu tidak memblokir apa pun sampai diperbaiki, tetapi [pembatasan marketplace](/docs/id/plugins/org#restrict-what-users-can-install) tetap aktif. Nilai yang sepenuhnya tidak valid dihapus dengan peringatan, karena memblokir setiap marketplace akan memblokir sumber yang kebijakan tidak pernah namai. |399| [`deniedModels`](/docs/id/settings-reference#deniedmodels) | Entri non-string dilepas dan sisa daftar diberlakukan. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan dan tidak memblokir model apa pun sampai diperbaiki. |

384| `sandbox.credentials` | Entri yang tidak valid yang dapat dipulihkan diturunkan ke `mode: "deny"` dengan peringatan; yang tidak dapat dipulihkan dilepas; entri yang valid tetap diberlakukan. Lihat [entri kredensial yang tidak valid](/docs/id/settings-reference#invalid-credential-entries-in-managed-settings) |400| `blockedMarketplaces` | Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. Entri yang diuraikan tetapi tidak pernah dapat cocok, seperti regex `hostPattern` yang tidak dikompilasi, disimpan dengan peringatan. Ini tidak memblokir apa pun sampai diperbaiki, tetapi [pembatasan marketplace](/docs/id/plugins/org#restrict-what-users-can-install) tetap aktif. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan, karena memblokir setiap marketplace akan memblokir sumber yang kebijakan tidak pernah namai. |

401| `sandbox` | Ketika satu nilai di dalam blok tidak valid, Claude Code tidak menjatuhkan seluruh blok. Untuk apa yang terjadi pada setiap jenis bidang yang tidak valid, lihat [Nilai yang tidak valid di dalam `sandbox`](#invalid-values-inside-sandbox). |

402| `sandbox.credentials` | Entri yang tidak valid yang dapat dipulihkan diturunkan ke `mode: "deny"` dengan peringatan; yang tidak dapat dipulihkan dilepas; entri yang valid tetap diberlakukan. Lihat [entri kredensial yang tidak valid](/docs/id/settings-reference#invalid-credential-entries-in-managed-settings). |

403| `strictPluginOnlyCustomization` | Diperlakukan sebagai `true`, mengunci keempat permukaan, ketika nilai bukan boolean maupun array. Entri array yang versi ini tidak mengenali sebagai permukaan tidak mengunci apa pun; catatan status menghitung entri tersebut sehingga Anda dapat memeriksanya untuk kesalahan ketik. |

404| `enabledPlugins` | Entri yang tidak valid dijatuhkan dengan peringatan dan entri lainnya tetap diberlakukan. Nilai yang bukan peta ID plugin, atau yang setiap entrinya tidak valid, dijatuhkan seluruhnya dengan peringatan. |

405 

406`allowedHttpHookUrls` dan `httpHookAllowedEnvVars` bergabung di seluruh file pengaturan, sehingga entri dalam pengaturan pengguna, proyek, atau lokal Anda masih berlaku sementara daftar terkelola kosong.

407 

408Fallback untuk kedua kunci tersebut dan untuk `allowedChannelPlugins` memerlukan Claude Code v2.1.267 atau lebih baru; versi sebelumnya menjatuhkan seluruh kunci ketika nilainya atau entri apa pun tidak valid. Fallback `strictKnownMarketplaces` dan `blockedMarketplaces` memerlukan Claude Code v2.1.277 atau lebih baru; versi sebelumnya menjatuhkan seluruh kunci ketika nilainya atau entri apa pun tidak valid. Fallback `strictPluginOnlyCustomization` dan `enabledPlugins` memerlukan Claude Code v2.1.282 atau lebih baru.

385 409 

386`allowedHttpHookUrls` dan `httpHookAllowedEnvVars` menggabungkan di seluruh file pengaturan, jadi entri dalam pengaturan pengguna, proyek, atau lokal Anda masih berlaku sementara daftar terkelola kosong.410`requiredMinimumVersion` dan `requiredMaximumVersion` gagal terbuka sesuai desain: nilai yang tidak valid dijatuhkan daripada diberlakukan.

411 

412Toleransi ini hanya berlaku untuk pengaturan terkelola. File pengaturan pengguna, proyek, dan lokal tetap ketat: file yang JSON atau bentuk tingkat atasnya gagal validasi ditolak seluruhnya dan dilaporkan, dan entri individual yang gagal, seperti aturan izin yang salah bentuk, dilewati dengan peringatan sementara sisa file berlaku.

413 

414<h4 id="invalid-values-inside-sandbox">

415 Nilai yang tidak valid di dalam `sandbox`

416</h4>

387 417 

388Fallback untuk dua kunci itu dan untuk `allowedChannelPlugins` memerlukan Claude Code v2.1.267 atau lebih baru; versi sebelumnya menghapus seluruh kunci ketika nilainya atau entri apa pun tidak valid. Fallback `strictKnownMarketplaces`, `blockedMarketplaces`, dan `disableSideloadFlags` memerlukan Claude Code v2.1.277 atau lebih baru; versi sebelumnya menghapus seluruh kunci ketika nilainya atau entri apa pun tidak valid.418Ketika satu nilai dalam blok `sandbox` terkelola Anda tidak valid, Claude Code tidak menjatuhkan seluruh blok, karena Claude Code memvalidasi setiap bidang sendiri. Penanganan per-bidang ini memerlukan Claude Code v2.1.283 atau lebih baru. Pada versi sebelum v2.1.283, Claude Code menjatuhkan setiap bidang `sandbox` kecuali [`credentials`](/docs/id/settings-reference#invalid-credential-entries-in-managed-settings) ketika nilai di luar `credentials` tidak valid.

389 419 

390`requiredMinimumVersion` dan `requiredMaximumVersion` gagal terbuka dengan desain: nilai yang tidak valid dihapus daripada diberlakukan.420Peringatan yang Anda dapatkan untuk bidang yang tidak valid menamai bidang dan memberi tahu Anda apa yang terjadi padanya. Apa yang terjadi tergantung pada apa yang dikendalikan bidang:

391 421 

392Toleransi ini hanya berlaku untuk pengaturan terkelola. File pengaturan pengguna, proyek, dan lokal tetap ketat: file yang JSON atau bentuk tingkat atasnya gagal validasi ditolak secara keseluruhan dan dilaporkan, dan entri individual yang gagal, seperti aturan izin yang salah bentuk, dilewatkan dengan peringatan sementara sisa file berlaku.422* Jika Anda menetapkan kunci Boolean ke `"true"` atau `"false"` yang dikutip, nilai dihitung sebagai Boolean tersebut. Alih-alih peringatan, `/status` menampilkan pemberitahuan meminta Anda untuk menghapus tanda kutip.

423* Jika `failIfUnavailable` tidak valid, Claude Code menjatuhkan nilai daripada memperlakukannya sebagai `true`, sehingga nilai yang tidak dapat dibaca tidak pernah menghentikan sesi dari memulai di seluruh armada Anda.

424* Claude Code memperlakukan setiap Boolean yang tidak valid lainnya sebagai nilai yang membuat sandbox paling ketat sampai Anda memperbaikinya. Kunci yang mengaktifkan sandbox atau salah satu pembatasannya, seperti `enabled` atau `network.allowManagedDomainsOnly`, dihitung sebagai `true`. Kunci yang melonggarkannya, seperti `allowUnsandboxedCommands`, dihitung sebagai `false`.

425* Dalam daftar di luar `credentials`, seperti `excludedCommands` atau `network.allowedDomains`, Claude Code menjatuhkan entri yang tidak valid dan menyimpan sisa daftar. Daftar yang bukan array, atau yang tidak memiliki entri yang valid, tidak berlaku sama sekali.

426* Sementara `network.deniedDomains` atau entri apa pun di dalamnya tidak valid, Claude Code juga menahan `network.allowedDomains`, sehingga daftar izin terkelola tidak memberikan apa pun sampai Anda memperbaiki daftar penolakan.

427* Sementara `filesystem.denyRead`, `filesystem.denyWrite`, atau entri apa pun di salah satu tidak valid, Claude Code juga menahan `filesystem.allowRead` dan `filesystem.allowWrite` sampai Anda memperbaiki daftar penolakan.

393 428 

394<span id="managed-only-settings" />429<span id="managed-only-settings" />

395 430 


401 436 

402Sebagian besar adalah kunci: nilai yang dikunci, seperti aturan izin atau `sandbox.network.allowedDomains`, adalah kunci biasa yang dapat diatur tingkat apa pun, dan kunci memberi tahu Claude Code untuk menghormati hanya nilai terkelola.437Sebagian besar adalah kunci: nilai yang dikunci, seperti aturan izin atau `sandbox.network.allowedDomains`, adalah kunci biasa yang dapat diatur tingkat apa pun, dan kunci memberi tahu Claude Code untuk menghormati hanya nilai terkelola.

403 438 

404Tabel mencakup kontrol izin, plugin, dan pengiriman. Untuk kunci apa pun yang tidak tercantum di sini, kolom Scope dari [referensi pengaturan](/docs/id/settings-reference#all-settings) index mengatakan apakah itu terkelola saja; kunci terkelola saja yang tersisa di sana termasuk URL login gateway, versi, browser, mobile-simulator, host SSH, Desktop sesi lokal, jalur biner sandbox, harga model, dan kontrol CLAUDE.md.439Tabel mencakup kontrol izin, plugin, dan pengiriman. Untuk kunci apa pun yang tidak tercantum di sini, kolom Scope dari [referensi pengaturan](/docs/id/settings-reference#all-settings) index mengatakan apakah itu terkelola saja; kunci terkelola saja yang tersisa di sana termasuk URL login gateway, versi, browser, mobile-simulator, host SSH, Desktop sesi lokal, jalur biner sandbox, harga model, pembatasan model, dan kontrol CLAUDE.md.

405 440 

406| Pengaturan | Deskripsi |441| Pengaturan | Deskripsi |

407| :- | :- |442| :- | :- |

408| [`allowAllClaudeAiMcps`](/docs/id/settings-reference#allowallclaudeaimcps) | Muat konektor claude.ai yang Claude Code ambil sendiri bersama `managed-mcp.json` yang diterapkan alih-alih menekannya |443| [`allowAllClaudeAiMcps`](/docs/id/settings-reference#allowallclaudeaimcps) | Muat konektor claude.ai yang Claude Code ambil sendiri bersama `managed-mcp.json` yang diterapkan alih-alih menekannya |

409| [`allowedChannelPlugins`](/docs/id/settings-reference#allowedchannelplugins) | Daftar izin plugin channel yang dapat mendorong pesan. Mengganti daftar izin Anthropic default ketika diatur. Memerlukan `channelsEnabled: true`. Lihat [Batasi plugin channel mana yang dapat berjalan](/docs/id/channels#restrict-which-channel-plugins-can-run) |444| [`allowedChannelPlugins`](/docs/id/settings-reference#allowedchannelplugins) | Daftar izin plugin channel yang dapat mendorong pesan. Mengganti daftar izin Anthropic default ketika diatur. Memerlukan `channelsEnabled: true`. Lihat [Batasi plugin channel mana yang dapat berjalan](/docs/id/channels#restrict-which-channel-plugins-can-run) |

410| [`allowManagedHooksOnly`](/docs/id/settings-reference#allowmanagedhooksonly) | Ketika `true`, membatasi hook mana yang berjalan; lihat [apa yang berjalan di bawah `allowManagedHooksOnly`](/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) untuk daftar efek lengkap |445| [`allowManagedHooksOnly`](/docs/id/settings-reference#allowmanagedhooksonly) | Ketika `true`, membatasi hook mana yang berjalan; lihat [apa yang berjalan di bawah `allowManagedHooksOnly`](/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) untuk daftar efek lengkap |

411| [`allowManagedMcpServersOnly`](/docs/id/settings-reference#allowmanagedmcpserversonly) | Ketika `true`, hanya `allowedMcpServers` dari pengaturan terkelola yang dihormati. `deniedMcpServers` masih merge dari semua sumber. Lihat [Kunci yang dibaca dari setiap sumber admin](#keys-read-from-every-admin-source) untuk sumber terkelola mana yang dapat mengaturnya, dan [Konfigurasi MCP terkelola](/docs/id/managed-mcp) |446| [`allowManagedMcpServersOnly`](/docs/id/settings-reference#allowmanagedmcpserversonly) | Ketika `true`, hanya `allowedMcpServers` dari pengaturan terkelola yang dihormati. `deniedMcpServers` masih merge dari semua sumber. Lihat [Kunci yang dibaca dari setiap sumber admin](/docs/id/settings-reference#keys-read-from-every-admin-source) untuk sumber terkelola mana yang dapat mengaturnya, dan [Konfigurasi MCP terkelola](/docs/id/managed-mcp) |

412| [`allowManagedPermissionRulesOnly`](/docs/id/settings-reference#allowmanagedpermissionrulesonly) | Membuat pengaturan terkelola satu-satunya sumber pengaturan aturan izin. Entri mencantumkan setiap sumber yang diabaikannya |447| [`allowManagedPermissionRulesOnly`](/docs/id/settings-reference#allowmanagedpermissionrulesonly) | Membuat pengaturan terkelola satu-satunya sumber pengaturan aturan izin. Entri mencantumkan setiap sumber yang diabaikannya |

413| [`blockedMarketplaces`](/docs/id/settings-reference#blockedmarketplaces) | Daftar blokir sumber marketplace. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh filesystem. Lihat [pembatasan marketplace terkelola](/docs/id/plugins/org#restrict-what-users-can-install) |448| [`blockedMarketplaces`](/docs/id/settings-reference#blockedmarketplaces) | Daftar blokir sumber marketplace. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh filesystem. Lihat [pembatasan marketplace terkelola](/docs/id/plugins/org#restrict-what-users-can-install) |

414| [`channelsEnabled`](/docs/id/settings-reference#channelsenabled) | Izinkan [channels](/docs/id/channels) untuk organisasi. Lihat [kontrol enterprise](/docs/id/channels#enterprise-controls) untuk default di setiap paket |449| [`channelsEnabled`](/docs/id/settings-reference#channelsenabled) | Izinkan [channels](/docs/id/channels) untuk organisasi. Lihat [kontrol enterprise](/docs/id/channels#enterprise-controls) untuk default di setiap paket |


416| [`disableSideloadFlags`](/docs/id/settings-reference#disablesideloadflags) | Tolak flag `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup. Dalam sesi cloud, Claude Code menghapus server MCP yang server kirimkan melalui `--mcp-config`, selain entri `type: "sdk"` dalam proses, dan memulai sesi. Memerlukan Claude Code v2.1.193 atau lebih baru |451| [`disableSideloadFlags`](/docs/id/settings-reference#disablesideloadflags) | Tolak flag `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup. Dalam sesi cloud, Claude Code menghapus server MCP yang server kirimkan melalui `--mcp-config`, selain entri `type: "sdk"` dalam proses, dan memulai sesi. Memerlukan Claude Code v2.1.193 atau lebih baru |

417| [`forceRemoteSettingsRefresh`](/docs/id/settings-reference#forceremotesettingsrefresh) | Ketika `true`, memblokir startup CLI sampai pengaturan terkelola jarak jauh diambil segar dan keluar jika pengambilan gagal. Lihat [penegakan fail-closed](/docs/id/server-managed-settings#enforce-fail-closed-startup) |452| [`forceRemoteSettingsRefresh`](/docs/id/settings-reference#forceremotesettingsrefresh) | Ketika `true`, memblokir startup CLI sampai pengaturan terkelola jarak jauh diambil segar dan keluar jika pengambilan gagal. Lihat [penegakan fail-closed](/docs/id/server-managed-settings#enforce-fail-closed-startup) |

418| [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) | Server MCP jarak jauh yang disediakan untuk setiap pengguna bersama milik mereka sendiri. Ini menyediakan server daripada mengunci apa pun. Lihat [Sediakan server melalui pengaturan terkelola](/docs/id/managed-mcp#provide-servers-through-managed-settings). Memerlukan Claude Code v2.1.259 atau lebih baru |453| [`managedMcpServers`](/docs/id/settings-reference#managedmcpservers) | Server MCP jarak jauh yang disediakan untuk setiap pengguna bersama milik mereka sendiri. Ini menyediakan server daripada mengunci apa pun. Lihat [Sediakan server melalui pengaturan terkelola](/docs/id/managed-mcp#provide-servers-through-managed-settings). Memerlukan Claude Code v2.1.259 atau lebih baru |

419| [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) | Apakah Claude Code menerapkan hanya sumber terkelola prioritas tertinggi atau [menyusun setiap satu](#compose-every-managed-source) |454| [`managedSourcesBehavior`](/docs/id/settings-reference#managedsourcesbehavior) | Apakah Claude Code menerapkan hanya sumber terkelola prioritas tertinggi atau [menyusun setiap satu](/docs/id/settings-reference#compose-every-managed-source) |

420| [`parentSettingsBehavior`](/docs/id/settings-reference#parentsettingsbehavior) | Apakah pengaturan induk yang disediakan host merge di bawah kebijakan terkelola |455| [`parentSettingsBehavior`](/docs/id/settings-reference#parentsettingsbehavior) | Apakah pengaturan induk yang disediakan host merge di bawah kebijakan terkelola |

421| [`pluginSuggestionMarketplaces`](/docs/id/settings-reference#pluginsuggestionmarketplaces) | Marketplace yang plugin Claude Code dapat sarankan kepada pengguna |456| [`pluginSuggestionMarketplaces`](/docs/id/settings-reference#pluginsuggestionmarketplaces) | Marketplace yang plugin Claude Code dapat sarankan kepada pengguna |

422| [`pluginTrustMessage`](/docs/id/settings-reference#plugintrustmessage) | Pesan khusus ditambahkan ke peringatan kepercayaan plugin yang ditampilkan sebelum instalasi |457| [`pluginTrustMessage`](/docs/id/settings-reference#plugintrustmessage) | Pesan khusus ditambahkan ke peringatan kepercayaan plugin yang ditampilkan sebelum instalasi |


425| [`sandbox.network.allowManagedDomainsOnly`](/docs/id/settings-reference#sandbox-network-allowmanageddomainsonly) | Hormati hanya `allowedDomains` terkelola dan aturan izin `WebFetch(domain:...)`; blokir domain lain tanpa meminta |460| [`sandbox.network.allowManagedDomainsOnly`](/docs/id/settings-reference#sandbox-network-allowmanageddomainsonly) | Hormati hanya `allowedDomains` terkelola dan aturan izin `WebFetch(domain:...)`; blokir domain lain tanpa meminta |

426| [`strictKnownMarketplaces`](/docs/id/settings-reference#strictknownmarketplaces) | Mengontrol sumber marketplace plugin mana yang pengguna dapat tambahkan dan instal plugin darinya. Lihat [pembatasan marketplace terkelola](/docs/id/plugins/org#restrict-what-users-can-install) |461| [`strictKnownMarketplaces`](/docs/id/settings-reference#strictknownmarketplaces) | Mengontrol sumber marketplace plugin mana yang pengguna dapat tambahkan dan instal plugin darinya. Lihat [pembatasan marketplace terkelola](/docs/id/plugins/org#restrict-what-users-can-install) |

427| [`strictPluginOnlyCustomization`](/docs/id/settings-reference#strictpluginonlycustomization) | Blokir skills, agents, hooks, dan server MCP dari sumber pengguna dan proyek; `true` mengunci keempat, array menamai yang mana |462| [`strictPluginOnlyCustomization`](/docs/id/settings-reference#strictpluginonlycustomization) | Blokir skills, agents, hooks, dan server MCP dari sumber pengguna dan proyek; `true` mengunci keempat, array menamai yang mana |

428| [`wslInheritsWindowsSettings`](/docs/id/settings-reference#wslinheritswindowssettings) | Ketika diatur dalam registry HKLM atau file di bawah `C:\Program Files\ClaudeCode`, biarkan WSL membaca rantai kebijakan Windows, dan baca `/etc/claude-code` hanya ketika tidak ada file pengaturan terkelola atau drop-in di bawah direktori itu yang mengirimkan [kunci kebijakan](#how-claude-code-combines-managed-sources); entri memberikan urutan |463| [`wslInheritsWindowsSettings`](/docs/id/settings-reference#wslinheritswindowssettings) | Ketika diatur dalam registry HKLM atau file di bawah `C:\Program Files\ClaudeCode`, biarkan WSL membaca rantai kebijakan Windows, dan baca `/etc/claude-code` hanya ketika [tidak ada dokumen admin Windows yang ada](/docs/id/settings-reference#present-admin-documents); entri memberikan urutan |

429 464 

430<Note>465<Note>

431 Pada paket Team dan Enterprise, Owner mengaktifkan atau menonaktifkan [Remote Control](/docs/id/remote-control) dan [sesi web](/docs/id/claude-code-on-the-web) di seluruh organisasi dalam [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control dapat juga dinonaktifkan per perangkat dengan pengaturan [`disableRemoteControl`](/docs/id/settings-reference#disableremotecontrol). Sesi web tidak memiliki kunci pengaturan terkelola per perangkat.466 Pada paket Team dan Enterprise, Owner mengaktifkan atau menonaktifkan [Remote Control](/docs/id/remote-control) dan [sesi cloud](/docs/id/claude-code-on-the-web) di seluruh organisasi dalam [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control dapat juga dinonaktifkan per perangkat dengan pengaturan [`disableRemoteControl`](/docs/id/settings-reference#disableremotecontrol). Sesi cloud tidak memiliki kunci pengaturan terkelola per perangkat.

432 467 

433 Untuk memeriksa apakah pengaturan organisasi ini mencapai mesin tertentu, jalankan `claude doctor` di sana dan baca baris `Organization policy`, yang mengatakan di mana Claude Code memuat kebijakan atau mengapa tidak memuat. Memerlukan Claude Code v2.1.261 atau lebih baru. Dalam sesi yang berjalan, `/status` menunjukkan baris yang sama ketika kebijakan tidak memuat.468 Untuk memeriksa apakah pengaturan organisasi ini mencapai mesin tertentu, jalankan `claude doctor` di sana dan baca baris `Organization policy`, yang mengatakan di mana Claude Code memuat kebijakan atau mengapa tidak memuat. Memerlukan Claude Code v2.1.261 atau lebih baru. Dalam sesi yang berjalan, `/status` menunjukkan baris yang sama ketika kebijakan tidak memuat.

434</Note>469</Note>


449 484 

450Claude Code menerapkan nilai `1` tanpa menunjukkan pengguna [dialog persetujuan](/docs/id/server-managed-settings#environment-variables-and-the-approval-dialog).485Claude Code menerapkan nilai `1` tanpa menunjukkan pengguna [dialog persetujuan](/docs/id/server-managed-settings#environment-variables-and-the-approval-dialog).

451 486 

452Jika Anda matikan telemetri, Claude Code berhenti mengirimkan data penggunaan yang memberi makan [dasbor analitik](/docs/id/analytics) organisasi Anda untuk pengembang yang kebijakan jangkau. Variabel juga mematikan pengambilan flag fitur, yang membuat Remote Control, mode auto default, dan [fitur lain yang memerlukan pengambilan flag fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching) tidak tersedia untuk pengembang itu.487Jika Anda matikan telemetri, Claude Code berhenti mengirimkan data penggunaan yang memberi makan [dasbor analitik](/docs/id/analytics) organisasi Anda untuk pengembang yang kebijakan jangkau. Variabel juga mematikan [pengambilan flag fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching) untuk pengembang itu. Untuk Remote Control, lihat [persyaratan Remote Control](/docs/id/remote-control#requirements).

453 488 

454[Di mana dan kapan kebijakan berlaku](#where-and-when-a-policy-applies) mengatakan mekanisme pengiriman mana yang menjangkau setiap permukaan, dan [Ketersediaan platform](/docs/id/server-managed-settings#platform-availability) mengatakan sesi mana yang melewatkan pengambilan pengaturan terkelola server.489[Di mana dan kapan kebijakan berlaku](#where-and-when-a-policy-applies) mengatakan mekanisme pengiriman mana yang menjangkau setiap permukaan, dan [Ketersediaan platform](/docs/id/server-managed-settings#platform-availability) mengatakan sesi mana yang melewatkan pengambilan pengaturan terkelola server.

455 490 

mcp.md +106 −84

Details

92 92 

93Entri JSON yang memiliki `url` tetapi tidak ada `type` adalah kesalahan konfigurasi, karena Claude Code membaca entri tanpa `type` sebagai server stdio. Claude Code melewati server itu dan melaporkan `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`. Sebelum v2.1.202, Claude Code melaporkan kesalahan konfigurasi ini sebagai `command: expected string, received undefined`.93Entri JSON yang memiliki `url` tetapi tidak ada `type` adalah kesalahan konfigurasi, karena Claude Code membaca entri tanpa `type` sebagai server stdio. Claude Code melewati server itu dan melaporkan `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`. Sebelum v2.1.202, Claude Code melaporkan kesalahan konfigurasi ini sebagai `command: expected string, received undefined`.

94 94 

95Dalam `--output-format stream-json` runs, Claude Code juga melaporkan entri `--mcp-config` yang dilewati dalam [`mcp_server_errors` field](/docs/id/headless#stream-responses) dari event `system/init`, sehingga skrip dapat mendeteksi bahwa server tidak pernah dimuat. Ini memerlukan Claude Code v2.1.219 atau lebih baru.95Hanya aplikasi host SDK, seperti aplikasi [Agent SDK](/docs/id/agent-sdk/mcp) atau [aplikasi desktop](/docs/id/desktop), yang dapat mendaftarkan server `"type": "sdk"` dalam proses. Claude Code melewati entri `"type": "sdk"` di `.mcp.json`, `~/.claude.json`, atau pengaturan dan melaporkan `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.

96 

97Dalam menjalankan `--output-format stream-json`, Claude Code juga melaporkan entri `--mcp-config` yang dilewati dalam [`mcp_server_errors` field](/docs/id/headless#stream-responses) dari event `system/init`, sehingga skrip dapat mendeteksi bahwa server tidak pernah dimuat. Ini memerlukan Claude Code v2.1.219 atau lebih baru.

96 98 

97<h3 id="option-2-add-a-remote-sse-server">99<h3 id="option-2-add-a-remote-sse-server">

98 Opsi 2: Tambahkan server SSE jarak jauh100 Opsi 2: Tambahkan server SSE jarak jauh


104 106 

105Beberapa layanan masih hanya mengekspos endpoint SSE. Tambahkan ini dengan perintah `claude mcp add --transport http <name> <url>` yang sama seperti [server HTTP](#option-1-add-a-remote-http-server). Claude Code mencoba transport HTTP terlebih dahulu dan beralih ke SSE ketika server tidak menerimanya. Pengalihan otomatis memerlukan Claude Code v2.1.265 atau lebih baru.107Beberapa layanan masih hanya mengekspos endpoint SSE. Tambahkan ini dengan perintah `claude mcp add --transport http <name> <url>` yang sama seperti [server HTTP](#option-1-add-a-remote-http-server). Claude Code mencoba transport HTTP terlebih dahulu dan beralih ke SSE ketika server tidak menerimanya. Pengalihan otomatis memerlukan Claude Code v2.1.265 atau lebih baru.

106 108 

107Pada versi sebelumnya, atau untuk terhubung melalui SSE secara langsung, teruskan `--transport sse` sebagai gantinya:109Pada versi sebelumnya, atau untuk terhubung melalui SSE secara langsung, berikan `--transport sse` sebagai gantinya:

108 110 

109```bash theme={null}111```bash theme={null}

110# Sintaks dasar112# Sintaks dasar


126 128 

127Claude Code menetapkan `CLAUDE_PROJECT_DIR` di lingkungan server yang dihasilkan ke akar proyek, sehingga server Anda dapat menyelesaikan jalur relatif proyek tanpa bergantung pada direktori kerja. Ini adalah direktori yang sama yang diterima hooks dalam variabel `CLAUDE_PROJECT_DIR` mereka. Bacanya dari dalam proses server Anda, misalnya `process.env.CLAUDE_PROJECT_DIR` di Node atau `os.environ["CLAUDE_PROJECT_DIR"]` di Python.129Claude Code menetapkan `CLAUDE_PROJECT_DIR` di lingkungan server yang dihasilkan ke akar proyek, sehingga server Anda dapat menyelesaikan jalur relatif proyek tanpa bergantung pada direktori kerja. Ini adalah direktori yang sama yang diterima hooks dalam variabel `CLAUDE_PROJECT_DIR` mereka. Bacanya dari dalam proses server Anda, misalnya `process.env.CLAUDE_PROJECT_DIR` di Node atau `os.environ["CLAUDE_PROJECT_DIR"]` di Python.

128 130 

129`CLAUDE_PROJECT_DIR` adalah akar proyek yang stabil dan tidak berubah saat Anda menambah atau menghapus direktori kerja di tengah sesi. Server yang membatasi akses sistem file-nya sendiri ke serangkaian direktori yang diizinkan harus mengimplementasikan permintaan MCP `roots/list` sebagai gantinya. Claude Code menjawab `roots/list` dengan direktori peluncuran sesi ditambah setiap [direktori kerja tambahan](/docs/id/permissions#working-directories) yang Anda berikan dengan `--add-dir`, `/add-dir`, atau pengaturan `additionalDirectories`. Claude Code mengirim `notifications/roots/list_changed` saat set itu berubah. Sebelum v2.1.203, `roots/list` hanya mengembalikan direktori peluncuran dan Claude Code tidak mengirim `notifications/roots/list_changed`.131`CLAUDE_PROJECT_DIR` adalah akar proyek yang stabil dan tidak berubah saat Anda menambah atau menghapus direktori kerja di tengah sesi. Server yang membatasi akses sistem file-nya sendiri ke serangkaian direktori yang diizinkan harus mengimplementasikan permintaan MCP `roots/list` sebagai gantinya. Claude Code menjawab `roots/list` dengan direktori peluncuran sesi ditambah setiap [direktori kerja tambahan](/docs/id/permissions#working-directories) yang telah Anda berikan dengan `--add-dir`, `/add-dir`, atau pengaturan `additionalDirectories`. Claude Code mengirim `notifications/roots/list_changed` ketika set itu berubah. Sebelum v2.1.203, `roots/list` hanya mengembalikan direktori peluncuran dan Claude Code tidak mengirim `notifications/roots/list_changed`.

130 132 

131Variabel ini ditetapkan di lingkungan server, bukan di lingkungan Claude Code sendiri, jadi mereferensikannya melalui ekspansi `${VAR}` di `command` atau `args` dari entri `.mcp.json` yang dibatasi proyek atau entri server lokal atau pengguna di `~/.claude.json` memerlukan default seperti `${CLAUDE_PROJECT_DIR:-.}`. Konfigurasi MCP yang disediakan plugin mengganti `${CLAUDE_PROJECT_DIR}` secara langsung dan tidak memerlukan default.133Variabel ini ditetapkan di lingkungan server, bukan di lingkungan Claude Code itu sendiri, jadi mereferensikannya melalui ekspansi `${VAR}` di `command` atau `args` dari entri `.mcp.json` yang dibatasi proyek atau entri server lokal atau pengguna di `~/.claude.json` memerlukan default seperti `${CLAUDE_PROJECT_DIR:-.}`. Konfigurasi MCP yang disediakan plugin mengganti `${CLAUDE_PROJECT_DIR}` secara langsung dan tidak memerlukan default.

132 134 

133```bash theme={null}135```bash theme={null}

134# Sintaks dasar136# Sintaks dasar


149 * `claude mcp add --transport stdio myserver -- npx server` → menjalankan `npx server`151 * `claude mcp add --transport stdio myserver -- npx server` → menjalankan `npx server`

150 * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → menjalankan `python server.py --port 8080` dengan `KEY=value` di lingkungan152 * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → menjalankan `python server.py --port 8080` dengan `KEY=value` di lingkungan

151 153 

152 Tanpa `--`, Claude Code akan mencoba mengurai flag server, seperti `--port` di atas, sebagai opsinya sendiri.154 Tanpa `--`, Claude Code akan mencoba mengurai flag server, seperti `--port` di atas, sebagai opsi miliknya sendiri.

153 155 

154 `--env` menerima beberapa pasangan `KEY=value`. Jika nama server datang langsung setelah `--env`, CLI membaca nama sebagai pasangan lain dan menolaknya, jadi tempatkan setidaknya satu opsi lain, seperti `--transport stdio`, antara `--env` dan nama server.156 `--env` menerima beberapa pasangan `KEY=value`. Jika nama server datang langsung setelah `--env`, CLI membaca nama sebagai pasangan lain dan menolaknya, jadi tempatkan setidaknya satu opsi lain, seperti `--transport stdio`, antara `--env` dan nama server.

155</Note>157</Note>


158 Opsi 4: Tambahkan server WebSocket jarak jauh160 Opsi 4: Tambahkan server WebSocket jarak jauh

159</h3>161</h3>

160 162 

161Server WebSocket mempertahankan koneksi bidirectional yang persisten, yang cocok untuk server MCP jarak jauh yang mendorong acara ke Claude tanpa diminta. Gunakan HTTP sebagai gantinya ketika server Anda hanya merespons permintaan, karena HTTP mendukung OAuth dan flag `claude mcp add --transport`, sementara WebSocket tidak mendukung keduanya.163Server WebSocket mempertahankan koneksi bidireksional yang persisten, yang cocok untuk server MCP jarak jauh yang mendorong acara ke Claude tanpa diminta. Gunakan HTTP sebagai gantinya ketika server Anda hanya merespons permintaan, karena HTTP mendukung OAuth dan flag `claude mcp add --transport`, sementara WebSocket tidak mendukung keduanya.

162 164 

163Konfigurasi server WebSocket di `.mcp.json` atau dengan `claude mcp add-json`:165Konfigurasikan server WebSocket di `.mcp.json` atau dengan `claude mcp add-json`:

164 166 

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

166claude mcp add-json events-server \168claude mcp add-json events-server \

167 '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'169 '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'

168```170```

169 171 

170Entri `type: "ws"` menerima bidang `url`, `headers`, `headersHelper`, `timeout`, dan `alwaysLoad` yang sama seperti `http`. Autentikasi hanya header, jadi teruskan token statis di `headers` atau buat satu pada waktu koneksi dengan [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Flag `claude mcp add --transport` tidak menerima `ws`.172Entri `type: "ws"` menerima bidang `url`, `headers`, `headersHelper`, `timeout`, dan `alwaysLoad` yang sama seperti `http`. Autentikasi hanya header, jadi berikan token statis di `headers` atau hasilkan satu pada waktu koneksi dengan [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Flag `claude mcp add --transport` tidak menerima `ws`.

171 173 

172<h3 id="add-a-server-from-setup-instructions-written-for-another-client">174<h3 id="add-a-server-from-setup-instructions-written-for-another-client">

173 Tambahkan server dari instruksi setup yang ditulis untuk klien lain175 Tambahkan server dari instruksi setup yang ditulis untuk klien lain

174</h3>176</h3>

175 177 

176Server MCP tidak spesifik untuk Claude Code, jadi instruksi setup server mungkin ditulis untuk Claude Desktop, Cursor, atau klien MCP lain dan tidak memberikan perintah `claude mcp add`. Untuk menambahkan server bagaimanapun, cari dalam instruksi itu untuk salah satu dari tiga hal ini:178Server MCP tidak spesifik untuk Claude Code, jadi instruksi setup server mungkin ditulis untuk Claude Desktop, Cursor, atau klien MCP lain dan tidak memberikan perintah `claude mcp add`. Untuk menambahkan server bagaimanapun, cari dalam instruksi itu untuk URL, perintah peluncuran, atau blok JSON:

177 179 

178* **URL** seperti `https://mcp.example.com/mcp`: server adalah jarak jauh.180* **URL** seperti `https://mcp.example.com/mcp`: server adalah jarak jauh.

179* **Perintah peluncuran** seperti `npx -y @example/mcp-server`: server berjalan di mesin Anda.181* **Perintah peluncuran** seperti `npx -y @example/mcp-server`: server berjalan di mesin Anda.


191claude mcp add --transport http example https://mcp.example.com/mcp193claude mcp add --transport http example https://mcp.example.com/mcp

192```194```

193 195 

194Jika instruksi juga memberikan kunci API atau header token, teruskan dengan `--header` seperti yang ditunjukkan di [Opsi 1](#option-1-add-a-remote-http-server).196Jika instruksi juga memberikan kunci API atau header token, berikan dengan `--header` seperti yang ditunjukkan di [Opsi 1](#option-1-add-a-remote-http-server).

195 197 

196<h4 id="from-an-npx-uvx-or-binary-command">198<h4 id="from-an-npx-uvx-or-binary-command">

197 Dari perintah `npx`, `uvx`, atau binary199 Dari perintah `npx`, `uvx`, atau binary

198</h4>200</h4>

199 201 

200Perintah peluncuran berarti server berjalan sebagai proses stdio lokal. Letakkan seluruh perintah setelah `--`, sehingga Claude Code meneruskan flag seperti `-y` ke perintah yang memulai server alih-alih membacanya sebagai opsinya sendiri. Teruskan variabel lingkungan apa pun yang diminta instruksi dengan `--env`, setelah nama server dan sebelum `--`:202Perintah peluncuran berarti server berjalan sebagai proses stdio lokal. Letakkan seluruh perintah setelah `--`, sehingga Claude Code meneruskan flag seperti `-y` ke perintah yang memulai server alih-alih membacanya sebagai opsi miliknya sendiri. Berikan variabel lingkungan apa pun yang diminta instruksi dengan `--env`, setelah nama server dan sebelum `--`:

201 203 

202```bash theme={null}204```bash theme={null}

203claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server205claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server


209 Dari blok JSON `mcpServers`211 Dari blok JSON `mcpServers`

210</h4>212</h4>

211 213 

212Blok `mcpServers` yang ditulis untuk klien MCP lain, seperti Claude Desktop, menggunakan kunci pembungkus dan bentuk entri yang Claude Code baca. Teruskan `claude mcp add-json` objek di dalam `mcpServers`, bukan pembungkusnya. Dua entri memerlukan perbaikan terlebih dahulu:214Blok `mcpServers` yang ditulis untuk klien MCP lain, seperti Claude Desktop, menggunakan kunci pembungkus dan bentuk entri yang Claude Code baca. Berikan `claude mcp add-json` objek di dalam `mcpServers`, bukan pembungkusnya. Dua entri memerlukan perbaikan terlebih dahulu:

213 215 

214* **`url` tanpa `type`**: tambahkan `"type": "http"`, `"type": "sse"`, atau `"type": "ws"` untuk mencocokkan endpoint. Claude Code membaca entri tanpa `type` sebagai server stdio, jadi entri `url` tanpa `type` gagal.216* **`url` tanpa `type`**: tambahkan `"type": "http"`, `"type": "sse"`, atau `"type": "ws"` untuk mencocokkan endpoint. Claude Code membaca entri tanpa `type` sebagai server stdio, jadi entri `url` tanpa `type` gagal.

215* **Kunci dengan karakter selain huruf, angka, tanda hubung, dan garis bawah**: pilih nama server yang hanya menggunakan karakter tersebut. Jika tidak, kunci adalah nama server.217* **Kunci dengan karakter selain huruf, angka, tanda hubung, dan garis bawah**: pilih nama server yang hanya menggunakan karakter tersebut. Jika tidak, kunci adalah nama server.


233claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'235claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'

234```236```

235 237 

236[Tambahkan server MCP dari konfigurasi JSON](#add-mcp-servers-from-json-configuration) mencakup escaping shell dan flag `--scope` untuk `add-json`. Untuk berbagi server dengan tim Anda sebagai gantinya, tambahkan `--scope project`, atau tambahkan entri di bawah `mcpServers` di `.mcp.json` di akar proyek Anda dan commit. [Cakupan proyek](#project-scope) mencakup cara Claude Code memuat dan menyetujui file itu.238[Tambahkan server MCP dari konfigurasi JSON](#add-mcp-servers-from-json-configuration) mencakup escape shell dan flag `--scope` untuk `add-json`. Untuk berbagi server dengan tim Anda sebagai gantinya, tambahkan `--scope project`, atau tambahkan entri di bawah `mcpServers` di `.mcp.json` di akar proyek Anda dan komitnya. [Cakupan proyek](#project-scope) mencakup cara Claude Code memuat dan menyetujui file itu.

237 239 

238Setiap perintah `claude mcp add` dan `claude mcp add-json` mencetak baris `Added ...`. Untuk memeriksa bahwa Claude Code terhubung, jalankan `claude mcp get <name>`; [Status server](#server-status) mencakup status yang ditunjukkannya dan langkah persetujuan untuk server `.mcp.json`.240Setiap perintah `claude mcp add` dan `claude mcp add-json` mencetak baris `Added ...`. Untuk memeriksa bahwa Claude Code terhubung, jalankan `claude mcp get <name>`; [Status server](#server-status) mencakup status yang ditunjukkannya dan langkah persetujuan untuk server `.mcp.json`.

239 241 


257/mcp259/mcp

258```260```

259 261 

260Saat Anda menghapus server jarak jauh, Claude Code juga menghapus token OAuth dan registrasi klien yang disimpannya untuk server itu.262Saat Anda menghapus server jarak jauh, Claude Code juga menghapus token OAuth dan pendaftaran klien yang disimpannya untuk server itu.

261 263 

262<h4 id="server-status">264<h4 id="server-status">

263 Status server265 Status server


269 271 

270* ``⏸ Pending approval (run `claude` to approve)``: server yang dibatasi proyek dari `.mcp.json` yang belum Anda setujui. Claude Code menunjukkannya di `claude mcp list` dan `claude mcp get <name>`. Jalankan `claude` secara interaktif untuk meninjau dan menyetujuinya.272* ``⏸ Pending approval (run `claude` to approve)``: server yang dibatasi proyek dari `.mcp.json` yang belum Anda setujui. Claude Code menunjukkannya di `claude mcp list` dan `claude mcp get <name>`. Jalankan `claude` secara interaktif untuk meninjau dan menyetujuinya.

271* `✘ Rejected (see disabledMcpjsonServers in settings)`: server `.mcp.json` yang entri [`disabledMcpjsonServers`](/docs/id/settings-reference#disabledmcpjsonservers) tolak. Claude Code menunjukkannya hanya di `claude mcp get <name>`.273* `✘ Rejected (see disabledMcpjsonServers in settings)`: server `.mcp.json` yang entri [`disabledMcpjsonServers`](/docs/id/settings-reference#disabledmcpjsonservers) tolak. Claude Code menunjukkannya hanya di `claude mcp get <name>`.

272* `⊘ Disabled for this project (re-enable via /mcp)`: server yang daftar [`disabledMcpServers`](#disable-a-server-without-removing-it) proyek namakan. Claude Code menunjukkannya di `claude mcp list` dan `claude mcp get <name>`. Nyalakan server kembali dari panel `/mcp`. Sebelum v2.1.238, kedua perintah terhubung ke server yang dinonaktifkan untuk health-check dan melaporkan hasil koneksi.274* `⊘ Disabled for this project (re-enable via /mcp)`: server yang daftar [`disabledMcpServers`](#disable-a-server-without-removing-it) proyek namakan. Claude Code menunjukkannya di `claude mcp list` dan `claude mcp get <name>`. Hidupkan server kembali dari panel `/mcp`. Sebelum v2.1.238, kedua perintah terhubung ke server yang dinonaktifkan untuk memeriksa kesehatannya dan melaporkan hasil koneksi.

273 275 

274Server WebSocket tidak muncul dalam output `claude mcp list`. Gunakan `claude mcp get <name>` atau panel `/mcp` untuk memeriksanya.276Server WebSocket tidak muncul dalam output `claude mcp list`. Gunakan `claude mcp get <name>` atau panel `/mcp` untuk memeriksanya.

275 277 

276<h4 id="project-server-approvals-and-workspace-trust">278<h4 id="project-server-approvals-and-workspace-trust">

277 Persetujuan server proyek dan kepercayaan workspace279 Persetujuan server proyek dan kepercayaan ruang kerja

278</h4>280</h4>

279 281 

280Sejak v2.1.196, `claude mcp list` dan `claude mcp get` membaca persetujuan `.mcp.json` hanya dari file pengaturan yang tidak dimasukkan ke dalam repositori sampai Anda mempercayai workspace dengan menjalankan `claude` di dalamnya dan menerima dialog kepercayaan workspace. Repositori yang dikloning tidak dapat menyetujui server-nya sendiri: [`enableAllProjectMcpServers`](/docs/id/settings-reference#enableallprojectmcpservers) atau [`enabledMcpjsonServers`](/docs/id/settings-reference#enabledmcpjsonservers) yang dicommit ke `.claude/settings.json` proyek diabaikan di folder yang tidak dipercaya, dan server tetap di `⏸ Pending approval` alih-alih terhubung dan health-checked.282Sejak v2.1.196, `claude mcp list` dan `claude mcp get` membaca persetujuan `.mcp.json` hanya dari file pengaturan yang tidak dimasukkan ke dalam repositori sampai Anda mempercayai ruang kerja dengan menjalankan `claude` di dalamnya dan menerima dialog kepercayaan ruang kerja. Repositori yang diklon tidak dapat menyetujui server miliknya sendiri: [`enableAllProjectMcpServers`](/docs/id/settings-reference#enableallprojectmcpservers) atau [`enabledMcpjsonServers`](/docs/id/settings-reference#enabledmcpjsonservers) yang dikomitkan ke `.claude/settings.json` proyek diabaikan di folder yang tidak dipercaya, dan server tetap di `⏸ Pending approval` alih-alih terhubung dan diperiksa kesehatannya.

281 283 

282Persetujuan dari sumber ini masih berlaku di folder yang tidak dipercaya:284Persetujuan dari sumber ini masih berlaku di folder yang tidak dipercaya:

283 285 


285* pengaturan yang dikelola287* pengaturan yang dikelola

286* pengaturan yang diteruskan dengan `--settings`288* pengaturan yang diteruskan dengan `--settings`

287 289 

288Claude Code juga menerapkan persetujuan dari `.claude/settings.local.json` yang tidak dilacak, tetapi menjalankan git untuk memeriksa apakah file dilacak, dan menjalankan pemeriksaan itu hanya di [folder yang dipercaya](/docs/id/permissions#project-allow-rules-and-workspace-trust). Di folder yang belum pernah Anda percayai, Claude Code menunggu dialog kepercayaan sebelum menerapkan persetujuan file, kecuali folder adalah rumah konfigurasi Anda sendiri: direktori rumah Anda, atau direktori yang `.claude` Anda tetapkan sebagai [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars). Sebelum v2.1.207, Claude Code menerapkan persetujuan dari `.claude/settings.local.json` yang tidak dilacak bahkan di folder yang belum pernah Anda percayai.290Claude Code juga menerapkan persetujuan dari `.claude/settings.local.json` yang tidak dilacak, tetapi menjalankan git untuk memeriksa apakah file dilacak, dan menjalankan pemeriksaan itu hanya di [folder yang dipercaya](/docs/id/permissions#project-allow-rules-and-workspace-trust). Di folder yang belum pernah Anda percayai, Claude Code menunggu dialog kepercayaan sebelum menerapkan persetujuan file, kecuali folder adalah rumah konfigurasi Anda sendiri: direktori rumah Anda, atau direktori yang `.claude` Anda telah tetapkan sebagai [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars). Sebelum v2.1.207, Claude Code menerapkan persetujuan dari `.claude/settings.local.json` yang tidak dilacak bahkan di folder yang belum pernah Anda percayai.

289 291 

290Entri `disabledMcpjsonServers` di file pengaturan apa pun masih menolak server.292Entri `disabledMcpjsonServers` di file pengaturan apa pun masih menolak server.

291 293 


293 Detail status server295 Detail status server

294</h4>296</h4>

295 297 

296Di `/mcp`, termasuk menu server di sana, dan di [manager `/plugin`](/docs/id/plugins/install), server HTTP atau SSE jarak jauh yang pernah Anda gunakan sebelumnya dapat menunjukkan status `cached` seperti `cached 2h ago · connects on first use · 5 tools`. Claude Code memuat daftar alat server dari cache penemuan-nya, disimpan dalam sesi sebelumnya, alih-alih terhubung pada startup, dan Claude Code menghubungkan server pertama kali Claude memanggil salah satu alat server. Alat tersedia dari pesan pertama Anda, jadi Anda tidak perlu melakukan apa pun. Cache penemuan dan status `cached`-nya memerlukan Claude Code v2.1.221 atau lebih baru.298Di `/mcp`, termasuk menu server di sana, dan di [manajer `/plugin`](/docs/id/plugins/install), server HTTP atau SSE jarak jauh yang pernah Anda gunakan sebelumnya dapat menunjukkan status `cached` seperti `cached 2h ago · connects on first use · 5 tools`. Claude Code memuat daftar alat server dari cache penemuan-nya, disimpan dalam sesi sebelumnya, alih-alih terhubung saat startup, dan Claude Code menghubungkan server pertama kali Claude memanggil salah satu alat server. Alat tersedia dari pesan pertama Anda, jadi Anda tidak perlu melakukan apa pun. Cache penemuan dan status `cached` memerlukan Claude Code v2.1.221 atau lebih baru.

297 299 

298Cache penemuan dimatikan secara default kecuali rollout bertahap telah mengaktifkannya untuk akun Anda. Atur [`MCP_DISCOVERY_CACHE=1`](/docs/id/env-vars) untuk mengaktifkannya, atau `0` untuk tetap mematikannya bahkan ketika rollout telah mengaktifkannya. Sebelum v2.1.238, cache diaktifkan secara default.300Cache penemuan dimatikan secara default kecuali peluncuran bertahap telah mengaktifkannya untuk akun Anda. Atur [`MCP_DISCOVERY_CACHE=1`](/docs/id/env-vars) untuk mengaktifkannya, atau `0` untuk tetap mematikannya bahkan ketika peluncuran telah mengaktifkannya. Sebelum v2.1.238, cache diaktifkan secara default.

299 301 

300Dua tindakan dalam menu server di `/mcp` juga mempengaruhi entri cache server itu:302Dua tindakan dalam menu server di `/mcp` juga mempengaruhi entri cache server itu:

301 303 


304 306 

305Setelah membuang entri, Claude Code mengambil daftar alat server dari server alih-alih dari cache.307Setelah membuang entri, Claude Code mengambil daftar alat server dari server alih-alih dari cache.

306 308 

307Ketika status server adalah `✘ Failed to connect`, `claude mcp list` menambahkan detail kegagalan ke baris status itu, dan `claude mcp get <name>` menunjukkannya pada baris `Issue:`: status HTTP atau kode kesalahan, ditambah teks kesalahan apa pun yang dikembalikan server. Tampilan detail server di `/mcp` mencakup teks yang dilaporkan server yang sama di baris `Issue:` nya. Claude Code menyunting teks seperti kredensial dari detail ini dan tidak pernah menyertakan URL server yang diperluas, yang dapat membawa rahasia. Claude Code tidak menambahkan detail ke status `✘ Connection error`, karena teks pengecualian yang akan dicetak di sana dapat menyematkan URL itu. Sebelum v2.1.219, kedua perintah menunjukkan hanya status kegagalan telanjang, tanpa kode status atau teks kesalahan server.309Ketika status server adalah `✘ Failed to connect`, `claude mcp list` menambahkan detail kegagalan ke baris status itu, dan `claude mcp get <name>` menunjukkannya pada baris `Issue:`: kode status HTTP atau kode kesalahan, ditambah teks kesalahan apa pun yang dikembalikan server. Tampilan detail server di `/mcp` menyertakan teks yang dilaporkan server yang sama di baris `Issue:` miliknya. Claude Code menyunting teks yang mirip kredensial dari detail ini dan tidak pernah menyertakan URL server yang diperluas, yang dapat membawa rahasia. Claude Code tidak menambahkan detail ke status `✘ Connection error`, karena teks pengecualian yang akan dicetak di sana dapat menyematkan URL itu. Sebelum v2.1.219, kedua perintah hanya menunjukkan status kegagalan telanjang, tanpa kode status atau teks kesalahan server.

308 310 

309Ketika Anda menyelesaikan autentikasi dari `/mcp` dan koneksi masih gagal dengan status HTTP atau kode kesalahan transport, Claude Code menambahkan kode itu dan asal URL yang dicobanya ke pesan yang dicetak setelah upaya. Asal adalah skema dan host, ditambah port ketika URL menamakannya, seperti `https://mcp.example.com`.311Ketika Anda menyelesaikan autentikasi dari `/mcp` dan koneksi masih gagal dengan status HTTP atau kode kesalahan transport, Claude Code menambahkan kode itu dan asal URL server ke pesan yang dicetak setelah upaya. Asal adalah skema dan host, ditambah port ketika URL menamakannya, seperti `https://mcp.example.com`.

310 312 

311* Jalur dan kueri tidak pernah muncul dalam pesan itu.313* Jalur dan kueri tidak pernah muncul dalam pesan itu.

312* Untuk server dalam [cakupan](#mcp-installation-scopes) lokal, proyek, atau pengguna atau dalam konfigurasi MCP yang dikelola, asal menunjukkan host seperti yang ditulis dalam konfigurasi itu, jadi referensi `${VAR}` di host tidak diperluas dalam pesan.314* Untuk server di cakupan lokal, proyek, atau pengguna [scope](#mcp-installation-scopes) atau dalam konfigurasi MCP yang dikelola, asal menunjukkan host seperti yang ditulis dalam konfigurasi itu, jadi referensi `${VAR}` di host tidak diperluas dalam pesan.

313* Untuk kegagalan tanpa status atau kode kesalahan, Claude Code menunjukkan teks kesalahan tanpa asal.315* Untuk kegagalan tanpa kode status atau kesalahan, Claude Code menunjukkan teks kesalahan tanpa asal.

314 316 

315Server jarak jauh yang konfigurasinya memiliki `url` kosong ditampilkan sebagai `not configured` di `/mcp`, di `claude mcp list`, dan di [manager `/plugin`](/docs/id/plugins/install), dan Claude Code tidak mencoba terhubung ke sana. Plugin dapat menyertakan entri placeholder seperti ini untuk konektor yang Anda konfigurasi nanti, jadi Claude Code tidak melaporkannya sebagai kesalahan atau masalah setup. Tampilan detail server di `/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.317Server jarak jauh yang konfigurasinya memiliki `url` kosong ditampilkan sebagai `not configured` di `/mcp`, di `claude mcp list`, dan di [manajer `/plugin`](/docs/id/plugins/install), dan Claude Code tidak mencoba terhubung ke sana. Plugin dapat menyertakan entri placeholder seperti ini untuk konektor yang Anda konfigurasikan nanti, jadi Claude Code tidak melaporkannya sebagai kesalahan atau masalah setup. Tampilan detail server di `/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.

316 318 

317<h4 id="configuration-warnings">319<h4 id="configuration-warnings">

318 Peringatan konfigurasi320 Peringatan konfigurasi


320 322 

321Claude Code memperingatkan tentang masalah konfigurasi di bawah. Setiap entri mengatakan apa yang Claude Code periksa dan cara menghapus peringatan:323Claude Code memperingatkan tentang masalah konfigurasi di bawah. Setiap entri mengatakan apa yang Claude Code periksa dan cara menghapus peringatan:

322 324 

323* **Whitespace tersembunyi**: Claude Code memperingatkan ketika nilai config MCP membawa whitespace terkemuka atau tertinggal yang tersembunyi, yang sering berasal dari menempel token dengan newline tertinggal. Claude Code memeriksa `command`, `url`, setiap entri `args`, dan nilai dan nama kunci di bawah `env` dan `headers`. Claude Code menunjukkan peringatan dalam output `claude mcp list` dan di `/mcp`, menamai bidang yang terpengaruh tanpa menggema nilainya, misalnya `Leading or trailing whitespace in: headers.Authorization`. Claude Code tidak memangkas whitespace dan menggunakan nilai persis seperti yang ditulis, jadi edit konfigurasi untuk menghapusnya.325* **Whitespace tersembunyi**: Claude Code memperingatkan ketika nilai konfigurasi MCP membawa whitespace terkemuka atau tertinggal yang tersembunyi, yang sering berasal dari menempel token dengan newline tertinggal. Claude Code memeriksa `command`, `url`, setiap entri `args`, dan nilai dan nama kunci di bawah `env` dan `headers`. Claude Code menunjukkan peringatan dalam output `claude mcp list` dan di `/mcp`, menamai bidang yang terpengaruh tanpa menggema nilainya, misalnya `Leading or trailing whitespace in: headers.Authorization`. Claude Code tidak memangkas whitespace dan menggunakan nilai persis seperti yang ditulis, jadi edit konfigurasi untuk menghapusnya.

324* **Nama yang sama di lebih dari satu cakupan**: jika Anda mendefinisikan nama server yang sama di lebih dari satu [cakupan](#mcp-installation-scopes) dengan endpoint berbeda, Claude Code memperingatkan tentang konflik dalam output `claude mcp list` dan di `/mcp`. Claude Code menyimpan sign-in OAuth per endpoint, jadi ketika Anda mengautentikasi definisi yang dimuat dalam satu proyek, Anda masih perlu sign in secara terpisah di proyek di mana definisi berbeda dimuat. Simpan endpoint yang Anda inginkan dan hapus yang lain dengan `claude mcp remove <name> --scope <scope>`. Dalam peringatan, Claude Code mengutip endpoint setiap cakupan seperti yang ditulis dalam konfigurasi Anda, dengan referensi [`${VAR}`](#environment-variable-expansion-in-mcp-json) tidak diperluas, jadi tidak pernah menunjukkan nilai yang diselesaikan seperti kunci API.326* **Nama yang sama di lebih dari satu cakupan**: jika Anda menentukan nama server yang sama di lebih dari satu [scope](#mcp-installation-scopes) dengan endpoint yang berbeda, Claude Code memperingatkan tentang konflik dalam output `claude mcp list` dan di `/mcp`. Claude Code menyimpan login OAuth per endpoint, jadi ketika Anda mengautentikasi definisi yang dimuat dalam satu proyek, Anda masih perlu masuk secara terpisah di proyek tempat definisi berbeda dimuat. Simpan endpoint yang Anda inginkan dan hapus yang lain dengan `claude mcp remove <name> --scope <scope>`. Dalam peringatan, Claude Code mengutip endpoint setiap cakupan seperti yang ditulis dalam konfigurasi Anda, dengan referensi [`${VAR}`](#environment-variable-expansion-in-mcp-json) yang tidak diperluas, jadi tidak pernah menunjukkan nilai yang diselesaikan seperti kunci API.

325* **Nama yang dicadangkan**: Claude Code mencadangkan nama server bawaan-nya, termasuk `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview`, dan `Claude Browser`. Jika konfigurasi Anda mendefinisikan server dengan nama yang dicadangkan, Claude Code melewatinya pada waktu muat dan menunjukkan peringatan meminta Anda untuk mengganti namanya. `claude mcp add` menolak nama yang dicadangkan dengan kesalahan. `Claude Preview` dan `Claude Browser` keduanya menamai server bawaan yang digunakan [pane preview aplikasi desktop Claude Code](/docs/id/desktop#preview-your-app). Sebelum v2.1.205, `Claude Browser` tidak dicadangkan, jadi server yang dikonfigurasi pengguna dapat mendaftar di bawah nama itu.327* **Nama yang dicadangkan**: Claude Code mencadangkan nama server bawaan-nya, termasuk `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 menunjukkan peringatan meminta Anda untuk mengganti namanya. `claude mcp add` menolak nama yang dicadangkan dengan kesalahan. `Claude Preview` dan `Claude Browser` keduanya menamai server bawaan yang digunakan [panel pratinjau aplikasi desktop Claude Code](/docs/id/desktop#preview-your-app). Sebelum v2.1.205, `Claude Browser` tidak dicadangkan, jadi server yang dikonfigurasi pengguna dapat mendaftar di bawah nama itu.

326* **Variabel lingkungan yang hilang**: jika referensi [`${VAR}`](#environment-variable-expansion-in-mcp-json) dalam konfigurasi server menamai variabel yang tidak diatur dan tidak memiliki `:-default`, Claude Code memperingatkan dalam output `claude mcp list` dan di `/mcp`, menamai variabel, dan masih memuat server dengan teks `${VAR}` tidak diperluas. Atur variabel atau tambahkan fallback `${VAR:-default}`. Dalam URL dan `headers` server jarak jauh, beberapa variabel kredensial [membaca sebagai kosong](#credential-variables-that-read-as-empty) sebagai gantinya, tanpa peringatan.328* **Variabel lingkungan yang hilang**: jika referensi [`${VAR}`](#environment-variable-expansion-in-mcp-json) dalam konfigurasi server menamai variabel yang tidak diatur dan tidak memiliki `:-default`, Claude Code memperingatkan dalam output `claude mcp list` dan di `/mcp`, menamai variabel, dan masih memuat server dengan teks `${VAR}` yang tidak diperluas. Atur variabel atau tambahkan fallback `${VAR:-default}`. Di `url` dan `headers` server jarak jauh, beberapa variabel kredensial [dibaca sebagai kosong](#credential-variables-that-read-as-empty) sebagai gantinya, tanpa peringatan.

327 329 

328<h4 id="tool-availability">330<h4 id="tool-availability">

329 Ketersediaan alat331 Ketersediaan alat


334Jika permintaan Anda memerlukan alat dari server yang masih terhubung di latar belakang, Claude menunggu server itu sebelum melanjutkan. Cara menunggu terjadi tergantung pada konfigurasi Anda:336Jika permintaan Anda memerlukan alat dari server yang masih terhubung di latar belakang, Claude menunggu server itu sebelum melanjutkan. Cara menunggu terjadi tergantung pada konfigurasi Anda:

335 337 

336* **Dengan [pencarian alat](#scale-with-mcp-tool-search), default**: menunggu terjadi di dalam panggilan `ToolSearch`.338* **Dengan [pencarian alat](#scale-with-mcp-tool-search), default**: menunggu terjadi di dalam panggilan `ToolSearch`.

337* **Tanpa pencarian alat**: Claude menggunakan alat `WaitForMcpServers` sebagai gantinya. Konfigurasi tanpa pencarian alat mencakup `ANTHROPIC_BASE_URL` khusus, `ENABLE_TOOL_SEARCH=false`, dan model lebih awal dari generasi Claude 4.5 di Agent Platform Google Cloud.339* **Tanpa pencarian alat**: Claude menggunakan alat `WaitForMcpServers` sebagai gantinya. Konfigurasi tanpa pencarian alat mencakup `ANTHROPIC_BASE_URL` khusus, `ENABLE_TOOL_SEARCH=false`, dan model lebih awal dari generasi Claude 4.5 di Platform Agen Google Cloud.

338* **Pada [deployment Microsoft Foundry yang dihosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude dimulai pada jalur pencarian alat daripada dengan `WaitForMcpServers`, karena Claude Code menemukan penolakan sisi server deployment hanya dari API. Setelah Claude Code beralih deployment itu ke [pemuatan awal](#scale-with-mcp-tool-search), alat dari server yang selesai terhubung menjadi tersedia pada permintaan Claude berikutnya.340* **Pada [penerapan Microsoft Foundry yang dihosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude dimulai pada jalur pencarian alat daripada dengan `WaitForMcpServers`, karena Claude Code menemukan penolakan sisi server penerapan hanya dari API. Setelah Claude Code beralih penerapan itu ke [pemuatan awal](#scale-with-mcp-tool-search), alat dari server yang selesai terhubung menjadi tersedia pada permintaan Claude berikutnya.

339 341 

340Dengan pencarian alat diaktifkan, ketika server selesai terhubung saat Claude bekerja, Claude Code mencantumkan nama alat server ke Claude pada permintaan berikutnya dalam giliran yang sama. Claude kemudian dapat mencari dan memanggil alat itu tanpa menunggu pesan Anda berikutnya.342Dengan pencarian alat diaktifkan, ketika server selesai terhubung saat Claude bekerja, Claude Code mencantumkan nama alat server ke Claude pada permintaannya berikutnya dalam giliran yang sama. Claude kemudian dapat mencari dan memanggil alat itu tanpa menunggu pesan Anda berikutnya.

341 343 

342<h3 id="disable-a-server-without-removing-it">344<h3 id="disable-a-server-without-removing-it">

343 Nonaktifkan server tanpa menghapusnya345 Nonaktifkan server tanpa menghapusnya


347 349 

348Ketika Anda mengalihkan server, Claude Code mencatat pilihan Anda per proyek di `~/.claude.json`, dalam salah satu dari dua daftar yang mencakup set server yang terpisah:350Ketika Anda mengalihkan server, Claude Code mencatat pilihan Anda per proyek di `~/.claude.json`, dalam salah satu dari dua daftar yang mencakup set server yang terpisah:

349 351 

350* `disabledMcpServers`: daftar opt-out untuk server yang dikonfigurasi pengguna, server plugin, server yang organisasi Anda [sediakan melalui pengaturan yang dikelola](/docs/id/managed-mcp#provide-servers-through-managed-settings), konektor claude.ai yang Claude Code [ambil sendiri](#how-connectors-reach-claude-code), dan server bawaan yang default ke on. Claude Code tidak terhubung ke server yang Anda cantumkan di sini. Ketika Anda menonaktifkan konektor claude.ai dengan toggle `/mcp` per-proyek yang dijelaskan di [Nonaktifkan konektor claude.ai](#disable-claude-ai-connectors), Claude Code menulisnya ke daftar ini di bawah nama tampilan-nya, misalnya `claude.ai Slack`.352* `disabledMcpServers`: daftar opt-out untuk server yang dikonfigurasi pengguna, server plugin, server yang organisasi Anda [sediakan melalui pengaturan yang dikelola](/docs/id/managed-mcp#provide-servers-through-managed-settings), konektor claude.ai yang Claude Code [ambil sendiri](#how-connectors-reach-claude-code), dan server bawaan yang default ke on. Claude Code tidak terhubung ke server yang Anda cantumkan di sini. Ketika Anda menonaktifkan konektor claude.ai dengan toggle `/mcp` per proyek yang dijelaskan di [Nonaktifkan konektor claude.ai](#disable-claude-ai-connectors), Claude Code menulisnya ke daftar ini di bawah nama tampilannya, misalnya `claude.ai Slack`.

351* `enabledMcpServers`: daftar opt-in untuk server bawaan yang default ke off, seperti `computer-use`. Claude Code terhubung ke server default-off hanya ketika Anda mencantumkannya di sini.353* `enabledMcpServers`: daftar opt-in untuk server bawaan yang default ke off, seperti `computer-use`. Claude Code terhubung ke server default-off hanya ketika Anda mencantumkannya di sini.

352 354 

353Claude Code berkonsultasi dengan tepat satu dari dua daftar untuk setiap server, jadi tidak ada daftar yang mengesampingkan yang lain. Jika Anda menambahkan server reguler ke `enabledMcpServers`, atau server bawaan default-off ke `disabledMcpServers`, Claude Code mengabaikan entri.355Claude Code berkonsultasi dengan tepat satu dari dua daftar untuk setiap server, jadi tidak ada daftar yang mengesampingkan yang lain. Jika Anda menambahkan server reguler ke `enabledMcpServers`, atau server bawaan default-off ke `disabledMcpServers`, Claude Code mengabaikan entri.

354 356 

355`disabledMcpServers` dan `enabledMcpServers` tidak terkait dengan [`enabledMcpjsonServers`](/docs/id/settings-reference#enabledmcpjsonservers) dan [`disabledMcpjsonServers`](/docs/id/settings-reference#disabledmcpjsonservers), yang mengontrol persetujuan server yang didefinisikan dalam file `.mcp.json` proyek.357`disabledMcpServers` dan `enabledMcpServers` tidak terkait dengan [`enabledMcpjsonServers`](/docs/id/settings-reference#enabledmcpjsonservers) dan [`disabledMcpjsonServers`](/docs/id/settings-reference#disabledmcpjsonservers), yang mengontrol persetujuan server yang ditentukan dalam file `.mcp.json` proyek.

356 358 

357<h3 id="mcp-client-runtimes">359<h3 id="mcp-client-runtimes">

358 Runtime klien MCP360 Runtime klien MCP


360 362 

361Claude Code terhubung ke server MCP melalui salah satu dari dua runtime klien. Runtime v1 dibangun di MCP TypeScript SDK 1.x. Runtime v2 adalah kode yang sama di [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), yang menambahkan revisi protokol MCP 2026-07-28. Sisa halaman ini berlaku untuk kedua runtime, kecuali bagian yang menamai runtime v2.363Claude Code terhubung ke server MCP melalui salah satu dari dua runtime klien. Runtime v1 dibangun di MCP TypeScript SDK 1.x. Runtime v2 adalah kode yang sama di [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), yang menambahkan revisi protokol MCP 2026-07-28. Sisa halaman ini berlaku untuk kedua runtime, kecuali bagian yang menamai runtime v2.

362 364 

363Claude Code memilih runtime setiap kali Anda memulainya dan menyimpannya sampai Anda keluar. Dalam sesi di mana ia [mengambil flag fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), ia menggunakan runtime v2 pada Claude Code v2.1.232 atau lebih baru.365Claude Code memilih runtime setiap kali Anda memulainya dan menyimpannya sampai Anda keluar. Dalam sesi tempat ia [mengambil flag fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), ia menggunakan runtime v2 pada Claude Code v2.1.232 atau lebih baru.

364 366 

365Dalam sesi di mana ia tidak mengambil flag fitur, Claude Code menggunakan runtime v2 secara default pada Claude Code v2.1.274 atau lebih baru:367Dalam sesi tempat ia tidak mengambil flag fitur, Claude Code menggunakan runtime v2 secara default pada Claude Code v2.1.274 atau lebih baru:

366 368 

367* Sesi di Amazon Bedrock, Claude Platform di AWS, Agent Platform Google Cloud, atau Microsoft Foundry, kecuali platform host yang menyematkan Claude Code menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/id/env-vars)369* Sesi di Amazon Bedrock, Claude Platform di AWS, Platform Agen Google Cloud, atau Microsoft Foundry, kecuali platform host yang menyematkan Claude Code menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/id/env-vars)

368* Sesi yang masuk melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway)370* Sesi yang masuk melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway)

369* Sesi di mana Anda mematikan telemetri atau pengambilan flag fitur, misalnya dengan `DISABLE_TELEMETRY`371* Sesi tempat Anda mematikan telemetri atau pengambilan flag fitur, misalnya dengan `DISABLE_TELEMETRY`

370 372 

371Pada v2, Claude Code juga:373Di v2, Claude Code juga:

372 374 

373* Menanyakan server HTTP apakah mereka mendukung revisi yang lebih baru, dan menggunakannya dengan yang mendukung. Ia juga menanyakan server konektor claude.ai dalam sesi di mana ia mengambil flag fitur. Untuk membuatnya menanyakan server stdio, atau server konektor dalam setiap sesi, atur [`MCP_PROTOCOL_NEGOTIATION`](/docs/id/env-vars) ke `auto`. Ia terhubung ke setiap server lain seperti v1 lakukan.375* Menanyakan server HTTP apakah mereka mendukung revisi yang lebih baru, dan menggunakannya dengan yang mendukungnya. Ia juga menanyakan server konektor claude.ai dalam sesi tempat ia mengambil flag fitur. Untuk membuatnya menanyakan server stdio, atau server konektor dalam setiap sesi, atur [`MCP_PROTOCOL_NEGOTIATION`](/docs/id/env-vars) ke `auto`. Ia terhubung ke setiap server lain seperti v1.

374* Menerima notifikasi `list_changed` dari server pada revisi yang lebih baru melalui [stream yang dipegang terbuka](#notification-streams-on-the-v2-runtime).376* Menerima notifikasi `list_changed` dari server pada revisi yang lebih baru melalui [aliran yang dipegang terbuka](#notification-streams-on-the-v2-runtime).

375* Tidak mendaftarkan server [channel](#push-messages-with-channels) yang terhubung pada revisi yang lebih baru, karena revisi itu tidak dapat membawa pesan channel.377* Tidak mendaftarkan server [channel](#push-messages-with-channels) yang terhubung pada revisi yang lebih baru, karena revisi itu tidak dapat membawa pesan channel.

376* Gagal [sign-in OAuth MCP](#authenticate-with-remote-mcp-servers) yang respons otorisasinya menamai penerbit yang tidak terduga.378* Gagal [login OAuth MCP](#authenticate-with-remote-mcp-servers) yang respons otorisasinya menamai penerbit yang tidak terduga.

377 379 

378Anthropic dapat menyimpan server tertentu pada protokol sebelumnya, atau off stream itu, dengan flag fitur Claude Code ambil.380Anthropic dapat menyimpan server tertentu pada protokol sebelumnya, atau di luar aliran itu, dengan flag fitur yang Claude Code ambil.

379 381 

380Untuk memilih runtime sendiri, atur [`MCP_SDK_GENERATION`](/docs/id/env-vars) ke `v1` atau `v2`. Untuk memutuskan apakah Claude Code menanyakan, atur [`MCP_PROTOCOL_NEGOTIATION`](/docs/id/env-vars) ke `auto` atau `legacy`.382Untuk memilih runtime sendiri, atur [`MCP_SDK_GENERATION`](/docs/id/env-vars) ke `v1` atau `v2`. Untuk memutuskan apakah Claude Code menanyakan, atur [`MCP_PROTOCOL_NEGOTIATION`](/docs/id/env-vars) ke `auto` atau `legacy`.

381 383 


388Jika permintaan penyegaran gagal, Claude Code menyimpan alat, prompt, dan sumber daya server yang sebelumnya ditemukan sampai penyegaran nanti berhasil. Sebelum v2.1.214, kesalahan sementara selama penyegaran mengganti alat, prompt, dan sumber daya server dengan daftar kosong.390Jika permintaan penyegaran gagal, Claude Code menyimpan alat, prompt, dan sumber daya server yang sebelumnya ditemukan sampai penyegaran nanti berhasil. Sebelum v2.1.214, kesalahan sementara selama penyegaran mengganti alat, prompt, dan sumber daya server dengan daftar kosong.

389 391 

390<h4 id="notification-streams-on-the-v2-runtime">392<h4 id="notification-streams-on-the-v2-runtime">

391 Stream notifikasi pada runtime v2393 Aliran notifikasi pada runtime v2

392</h4>394</h4>

393 395 

394Pada [runtime v2](#mcp-client-runtimes), Claude Code menerima notifikasi `list_changed` dari server pada revisi protokol yang lebih baru melalui stream yang dipegang terbuka. Ketika stream ditutup, Claude Code membukanya kembali, dengan dua batas:396Pada [runtime v2](#mcp-client-runtimes), Claude Code menerima notifikasi `list_changed` dari server pada revisi protokol yang lebih baru melalui aliran yang dipegang terbuka. Ketika aliran ditutup, Claude Code membukanya kembali, dengan dua batas:

395 397 

396* **Stream ditutup lagi dalam 10 detik**: Claude Code membukanya kembali hingga tiga kali, kemudian berhenti untuk koneksi itu.398* **Aliran ditutup lagi dalam 10 detik**: Claude Code membukanya kembali hingga tiga kali, kemudian berhenti untuk koneksi itu.

397* **Stream tetap terbuka lebih lama dari 10 detik, kemudian ditutup**, seperti stream ke host serverless biasanya lakukan: setelah lima pembukaan kembali dalam satu jam, Claude Code menunggu sekitar enam jam sebelum yang berikutnya.399* **Aliran tetap terbuka lebih lama dari 10 detik, kemudian ditutup**, seperti aliran ke host serverless yang biasa dilakukan: setelah lima pembukaan kembali dalam satu jam, Claude Code menunggu sekitar enam jam sebelum yang berikutnya.

398 400 

399Sampai stream dibuka kembali, Anda menyimpan alat, prompt, dan sumber daya server yang terakhir diambil. Untuk mengambil perubahannya lebih cepat, hubungkan kembali server dari `/mcp`.401Sampai aliran dibuka kembali, Anda menyimpan alat, prompt, dan sumber daya server yang terakhir diambil. Untuk mengambil perubahannya lebih cepat, hubungkan kembali server dari `/mcp`.

400 402 

401<h3 id="automatic-reconnection">403<h3 id="automatic-reconnection">

402 Koneksi ulang otomatis404 Penghubungan kembali otomatis

403</h3>405</h3>

404 406 

405Claude Code menghubungkan kembali server jarak jauh yang putus di tengah sesi dan mencoba ulang koneksi pertama server HTTP atau SSE setelah kesalahan sementara. Server stdio adalah proses lokal, dan Claude Code tidak menghubungkan kembali mereka secara otomatis.407Claude Code menghubungkan kembali server jarak jauh yang putus di tengah sesi dan mencoba ulang koneksi pertama server HTTP atau SSE setelah kesalahan sementara. Server stdio adalah proses lokal, dan Claude Code tidak menghubungkan kembali mereka secara otomatis.


408 Putus di tengah sesi dari server jarak jauh410 Putus di tengah sesi dari server jarak jauh

409</h4>411</h4>

410 412 

411Claude Code menghubungkan kembali server jarak jauh yang putus dengan backoff eksponensial: hingga lima upaya, dimulai dengan penundaan satu detik dan menggandakannya setiap kali. Apa yang Anda lihat tergantung pada cara Anda menjalankan Claude Code:413Claude Code menghubungkan kembali server yang putus dengan backoff eksponensial: hingga lima upaya, dimulai dengan penundaan satu detik dan menggandakannya setiap kali. Apa yang Anda lihat tergantung pada cara Anda menjalankan Claude Code:

412 414 

413* **Dalam sesi interaktif**: `/mcp` menunjukkan server sebagai tertunda saat Claude Code menghubungkan kembali. Setelah lima upaya gagal, Claude Code menandai server sebagai gagal, atau sebagai memerlukan autentikasi ketika server perlu diotorisasi lagi. Anda dapat mencoba ulang secara manual dari `/mcp`.415* **Dalam sesi interaktif**: `/mcp` menunjukkan server sebagai tertunda saat Claude Code menghubungkan kembali. Setelah lima upaya gagal, Claude Code menandai server sebagai gagal, atau sebagai memerlukan autentikasi ketika server perlu diotorisasi lagi. Ketika menandainya sebagai gagal, Anda melihat notifikasi `MCP server "<name>" disconnected · open /mcp to reconnect`. Anda dapat mencoba ulang secara manual dari `/mcp`.

414* **Dalam [`claude -p`](/docs/id/headless) runs dan sesi [Agent SDK](/docs/id/agent-sdk/overview)**: Claude Code menghubungkan kembali pada jadwal yang sama, tanpa panel `/mcp` untuk menunjukkan upaya.416* **Dalam menjalankan [`claude -p`](/docs/id/headless) dan sesi [Agent SDK](/docs/id/agent-sdk/overview)**: Claude Code menghubungkan kembali pada jadwal yang sama, tanpa panel `/mcp` untuk menunjukkan upaya.

415 417 

416<h4 id="failed-first-connections">418<h4 id="failed-first-connections">

417 Koneksi pertama yang gagal419 Koneksi pertama yang gagal

418</h4>420</h4>

419 421 

420Ketika koneksi pertama server HTTP atau SSE gagal dengan kesalahan sementara, seperti respons 5xx, koneksi ditolak, atau timeout, Claude Code mencoba ulang hingga tiga kali. Jika koneksi masih gagal, Claude Code menandai server sebagai gagal. Claude Code mencoba ulang dengan cara ini pada startup dan ketika server ditambahkan di tengah sesi. Itu termasuk server yang Claude Code tambahkan ke sesi [cloud](/docs/id/claude-code-on-the-web) dari konfigurasinya dan server yang Anda tambahkan dengan [`setMcpServers()`](/docs/id/agent-sdk/typescript) Agent SDK.422Ketika koneksi pertama server HTTP atau SSE gagal dengan kesalahan sementara, seperti respons 5xx, koneksi ditolak, atau timeout, Claude Code mencoba ulang hingga tiga kali. Jika koneksi masih gagal, Claude Code menandai server sebagai gagal. Claude Code mencoba ulang dengan cara ini saat startup dan ketika server ditambahkan di tengah sesi. Itu termasuk server yang Claude Code tambahkan ke [sesi cloud](/docs/id/claude-code-on-the-web) dari konfigurasinya dan server yang Anda tambahkan dengan [`setMcpServers()`](/docs/id/agent-sdk/typescript) Agent SDK.

421 423 

422Claude Code tidak mencoba ulang dalam kasus ini:424Claude Code tidak mencoba ulang dalam kasus ini:

423 425 

424* Koneksi pertama server WebSocket426* Koneksi pertama server WebSocket

425* Kesalahan autentikasi atau not-found, karena memerlukan perubahan konfigurasi untuk diselesaikan. Ketika [`headersHelper`](#use-dynamic-headers-for-custom-authentication) adalah satu-satunya sumber header `Authorization` server, Claude Code mencoba ulang kesalahan autentikasi bagaimanapun, karena menjalankan kembali helper pada setiap upaya dan dapat mengambil kredensial segar427* Kesalahan autentikasi atau tidak ditemukan, karena memerlukan perubahan konfigurasi untuk diselesaikan. Ketika [`headersHelper`](#use-dynamic-headers-for-custom-authentication) adalah satu-satunya sumber header `Authorization` server, Claude Code mencoba ulang kesalahan autentikasi bagaimanapun, karena menjalankan kembali helper pada setiap upaya dan dapat mengambil kredensial segar

426 428 

427<h4 id="failed-discovery-requests">429<h4 id="failed-discovery-requests">

428 Permintaan penemuan yang gagal430 Permintaan penemuan yang gagal

429</h4>431</h4>

430 432 

431Setelah server terhubung, Claude Code mengirimnya permintaan penemuan kemampuan seperti `tools/list`, `prompts/list`, dan `resources/list`. Claude Code mencoba ulang permintaan itu hingga tiga kali dengan backoff pendek setelah kesalahan jaringan atau server sementara. Tidak mencoba ulang kesalahan autentikasi, respons 4xx, atau timeout permintaan.433Setelah server terhubung, Claude Code mengirimnya permintaan penemuan kemampuan seperti `tools/list`, `prompts/list`, dan `resources/list`. Claude Code mencoba ulang permintaan itu hingga tiga kali dengan backoff pendek setelah kesalahan jaringan atau server sementara. Ia tidak mencoba ulang kesalahan autentikasi, respons 4xx, atau timeout permintaan.

432 434 

433<h4 id="how-claude-learns-that-a-server-failed">435<h4 id="how-claude-learns-that-a-server-failed">

434 Bagaimana Claude belajar bahwa server gagal436 Bagaimana Claude mengetahui bahwa server gagal

435</h4>437</h4>

436 438 

437Apakah Claude Code memberi tahu Claude tentang server yang dikonfigurasi yang gagal terhubung tergantung pada [pencarian alat](#scale-with-mcp-tool-search), yang diaktifkan secara default:439Apakah Claude Code memberi tahu Claude tentang server yang dikonfigurasi yang gagal terhubung tergantung pada [pencarian alat](#scale-with-mcp-tool-search), yang diaktifkan secara default:


443 Dorong pesan dengan channel445 Dorong pesan dengan channel

444</h3>446</h3>

445 447 

446Server MCP juga dapat mendorong pesan langsung ke sesi Anda sehingga Claude dapat bereaksi terhadap acara eksternal seperti hasil CI, peringatan pemantauan, atau pesan chat. Untuk mengaktifkan ini, server Anda mendeklarasikan kemampuan `claude/channel` dan Anda memilihnya dengan flag `--channels` pada startup. Lihat [Channels](/docs/id/channels) untuk menggunakan channel yang didukung secara resmi, atau [Channels reference](/docs/id/channels-reference) untuk membangun milik Anda sendiri.448Server MCP juga dapat mendorong pesan langsung ke sesi Anda sehingga Claude dapat bereaksi terhadap acara eksternal seperti hasil CI, peringatan pemantauan, atau pesan obrolan. Untuk mengaktifkan ini, server Anda mendeklarasikan kemampuan `claude/channel` dan Anda memilihnya dengan flag `--channels` saat startup. Lihat [Channels](/docs/id/channels) untuk menggunakan channel yang didukung secara resmi, atau [Referensi Channels](/docs/id/channels-reference) untuk membangun milik Anda sendiri.

447 449 

448Pada [runtime v2](#mcp-client-runtimes), jika Anda menetapkan [`MCP_PROTOCOL_NEGOTIATION`](/docs/id/env-vars) ke `auto` dan server channel menegosiasikan revisi protokol MCP 2026-07-28, tidak dapat mengirimkan pesan channel, jadi Claude Code tidak mendaftarkannya sebagai channel. Membiarkan variabel tidak diatur, atau menetapkannya ke `legacy`, menyimpan server stdio pada handshake sebelumnya.450Pada [runtime v2](#mcp-client-runtimes), jika Anda menetapkan [`MCP_PROTOCOL_NEGOTIATION`](/docs/id/env-vars) ke `auto` dan server channel menegosiasikan revisi protokol MCP 2026-07-28, ia tidak dapat mengirimkan pesan channel, jadi Claude Code tidak mendaftarkannya sebagai channel. Membiarkan variabel tidak diatur, atau menetapkannya ke `legacy`, menyimpan server stdio pada handshake sebelumnya.

449 451 

450<Tip>452<Tip>

451 Tips:453 Tips:

452 454 

453 * Gunakan flag `-s` atau `--scope` untuk menentukan di mana konfigurasi disimpan:455 * Gunakan flag `-s` atau `--scope` untuk menentukan tempat konfigurasi disimpan:

454 * `local` (default): tersedia hanya untuk Anda di proyek saat ini456 * `local` (default): tersedia hanya untuk Anda di proyek saat ini

455 * `project`: dibagikan dengan semua orang di proyek melalui file `.mcp.json`457 * `project`: dibagikan dengan semua orang di proyek melalui file `.mcp.json`

456 * `user`: tersedia untuk Anda di semua proyek458 * `user`: tersedia untuk Anda di semua proyek

457 * Atur variabel lingkungan dengan flag `-e` atau `--env` (misalnya, `-e KEY=value`)459 * Atur variabel lingkungan dengan flag `-e` atau `--env` (misalnya, `-e KEY=value`)

458 * Flag `--transport` dan `--header` juga menerima bentuk pendek `-t` dan `-H`460 * Flag `--transport` dan `--header` juga menerima bentuk pendek `-t` dan `-H`

459 * Konfigurasi timeout startup server MCP menggunakan variabel lingkungan `MCP_TIMEOUT` (misalnya, `MCP_TIMEOUT=10000 claude` menetapkan timeout 10 detik)461 * Konfigurasikan timeout startup server MCP menggunakan variabel lingkungan `MCP_TIMEOUT` (misalnya, `MCP_TIMEOUT=10000 claude` menetapkan timeout 10 detik)

460 * Atur timeout eksekusi alat per-server dengan menambahkan bidang `timeout` dalam milidetik ke entri `.mcp.json` server itu, misalnya `"timeout": 600000` untuk sepuluh menit. Ini mengesampingkan variabel lingkungan `MCP_TOOL_TIMEOUT` hanya untuk server itu462 * Atur timeout eksekusi alat per server dengan menambahkan bidang `timeout` dalam milidetik ke entri `.mcp.json` server itu, misalnya `"timeout": 600000` untuk sepuluh menit. Ini mengesampingkan variabel lingkungan `MCP_TOOL_TIMEOUT` hanya untuk server itu

461 * Claude Code menampilkan peringatan ketika output alat MCP melebihi 10.000 token dan membatasi output ke 25.000 token secara default. Untuk menaikkan 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)463 * Claude Code menampilkan peringatan ketika output alat MCP melebihi 10.000 token dan membatasi output ke 25.000 token secara default. Untuk menaikkan 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)

462 * Gunakan `/mcp` untuk mengautentikasi dengan server jarak jauh yang memerlukan autentikasi OAuth 2.0464 * Gunakan `/mcp` untuk mengautentikasi dengan server jarak jauh yang memerlukan autentikasi OAuth 2.0

463</Tip>465</Tip>

464 466 

465`timeout` per-server adalah batas jam dinding keras per panggilan alat, dan notifikasi kemajuan dari server tidak memperpanjangnya. Nilai di bawah 1000 diabaikan dan jatuh melalui `MCP_TOOL_TIMEOUT`, atau default-nya sekitar 28 jam ketika variabel itu tidak diatur. Untuk server HTTP, SSE, atau [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) ada juga timer per-permintaan kedua yang mencakup setiap permintaan melalui byte respons pertama server. Claude Code menetapkan timer itu ke yang terbesar dari tiga nilai: 60 detik, timeout alat yang berlaku untuk server, dan `MCP_TIMEOUT`. Default 28 jam dari `MCP_TOOL_TIMEOUT` yang tidak diatur tidak memasuki perbandingan itu, dan nilai di bawah 60 detik tidak mempersingkat timer. Server stdio dan WebSocket tidak memiliki timer per-permintaan.467`timeout` per server adalah batas dinding jam keras per panggilan alat, dan notifikasi kemajuan dari server tidak memperpanjangnya. Nilai di bawah 1000 diabaikan dan jatuh melalui `MCP_TOOL_TIMEOUT`, atau default-nya sekitar 28 jam ketika variabel itu tidak diatur. Untuk server HTTP, SSE, atau [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) ada juga timer per permintaan kedua yang mencakup setiap permintaan melalui byte respons pertama server. Claude Code menetapkan timer itu ke yang terbesar dari tiga nilai: 60 detik, timeout alat yang berlaku untuk server, dan `MCP_TIMEOUT`. Default 28 jam dari `MCP_TOOL_TIMEOUT` yang tidak diatur tidak memasuki perbandingan itu, dan nilai di bawah 60 detik tidak mempersingkat timer. Server stdio dan WebSocket tidak memiliki timer per permintaan.

466 468 

467`timeout` per-server setidaknya 1000 juga bertindak sebagai lantai pada timeout idle yang dijelaskan di bawah: Claude Code tidak pernah menghentikan panggilan alat server itu karena kemalasan lebih cepat dari `timeout` per-server. Memerlukan Claude Code v2.1.203 atau lebih baru.469`timeout` per server setidaknya 1000 juga bertindak sebagai lantai pada timeout idle yang dijelaskan di bawah: Claude Code tidak pernah menghentikan panggilan alat server itu karena kemalasan lebih cepat dari `timeout` per server. Memerlukan Claude Code v2.1.203 atau lebih baru.

468 470 

469Panggilan alat ke server MCP yang mengirim tidak ada respons dan tidak ada notifikasi kemajuan untuk jendela idle membatalkan dengan kesalahan alih-alih menunggu batas jam dinding. Ini berlaku untuk setiap jenis server kecuali server IDE dan server in-process SDK. Jendela idle default ke lima menit untuk server HTTP, SSE, WebSocket, dan [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.471Panggilan alat ke server MCP yang tidak mengirim respons dan tidak ada notifikasi kemajuan untuk jendela idle membatalkan dengan kesalahan alih-alih menunggu batas dinding jam. Timeout idle berlaku untuk setiap jenis server kecuali server IDE dan server in-process SDK. Jendela idle default ke lima menit untuk server HTTP, SSE, WebSocket, dan [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.

470 472 

471Atur variabel lingkungan [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/id/env-vars) dalam milidetik untuk mengubah jendela idle, atau atur ke `0` untuk menonaktifkan pemeriksaan.473Atur variabel lingkungan [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/id/env-vars) dalam milidetik untuk mengubah jendela idle, atau atur ke `0` untuk menonaktifkan pemeriksaan.

472 474 

473Timeout ini membatasi berapa lama panggilan dapat berjalan, tidak selalu berapa lama itu memblokir sesi: panggilan percakapan utama yang berjalan melewati dua menit bergerak ke tugas latar belakang terlebih dahulu. Lihat [Backgrounding otomatis panggilan alat panjang](#automatic-backgrounding-of-long-tool-calls).475Timeout ini membatasi berapa lama panggilan dapat berjalan, tidak selalu berapa lama ia memblokir sesi: panggilan percakapan utama yang berjalan melewati dua menit bergerak ke tugas latar belakang terlebih dahulu. Lihat [Backgrounding otomatis dari panggilan alat yang panjang](#automatic-backgrounding-of-long-tool-calls).

474 476 

475<h3 id="automatic-backgrounding-of-long-tool-calls">477<h3 id="automatic-backgrounding-of-long-tool-calls">

476 Backgrounding otomatis panggilan alat panjang478 Backgrounding otomatis dari panggilan alat yang panjang

477</h3>479</h3>

478 480 

479Panggilan alat MCP dalam percakapan utama yang masih berjalan setelah dua menit bergerak ke tugas latar belakang alih-alih memblokir sesi. Claude menerima ID tugas segera dan terus bekerja, dan hasilnya tiba sebagai notifikasi tugas ketika panggilan diselesaikan. Backgrounding otomatis memerlukan Claude Code v2.1.212 atau lebih baru.481Panggilan alat MCP dalam percakapan utama yang masih berjalan setelah dua menit bergerak ke tugas latar belakang alih-alih memblokir sesi. Claude menerima ID tugas segera dan terus bekerja, dan hasilnya tiba sebagai notifikasi tugas ketika panggilan diselesaikan. Backgrounding otomatis memerlukan Claude Code v2.1.212 atau lebih baru.

480 482 

481Tugas muncul di [`/tasks`](/docs/id/commands#all-commands), di mana Anda juga dapat menghentikannya, dan tidak bertahan keluar dari sesi. Batas per-panggilan masih berlaku saat panggilan berjalan di latar belakang: batas jam dinding yang ditetapkan oleh `timeout` per-server atau [`MCP_TOOL_TIMEOUT`](/docs/id/env-vars), dan timeout idle yang ditetapkan oleh [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/id/env-vars).483Tugas muncul di [`/tasks`](/docs/id/commands#all-commands), tempat Anda juga dapat menghentikannya, dan tidak bertahan keluar dari sesi. Batas per panggilan masih berlaku saat panggilan berjalan di latar belakang: batas dinding jam yang ditetapkan oleh `timeout` per server atau [`MCP_TOOL_TIMEOUT`](/docs/id/env-vars), dan timeout idle yang ditetapkan oleh [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/id/env-vars).

482 484 

483Atur variabel lingkungan [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](/docs/id/env-vars) dalam milidetik untuk mengubah ambang, atau atur ke `0` untuk menonaktifkan backgrounding otomatis. Menetapkan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1` juga menonaktifkannya, bersama dengan semua fitur tugas latar belakang lainnya.485Atur variabel lingkungan [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](/docs/id/env-vars) dalam milidetik untuk mengubah ambang, atau atur ke `0` untuk mematikan backgrounding otomatis. Menetapkan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1` juga mematikannya, bersama dengan semua fitur tugas latar belakang lainnya.

484 486 

485Beberapa panggilan tidak pernah bergerak ke latar belakang:487Beberapa panggilan tidak pernah bergerak ke latar belakang:

486 488 

487* Panggilan dari [subagents](/docs/id/sub-agents); Claude Code hanya melatar belakangkan panggilan percakapan utama489* Panggilan dari [subagents](/docs/id/sub-agents); Claude Code hanya melatar belakangkan panggilan percakapan utama

488* Panggilan ke server IDE490* Panggilan ke server IDE

489* Panggilan dalam [mode non-interaktif](/docs/id/headless), kecuali `CLAUDE_AUTO_BACKGROUND_TASKS` diatur ke `1`, karena run satu kali dapat berakhir sebelum hasil tiba491* Panggilan dalam [mode non-interaktif](/docs/id/headless), kecuali `CLAUDE_AUTO_BACKGROUND_TASKS` diatur ke `1`, karena satu kali jalan dapat berakhir sebelum hasil tiba

490 492 

491Panggilan menunggu dialog [elicitation](#respond-to-mcp-elicitation-requests) terbuka tidak dilatar belakangkan saat dialog terbuka; server diblokir pada input Anda, bukan lambat, jadi Claude Code menunda perpindahan sampai dialog ditutup.493Panggilan menunggu dialog [elicitation](#respond-to-mcp-elicitation-requests) terbuka tidak dilatar belakangkan saat dialog terbuka; server diblokir pada input Anda, bukan lambat, jadi Claude Code menunda perpindahan sampai dialog ditutup.

492 494 


498 500 

499**Cara kerja server MCP plugin**:501**Cara kerja server MCP plugin**:

500 502 

501* Plugin mendefinisikan server MCP di `.mcp.json` di akar plugin atau inline di `plugin.json`503* Plugin menentukan server MCP di `.mcp.json` di akar plugin atau inline di `plugin.json`

502* Ketika Anda mengaktifkan plugin, Claude Code memulai server MCP-nya secara otomatis504* Ketika Anda mengaktifkan plugin, Claude Code memulai server MCP-nya secara otomatis

503* Claude Code menawarkan alat MCP plugin bersama alat MCP yang dikonfigurasi secara manual505* Claude Code menawarkan alat MCP plugin bersama alat MCP yang dikonfigurasi secara manual

504* Anda menambah dan menghapus server plugin dengan memasang atau mencopot plugin, bukan dengan perintah `/mcp`. Anda masih dapat [mengalihkan server plugin yang dipasang off](#disable-a-server-without-removing-it) di `/mcp`, yang menghentikan Claude Code dari terhubung ke sana tanpa menghapus plugin506* Anda menambah dan menghapus server plugin dengan memasang atau mencopot plugin, bukan dengan perintah `/mcp`. Anda masih dapat [mengalihkan server plugin yang dipasang ke off](#disable-a-server-without-removing-it) di `/mcp`, yang menghentikan Claude Code dari terhubung ke sana tanpa menghapus plugin

505 507 

506**Contoh konfigurasi MCP plugin**:508**Contoh konfigurasi MCP plugin**:

507 509 


537 539 

538**Fitur MCP plugin**:540**Fitur MCP plugin**:

539 541 

540* **Siklus hidup otomatis**: server terhubung dan terputus pada titik-titik ini:542* **Siklus hidup otomatis**: server terhubung dan terputus pada titik ini:

541 * Pada startup sesi, Claude Code menghubungkan server untuk plugin yang diaktifkan secara otomatis. Di `/mcp`, server plugin jarak jauh (HTTP atau SSE) yang pernah Anda gunakan sebelumnya dapat menunjukkan status [`cached`](#server-status-detail) sebagai gantinya; Claude Code menghubungkannya ketika Claude pertama kali memanggil salah satu alatnya543 * Saat startup sesi, Claude Code menghubungkan server untuk plugin yang diaktifkan secara otomatis. Di `/mcp`, server plugin jarak jauh (HTTP atau SSE) yang pernah Anda gunakan sebelumnya dapat menunjukkan status [`cached`](#server-status-detail) sebagai gantinya; Claude Code menghubungkannya ketika Claude pertama kali memanggil salah satu alatnya

542 * Jika Anda mengaktifkan atau menonaktifkan plugin selama sesi, Claude Code menghubungkan atau memutuskan server MCP-nya ketika perubahan diterapkan. [Terapkan perubahan plugin tanpa memulai ulang](/docs/id/plugins/cli-reference#reload-plugins) menjelaskan kapan itu terjadi. Dalam sesi tanpa terminal interaktif, `/reload-plugins` tidak menghubungkan atau memutuskan server MCP plugin; perubahan itu berlaku dalam sesi Anda berikutnya544 * Jika Anda mengaktifkan atau menonaktifkan plugin selama sesi, Claude Code menghubungkan atau memutuskan server MCP-nya ketika perubahan diterapkan. [Terapkan perubahan plugin tanpa memulai ulang](/docs/id/plugins/cli-reference#reload-plugins) menjelaskan kapan itu. Dalam sesi tanpa terminal interaktif, `/reload-plugins` tidak menghubungkan atau memutuskan server MCP plugin; perubahan itu berlaku dalam sesi Anda berikutnya

543 * Ketika Anda memuat ulang, Claude Code menyimpan koneksi langsung dari server plugin yang konfigurasinya tidak berubah, dan melakukan hal yang sama ketika Anda [mengganti daftar server MCP sesi](/docs/id/agent-sdk/typescript#mcpsetserversresult) dari Agent SDK tanpa menamakannya545 * Ketika Anda memuat ulang, Claude Code menyimpan koneksi langsung server plugin yang konfigurasinya tidak berubah, dan melakukan hal yang sama ketika Anda [mengganti daftar server MCP sesi](/docs/id/agent-sdk/typescript#mcpsetserversresult) dari Agent SDK tanpa menamakannya

544 * Ketika Anda [memindahkan sesi dengan `/cd`](/docs/id/permissions#move-the-session-to-another-directory) pada v2.1.246 atau lebih baru, Claude Code menghubungkan server plugin yang pengaturan direktori baru aktifkan dan memutuskan server plugin yang tidak lagi diaktifkan, jadi Anda tidak perlu menjalankan `/reload-plugins` setelah perpindahan546 * Ketika Anda [memindahkan sesi dengan `/cd`](/docs/id/permissions#move-the-session-to-another-directory) pada v2.1.246 atau lebih baru, Claude Code menghubungkan server plugin yang pengaturan direktori baru aktifkan dan memutuskan server plugin yang tidak lagi diaktifkan, jadi Anda tidak perlu menjalankan `/reload-plugins` setelah perpindahan

545 * Dalam [sesi cloud](/docs/id/claude-code-on-the-web), panggilan MCP ke server plugin yang belum terhubung, seperti tepat setelah sesi idle bangun, memulai server sesuai permintaan dan menunggu untuk terhubung547 * Dalam [sesi cloud](/docs/id/claude-code-on-the-web), panggilan MCP ke server plugin yang belum terhubung, seperti tepat setelah sesi idle bangun, memulai server sesuai permintaan dan menunggu untuk terhubung

546* **Placeholder jalur**: `${CLAUDE_PLUGIN_ROOT}` diselesaikan ke direktori instalasi plugin, `${CLAUDE_PLUGIN_DATA}` ke direktori [status persisten](/docs/id/plugins/components#path-variables-and-persistent-data)-nya, dan `${CLAUDE_PROJECT_DIR}` ke akar proyek yang stabil. Substitusi berlaku untuk:548* **Placeholder jalur**: `${CLAUDE_PLUGIN_ROOT}` diselesaikan ke direktori instalasi plugin, `${CLAUDE_PLUGIN_DATA}` ke direktori [status persisten](/docs/id/plugins/components#path-variables-and-persistent-data)-nya, dan `${CLAUDE_PROJECT_DIR}` ke akar proyek yang stabil. Substitusi berlaku untuk:

547 * server `stdio`: `command`, `args`, `env`549 * server `stdio`: `command`, `args`, `env`

548 * server `http`, `sse`, dan `ws`: `url`, `headers`, dan `headersHelper`. Sebelum v2.1.195, `headersHelper` meneruskan placeholder sebagai string literal550 * server `http`, `sse`, dan `ws`: `url`, `headers`, dan `headersHelper`. Sebelum v2.1.195, `headersHelper` melewatkan placeholder sebagai string literal

549* **Akses lingkungan pengguna**: akses ke variabel lingkungan yang sama seperti server yang dikonfigurasi secara manual551* **Akses lingkungan pengguna**: akses ke variabel lingkungan yang sama seperti server yang dikonfigurasi secara manual

550* **Jenis transport berganda**: dukungan untuk transport stdio, SSE, HTTP, dan WebSocket, meskipun dukungan transport dapat bervariasi menurut server552* **Jenis transport berganda**: dukungan untuk transport stdio, SSE, HTTP, dan WebSocket, meskipun dukungan transport mungkin bervariasi menurut server

551 553 

552Server plugin muncul di `/mcp` dengan indikator menunjukkan mereka berasal dari plugin.554Server plugin muncul di `/mcp` dengan indikator menunjukkan mereka berasal dari plugin.

553 555 

554**Nama alat MCP plugin**:556**Nama alat MCP plugin**:

555 557 

556Alat dari server MCP yang digabungkan plugin mencakup nama plugin dan kunci server dalam nama yang dapat dipanggil mereka. Bentuk lengkapnya adalah `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, di mana karakter apa pun di luar `A-Z`, `a-z`, `0-9`, `_`, dan `-` diganti dengan `_`. Untuk server `database-tools` yang digabungkan dalam plugin bernama `my-plugin`, alat `query` dapat dipanggil sebagai:558Alat dari server MCP yang digabungkan plugin menyertakan nama plugin dan kunci server dalam nama yang dapat dipanggil mereka. Bentuk lengkapnya adalah `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, di mana karakter apa pun di luar `A-Z`, `a-z`, `0-9`, `_`, dan `-` diganti dengan `_`. Untuk server `database-tools` yang digabungkan dalam plugin bernama `my-plugin`, alat `query` dapat dipanggil sebagai:

557 559 

558```560```

559mcp__plugin_my-plugin_database-tools__query561mcp__plugin_my-plugin_database-tools__query

560```562```

561 563 

562Gunakan nama lengkap ini saat mereferensikan alat dalam [aturan izin](/docs/id/permissions), daftar `allowed-tools` skill, bidang `tools` [subagent](/docs/id/sub-agents#available-tools), atau [pencocokan hook](/docs/id/hooks#match-mcp-tools). Pencocokan hook yang ditulis terhadap kunci server telanjang, seperti `mcp__database-tools__.*`, tidak pernah menyala untuk server yang digabungkan plugin.564Gunakan nama lengkap ini saat mereferensikan alat dalam [aturan izin](/docs/id/permissions), daftar `allowed-tools` skill, [bidang `tools` subagent](/docs/id/sub-agents#available-tools), atau [pencocokan hook](/docs/id/hooks#match-mcp-tools). Pencocokan hook yang ditulis terhadap kunci server telanjang, seperti `mcp__database-tools__.*`, tidak pernah menyala untuk server yang digabungkan plugin.

563 565 

564Server itu sendiri mendaftar di bawah nama yang dibatasi `plugin:<plugin-name>:<server-name>`, seperti `plugin:my-plugin:database-tools`. Gunakan nama itu di mana nama server yang dikonfigurasi diharapkan, seperti [`server` field hook `mcp_tool`](/docs/id/hooks#mcp-tool-hook-fields).566Server itu sendiri mendaftar di bawah nama yang dibatasi `plugin:<plugin-name>:<server-name>`, seperti `plugin:my-plugin:database-tools`. Gunakan nama itu tempat nama server yang dikonfigurasi diharapkan, seperti [bidang `server` hook `mcp_tool`](/docs/id/hooks#mcp-tool-hook-fields).

565 567 

566Lihat [referensi komponen plugin](/docs/id/plugins/components#mcp-servers) untuk detail tentang menggabungkan server MCP dengan plugin.568Lihat [referensi komponen plugin](/docs/id/plugins/components#mcp-servers) untuk detail tentang penggabungan server MCP dengan plugin.

567 569 

568<h2 id="mcp-installation-scopes">570<h2 id="mcp-installation-scopes">

569 Cakupan instalasi MCP571 Cakupan instalasi MCP


6694. [Server yang disediakan plugin](/docs/id/plugins/components#mcp-servers)6714. [Server yang disediakan plugin](/docs/id/plugins/components#mcp-servers)

6705. [Konektor claude.ai](#use-mcp-servers-from-claude-ai)6725. [Konektor claude.ai](#use-mcp-servers-from-claude-ai)

671 673 

672Tiga cakupan mencocokkan duplikat berdasarkan nama. Plugin dan konektor mencocokkan berdasarkan endpoint, jadi yang menunjuk ke URL atau perintah yang sama dengan server di atas diperlakukan sebagai duplikat.674Claude Code mencocokkan duplikat di seluruh tiga cakupan berdasarkan nama. Plugin dan konektor mencocokkan berdasarkan endpoint, jadi yang menunjuk ke URL atau perintah yang sama dengan server di atas diperlakukan sebagai duplikat.

675 

676Dua ejaan URL dihitung sebagai endpoint yang sama ketika mereka berbeda hanya dalam huruf besar-kecil skema atau host, port default skema, seperti `:443` pada `https`, atau garis miring di akhir. Jalur, string kueri, userinfo, atau port non-default yang berbeda membuat dua server.

673 677 

674Server yang disediakan organisasi Anda melalui pengaturan terkelola [`managedMcpServers`](/docs/id/managed-mcp#provide-servers-through-managed-settings) menempati peringkat di atas semua ini, jadi ketika salah satu dari mereka menduplikasinya, Claude Code terhubung ke definisi organisasi. Memerlukan Claude Code v2.1.259 atau lebih baru.678Server yang disediakan organisasi Anda melalui pengaturan terkelola [`managedMcpServers`](/docs/id/managed-mcp#provide-servers-through-managed-settings) menempati peringkat di atas semua ini, jadi ketika salah satu dari mereka menduplikasinya, Claude Code terhubung ke definisi organisasi. Memerlukan Claude Code v2.1.259 atau lebih baru.

675 679 


1235 </Step>1239 </Step>

1236</Steps>1240</Steps>

1237 1241 

1242Anthropic juga menyediakan beberapa connectors itu sendiri, tanpa Anda atau admin menambahkannya. Pada akun tempat [Claude Docs](/docs/id/artifacts#write-a-document-with-claude-docs) tersedia, `/mcp` mencantumkan `claude.ai Claude Docs` tanpa setup, dan Claude menggunakannya ketika Anda meminta dokumen yang dimaksudkan untuk orang lain. Untuk mematikannya, tambahkan entri `serverName` dari `"claude.ai Claude Docs"` ke `deniedMcpServers` atau gunakan toggle `/mcp`, keduanya dijelaskan dalam [Nonaktifkan connectors claude.ai](#disable-claude-ai-connectors).

1243 

1238Claude Code menandai connector sebagai `managed` di `/mcp` dan di manajer [`/plugin`](/docs/id/plugins/install) ketika organisasi Anda mengelola autentikasinya di claude.ai. Status managed tidak mengubah cara Claude Code terhubung ke connector atau menerapkan [kontrol alat](#organization-controls-on-connector-tools) organisasi Anda.1244Claude Code menandai connector sebagai `managed` di `/mcp` dan di manajer [`/plugin`](/docs/id/plugins/install) ketika organisasi Anda mengelola autentikasinya di claude.ai. Status managed tidak mengubah cara Claude Code terhubung ke connector atau menerapkan [kontrol alat](#organization-controls-on-connector-tools) organisasi Anda.

1239 1245 

1240Connector yang belum pernah Anda masuki dilipat di belakang baris `Show unused connectors` di akhir bagian claude.ai, sehingga daftar yang disediakan organisasi tidak mengisi panel. Pilih baris untuk memperluasnya. Connector yang Anda masuki sebelumnya tetap terlihat bahkan ketika saat ini memerlukan re-autentikasi.1246Connector yang belum pernah Anda masuki dilipat di belakang baris `Show unused connectors` di akhir bagian claude.ai, sehingga daftar yang disediakan organisasi tidak mengisi panel. Pilih baris untuk memperluasnya. Connector yang Anda masuki sebelumnya tetap terlihat bahkan ketika saat ini memerlukan re-autentikasi.


1290* **Alat diatur ke `blocked`**: Claude Code memfilter alat keluar sebelum Claude melihatnya, jadi tidak pernah muncul dalam daftar alat. Aplikasi desktop dan chat claude.ai menerapkan pengaturan `blocked` yang sama, jadi Claude tidak dapat menggunakan alat di sana juga, dan Anda tidak dapat menahan alat dari sesi aplikasi desktop sambil membuatnya tersedia di chat. Aplikasi desktop melewati connector yang semua alatnya diblokir.1296* **Alat diatur ke `blocked`**: Claude Code memfilter alat keluar sebelum Claude melihatnya, jadi tidak pernah muncul dalam daftar alat. Aplikasi desktop dan chat claude.ai menerapkan pengaturan `blocked` yang sama, jadi Claude tidak dapat menggunakan alat di sana juga, dan Anda tidak dapat menahan alat dari sesi aplikasi desktop sambil membuatnya tersedia di chat. Aplikasi desktop melewati connector yang semua alatnya diblokir.

1291 1297 

1292<h3 id="disable-claude-ai-connectors">1298<h3 id="disable-claude-ai-connectors">

1293 Nonaktifkan connector claude.ai1299 Nonaktifkan connectors claude.ai

1294</h3>1300</h3>

1295 1301 

1296Claude Code menerapkan [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors) hanya ke connector yang [diambilnya sendiri](#how-connectors-reach-claude-code), bukan ke connector yang dikirimkan host cloud atau aplikasi desktop. Untuk mematikan connector yang diambilnya, atur pengaturan ke `true` dalam cakupan pengaturan apa pun:1302Claude Code menerapkan [`disableClaudeAiConnectors`](/docs/id/settings-reference#disableclaudeaiconnectors) hanya ke connector yang [diambilnya sendiri](#how-connectors-reach-claude-code), bukan ke connector yang dikirimkan host cloud atau aplikasi desktop. Untuk mematikan connector yang diambilnya, atur pengaturan ke `true` dalam cakupan pengaturan apa pun:


1416 Jika Anda sering mengalami peringatan output dengan server MCP tertentu yang tidak Anda kontrol, pertimbangkan untuk meningkatkan batas `MAX_MCP_OUTPUT_TOKENS`. Anda juga dapat meminta penulis server untuk menambahkan anotasi `anthropic/maxResultSizeChars` atau untuk membuat pagina respons mereka. Anotasi tidak berpengaruh pada alat yang mengembalikan konten gambar; untuk itu, menaikkan `MAX_MCP_OUTPUT_TOKENS` adalah satu-satunya pilihan.1422 Jika Anda sering mengalami peringatan output dengan server MCP tertentu yang tidak Anda kontrol, pertimbangkan untuk meningkatkan batas `MAX_MCP_OUTPUT_TOKENS`. Anda juga dapat meminta penulis server untuk menambahkan anotasi `anthropic/maxResultSizeChars` atau untuk membuat pagina respons mereka. Anotasi tidak berpengaruh pada alat yang mengembalikan konten gambar; untuk itu, menaikkan `MAX_MCP_OUTPUT_TOKENS` adalah satu-satunya pilihan.

1417</Warning>1423</Warning>

1418 1424 

1425<h3 id="images-in-tool-results">

1426 Gambar dalam hasil alat

1427</h3>

1428 

1429Ketika alat MCP mengembalikan gambar PNG, JPEG, GIF, atau WebP, Claude melihat gambar secara inline dalam percakapan. Salinan inline mungkin diperkecil atau dikompres agar sesuai dengan batas ukuran gambar model. Claude Code juga menyimpan byte asli ke file di direktori `tool-results` sesi di bawah [`~/.claude/projects/`](/docs/id/claude-directory#cleaned-up-automatically) dan memberikan Claude jalurnya. Claude kemudian dapat memotong, mengonversi, atau menggunakan kembali file resolusi penuh dengan alat seperti Bash.

1430 

1431Jika Anda menonaktifkan persistensi sesi dengan [`--no-session-persistence`](/docs/id/cli-reference#cli-flags) atau [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/id/env-vars), Claude Code tidak menulis file gambar dan Claude hanya menerima salinan inline.

1432 

1433Menyimpan hasil gambar MCP ke file memerlukan Claude Code v2.1.283 atau lebih baru.

1434 

1419<h2 id="tool-input-schemas-with-a-root-level-combinator">1435<h2 id="tool-input-schemas-with-a-root-level-combinator">

1420 Skema input tool dengan combinator tingkat root1436 Skema input tool dengan combinator tingkat root

1421</h2>1437</h2>


1487Server dapat meminta input dengan dua cara:1503Server dapat meminta input dengan dua cara:

1488 1504 

1489* **Form mode**: Claude Code menampilkan dialog dengan bidang formulir yang ditentukan oleh server (misalnya, prompt nama pengguna dan kata sandi). Isi bidang dan kirimkan.1505* **Form mode**: Claude Code menampilkan dialog dengan bidang formulir yang ditentukan oleh server (misalnya, prompt nama pengguna dan kata sandi). Isi bidang dan kirimkan.

1490* **URL mode**: Claude Code membuka URL browser untuk autentikasi atau persetujuan. Selesaikan alur di browser, kemudian konfirmasi di CLI.1506* **URL mode**: Claude Code menanyakan apakah akan membuka tautan di browser Anda dan membukanya ketika Anda menerima. Server menggunakan mode ini untuk alur yang selesai di luar terminal, seperti sign-in.

1491 1507 

1492Dalam URL mode, Claude Code meneruskan URL sebagai argumen baris perintah ke penanganan URL sistem Anda, dan membatasi seberapa lama argumen tersebut dapat diterima. Ketika URL, setelah diloloskan untuk baris perintah, melampaui batas tersebut, Anda hanya dapat menolak permintaan. Setiap karakter yang perlu diloloskan, seperti `%` atau `&`, dihitung empat kali terhadap batas: karakternya sendiri ditambah tiga karakter lolos. URL tanpa karakter tersebut mencapai batas pada sekitar 8.000 karakter. URL yang dibangun sebagian besar dari percent-escapes, di mana setiap karakter ketiga adalah `%`, mencapainya pada kira-kira 4.000.1508Dalam URL mode, Claude Code meneruskan URL sebagai argumen baris perintah ke penanganan URL sistem Anda, dan membatasi seberapa lama argumen tersebut dapat diterima. Ketika URL, setelah diloloskan untuk baris perintah, melampaui batas tersebut, Anda hanya dapat menolak permintaan. Setiap karakter yang perlu diloloskan, seperti `%` atau `&`, dihitung empat kali terhadap batas: karakternya sendiri ditambah tiga karakter lolos. URL tanpa karakter tersebut mencapai batas pada sekitar 8.000 karakter. URL yang dibangun sebagian besar dari percent-escapes, di mana setiap karakter ketiga adalah `%`, mencapainya pada kira-kira 4.000.

1493 1509 


1495 1511 

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

1497 1513 

1514Pada koneksi yang menggunakan [revisi protokol 2026-07-28](#mcp-client-runtimes), Claude Code mendeklarasikan `elicitation: {form: {}, url: {}}` dalam kemampuan kliennya, sehingga server di sana dapat meminta mode apa pun melalui permintaan elicitation standar protokol.

1515 

1498<h2 id="use-mcp-resources">1516<h2 id="use-mcp-resources">

1499 Gunakan sumber daya MCP1517 Gunakan sumber daya MCP

1500</h2>1518</h2>


1540 * Sumber daya dapat berisi jenis konten apa pun yang disediakan server MCP (teks, JSON, data terstruktur, dll.)1558 * Sumber daya dapat berisi jenis konten apa pun yang disediakan server MCP (teks, JSON, data terstruktur, dll.)

1541</Tip>1559</Tip>

1542 1560 

1561Sumber daya UI Aplikasi MCP adalah entri dengan URI `ui://` atau tipe media `text/html;profile=mcp-app`: halaman untuk aplikasi host yang akan dirender daripada konten untuk Claude dibaca. Mereka tidak muncul dalam saran `@` atau dalam hasil alat daftar sumber daya, dan server yang hanya menawarkan sumber daya UI menunjukkan daftar sumber daya kosong. Membaca sumber daya UI berdasarkan URI-nya masih berfungsi.

1562 

1543<h2 id="scale-with-mcp-tool-search">1563<h2 id="scale-with-mcp-tool-search">

1544 Skalakan dengan pencarian tool MCP1564 Skalakan dengan pencarian tool MCP

1545</h2>1565</h2>


1643 1663 

1644Server MCP dapat mengekspos prompts yang menjadi tersedia sebagai perintah di Claude Code.1664Server MCP dapat mengekspos prompts yang menjadi tersedia sebagai perintah di Claude Code.

1645 1665 

1666Prompts dari server bernama `anthropic-skills` tidak muncul, karena Claude Code [mereservasi nama tersebut](/docs/id/skills#names-reserved-for-synced-skills) untuk skills yang disinkronkan dari claude.ai. Tools server masih berfungsi. Ubah nama server di konfigurasi MCP Anda untuk menampilkan promptsnya.

1667 

1646<h3 id="execute-mcp-prompts">1668<h3 id="execute-mcp-prompts">

1647 Jalankan MCP prompts1669 Jalankan MCP prompts

1648</h3>1670</h3>

memory.md +10 −1

Details

103 103 

104**Konsistensi**: jika dua aturan saling bertentangan, Claude mungkin memilih satu secara sewenang-wenang. Tinjau file CLAUDE.md Anda, file CLAUDE.md bersarang di subdirektori, dan [`.claude/rules/`](#organize-rules-with-claude/rules/) secara berkala untuk menghapus instruksi yang ketinggalan zaman atau bertentangan. Dalam monorepo, gunakan [`claudeMdExcludes`](#exclude-specific-claude-md-files) untuk melewati file CLAUDE.md dari tim lain yang tidak relevan dengan pekerjaan Anda.104**Konsistensi**: jika dua aturan saling bertentangan, Claude mungkin memilih satu secara sewenang-wenang. Tinjau file CLAUDE.md Anda, file CLAUDE.md bersarang di subdirektori, dan [`.claude/rules/`](#organize-rules-with-claude/rules/) secara berkala untuk menghapus instruksi yang ketinggalan zaman atau bertentangan. Dalam monorepo, gunakan [`claudeMdExcludes`](#exclude-specific-claude-md-files) untuk melewati file CLAUDE.md dari tim lain yang tidak relevan dengan pekerjaan Anda.

105 105 

106Untuk membuat Claude memeriksa file ini untuk instruksi yang ketinggalan zaman atau bertentangan, jalankan `/doctor prompt-audit` dalam sesi. Claude membaca file CLAUDE.md, CLAUDE.local.md, dan AGENTS.md Anda, ditambah aturan, skills, perintah, subagent, dan gaya output di bawah `.claude/` dan `~/.claude/`. Ini mencari masalah seperti instruksi yang ditulis untuk model yang lebih lama, referensi ke file atau perintah yang tidak ada, dan file yang saling bertentangan. Anda mendapatkan laporan temuan dan serangkaian edit yang diusulkan, dan tidak ada yang berubah dalam file Anda sampai Anda meminta Claude untuk menerapkannya.

107 

108Untuk mengaudit satu file atau direktori sebagai gantinya, berikan jalurnya, misalnya `/doctor prompt-audit .claude/skills/deploy`. Audit berjalan melalui skill `/claude-api` yang disertakan, jadi tidak tersedia saat skill itu dimatikan dalam [`skillOverrides`](/docs/id/skills#override-skill-visibility-from-settings) atau dengan [`disableBundledSkills`](/docs/id/settings-reference#disablebundledskills). `/doctor prompt-audit` memerlukan Claude Code v2.1.283 atau lebih baru.

109 

106<h3 id="import-additional-files">110<h3 id="import-additional-files">

107 Impor file tambahan111 Impor file tambahan

108</h3>112</h3>


273ln -s ~/company-standards/security.md .claude/rules/security.md277ln -s ~/company-standards/security.md .claude/rules/security.md

274```278```

275 279 

280Jika Anda menunjuk symlink `.claude/rules/` atau `CLAUDE.md` ke jalur jaringan seperti UNC share `\\server\share` atau jalur di bawah `/net` atau `/Network`, instruksi yang ditautkan tidak dimuat. Claude Code tidak mengikuti tautan, karena mencari jalur seperti itu dapat menghubungi host yang dinamainya. Jalur `\\wsl$` tidak dihitung sebagai jalur jaringan.

281 

276<h4 id="user-level-rules">282<h4 id="user-level-rules">

277 Aturan tingkat pengguna283 Aturan tingkat pengguna

278</h4>284</h4>


620* Periksa bahwa CLAUDE.md yang relevan berada di lokasi yang dimuat untuk sesi Anda (lihat [Choose where to put CLAUDE.md files](#choose-where-to-put-claude-md-files)).626* Periksa bahwa CLAUDE.md yang relevan berada di lokasi yang dimuat untuk sesi Anda (lihat [Choose where to put CLAUDE.md files](#choose-where-to-put-claude-md-files)).

621* Buat instruksi lebih spesifik. "Gunakan indentasi 2 spasi" bekerja lebih baik daripada "format kode dengan baik."627* Buat instruksi lebih spesifik. "Gunakan indentasi 2 spasi" bekerja lebih baik daripada "format kode dengan baik."

622* Cari instruksi yang bertentangan di seluruh file CLAUDE.md. Jika dua file memberikan panduan berbeda untuk perilaku yang sama, Claude mungkin memilih satu secara sembarangan.628* Cari instruksi yang bertentangan di seluruh file CLAUDE.md. Jika dua file memberikan panduan berbeda untuk perilaku yang sama, Claude mungkin memilih satu secara sembarangan.

629* Periksa apakah instruksi Anda bersaing dengan panduan yang ditambahkan Claude Code sendiri. Jika CLAUDE.md Anda menetapkan aturan commit atau pull request, matikan yang bawaan dengan [`includeGitInstructions`](/docs/id/settings-reference#includegitinstructions) dan atur teks atribusi dengan [`attribution`](/docs/id/settings-reference#attribution).

623 630 

624Jika instruksi adalah sesuatu yang harus berjalan pada titik tertentu, seperti sebelum setiap commit atau setelah setiap pengeditan file, tulislah sebagai [hook](/docs/id/hooks-guide) sebagai gantinya. Hooks dieksekusi sebagai perintah shell pada peristiwa siklus hidup tetap dan berlaku terlepas dari apa yang Claude putuskan untuk lakukan.631Jika instruksi adalah sesuatu yang harus berjalan pada titik tertentu, seperti sebelum setiap commit atau setelah setiap pengeditan file, tulislah sebagai [hook](/docs/id/hooks-guide) sebagai gantinya. Hooks dieksekusi sebagai perintah shell pada peristiwa siklus hidup tetap dan berlaku terlepas dari apa yang Claude putuskan untuk lakukan.

625 632 


657 664 

658File di atas 200 baris mengonsumsi lebih banyak konteks dan dapat mengurangi kepatuhan. Claude Code melewati file di atas 4 MiB. 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.665File di atas 200 baris mengonsumsi lebih banyak konteks dan dapat mengurangi kepatuhan. Claude Code melewati file di atas 4 MiB. 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.

659 666 

660[`/doctor`](/docs/id/commands#all-commands) checkup mengusulkan pemangkasan untuk CLAUDE.md yang diperiksa: ia memotong konten yang dapat Claude turunkan dari codebase, seperti tata letak direktori, daftar dependensi, dan ikhtisar arsitektur, dan menyimpan jebakan, rasional, dan konvensi yang berbeda dari default alat. Pemeriksaan pemangkasan memerlukan Claude Code v2.1.206 atau lebih baru.667Jika salah satu file instruksi Anda melebihi panjang yang direkomendasikan, Anda akan melihat peringatan saat startup dan saat Anda menjalankan `/status`. Anda juga akan melihat peringatan ketika file yang masing-masing berada dalam panjang tersebut menambah hingga melampaui batas gabungan saat startup sesi. Setiap CLAUDE.md, file rules, dan impor `@path` dihitung sebagai file terpisah.

668 

669Checkup [`/doctor`](/docs/id/commands#all-commands) mengusulkan pemangkasan untuk CLAUDE.md yang diperiksa: ia memotong konten yang dapat Claude turunkan dari codebase, seperti tata letak direktori, daftar dependensi, dan ikhtisar arsitektur, dan menyimpan jebakan, rasional, dan konvensi yang berbeda dari default alat. Pemeriksaan pemangkasan memerlukan Claude Code v2.1.206 atau lebih baru.

661 670 

662<h3 id="instructions-seem-lost-after-/compact">671<h3 id="instructions-seem-lost-after-/compact">

663 Instructions seem lost after `/compact`672 Instructions seem lost after `/compact`

model-config.md +151 −80

Details

39| **`sonnet`** | Menggunakan model Sonnet terbaru untuk tugas-tugas pengkodean sehari-hari |39| **`sonnet`** | Menggunakan model Sonnet terbaru untuk tugas-tugas pengkodean sehari-hari |

40| **`opus`** | Menggunakan model Opus terbaru untuk tugas-tugas penalaran kompleks |40| **`opus`** | Menggunakan model Opus terbaru untuk tugas-tugas penalaran kompleks |

41| **`haiku`** | Menggunakan model Haiku yang cepat dan efisien untuk tugas-tugas sederhana |41| **`haiku`** | Menggunakan model Haiku yang cepat dan efisien untuk tugas-tugas sederhana |

42| **`sonnet[1m]`** | Menggunakan Sonnet dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang. Tidak berpengaruh ketika `sonnet` sudah menyelesaikan ke Sonnet 5 dengan jendela 1M aslinya; di balik [gateway LLM](/docs/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/en/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang. Tidak berpengaruh ketika `sonnet` sudah menyelesaikan ke Sonnet 5.5 atau Sonnet 5 dengan jendela 1M aslinya; di balik [gateway LLM](/docs/id/llm-gateway), memilih jendela 1M untuk model itu |

43| **`opus[1m]`** | Menggunakan Opus dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang |43| **`opus[1m]`** | Menggunakan Opus dengan [jendela konteks 1 juta token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang |

44| **`opusplan`** | Mode khusus yang menggunakan `opus` selama plan mode, kemudian beralih ke `sonnet` untuk eksekusi |44| **`opusplan`** | Mode khusus yang menggunakan `opus` selama plan mode, kemudian beralih ke `sonnet` untuk eksekusi |

45 45 


47 47 

48| Penyedia | `opus` | `sonnet` |48| Penyedia | `opus` | `sonnet` |

49| :- | :- | :- |49| :- | :- | :- |

50| Anthropic API | Opus 5.5 | Sonnet 5 |50| Anthropic API | Opus 5.5 | Sonnet 5.5 |

51| [Claude Platform on AWS](/docs/id/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |51| [Claude Platform on AWS](/docs/id/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |

52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 |52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |

54 54 

55<span id="fable-alias-resolution" />55<span id="fable-alias-resolution" />

56 56 

57Kecuali Anda menetapkan `ANTHROPIC_DEFAULT_FABLE_MODEL`, alias `fable` diselesaikan ke Fable 5.1, kecuali dalam sesi [Claude apps gateway](/docs/id/claude-apps-gateway), di mana `fable` dan `best` diselesaikan ke Fable 5. Sebelum v2.1.257, `fable` diselesaikan ke Fable 5 di setiap penyedia.57Kecuali Anda menetapkan `ANTHROPIC_DEFAULT_FABLE_MODEL`, alias `fable` diselesaikan ke Fable 5.1, kecuali dalam sesi [Claude apps gateway](/docs/id/claude-apps-gateway), di mana `fable` dan `best` diselesaikan ke Fable 5.

58 58 

59Gateway yang tidak dikonfigurasi untuk melayani `claude-fable-5-1` menolak permintaan untuk model itu. Untuk menggunakan Fable 5.1 melalui gateway yang melayaninya, pilih dengan `/model claude-fable-5-1`.59Gateway yang tidak dikonfigurasi untuk melayani `claude-fable-5-1` menolak permintaan untuk model itu. Untuk menggunakan Fable 5.1 melalui gateway yang melayaninya, pilih dengan `/model claude-fable-5-1`.

60 60 

61Di mana alias diselesaikan ke model yang lebih lama, model yang lebih baru tersedia dengan memilih nama model lengkap secara eksplisit atau menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL` atau `ANTHROPIC_DEFAULT_SONNET_MODEL`.61Di mana alias diselesaikan ke model yang lebih lama, model yang lebih baru tersedia dengan memilih nama model lengkap secara eksplisit atau menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL` atau `ANTHROPIC_DEFAULT_SONNET_MODEL`.

62 62 

63Sebelum v2.1.280, `opus` diselesaikan ke Opus 5 di Anthropic API, Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.1.219. Sebelum v2.1.219, `opus` diselesaikan ke Opus 4.8 di Anthropic API dari v2.1.154, dan di Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.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.63Versi sebelumnya menyelesaikan alias ini ke model yang lebih lama. Untuk versi di mana setiap alias berubah, lihat [Riwayat versi](#version-history).

64 64 

65Alias menunjuk ke versi yang direkomendasikan untuk penyedia Anda dan diperbarui seiring waktu. Untuk menyematkan ke versi tertentu, gunakan nama model lengkap, misalnya `claude-opus-5-5`, atau atur variabel lingkungan yang sesuai seperti `ANTHROPIC_DEFAULT_OPUS_MODEL`.65Alias menunjuk ke versi yang direkomendasikan untuk penyedia Anda dan diperbarui seiring waktu. Untuk menyematkan ke versi tertentu, gunakan nama model lengkap, misalnya `claude-opus-5-5`, atau atur variabel lingkungan yang sesuai seperti `ANTHROPIC_DEFAULT_OPUS_MODEL`.

66 66 

67<Note>67<Note>

68 Opus 5.5 memerlukan Claude Code v2.1.280 atau lebih baru. Opus 5 memerlukan v2.1.219 atau lebih baru. Sonnet 5 memerlukan v2.1.197 atau lebih baru. Jalankan `claude update` untuk upgrade.68 Sonnet 5.5 memerlukan Claude Code v2.1.284 atau lebih baru, dan Opus 5.5 memerlukan v2.1.280 atau lebih baru. Jalankan `claude update` untuk upgrade.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


138 138 

139Mengetik `/model <name>` langsung berperilaku seperti `Enter`. Untuk beralih hanya untuk sesi ini, buka pemilih dengan `/model` dan tekan `s` di baris model.139Mengetik `/model <name>` langsung berperilaku seperti `Enter`. Untuk beralih hanya untuk sesi ini, buka pemilih dengan `/model` dan tekan `s` di baris model.

140 140 

141Di paket Enterprise, ketika Anda masuk dengan akun claude.ai Anda dan menyimpan default dengan `/model`, Claude Code juga mencatat pilihan di akun itu. Ini memerlukan Claude Code v2.1.280 atau lebih baru.

142 

143* Ketika admin Anda belum menetapkan [model default organisasi](#organization-default-model), opsi [Default](#default-model-setting) dapat diselesaikan ke model yang dicatat, dan ketika itu terjadi, baris Default di pemilih `/model` menampilkan nama model itu.

144* Jika [pembatasan model](#restrict-model-selection) mengecualikan model yang dicatat atau tidak tersedia untuk akun Anda, dan admin Anda belum menetapkan model default organisasi, opsi Default diselesaikan seolah-olah tidak ada yang dicatat.

145* Jika Anda memilih Default atau `opusplan` di `/model`, pilihan yang dicatat tidak berubah.

146 

141Jika Anda beralih model dengan `/model`, switch juga mencapai [subagent yang mewarisi model percakapan utama](/docs/id/sub-agents#choose-a-model), karena Claude Code menyelesaikan model mereka dari yang digunakan sesi Anda ketika Claude memulainya. Beralih ke Opus sebelum Claude mendelegasikan penelitian atau test run ke salah satunya, dan pekerjaan itu berjalan di Opus juga. Untuk menjaga subagent kustom di model yang lebih kecil, atur `model` dalam definisinya.147Jika Anda beralih model dengan `/model`, switch juga mencapai [subagent yang mewarisi model percakapan utama](/docs/id/sub-agents#choose-a-model), karena Claude Code menyelesaikan model mereka dari yang digunakan sesi Anda ketika Claude memulainya. Beralih ke Opus sebelum Claude mendelegasikan penelitian atau test run ke salah satunya, dan pekerjaan itu berjalan di Opus juga. Untuk menjaga subagent kustom di model yang lebih kecil, atur `model` dalam definisinya.

142 148 

143Jika Anda menetapkan model dengan `/model` dalam [mode non-interaktif](/docs/id/headless), dengan flag `-p`, pilihan Anda berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda; `/model` dalam mode itu memerlukan Claude Code v2.1.205 atau lebih baru. Pengaturan proyek dan terkelola masih memiliki prioritas dan diterapkan kembali pada peluncuran berikutnya. [Model default organisasi](#organization-default-model) yang admin Anda telah dikonfigurasi untuk mengganti pilihan pengguna juga diterapkan kembali pada peluncuran berikutnya.149Jika Anda menetapkan model dengan `/model` dalam [mode non-interaktif](/docs/id/headless), dengan flag `-p`, pilihan Anda berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda; `/model` dalam mode itu memerlukan Claude Code v2.1.205 atau lebih baru. Pengaturan proyek dan terkelola masih memiliki prioritas dan diterapkan kembali pada peluncuran berikutnya. [Model default organisasi](#organization-default-model) yang admin Anda telah dikonfigurasi untuk mengganti pilihan pengguna juga diterapkan kembali pada peluncuran berikutnya.


215 221 

216* Anda menetapkannya ke `default`, `inherit`, `opusplan`, atau `haiku`222* Anda menetapkannya ke `default`, `inherit`, `opusplan`, atau `haiku`

217* [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) aktif223* [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) aktif

218* [`availableModels`](#restrict-model-selection) atau [pembatasan model organisasi](#organization-model-restrictions) mengecualikan model224* Organisasi Anda [pembatasan model](#restrict-model-selection) mengecualikan model

219* Model tidak tersedia untuk akun Anda225* Model tidak tersedia untuk akun Anda

220 226 

221Ketika sesi baru akan dimulai di model variabel, sesi yang Anda lanjutkan dengan `claude --resume`, `--continue`, atau pemilih `/resume` dimulai di sana juga. Claude Code tidak memulihkan model yang disimpan dalam transkrip sesi itu. Jika tidak, Claude Code tidak menggunakan variabel ketika Anda [melanjutkan sesi](#setting-your-model).227Ketika sesi baru akan dimulai di model variabel, sesi yang Anda lanjutkan dengan `claude --resume`, `--continue`, atau pemilih `/resume` dimulai di sana juga. Claude Code tidak memulihkan model yang disimpan dalam transkrip sesi itu. Jika tidak, Claude Code tidak menggunakan variabel ketika Anda [melanjutkan sesi](#setting-your-model).


235 Batasi pemilihan model241 Batasi pemilihan model

236</h2>242</h2>

237 243 

238Administrator enterprise dapat menggunakan `availableModels` dalam [pengaturan terkelola atau kebijakan](/docs/id/managed-settings) untuk membatasi model mana yang dapat dipilih pengguna. Entri cocok dengan keluarga model seperti `sonnet`, awalan versi seperti `claude-sonnet-4-5`, atau ID model lengkap seperti `claude-sonnet-4-5-20250929`. Awalan versi juga cocok dengan ID model yang lebih baru yang memperpanjangnya dengan segmen lain, jadi `claude-fable-5` memungkinkan Fable 5 dan Fable 5.1, sementara `claude-fable-5-1` memungkinkan Fable 5.1 saja.244Administrator enterprise dapat menggunakan `availableModels` dalam [pengaturan terkelola atau kebijakan](/docs/id/managed-settings) untuk membatasi model mana yang dapat dipilih pengguna. Entri cocok dengan keluarga model seperti `sonnet`, awalan versi seperti `claude-sonnet-4-5`, atau ID model lengkap seperti `claude-sonnet-4-5-20250929`. Awalan versi juga cocok dengan ID model yang lebih baru yang memperpanjangnya dengan segmen lain, jadi `claude-fable-5` memungkinkan Fable 5 dan Fable 5.1, sementara `claude-fable-5-1` memungkinkan Fable 5.1 saja. Untuk memblokir model yang diizinkan daftar, atau untuk membuat setiap entri ID model hanya memungkinkan versi yang dinamainya, lihat [Blokir model atau versi spesifik](#block-specific-models-or-versions).

239 245 

240Pada platform yang menyematkan Claude Code dan menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/id/env-vars), konfigurasi model host mengambil alih pengaturan model terkelola, sementara daftar izin `availableModels` terkelola tetap berlaku kecuali host menyediakan miliknya sendiri; [Pengecualian untuk prioritas pengaturan terkelola](/docs/id/settings#exceptions-to-managed-settings-precedence) mengatakan kunci dan variabel mana yang ditimpa host.246Pada platform yang menyematkan Claude Code dan menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/id/env-vars), konfigurasi model host mengambil alih pengaturan model terkelola, sementara daftar izin `availableModels` terkelola tetap berlaku kecuali host menyediakan miliknya sendiri; [Pengecualian terhadap prioritas pengaturan terkelola](/docs/id/settings#exceptions-to-managed-settings-precedence) mengatakan kunci dan variabel mana yang ditimpa host.

241 247 

242Ketika `availableModels` diatur, daftar izin berlaku di mana pun pengguna dapat menentukan model:248Ketika `availableModels` diatur, daftar izin berlaku di mana pun pengguna dapat menentukan model:

243 249 


245* **Resolusi alias**: variabel lingkungan `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL`, dan `ANTHROPIC_DEFAULT_FABLE_MODEL` tidak dapat mengarahkan ulang alias yang diizinkan ke model di luar daftar251* **Resolusi alias**: variabel lingkungan `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL`, dan `ANTHROPIC_DEFAULT_FABLE_MODEL` tidak dapat mengarahkan ulang alias yang diizinkan ke model di luar daftar

246* **Mode cepat**: `/fast` menolak untuk beralih ketika itu akan secara implisit beralih ke model Opus di luar daftar, dengan pesan "is not in your organization's allowed models"252* **Mode cepat**: `/fast` menolak untuk beralih ketika itu akan secara implisit beralih ke model Opus di luar daftar, dengan pesan "is not in your organization's allowed models"

247* **Model subagent dan rekan kerja**: bidang `model` dalam frontmatter [subagent](/docs/id/sub-agents#choose-a-model), parameter `model` alat Agent, model rekan kerja [tim agent](/docs/id/agent-teams#specify-teammates-and-models), `CLAUDE_CODE_SUBAGENT_MODEL`, dan, pada v2.1.197 dan lebih awal, pemilih model dalam wizard `/agents`&#x20;253* **Model subagent dan rekan kerja**: bidang `model` dalam frontmatter [subagent](/docs/id/sub-agents#choose-a-model), parameter `model` alat Agent, model rekan kerja [tim agent](/docs/id/agent-teams#specify-teammates-and-models), `CLAUDE_CODE_SUBAGENT_MODEL`, dan, pada v2.1.197 dan lebih awal, pemilih model dalam wizard `/agents`&#x20;

248* **Model skill dan perintah**: frontmatter `model` dalam [skills dan commands](/docs/id/skills)254* **Model skill dan perintah**: frontmatter `model` dalam [skills dan perintah](/docs/id/skills)

249* **Model advisor**: pengaturan [`advisorModel`](/docs/id/advisor) yang dikonfigurasi dan bendera `--advisor`255* **Model advisor**: pengaturan [`advisorModel`](/docs/id/advisor) yang dikonfigurasi dan bendera `--advisor`

250* **Model agent latar belakang**: model yang dipilih dalam [pemilih dispatch](/docs/id/agent-view)256* **Model agent latar belakang**: model yang dipilih dalam [pemilih dispatch](/docs/id/agent-view)

251 257 

252Pada Anthropic API dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), alias keluarga model, `opus`, `sonnet`, `haiku`, atau `fable`, diselesaikan ke model biasanya ketika daftar izin memungkinkan model itu. Ketika daftar izin memblokir model itu, Claude Code mengganti versi terbaru keluarga yang daftar izin izinkan dan menampilkan pemberitahuan yang menyebutkan model yang diminta dan diganti. Dengan `["sonnet", "claude-opus-4-6"]`, misalnya, baik `/model opus` maupun `--model opus` memilih Claude Opus 4.6, Opus terbaru yang diizinkan. Sebelum v2.1.205, alias yang versi rilis terbarunya berada di luar daftar ditolak atau diganti seperti pemilihan terblokir lainnya, bahkan ketika daftar memungkinkan versi yang lebih lama.258Pada Anthropic API dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), alias keluarga model, `opus`, `sonnet`, `haiku`, atau `fable`, diselesaikan ke model biasanya ketika daftar izin memungkinkan model itu. Ketika daftar izin memblokir model itu, Claude Code mengganti versi terbaru keluarga yang diizinkan daftar izin dan menampilkan pemberitahuan yang menyebutkan model yang diminta dan diganti. Dengan `["sonnet", "claude-opus-4-6"]`, misalnya, baik `/model opus` maupun `--model opus` memilih Claude Opus 4.6, Opus terbaru yang diizinkan. Sebelum v2.1.205, alias yang versi rilis terbarunya berada di luar daftar ditolak atau diganti seperti pemilihan terblokir lainnya, bahkan ketika daftar memungkinkan versi yang lebih lama.

253 259 

254Substitusi membutuhkan versi yang diizinkan untuk mendarat: ketika daftar izin tidak memungkinkan versi apa pun dari keluarga alias, alias mengikuti perilaku penolakan dan penggantian di bawah seperti nilai terblokir lainnya.260Substitusi memerlukan versi yang diizinkan untuk mendarat: ketika daftar izin tidak memungkinkan versi apa pun dari keluarga alias, alias mengikuti perilaku penolakan dan penggantian di bawah seperti nilai terblokir lainnya.

255 261 

256Claude Code menangani pemilihan terblokir lainnya sesuai dengan tempat model diatur:262Claude Code menangani pemilihan terblokir lainnya sesuai dengan tempat model diatur:

257 263 


260* **[`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)**: Claude Code mengabaikan variabel266* **[`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)**: Claude Code mengabaikan variabel

261* **Penggantian subagent atau rekan kerja**: Claude Code menjalankan subagent atau rekan kerja pada model fallback daripada gagal permintaan. Lihat [Pilih model](/docs/id/sub-agents#choose-a-model) untuk fallback subagent dan [Tentukan rekan kerja dan model](/docs/id/agent-teams#specify-teammates-and-models) untuk fallback rekan kerja.267* **Penggantian subagent atau rekan kerja**: Claude Code menjalankan subagent atau rekan kerja pada model fallback daripada gagal permintaan. Lihat [Pilih model](/docs/id/sub-agents#choose-a-model) untuk fallback subagent dan [Tentukan rekan kerja dan model](/docs/id/agent-teams#specify-teammates-and-models) untuk fallback rekan kerja.

262 268 

263 Dalam sesi interaktif, Claude Code memperingatkan Anda ketika mengganti model subagent, dengan fallback ini atau dengan substitusi versi-terbaru-yang-diizinkan di atas, menyebutkan model yang diminta dan diganti; itu tidak melaporkan fallback rekan kerja.269 Dalam sesi interaktif, Claude Code memperingatkan Anda ketika mengganti model subagent, oleh fallback ini atau oleh substitusi versi-terbaru-yang-diizinkan di atas, menyebutkan model yang diminta dan diganti; itu tidak melaporkan fallback rekan kerja.

264 270 

265 Di mana substitusi versi-terbaru-yang-diizinkan di atas beroperasi, alias keluarga terblokir mengikutinya. Sebelum v2.1.222, alias jatuh kembali seperti nilai terblokir lainnya di setiap penyedia271 Di mana substitusi versi-terbaru-yang-diizinkan di atas beroperasi, alias keluarga terblokir mengikutinya. Sebelum v2.1.222, alias jatuh kembali seperti nilai terblokir lainnya pada setiap penyedia

266* **Penggantian skill atau perintah**: Claude Code mengabaikan penggantian, termasuk alias keluarga terblokir, dan skill atau perintah berjalan pada model sesi. Skill atau perintah yang [berjalan dalam subagent](/docs/id/skills#run-skills-in-a-subagent) mengikuti perilaku subagent di atas272* **Penggantian skill atau perintah**: Claude Code mengabaikan penggantian, termasuk alias keluarga terblokir, dan skill atau perintah berjalan pada model sesi. Skill atau perintah yang [berjalan dalam subagent](/docs/id/skills#run-skills-in-a-subagent) mengikuti perilaku subagent di atas

267* **Pengaturan `advisorModel`**: advisor dinonaktifkan untuk sesi273* **Pengaturan `advisorModel`**: advisor dinonaktifkan untuk sesi

268* **Bendera `--advisor`**: Claude Code keluar dengan kesalahan saat peluncuran. Dalam [sesi latar belakang](/docs/id/agent-view), itu memulai sesi tanpa advisor daripada keluar274* **Bendera `--advisor`**: Claude Code keluar dengan kesalahan saat peluncuran. Dalam [sesi latar belakang](/docs/id/agent-view), itu memulai sesi tanpa advisor daripada keluar

269 275 

270Claude Code menyembunyikan model yang dikecualikan dari pemilih `/model`. ID model lengkap dalam daftar yang tidak memiliki baris pemilih bawaan, seperti versi yang lebih lama yang daftar pin, muncul dalam pemilih `/model` sebagai baris berlabel miliknya sendiri, kecuali Claude Code mengganti opsi bawaan dengan lineup [`modelPicker`](/docs/id/settings-reference#modelpicker). Sebelum v2.1.199, ID tersebut hanya dapat dipilih dengan mengetik `/model <id>`.276Claude Code menyembunyikan model yang dikecualikan dari pemilih `/model`. ID model lengkap dalam daftar yang tidak memiliki baris pemilih bawaan, seperti versi yang lebih lama yang disematkan daftar, muncul dalam pemilih `/model` sebagai baris berlabel miliknya sendiri, kecuali Claude Code mengganti opsi bawaan dengan lineup [`modelPicker`](/docs/id/settings-reference#modelpicker). Sebelum v2.1.199, ID tersebut hanya dapat dipilih dengan mengetik `/model <id>`.

271 277 

272Perubahan model yang Claude Code buat atas nama Anda diperiksa dengan cara yang sama:278Perubahan model yang dilakukan Claude Code atas nama Anda diperiksa dengan cara yang sama:

273 279 

274* **[Rantai model fallback](#fallback-model-chains)**: entri di luar daftar izin dijatuhkan280* **[Rantai model fallback](#fallback-model-chains)**: entri di luar daftar izin dijatuhkan

275* **Upgrade mode plan**: pada Anthropic API dan Claude Platform on AWS, upgrade seperti [`opusplan`](#opusplan-model-setting) ke model yang dikecualikan menggunakan versi terbaru keluarga upgrade yang diizinkan. Pada penyedia dengan ID model khusus penyedia, dan ketika tidak ada versi yang diizinkan, upgrade dilewati dan perencanaan berlanjut pada model sesi281* **Upgrade mode plan**: pada Anthropic API dan Claude Platform on AWS, upgrade seperti [`opusplan`](#opusplan-model-setting) ke model yang dikecualikan menggunakan versi terbaru keluarga upgrade yang diizinkan. Pada penyedia dengan ID model khusus penyedia, dan ketika tidak ada versi yang diizinkan, upgrade dilewati dan perencanaan berlanjut pada model sesi.

276* **[Fallback model otomatis](#automatic-model-fallback)**: fallback yang targetnya dikecualikan tidak berjalan, jadi permintaan yang ditandai berakhir dengan penolakan282* **[Fallback model otomatis](#automatic-model-fallback)**: fallback yang targetnya dikecualikan tidak berjalan, jadi permintaan yang ditandai berakhir dengan penolakan

277* **[Pengklasifikasi mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode)**: default Claude Sonnet 5 pengklasifikasi hanya berlaku ketika daftar izin memungkinkan Sonnet 5. Ketika dikecualikan, pengklasifikasi berjalan pada model sesi, yang daftar izin sudah mengatur, atau pada model Opus ketika sesi berjalan pada [model Fable](#work-with-fable). Pada penyedia selain Anthropic API, fallback Opus itu berjalan pada model Opus default penyedia tanpa berkonsultasi dengan daftar izin. Memerlukan Claude Code v2.1.210 atau lebih baru283* **[Pengklasifikasi mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode)**: default Claude Sonnet 5 pengklasifikasi hanya berlaku ketika daftar izin memungkinkan Sonnet 5. Ketika dikecualikan, pengklasifikasi berjalan pada model sesi, yang daftar izin sudah mengatur, atau pada model Opus ketika sesi berjalan pada [model Fable](#work-with-fable). Pada penyedia selain Anthropic API, fallback Opus itu berjalan pada model Opus default penyedia tanpa berkonsultasi dengan daftar izin. Memerlukan Claude Code v2.1.210 atau lebih baru

278* **[Mode cepat](/docs/id/fast-mode)**: mengaktifkan mode cepat ditolak ketika model yang sesi jalankan setelahnya berada di luar daftar izin284* **[Mode cepat](/docs/id/fast-mode)**: mengaktifkan mode cepat ditolak ketika model yang akan dijalankan sesi setelahnya berada di luar daftar izin

279 285 

280```json theme={null}286```json theme={null}

281{287{


291 297 

292| Mekanisme pengiriman | CLI dan IDE | Sesi lokal desktop | Sesi web, mobile, dan cloud | Agent SDK dan non-interaktif | Cowork |298| Mekanisme pengiriman | CLI dan IDE | Sesi lokal desktop | Sesi web, mobile, dan cloud | Agent SDK dan non-interaktif | Cowork |

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

294| [Pengaturan terkelola server](/docs/id/server-managed-settings) dari konsol admin | Diberlakukan | Diberlakukan | Diberlakukan | Diberlakukan | Tidak dikirim |300| [Pengaturan terkelola server](/docs/id/server-managed-settings) dari konsol admin | Diberlakukan | Diberlakukan | Diberlakukan | Diberlakukan | Tidak dikirimkan |

295| [File MDM atau pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) | Diberlakukan | Diberlakukan | Tidak dikirim di lingkungan yang dihosting Anthropic; di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments), diberlakukan dari gambar runner per [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) | Diberlakukan | Diberlakukan di mana pun digunakan |301| [File MDM atau pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) | Diberlakukan | Diberlakukan | Tidak dikirimkan di lingkungan yang dihosting Anthropic; di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments), diberlakukan dari gambar runner per [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) | Diberlakukan | Diberlakukan di mana diterapkan |

296 302 

297* Sesi cloud, di [Claude Code di web](/docs/id/claude-code-on-the-web) atau di aplikasi Desktop, berjalan pada VM yang dikelola Anthropic secara default: pengaturan yang digunakan pada perangkat Anda tidak mencapainya, jadi kirimkan daftar izin melalui pengaturan terkelola server. Sesi yang organisasi Anda arahkan ke [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments) berjalan pada komputasi Anda sendiri dan juga membaca file pengaturan terkelola dalam gambar runner. [Bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan kapan file itu berlaku. Perubahan model pertengahan sesi dalam sesi cloud ditolak ketika model yang diminta dikecualikan oleh daftar izin. Ketika daftar `availableModels` dalam pengaturan terkelola server Anda tidak kosong, server menolak permintaan pengguna untuk memulai sesi cloud pada model yang daftar kecualikan.303* [Sesi cloud](/docs/id/claude-code-on-the-web), termasuk yang Anda mulai dari aplikasi Desktop, berjalan pada VM yang dikelola Anthropic secara default: pengaturan yang diterapkan ke perangkat Anda tidak mencapainya, jadi kirimkan daftar izin melalui pengaturan terkelola server. Sesi yang organisasi Anda arahkan ke [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments) berjalan pada komputasi Anda sendiri dan juga membaca file pengaturan terkelola dalam gambar runner. [Bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan kapan file itu berlaku. Perubahan model pertengahan sesi dalam sesi cloud ditolak ketika model yang diminta dikecualikan oleh daftar izin. Ketika daftar `availableModels` dalam pengaturan terkelola server Anda tidak kosong, server menolak permintaan pengguna untuk memulai sesi cloud pada model yang daftar kecualikan.

298* Cowork, tab pekerjaan agentic di aplikasi Claude Desktop, menjalankan sesinya di Claude Code tetapi, dengan desain, tidak menerima pengaturan terkelola server dari konsol admin claude.ai. File pengaturan terkelola berlaku untuk sesi Cowork ketika ada di mana sesi berjalan; sesi Cowork jarak jauh berjalan pada VM yang dikelola Anthropic, di mana file yang digunakan perangkat tidak ada.304* Cowork, tab pekerjaan agentic dalam aplikasi Claude Desktop, menjalankan sesinya pada Claude Code tetapi, dengan desain, tidak menerima pengaturan terkelola server dari konsol admin claude.ai. File pengaturan terkelola berlaku untuk sesi Cowork ketika ada di mana sesi berjalan; sesi Cowork jarak jauh berjalan pada VM yang dikelola Anthropic, di mana file yang diterapkan perangkat tidak ada.

299* Sesi pada [penyedia pihak ketiga](/docs/id/server-managed-settings#platform-availability) seperti Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws) tidak menerima pengaturan terkelola server, jadi kirimkan daftar izin melalui file MDM atau pengaturan terkelola di sana.305* Sesi pada [penyedia pihak ketiga](/docs/id/server-managed-settings#platform-availability) seperti Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws) tidak menerima pengaturan terkelola server, jadi kirimkan daftar izin melalui file MDM atau pengaturan terkelola di sana.

300* Pengiriman terkelola server juga memerlukan sesi untuk mengautentikasi dengan [login atau kunci yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability). Armada yang menghasilkan kunci hanya melalui skrip [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) harus mengirimkan daftar izin melalui file MDM atau pengaturan terkelola.306* Pengiriman terkelola server juga memerlukan sesi untuk mengautentikasi dengan [login atau kunci yang memenuhi syarat](/docs/id/server-managed-settings#platform-availability). Armada yang menghasilkan kunci hanya melalui skrip [`apiKeyHelper`](/docs/id/settings-reference#apikeyhelper) harus mengirimkan daftar izin melalui file MDM atau pengaturan terkelola.

301* Tab Desktop Code juga menghosting [sesi SSH](/docs/id/desktop#ssh-sessions), yang membaca file pengaturan terkelola dari host jarak jauh tempat mereka berjalan. Lihat [Pengaturan terkelola Desktop](/docs/id/desktop#managed-settings).307* Tab Desktop Code juga menghosting [sesi SSH](/docs/id/desktop#ssh-sessions), yang membaca file pengaturan terkelola dari host jarak jauh tempat mereka berjalan. Lihat [Pengaturan terkelola desktop](/docs/id/desktop#managed-settings).

302* Pemilih model di claude.ai dan di aplikasi Desktop menyembunyikan atau memudarkan model yang dikecualikan oleh daftar izin organisasi Anda. Status pemilih adalah kenyamanan bagi pengguna; penegakan terjadi dalam sesi.308* Pemilih model pada claude.ai dan dalam aplikasi Desktop menyembunyikan atau memudarkan model yang dikecualikan oleh daftar izin organisasi Anda. Status pemilih adalah kenyamanan bagi pengguna; itu tidak memberlakukan daftar izin.

303 309 

304<h3 id="default-model-behavior">310<h3 id="default-model-behavior">

305 Perilaku model default311 Perilaku model default

306</h3>312</h3>

307 313 

308Dengan sendirinya, `availableModels` meninggalkan opsi Default pada [default runtime](#default-model-setting) sistem untuk akun sampai Anda juga menetapkan [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model). Jika default itu adalah model yang ingin Anda batasi, atur `enforceAvailableModels` juga.314Dengan pencocokan awalan default, `availableModels` sendiri meninggalkan opsi Default pada [default runtime](#default-model-setting) sistem untuk akun sampai Anda juga menetapkan [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model). Jika default itu adalah model yang Anda maksudkan untuk membatasi, atur `enforceAvailableModels` juga, atau [blokir model itu](#block-specific-models-or-versions).

309 315 

310Array `availableModels` kosong tidak pernah melibatkan penegakan model Default: dengan `availableModels: []`, pemilihan model bernama diblokir tetapi model Default untuk tipe akun tetap dapat digunakan terlepas dari `enforceAvailableModels`.316Dengan `availableModels: []`, pemilihan model bernama diblokir dan `enforceAvailableModels` tidak berpengaruh.

311 317 

312<h3 id="enforce-the-allowlist-for-the-default-model">318<h3 id="enforce-the-allowlist-for-the-default-model">

313 Berlakukan daftar izin untuk model Default319 Berlakukan daftar izin untuk model Default


322}328}

323```329```

324 330 

325Opsi Default diselesaikan ke default tipe akun, atau ke [model default organisasi](#organization-default-model) ketika admin telah menetapkan satu. Ketika model itu tidak dalam daftar izin, opsi Default malah diselesaikan ke entri `availableModels` pertama yang menyebutkan model yang diizinkan dan tersedia, dan baris Default pemilih `/model` menunjukkan model itu. Ini berlaku di mana pun default dicapai: startup sesi, memilih Default di `/model`, kata kunci `"default"` dalam [rantai model fallback](#fallback-model-chains), dan fallback yang digunakan ketika pemilihan yang dikecualikan dijatuhkan.331Untuk anggota tanpa model [tercatat di akun mereka](#setting-your-model), opsi Default diselesaikan ke default tipe akun, atau ke [model default organisasi](#organization-default-model) ketika admin telah menetapkan satu. Ketika model itu tidak dalam daftar izin, opsi Default malah diselesaikan ke entri `availableModels` pertama yang menyebutkan model yang diizinkan dan tersedia, dan baris Default pemilih `/model` menunjukkan model itu. Ini berlaku di mana pun default dicapai: startup sesi, memilih Default dalam `/model`, kata kunci `"default"` dalam [rantai model fallback](#fallback-model-chains), dan fallback yang digunakan ketika pemilihan yang dikecualikan dijatuhkan. Model yang tercatat di akun anggota juga diperiksa terhadap `availableModels`; [Menetapkan model Anda](#setting-your-model) menjelaskan bagaimana opsi Default memperlakukannya.

326 332 

327`enforceAvailableModels` memetakan ulang opsi Default hanya ketika `availableModels` tidak kosong. Dengan `availableModels: []`, model Default untuk tipe akun tetap dapat digunakan, jadi pengaturan tidak dapat mengunci pengguna dari setiap model. Ketika `availableModels` tidak kosong tetapi tidak ada entri yang diselesaikan ke model yang diizinkan dan tersedia, penegakan dilewati dan Default diselesaikan ke default tipe akun, dengan peringatan yang terlihat hanya di bawah `--debug`. Pertahankan setidaknya satu entri yang dijamin tersedia dalam daftar untuk menghindari ini.333`enforceAvailableModels` memetakan ulang opsi Default hanya ketika `availableModels` tidak kosong. Ketika `availableModels` tidak kosong tetapi tidak ada entri yang diselesaikan ke model yang diizinkan dan tersedia, penegakan dilewati dengan peringatan yang terlihat hanya di bawah `--debug`. Pertahankan setidaknya satu entri yang dijamin tersedia dalam daftar untuk menghindari ini.

328 334 

329Gunakan kedua kunci bersama dalam sumber terkelola dengan peringkat tertinggi yang Anda kirimkan. Secara default Claude Code hanya membaca sumber itu, jadi pasangan yang ditempatkan dalam file pengaturan terkelola diabaikan ketika konsol admin mengirimkan pengaturan apa pun; di bawah penggabungan opt-in dalam [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources), Claude Code masih mengabaikan peta `modelOverrides` dari sumber yang diperingkat di bawah yang menetapkan `availableModels`.335Terapkan kedua kunci bersama dalam sumber terkelola peringkat tertinggi yang Anda kirimkan. Secara default Claude Code hanya membaca sumber itu, jadi pasangan yang ditempatkan dalam file pengaturan terkelola diabaikan ketika konsol admin mengirimkan pengaturan apa pun; di bawah penggabungan opt-in dalam [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources), Claude Code masih mengabaikan peta `modelOverrides` dari sumber yang diperingkat di bawah yang menetapkan `availableModels`.

330 336 

331<h3 id="control-the-model-users-run-on">337<h3 id="control-the-model-users-run-on">

332 Kontrol model yang dijalankan pengguna338 Kontrol model yang dijalankan pengguna

333</h3>339</h3>

334 340 

335Pengaturan `model` adalah pemilihan awal, bukan penegakan. Ini menetapkan model mana yang aktif ketika sesi dimulai, tetapi pengguna masih dapat membuka `/model` dan memilih Default, yang diselesaikan ke [default runtime](#default-model-setting) sistem terlepas dari apa yang `model` diatur, kecuali [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) mengarahkan ulangnya.341Pengaturan `model` adalah pemilihan awal, bukan penegakan. Itu menetapkan model mana yang aktif ketika sesi dimulai, tetapi pengguna masih dapat membuka `/model` dan memilih Default, yang diselesaikan ke [default runtime](#default-model-setting) sistem terlepas dari apa yang `model` diatur, kecuali [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) atau [kunci yang memblokir versi spesifik](#block-specific-models-or-versions) berlaku untuk itu.

336 342 

337Untuk sepenuhnya mengontrol pengalaman model, gabungkan pengaturan ini:343Untuk sepenuhnya mengontrol pengalaman model, gabungkan pengaturan ini:

338 344 

339* **`availableModels`**: membatasi model bernama mana yang dapat dialihkan pengguna345* **`availableModels`**: membatasi model bernama mana yang dapat dialihkan pengguna

340* **`enforceAvailableModels`**: memperluas daftar izin `availableModels` ke opsi Default, jadi Default tidak dapat diselesaikan ke model di luar daftar346* **`enforceAvailableModels`**: memperluas daftar izin `availableModels` ke opsi Default, jadi Default tidak dapat diselesaikan ke model di luar daftar

347* **`deniedModels`** dan **`availableModelsMatch`**: [blokir versi spesifik](#block-specific-models-or-versions) yang entri `availableModels` akan memungkinkan

341* **`model`**: menetapkan pemilihan model awal ketika sesi dimulai348* **`model`**: menetapkan pemilihan model awal ketika sesi dimulai

342* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`** / **`ANTHROPIC_DEFAULT_FABLE_MODEL`**: mengontrol apa yang alias `sonnet`, `opus`, `haiku`, dan `fable` diselesaikan, dan versi mana yang [default tipe akun](#default-model-setting) gunakan349* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`** / **`ANTHROPIC_DEFAULT_FABLE_MODEL`**: mengontrol apa yang diselesaikan alias `sonnet`, `opus`, `haiku`, dan `fable`, dan versi mana yang digunakan [default tipe akun](#default-model-setting)

343 350 

344Contoh ini memulai pengguna di Sonnet 4.5, membatasi pemilih ke Sonnet dan Haiku, dan memastikan Default diselesaikan ke model dalam daftar izin daripada default tier:351Contoh ini memulai pengguna pada Sonnet 4.5, membatasi pemilih ke Sonnet dan Haiku, dan memastikan Default diselesaikan ke model dalam daftar izin daripada default tier:

345 352 

346```json theme={null}353```json theme={null}

347{354{


354}361}

355```362```

356 363 

357Tanpa `enforceAvailableModels` atau blok `env`, pengguna yang memilih Default dalam pemilih mendapatkan [default runtime](#default-model-setting) daripada versi yang disematkan dalam `model`. Dua pengaturan mencakup cakupan berbeda: `enforceAvailableModels` membuat Default mematuhi daftar izin, sementara blok `env` menyematkan versi mana alias yang diizinkan seperti `sonnet` diselesaikan. Gunakan `enforceAvailableModels` saja ketika membatasi keluarga model cukup; tambahkan blok `env` ketika Anda juga perlu menyematkan versi tertentu.364Tanpa `enforceAvailableModels` atau blok `env`, pengguna yang memilih Default dalam pemilih mendapatkan [default runtime](#default-model-setting) daripada versi yang disematkan dalam `model`. Dua pengaturan mencakup cakupan berbeda: `enforceAvailableModels` membuat Default mematuhi daftar izin, sementara blok `env` menyematkan versi mana yang diselesaikan alias yang diizinkan seperti `sonnet`. Gunakan `enforceAvailableModels` saja ketika membatasi keluarga model cukup; tambahkan blok `env` ketika Anda juga perlu menyematkan versi spesifik.

358 365 

359<h3 id="merge-behavior">366<h3 id="merge-behavior">

360 Perilaku penggabungan367 Perilaku penggabungan

361</h3>368</h3>

362 369 

363Ketika pengaturan terkelola yang Claude Code terapkan mendefinisikan `availableModels`, daftar itu saja berlaku, terlepas dari [platform host yang menyediakan miliknya sendiri](/docs/id/settings#exceptions-to-managed-settings-precedence): entri dalam pengaturan pengguna, proyek, atau lokal tidak dapat memperpanjangnya, dan Claude Code tidak pernah menggabungkan `availableModels` di seluruh sumber terkelola; [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan daftar sumber mana yang berlaku. Jika tidak, daftar dari pengaturan pengguna, proyek, dan lokal [digabungkan dan dideduplikasi](/docs/id/settings#settings-precedence) seperti pengaturan array lainnya. Sebelum Claude Code v2.1.175, entri dari cakupan prioritas lebih rendah digabungkan ke dalam daftar terkelola daripada diganti olehnya.370Ketika pengaturan terkelola yang diterapkan Claude Code mendefinisikan `availableModels`, daftar itu saja berlaku, terlepas dari [platform host yang menyediakan miliknya sendiri](/docs/id/settings#exceptions-to-managed-settings-precedence): entri dalam pengaturan pengguna, proyek, atau lokal tidak dapat memperpanjangnya, dan Claude Code tidak pernah menggabungkan `availableModels` di seluruh sumber terkelola; [bagaimana Claude Code menggabungkan sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan daftar sumber mana yang berlaku. Jika tidak, daftar dari pengaturan pengguna, proyek, dan lokal adalah [digabungkan dan dideduplikasi](/docs/id/settings#settings-precedence) seperti pengaturan array lainnya. Sebelum Claude Code v2.1.175, entri dari cakupan prioritas lebih rendah digabungkan ke dalam daftar terkelola daripada diganti olehnya.

364 371 

365Dalam daftar efektif, entri yang menyebutkan model tertentu dalam keluarga, baik awalan versi atau ID model lengkap, menonaktifkan entri wildcard keluarga itu: `["sonnet", "claude-sonnet-4-5"]` memungkinkan hanya versi Sonnet 4.5, bukan setiap model Sonnet.372Dalam daftar efektif, entri yang menyebutkan model spesifik dalam keluarga, baik awalan versi maupun ID model lengkap, menonaktifkan entri wildcard keluarga itu: `["sonnet", "claude-sonnet-4-5"]` memungkinkan hanya versi Sonnet 4.5, bukan setiap model Sonnet.

366 373 

367<h3 id="mantle-model-ids">374<h3 id="mantle-model-ids">

368 ID model Mantle375 ID model Mantle

369</h3>376</h3>

370 377 

371Ketika [titik akhir Amazon Bedrock Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) diaktifkan, entri dalam `availableModels` yang dimulai dengan `anthropic.` ditambahkan ke pemilih `/model` sebagai opsi khusus dan dialihkan ke titik akhir Mantle. Ini adalah pengecualian untuk pencocokan alias yang dijelaskan dalam [Sematkan model untuk penyebaran pihak ketiga](#pin-models-for-third-party-deployments). Pengaturan masih membatasi pemilih ke entri yang terdaftar, dan ID Mantle menyematkan nama keluarga, jadi itu dihitung sebagai entri tertentu dan menonaktifkan wildcard keluarga itu: bersama ID Mantle apa pun, daftarkan awalan versi atau ID lengkap yang ingin Anda pertahankan dapat dipilih. Lihat [Perilaku penggabungan](#merge-behavior).378Ketika [titik akhir Amazon Bedrock Mantle](/docs/id/amazon-bedrock#use-the-mantle-endpoint) diaktifkan, entri dalam `availableModels` yang dimulai dengan `anthropic.` ditambahkan ke pemilih `/model` sebagai opsi khusus dan dirutekan ke titik akhir Mantle. Ini adalah pengecualian terhadap pencocokan alias yang dijelaskan dalam [Sematkan model untuk penerapan pihak ketiga](#pin-models-for-third-party-deployments). Pengaturan masih membatasi pemilih ke entri yang terdaftar, dan ID Mantle menyematkan nama keluarga, jadi itu dihitung sebagai entri spesifik dan menonaktifkan wildcard keluarga itu: bersama dengan ID Mantle apa pun, daftarkan awalan versi atau ID lengkap yang ingin Anda pertahankan dapat dipilih. Lihat [Perilaku penggabungan](#merge-behavior).

379 

380<h3 id="block-specific-models-or-versions">

381 Blokir model atau versi spesifik

382</h3>

383 

384Entri `availableModels` seperti `claude-opus-5` juga memungkinkan rilis yang lebih baru yang memperpanjangnya, seperti Opus 5.5, segera setelah Claude Code mendukungnya. Dua pengaturan terkelola memungkinkan Anda menahan rilis, dan keduanya memerlukan Claude Code v2.1.283 atau lebih baru:

385 

386* [`deniedModels`](/docs/id/settings-reference#deniedmodels): daftarkan model yang akan diblokir. Model yang terdaftar diblokir bahkan ketika `availableModels` memungkinkannya, dan kunci juga bekerja tanpa daftar izin sama sekali. Rilis yang tidak ada entri blok tetap diizinkan

387* [`availableModelsMatch`](/docs/id/settings-reference#availablemodelsmatch): aturnya ke `"exact"` sehingga setiap ID model dalam `availableModels` hanya memungkinkan versi yang dinamainya. Versi yang lebih baru dari ID model yang terdaftar kemudian tetap diblokir sampai Anda menambahkannya ke daftar

388 

389Versi sebelumnya mengabaikan kedua kunci, jadi juga atur [`requiredMinimumVersion`](/docs/id/settings-reference#requiredminimumversion) untuk menjaga versi itu agar tidak dimulai.

390 

391Contoh ini memungkinkan model Opus dan Sonnet dan memblokir Opus 5.5 dalam setiap ejaan, termasuk ID yang tertanggal dan khusus penyedia:

392 

393```json theme={null}

394{

395 "availableModels": ["opus", "sonnet"],

396 "deniedModels": ["claude-opus-5-5"]

397}

398```

399 

400Model yang diblokir, baik `deniedModels` menyebutkannya atau daftar `"exact"` menghilangkannya, diperlakukan sebagai pemilihan terblokir di mana pun [daftar izin berlaku](#restrict-model-selection). Itu disembunyikan dari pemilih `/model`, dan `/model <name>` menolaknya. Jika Anda menyebutkan ID model yang diblokir dengan `--model`, `ANTHROPIC_MODEL`, atau pengaturan `model`, Claude Code menjatuhkannya saat startup dan menyelesaikan opsi Default. Jika [hook](/docs/id/hooks) atau permintaan latar belakang menyebutkan model yang `deniedModels` blokir, seperti bidang `model` hook agent, permintaan itu berjalan pada model sesi.

401 

402Opsi Default mengikuti kedua kunci juga, apakah atau tidak Anda menetapkan [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model). Jika Anda menetapkannya dengan `availableModels` yang tidak kosong, default yang diblokir dihitung sebagai model di luar daftar izin. Jika tidak, opsi Default yang akan diselesaikan ke model yang diblokir turun dalam urutan ini:

403 

4041. Versi terbaru keluarga yang sama yang diizinkan

4052. Model terakhir yang diizinkan dari setiap keluarga biaya lebih rendah: Sonnet, kemudian Haiku

4063. Entri `availableModels` pertama yang menyebutkan model yang diizinkan

407 

408Jika tidak ada yang diizinkan, sesi yang dimulai pada opsi Default [menolak untuk dimulai](/docs/id/errors#managed-settings-block-the-default-model) dengan kesalahan yang menyebutkan kunci untuk diperbaiki. Daftar `"exact"` mempengaruhi opsi Default hanya ketika daftar `availableModels` terkelola menyebutkan setidaknya satu model atau keluarga.

409 

410Claude Code membaca kedua kunci dari pengaturan terkelola saja. Jika Anda menetapkan salah satu dalam pengaturan pengguna, proyek, atau lokal atau dengan `--settings`, Claude Code mengabaikannya dengan peringatan.

372 411 

373<h3 id="organization-model-restrictions">412<h3 id="organization-model-restrictions">

374 Pembatasan model organisasi413 Pembatasan model organisasi

375</h3>414</h3>

376 415 

377Admin organisasi pada rencana Claude Enterprise membatasi model mana yang dapat dijalankan anggota dengan menonaktifkan model individual dalam konsol admin claude.ai. Pembatasan ini dikirimkan dengan hak akses akun ketika Claude Code mengautentikasi, terpisah dari daftar `availableModels` apa pun dalam pengaturan, dan server memberlakukan pembatasan yang sama secara independen ketika sesi dibuat. Memerlukan Claude Code v2.1.187 atau lebih baru.416Admin organisasi pada paket Claude Enterprise membatasi model mana yang dapat dijalankan anggota dengan menonaktifkan model individual dalam konsol admin claude.ai. Pembatasan ini dikirimkan dengan hak akun ketika Claude Code mengautentikasi, terpisah dari daftar `availableModels` apa pun dalam pengaturan, dan server memberlakukan pembatasan yang sama secara independen ketika sesi dibuat. Memerlukan Claude Code v2.1.187 atau lebih baru.

378 417 

379Pembatasan berlaku ketika anggota masuk atau menggunakan kunci API mereka sendiri. Kredensial yang dicakup organisasi, seperti kunci layanan organisasi, tidak terikat pada pengguna, jadi pembatasan tidak berlaku untuk mereka.418Pembatasan berlaku ketika anggota masuk atau menggunakan kunci API mereka sendiri. Kredensial yang bersifat organisasi, seperti kunci layanan organisasi, tidak terikat pada pengguna, jadi pembatasan tidak berlaku untuk mereka.

380 419 

381Claude Console tidak memiliki kontrol pembatasan model. Organisasi tanpa rencana Claude Enterprise, termasuk yang anggotanya mengautentikasi melalui Anthropic API, membatasi model dengan [`availableModels`](#restrict-model-selection) dalam [pengaturan terkelola](/docs/id/managed-settings), menambahkan [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) untuk mencakup opsi Default. [Cakupan permukaan](#surface-coverage) mengatakan bagaimana setiap permukaan menerima dan memberlakukan pengaturan ini.420Claude Console tidak memiliki kontrol pembatasan model. Organisasi tanpa paket Claude Enterprise, termasuk yang anggotanya mengautentikasi melalui Anthropic API, membatasi model dengan [`availableModels`](#restrict-model-selection) dalam [pengaturan terkelola](/docs/id/managed-settings), menambahkan [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) untuk mencakup opsi Default. [Cakupan permukaan](#surface-coverage) mengatakan bagaimana setiap permukaan menerima dan memberlakukan pengaturan ini.

382 421 

383Model yang dibatasi disembunyikan dari pemilih `/model`. Memilihnya berdasarkan nama dengan `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau pengaturan `model` menunjukkan pemberitahuan `Model "<name>" is restricted by your organization's settings. Using <model> instead.` dan sesi dimulai pada model yang diizinkan. Mengetik `/model <name>` untuk model yang dibatasi ditolak dengan `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` dan sesi mempertahankan model saat ini.422Model yang dibatasi disembunyikan dari pemilih `/model`. Memilihnya berdasarkan nama dengan `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau pengaturan `model` menunjukkan pemberitahuan `Model "<name>" is restricted by your organization's settings. Using <model> instead.` dan sesi dimulai pada model yang diizinkan. Mengetik `/model <name>` untuk model yang dibatasi ditolak dengan `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` dan sesi mempertahankan model saat ini.

384 423 

385[Alias keluarga model](#restrict-model-selection) seperti `opus` diselesaikan ke model biasanya ketika organisasi memungkinkannya. Ketika organisasi membatasi model itu, Claude Code mengganti versi terbaru keluarga yang organisasi izinkan, dengan pemberitahuan substitusi yang sama. `/model <alias>` ditolak hanya ketika setiap versi keluarganya dibatasi; alias yang diatur dengan `--model`, `ANTHROPIC_MODEL`, atau pengaturan `model` masih diganti saat startup dalam hal itu. Sebelum v2.1.205, alias keluarga diganti atau ditolak berdasarkan versi rilis terbarunya saja, bahkan ketika versi yang lebih lama diizinkan.424Alias keluarga model [](#restrict-model-selection) seperti `opus` diselesaikan ke model biasanya ketika organisasi memungkinkannya. Ketika organisasi membatasi model itu, Claude Code mengganti versi terbaru keluarga yang diizinkan organisasi, dengan pemberitahuan substitusi yang sama. `/model <alias>` ditolak hanya ketika setiap versi keluarganya dibatasi; alias yang diatur dengan `--model`, `ANTHROPIC_MODEL`, atau pengaturan `model` masih diganti saat startup dalam hal itu. Sebelum v2.1.205, alias keluarga diganti atau ditolak berdasarkan versi rilis terbarunya saja, bahkan ketika versi yang lebih lama diizinkan.

386 425 

387Pembatasan berlaku di seluruh organisasi atau per peran:426Pembatasan berlaku di seluruh organisasi atau per peran:

388 427 

389* Menonaktifkan model di tingkat organisasi menghapusnya untuk setiap anggota.428* Menonaktifkan model di tingkat organisasi menghapusnya untuk setiap anggota.

390* Akses tingkat peran memberikan model berbeda ke peran khusus yang berbeda, dan anggota yang memiliki beberapa peran dapat menggunakan model apa pun yang salah satu peran mereka berikan.429* Akses tingkat peran memberikan model berbeda ke peran khusus yang berbeda, dan anggota yang memiliki beberapa peran dapat menggunakan model apa pun yang diizinkan salah satu peran mereka.

391* Model Haiku selalu tersedia dan tidak dapat dinonaktifkan, jadi setiap anggota mempertahankan setidaknya satu model yang dapat digunakan.430* Model Haiku selalu tersedia dan tidak dapat dinonaktifkan, jadi setiap anggota mempertahankan setidaknya satu model yang dapat digunakan.

392* Perubahan akses berlaku di seluruh organisasi dalam waktu sekitar satu menit; pemilih `/model` mencerminkannya saat sesi berikutnya dimulai.431* Perubahan akses berlaku di seluruh organisasi dalam waktu sekitar satu menit; pemilih `/model` mencerminkannya saat sesi berikutnya dimulai.

393 432 

394Kedua pembatasan berlaku bersama: model dapat dipilih hanya ketika diizinkan oleh `availableModels` dan tidak dibatasi oleh organisasi. Pembatasan organisasi mencapai sesi pada Anthropic API dan penyebaran [gateway LLM](/docs/id/llm-gateway) saja; pada penyedia lain apa pun, gunakan `availableModels`.433Kedua pembatasan berlaku bersama: model dapat dipilih hanya ketika diizinkan oleh `availableModels` dan tidak dibatasi oleh organisasi. Pembatasan organisasi mencapai sesi pada Anthropic API dan penerapan [LLM gateway](/docs/id/llm-gateway) saja; pada penyedia lain apa pun, gunakan `availableModels`.

395 434 

396<h2 id="organization-default-model">435<h2 id="organization-default-model">

397 Model default organisasi436 Model default organisasi


417 456 

418Default organisasi melewati pemeriksaan pembatasan ini sebelum diadopsi:457Default organisasi melewati pemeriksaan pembatasan ini sebelum diadopsi:

419 458 

420* [`availableModels`](#restrict-model-selection) sendiri tidak berlaku untuk default organisasi, jadi default organisasi di luar daftar izin masih berlaku. Ketika [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) juga diatur, default organisasi di luar daftar izin dipetakan ulang ke entri daftar izin pertama, seperti Default lainnya459* Dengan pencocokan awalan default, [`availableModels`](#restrict-model-selection) sendiri tidak berlaku untuk default organisasi, jadi default organisasi di luar daftar izin masih berlaku. Ketika [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) juga diatur, default organisasi di luar daftar izin dipetakan ulang ke entri daftar izin pertama juga

421* default organisasi yang [pembatasan model organisasi](#organization-model-restrictions) tolak untuk akun Anda diganti dengan model terbaru yang diizinkan dalam keluarganya, atau keluarga biaya lebih rendah ketika setiap versinya dibatasi460* default organisasi yang [pembatasan model organisasi](#organization-model-restrictions) tolak untuk akun Anda diganti dengan model terbaru yang diizinkan dalam keluarganya, atau keluarga biaya lebih rendah ketika setiap versinya dibatasi

461* untuk default organisasi yang `deniedModels` atau daftar `"exact"` blokir, lihat [Blokir model atau versi spesifik](#block-specific-models-or-versions)

422* default organisasi yang tidak tersedia untuk akun Anda sama sekali dilewati, dan opsi Default diselesaikan seperti yang akan terjadi [tanpa default organisasi](#default-model-setting)462* default organisasi yang tidak tersedia untuk akun Anda sama sekali dilewati, dan opsi Default diselesaikan seperti yang akan terjadi [tanpa default organisasi](#default-model-setting)

423 463 

424Mulai dari v2.1.199, ketika default organisasi adalah keluarga model yang berbeda dari default biasa tipe akun Anda, pemilih `/model` menyimpan baris terpisah untuk keluarga biasa itu, sehingga Anda masih dapat beralih ke itu untuk sesi. Dalam v2.1.196 hingga v2.1.198 baris itu hilang dari pemilih.464Mulai dari v2.1.199, ketika default organisasi adalah keluarga model yang berbeda dari default biasa tipe akun Anda, pemilih `/model` menyimpan baris terpisah untuk keluarga biasa itu, sehingga Anda masih dapat beralih ke itu untuk sesi. Dalam v2.1.196 hingga v2.1.198 baris itu hilang dari pemilih.


451 491 

452Sebelum v2.1.280, `default` diselesaikan ke Sonnet 5 pada Pro dan Team Standard, dan ke Opus 5 pada Max, Team Premium, Enterprise, Anthropic API, Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.1.219. Sebelum v2.1.219, `default` diselesaikan ke Opus 4.8 pada Anthropic API, Max, Team Premium, dan Enterprise pay-as-you-go dari v2.1.154, dan pada Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.1.207. Sebelum v2.1.207, `default` diselesaikan ke Opus 4.7 pada Claude Platform on AWS dan ke Sonnet 4.5 pada Amazon Bedrock dan Google Cloud's Agent Platform.492Sebelum v2.1.280, `default` diselesaikan ke Sonnet 5 pada Pro dan Team Standard, dan ke Opus 5 pada Max, Team Premium, Enterprise, Anthropic API, Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.1.219. Sebelum v2.1.219, `default` diselesaikan ke Opus 4.8 pada Anthropic API, Max, Team Premium, dan Enterprise pay-as-you-go dari v2.1.154, dan pada Claude Platform on AWS, Amazon Bedrock, dan Google Cloud's Agent Platform dari v2.1.207. Sebelum v2.1.207, `default` diselesaikan ke Opus 4.7 pada Claude Platform on AWS dan ke Sonnet 4.5 pada Amazon Bedrock dan Google Cloud's Agent Platform.

453 493 

454Ketika admin telah menetapkan [model default organisasi](#organization-default-model), `default` diselesaikan ke model tersebut alih-alih default jenis akun di atas. Memerlukan Claude Code v2.1.196 atau lebih baru. `default` juga dapat diselesaikan ke model yang Anda atur dengan [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), di bawah kondisi yang tercantum di bagiannya.494Ketika admin telah menetapkan [model default organisasi](#organization-default-model), `default` diselesaikan ke model tersebut alih-alih default jenis akun di atas. Memerlukan Claude Code v2.1.196 atau lebih baru. `default` juga dapat diselesaikan ke model yang Anda atur dengan [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), di bawah kondisi yang tercantum di bagiannya, atau ke model [yang tercatat pada akun Anda](#setting-your-model).

455 495 

456Ketika pengaturan terkelola [memberlakukan daftar yang diizinkan untuk model Default](#enforce-the-allowlist-for-the-default-model) dan default jenis akun tidak ada dalam `availableModels`, `default` diselesaikan ke Default yang diberlakukan alih-alih default jenis akun di atas. Ketika keduanya berlaku, default organisasi menggantikan default jenis akun terlebih dahulu dan penegakan kemudian diterapkan padanya: default organisasi yang terdaftar dipertahankan, sementara yang di luar daftar diselesaikan ke Default yang diberlakukan.496Ketika tidak ada yang tercatat pada akun Anda, pengaturan terkelola [memberlakukan daftar yang diizinkan untuk model Default](#enforce-the-allowlist-for-the-default-model), dan default jenis akun tidak ada dalam `availableModels`, `default` diselesaikan ke Default yang diberlakukan alih-alih default jenis akun di atas. Ketika default organisasi dan penegakan keduanya berlaku, default organisasi menggantikan default jenis akun terlebih dahulu dan penegakan kemudian diterapkan padanya: default organisasi yang terdaftar dipertahankan, sementara yang di luar daftar diselesaikan ke Default yang diberlakukan.

457 497 

458Model Fable bukan default jenis akun pada paket atau penyedia apa pun. Memilih salah satu dengan `/model` menyimpannya sebagai model yang dipilih dalam pengaturan pengguna Anda, sehingga sesi berikutnya dimulai padanya. Untuk perubahan satu kali yang Claude Code buat pada pilihan Fable 5 yang disimpan di v2.1.257, lihat [Bekerja dengan Fable](#work-with-fable).498Model Fable bukan default jenis akun pada paket atau penyedia apa pun. Memilih salah satu dengan `/model` menyimpannya sebagai model yang dipilih dalam pengaturan pengguna Anda, sehingga sesi berikutnya dimulai padanya. Untuk perubahan satu kali yang Claude Code buat pada pilihan Fable 5 yang disimpan di v2.1.257, lihat [Bekerja dengan Fable](#work-with-fable).

459 499 


513 Fallback model otomatis553 Fallback model otomatis

514</h3>554</h3>

515 555 

516Bagian ini mencakup fallback berbasis konten dari model Fable, Opus 5.5, dan Opus 5. Untuk fallback berbasis ketersediaan ketika model kelebihan beban atau tidak tersedia, lihat [Rantai model fallback](#fallback-model-chains).556Bagian ini mencakup fallback berbasis konten dari model Fable, Opus 5.5, Sonnet 5.5, dan Opus 5. Untuk fallback berbasis ketersediaan ketika model kelebihan beban atau tidak tersedia, lihat [Rantai model fallback](#fallback-model-chains).

517 557 

518Model Fable, Opus 5.5, dan Opus 5 berjalan dengan pengklasifikasi keamanan, yang paling sering menandai konten keamanan siber dan biologi. Ketika pengklasifikasi menandai permintaan dan kategori yang ditandai memiliki model fallback, Claude Code menjalankan kembali permintaan pada model tersebut dan menampilkan pemberitahuan dalam transkrip. Untuk dua kategori tersebut, model fallback tergantung pada model mana yang menolak:558Model Fable, Opus 5.5, Sonnet 5.5, dan Opus 5 berjalan dengan pengklasifikasi keamanan, yang paling sering menandai konten keamanan siber dan biologi. Ketika pengklasifikasi menandai permintaan dan kategori yang ditandai memiliki model fallback, Claude Code menjalankan kembali permintaan pada model tersebut dan menampilkan pemberitahuan dalam transkrip. Untuk dua kategori tersebut, model fallback tergantung pada model mana yang menolak:

519 559 

520* **Fable 5.1, Fable 5, dan Opus 5.5**: permintaan yang ditandai biologi dijalankan kembali pada Opus 5, dan permintaan yang ditandai keamanan siber dijalankan kembali pada Opus 4.8.560* **Fable 5.1, Fable 5, dan Opus 5.5**: permintaan yang ditandai biologi dijalankan kembali pada Opus 5, dan permintaan yang ditandai keamanan siber dijalankan kembali pada Opus 4.8.

561* **Sonnet 5.5**: permintaan yang ditandai keamanan siber dijalankan kembali pada Sonnet 5. Permintaan yang ditandai biologi berakhir dengan penolakan, karena Sonnet 5.5 tidak memiliki model fallback biologi.

521* **Opus 5**: permintaan yang ditandai keamanan siber dijalankan kembali pada Opus 4.8. Permintaan yang ditandai biologi berakhir dengan penolakan, karena Opus 5 menjalankan pengklasifikasi biologi sendiri tanpa model fallback.562* **Opus 5**: permintaan yang ditandai keamanan siber dijalankan kembali pada Opus 4.8. Permintaan yang ditandai biologi berakhir dengan penolakan, karena Opus 5 menjalankan pengklasifikasi biologi sendiri tanpa model fallback.

522 563 

523Pada Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, Claude Code menyelesaikan target ini melalui penerapan Anda, dan jika Anda menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL`, kategori yang memiliki fallback dijalankan kembali pada model yang disematkan; lihat [Aktifkan fallback pada Bedrock, Agent Platform, dan Foundry](#enable-fallback-on-bedrock-agent-platform-and-foundry).564Pada Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, Claude Code menyelesaikan target ini melalui ID model penerapan Anda sebagai gantinya. Lihat [Aktifkan fallback pada Bedrock, Agent Platform, dan Foundry](#enable-fallback-on-bedrock-agent-platform-and-foundry).

524 565 

525Setelah fallback, sesi berlanjut pada model fallback. Untuk kembali ke model asli Anda, jalankan [`/model`](#setting-your-model).566Setelah fallback, sesi berlanjut pada model fallback. Untuk kembali ke model asli Anda, jalankan [`/model`](#setting-your-model).

526 567 


544 585 

545Beberapa kasus berperilaku berbeda:586Beberapa kasus berperilaku berbeda:

546 587 

547* Ketika kategori yang ditandai tidak memiliki model fallback, seperti flag biologi pada Opus 5, Claude Code tidak menampilkan prompt dan permintaan berakhir dengan penolakan.588* Ketika kategori yang ditandai tidak memiliki model fallback, seperti flag biologi pada Opus 5 atau Sonnet 5.5, Claude Code tidak menampilkan prompt dan permintaan berakhir dengan penolakan.

548* Jika kedua model menandai permintaan yang sama, Anda dapat mengedit prompt dan mencoba lagi, atau memulai sesi baru.589* Jika kedua model menandai permintaan yang sama, Anda dapat mengedit prompt dan mencoba lagi, atau memulai sesi baru.

549* Pada sesi [cloud sessions](/docs/id/claude-code-on-the-web) di aplikasi mobile, pengeditan dan pengulangan tidak didukung. Beralih model, atau lanjutkan sesi dari browser desktop atau aplikasi desktop.590* Pada [cloud sessions](/docs/id/claude-code-on-the-web) di aplikasi mobile, pengeditan dan pengulangan tidak didukung. Beralih model, atau lanjutkan sesi dari browser desktop atau aplikasi desktop.

550* Dalam [mode non-interaktif](/docs/id/cli-reference#cli-flags) dan integrasi SDK yang tidak dapat menampilkan prompt, permintaan yang ditandai mengakhiri giliran dengan penolakan.591* Dalam [mode non-interaktif](/docs/id/cli-reference#cli-flags) dan integrasi SDK yang tidak dapat menampilkan prompt, permintaan yang ditandai mengakhiri giliran dengan penolakan.

551* Ketika target fallback diblokir oleh [`availableModels`](#restrict-model-selection), Claude Code tidak menampilkan prompt. Permintaan yang ditandai berakhir dengan penolakan, sama seperti fallback otomatis ketika target diblokir.592* Ketika target fallback diblokir oleh [`availableModels`](#restrict-model-selection), Claude Code tidak menampilkan prompt. Permintaan yang ditandai berakhir dengan penolakan, sama seperti fallback otomatis ketika target diblokir.

552 593 


554 Aktifkan fallback pada Bedrock, Agent Platform, dan Foundry595 Aktifkan fallback pada Bedrock, Agent Platform, dan Foundry

555</h4>596</h4>

556 597 

557Pada [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), dan [Microsoft Foundry](/docs/id/microsoft-foundry), ID model khusus penyedia, jadi fallback otomatis hanya beroperasi ketika Claude Code dapat mengidentifikasi kedua model yang terlibat:598Pada [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), dan [Microsoft Foundry](/docs/id/microsoft-foundry), ID model khusus penyedia, jadi fallback otomatis hanya beroperasi ketika Claude Code dapat mengidentifikasi setiap model yang terlibat:

599 

600* Claude Code harus mengenali model saat ini sebagai sumber fallback. Fable 5.1 dan Fable 5 dikenali ketika ID model berisi `claude-fable-5`, cocok dengan nilai `ANTHROPIC_DEFAULT_FABLE_MODEL`, atau dipetakan dengan [`modelOverrides`](#override-model-ids-per-version). Opus 5.5, Sonnet 5.5, dan Opus 5 dikenali oleh ID model penyedianya atau pemetaan [`modelOverrides`](#override-model-ids-per-version).

601* Target Opus harus diselesaikan dalam penerapan Anda, model mana pun yang menolak: atur `ANTHROPIC_DEFAULT_OPUS_MODEL`, atau simpan entri Opus 4.8 dalam daftar model penyedia. Tanpa satu, fallback tetap mati untuk setiap model sumber, termasuk Sonnet 5.5, dan permintaan yang ditandai berakhir dengan penolakan.

602* Model fallback kategori yang ditandai harus diselesaikan dalam penerapan Anda. Dari model Fable, Opus 5.5, atau Opus 5, jika Anda menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL`, permintaan yang ditandai dijalankan kembali pada model tersebut untuk setiap kategori yang memiliki fallback; flag biologi pada Opus 5 masih berakhir dengan penolakan. Jika Anda tidak menetapkannya, permintaan yang ditandai keamanan siber dijalankan kembali pada entri Opus 4.8, dan permintaan yang ditandai biologi dari model Fable atau Opus 5.5 pada entri Opus 5. Dari Sonnet 5.5, permintaan yang ditandai keamanan siber dijalankan kembali pada model yang Anda atur dalam `ANTHROPIC_DEFAULT_SONNET_MODEL`, atau pada entri Sonnet 5 dalam daftar model penyedia jika Anda tidak menetapkannya.

558 603 

559* Claude Code harus mengenali model saat ini sebagai sumber fallback. Fable 5.1 dan Fable 5 dikenali ketika ID model berisi `claude-fable-5`, cocok dengan nilai `ANTHROPIC_DEFAULT_FABLE_MODEL`, atau dipetakan dengan [`modelOverrides`](#override-model-ids-per-version). Opus 5.5 dan Opus 5 dikenali oleh ID model penyedianya atau pemetaan [`modelOverrides`](#override-model-ids-per-version).604Jika salah satu model tidak dapat diidentifikasi, Claude Code tidak beralih. Permintaan yang ditandai berakhir dengan pesan penolakan, dan Anda dapat beralih model dengan [`/model`](#setting-your-model) dan mencoba lagi. Untuk membuat kedua model dapat diidentifikasi, atur pin untuk model sumber Anda:

560* Model fallback harus diselesaikan dalam penerapan Anda. Jika Anda menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL`, permintaan yang ditandai dijalankan kembali pada model tersebut untuk setiap kategori yang memiliki fallback; flag biologi pada Opus 5 masih berakhir dengan penolakan. Jika Anda tidak menetapkannya, permintaan yang ditandai keamanan siber dijalankan kembali pada entri Opus 4.8 dalam daftar model penyedia, dan permintaan yang ditandai biologi dari model Fable atau Opus 5.5 pada entri Opus 5.

561 605 

562Jika salah satu model tidak dapat diidentifikasi, Claude Code tidak beralih secara otomatis. Permintaan yang ditandai berakhir dengan pesan penolakan, dan Anda dapat beralih model dengan [`/model`](#setting-your-model) dan mencoba lagi. Menetapkan `ANTHROPIC_DEFAULT_FABLE_MODEL` ke ID model Fable Anda memungkinkan pengenalan Fable. Menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL` ke ID model Opus memberikan kategori yang ditandai target fallback, kecuali pin menamai model di luar keluarga Opus atau model yang menolak; kemudian Claude Code tidak beralih dan penolakan berdiri.606* **Model Fable**: atur `ANTHROPIC_DEFAULT_FABLE_MODEL` ke ID model Fable Anda sehingga Claude Code mengenalinya sebagai sumber fallback.

607* **Setiap model sumber**: atur `ANTHROPIC_DEFAULT_OPUS_MODEL` ke ID model Opus untuk mengaktifkan fallback dan memberikan kategori yang ditandai target. Pin yang menamai model di luar keluarga Opus, atau model yang menolak, membiarkan penolakan berdiri.

608* **Sonnet 5.5**: selain pin Opus, atur `ANTHROPIC_DEFAULT_SONNET_MODEL` atau simpan entri Sonnet 5 dalam daftar model penyedia untuk memasok model yang permintaan dijalankan kembali. Pin Sonnet yang menamai model di luar keluarga Sonnet, atau Sonnet 5.5 itu sendiri, membiarkan penolakan berdiri.

563 609 

564<h4 id="security-research-and-biology-workloads">610<h4 id="security-research-and-biology-workloads">

565 Penelitian keamanan dan beban kerja biologi611 Penelitian keamanan dan beban kerja biologi

566</h4>612</h4>

567 613 

568Beban kerja dalam keamanan ofensif atau biologi, termasuk penetration testing, latihan Capture the Flag (CTF), dan codebase yang berdekatan dengan biologi, memicu fallback sering, sering pada permintaan pertama. Untuk pekerjaan biologi substantif pada Fable 5.1, Fable 5, atau Opus 5.5, Claude Code memindahkan sesi ke Opus 5 pada permintaan pertama yang ditandai, dan permintaan yang ditandai biologi kemudian berakhir dalam penolakan di sana, karena Opus 5 tidak memiliki fallback biologi. Pada Opus 5, Anda mendapatkan penolakan tersebut dari permintaan pertama yang ditandai.614Beban kerja dalam keamanan ofensif atau biologi, termasuk penetration testing, latihan Capture the Flag (CTF), dan codebase yang berdekatan dengan biologi, memicu fallback sering, sering pada permintaan pertama. Untuk pekerjaan biologi substantif pada Fable 5.1, Fable 5, atau Opus 5.5, Claude Code memindahkan sesi ke Opus 5 pada permintaan pertama yang ditandai, dan permintaan yang ditandai biologi kemudian berakhir dalam penolakan di sana, karena Opus 5 tidak memiliki fallback biologi. Pada Opus 5 dan Sonnet 5.5, Anda mendapatkan penolakan tersebut dari permintaan pertama yang ditandai.

569 615 

570Ini adalah routing yang diharapkan untuk domain ini, bukan flag akun. Jika organisasi Anda memerlukan kemampuan kelas Fable untuk pekerjaan ini, tanyakan kepada tim akun Anthropic Anda tentang program akses terpercaya.616Ini adalah routing yang diharapkan untuk domain ini, bukan flag akun. Jika organisasi Anda memerlukan kemampuan kelas Fable untuk pekerjaan ini, tanyakan kepada tim akun Anthropic Anda tentang program akses terpercaya.

571 617 


580| Model | Tingkat |626| Model | Tingkat |

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

582| Fable 5.1 dan Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |628| Fable 5.1 dan Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8, dan Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |629| Opus 5.5, Sonnet 5.5, Opus 5, Sonnet 5, Opus 4.8, dan Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

584| Opus 4.6 dan Sonnet 4.6 | `low`, `medium`, `high`, `max` |630| Opus 4.6 dan Sonnet 4.6 | `low`, `medium`, `high`, `max` |

585 631 

586Jika Anda menetapkan tingkat yang model aktif tidak mendukung, Claude Code kembali ke tingkat tertinggi yang didukung pada atau di bawah yang Anda tetapkan. Misalnya, `xhigh` berjalan sebagai `high` pada Opus 4.6. Organisasi Anda juga dapat membatasi tingkat mana yang tersedia untuk model; lihat [Batas usaha organisasi](#organization-effort-limits).632Jika Anda menetapkan tingkat yang model aktif tidak mendukung, Claude Code kembali ke tingkat tertinggi yang didukung pada atau di bawah yang Anda tetapkan. Misalnya, `xhigh` berjalan sebagai `high` pada Opus 4.6. Organisasi Anda atau pengaturan Anda sendiri juga dapat membatasi tingkat mana yang tersedia untuk model; lihat [Batas usaha organisasi](#organization-effort-limits).

587 633 

588Dengan pengaturan [`ultracode`](/docs/id/settings-reference#ultracode) mati, Claude Code menyelesaikan tingkat usaha sesi dalam urutan ini, mengambil yang pertama yang berlaku:634Claude Code menyelesaikan tingkat usaha sesi dalam urutan ini, mengambil yang pertama yang berlaku:

589 635 

5901. Pilihan eksplisit: variabel lingkungan [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/id/env-vars#variables), peluncuran dengan `--effort`, atau `/effort` dalam sesi ([`/effort` non-interaktif memiliki efek lebih sempit](#non-interactive-effort))6361. Pilihan eksplisit: variabel lingkungan [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/id/env-vars#variables), peluncuran dengan `--effort`, atau `/effort` dalam sesi ([`/effort` non-interaktif memiliki efek lebih sempit](#non-interactive-effort))

5912. Pengaturan Anda: tingkat yang Anda simpan untuk model atau kunci [`effortLevel`](/docs/id/settings-reference#effortlevel), dengan prioritas di antara mereka dan di seluruh file pengaturan yang dinyatakan pada [`modelSettings`](/docs/id/settings-reference#modelsettings)6372. Pengaturan Anda: tingkat yang Anda simpan untuk model atau kunci [`effortLevel`](/docs/id/settings-reference#effortlevel), dengan prioritas di antara mereka dan di seluruh file pengaturan yang dinyatakan pada [`modelSettings`](/docs/id/settings-reference#modelsettings)

5923. Tingkat usaha default model: `high` pada setiap model yang mendukung usaha, kecuali Opus 5.5 default ke `medium`, Opus 4.7 default ke `xhigh`, dan, ketika organisasi Anda menetapkan tingkat usaha default untuk [model default organisasinya](#organization-default-model), tingkat itu adalah default ketika Anda menjalankan model tersebut6383. Tingkat usaha default model: `high` pada setiap model yang mendukung usaha, kecuali Opus 5.5 dan Sonnet 5.5 default ke `medium`, Opus 4.7 default ke `xhigh`, dan, ketika organisasi Anda menetapkan tingkat usaha default untuk [model default organisasinya](#organization-default-model), tingkat itu adalah default ketika Anda menjalankan model tersebut

593 639 

594Opus 5.5 dimulai pada `medium` kecuali salah satu sumber di atas menetapkan tingkat untuk itu, dan `effortLevel` tingkat atas dalam file pengaturan pengguna Anda tidak dihitung untuk Opus 5.5. Kunci itu adalah bentuk yang lebih lama `/effort` ditulis sebelum Claude Code menyimpan tingkat per model: itu terus berlaku di mana itu berlaku sebelumnya, pada Opus 5, Fable 5.1, dan model sebelumnya, sementara Opus 5.5 dan model yang dirilis setelahnya dimulai pada default mereka sendiri sampai Anda memilih tingkat untuk mereka dengan `/effort` atau pengambil `/model`. `effortLevel` tingkat atas dalam pengaturan proyek, lokal, atau terkelola, atau yang dilewatkan dengan `--settings`, berlaku untuk setiap model.640Opus 5.5 dimulai pada `medium` kecuali salah satu sumber di atas menetapkan tingkat untuk itu, dan `effortLevel` tingkat atas dalam file pengaturan pengguna Anda tidak dihitung untuk Opus 5.5. Kunci itu adalah bentuk yang lebih lama `/effort` ditulis sebelum Claude Code menyimpan tingkat per model: itu terus berlaku di mana itu berlaku sebelumnya, pada Opus 5, Fable 5.1, dan model sebelumnya, sementara Opus 5.5 dan model yang dirilis setelahnya dimulai pada default mereka sendiri sampai Anda memilih tingkat untuk mereka dengan `/effort` atau pengambil `/model`. `effortLevel` tingkat atas dalam pengaturan proyek, lokal, atau terkelola, atau yang dilewatkan dengan `--settings`, berlaku untuk setiap model.

595 641 


610 656 

611Ketika Anda menetapkan tingkat dengan `/effort` dalam [run `-p`](/docs/id/headless), Claude Code menerapkannya ke sesi itu saja dan tidak menyimpannya sebagai default Anda.657Ketika Anda menetapkan tingkat dengan `/effort` dalam [run `-p`](/docs/id/headless), Claude Code menerapkannya ke sesi itu saja dan tidak menyimpannya sebagai default Anda.

612 658 

613Menu `/effort` juga menawarkan `ultracode`. Ultracode adalah pengaturan Claude Code daripada tingkat usaha model: ia mengirim `xhigh` ke model dan selain itu memiliki Claude mengorkestra [alur kerja dinamis](/docs/id/workflows) untuk tugas-tugas substantif. Untuk di mana dapat diatur secara persisten, lihat pengaturan [`ultracode`](/docs/id/settings-reference#ultracode).659Slider `/effort` juga memiliki toggle **Ultracode**. Ultracode adalah pengaturan Claude Code daripada tingkat usaha model: dengan itu aktif, Claude mengorkestra [alur kerja dinamis](/docs/id/workflows) untuk tugas-tugas substantif, pada tingkat usaha apa pun sesi berjalan. Untuk di mana dapat diatur secara persisten, lihat pengaturan [`ultracode`](/docs/id/settings-reference#ultracode).

660 

661Mengaktifkan atau menonaktifkan ultracode dengan `/effort` atau pengaturan `ultracode` membiarkan tingkat usaha tidak berubah. Flag `--effort ultracode` dan nilai Agent SDK `effortLevel: "ultracode"` mengaktifkannya dan juga menetapkan tingkat ke `xhigh`. Memilih tingkat dalam slider `/effort` atau pengambil `/model` membiarkan ultracode seperti itu.

614 662 

615Anda dapat mengaktifkan ultracode melalui salah satu dari berikut ini:663Anda dapat mengaktifkan ultracode melalui salah satu dari berikut ini:

616 664 

617* **`/effort`**: jalankan `/effort ultracode`, atau pilih dari menu665* **`/effort`**: jalankan `/effort ultracode` untuk mengaktifkannya untuk sesi saat ini atau `/effort ultracode off` untuk menonaktifkannya. Dalam slider `/effort`, tekan `Tab` untuk membalik toggle **Ultracode**, kemudian `Enter` untuk menerapkannya

618* **Flag `--effort`**: luncurkan dengan `claude --effort ultracode`, yang memulai sesi pada usaha `xhigh` dengan ultracode aktif666* **Flag `--effort`**: luncurkan dengan `claude --effort ultracode`, yang memulai sesi pada usaha `xhigh` dengan ultracode aktif

619* **Pengaturan `ultracode`**: atur [`"ultracode": true`](/docs/id/settings-reference#ultracode) dalam file pengaturan, dengan `--settings`, atau dalam permintaan kontrol Agent SDK. Permintaan [`applyFlagSettings()`](/docs/id/agent-sdk/typescript#applyflagsettings) juga menerima `effortLevel: "ultracode"`667* **Pengaturan `ultracode`**: atur [`"ultracode": true`](/docs/id/settings-reference#ultracode) dalam file pengaturan, dengan `--settings`, atau dalam permintaan kontrol Agent SDK. Permintaan [`applyFlagSettings()`](/docs/id/agent-sdk/typescript#applyflagsettings) juga menerima `effortLevel: "ultracode"`, yang mengaktifkannya dan menetapkan tingkat usaha ke `xhigh`

620* **Pengambil `/model`**: pindahkan slider usaha ke `ultracode` dengan tombol panah saat Anda memilih model. Claude Code mengaktifkannya untuk sesi saat ini, bahkan ketika Anda menyimpan model tersebut sebagai default Anda668 

669Bentuk `/effort ultracode off`, toggle slider, dan menjaga ultracode aktif pada tingkat usaha selain `xhigh` memerlukan Claude Code v2.1.284 atau lebih baru. Sebelum v2.1.284, mengaktifkan ultracode menetapkan sesi ke usaha `xhigh`, memilih tingkat lain menonaktifkannya, dan batas usaha di bawah `xhigh` membuatnya tidak tersedia.

621 670 

622Melewatkan `ultracode` ke flag `--effort` atau nilai Agent SDK `effortLevel` memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, `--effort ultracode` mencetak `Unknown --effort value 'ultracode'` dan sesi dimulai pada usaha default.671Melewatkan `ultracode` ke flag `--effort` atau nilai Agent SDK `effortLevel` memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, `--effort ultracode` mencetak `Unknown --effort value 'ultracode'` dan sesi dimulai pada usaha default.

623 672 

624Pengaturan `effortLevel` yang bertahan dan variabel lingkungan `CLAUDE_CODE_EFFORT_LEVEL` tidak menerima `ultracode`. Ketika `CLAUDE_CODE_EFFORT_LEVEL` diatur ke tingkat selain `xhigh`, permintaan berjalan pada tingkat itu dan orkestrasi alur kerja ultracode tetap tidak aktif. Memilih ultracode kemudian menampilkan peringatan bahwa variabel lingkungan mengganti usaha untuk sesi.673Pengaturan `effortLevel` yang bertahan dan variabel lingkungan `CLAUDE_CODE_EFFORT_LEVEL` tidak menerima `ultracode`. Jika `CLAUDE_CODE_EFFORT_LEVEL` atau [batas usaha](#organization-effort-limits) menetapkan tingkat sesi, ultracode tetap aktif pada tingkat itu.

625 674 

626<span id="when-ultracode-is-available" />675<span id="when-ultracode-is-available" />

627 676 


629 678 

630* [Alur kerja dimatikan](/docs/id/workflows#turn-workflows-off)679* [Alur kerja dimatikan](/docs/id/workflows#turn-workflows-off)

631* Model tidak mendukung usaha `xhigh`680* Model tidak mendukung usaha `xhigh`

632* [Batas usaha](#organization-effort-limits) di bawah `xhigh` berlaku untuk model

633 681 

634Dalam kasus tersebut `--effort ultracode` memulai sesi dengan ultracode mati, pada tingkat usaha tertinggi yang model dan batas apa pun izinkan, hingga `xhigh`.682Dalam kasus tersebut `--effort ultracode` memulai sesi dengan ultracode mati, pada tingkat usaha tertinggi yang model dan batas apa pun izinkan, hingga `xhigh`.

635 683 


641 689 

642| Tingkat | Kapan menggunakannya |690| Tingkat | Kapan menggunakannya |

643| :- | :- |691| :- | :- |

644| `low` | Cadangkan untuk tugas pendek, terbatas, sensitif latensi yang tidak sensitif intelijen |692| `low` | Pertukaran cepat di mana Anda meninjau setiap hasil, seperti brainstorming, sketsa pertama, atau perubahan kecil seperti rename |

645| `medium` | Mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat menukar beberapa intelijen. Default pada Opus 5.5 |693| `medium` | Default pada Opus 5.5 dan Sonnet 5.5, di mana cocok untuk pekerjaan teknik sehari-hari dengan cakupan yang jelas, seperti mengimplementasikan fitur baru. Pada model lain, mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat menukar beberapa intelijen |

646| `high` | Menyeimbangkan penggunaan token dan intelijen. Default pada setiap model kecuali Opus 5.5 dan Opus 4.7 |694| `high` | Pekerjaan di mana verifikasi penting atau kasus tepi mungkin, seperti memperbaiki bug dalam codebase yang ada. Default pada setiap model kecuali Opus 5.5, Sonnet 5.5, dan Opus 4.7 |

647| `xhigh` | Penalaran lebih dalam pada pengeluaran token lebih tinggi. Default pada Opus 4.7 |695| `xhigh` | Penalaran lebih dalam pada pengeluaran token lebih tinggi. Default pada Opus 4.7 |

648| `max` | Dapat meningkatkan kinerja pada tugas menuntut tetapi mungkin menunjukkan hasil yang berkurang dan rentan terhadap overthinking. Uji sebelum mengadopsi secara luas |696| `max` | Masalah sulit yang Anda ingin Claude kerjakan tanpa Anda, seperti menemukan kerentanan keamanan. `max` mungkin menunjukkan hasil yang berkurang dan rentan terhadap overthinking, jadi uji sebelum mengadopsi secara luas |

649| `ultracode` | Pengaturan Claude Code yang merencanakan [alur kerja dinamis](/docs/id/workflows) untuk setiap tugas substantif dengan penalaran `xhigh` per pesan |697| `ultracode` | Pengaturan Claude Code daripada tingkat: merencanakan [alur kerja dinamis](/docs/id/workflows) untuk setiap tugas substantif pada tingkat usaha apa pun |

698 

699Dalam pengujian pada Opus 5.5 dan Fable 5.1, Claude pada tingkat yang lebih tinggi menguji lebih banyak kasus tepi dan memverifikasi lebih banyak pekerjaan sebelum menjawab. Ini juga membuat lebih banyak pilihan sendiri. Pada tingkat yang lebih rendah, Claude mengembalikan titik awal lebih cepat, yang cocok untuk pekerjaan di mana Anda meninjau setiap hasil dan mengarahkan langkah berikutnya. Untuk melihat tugas yang sama berjalan pada setiap tingkat, baca [Using Claude Code: Spending your effort](https://claude.dev/blog/spending-your-effort/) di blog.

650 700 

651Skala usaha dikalibrasi per model, jadi nama tingkat yang sama tidak mewakili nilai dasar yang sama di seluruh model.701Skala usaha dikalibrasi per model, jadi nama tingkat yang sama tidak mewakili nilai dasar yang sama di seluruh model.

652 702 

703Opus 5.5 [default ke `medium`](#adjust-effort-level), satu tingkat di bawah default Opus 5 yaitu `high`. Dalam pengujian Anthropic, Opus 5.5 pada `medium` cocok atau melebihi Opus 5 pada `high` pada evaluasi pengkodean dan pekerjaan pengetahuan. Pada tingkat yang diberikan, Opus 5.5 cenderung berpikir lebih per giliran daripada Opus 5. Ketika Anda pindah dari Opus 5 ke Opus 5.5, mulai pada `medium` daripada membawa tingkat yang Anda gunakan pada Opus 5. Untuk menguji tingkat terhadap pekerjaan Anda sendiri, lihat [Calibrate effort](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#calibrate-effort) dalam panduan prompting Opus 5.5.

704 

653<h4 id="use-ultrathink-for-one-off-deep-reasoning">705<h4 id="use-ultrathink-for-one-off-deep-reasoning">

654 Gunakan ultrathink untuk penalaran mendalam sekali jalan706 Gunakan ultrathink untuk penalaran mendalam sekali jalan

655</h4>707</h4>


682 734 

683Penalaran adaptif membuat pemikiran opsional pada setiap langkah, jadi Claude dapat merespons lebih cepat ke prompt rutin dan menyisihkan pemikiran lebih dalam untuk langkah-langkah yang mendapat manfaat darinya. Jika Anda ingin Claude berpikir lebih atau kurang sering daripada tingkat saat ini menghasilkan, Anda dapat mengatakan demikian langsung dalam prompt Anda atau dalam `CLAUDE.md`; model merespons panduan itu dalam pengaturan usahanya.735Penalaran adaptif membuat pemikiran opsional pada setiap langkah, jadi Claude dapat merespons lebih cepat ke prompt rutin dan menyisihkan pemikiran lebih dalam untuk langkah-langkah yang mendapat manfaat darinya. Jika Anda ingin Claude berpikir lebih atau kurang sering daripada tingkat saat ini menghasilkan, Anda dapat mengatakan demikian langsung dalam prompt Anda atau dalam `CLAUDE.md`; model merespons panduan itu dalam pengaturan usahanya.

684 736 

685Model Fable, Sonnet 5, dan Opus 4.7 dan lebih baru selalu menggunakan penalaran adaptif. Mode anggaran pemikiran tetap dan `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` tidak berlaku untuk mereka.737Model Fable, Sonnet 5 dan lebih baru, dan Opus 4.7 dan lebih baru selalu menggunakan penalaran adaptif. Mode anggaran pemikiran tetap dan `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` tidak berlaku untuk mereka.

686 738 

687Pada Opus 4.6 dan Sonnet 4.6, Anda dapat menetapkan `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` untuk kembali ke mode anggaran pemikiran tetap sebelumnya yang dikendalikan oleh `MAX_THINKING_TOKENS`. Lihat [variabel lingkungan](/docs/id/env-vars).739Pada Opus 4.6 dan Sonnet 4.6, Anda dapat menetapkan `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` untuk kembali ke mode anggaran pemikiran tetap sebelumnya yang dikendalikan oleh `MAX_THINKING_TOKENS`. Lihat [variabel lingkungan](/docs/id/env-vars).

688 740 


696| :- | :- |748| :- | :- |

697| Alihkan untuk sesi saat ini | Tekan `Option+T` pada macOS atau `Alt+T` pada Windows dan Linux |749| Alihkan untuk sesi saat ini | Tekan `Option+T` pada macOS atau `Alt+T` pada Windows dan Linux |

698| Atur default global | Jalankan `/config` dan alihkan mode pemikiran. Disimpan sebagai `alwaysThinkingEnabled` dalam `~/.claude/settings.json` |750| Atur default global | Jalankan `/config` dan alihkan mode pemikiran. Disimpan sebagai `alwaysThinkingEnabled` dalam `~/.claude/settings.json` |

699| Nonaktifkan melalui variabel lingkungan | Atur [`MAX_THINKING_TOKENS=0`](/docs/id/env-vars), yang menonaktifkan pemikiran pada Anthropic API kecuali pada Opus 5.5 dan model Fable. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations), Claude Code menghilangkan parameter `thinking` sebagai gantinya, dan model penalaran adaptif mungkin masih berpikir. Nilai lain hanya berlaku dengan [anggaran pemikiran tetap](#adaptive-reasoning-and-fixed-thinking-budgets) |751| Nonaktifkan melalui variabel lingkungan | Atur [`MAX_THINKING_TOKENS=0`](/docs/id/env-vars), yang menonaktifkan pemikiran pada Anthropic API kecuali pada Opus 5.5, Sonnet 5.5, dan model Fable. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations), Claude Code menghilangkan parameter `thinking` sebagai gantinya, dan model penalaran adaptif mungkin masih berpikir. Nilai lain hanya berlaku dengan [anggaran pemikiran tetap](#adaptive-reasoning-and-fixed-thinking-budgets) |

700 752 

701Pemikiran tidak dapat dimatikan pada Opus 5.5 atau model Fable. Alihan sesi, `alwaysThinkingEnabled`, dan `MAX_THINKING_TOKENS=0` tidak berpengaruh di sana, dan model memutuskan per langkah berapa banyak untuk berpikir berdasarkan tingkat usaha.753Pemikiran tidak dapat dimatikan pada Opus 5.5, Sonnet 5.5, atau model Fable. Alihan sesi, `alwaysThinkingEnabled`, dan `MAX_THINKING_TOKENS=0` tidak berpengaruh di sana, dan model memutuskan per langkah berapa banyak untuk berpikir berdasarkan tingkat usaha.

702 754 

703Claude Code meruntuhkan output pemikiran secara default. Tekan `Ctrl+O` untuk mengalihkan mode verbose dan lihat penalaran sebagai teks miring abu-abu. Sesi interaktif pada Anthropic API menerima blok pemikiran yang diredaksi secara default, jadi atur `showThinkingSummaries: true` dalam [pengaturan](/docs/id/settings) jika Anda menginginkan ringkasan lengkap yang tersedia saat Anda memperluas. Anda dikenakan biaya untuk semua token pemikiran yang dihasilkan, bahkan ketika diruntuhkan atau diredaksi.755Claude Code meruntuhkan output pemikiran secara default. Tekan `Ctrl+O` untuk mengalihkan mode verbose dan lihat penalaran sebagai teks miring abu-abu. Sesi interaktif pada Anthropic API menerima blok pemikiran yang diredaksi secara default, jadi atur `showThinkingSummaries: true` dalam [pengaturan](/docs/id/settings) jika Anda menginginkan ringkasan lengkap yang tersedia saat Anda memperluas. Anda dikenakan biaya untuk semua token pemikiran yang dihasilkan, bahkan ketika diruntuhkan atau diredaksi.

704 756 


706 Konteks diperpanjang758 Konteks diperpanjang

707</h3>759</h3>

708 760 

709Fable 5.1, Fable 5, Sonnet 5, Opus 4.6 dan 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 codebase besar.761Fable 5.1, Fable 5, Sonnet 5 dan lebih baru, Opus 4.6 dan 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 codebase besar.

710 762 

711Pada Anthropic API, Fable 5.1, Fable 5, Sonnet 5, dan Opus 4.7 dan lebih baru berjalan dengan jendela 1M pada setiap paket, termasuk Pro. Anda tidak memilih varian `[1m]` atau mengaktifkan kredit penggunaan untuk jendela 1M pada model ini. Penggunaan Fable itu sendiri dapat ditagih ke kredit penggunaan pada beberapa paket; lihat [Fable dan kredit penggunaan](#fable-and-usage-credits).763Pada Anthropic API, Fable 5.1, Fable 5, Sonnet 5 dan lebih baru, dan Opus 4.7 dan lebih baru berjalan dengan jendela 1M pada setiap paket, termasuk Pro. Anda tidak memilih varian `[1m]` atau mengaktifkan kredit penggunaan untuk jendela 1M pada model ini. Penggunaan Fable itu sendiri dapat ditagih ke kredit penggunaan pada beberapa paket; lihat [Fable dan kredit penggunaan](#fable-and-usage-credits).

712 764 

713Opus 4.6 dan Sonnet 4.6 mencapai 1M hanya melalui varian `[1m]` mereka, dan akses ke varian itu tergantung pada paket Anda. Pada paket Max, Team, dan Enterprise, termasuk kursi Team Standard dan Team Premium, Opus 4.6 dengan konteks 1M disertakan dengan langganan Anda. Sonnet 4.6 dengan konteks 1M memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pada setiap paket langganan, termasuk Max.765Opus 4.6 dan Sonnet 4.6 mencapai 1M hanya melalui varian `[1m]` mereka, dan akses ke varian itu tergantung pada paket Anda. Pada paket Max, Team, dan Enterprise, termasuk kursi Team Standard dan Team Premium, Opus 4.6 dengan konteks 1M disertakan dengan langganan Anda. Sonnet 4.6 dengan konteks 1M memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pada setiap paket langganan, termasuk Max.

714 766 


742/model claude-opus-4-8[1m]794/model claude-opus-4-8[1m]

743```795```

744 796 

745<h4 id="sonnet-5-context-window">797<h4 id="sonnet-5-5-and-sonnet-5-context-window">

746 Jendela konteks Sonnet 5798 Jendela konteks Sonnet 5.5 dan Sonnet 5

747</h4>799</h4>

748 800 

749Pada Anthropic API, Sonnet 5 selalu berjalan dengan jendela konteks 1M. Tidak ada varian 200K, tidak ada sufiks `[1m]` untuk dipilih, dan tidak ada kredit penggunaan yang diperlukan pada paket apa pun. Sesi auto-compact sebelum jendela penuh, pada sekitar 967K token secara default; atur [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/env-vars) untuk memilih ambang batas berbeda.801Pada Anthropic API, Sonnet 5.5 dan Sonnet 5 selalu berjalan dengan jendela konteks 1M. Tidak ada varian 200K, tidak ada sufiks `[1m]` untuk dipilih, dan tidak ada kredit penggunaan yang diperlukan pada paket apa pun. Sesi auto-compact sebelum jendela penuh, pada sekitar 967K token secara default; atur [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/id/env-vars) untuk memilih ambang batas berbeda.

750 802 

751Dua konfigurasi menganggarkan jendela pada 200K:803Dua konfigurasi menganggarkan jendela pada 200K:

752 804 

753* **Gateway LLM**: ketika `ANTHROPIC_BASE_URL` menunjuk pada [gateway](/docs/id/llm-gateway), Claude Code tidak dapat memverifikasi dukungan 1M. Untuk menggunakan jendela penuh, pilih Sonnet 5 (1M context) dalam pengambil model, yang memetakan ke `sonnet[1m]`.805* **Gateway LLM**: ketika `ANTHROPIC_BASE_URL` menunjuk pada [gateway](/docs/id/llm-gateway), Claude Code tidak dapat memverifikasi dukungan 1M. Untuk menggunakan jendela penuh, pilih Sonnet 5.5 (1M context) dalam pengambil model, yang memetakan ke `sonnet[1m]`, atau jalankan `/model claude-sonnet-5[1m]` untuk Sonnet 5.

754* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: menyimpan sesi pada setiap model dengan jendela 1M asli ke jendela 200K; lihat [Konteks diperpanjang](#extended-context) untuk cara hold ditegakkan. Berguna untuk penerapan yang perlu membatasi konteks.806* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: menyimpan sesi pada setiap model dengan jendela 1M asli ke jendela 200K; lihat [Konteks diperpanjang](#extended-context) untuk cara hold ditegakkan. Berguna untuk penerapan yang perlu membatasi konteks.

755 807 

756<h2 id="context-window-and-auto-compaction">808<h2 id="context-window-and-auto-compaction">


786* [Sesi cloud](/docs/id/claude-code-on-the-web) melakukan pemadatan saat percakapan mendekati batas model838* [Sesi cloud](/docs/id/claude-code-on-the-web) melakukan pemadatan saat percakapan mendekati batas model

787* Sonnet 4.6 dan Opus 4.6 tanpa [konteks diperluas](#extended-context) melakukan pemadatan pada batas 200K, dan begitu juga Opus 4.8 dan yang lebih baru ketika mereka berjalan dengan jendela konteks 200K, seperti di Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry839* Sonnet 4.6 dan Opus 4.6 tanpa [konteks diperluas](#extended-context) melakukan pemadatan pada batas 200K, dan begitu juga Opus 4.8 dan yang lebih baru ketika mereka berjalan dengan jendela konteks 200K, seperti di Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry

788* Ketika Anda mengatur [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/id/env-vars), model dengan jendela asli 1M, seperti Sonnet 5 dan model Fable, melakukan pemadatan pada batas 200K840* Ketika Anda mengatur [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/id/env-vars), model dengan jendela asli 1M, seperti Sonnet 5 dan model Fable, melakukan pemadatan pada batas 200K

789* Model yang berjalan dengan jendela asli 1M, seperti Sonnet 5, model Fable, dan Opus 4.7 dan yang lebih baru di Anthropic API, melakukan pemadatan sebelum jendela penuh, pada sekitar 967K token secara default. Di Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry, [Pin models for third-party deployments](#pin-models-for-third-party-deployments) mengatakan model mana yang berjalan dengan jendela itu; untuk konfigurasi yang menganggarkan Sonnet 5 pada 200K sebagai gantinya, lihat [Sonnet 5 context window](#sonnet-5-context-window)841* Model yang berjalan dengan jendela asli 1M, seperti Sonnet 5, model Fable, dan Opus 4.7 dan yang lebih baru di Anthropic API, melakukan pemadatan sebelum jendela penuh, pada sekitar 967K token secara default. Di Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry, [Pin models for third-party deployments](#pin-models-for-third-party-deployments) mengatakan model mana yang berjalan dengan jendela itu; untuk konfigurasi yang menganggarkan Sonnet 5.5 dan Sonnet 5 pada 200K sebagai gantinya, lihat [Sonnet 5.5 and Sonnet 5 context window](#sonnet-5-5-and-sonnet-5-context-window)

790* Sesi pada ID model yang Claude Code tidak kenali, seperti alias [gateway LLM](/docs/id/llm-gateway), melakukan pemadatan pada jendela konteks yang Claude Code asumsikan untuk ID; lihat [Correct the window for a gateway or custom model ID](#correct-the-window-for-a-gateway-or-custom-model-id)842* Sesi pada ID model yang Claude Code tidak kenali, seperti alias [gateway LLM](/docs/id/llm-gateway), melakukan pemadatan pada jendela konteks yang Claude Code asumsikan untuk ID; lihat [Correct the window for a gateway or custom model ID](#correct-the-window-for-a-gateway-or-custom-model-id)

791 843 

792<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">844<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">


861| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Model yang digunakan untuk `haiku`, atau [fungsionalitas latar belakang](/docs/id/costs#background-token-usage) |913| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Model yang digunakan untuk `haiku`, atau [fungsionalitas latar belakang](/docs/id/costs#background-token-usage) |

862| `CLAUDE_CODE_SUBAGENT_MODEL` | Model default untuk [subagents](/docs/id/sub-agents#choose-a-model), [agent team](/docs/id/agent-teams#specify-teammates-and-models) rekan kerja, dan agen [workflow](/docs/id/workflows) yang tidak ditugaskan model dengan cara lain. Menerima alias seperti `haiku` atau nama model lengkap. Model per-invocation atau bidang `model` definisi, termasuk `inherit`, mengambil prioritas. Untuk mengubah itu, atur [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/id/sub-agents#run-every-subagent-on-one-model) |914| `CLAUDE_CODE_SUBAGENT_MODEL` | Model default untuk [subagents](/docs/id/sub-agents#choose-a-model), [agent team](/docs/id/agent-teams#specify-teammates-and-models) rekan kerja, dan agen [workflow](/docs/id/workflows) yang tidak ditugaskan model dengan cara lain. Menerima alias seperti `haiku` atau nama model lengkap. Model per-invocation atau bidang `model` definisi, termasuk `inherit`, mengambil prioritas. Untuk mengubah itu, atur [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/id/sub-agents#run-every-subagent-on-one-model) |

863 915 

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

917 

864Catatan: `ANTHROPIC_SMALL_FAST_MODEL` sudah usang dan digantikan oleh `ANTHROPIC_DEFAULT_HAIKU_MODEL`.918Catatan: `ANTHROPIC_SMALL_FAST_MODEL` sudah usang dan digantikan oleh `ANTHROPIC_DEFAULT_HAIKU_MODEL`.

865 919 

866<h3 id="pin-models-for-third-party-deployments">920<h3 id="pin-models-for-third-party-deployments">


995| Variabel lingkungan | Deskripsi |1049| Variabel lingkungan | Deskripsi |

996| - | - |1050| - | - |

997| `DISABLE_PROMPT_CACHING` | Atur ke `1` untuk menonaktifkan prompt caching untuk semua model. Mengambil alih pengaturan per-model |1051| `DISABLE_PROMPT_CACHING` | Atur ke `1` untuk menonaktifkan prompt caching untuk semua model. Mengambil alih pengaturan per-model |

998| `DISABLE_PROMPT_CACHING_HAIKU` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Haiku |1052| `DISABLE_PROMPT_CACHING_HAIKU` | Atur ke `1` untuk menonaktifkan prompt caching untuk [model Haiku default](/docs/id/prompt-caching#disable-prompt-caching) |

999| `DISABLE_PROMPT_CACHING_SONNET` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Sonnet |1053| `DISABLE_PROMPT_CACHING_SONNET` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Sonnet |

1000| `DISABLE_PROMPT_CACHING_OPUS` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Opus |1054| `DISABLE_PROMPT_CACHING_OPUS` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Opus |

1001| `DISABLE_PROMPT_CACHING_FABLE` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Fable |1055| `DISABLE_PROMPT_CACHING_FABLE` | Atur ke `1` untuk menonaktifkan prompt caching hanya untuk model Fable |

1002 1056 

1003Untuk memilih cache TTL untuk percakapan utama dan untuk subagents secara terpisah, lihat [pilih TTL sendiri](/docs/id/prompt-caching#choose-the-ttl-yourself). Untuk apa yang memicu cache miss, lihat [Bagaimana Claude Code menggunakan prompt caching](/docs/id/prompt-caching).1057Untuk memilih cache TTL untuk percakapan utama dan untuk subagents secara terpisah, lihat [pilih TTL sendiri](/docs/id/prompt-caching#choose-the-ttl-yourself). Untuk apa yang memicu cache miss, lihat [Bagaimana Claude Code menggunakan prompt caching](/docs/id/prompt-caching).

1058 

1059<h2 id="version-history">

1060 Riwayat versi

1061</h2>

1062 

1063Tabel ini mencantumkan versi Claude Code di mana setiap alias model mengubah model yang diselesaikannya, yang terbaru terlebih dahulu.

1064 

1065| Versi | Perubahan |

1066| :- | :- |

1067| v2.1.284 | `sonnet` diselesaikan ke Sonnet 5.5 pada Anthropic API |

1068| v2.1.280 | `opus` diselesaikan ke Opus 5.5 pada Anthropic API, Claude Platform di AWS, Amazon Bedrock, dan Agent Platform Google Cloud |

1069| v2.1.257 | `fable` diselesaikan ke Fable 5.1, kecuali dalam sesi gateway aplikasi Claude |

1070| v2.1.219 | `opus` diselesaikan ke Opus 5 pada Anthropic API, Claude Platform di AWS, Amazon Bedrock, dan Agent Platform |

1071| v2.1.207 | `opus` diselesaikan ke Opus 4.8 pada Claude Platform di AWS, Amazon Bedrock, dan Agent Platform |

1072| v2.1.197 | `sonnet` diselesaikan ke Sonnet 5 pada Anthropic API |

1073| v2.1.154 | `opus` diselesaikan ke Opus 4.8 pada Anthropic API |

1074| Sebelumnya | `opus` diselesaikan ke Opus 4.7 pada Claude Platform di AWS dan ke Opus 4.6 pada Amazon Bedrock dan Agent Platform. `fable` diselesaikan ke Fable 5 pada setiap penyedia |

Details

39 39 

40Untuk memverifikasi pengaturan yang mengekspor metrik, periksa backend Anda untuk metrik `claude_code.session.count`, yang Claude Code keluarkan saat sesi dimulai. Untuk memverifikasi pengaturan hanya log, kirimkan prompt dan periksa acara `claude_code.user_prompt`.40Untuk memverifikasi pengaturan yang mengekspor metrik, periksa backend Anda untuk metrik `claude_code.session.count`, yang Claude Code keluarkan saat sesi dimulai. Untuk memverifikasi pengaturan hanya log, kirimkan prompt dan periksa acara `claude_code.user_prompt`.

41 41 

42Jika tidak ada yang tiba, jalankan `claude --debug` dan periksa log debug. Claude Code melaporkan kegagalan dari pengekspor yang Anda konfigurasikan sebagai kesalahan `[3P telemetry]`, di mana 3P berarti pihak ketiga. Baris yang diawali dengan `[Anthropic telemetry]` menjelaskan [telemetri operasional terpisah Anthropic](/docs/id/data-usage#telemetry-services) dan tidak menunjukkan masalah dengan pengaturan Anda.42Jika tidak ada yang tiba, jalankan Claude Code dengan `claude --debug-file <path>` dan periksa log yang ditulisnya ke jalur tersebut. Claude Code melaporkan kegagalan dari pengekspor yang Anda konfigurasikan sebagai kesalahan `[3P telemetry]`, di mana 3P berarti pihak ketiga. Baris yang diawali dengan `[Anthropic telemetry]` menjelaskan [telemetri operasional terpisah Anthropic](/docs/id/data-usage#telemetry-services) dan tidak menunjukkan masalah dengan pengaturan Anda.

43 43 

44Untuk opsi konfigurasi lengkap, lihat [spesifikasi OpenTelemetry](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options).44Untuk opsi konfigurasi lengkap, lihat [spesifikasi OpenTelemetry](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options).

45 45 


72 Bagaimana pengaturan terkelola mengunci tujuan OTLP72 Bagaimana pengaturan terkelola mengunci tujuan OTLP

73</h3>73</h3>

74 74 

75Ketika Anda menetapkan variabel `OTEL_EXPORTER_OTLP_*` dalam pengaturan terkelola, Claude Code menghapus variabel yang ditetapkan pengembang yang bertentangan saat startup dan mencatat peringatan yang dapat Anda lihat dengan `claude --debug`. Apa yang dihapusnya tergantung pada variabel mana yang Anda tetapkan:75Ketika Anda menetapkan variabel `OTEL_EXPORTER_OTLP_*` dalam pengaturan terkelola, Claude Code menghapus variabel yang ditetapkan pengembang yang bertentangan saat startup dan mencatat peringatan dalam debug log. Apa yang dihapusnya tergantung pada variabel mana yang Anda tetapkan:

76 76 

77* **Endpoints**: ketika Anda menetapkan `OTEL_EXPORTER_OTLP_ENDPOINT`, Claude Code menghapus setiap titik akhir per-sinyal yang ditetapkan pengembang. Pengembang tidak dapat mengarahkan satu sinyal ke kolektor yang berbeda, jadi Anda tidak perlu juga menetapkan variabel titik akhir per-sinyal dalam pengaturan terkelola.77* **Endpoints**: ketika Anda menetapkan `OTEL_EXPORTER_OTLP_ENDPOINT`, Claude Code menghapus setiap titik akhir per-sinyal yang ditetapkan pengembang. Pengembang tidak dapat mengarahkan satu sinyal ke kolektor yang berbeda, jadi Anda tidak perlu juga menetapkan variabel titik akhir per-sinyal dalam pengaturan terkelola.

78* **Protokol**: ketika Anda menetapkan `OTEL_EXPORTER_OTLP_PROTOCOL`, Claude Code menghapus setiap protokol per-sinyal yang ditetapkan pengembang.78* **Protokol**: ketika Anda menetapkan `OTEL_EXPORTER_OTLP_PROTOCOL`, Claude Code menghapus setiap protokol per-sinyal yang ditetapkan pengembang.


127| `OTEL_LOGS_EXPORT_INTERVAL` | Interval ekspor log dalam milidetik (default: 5000) | `1000`, `10000` |127| `OTEL_LOGS_EXPORT_INTERVAL` | Interval ekspor log dalam milidetik (default: 5000) | `1000`, `10000` |

128| `OTEL_LOG_USER_PROMPTS` | Aktifkan pencatatan konten prompt pengguna (default: dinonaktifkan) | `1` untuk mengaktifkan |128| `OTEL_LOG_USER_PROMPTS` | Aktifkan pencatatan konten prompt pengguna (default: dinonaktifkan) | `1` untuk mengaktifkan |

129| `OTEL_LOG_ASSISTANT_RESPONSES` | Aktifkan pencatatan teks respons asisten pada acara `assistant_response` (default: dinonaktifkan). Saat tidak diatur, kembali ke nilai `OTEL_LOG_USER_PROMPTS`. Memerlukan Claude Code v2.1.193 atau lebih baru | `1` untuk mengaktifkan, `0` untuk tetap disunting |129| `OTEL_LOG_ASSISTANT_RESPONSES` | Aktifkan pencatatan teks respons asisten pada acara `assistant_response` (default: dinonaktifkan). Saat tidak diatur, kembali ke nilai `OTEL_LOG_USER_PROMPTS`. Memerlukan Claude Code v2.1.193 atau lebih baru | `1` untuk mengaktifkan, `0` untuk tetap disunting |

130| `OTEL_LOG_TOOL_DETAILS` | Aktifkan pencatatan parameter alat dan argumen input dalam acara alat dan atribut span trace: perintah Bash, nama server MCP dan alat, nama skill, nama workflow yang ditulis pengguna, dan input alat. Juga mengaktifkan nama perintah custom, plugin, dan MCP pada acara `user_prompt` (default: dinonaktifkan). Untuk server bawaan Claude Desktop, dalam sesi yang dimiliki Claude Desktop, `mcp_server_name`/`mcp_tool_name` dipancarkan pada `tool_decision`/`tool_result` bahkan dengan flag mati. Pengecualian memerlukan Claude Code v2.1.214 atau lebih baru | `1` untuk mengaktifkan |130| `OTEL_LOG_TOOL_DETAILS` | Aktifkan pencatatan parameter alat dan argumen input dalam acara alat dan atribut span trace: perintah Bash, nama server MCP dan alat, nama skill, nama workflow yang ditulis pengguna, dan input alat. Juga mengaktifkan nama perintah custom, plugin, dan MCP pada acara `user_prompt`, dan nama agen, skill, plugin, dan server MCP dan alat yang sebenarnya pada [penghitung biaya dan token](#cost-counter) (default: dinonaktifkan). Untuk server bawaan Claude Desktop, dalam sesi yang dimiliki Claude Desktop, `mcp_server_name`/`mcp_tool_name` dipancarkan pada `tool_decision`/`tool_result` bahkan dengan flag mati. Pengecualian memerlukan Claude Code v2.1.214 atau lebih baru | `1` untuk mengaktifkan |

131| `OTEL_LOG_TOOL_CONTENT` | Aktifkan pencatatan konten alat dalam acara span [`tool.output`](#tool-output-span-event) (default: dinonaktifkan). Atribut span membawa konten alat di bawah [gerbang mereka sendiri](#new-context-gates). Memerlukan [tracing](#traces-beta). Konten dipotong pada batas konten (60 KB secara default) | `1` untuk mengaktifkan |131| `OTEL_LOG_TOOL_CONTENT` | Aktifkan pencatatan konten alat dalam acara span [`tool.output`](#tool-output-span-event) (default: dinonaktifkan). Atribut span membawa konten alat di bawah [gerbang mereka sendiri](#new-context-gates). Memerlukan [tracing](#traces-beta). Konten dipotong pada batas konten (60 KB secara default) | `1` untuk mengaktifkan |

132| `OTEL_LOG_MANAGED_SETTINGS` | Tambahkan pengaturan terkelola yang disunting, dan digest SHA-256 dari pengaturan sebelum penyuntingan, ke acara [managed settings resolved](#managed-settings-resolved-event) (default: dinonaktifkan). Nilai dalam pengaturan proyek atau lokal tidak mengaktifkannya. Memerlukan Claude Code v2.1.274 atau lebih baru | `1` untuk mengaktifkan |132| `OTEL_LOG_MANAGED_SETTINGS` | Tambahkan pengaturan terkelola yang disunting, dan digest SHA-256 dari pengaturan sebelum penyuntingan, ke acara [managed settings resolved](#managed-settings-resolved-event) (default: dinonaktifkan). Nilai dalam pengaturan proyek atau lokal tidak mengaktifkannya. Memerlukan Claude Code v2.1.274 atau lebih baru | `1` untuk mengaktifkan |

133| `OTEL_LOG_RAW_API_BODIES` | Emit badan permintaan dan respons JSON API Anthropic Messages lengkap sebagai acara log `api_request_body` / `api_response_body` (default: dinonaktifkan). Badan mencakup seluruh riwayat percakapan. Mengaktifkan ini menyiratkan persetujuan untuk semua yang akan diungkapkan oleh `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS`, dan `OTEL_LOG_TOOL_CONTENT` | `1` untuk badan inline dipotong pada batas konten (60 KB secara default), atau `file:<dir>` untuk badan tidak dipotong di disk dengan pointer `body_ref` dalam acara |133| `OTEL_LOG_RAW_API_BODIES` | Emit badan permintaan dan respons JSON API Anthropic Messages lengkap sebagai acara log `api_request_body` / `api_response_body` (default: dinonaktifkan). Badan mencakup seluruh riwayat percakapan. Mengaktifkan ini menyiratkan persetujuan untuk semua yang akan diungkapkan oleh `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS`, dan `OTEL_LOG_TOOL_CONTENT` | `1` untuk badan inline dipotong pada batas konten (60 KB secara default), atau `file:<dir>` untuk badan tidak dipotong di disk dengan pointer `body_ref` dalam acara |


257| `output_tokens` | Jumlah token output | |257| `output_tokens` | Jumlah token output | |

258| `cache_read_tokens` | Token yang dibaca dari prompt cache | |258| `cache_read_tokens` | Token yang dibaca dari prompt cache | |

259| `cache_creation_tokens` | Token yang ditulis ke prompt cache | |259| `cache_creation_tokens` | Token yang ditulis ke prompt cache | |

260| `request_id` | ID permintaan API Anthropic dari header respons `request-id` | |260| `request_id` | ID permintaan API. Nilai yang sama dengan atribut korelasi acara `request_id` [event correlation attribute](#event-correlation-attributes) | |

261| `gen_ai.response.id` | Nilai yang sama dengan `request_id`. Konvensi semantik GenAI OpenTelemetry | |261| `gen_ai.response.id` | Nilai yang sama dengan `request_id`. Konvensi semantik GenAI OpenTelemetry | |

262| `client_request_id` | `x-client-request-id` yang dihasilkan klien dari upaya terakhir | |262| `client_request_id` | `x-client-request-id` yang dihasilkan klien dari upaya terakhir | |

263| `attempt` | Total upaya yang dilakukan untuk permintaan ini | |263| `attempt` | Total upaya yang dilakukan untuk permintaan ini | |


296 296 

297Jika Anda menetapkan `OTEL_LOG_TOOL_CONTENT=1`, panggilan Read dan Bash dapat mencatat acara span `tool.output` pada span `claude_code.tool`. Panggilan Edit dan Write mencatat satu hanya saat Anda juga menetapkan `OTEL_LOG_TOOL_DETAILS=1`. Variabel itu tidak dibatasi pada kedua alat tersebut, jadi periksa [barisnya dalam tabel konfigurasi](#common-configuration-variables) untuk argumen yang ditambahkannya di tempat lain.297Jika Anda menetapkan `OTEL_LOG_TOOL_CONTENT=1`, panggilan Read dan Bash dapat mencatat acara span `tool.output` pada span `claude_code.tool`. Panggilan Edit dan Write mencatat satu hanya saat Anda juga menetapkan `OTEL_LOG_TOOL_DETAILS=1`. Variabel itu tidak dibatasi pada kedua alat tersebut, jadi periksa [barisnya dalam tabel konfigurasi](#common-configuration-variables) untuk argumen yang ditambahkannya di tempat lain.

298 298 

299Alat MCP, WebFetch, dan WebSearch juga mencatat acara ini, pada Claude Code v2.1.283 atau lebih baru.

300 

299Claude Code menulis acara ini dari pengembalian yang berhasil dari panggilan alat, jadi panggilan yang menimbulkan kesalahan tidak mencatat apa pun, apa pun alatnya. Di antara panggilan yang memang kembali, itu tidak mencatat acara `tool.output` untuk:301Claude Code menulis acara ini dari pengembalian yang berhasil dari panggilan alat, jadi panggilan yang menimbulkan kesalahan tidak mencatat apa pun, apa pun alatnya. Di antara panggilan yang memang kembali, itu tidak mencatat acara `tool.output` untuk:

300 302 

301* Panggilan ke alat apa pun selain Read, Edit, Write, dan Bash, termasuk alat MCP dan WebFetch303* Panggilan ke alat apa pun selain Read, Edit, Write, Bash, WebFetch, WebSearch, dan alat MCP

302* Read yang mengembalikan apa pun selain teks file, seperti gambar, PDF, atau pembacaan ulang file yang isinya belum berubah304* Read yang mengembalikan apa pun selain teks file, seperti gambar, PDF, atau pembacaan ulang file yang isinya belum berubah

303* Panggilan Edit atau Write, kecuali Anda juga menetapkan `OTEL_LOG_TOOL_DETAILS=1`305* Panggilan Edit atau Write, kecuali Anda juga menetapkan `OTEL_LOG_TOOL_DETAILS=1`

306* Panggilan WebFetch atau WebSearch yang Claude Code pindahkan ke latar belakang karena Anda mengganggu giliran untuk [mengirim pesan antrian Anda segera](/docs/id/interactive-mode#when-claude-code-sends-what-you-queued) saat panggilan berjalan. Claude menerima hasil itu nanti, setelah span alat berakhir

304 307 

305Acara membawa atribut-atribut ini, masing-masing dipotong pada batas konten (60 KB secara default). `Gated by` menamai variabel yang dibutuhkan atribut di atas `OTEL_LOG_TOOL_CONTENT=1`, dan untuk Edit dan Write variabel itu mengatur acara itu sendiri daripada atribut.308Acara membawa atribut-atribut ini, masing-masing dipotong pada batas konten (60 KB secara default). `Gated by` menamai variabel yang dibutuhkan atribut di atas `OTEL_LOG_TOOL_CONTENT=1`, dan untuk Edit dan Write variabel itu mengatur acara itu sendiri daripada atribut.

306 309 

307| Atribut | Deskripsi | Gated by |310| Atribut | Deskripsi | Gated by |

308| - | - | - |311| - | - | - |

309| `content` | Teks yang dikembalikan alat Read, atau teks yang diminta panggilan Write untuk ditulis | `OTEL_LOG_TOOL_DETAILS` untuk alat Write |312| `content` | Teks yang dikembalikan alat Read, atau teks yang diminta panggilan Write untuk ditulis | `OTEL_LOG_TOOL_DETAILS` untuk alat Write |

310| `output` | Output gabungan dari perintah Bash, dengan stderr yang diselipkan ke stdout | |313| `output` | Untuk alat Bash, output gabungan dari perintah, dengan stderr yang diselipkan ke stdout. Untuk alat MCP, WebFetch, atau WebSearch, hasil yang dikembalikan alat: blok teks digabungkan dengan baris baru, dengan gambar atau dokumen diganti dengan placeholder seperti `[image]` | |

311| `diff` | Patch terstruktur yang diterapkan alat Edit | `OTEL_LOG_TOOL_DETAILS` |314| `diff` | Patch terstruktur yang diterapkan alat Edit | `OTEL_LOG_TOOL_DETAILS` |

312| `file_path` | Jalur file target untuk alat Read, Edit, dan Write, mengulangi atribut span dengan nama yang sama | `OTEL_LOG_TOOL_DETAILS` |315| `file_path` | Jalur file target untuk alat Read, Edit, dan Write, mengulangi atribut span dengan nama yang sama | `OTEL_LOG_TOOL_DETAILS` |

313| `bash_command` | String perintah untuk alat Bash | `OTEL_LOG_TOOL_DETAILS` |316| `bash_command` | String perintah untuk alat Bash | `OTEL_LOG_TOOL_DETAILS` |


561 564 

562Atur `OTEL_METRICS_INCLUDE_REPOSITORY=true` untuk menandai metrik dan acara dengan identitas repositori sesi, sehingga kolektor bersama dapat mengaitkan penggunaan per repositori. Memerlukan Claude Code v2.1.269 atau lebih baru.565Atur `OTEL_METRICS_INCLUDE_REPOSITORY=true` untuk menandai metrik dan acara dengan identitas repositori sesi, sehingga kolektor bersama dapat mengaitkan penggunaan per repositori. Memerlukan Claude Code v2.1.269 atau lebih baru.

563 566 

564Claude Code menurunkan atribut ini sekali per sesi dari remote `origin` repositori. Remote HTTPS dan SSH dari satu repositori menghasilkan nilai yang identik:567Claude Code menurunkan atribut ini sekali per sesi dari remote `origin` repositori. Saat remote HTTPS dan SSH dari satu repositori menamai host dan jalur yang sama, seperti yang mereka lakukan di GitHub, GitLab, dan Bitbucket Cloud, keduanya menghasilkan nilai yang identik:

565 568 

566| Atribut | Nilai |569| Atribut | Nilai |

567| - | - |570| - | - |


572 575 

573Nilai diubah menjadi huruf kecil, dan kredensial, string kueri, dan fragmen dari URL remote tidak pernah muncul di dalamnya. Atribut dihilangkan saat sesi tidak memiliki remote `origin`, saat remote tidak berbentuk URL, atau saat satu-satunya repositori yang menutup adalah direktori home Anda.576Nilai diubah menjadi huruf kecil, dan kredensial, string kueri, dan fragmen dari URL remote tidak pernah muncul di dalamnya. Atribut dihilangkan saat sesi tidak memiliki remote `origin`, saat remote tidak berbentuk URL, atau saat satu-satunya repositori yang menutup adalah direktori home Anda.

574 577 

578Untuk mendapatkan atribut ini dari [sesi cloud](/docs/id/claude-code-on-the-web), atur variabel telemetri, termasuk `OTEL_METRICS_INCLUDE_REPOSITORY`, pada [lingkungan cloud](/docs/id/cloud-environments#set-environment-variables)-nya. Juga izinkan domain kolektor Anda di [akses jaringan](/docs/id/cloud-environments#network-access) lingkungan.

579 

575Kunci `vcs.*` yang Anda deklarasikan dalam [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) menggantikan nilai yang diturunkan untuk kunci itu. Jika Anda mendeklarasikan `vcs.repository.url.full`, Claude Code tidak pernah membaca remote dan hanya melaporkan kunci yang Anda deklarasikan.580Kunci `vcs.*` yang Anda deklarasikan dalam [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) menggantikan nilai yang diturunkan untuk kunci itu. Jika Anda mendeklarasikan `vcs.repository.url.full`, Claude Code tidak pernah membaca remote dan hanya melaporkan kunci yang Anda deklarasikan.

576 581 

582Jika klon HTTPS dan SSH dari satu repositori melaporkan nilai yang berbeda, seperti pada instalasi yang di-host sendiri yang URL klon HTTPS-nya membawa awalan jalur yang URL SSH tidak memiliki, deklarasikan `vcs.repository.url.full` dalam `OTEL_RESOURCE_ATTRIBUTES` bersama dengan setiap kunci `vcs.*` lainnya yang ingin Anda laporkan. Setiap klon kemudian melaporkan identitas yang Anda deklarasikan.

583 

577Atribut mengalir hanya ke pengekspor Anda sendiri; telemetri Anthropic menghilangkan setiap kunci `vcs.*`.584Atribut mengalir hanya ke pengekspor Anda sendiri; telemetri Anthropic menghilangkan setiap kunci `vcs.*`.

578 585 

579<h3 id="metrics">586<h3 id="metrics">


650 657 

651Ditingkatkan setelah setiap permintaan API.658Ditingkatkan setelah setiap permintaan API.

652 659 

660Atribut `agent.name`, `skill.name`, `plugin.name`, `mcp_server.name`, dan `mcp_tool.name` masing-masing meredaksi beberapa nama menjadi placeholder `"custom"` atau `"third-party"` secara default. Jika Anda menetapkan `OTEL_LOG_TOOL_DETAILS=1`, mereka membawa nama asli sebagai gantinya. Sebelum v2.1.273, penghitung biaya dan token serta acara `api_request`, `api_error`, dan `api_refusal` membawa nilai yang diredaksi bahkan dengan `OTEL_LOG_TOOL_DETAILS=1` diatur.

661 

653**Atribut**:662**Atribut**:

654 663 

655* Semua [atribut standar](#standard-attributes)664* Semua [atribut standar](#standard-attributes)

656* `model`: Pengidentifikasi model (misalnya, "claude-sonnet-5")665* `model`: Pengidentifikasi model (misalnya, "claude-sonnet-5")

657* `query_source`: Kategori subsistem yang mengeluarkan permintaan. Salah satu dari `"main"`, `"subagent"`, atau `"auxiliary"`666* `query_source`: Kategori subsistem yang mengeluarkan permintaan. Salah satu dari `"main"`, `"subagent"`, atau `"auxiliary"`

658* `speed`: `"fast"` saat permintaan menggunakan mode cepat. Tidak ada sebaliknya667* `speed`: `"fast"` saat permintaan menggunakan mode cepat. Tidak ada sebaliknya

659* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan: `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Tidak ada saat model tidak mendukung effort.668* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan: `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Tidak ada saat Claude Code tidak mengirim tingkat effort, misalnya pada model yang tidak mendukung effort.

660* `agent.name`: Jenis subagent yang mengeluarkan permintaan. Nama agen built-in dan agen dari plugin marketplace resmi muncul verbatim. Nama agen yang ditentukan pengguna lainnya diganti dengan `"custom"` kecuali `OTEL_LOG_TOOL_DETAILS=1` diatur. Tidak ada saat permintaan tidak dikeluarkan oleh jenis subagent bernama.669* `agent.name`: Jenis subagent yang mengeluarkan permintaan. Nama agen built-in dan agen dari plugin marketplace resmi muncul verbatim. Nama agen yang ditentukan pengguna lainnya diganti dengan `"custom"`. Tidak ada saat permintaan tidak dikeluarkan oleh jenis subagent bernama.

661* `skill.name`: Skill aktif untuk permintaan, diatur oleh alat Skill, perintah `/`, atau diwarisi oleh subagent yang dihasilkan. Nama skill built-in, bundled, yang ditentukan pengguna, dan plugin marketplace resmi muncul verbatim. Nama skill plugin pihak ketiga diganti dengan `"third-party"` kecuali `OTEL_LOG_TOOL_DETAILS=1` diatur. Tidak ada saat tidak ada skill yang aktif.670* `skill.name`: Skill aktif untuk permintaan, diatur oleh alat Skill atau perintah `/`, atau diwarisi oleh subagent yang dihasilkan. Nama skill built-in, bundled, yang ditentukan pengguna, dan plugin marketplace resmi muncul verbatim. Nama skill plugin pihak ketiga diganti dengan `"third-party"`. Tidak ada saat tidak ada skill yang aktif.

662* `plugin.name`: Plugin pemilik saat skill atau subagent aktif disediakan oleh plugin. Nama plugin marketplace resmi muncul verbatim. Nama plugin pihak ketiga diganti dengan `"third-party"` kecuali `OTEL_LOG_TOOL_DETAILS=1` diatur. Tidak ada saat skill atau subagent tidak memiliki plugin pemilik.671* `plugin.name`: Plugin pemilik saat skill atau subagent aktif disediakan oleh plugin. Nama plugin marketplace resmi muncul verbatim. Nama plugin pihak ketiga diganti dengan `"third-party"`. Tidak ada saat skill atau subagent tidak memiliki plugin pemilik.

663* `marketplace.name`: Marketplace tempat plugin pemilik diinstal. Hanya dipancarkan untuk plugin marketplace resmi. Tidak ada sebaliknya.672* `marketplace.name`: Marketplace tempat plugin pemilik diinstal. Hanya dipancarkan untuk plugin marketplace resmi, bahkan dengan `OTEL_LOG_TOOL_DETAILS=1` diatur. Tidak ada sebaliknya.

664* `mcp_server.name`: Server MCP yang alatnya berjalan dalam giliran yang menghasilkan permintaan ini. Nama server built-in, claude.ai-proxied, dan official-registry muncul verbatim. Nama server yang dikonfigurasi pengguna diganti dengan `"custom"` kecuali `OTEL_LOG_TOOL_DETAILS=1` diatur. Tidak ada saat tidak ada alat MCP yang berjalan. Sebelum v2.1.222, Claude Code menetapkan atribut ini pada setiap permintaan setelah panggilan alat MCP, bukan hanya pada permintaan yang menggunakan hasil alat, jadi dasbor yang mengagregasinya menunjukkan penurunan setelah Anda upgrade.673* `mcp_server.name`: Server MCP yang alatnya berjalan dalam giliran yang menghasilkan permintaan ini. Nama server built-in, claude.ai-proxied, dan official-registry muncul verbatim. Nama server yang dikonfigurasi pengguna diganti dengan `"custom"`. Tidak ada saat permintaan tidak menggunakan hasil alat MCP. Sebelum v2.1.222, Claude Code menetapkan atribut ini pada setiap permintaan setelah panggilan alat MCP, bukan hanya pada permintaan yang menggunakan hasil alat, jadi dasbor yang mengagregasinya menunjukkan penurunan setelah Anda upgrade.

665* `mcp_tool.name`: Alat MCP yang berjalan dalam giliran yang menghasilkan permintaan ini, dengan redaksi yang sama dan perilaku versi sebagai `mcp_server.name`. Tidak ada saat tidak ada alat MCP yang berjalan.674* `mcp_tool.name`: Alat MCP yang hasil-nya permintaan ini menggunakan, dengan redaksi yang sama dan perilaku versi sebagai `mcp_server.name`. Tidak ada saat permintaan tidak menggunakan hasil alat MCP.

666 675 

667<h4 id="token-counter">676<h4 id="token-counter">

668 Penghitung token677 Penghitung token


722| `prompt.id` | Pengidentifikasi UUID v4 yang menghubungkan semua acara yang dihasilkan saat memproses prompt pengguna tunggal |731| `prompt.id` | Pengidentifikasi UUID v4 yang menghubungkan semua acara yang dihasilkan saat memproses prompt pengguna tunggal |

723| `event.sequence` | Penghitung berbasis 0 untuk mengurutkan acara, dihitung per proses Claude Code daripada per sesi |732| `event.sequence` | Penghitung berbasis 0 untuk mengurutkan acara, dihitung per proses Claude Code daripada per sesi |

724| `message.uuid` | UUID pesan seperti yang disimpan dalam transkrip sesi, file `~/.claude/projects/*/*.jsonl`. Hadir pada `assistant_response`, pada `api_response_body`, dan pada `user_prompt` kecuali untuk command dispatches, yang dapat menghasilkan nol atau banyak pesan. Pada `assistant_response` dan `api_response_body`, ini adalah entri transkrip akhir respons, yang `parentUuid` giliran berikutnya berantai dari. Memerlukan Claude Code v2.1.214 atau lebih baru, atau v2.1.274 atau lebih baru pada `api_response_body` |733| `message.uuid` | UUID pesan seperti yang disimpan dalam transkrip sesi, file `~/.claude/projects/*/*.jsonl`. Hadir pada `assistant_response`, pada `api_response_body`, dan pada `user_prompt` kecuali untuk command dispatches, yang dapat menghasilkan nol atau banyak pesan. Pada `assistant_response` dan `api_response_body`, ini adalah entri transkrip akhir respons, yang `parentUuid` giliran berikutnya berantai dari. Memerlukan Claude Code v2.1.214 atau lebih baru, atau v2.1.274 atau lebih baru pada `api_response_body` |

734| `request_id` | ID yang ditetapkan server dari permintaan API, dibaca dari header respons `request-id`, seperti `req_011...`. Pada respons tanpa header `request-id`, seperti pada [Amazon Bedrock](/docs/id/amazon-bedrock), nilai berasal dari header `x-amzn-requestid` sebagai gantinya. Hadir pada `api_request`, `api_error`, `api_refusal`, `assistant_response`, dan `api_response_body` saat respons membawa salah satu header. Cocok dengan atribut yang sama pada span trace `llm_request`. Sumber `x-amzn-requestid` memerlukan Claude Code v2.1.282 atau lebih baru |

725| `client_request_id` | UUID yang dihasilkan klien dikirim sebagai header permintaan `x-client-request-id`. Hadir pada `api_request` dan `api_error` pada koneksi API pihak pertama; tidak ada pada backend penyedia pihak ketiga dan saat permintaan diulang melalui fallback non-streaming. Memasangkan permintaan dengan responsnya dan tetap tersedia untuk kegagalan seperti timeout yang tidak pernah menghasilkan `request_id` server. Cocok dengan atribut yang sama pada span trace `llm_request`. Memerlukan Claude Code v2.1.214 atau lebih baru |735| `client_request_id` | UUID yang dihasilkan klien dikirim sebagai header permintaan `x-client-request-id`. Hadir pada `api_request` dan `api_error` pada koneksi API pihak pertama; tidak ada pada backend penyedia pihak ketiga dan saat permintaan diulang melalui fallback non-streaming. Memasangkan permintaan dengan responsnya dan tetap tersedia untuk kegagalan seperti timeout yang tidak pernah menghasilkan `request_id` server. Cocok dengan atribut yang sama pada span trace `llm_request`. Memerlukan Claude Code v2.1.214 atau lebih baru |

726 736 

727Untuk melacak semua aktivitas yang dipicu oleh prompt tunggal, filter acara Anda berdasarkan nilai `prompt.id` tertentu. Ini mengembalikan acara user\_prompt, acara api\_request apa pun, dan acara tool\_result apa pun yang terjadi saat memproses prompt tersebut.737Untuk melacak semua aktivitas yang dipicu oleh prompt tunggal, filter acara Anda berdasarkan nilai `prompt.id` tertentu. Ini mengembalikan acara user\_prompt, acara api\_request apa pun, dan acara tool\_result apa pun yang terjadi saat memproses prompt tersebut.


771* `response_length`: Panjang teks respons dalam karakter781* `response_length`: Panjang teks respons dalam karakter

772* `response`: Teks respons, dipotong pada batas konten (60 KB secara default). Diredaksi menjadi `<REDACTED>` secara default. Atur `OTEL_LOG_ASSISTANT_RESPONSES=1` untuk menyertakannya. Saat `OTEL_LOG_ASSISTANT_RESPONSES` tidak diatur, `OTEL_LOG_USER_PROMPTS` mengontrolnya sebagai gantinya, jadi atur `OTEL_LOG_ASSISTANT_RESPONSES=0` untuk menjaga respons diredaksi saat logging prompt aktif782* `response`: Teks respons, dipotong pada batas konten (60 KB secara default). Diredaksi menjadi `<REDACTED>` secara default. Atur `OTEL_LOG_ASSISTANT_RESPONSES=1` untuk menyertakannya. Saat `OTEL_LOG_ASSISTANT_RESPONSES` tidak diatur, `OTEL_LOG_USER_PROMPTS` mengontrolnya sebagai gantinya, jadi atur `OTEL_LOG_ASSISTANT_RESPONSES=0` untuk menjaga respons diredaksi saat logging prompt aktif

773* `model`: Pengidentifikasi model (misalnya, "claude-sonnet-5")783* `model`: Pengidentifikasi model (misalnya, "claude-sonnet-5")

774* `request_id`: ID permintaan API Anthropic dari header `request-id` respons. Hadir hanya saat API mengembalikan satu784* `request_id`: ID permintaan API, dijelaskan di bawah [Atribut korelasi acara](#event-correlation-attributes)

775* `message.uuid`: UUID entri transkrip akhir respons. Respons API disimpan sebagai satu entri transkrip per blok konten; ini adalah yang terakhir, yang `parentUuid` giliran berikutnya berantai dari. Memerlukan Claude Code v2.1.214 atau lebih baru785* `message.uuid`: UUID entri transkrip akhir respons. Respons API disimpan sebagai satu entri transkrip per blok konten; ini adalah yang terakhir, yang `parentUuid` giliran berikutnya berantai dari. Memerlukan Claude Code v2.1.214 atau lebih baru

776* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent786* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent

777 787 


831* `output_tokens`: Jumlah token output841* `output_tokens`: Jumlah token output

832* `cache_read_tokens`: Jumlah token yang dibaca dari cache842* `cache_read_tokens`: Jumlah token yang dibaca dari cache

833* `cache_creation_tokens`: Jumlah token yang digunakan untuk pembuatan cache843* `cache_creation_tokens`: Jumlah token yang digunakan untuk pembuatan cache

834* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.844* `request_id`: ID permintaan API, seperti `"req_011..."`, dijelaskan di bawah [Atribut korelasi acara](#event-correlation-attributes).

835* `client_request_id`: UUID yang dihasilkan klien dikirim sebagai header permintaan `x-client-request-id`; lihat tabel [atribut korelasi acara](#event-correlation-attributes) untuk kapan itu ada. Memerlukan Claude Code v2.1.214 atau lebih baru845* `client_request_id`: UUID yang dihasilkan klien dikirim sebagai header permintaan `x-client-request-id`; lihat tabel [atribut korelasi acara](#event-correlation-attributes) untuk kapan itu ada. Memerlukan Claude Code v2.1.214 atau lebih baru

836* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah mode cepat aktif846* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah mode cepat aktif

837* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent847* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent

838* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan: `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Tidak ada saat model tidak mendukung effort.848* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan: `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Tidak ada saat Claude Code tidak mengirim tingkat effort, misalnya pada model yang tidak mendukung effort.

839* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.849* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.

840 850 

841<h4 id="api-error-event">851<h4 id="api-error-event">


857* `status_code`: Kode status HTTP sebagai angka. Tidak ada untuk kesalahan non-HTTP seperti kegagalan koneksi.867* `status_code`: Kode status HTTP sebagai angka. Tidak ada untuk kesalahan non-HTTP seperti kegagalan koneksi.

858* `duration_ms`: Durasi permintaan dalam milidetik868* `duration_ms`: Durasi permintaan dalam milidetik

859* `attempt`: Jumlah total upaya yang dilakukan, termasuk permintaan awal (`1` berarti tidak ada retry yang terjadi)869* `attempt`: Jumlah total upaya yang dilakukan, termasuk permintaan awal (`1` berarti tidak ada retry yang terjadi)

860* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.870* `request_id`: ID permintaan API, seperti `"req_011..."`, dijelaskan di bawah [Atribut korelasi acara](#event-correlation-attributes).

861* `client_request_id`: UUID yang dihasilkan klien dikirim sebagai header permintaan `x-client-request-id`. Tersedia bahkan saat kegagalan seperti timeout atau kesalahan koneksi tidak pernah menghasilkan `request_id` server; lihat tabel [atribut korelasi acara](#event-correlation-attributes) untuk kapan itu ada. Memerlukan Claude Code v2.1.214 atau lebih baru871* `client_request_id`: UUID yang dihasilkan klien dikirim sebagai header permintaan `x-client-request-id`. Tersedia bahkan saat kegagalan seperti timeout atau kesalahan koneksi tidak pernah menghasilkan `request_id` server; lihat tabel [atribut korelasi acara](#event-correlation-attributes) untuk kapan itu ada. Memerlukan Claude Code v2.1.214 atau lebih baru

862* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah mode cepat aktif872* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah mode cepat aktif

863* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent873* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent

864* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Tidak ada saat model tidak mendukung effort.874* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Tidak ada saat Claude Code tidak mengirim tingkat effort, misalnya pada model yang tidak mendukung effort.

865* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.875* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribusi skill, plugin, agen, dan MCP untuk permintaan. Lihat [Penghitung biaya](#cost-counter) untuk definisi dan perilaku redaksi.

866 876 

867<h4 id="api-refusal-event">877<h4 id="api-refusal-event">


879* `event.timestamp`: Stempel waktu ISO 8601889* `event.timestamp`: Stempel waktu ISO 8601

880* `event.sequence`: penghitung per-proses untuk mengurutkan acara, dijelaskan di bawah [Atribut korelasi acara](#event-correlation-attributes)890* `event.sequence`: penghitung per-proses untuk mengurutkan acara, dijelaskan di bawah [Atribut korelasi acara](#event-correlation-attributes)

881* `model`: Pengidentifikasi model dari permintaan891* `model`: Pengidentifikasi model dari permintaan

882* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.892* `request_id`: ID permintaan API, seperti `"req_011..."`, dijelaskan di bawah [Atribut korelasi acara](#event-correlation-attributes).

883* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent. Lihat [`api_request`](#api-request-event) untuk definisi.893* `query_source`: Subsistem yang mengeluarkan permintaan, seperti `"repl_main_thread"`, `"compact"`, atau nama subagent. Lihat [`api_request`](#api-request-event) untuk definisi.

884* `speed`: Baik `"fast"` saat [Mode cepat](/docs/id/fast-mode) aktif, atau `"normal"`894* `speed`: Baik `"fast"` saat [Mode cepat](/docs/id/fast-mode) aktif, atau `"normal"`

885* `attempt`: Nomor upaya retry. Upaya pertama adalah `1`.895* `attempt`: Nomor upaya retry. Upaya pertama adalah `1`.

886* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Tidak ada saat model tidak mendukung effort.896* `effort`: [Tingkat effort](/docs/id/model-config#adjust-effort-level) yang diterapkan pada permintaan. Tidak ada saat Claude Code tidak mengirim tingkat effort, misalnya pada model yang tidak mendukung effort.

887* `server_fallback_hop`: `true` saat fallback model server-side API sudah mencoba ulang penolakan ini pada model yang berbeda, jadi pengguna tidak melihat penolakan khusus ini. `false` saat permintaan berakhir dalam penolakan. Satu giliran dapat memancarkan acara hop `true` dan acara akhir `false` yang lebih baru saat model fallback juga menolak.897* `server_fallback_hop`: `true` saat fallback model server-side API sudah mencoba ulang penolakan ini pada model yang berbeda, jadi pengguna tidak melihat penolakan khusus ini. `false` saat permintaan berakhir dalam penolakan. Satu giliran dapat memancarkan acara hop `true` dan acara akhir `false` yang lebih baru saat model fallback juga menolak.

888* `has_category`: `true` saat respons API membawa `stop_details.category` dari `"cyber"`, `"bio"`, `"frontier_llm"`, atau `"reasoning_extraction"`. `false` saat respons tidak membawa kategori atau nilai di luar set itu. Tidak ada saat `server_fallback_hop` adalah `true`, karena blok hop tidak membawa `stop_details`.898* `has_category`: `true` saat respons API membawa `stop_details.category` dari `"cyber"`, `"bio"`, `"frontier_llm"`, atau `"reasoning_extraction"`. `false` saat respons tidak membawa kategori atau nilai di luar set itu. Tidak ada saat `server_fallback_hop` adalah `true`, karena blok hop tidak membawa `stop_details`.

889* `has_explanation`: `true` saat respons API membawa `stop_details.explanation`, sebaliknya `false`. Tidak ada saat `server_fallback_hop` adalah `true`.899* `has_explanation`: `true` saat respons API membawa `stop_details.explanation`, sebaliknya `false`. Tidak ada saat `server_fallback_hop` adalah `true`.


934* `body_truncated`: `"true"` saat pemotongan inline terjadi. Tidak ada dalam mode file dan saat tidak ada pemotongan yang terjadi.944* `body_truncated`: `"true"` saat pemotongan inline terjadi. Tidak ada dalam mode file dan saat tidak ada pemotongan yang terjadi.

935* `model`: Pengidentifikasi model945* `model`: Pengidentifikasi model

936* `query_source`: Subsistem yang mengeluarkan permintaan946* `query_source`: Subsistem yang mengeluarkan permintaan

937* `request_id`: ID permintaan API Anthropic dari header `request-id` respons, seperti `"req_011..."`. Hadir hanya saat API mengembalikan satu.947* `request_id`: ID permintaan API, seperti `"req_011..."`, dijelaskan di bawah [Atribut korelasi acara](#event-correlation-attributes).

938* `request_body_id`: `request_body_id` dari acara [`api_request_body`](#api-request-body-event) yang dijawab respons ini. Memerlukan Claude Code v2.1.274 atau lebih baru948* `request_body_id`: `request_body_id` dari acara [`api_request_body`](#api-request-body-event) yang dijawab respons ini. Memerlukan Claude Code v2.1.274 atau lebih baru

939* `message.id`: ID pesan yang ditetapkan API ke respons, bidang `id` dari badan respons. Memerlukan Claude Code v2.1.274 atau lebih baru949* `message.id`: ID pesan yang ditetapkan API ke respons, bidang `id` dari badan respons. Memerlukan Claude Code v2.1.274 atau lebih baru

940* `message.uuid`: UUID entri transkrip akhir respons. Bersama dengan `request_body_id`, itu menghubungkan pesan transkrip ke badan permintaan dan respons di baliknya. Memerlukan Claude Code v2.1.274 atau lebih baru950* `message.uuid`: UUID entri transkrip akhir respons. Bersama dengan `request_body_id`, itu menghubungkan pesan transkrip ke badan permintaan dan respons di baliknya. Memerlukan Claude Code v2.1.274 atau lebih baru


1563}1573}

1564```1574```

1565 1575 

1566Untuk mengonfirmasi acara tiba, kirimkan prompt dalam sesi yang berjalan di bawah konfigurasi ini dan periksa SIEM Anda untuk acara `claude_code.user_prompt`. Jika tidak ada yang tiba, jalankan `claude --debug` dan periksa log debug untuk kesalahan ekspor `[3P telemetry]`.1576Untuk mengonfirmasi acara tiba, kirimkan prompt dalam sesi yang berjalan di bawah konfigurasi ini dan periksa SIEM Anda untuk acara `claude_code.user_prompt`. Jika tidak ada yang tiba, jalankan Claude Code dengan `claude --debug-file <path>` dan periksa log itu untuk kesalahan ekspor `[3P telemetry]`.

1567 1577 

1568<h2 id="backend-considerations">1578<h2 id="backend-considerations">

1569 Pertimbangan backend1579 Pertimbangan backend


1633 * Acara `tool_result` dan `tool_decision` menyertakan atribut `tool_parameters` dengan perintah Bash, nama server MCP dan alat, dan nama skill. Bidang seperti `full_command` dipancarkan tanpa pemotongan1643 * Acara `tool_result` dan `tool_decision` menyertakan atribut `tool_parameters` dengan perintah Bash, nama server MCP dan alat, dan nama skill. Bidang seperti `full_command` dipancarkan tanpa pemotongan

1634 * Acara `tool_result` juga menyertakan atribut `tool_input` dengan jalur file, URL, pola pencarian, dan argumen lainnya. Nilai individual di atas 512 karakter dipotong dan total dibatasi hingga \~4 K karakter1644 * Acara `tool_result` juga menyertakan atribut `tool_input` dengan jalur file, URL, pola pencarian, dan argumen lainnya. Nilai individual di atas 512 karakter dipotong dan total dibatasi hingga \~4 K karakter

1635 * Acara `user_prompt` menyertakan `command_name` verbatim untuk perintah custom, plugin, dan MCP1645 * Acara `user_prompt` menyertakan `command_name` verbatim untuk perintah custom, plugin, dan MCP

1646 * [Penghitung biaya dan token](#cost-counter) dan acara `api_request`, `api_error`, dan `api_refusal` membawa nama agen, skill, plugin, dan server MCP dan alat yang sebenarnya dalam atribut atribusi mereka

1636 * Trace spans menyertakan atribut `tool_input` yang sama dan atribut yang diturunkan dari input seperti `file_path`, dengan pemotongan yang sama dengan `tool_input`1647 * Trace spans menyertakan atribut `tool_input` yang sama dan atribut yang diturunkan dari input seperti `file_path`, dengan pemotongan yang sama dengan `tool_input`

1637* Konten alat tidak dicatat dalam trace spans secara default. Untuk menyertakannya, atur `OTEL_LOG_TOOL_CONTENT=1`. Span `claude_code.tool` kemudian membawa acara span [`tool.output`](#tool-output-span-event) dengan konten file mentah dan output perintah Bash, dipotong pada batas konten (60 KB secara default) per atribut. Konten alat juga menjangkau spans melalui [`new_context`, yang gatenya berbeda per span](#new-context-gates). Konfigurasikan backend telemetri Anda untuk memfilter atau menyunting atribut ini sesuai kebutuhan1648* Konten alat tidak dicatat dalam trace spans secara default. Untuk menyertakannya, atur `OTEL_LOG_TOOL_CONTENT=1`. Span `claude_code.tool` kemudian membawa acara span [`tool.output`](#tool-output-span-event) dengan konten file mentah, output perintah Bash, dan apa yang dikembalikan alat MCP, WebFetch, dan WebSearch, dipotong pada batas konten (60 KB secara default) per atribut. Hasil dari alat MCP, WebFetch, dan WebSearch memerlukan Claude Code v2.1.283 atau lebih baru. Konten alat juga menjangkau spans melalui [`new_context`, yang gatenya berbeda per span](#new-context-gates). Konfigurasikan backend telemetri Anda untuk memfilter atau menyunting atribut ini sesuai kebutuhan

1638* Badan permintaan dan respons API Anthropic Messages mentah tidak dicatat secara default. Untuk menyertakannya, atur `OTEL_LOG_RAW_API_BODIES` di shell, pengaturan pengguna, atau pengaturan terkelola Anda. Ini diabaikan dalam [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env). Badan berisi riwayat percakapan lengkap, termasuk system prompt, setiap giliran pengguna dan asisten sebelumnya, dan hasil alat, jadi mengaktifkan ini menyiratkan persetujuan untuk semua yang akan diungkapkan oleh flag konten `OTEL_LOG_*` lainnya. Claude Code selalu menyunting konten extended-thinking Claude dari badan ini, terlepas dari pengaturan lain. Nilai yang Anda atur menentukan bagaimana Claude Code mengirimkan badan:1649* Badan permintaan dan respons API Anthropic Messages mentah tidak dicatat secara default. Untuk menyertakannya, atur `OTEL_LOG_RAW_API_BODIES` di shell, pengaturan pengguna, atau pengaturan terkelola Anda. Ini diabaikan dalam [pengaturan proyek dan lokal](/docs/id/settings-reference#variables-claude-code-ignores-in-env). Badan berisi riwayat percakapan lengkap, termasuk system prompt, setiap giliran pengguna dan asisten sebelumnya, dan hasil alat, jadi mengaktifkan ini menyiratkan persetujuan untuk semua yang akan diungkapkan oleh flag konten `OTEL_LOG_*` lainnya. Claude Code selalu menyunting konten extended-thinking Claude dari badan ini, terlepas dari pengaturan lain. Nilai yang Anda atur menentukan bagaimana Claude Code mengirimkan badan:

1639 * Dengan `=1`, Claude Code memancarkan acara log `api_request_body` dan `api_response_body` untuk setiap panggilan API. Atribut `body` acara membawa muatan yang diserialisasi JSON, dipotong pada batas konten (60 KB secara default)1650 * Dengan `=1`, Claude Code memancarkan acara log `api_request_body` dan `api_response_body` untuk setiap panggilan API. Atribut `body` acara membawa muatan yang diserialisasi JSON, dipotong pada batas konten (60 KB secara default)

1640 * Dengan `=file:<dir>`, Claude Code menulis badan yang tidak dipotong ke file `.request.json` dan `.response.json` di bawah direktori tersebut, dan acara membawa jalur `body_ref` sebagai gantinya dari badan inline. Kirim direktori dengan pengumpul log atau sidecar daripada melalui aliran telemetri.1651 * Dengan `=file:<dir>`, Claude Code menulis badan yang tidak dipotong ke file `.request.json` dan `.response.json` di bawah direktori tersebut, dan acara membawa jalur `body_ref` sebagai gantinya dari badan inline. Kirim direktori dengan pengumpul log atau sidecar daripada melalui aliran telemetri.

overview.md +3 −1

Details

18 <Tab title="Terminal">18 <Tab title="Terminal">

19 CLI lengkap untuk bekerja dengan Claude Code langsung di terminal Anda. Edit file, jalankan perintah, dan kelola seluruh proyek Anda dari baris perintah.19 CLI lengkap untuk bekerja dengan Claude Code langsung di terminal Anda. Edit file, jalankan perintah, dan kelola seluruh proyek Anda dari baris perintah.

20 20 

21 Untuk menginstal Claude Code, gunakan salah satu metode berikut:21 Untuk menginstal Claude Code, buka terminal dan jalankan perintah untuk sistem Anda. Jika Anda belum pernah menggunakan terminal sebelumnya, [panduan terminal](/docs/id/terminal-guide) menunjukkan cara membukanya dan menempel perintahnya.

22 22 

23 <Tabs>23 <Tabs>

24 <Tab title="Native Install (Direkomendasikan)">24 <Tab title="Native Install (Direkomendasikan)">


40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41 ```41 ```

42 42 

43 Ketika penginstal selesai, buka jendela terminal baru dan jalankan `claude --version`. Instalasi yang berfungsi dengan baik mencetak nomor versi. Jika shell Anda mengatakan `claude` tidak ditemukan atau tidak dikenali, direktori instalasi belum ada di PATH Anda: lihat [Perbaiki PATH Anda](/docs/id/troubleshoot-install#command-not-found-claude-after-installation).

44 

43 Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell. Prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.45 Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell. Prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.

44 46 

45 Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan curl lainnya, lihat [Troubleshoot installation](/docs/id/troubleshoot-install#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.47 Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan curl lainnya, lihat [Troubleshoot installation](/docs/id/troubleshoot-install#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.

Details

8 8 

9Mode izin menetapkan tindakan mana yang dapat dilakukan Claude dalam sesi tanpa meminta Anda terlebih dahulu. Dalam mode Manual, Claude Code berhenti dan meminta Anda sebelum sebagian besar tindakan yang mengedit file, menjalankan perintah shell, atau menjangkau jaringan. Dalam [mode auto](#eliminate-prompts-with-auto-mode), model kedua, pengklasifikasi, meninjau tindakan sebagai gantinya Anda; [bagaimana pengklasifikasi mengevaluasi tindakan](#how-the-classifier-evaluates-actions) mencantumkan tindakan mana yang ditinjau dan mana yang melewatinya.9Mode izin menetapkan tindakan mana yang dapat dilakukan Claude dalam sesi tanpa meminta Anda terlebih dahulu. Dalam mode Manual, Claude Code berhenti dan meminta Anda sebelum sebagian besar tindakan yang mengedit file, menjalankan perintah shell, atau menjangkau jaringan. Dalam [mode auto](#eliminate-prompts-with-auto-mode), model kedua, pengklasifikasi, meninjau tindakan sebagai gantinya Anda; [bagaimana pengklasifikasi mengevaluasi tindakan](#how-the-classifier-evaluates-actions) mencantumkan tindakan mana yang ditinjau dan mana yang melewatinya.

10 10 

11Pada paket Pro, Max, dan Team, mode izin awal bawaan adalah mode auto. [Mode mana yang dimulai sesi](#which-mode-a-session-starts-in) mencakup permukaan dan pengaturan yang mengubah mode izin awal. Anda juga dapat mengubah mode izin sesi yang sedang berjalan kapan saja.11Dengan Claude Code v2.1.283 atau lebih baru, mode auto adalah mode izin awal bawaan untuk sesi terminal interaktif dan VS Code. Pada versi sebelumnya, ini adalah mode izin awal bawaan hanya pada paket Pro, Max, dan Team. [Mode mana yang dimulai sesi](#which-mode-a-session-starts-in) mencakup permukaan dan pengaturan yang mengubah mode izin awal. Anda juga dapat mengubah mode izin sesi yang sedang berjalan kapan saja.

12 12 

13<h2 id="available-modes">13<h2 id="available-modes">

14 Mode yang tersedia14 Mode yang tersedia


57| Tinjau setiap tindakan sendiri | Mode Manual: `claude --permission-mode default` | Tidak ada | Pekerjaan sensitif, kode yang tidak familiar |57| Tinjau setiap tindakan sendiri | Mode Manual: `claude --permission-mode default` | Tidak ada | Pekerjaan sensitif, kode yang tidak familiar |

58| Iterasi lokal dengan lebih sedikit prompt, tanpa pengklasifikasi | Mode Manual ditambah sandbox Bash dalam [mode auto-allow](/docs/id/sandboxing#sandbox-modes): `claude --permission-mode default`, kemudian jalankan `/sandbox` dan pilih auto-allow | Sandbox Bash bawaan, di macOS, Linux, dan WSL2 | Aturan deny masih berlaku, dan aturan ask yang menyebutkan perintah, seperti `Bash(git push *)`, masih meminta. Untuk mengaktifkan sandbox dari file pengaturan sebagai gantinya, atur [`sandbox.enabled`](/docs/id/settings-reference#sandbox-enabled) ke `true` |58| Iterasi lokal dengan lebih sedikit prompt, tanpa pengklasifikasi | Mode Manual ditambah sandbox Bash dalam [mode auto-allow](/docs/id/sandboxing#sandbox-modes): `claude --permission-mode default`, kemudian jalankan `/sandbox` dan pilih auto-allow | Sandbox Bash bawaan, di macOS, Linux, dan WSL2 | Aturan deny masih berlaku, dan aturan ask yang menyebutkan perintah, seperti `Bash(git push *)`, masih meminta. Untuk mengaktifkan sandbox dari file pengaturan sebagai gantinya, atur [`sandbox.enabled`](/docs/id/settings-reference#sandbox-enabled) ke `true` |

59| Jelajahi sebelum mengubah apa pun | `claude --permission-mode plan` | Tidak ada | Claude Code memblokir pengeditan sampai Anda [menyetujui rencana](#review-and-approve-a-plan) |59| Jelajahi sebelum mengubah apa pun | `claude --permission-mode plan` | Tidak ada | Claude Code memblokir pengeditan sampai Anda [menyetujui rencana](#review-and-approve-a-plan) |

60| Bekerja hands-off dalam mode auto | `claude --permission-mode auto`, [mode izin awal bawaan](#which-mode-a-session-starts-in) pada Pro, Max, dan Team | Tidak ada; sandbox atau kontainer menambah pertahanan berlapis | Memerlukan [model yang didukung](#eliminate-prompts-with-auto-mode), dan organisasi Anda dapat [mematikan mode auto](#eliminate-prompts-with-auto-mode) |60| Bekerja hands-off dalam mode auto | `claude --permission-mode auto`, [mode izin awal bawaan](#which-mode-a-session-starts-in) dengan v2.1.283 atau lebih baru | Tidak ada; sandbox atau kontainer menambah pertahanan berlapis | Memerlukan [model yang didukung](#eliminate-prompts-with-auto-mode), dan organisasi Anda dapat [mematikan mode auto](#eliminate-prompts-with-auto-mode) |

61| Jalankan di CI dengan allowlist yang tepat | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Tidak ada di luar apa yang disediakan runner CI Anda | [Cloud sessions](/docs/id/claude-code-on-the-web) mengabaikan `dontAsk` dari file pengaturan |61| Jalankan di CI dengan allowlist yang tepat | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Tidak ada di luar apa yang disediakan runner CI Anda | [Cloud sessions](/docs/id/claude-code-on-the-web) mengabaikan `dontAsk` dari file pengaturan |

62| Jalankan sepenuhnya tanpa pengawasan di dalam kontainer | `claude -p "<prompt>" --dangerously-skip-permissions` | Diperlukan: kontainer, VM, atau [runtime sandbox](/docs/id/sandbox-environments#sandbox-runtime); di Linux dan macOS, jalankan sebagai [pengguna non-root](#skip-all-checks-with-bypasspermissions-mode) | Cloud sessions mengabaikan mode ini dari file pengaturan. Dalam jalankan `-p` ini, [beberapa panggilan yang masih akan meminta](#skip-all-checks-with-bypasspermissions-mode) ditolak sebagai gantinya |62| Jalankan sepenuhnya tanpa pengawasan di dalam kontainer | `claude -p "<prompt>" --dangerously-skip-permissions` | Diperlukan: kontainer, VM, atau [runtime sandbox](/docs/id/sandbox-environments#sandbox-runtime); di Linux dan macOS, jalankan sebagai [pengguna non-root](#skip-all-checks-with-bypasspermissions-mode) | Cloud sessions mengabaikan mode ini dari file pengaturan. Dalam jalankan `-p` ini, [beberapa panggilan yang masih akan meminta](#skip-all-checks-with-bypasspermissions-mode) ditolak sebagai gantinya |

63 63 


81 81 

82Default `auto` bawaan memerlukan Claude Code v2.1.228 atau lebih baru di macOS, Linux, dan WSL, dan v2.1.233 atau lebih baru di Windows asli. Pada versi sebelumnya, default bawaan adalah Manual.82Default `auto` bawaan memerlukan Claude Code v2.1.228 atau lebih baru di macOS, Linux, dan WSL, dan v2.1.233 atau lebih baru di Windows asli. Pada versi sebelumnya, default bawaan adalah Manual.

83 83 

84Default bawaan bergantung pada cara Anda menjalankan Claude Code, pada paket Anda, dan pada apakah Claude Code dapat mengambil flag fiturnya. Baris pertama yang cocok dengan sesi Anda berlaku. Tabel mencakup sesi yang Anda mulai di terminal atau melalui ekstensi VS Code; untuk aplikasi desktop dan claude.ai, lihat tab Desktop dan Web dalam [Alihkan mode izin](#switch-permission-modes).84Default bawaan bergantung pada cara Anda menjalankan Claude Code. Baris pertama yang cocok dengan sesi Anda berlaku. Tabel mencakup sesi yang Anda mulai di terminal atau melalui ekstensi VS Code; untuk aplikasi desktop dan claude.ai, lihat tab Desktop dan Web dalam [Alihkan mode izin](#switch-permission-modes).

85 85 

86| Cara Anda menjalankan Claude Code | Mode izin awal bawaan |86| Cara Anda menjalankan Claude Code | Mode izin awal bawaan |

87| :- | :- |87| :- | :- |

88| File pengaturan apa pun menetapkan `disableAutoMode` ke `"disable"` | `default` |88| File pengaturan apa pun menetapkan `disableAutoMode` ke `"disable"` | `default` |

89| [Pengambilan flag fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching) mati | `default` |

90| [Sesi pertama Anda setelah Anda memasang Claude Code atau upgrade](/docs/id/env-vars#first-session-after-an-install-or-upgrade) ke versi yang menambahkan default ini, kecuali, setelah instalasi segar, Claude Code mengambil flag tepat waktu | `default` |

91| `claude -p` atau [Agent SDK](/docs/id/agent-sdk/permissions) | `default` |89| `claude -p` atau [Agent SDK](/docs/id/agent-sdk/permissions) | `default` |

92| Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), atau sesi [Claude apps gateway](/docs/id/claude-apps-gateway) yang masuk | `default` |90| Di terminal atau melalui [ekstensi VS Code](/docs/id/vs-code) | `auto` dengan Claude Code v2.1.283 atau lebih baru; pada versi sebelumnya, `auto` pada paket Pro, Max, atau Team dalam sesi yang [mengambil flag fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), dan `default` sebaliknya |

93| Paket Pro, Max, atau Team, di terminal atau melalui [ekstensi VS Code](/docs/id/vs-code) | `auto` |

94| Paket Enterprise atau kunci API Claude Console | `default` |

95 91 

96Ketika pengambilan flag fitur mati, atau dalam [sesi pertama setelah instalasi atau upgrade](/docs/id/env-vars#first-session-after-an-install-or-upgrade) di mana flag belum tiba, ekstensi VS Code mengabaikan setiap file pengaturan saat memilih mode izin awal.92Dalam [sesi pertama Anda setelah instalasi atau upgrade](/docs/id/env-vars#first-session-after-an-install-or-upgrade), Claude Code dapat memilih mode izin awal sebelum flag fiturnya tiba. Sesi itu dapat dimulai dalam mode izin yang berbeda dari yang diberikan tabel, dan sesi berikutnya Anda cocok dengan tabel.

97 93 

98Ketika flag, file pengaturan, atau default bawaan memilih `auto` tetapi mode auto tidak tersedia untuk sesi, Claude Code memulai sesi dalam Manual sebagai gantinya. Mode auto tidak tersedia ketika sesi tidak memenuhi [persyaratan ketersediaan](#eliminate-prompts-with-auto-mode), seperti file pengaturan mematikannya atau model yang tidak mendukungnya, atau ketika Anthropic telah mematikannya sisi server.94Ketika flag, file pengaturan, atau default bawaan memilih `auto` tetapi mode auto tidak tersedia untuk sesi, Claude Code memulai sesi dalam Manual sebagai gantinya. Mode auto tidak tersedia ketika sesi tidak memenuhi [persyaratan ketersediaan](#eliminate-prompts-with-auto-mode), seperti file pengaturan mematikannya atau model yang tidak mendukungnya, atau ketika Anthropic telah mematikannya sisi server.

99 95 


177 173 

178 1. `claudeCode.initialPermissionMode`174 1. `claudeCode.initialPermissionMode`

179 2. Mode yang terakhir Anda pilih dari indikator mode, jika itu Manual, Edit secara otomatis, atau Auto. Memilih Plan atau Bypass permissions berlaku hanya untuk percakapan itu175 2. Mode yang terakhir Anda pilih dari indikator mode, jika itu Manual, Edit secara otomatis, atau Auto. Memilih Plan atau Bypass permissions berlaku hanya untuk percakapan itu

180 3. `permissions.defaultMode` dari [pengaturan terkelola](/docs/id/managed-settings) atau `~/.claude/settings.json`, pada paket Pro, Max, dan Team dengan [pengambilan flag fitur](#which-mode-a-session-starts-in) tersedia176 3. `permissions.defaultMode` dari [pengaturan terkelola](/docs/id/managed-settings) atau `~/.claude/settings.json`

181 4. [Default bawaan](#which-mode-a-session-starts-in) untuk paket, penyedia, dan pengaturan organisasi Anda177 4. [Default bawaan](#which-mode-a-session-starts-in) untuk paket, penyedia, dan pengaturan organisasi Anda

182 178 

183 Ekstensi tidak pernah membaca `.claude/settings.json` atau `.claude/settings.local.json` proyek untuk mode izin awal, dan dalam percakapan yang tidak memenuhi kondisi item 3 itu tidak membaca file pengaturan sama sekali. Ketika `claudeCode.claudeProcessWrapper` diatur, item 3 dan 4 juga tidak berlaku: percakapan itu dimulai dalam Manual kecuali item 1 atau item 2 menetapkan mode izin.179 Ekstensi tidak pernah membaca `.claude/settings.json` atau `.claude/settings.local.json` proyek untuk mode izin awal. Ketika `claudeCode.claudeProcessWrapper` diatur, item 3 dan 4 tidak berlaku: percakapan itu dimulai dalam Manual kecuali item 1 atau item 2 menetapkan mode izin.

180 

181 Sebelum v2.1.283, item 3 berlaku hanya pada paket Pro, Max, dan Team dalam sesi yang [mengambil flag fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching).

184 182 

185 Auto muncul di indikator mode ketika [mode auto tersedia](#eliminate-prompts-with-auto-mode).183 Auto muncul di indikator mode ketika [mode auto tersedia](#eliminate-prompts-with-auto-mode).

186 184 


214 Gunakan dropdown mode di sebelah kotak prompt di [claude.ai/code](https://claude.ai/code) atau di aplikasi mobile. Prompt izin muncul di claude.ai untuk persetujuan. Mode mana yang muncul bergantung pada di mana sesi berjalan:212 Gunakan dropdown mode di sebelah kotak prompt di [claude.ai/code](https://claude.ai/code) atau di aplikasi mobile. Prompt izin muncul di claude.ai untuk persetujuan. Mode mana yang muncul bergantung pada di mana sesi berjalan:

215 213 

216 * **[Sesi cloud](/docs/id/claude-code-on-the-web)**: Accept edits, Plan, dan Auto. Accept edits sesuai dengan mode `default`: sesi cloud pra-menyetujui pengeditan file terlepas dari mode, jadi dropdown menampilkan Accept edits alih-alih Manual. Sesi cloud masih menghormati `defaultMode: "acceptEdits"` dari pengaturan. Mode Auto muncul hanya ketika organisasi Anda mengizinkannya dan model yang dipilih mendukungnya. Bypass permissions tidak tersedia.214 * **[Sesi cloud](/docs/id/claude-code-on-the-web)**: Accept edits, Plan, dan Auto. Accept edits sesuai dengan mode `default`: sesi cloud pra-menyetujui pengeditan file terlepas dari mode, jadi dropdown menampilkan Accept edits alih-alih Manual. Sesi cloud masih menghormati `defaultMode: "acceptEdits"` dari pengaturan. Mode Auto muncul hanya ketika organisasi Anda mengizinkannya dan model yang dipilih mendukungnya. Bypass permissions tidak tersedia.

217 * **[Sesi Remote Control](/docs/id/remote-control)** di mesin lokal Anda: Manual, Accept edits, dan Plan. Anda tidak dapat memilih Auto atau Bypass permissions dari aplikasi.215 * **[Sesi Remote Control](/docs/id/remote-control)** di mesin lokal Anda: Manual, Accept edits, dan Plan untuk sesi yang Anda mulai sendiri, dan Anda tidak dapat memilih Auto atau Bypass permissions dari aplikasi. Untuk thread proyek yang berjalan di komputer Anda, lihat [Jalankan thread di komputer Anda sendiri](/docs/id/claude-projects#run-a-thread-on-your-own-computer).

218 * Kecuali untuk Bypass permissions, dropdown menampilkan mode izin yang sesi lokal gunakan, termasuk yang diatur dari terminal. Itu diperbarui ketika mode izin berubah di aplikasi atau di terminal. Sesi tidak pernah melaporkan Bypass permissions ke claude.ai, jadi beralih ke dalamnya dari terminal tidak mengubah apa yang ditampilkan dropdown.216 * Kecuali untuk Bypass permissions, dropdown menampilkan mode izin yang sesi lokal gunakan, termasuk yang diatur dari terminal. Itu diperbarui ketika mode izin berubah di aplikasi atau di terminal. Sesi tidak pernah melaporkan Bypass permissions ke claude.ai, jadi beralih ke dalamnya dari terminal tidak mengubah apa yang ditampilkan dropdown.

219 * Sesi yang dihosting oleh [aplikasi desktop](/docs/id/desktop) atau [ekstensi VS Code](/docs/id/vs-code) melaporkan perubahan mode izin ke claude.ai saat terjadi, sama seperti sesi yang dihosting di terminal.217 * Sesi yang dihosting oleh [aplikasi desktop](/docs/id/desktop) atau [ekstensi VS Code](/docs/id/vs-code) melaporkan perubahan mode izin ke claude.ai saat terjadi, sama seperti sesi yang dihosting di terminal.

220 * Sebelum v2.1.202, sesi yang terhubung dengan `/remote-control` atau `claude --remote-control` tidak melaporkan mode mereka sama sekali, jadi claude.ai dan aplikasi mobile dapat menampilkan mode yang sesi tidak gunakan. Ketidaksesuaian hanya mempengaruhi label. Claude Code menghasilkan prompt izin dari mode izin aktual sesi, dan mereka masih muncul di aplikasi untuk persetujuan.218 * Sebelum v2.1.202, sesi yang terhubung dengan `/remote-control` atau `claude --remote-control` tidak melaporkan mode izin mereka sama sekali, jadi claude.ai dan aplikasi mobile dapat menampilkan mode izin yang sesi tidak gunakan. Ketidaksesuaian hanya mempengaruhi label. Claude Code menghasilkan prompt izin dari mode izin aktual sesi, dan mereka masih muncul di aplikasi untuk persetujuan.

221 219 

222 Untuk Remote Control, mesin lokal yang menjalankan sesi harus masuk dengan akun claude.ai Anda; kunci API tidak didukung. Anda juga dapat menetapkan mode izin awal saat meluncurkan sesi lokal itu:220 Untuk Remote Control, mesin lokal yang menjalankan sesi harus masuk dengan akun claude.ai Anda; kunci API tidak didukung. Anda juga dapat menetapkan mode izin awal saat meluncurkan sesi lokal itu:

223 221 


233 231 

234Mode `acceptEdits` memungkinkan Claude membuat dan mengedit file di direktori kerja Anda tanpa meminta. Bilah status menunjukkan `⏵⏵ accept edits on` saat mode ini aktif.232Mode `acceptEdits` memungkinkan Claude membuat dan mengedit file di direktori kerja Anda tanpa meminta. Bilah status menunjukkan `⏵⏵ accept edits on` saat mode ini aktif.

235 233 

236Selain 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), penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](#critical-paths), dan semua perintah Bash lainnya kecuali [set bawaan read-only](/docs/id/permissions#read-only-commands) masih meminta.234Selain 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`.

235 

236Setiap jalur juga melalui [pemeriksaan symlink](/docs/id/permissions#symlinks), jadi penulisan yang diselesaikan di luar cakupan itu tidak auto-approved juga. Jalur di luar cakupan itu, penulisan ke [jalur yang dilindungi](#protected-paths), penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](#critical-paths), dan semua perintah Bash lainnya kecuali [set bawaan read-only](/docs/id/permissions#read-only-commands) masih meminta.

237 237 

238Ketika [alat PowerShell](/docs/id/tools-reference#powershell-tool) diaktifkan, mode `acceptEdits` juga auto-approve `Set-Content`, `Add-Content`, `Clear-Content`, dan `Remove-Item` pada jalur dalam cakupan, bersama dengan alias umum mereka. Aturan cakupan dan jalur yang dilindungi yang sama berlaku, dan `Remove-Item` mendapat [pemeriksaannya sendiri](#remove-item-in-powershell). Argumen posisional yang berisi karakter kutip, seperti apostrof dalam `Set-Content .\notes.txt "It's done"`, masih meminta bahkan pada jalur dalam cakupan, karena Claude Code tidak dapat secara statis memvalidasi argumen yang pembacaan kutip dan tidak dikutipnya berbeda. Lewatkan konten melalui parameter bernama seperti `-Value` untuk menghindari prompt.238Ketika [alat PowerShell](/docs/id/tools-reference#powershell-tool) diaktifkan, mode `acceptEdits` juga auto-approve `Set-Content`, `Add-Content`, `Clear-Content`, dan `Remove-Item` pada jalur dalam cakupan, bersama dengan alias umum mereka. Aturan cakupan dan jalur yang dilindungi yang sama berlaku, dan `Remove-Item` mendapat [pemeriksaannya sendiri](#remove-item-in-powershell). Argumen posisional yang berisi karakter kutip, seperti apostrof dalam `Set-Content .\notes.txt "It's done"`, masih meminta bahkan pada jalur dalam cakupan, karena Claude Code tidak dapat secara statis memvalidasi argumen yang pembacaan kutip dan tidak dikutipnya berbeda. Lewatkan konten melalui parameter bernama seperti `-Value` untuk menghindari prompt.

239 239 


246```246```

247 247 

248<h2 id="analyze-before-you-edit-with-plan-mode">248<h2 id="analyze-before-you-edit-with-plan-mode">

249 Analisis sebelum Anda mengedit dengan mode rencana249 Analisis sebelum Anda mengedit dengan Plan Mode

250</h2>250</h2>

251 251 

252Plan Mode memberi tahu Claude untuk meneliti dan mengusulkan perubahan tanpa membuatnya. Claude membaca file, menjalankan perintah shell untuk menjelajahi, dan menulis rencana, tetapi tidak mengedit sumber Anda. Kecuali dalam sesi terminal interaktif dengan [bypass permissions tersedia](#skip-all-checks-with-bypasspermissions-mode), pengeditan tetap diblokir sampai Anda menyetujui rencana.252Plan Mode memberi tahu Claude untuk meneliti dan mengusulkan perubahan tanpa membuatnya. Claude membaca file, menjalankan perintah shell untuk menjelajahi, dan menulis rencana, tetapi tidak mengedit sumber Anda. Kecuali dalam sesi terminal interaktif dengan [bypass permissions tersedia](#skip-all-checks-with-bypasspermissions-mode), pengeditan tetap diblokir sampai Anda menyetujui rencana.

253 253 

254Ketika [auto mode](/docs/id/auto-mode-config) tersedia dan pengaturan `useAutoModeDuringPlan` aktif, yang merupakan default, pengklasifikasi meninjau perintah shell selama perencanaan alih-alih meminta Anda. Perintah yang disetujui berjalan, dan yang ditolak diblokir. Jika tidak, perintah di luar [set bawaan read-only](/docs/id/permissions#read-only-commands) meminta persetujuan, termasuk ketika [auto-allow mode](/docs/id/sandboxing#sandbox-modes) sandbox diaktifkan. Dalam sesi terminal interaktif dengan bypass permissions tersedia, baik pengklasifikasi maupun prompt tidak berlaku untuk perintah perencanaan; [Lewati semua pemeriksaan dengan bypassPermissions mode](#skip-all-checks-with-bypasspermissions-mode) mencakup beberapa hal yang masih meminta di sana. Dalam v2.1.212 hingga v2.1.217, sesi tanpa bypass permissions meminta untuk setiap perintah di luar set read-only, apakah atau tidak auto mode tersedia.254Apa yang terjadi pada perintah shell selama perencanaan tergantung pada sesi, dan yang pertama dari kasus-kasus ini yang cocok berlaku:

255 

256* **Sesi terminal interaktif dengan bypass permissions tersedia**: baik pengklasifikasi maupun prompt tidak berlaku untuk perintah perencanaan. [Lewati semua pemeriksaan dengan bypassPermissions mode](#skip-all-checks-with-bypasspermissions-mode) mencakup beberapa hal yang masih meminta di sana.

257* **[Auto mode](/docs/id/auto-mode-config) tersedia dan pengaturan `useAutoModeDuringPlan` aktif**, yang merupakan default: pengklasifikasi meninjau perintah shell selain [critical-path removals](#critical-paths) alih-alih meminta Anda. Perintah yang disetujui berjalan, dan yang ditolak diblokir.

258* **Auto mode tidak tersedia, atau `useAutoModeDuringPlan` mati**: perintah di luar [set bawaan read-only](/docs/id/permissions#read-only-commands) meminta persetujuan, termasuk ketika [auto-allow mode](/docs/id/sandboxing#sandbox-modes) sandbox diaktifkan.

255 259 

256Masukkan mode rencana dengan menekan `Shift+Tab` atau mengawali prompt tunggal dengan `/plan`. Anda juga dapat memulai dalam mode rencana dari CLI:260Masukkan Plan Mode dengan menekan `Shift+Tab` atau mengawali prompt tunggal dengan `/plan`. Anda juga dapat memulai dalam Plan Mode dari CLI:

257 261 

258```bash theme={null}262```bash theme={null}

259claude --permission-mode plan263claude --permission-mode plan

260```264```

261 265 

262Tekan `Shift+Tab` lagi untuk meninggalkan mode rencana tanpa menyetujui rencana.266Tekan `Shift+Tab` lagi untuk meninggalkan Plan Mode tanpa menyetujui rencana.

263 267 

264<h3 id="review-and-approve-a-plan">268<h3 id="review-and-approve-a-plan">

265 Tinjau dan setujui rencana269 Tinjau dan setujui rencana


267 271 

268Ketika rencana siap, Claude menyajikannya dan menanyakan cara melanjutkan. Dari prompt itu Anda dapat memilih:272Ketika rencana siap, Claude menyajikannya dan menanyakan cara melanjutkan. Dari prompt itu Anda dapat memilih:

269 273 

270* **Ya, dan gunakan mode auto**: setujui dan mulai dalam [mode auto](#eliminate-prompts-with-auto-mode). Jika mode auto tidak [tersedia untuk sesi Anda](#eliminate-prompts-with-auto-mode), misalnya karena organisasi Anda mematikannya, opsi ini berbunyi **Ya, auto-accept edits**. Jika Anda memulai sesi dengan bypass permissions diaktifkan, opsi berbunyi **Ya, dan beralih ke BYPASS PERMISSIONS (tidak ada prompt lebih lanjut) untuk sesi ini** sebagai gantinya.274* **Ya, dan gunakan auto mode**: setujui dan mulai dalam [auto mode](#eliminate-prompts-with-auto-mode). Jika auto mode tidak [tersedia untuk sesi Anda](#eliminate-prompts-with-auto-mode), misalnya karena organisasi Anda mematikannya, opsi ini berbunyi **Ya, auto-accept edits**. Jika Anda memulai sesi dengan bypass permissions diaktifkan, opsi berbunyi **Ya, dan beralih ke BYPASS PERMISSIONS (tidak ada prompt lebih lanjut) untuk sesi ini** sebagai gantinya.

271* **Ya, secara manual setujui pengeditan**: setujui dan tinjau setiap pengeditan secara individual.275* **Ya, secara manual setujui pengeditan**: setujui dan tinjau setiap pengeditan secara individual.

272* **Tidak, terus merencanakan**: tetap dalam mode rencana dan beri tahu Claude apa yang harus diubah.276* **Tidak, terus merencanakan**: tetap dalam Plan Mode dan beri tahu Claude apa yang harus diubah.

273 277 

274Menyetujui rencana keluar dari mode rencana dan mengalihkan sesi ke mode izin yang dijelaskan setiap opsi persetujuan, sehingga Claude mulai mengedit. Untuk merencanakan lagi, siklus kembali ke mode rencana dengan `Shift+Tab`, atau awali prompt berikutnya dengan `/plan`.278Menyetujui rencana keluar dari Plan Mode dan mengalihkan sesi ke mode izin yang dijelaskan setiap opsi persetujuan, sehingga Claude mulai mengedit. Untuk merencanakan lagi, siklus kembali ke Plan Mode dengan `Shift+Tab`, atau awali prompt berikutnya dengan `/plan`.

275 279 

276Tekan `Ctrl+G` untuk membuka rencana yang diusulkan di editor teks default Anda dan mengeditnya langsung sebelum Claude melanjutkan. Ketika [`showClearContextOnPlanAccept`](/docs/id/settings-reference#showclearcontextonplanaccept) diaktifkan, daftar mendapat opsi pertama yang menyetujui rencana dan menghapus konteks perencanaan.280Tekan `Ctrl+G` untuk membuka rencana yang diusulkan di editor teks default Anda dan mengeditnya langsung sebelum Claude melanjutkan. Ketika [`showClearContextOnPlanAccept`](/docs/id/settings-reference#showclearcontextonplanaccept) diaktifkan, daftar mendapat opsi pertama yang menyetujui rencana dan menghapus konteks perencanaan.

277 281 

278Menerima rencana juga memberi sesi [judul yang dihasilkan](/docs/id/sessions#name-your-sessions) berdasarkan rencana, kecuali Anda telah menamai sesi.282Menerima rencana juga memberi sesi [judul yang dihasilkan](/docs/id/sessions#name-your-sessions) berdasarkan rencana, kecuali Anda telah menamai sesi.

279 283 

280<h3 id="set-plan-mode-as-the-default">284<h3 id="set-plan-mode-as-the-default">

281 Atur mode rencana sebagai default285 Atur Plan Mode sebagai default

282</h3>286</h3>

283 287 

284Untuk membuat mode rencana default untuk sesi terminal proyek, atur `defaultMode` ke `plan` dalam `.claude/settings.json`, ditempatkan seperti contoh di bawah [Mulai dalam mode izin yang berbeda](#start-in-a-different-mode) menunjukkan. Percakapan yang dimulai [ekstensi VS Code](/docs/id/vs-code) tidak membaca pengaturan proyek untuk mode izin awal. Di sana, atur `claudeCode.initialPermissionMode` ke `plan` dalam pengaturan pengguna VS Code Anda sebagai gantinya.288Untuk membuat Plan Mode default untuk sesi terminal proyek, atur `defaultMode` ke `plan` dalam `.claude/settings.json`, ditempatkan seperti contoh di bawah [Mulai dalam mode izin yang berbeda](#start-in-a-different-mode) menunjukkan. Percakapan yang dimulai [ekstensi VS Code](/docs/id/vs-code) tidak membaca pengaturan proyek untuk mode izin awal. Di sana, atur `claudeCode.initialPermissionMode` ke `plan` dalam pengaturan pengguna VS Code Anda sebagai gantinya.

285 289 

286<h2 id="eliminate-prompts-with-auto-mode">290<h2 id="eliminate-prompts-with-auto-mode">

287 Hilangkan permintaan izin dengan mode otomatis291 Hilangkan permintaan izin dengan mode otomatis


289 293 

290Mode otomatis memungkinkan Claude untuk dieksekusi tanpa permintaan izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum dijalankan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. [Aturan ask](/docs/id/permissions#manage-permissions) eksplisit masih memaksa permintaan.294Mode otomatis memungkinkan Claude untuk dieksekusi tanpa permintaan izin rutin. Model pengklasifikasi terpisah meninjau tindakan sebelum dijalankan, memblokir apa pun yang melampaui permintaan Anda, menargetkan infrastruktur yang tidak dikenali, atau tampak didorong oleh konten bermusuhan yang dibaca Claude. [Aturan ask](/docs/id/permissions#manage-permissions) eksplisit masih memaksa permintaan.

291 295 

292Pada paket Pro, Max, dan Team, mode otomatis adalah [mode izin awal bawaan](#which-mode-a-session-starts-in).296Dengan Claude Code v2.1.283 atau lebih baru, mode otomatis adalah [mode izin awal bawaan](#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan VS Code di setiap paket dan penyedia. Pada versi sebelumnya, ini adalah mode izin awal bawaan hanya pada paket Pro, Max, dan Team.

293 297 

294Pengklasifikasi juga meninjau setiap pesan yang dikirim Claude ke agen lain dengan [`SendMessage`](/docs/id/tools-reference), baik teks biasa atau pesan [tim agen](/docs/id/agent-teams) terstruktur, sebelum Claude Code mengirimkannya, baik dalam mode otomatis maupun dalam [mode rencana saat pengklasifikasi meninjau perintah](#analyze-before-you-edit-with-plan-mode); tinjauan pengiriman memerlukan Claude Code v2.1.222 atau lebih baru.298Pengklasifikasi juga meninjau setiap pesan yang dikirim Claude ke agen lain dengan [`SendMessage`](/docs/id/tools-reference), baik teks biasa atau pesan [tim agen](/docs/id/agent-teams) terstruktur, sebelum Claude Code mengirimkannya, baik dalam mode otomatis maupun dalam [mode rencana saat pengklasifikasi meninjau perintah](#analyze-before-you-edit-with-plan-mode); tinjauan pengiriman memerlukan Claude Code v2.1.222 atau lebih baru.

295 299 

296Pengklasifikasi juga meninjau dan menyetujui atau memblokir penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](#critical-paths), seperti `rm -rf /` dan `rm -rf ~`, termasuk ketika penghapusan berada di dalam substitusi perintah atau proses.300Secara default, pengklasifikasi tidak meninjau penghapusan `rm` dan `rmdir` yang menargetkan jalur kritis, seperti `rm -rf /` atau `rm -rf ~`. [Jalur kritis](#critical-paths) mencakup apa yang terjadi pada mereka dalam setiap mode izin.

297 301 

298Mode otomatis juga mendorong Claude untuk terus bekerja tanpa berhenti untuk pertanyaan klarifikasi, meskipun Claude masih bertanya ketika permintaan Anda atau keterampilan secara eksplisit bergantung padanya. Untuk perilaku otonom yang lebih kuat dalam mode yang masih meminta Anda, atur [gaya output Proaktif](/docs/id/output-styles) sebagai gantinya.302Mode otomatis juga mendorong Claude untuk terus bekerja tanpa berhenti untuk pertanyaan klarifikasi, meskipun Claude masih bertanya ketika permintaan Anda atau keterampilan secara eksplisit bergantung padanya. Untuk perilaku otonom yang lebih kuat dalam mode yang masih meminta Anda, atur [gaya output Proaktif](/docs/id/output-styles) sebagai gantinya.

299 303 


305 309 

306* **Paket**: Semua paket.310* **Paket**: Semua paket.

307* **Organisasi**: pada Team dan Enterprise, mode otomatis tersedia secara default. Administrator dapat mematikannya untuk organisasi dengan menetapkan `permissions.disableAutoMode` ke `"disable"` dalam [pengaturan terkelola](/docs/id/managed-settings).311* **Organisasi**: pada Team dan Enterprise, mode otomatis tersedia secara default. Administrator dapat mematikannya untuk organisasi dengan menetapkan `permissions.disableAutoMode` ke `"disable"` dalam [pengaturan terkelola](/docs/id/managed-settings).

308* **Model**: pada Anthropic API dan [Claude Platform di AWS](/docs/id/claude-platform-on-aws), Claude Opus 4.6 atau lebih baru, Sonnet 4.6 atau lebih baru, atau [model Fable](/docs/id/model-config#work-with-fable). Di Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk, hanya Claude Sonnet 5, Opus 4.7 atau lebih baru, dan model Fable. Model yang lebih lama, termasuk Sonnet 4.5, Opus 4.5, Haiku, dan model claude-3, tidak didukung di penyedia mana pun.312* **Model**: pada Anthropic API dan [Claude Platform di AWS](/docs/id/claude-platform-on-aws), Claude Opus 4.6 atau lebih baru, Sonnet 4.6 atau lebih baru, atau [model Fable](/docs/id/model-config#work-with-fable). Di Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk, hanya Claude Sonnet 5 atau lebih baru, Opus 4.7 atau lebih baru, dan model Fable. Model yang lebih lama, termasuk Sonnet 4.5, Opus 4.5, Haiku, dan model claude-3, tidak didukung di penyedia mana pun.

309* **Penyedia**: tersedia secara default pada Anthropic API, Claude Platform di AWS, Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude yang masuk.313* **Penyedia**: tersedia secara default pada Anthropic API, Claude Platform di AWS, Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude yang masuk.

310 314 

311Jika Claude Code melaporkan mode otomatis tidak tersedia, pertama periksa persyaratan ini dan apakah file pengaturan apa pun menetapkan [`disableAutoMode`](/docs/id/settings-reference#disableautomode). Anthropic juga dapat mematikan mode otomatis di sisi server, atau server dapat menolak mode otomatis untuk akun Anda. Sesi yang menerima salah satu jawaban menjaga mode otomatis tetap mati sampai sesi berakhir, jadi mulai sesi baru nanti.315Jika Claude Code melaporkan mode otomatis tidak tersedia, pertama periksa persyaratan ini dan apakah file pengaturan apa pun menetapkan [`disableAutoMode`](/docs/id/settings-reference#disableautomode). Anthropic juga dapat mematikan mode otomatis di sisi server, atau server dapat menolak mode otomatis untuk akun Anda. Sesi yang menerima salah satu jawaban menjaga mode otomatis tetap mati sampai sesi berakhir, jadi mulai sesi baru nanti.


318 Mode otomatis di Bedrock, Agent Platform, atau Foundry322 Mode otomatis di Bedrock, Agent Platform, atau Foundry

319</h3>323</h3>

320 324 

321Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Agent Platform Google Cloud](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry), dan sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk, mode otomatis muncul dalam siklus `Shift+Tab` secara default. Muncul dalam siklus tidak mengubah mode izin yang dimulai sesi: di penyedia ini, sesi terminal dimulai dalam [`defaultMode`](/docs/id/settings-reference#permissions-defaultmode) Anda, yang Manual kecuali Anda mengubahnya, dan percakapan dalam [ekstensi VS Code](/docs/id/vs-code) dimulai dalam Manual kecuali `claudeCode.initialPermissionMode` atau mode yang Anda pilih dalam ekstensi menetapkan satu. Hanya Claude Sonnet 5, Opus 4.7 atau lebih baru, dan model Fable yang didukung di penyedia ini.325Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Agent Platform Google Cloud](/docs/id/google-vertex-ai), [Microsoft Foundry](/docs/id/microsoft-foundry), dan sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk, mode otomatis tersedia secara default. Dengan Claude Code v2.1.283 atau lebih baru, ini juga merupakan [mode izin awal bawaan](#which-mode-a-session-starts-in) untuk sesi terminal interaktif dan [VS Code](/docs/id/vs-code). Untuk memilih mode izin awal sendiri, atur `permissions.defaultMode` seperti [Mulai dalam mode izin yang berbeda](#start-in-a-different-mode) menjelaskan, atau pilih mode izin dari indikator mode ekstensi VS Code.

322 326 

323Untuk membuat mode otomatis mode izin awal default, atur `"permissions": {"defaultMode": "auto"}` dalam pengaturan pengguna atau terkelola. Dalam sesi yang dimulai ekstensi VS Code, pilih **Auto** dari indikator mode sebagai gantinya. [Beralih mode izin](#switch-permission-modes) mencakup apa yang mengalahkan pilihan itu.327Hanya Claude Sonnet 5 atau lebih baru, Opus 4.7 atau lebih baru, dan model Fable yang didukung di penyedia ini. Pada model lain apa pun, sesi dimulai dalam Manual sebagai gantinya.

324 

325Pemeriksaan [`/doctor`](/docs/id/commands#all-commands) menyarankan default pengaturan pengguna ini di penyedia ini dengan cara yang sama seperti pada Anthropic API.

326 328 

327Untuk mencegah pengembang menggunakan mode otomatis, atur `disableAutoMode` ke `"disable"` dalam [pengaturan terkelola](/docs/id/managed-settings). Ini menghapus `auto` dari siklus `Shift+Tab`, dan sesi yang dimulai dengan `--permission-mode auto` dimulai dalam Manual sebagai gantinya. Sesi yang sudah berjalan dalam mode otomatis meninggalkannya ketika pengaturan mencapai sesi itu dari [sumber yang diterapkan admin](/docs/id/managed-settings#which-managed-source-claude-code-uses), dan menampilkan `auto mode disabled by settings`. Sebelum v2.1.251, sesi yang berjalan menjaga mode otomatis sampai berakhir.329Untuk mencegah pengembang menggunakan mode otomatis, atur `disableAutoMode` ke `"disable"` dalam [pengaturan terkelola](/docs/id/managed-settings). Ini menghapus `auto` dari siklus `Shift+Tab`, dan sesi yang dimulai dengan `--permission-mode auto` dimulai dalam Manual sebagai gantinya. Sesi yang sudah berjalan dalam mode otomatis meninggalkannya ketika pengaturan mencapai sesi itu dari [sumber yang diterapkan admin](/docs/id/managed-settings#which-managed-source-claude-code-uses), dan menampilkan `auto mode disabled by settings`. Sebelum v2.1.251, sesi yang berjalan menjaga mode otomatis sampai berakhir.

328 330 


343* **Server tidak meninjau sesi**: respons selesai tanpa hasil tinjauan, atau server menjawab bahwa itu tidak meninjau sesi ini. Penyebab paling umum adalah gateway LLM atau proxy yang menghilangkan permintaan untuk tinjauan atau hasilnya, dan platform, wilayah, atau kredensial yang belum memiliki pemeriksaan sisi server. Claude Code kembali ke permintaan pengklasifikasi sendiri. Setelah fallback itu berlaku untuk sisa sesi, itu menunjukkan [pemberitahuan tentang biaya permintaan pengklasifikasi](/docs/id/auto-mode-classifier-billing) pada akun di mana permintaan tersebut ditagih.345* **Server tidak meninjau sesi**: respons selesai tanpa hasil tinjauan, atau server menjawab bahwa itu tidak meninjau sesi ini. Penyebab paling umum adalah gateway LLM atau proxy yang menghilangkan permintaan untuk tinjauan atau hasilnya, dan platform, wilayah, atau kredensial yang belum memiliki pemeriksaan sisi server. Claude Code kembali ke permintaan pengklasifikasi sendiri. Setelah fallback itu berlaku untuk sisa sesi, itu menunjukkan [pemberitahuan tentang biaya permintaan pengklasifikasi](/docs/id/auto-mode-classifier-billing) pada akun di mana permintaan tersebut ditagih.

344* **Server tidak memberikan vonis untuk tindakan**: Claude Code menolak tindakan daripada menjalankannya tanpa tinjauan. Pada koneksi apa pun, ini terjadi ketika respons berakhir sebelum hasil tinjauan tiba atau hasil tiba dalam bentuk yang tidak dapat dibaca Claude Code. Gateway LLM atau proxy yang memotong respons pendek atau menulis ulang hasilnya dapat menyebabkan salah satu. Pada koneksi langsung ke Anthropic API, itu juga terjadi ketika pemeriksaan server gagal untuk tindakan, misalnya dengan waktu habis. [Server tidak mengembalikan vonis keamanan](/docs/id/errors#the-server-returned-no-safety-verdict) mencakup pesan penolakan, apa yang terjadi ketika penolakan berulang, dan apa yang harus dilakukan.346* **Server tidak memberikan vonis untuk tindakan**: Claude Code menolak tindakan daripada menjalankannya tanpa tinjauan. Pada koneksi apa pun, ini terjadi ketika respons berakhir sebelum hasil tinjauan tiba atau hasil tiba dalam bentuk yang tidak dapat dibaca Claude Code. Gateway LLM atau proxy yang memotong respons pendek atau menulis ulang hasilnya dapat menyebabkan salah satu. Pada koneksi langsung ke Anthropic API, itu juga terjadi ketika pemeriksaan server gagal untuk tindakan, misalnya dengan waktu habis. [Server tidak mengembalikan vonis keamanan](/docs/id/errors#the-server-returned-no-safety-verdict) mencakup pesan penolakan, apa yang terjadi ketika penolakan berulang, dan apa yang harus dilakukan.

345 347 

346Untuk melewati permintaan ke server dan selalu menggunakan permintaan pengklasifikasi Claude Code sendiri, atur [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/id/env-vars). Pada koneksi langsung ke Anthropic API, variabel memerlukan Claude Code v2.1.281 atau lebih baru. Menetapkannya ke `1` di sana mengaktifkan tinjauan server dalam sesi yang belum memilikinya, seperti sesi `-p` atau Agent SDK, kecuali Anda juga menetapkan `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Jika Anda menetapkan `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` dan membiarkan `CLAUDE_CODE_AUTO_MODE_SERVER` tidak ditetapkan, Claude Code juga berhenti meminta server.348Untuk melewati permintaan ke server dan selalu menggunakan permintaan pengklasifikasi Claude Code sendiri, atur [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/id/env-vars). Pada koneksi langsung ke Anthropic API, variabel memerlukan Claude Code v2.1.281 atau lebih baru. Menetapkannya ke `1` di sana mengaktifkan tinjauan server dalam sesi yang belum memilikinya, seperti sesi `-p` atau Agent SDK, kecuali Anda juga menetapkan `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Jika Anda menetapkan `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` dan membiarkan `CLAUDE_CODE_AUTO_MODE_SERVER` tidak ditetapkan, Claude Code juga berhenti meminta server, kecuali seperti [Nonaktifkan kemampuan pra-rilis](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) menjelaskan.

347 349 

348<h3 id="what-the-classifier-blocks-by-default">350<h3 id="what-the-classifier-blocks-by-default">

349 Apa yang diblokir pengklasifikasi secara default351 Apa yang diblokir pengklasifikasi secara default


407Claude Code v2.1.205 dan lebih baru juga memblokir ini secara default:409Claude Code v2.1.205 dan lebih baru juga memblokir ini secara default:

408 410 

409* Menulis ke transkrip sesi Claude Code, file riwayat `.jsonl` di bawah `~/.claude/projects/` atau direktori konfigurasi Anda yang dikonfigurasi, baik secara langsung maupun melalui perintah shell. Aturan juga mencakup baris metadata yang Claude Code tambahkan ke setiap entri transkrip untuk pemeriksaannya sendiri. Membaca transkrip tidak diblokir411* Menulis ke transkrip sesi Claude Code, file riwayat `.jsonl` di bawah `~/.claude/projects/` atau direktori konfigurasi Anda yang dikonfigurasi, baik secara langsung maupun melalui perintah shell. Aturan juga mencakup baris metadata yang Claude Code tambahkan ke setiap entri transkrip untuk pemeriksaannya sendiri. Membaca transkrip tidak diblokir

410* Penghapusan paksa rekursif seperti `rm -rf "$VAR"` atau `Remove-Item -Recurse -Force $dir` yang targetnya adalah variabel shell, atau glob yang berakar pada satu, yang tidak ditugaskan di mana pun dalam percakapan yang dilihat pengklasifikasi. Nilai datang hanya dari output perintah sebelumnya, yang tidak pernah diterima pengklasifikasi, jadi pengklasifikasi tidak dapat memverifikasi target penghapusan terhadap aturan penghapusan lainnya. Blok menghapus ketika Anda menyebutkan jalur pasti yang dihapus, atau ketika Claude menjalankan kembali penghapusan dengan jalur literal yang diselesaikan ditulis ke dalam perintah. Penghapusan yang targetnya dapat diselesaikan pengklasifikasi tidak terpengaruh. Target `Remove-Item` yang merupakan `*` telanjang atau berakhir dalam `/*` atau `\*` tidak pernah mencapai pengklasifikasi: Claude Code [menolaknya langsung](#remove-item-in-powershell)412* Penghapusan paksa rekursif seperti `rm -rf "$VAR"` atau `Remove-Item -Recurse -Force $dir` yang targetnya adalah variabel shell yang tidak ditugaskan di mana pun dalam percakapan yang dilihat pengklasifikasi, atau glob yang berakar pada satu. Nilai datang hanya dari output perintah sebelumnya, yang tidak pernah diterima pengklasifikasi, jadi pengklasifikasi tidak dapat memverifikasi target penghapusan terhadap aturan penghapusan lainnya. Blok menghapus ketika Anda menyebutkan jalur pasti yang dihapus, atau ketika Claude menjalankan kembali penghapusan dengan jalur literal yang diselesaikan ditulis ke dalam perintah. Penghapusan yang targetnya dapat diselesaikan pengklasifikasi tidak terpengaruh.

413 

414 Glob langsung di bawah variabel, seperti dalam `rm -rf "$VAR"/*`, adalah [jalur kritis](#critical-paths) sebagai gantinya. Target `Remove-Item` yang merupakan `*` telanjang atau berakhir dalam `/*` atau `\*` tidak pernah mencapai pengklasifikasi: Claude Code [menolaknya langsung](#remove-item-in-powershell).

411 415 

412Claude Code v2.1.257 dan lebih baru juga memblokir ini secara default:416Claude Code v2.1.257 dan lebih baru juga memblokir ini secara default:

413 417 


457* **Terus izinkan**: pembacaan berjalan, pembacaan kemudian di luar direktori kerja berjalan seperti sebelumnya, dan Claude Code mencatat jawaban Anda sehingga permintaan tidak muncul lagi461* **Terus izinkan**: pembacaan berjalan, pembacaan kemudian di luar direktori kerja berjalan seperti sebelumnya, dan Claude Code mencatat jawaban Anda sehingga permintaan tidak muncul lagi

458* **Blokir mulai sekarang**: pembacaan ditolak, dan Claude Code menetapkan [`permissions.blockReadsOutsideWorkingDirectories`](/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) ke `true` dalam pengaturan pengguna Anda, yang membuat alat file menolak pembacaan tersebut dalam setiap sesi kemudian dan setiap mode izin. Untuk membiarkan Claude membaca jalur tersebut nanti, tambahkan direktorinya dengan `/add-dir` atau hapus pengaturannya.462* **Blokir mulai sekarang**: pembacaan ditolak, dan Claude Code menetapkan [`permissions.blockReadsOutsideWorkingDirectories`](/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) ke `true` dalam pengaturan pengguna Anda, yang membuat alat file menolak pembacaan tersebut dalam setiap sesi kemudian dan setiap mode izin. Untuk membiarkan Claude membaca jalur tersebut nanti, tambahkan direktorinya dengan `/add-dir` atau hapus pengaturannya.

459* **Tanya lagi lain kali**: pembacaan ditolak, dan pembacaan berikutnya di luar direktori kerja meminta lagi463* **Tanya lagi lain kali**: pembacaan ditolak, dan pembacaan berikutnya di luar direktori kerja meminta lagi

464* **Ya, tetapi tanya lagi lain kali**: pembacaan berjalan, tidak ada yang disimpan, dan pembacaan berikutnya di luar direktori kerja meminta lagi

460 465 

461<h3 id="boundaries-you-state-in-conversation">466<h3 id="boundaries-you-state-in-conversation">

462 Batas yang Anda nyatakan dalam percakapan467 Batas yang Anda nyatakan dalam percakapan


497 Setiap tindakan melalui urutan keputusan tetap. Langkah pertama yang cocok menang:502 Setiap tindakan melalui urutan keputusan tetap. Langkah pertama yang cocok menang:

498 503 

499 1. Tindakan yang cocok dengan [aturan allow, ask, atau deny](/docs/id/permissions#manage-permissions) Anda diselesaikan segera, dengan pengecualian ini:504 1. Tindakan yang cocok dengan [aturan allow, ask, atau deny](/docs/id/permissions#manage-permissions) Anda diselesaikan segera, dengan pengecualian ini:

500 * Penulisan ke [jalur yang dilindungi](#protected-paths) rute ke pengklasifikasi bahkan ketika aturan allow cocok, dan begitu juga penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](#critical-paths) dalam Claude Code v2.1.218 dan lebih baru505 * Penulisan ke [jalur yang dilindungi](#protected-paths) rute ke pengklasifikasi bahkan ketika aturan allow cocok

506 * Tidak ada aturan allow yang menyetujui penghapusan `rm` dan `rmdir` yang menargetkan [jalur kritis](#critical-paths)

501 * Alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) meminta Anda langsung bahkan ketika aturan allow cocok, dan begitu juga alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dalam sesi di mana pengaturan itu mencapai Claude Code507 * Alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) meminta Anda langsung bahkan ketika aturan allow cocok, dan begitu juga alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dalam sesi di mana pengaturan itu mencapai Claude Code

502 * Perintah shell yang membawa [domain yang diizinkan per-perintah](/docs/id/sandboxing#per-command-allowed-domains-in-auto-mode) juga rute ke pengklasifikasi bahkan ketika aturan allow cocok, karena aturan menyetujui perintah, bukan hostnya508 * Perintah shell yang membawa [domain yang diizinkan per-perintah](/docs/id/sandboxing#per-command-allowed-domains-in-auto-mode) juga rute ke pengklasifikasi bahkan ketika aturan allow cocok, karena aturan menyetujui perintah, bukan hostnya

503 * Aturan ask yang cocok pada konten perintah, seperti `Bash(git push *)`, kembali ke permintaan izin509 * Aturan ask yang cocok pada konten perintah, seperti `Bash(git push *)`, kembali ke permintaan izin

510 * Penulisan yang [pemeriksaan symlink](/docs/id/permissions#symlinks) selesaikan ke jalur yang dilindungi meminta Anda ketika jalur yang diminta Claude bukan sendiri yang dilindungi

504 2. Tindakan hanya-baca dan pengeditan file di direktori kerja Anda disetujui otomatis, kecuali penulisan ke [jalur yang dilindungi](#protected-paths) dan [pembacaan pertama di luar direktori kerja](#first-read-outside-the-working-directories), yang meminta Anda511 2. Tindakan hanya-baca dan pengeditan file di direktori kerja Anda disetujui otomatis, kecuali penulisan ke [jalur yang dilindungi](#protected-paths) dan [pembacaan pertama di luar direktori kerja](#first-read-outside-the-working-directories), yang meminta Anda

505 * Dalam sesi dengan [tinjauan pengklasifikasi sisi server](#server-side-classifier-review), perintah hanya-baca dan [sandboxed](/docs/id/sandboxing#sandbox-modes) shell menunggu tinjauan itu dan diblokir jika itu menandainya512 * Dalam sesi dengan [tinjauan pengklasifikasi sisi server](#server-side-classifier-review), perintah hanya-baca dan [sandboxed](/docs/id/sandboxing#sandbox-modes) shell menunggu tinjauan itu dan diblokir jika itu menandainya

506 3. Semuanya yang lain pergi ke pengklasifikasi. Alat konektor dan alat MCP `requiresUserInteraction` yang meminta Anda langsung dalam langkah 1 tidak pernah mencapai pengklasifikasi, jadi baik persetujuan yang diperlukan org maupun langkah persetujuan tidak disetujui otomatis513 * Penulisan di dalam direktori kerja Anda yang [pemeriksaan symlink](/docs/id/permissions#symlinks) selesaikan ke lokasi di luar itu meminta Anda

514 3. Semuanya yang lain pergi ke pengklasifikasi, terlepas dari [penghapusan jalur kritis](#critical-paths) di bawah penanganan default mereka. Alat konektor dan alat MCP `requiresUserInteraction` yang meminta Anda langsung dalam langkah 1 tidak pernah mencapai pengklasifikasi, jadi baik persetujuan yang diperlukan org maupun langkah persetujuan tidak disetujui otomatis

507 4. Jika pengklasifikasi memblokir, Claude menerima alasan dan mencoba alternatif. Dalam sebagian besar sesi alasan menyebutkan aturan yang cocok pengklasifikasi, seperti `[Data Exfiltration]`, daripada memberikan penjelasan tertulis; lihat [Tinjauan penolakan](/docs/id/auto-mode-config#review-denials)515 4. Jika pengklasifikasi memblokir, Claude menerima alasan dan mencoba alternatif. Dalam sebagian besar sesi alasan menyebutkan aturan yang cocok pengklasifikasi, seperti `[Data Exfiltration]`, daripada memberikan penjelasan tertulis; lihat [Tinjauan penolakan](/docs/id/auto-mode-config#review-denials)

508 516 

509 Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode arbitrer dijatuhkan:517 Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode arbitrer dijatuhkan:


568 576 

569Mode `bypassPermissions` menonaktifkan prompt izin dan pemeriksaan keamanan sehingga panggilan alat dijalankan segera, termasuk penulisan ke [jalur yang dilindungi](#protected-paths).577Mode `bypassPermissions` menonaktifkan prompt izin dan pemeriksaan keamanan sehingga panggilan alat dijalankan segera, termasuk penulisan ke [jalur yang dilindungi](#protected-paths).

570 578 

571[Tindakan yang tidak ada mode auto-approve](#actions-no-mode-auto-approves) masih meminta dalam mode ini.579[Tindakan yang tidak ada mode auto-approve](#actions-no-mode-auto-approves) masih meminta dalam mode ini. [Remove-Item di PowerShell](#remove-item-in-powershell) penolakan juga berlaku dalam mode ini.

572 580 

573Dua perlindungan [pesan lintas sesi](/docs/id/cross-session-messaging) masih berlaku dalam mode ini, dan dalam sesi mode rencana terminal interaktif di mana bypass permissions tersedia:581Dua perlindungan [pesan lintas sesi](/docs/id/cross-session-messaging) masih berlaku dalam mode ini, dan dalam sesi mode rencana terminal interaktif di mana bypass permissions tersedia:

574 582 


603 611 

604Pemeriksaan dilewati secara otomatis di dalam sandbox yang dikenali. Untuk menjalankan secara otonom dalam kontainer, gunakan konfigurasi [dev container](/docs/id/devcontainer), yang menjalankan Claude Code sebagai pengguna non-root.612Pemeriksaan dilewati secara otomatis di dalam sandbox yang dikenali. Untuk menjalankan secara otonom dalam kontainer, gunakan konfigurasi [dev container](/docs/id/devcontainer), yang menjalankan Claude Code sebagai pengguna non-root.

605 613 

606[Claude Code di web](/docs/id/claude-code-on-the-web) tidak menghormati `defaultMode: "bypassPermissions"` atau `"dontAsk"` dari file pengaturan Anda, jadi pengaturan yang diperiksa dalam repositori tidak dapat memulai sesi cloud dalam mode bypass-permissions. Pengaturan diabaikan secara diam-diam dan sesi dimulai dalam mode izin yang ditampilkan di dropdown mode sebagai gantinya. Lihat [Alihkan mode izin](#switch-permission-modes) untuk mode mana yang ditawarkan sesi cloud.614[Sesi cloud](/docs/id/claude-code-on-the-web) tidak menghormati `defaultMode: "bypassPermissions"` atau `"dontAsk"` dari file pengaturan Anda, jadi pengaturan yang diperiksa dalam repositori tidak dapat memulai sesi cloud dalam mode bypass-permissions. Pengaturan diabaikan secara diam-diam dan sesi dimulai dalam mode izin yang ditampilkan di dropdown mode sebagai gantinya. Lihat [Alihkan mode izin](#switch-permission-modes) untuk mode mana yang ditawarkan sesi cloud.

607 615 

608<Warning>616<Warning>

609 `bypassPermissions` tidak menawarkan perlindungan terhadap injeksi prompt atau tindakan yang tidak diinginkan. Untuk pemeriksaan keamanan latar belakang dengan jauh lebih sedikit prompt, gunakan [mode auto](#eliminate-prompts-with-auto-mode) sebagai gantinya. Administrator dapat memblokir mode ini dengan mengatur `permissions.disableBypassPermissionsMode` ke `"disable"` dalam [pengaturan terkelola](/docs/id/managed-settings).617 `bypassPermissions` tidak menawarkan perlindungan terhadap injeksi prompt atau tindakan yang tidak diinginkan. Untuk pemeriksaan keamanan latar belakang dengan jauh lebih sedikit prompt, gunakan [mode auto](#eliminate-prompts-with-auto-mode) sebagai gantinya. Administrator dapat memblokir mode ini dengan mengatur `permissions.disableBypassPermissionsMode` ke `"disable"` dalam [pengaturan terkelola](/docs/id/managed-settings).


625 633 

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

627 635 

628Aturan [`permissions.allow`](/docs/id/permissions#manage-permissions) dalam file pengaturan tidak pra-menyetujui penulisan jalur yang dilindungi. Pemeriksaan keamanan berjalan sebelum Claude Code mengevaluasi aturan allow dari pengaturan, jadi entri seperti `Edit(.claude/**)` dalam `~/.claude/settings.json` atau `.claude/settings.json` tidak mengubah hasil per-mode dalam tabel di atas. Dalam mode yang meminta, prompt untuk penulisan `.claude/` menawarkan **Ya, dan izinkan Claude untuk mengedit pengaturannya sendiri untuk sesi ini**, yang menyetujui penulisan `.claude/` berikutnya dalam sesi itu tanpa meminta lagi.636Dalam mode yang merutekan penulisan jalur yang dilindungi ke pengklasifikasi, penulisan yang [pemeriksaan symlink](/docs/id/permissions#symlinks) selesaikan ke jalur yang dilindungi meminta Anda sebagai gantinya ketika jalur yang diminta Claude bukan sendiri dilindungi.

637 

638Aturan [`permissions.allow`](/docs/id/permissions#manage-permissions) dalam file pengaturan tidak pra-menyetujui penulisan jalur yang dilindungi. Pemeriksaan keamanan berjalan sebelum Claude Code mengevaluasi aturan allow dari pengaturan, jadi entri seperti `Edit(.claude/**)` dalam `~/.claude/settings.json` atau `.claude/settings.json` tidak mengubah hasil per-mode dalam tabel di atas. Dalam mode permisi yang meminta, prompt untuk penulisan ke folder `.claude/` proyek atau ke `~/.claude/` dapat menawarkan salah satu opsi yang dibatasi sesi ini:

639 

640* Untuk folder `.claude/` proyek: **Ya, dan izinkan Claude untuk mengedit file di folder .claude proyek ini untuk sesi ini**

641* Untuk `~/.claude/`: **Ya, dan izinkan Claude untuk mengedit file di folder \~/.claude-nya untuk sesi ini**

629 642 

630Direktori yang dilindungi:643Direktori yang dilindungi:

631 644 


663| Mode | Apa yang dilakukan Claude Code dengan penghapusan jalur kritis |676| Mode | Apa yang dilakukan Claude Code dengan penghapusan jalur kritis |

664| :- | :- |677| :- | :- |

665| `default`, `acceptEdits` | Meminta Anda untuk menyetujuinya |678| `default`, `acceptEdits` | Meminta Anda untuk menyetujuinya |

666| `plan` | Meminta Anda untuk menyetujuinya. Dengan [mode auto tersedia selama perencanaan](#analyze-before-you-edit-with-plan-mode) dan tidak ada bypass permissions tersedia, mengirimkannya ke pengklasifikasi sebagai gantinya |679| `plan` | Meminta Anda untuk menyetujuinya. Ketika [pengklasifikasi meninjau perintah selama perencanaan](#analyze-before-you-edit-with-plan-mode) dan tidak ada bypass permissions tersedia, menanganinya seperti dalam mode `auto` |

667| `auto` | Mengirimkannya ke [pengklasifikasi](#eliminate-prompts-with-auto-mode) |680| `auto` | Meminta Anda untuk menyetujuinya di terminal, dengan batas waktu. Di tempat lain, menolaknya |

668| `dontAsk` | Menolaknya |681| `dontAsk` | Menolaknya |

669| `bypassPermissions` | Meminta Anda untuk menyetujuinya |682| `bypassPermissions` | Meminta Anda untuk menyetujuinya, dengan batas waktu di terminal |

683 

684Jika [aturan ask](/docs/id/permissions#manage-permissions) eksplisit cocok dengan perintah, Claude Code meminta Anda sebagai gantinya, bahkan dalam mode `auto` dan tanpa batas waktu. Dalam mode yang meminta, hook [`PermissionRequest`](/docs/id/hooks#permissionrequest) dapat menjawab prompt.

685 

686Penanganan `auto` dan `bypassPermissions` memerlukan Claude Code v2.1.281 atau lebih baru. Untuk mematikannya, atur [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1`](/docs/id/env-vars#variables) dalam lingkungan yang meluncurkan Claude Code. Dalam mode `auto`, penghapusan jalur kritis kemudian pergi ke pengklasifikasi sebagai gantinya, dan dalam mode `bypassPermissions` prompt tidak memiliki batas waktu.

670 687 

671Jika [aturan ask](/docs/id/permissions#manage-permissions) eksplisit cocok dengan perintah, Claude Code meminta Anda bahkan dalam mode `auto`. Dalam mode yang meminta, hook [`PermissionRequest`](/docs/id/hooks#permissionrequest) dapat menjawab prompt dengan cara yang menjawab apa pun yang lain.688Dalam mode `auto` dan `bypassPermissions`, prompt terminal menampilkan hitungan mundur dua menit:

689 

690* Jika hitungan mundur habis sebelum Anda menjawab, Claude Code menolak perintah dan memberi tahu Claude apa yang harus dilakukan sebagai gantinya, sehingga sesi tanpa pengawasan terus bekerja.

691* Tekan tombol apa pun saat prompt terbuka untuk menghentikan hitungan mundur dan membuat prompt tetap menunggu jawaban Anda.

692* Setelah tiga prompt ini habis tanpa jawaban dalam sesi, Claude Code berhenti menampilkannya dan menolak penghapusan jalur kritis lebih lanjut segera. Mengirim pesan baru memulai hitungan ulang.

693 

694Dalam mode `auto`, di mana pun Claude Code tidak dapat menampilkan prompt terminal kepada Anda, itu menolak perintah segera, misalnya dalam [run non-interaktif](/docs/id/headless) dengan `-p`, dalam sesi [Agent SDK](/docs/id/agent-sdk/permissions), dan dalam panel chat ekstensi VS Code dan aplikasi Desktop. Penolakan memberi tahu Claude untuk melaporkan apa yang ingin dihapus dan membiarkan penghapusan kepada Anda.

672 695 

673Claude Code memperlakukan target `rm` atau `rmdir` sebagai jalur kritis ketika itu adalah salah satu dari yang berikut:696Claude Code memperlakukan target `rm` atau `rmdir` sebagai jalur kritis ketika itu adalah salah satu dari yang berikut:

674 697 


686* Untuk variabel seperti `$DIR`, lindungi setiap ekspansi sehingga shell berhenti dengan kesalahan ketika variabel tidak diatur atau kosong, seperti dalam `rm -rf "${DIR:?}"/*`, atau gunakan jalur literal709* Untuk variabel seperti `$DIR`, lindungi setiap ekspansi sehingga shell berhenti dengan kesalahan ketika variabel tidak diatur atau kosong, seperti dalam `rm -rf "${DIR:?}"/*`, atau gunakan jalur literal

687* Untuk variabel yang biasanya diatur, seperti `$HOME`, gunakan jalur literal710* Untuk variabel yang biasanya diatur, seperti `$HOME`, gunakan jalur literal

688 711 

689Penghapusan yang ekspansinya semuanya dilindungi dengan cara itu bukan penghapusan jalur kritis, jadi dalam mode `bypassPermissions` itu berjalan tanpa prompt.712Penghapusan yang ekspansinya semuanya dilindungi dengan cara itu lulus pemeriksaan ini, jadi dalam mode `bypassPermissions` itu berjalan tanpa prompt kecuali pemeriksaan lain di bagian ini menandainya.

713 

714Claude Code juga memperlakukan target ini sebagai jalur kritis:

715 

716* **Variabel shell diikuti oleh satu nama direktori tingkat atas**, seperti `rm -rf "$TMPDIR/mnt"`: ketika variabel berkembang kosong, perintah menghapus `/mnt`. Ini mencakup nama tingkat atas umum seperti `mnt`, `tmp`, `usr`, dan `Users`.

717* **Variabel yang perintah yang sama tetapkan dari substitusi pencetakan direktori**, seperti `D=$(pwd); rm -rf "$D"` atau penugasan dari `$(git rev-parse --show-toplevel)`: nilainya dapat menamai direktori kerja atau akar repositori Anda. Penjaga `"${D:?}"` tidak menghapus pemeriksaan ini, karena variabel tidak kosong; gunakan jalur literal sebagai gantinya.

718* **Target hanya garis miring terbalik**, seperti `rm -rf "\\"`: Git Bash di Windows membaca garis miring terbalik tunggal sebagai akar drive saat ini, jadi pemeriksaan berlaku di setiap platform.

719* **Hanya output dari substitusi perintah**, seperti `rm -rf "$(pwd)"`, ketika `rm` bersifat rekursif: Claude Code tidak dapat memeriksa target sebelum perintah berjalan, jadi prompt memberi tahu Claude untuk menjalankan substitusi sendiri terlebih dahulu dan kemudian menghapus jalur literal yang dicetak. Untuk mematikan pemeriksaan ini, atur [`CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT=1`](/docs/id/env-vars#variables) dalam lingkungan yang meluncurkan Claude Code.

720 

721Ketika substitusi perintah di akhir dapat berkembang kosong, seperti dalam `rm -rf ~/$(cmd)`, Claude Code memeriksa jalur yang akan tetap, direktori home Anda dalam contoh ini.

690 722 

691Menyembunyikan penghapusan di dalam subshell dengan `(...)`, grup brace dengan `{ ...; }`, substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`, tidak melewati pemeriksaan. Claude Code menemukan penghapusan jalur kritis apakah itu berada di dalam bentuk bersarang, seperti dalam `(rm -rf ~)` atau `echo "$(rm -rf ~)"`, atau di tempat lain dalam perintah yang sama.723Menyembunyikan penghapusan di dalam subshell dengan `(...)`, grup brace dengan `{ ...; }`, substitusi perintah dengan `$(...)` atau backtick, atau substitusi proses dengan `<(...)`, tidak melewati pemeriksaan. Claude Code menemukan penghapusan jalur kritis apakah itu berada di dalam bentuk bersarang, seperti dalam `(rm -rf ~)` atau `echo "$(rm -rf ~)"`, atau di tempat lain dalam perintah yang sama.

692 724 


694 Remove-Item dalam PowerShell726 Remove-Item dalam PowerShell

695</h3>727</h3>

696 728 

697Ketika Anda mengaktifkan [alat PowerShell](/docs/id/tools-reference#powershell-tool), Claude Code memberikan `Remove-Item` pemeriksaannya sendiri, terpisah dari daftar jalur kritis `rm`. Hasilnya bergantung pada target, dan kasus pertama yang cocok berlaku:729Ketika Anda mengaktifkan [alat PowerShell](/docs/id/tools-reference#powershell-tool), Claude Code memberikan `Remove-Item` dan built-in `cmd` `rd`, `rmdir`, `del`, dan `erase` pemeriksaan mereka sendiri, terpisah dari daftar jalur kritis `rm`. Untuk `Remove-Item`, hasilnya bergantung pada target, dan kasus pertama yang cocok berlaku:

698 730 

699* **Jalur sistem**: akar filesystem dan direktori tingkat atasnya, akar drive dan direktori tingkat atas mereka, dan direktori home Anda. Claude Code menolak perintah di setiap mode, tanpa bertanya kepada Anda.731* **Jalur sistem**: akar filesystem dan direktori tingkat atasnya, akar drive dan direktori tingkat atas mereka, dan direktori home Anda. Claude Code menolak perintah di setiap mode, tanpa bertanya kepada Anda.

700* **Wildcard**: bare `*`, atau target apa pun yang berakhir dalam `/*` atau `\*`, termasuk glob di bawah variabel shell seperti `$dir/*`. Claude Code menolak perintah di setiap mode, tanpa bertanya kepada Anda, sebelum [pengklasifikasi](#eliminate-prompts-with-auto-mode) melihatnya.732* **Wildcard**: bare `*`, atau target apa pun yang berakhir dalam `/*` atau `\*`, termasuk glob di bawah variabel shell seperti `$dir/*`. Claude Code menolak perintah di setiap mode, tanpa bertanya kepada Anda, sebelum [pengklasifikasi](#eliminate-prompts-with-auto-mode) melihatnya.

701* **Direktori kerja Anda atau salah satu induknya, dengan `-Recurse`**: Claude Code memperlakukan perintah seperti apa pun yang memerlukan persetujuan dalam mode izin Anda, jadi itu meminta Anda dalam mode yang meminta, mengirimkannya ke pengklasifikasi dalam mode `auto`, dan menolaknya dalam mode `dontAsk`. Mode `bypassPermissions` melewati pemeriksaan ini.733* **Direktori kerja Anda atau salah satu induknya, dengan `-Recurse`**: Claude Code memperlakukan perintah seperti apa pun yang memerlukan persetujuan dalam mode izin Anda, jadi itu meminta Anda dalam mode yang meminta, mengirimkannya ke pengklasifikasi dalam mode `auto`, dan menolaknya dalam mode `dontAsk`. Mode `bypassPermissions` melewati pemeriksaan ini.

702 734 

735Kasus jalur sistem juga berlaku untuk `rd`, `rmdir`, `del`, dan `erase` ketika Claude menjalankannya melalui `cmd`, seperti dalam `cmd /c rd /s /q C:\Users`. Secara default, Claude Code menolak perintah seperti itu di setiap mode, tanpa bertanya kepada Anda. Pemeriksaan `cmd` ini memerlukan Claude Code v2.1.283 atau lebih baru.

736 

737Saat menilai target `cmd`, Claude Code memperlakukan variabel PowerShell yang mengikuti teks literal sebagai kosong. Itu membuat `cmd /c rd /s /q "C:\$name"` penghapusan `C:\`, jadi itu juga ditolak. Wildcard di akhir dihitung sebagai folder yang dikosongkannya, jadi `cmd /c del /q C:\*` ditolak dan `cmd /c del /q dist\*` dalam proyek Anda tidak.

738 

739Untuk mematikan pemeriksaan `cmd`, atur [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY=1`](/docs/id/env-vars#variables) dalam lingkungan yang meluncurkan Claude Code. Claude Code mengabaikan variabel ini dalam blok `env` file pengaturan. `Remove-Item` pada jalur sistem tetap ditolak bagaimanapun juga.

740 

703<h2 id="see-also">741<h2 id="see-also">

704 Lihat juga742 Lihat juga

705</h2>743</h2>

permissions.md +70 −41

Details

242 242 

243Ketika `&&` atau `||` tidak memiliki apa pun setelahnya, seperti dalam `npm test &&`, Claude Code memperlakukan perintah sebagai tidak dapat diurai dan tidak membaginya menjadi subperintah untuk pencocokan aturan izin, jadi aturan seperti `Bash(npm *)` tidak menyetujuinya.243Ketika `&&` atau `||` tidak memiliki apa pun setelahnya, seperti dalam `npm test &&`, Claude Code memperlakukan perintah sebagai tidak dapat diurai dan tidak membaginya menjadi subperintah untuk pencocokan aturan izin, jadi aturan seperti `Bash(npm *)` tidak menyetujuinya.

244 244 

245Ketika Anda menyetujui perintah gabungan dengan "Ya, dan jangan tanya lagi", Claude Code menyimpan aturan terpisah untuk setiap subperintah yang memerlukan persetujuan, bukan satu aturan untuk string gabungan lengkap. Misalnya, menyetujui `git status && npm test` menyimpan aturan untuk `npm test`, jadi invokasi `npm test` di masa depan dikenali terlepas dari apa yang mendahului `&&`. Subperintah seperti `cd` ke direktori di luar direktori kerja Anda menghasilkan aturan Read mereka sendiri untuk jalur itu. Hingga 5 aturan dapat disimpan untuk satu perintah gabungan.245Ketika Anda menyetujui perintah gabungan dengan "Ya, dan jangan tanya lagi", Claude Code menyimpan aturan terpisah untuk setiap subperintah yang memerlukan persetujuan, bukan aturan tunggal untuk string gabungan lengkap. Misalnya, menyetujui `git status && npm test` menyimpan aturan untuk `npm test`, jadi invokasi `npm test` di masa depan dikenali terlepas dari apa yang mendahului `&&`. Subperintah seperti `cd` ke direktori di luar direktori kerja Anda menghasilkan aturan Read mereka sendiri untuk jalur itu. Hingga 5 aturan dapat disimpan untuk satu perintah gabungan.

246 246 

247<h4 id="process-wrappers">247<h4 id="process-wrappers">

248 Pembungkus248 Pembungkus


278 Perintah baca-saja278 Perintah baca-saja

279</h4>279</h4>

280 280 

281Claude Code mengenali serangkaian perintah Bash bawaan sebagai baca-saja dan menjalankannya tanpa prompt izin dalam setiap mode, kecuali untuk jalur yang [`permissions.blockReadsOutsideWorkingDirectories`](/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) lindungi. Himpunan ini mencakup `ls`, `cat`, `echo`, `pwd`, `head`, `tail`, `grep`, `find`, `wc`, `which`, `diff`, `stat`, `du`, `cd`, dan bentuk baca-saja dari `git`. Himpunan ini tidak dapat dikonfigurasi; untuk memerlukan prompt untuk salah satu perintah ini, tambahkan aturan `ask` atau `deny` untuk itu. Dalam mode otomatis, perintah-perintah ini juga dapat menunggu tinjauan pengklasifikasi; lihat [bagaimana pengklasifikasi mengevaluasi tindakan](/docs/id/permission-modes#how-the-classifier-evaluates-actions).281Claude Code mengenali serangkaian perintah Bash bawaan sebagai baca-saja dan menjalankannya tanpa prompt izin dalam setiap mode, kecuali untuk jalur yang [`permissions.blockReadsOutsideWorkingDirectories`](/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) pagar. Himpunan ini mencakup `ls`, `cat`, `echo`, `pwd`, `head`, `tail`, `grep`, `find`, `wc`, `which`, `diff`, `stat`, `du`, `cd`, dan bentuk baca-saja dari `git`. Himpunan ini tidak dapat dikonfigurasi; untuk memerlukan prompt untuk salah satu perintah ini, tambahkan aturan `ask` atau `deny` untuk itu. Dalam mode otomatis, perintah-perintah ini juga dapat menunggu tinjauan pengklasifikasi; lihat [bagaimana pengklasifikasi mengevaluasi tindakan](/docs/id/permission-modes#how-the-classifier-evaluates-actions).

282 282 

283Pengalihan seperti `ls > out.txt` menambahkan pemeriksaan pada target. Lihat [Pengalihan](#redirections).283Pengalihan seperti `ls > out.txt` menambahkan pemeriksaan pada target. Lihat [Pengalihan](#redirections).

284 284 


287Dalam mode Manual, perintah dari himpunan ini masih meminta dalam kasus-kasus ini:287Dalam mode Manual, perintah dari himpunan ini masih meminta dalam kasus-kasus ini:

288 288 

289* **Glob yang tidak dikutip untuk perintah dengan flag yang mampu menulis**: perintah dengan flag yang mampu menulis atau mampu exec, seperti `find`, `sort`, `sed`, dan `git`, meminta ketika glob yang tidak dikutip ada, karena glob dapat berkembang menjadi flag seperti `-delete`.289* **Glob yang tidak dikutip untuk perintah dengan flag yang mampu menulis**: perintah dengan flag yang mampu menulis atau mampu exec, seperti `find`, `sort`, `sed`, dan `git`, meminta ketika glob yang tidak dikutip ada, karena glob dapat berkembang menjadi flag seperti `-delete`.

290* **`docker` yang menunjuk ke daemon lain**: bentuk baca-saja dari `docker` meminta ketika perintah membawa flag yang memilih daemon berbeda, seperti `-H`, `--context`, atau `--url` dan `--connection` Podman.290* **`docker` menunjuk ke daemon lain**: bentuk baca-saja dari `docker` meminta ketika perintah membawa flag yang memilih daemon berbeda, seperti `-H`, `--context`, atau `--url` dan `--connection` Podman.

291* **`file` dengan flag pembuka jalur**: `file` meminta ketika melewatkan `-m`/`--magic-file` atau `-f`/`--files-from`, karena flag-flag ini membuat `file` membuka jalur yang dinamai dalam nilai flag.291* **`file` dengan flag pembuka jalur**: `file` meminta ketika melewatkan `-m`/`--magic-file` atau `-f`/`--files-from`, karena flag-flag itu membuat `file` membuka jalur yang dinamai dalam nilai flag.

292* **Jalur jaringan di Windows**: perintah yang argumennya mencakup jalur jaringan (UNC), seperti `\\server\share\file`, meminta karena mengakses jalur jaringan dapat mengirim kredensial Windows Anda ke host yang dinamainya. Pemeriksaan yang sama berlaku untuk perintah [alat PowerShell](/docs/id/tools-reference#powershell-tool).292* **Jalur jaringan di Windows**: perintah yang argumennya mencakup jalur jaringan (UNC), seperti `\\server\share\file`, meminta karena mengakses jalur jaringan dapat mengirim kredensial Windows Anda ke host yang dinamainya. Pemeriksaan yang sama berlaku untuk perintah [alat PowerShell](/docs/id/tools-reference#powershell-tool).

293* **Perintah yang analisisnya tidak dapat diurai**: ketika Claude Code tidak dapat sepenuhnya mengurai perintah, itu meminta persetujuan daripada memperlakukan perintah sebagai baca-saja. Perintah yang lebih panjang dari 10.000 karakter selalu meminta karena melebihi apa yang dianalisis.293* **Perintah yang analisisnya tidak dapat diurai**: ketika Claude Code tidak dapat sepenuhnya mengurai perintah, itu meminta persetujuan daripada memperlakukan perintah sebagai baca-saja. Perintah yang lebih panjang dari 10.000 karakter selalu meminta karena melebihi apa yang dianalisis.

294 294 


307 307 

308 Untuk penyaringan URL yang lebih andal, pertimbangkan:308 Untuk penyaringan URL yang lebih andal, pertimbangkan:

309 309 

310 * **Batasi alat jaringan Bash**: gunakan aturan tolak untuk menghentikan `curl`, `wget`, dan perintah serupa, kemudian gunakan alat WebFetch dengan izin `WebFetch(domain:github.com)` untuk domain yang diizinkan. Aturan tolak tidak cocok dengan program yang sama berdasarkan jalur atau di dalam `sh -c`, jadi pasangkan dengan [daftar allowlist jaringan sandbox](/docs/id/sandboxing#network-isolation) ketika pembatasan harus berlaku; lihat [apa yang tidak cocok dengan aturan Bash](#bash-rule-limits)310 * **Batasi alat jaringan Bash**: gunakan aturan tolak untuk menghentikan `curl`, `wget`, dan perintah serupa, kemudian gunakan alat WebFetch dengan izin `WebFetch(domain:github.com)` untuk domain yang diizinkan. Aturan tolak tidak cocok dengan program yang sama menurut jalur atau di dalam `sh -c`, jadi pasangkan dengan [daftar izin jaringan sandbox](/docs/id/sandboxing#network-isolation) ketika pembatasan harus berlaku; lihat [apa yang tidak cocok dengan aturan Bash](#bash-rule-limits)

311 * **Gunakan hook PreToolUse**: implementasikan hook yang memvalidasi URL dalam perintah Bash dan memblokir domain yang tidak diizinkan311 * **Gunakan hook PreToolUse**: implementasikan hook yang memvalidasi URL dalam perintah Bash dan memblokir domain yang tidak diizinkan

312 * **Tambahkan panduan CLAUDE.md**: jelaskan pola curl yang diizinkan Anda dalam `CLAUDE.md`. Ini membentuk apa yang Claude coba tetapi tidak memberlakukan batas, jadi pasangkan dengan salah satu opsi di atas312 * **Tambahkan panduan CLAUDE.md**: jelaskan pola curl yang diizinkan Anda dalam `CLAUDE.md`. Ini membentuk apa yang Claude coba tetapi tidak memberlakukan batas, jadi pasangkan dengan salah satu opsi di atas

313 313 


320 320 

321Ketika perintah mengalihkan output atau input, Claude Code memeriksa target pengalihan terhadap aturan file Anda seolah-olah Claude menulis atau membaca file itu secara langsung:321Ketika perintah mengalihkan output atau input, Claude Code memeriksa target pengalihan terhadap aturan file Anda seolah-olah Claude menulis atau membaca file itu secara langsung:

322 322 

323* **Pengalihan output**: untuk `> file`, `>> file`, atau `2> file`, pemeriksaan mencakup aturan izin `Edit` Anda, [jalur terlindungi](/docs/id/permission-modes#protected-paths), dan [direktori kerja](#working-directories). Aturan seperti `Bash(git commit *)` mengizinkan perintah, bukan target. Target yang dimulai dengan `~` atau berisi karakter glob memerlukan persetujuan Anda.323* **Pengalihan output**: untuk `> file`, `>> file`, atau `2> file`, pemeriksaan mencakup aturan izin dan tolak `Edit` Anda, [jalur terlindungi](/docs/id/permission-modes#protected-paths), dan [direktori kerja](#working-directories). Aturan seperti `Bash(git commit *)` mengizinkan perintah, bukan target. Target yang dimulai dengan `~` atau berisi karakter glob memerlukan persetujuan Anda.

324* **Pengalihan input**: untuk `< file`, pemeriksaan mencakup aturan izin `Read` Anda dan direktori kerja. Target di luar direktori kerja memerlukan persetujuan Anda kecuali aturan izin mencakupnya. Target yang berisi pola glob, atau jalur relatif yang mengikuti `cd` dalam perintah yang sama, memerlukan persetujuan Anda bahkan ketika aturan izin mencakupnya. Claude Code memeriksa target input dalam v2.1.257 dan yang lebih baru.324* **Pengalihan input**: untuk `< file`, pemeriksaan mencakup aturan izin dan tolak `Read` Anda dan direktori kerja. Target di luar direktori kerja memerlukan persetujuan Anda kecuali aturan izin mencakupnya. Target yang berisi pola glob, atau jalur relatif yang mengikuti `cd` dalam perintah yang sama, memerlukan persetujuan Anda bahkan ketika aturan izin mencakupnya. Claude Code memeriksa target input dalam v2.1.257 dan yang lebih baru.

325 325 

326Target tanpa file di belakangnya tidak diperiksa: `/dev/null`, bentuk file-descriptor seperti `2>&1` dan `<&3`, dan here-docs dan here-strings.326Target tanpa file di belakangnya tidak diperiksa: `/dev/null`, bentuk deskriptor file seperti `2>&1` dan `<&3`, dan here-docs dan here-strings.

327 327 

328Claude Code juga memeriksa file yang ditulis perintah `tee`, termasuk dalam pipeline seperti `make | tee build.log`. Pemeriksaan mencakup aturan izin `Edit` Anda, [jalur terlindungi](/docs/id/permission-modes#protected-paths), dan [direktori kerja](#working-directories). Aturan izin seperti `Bash(tee *)` tidak mencakup tujuan di luar direktori kerja. Claude Code memeriksa target `tee` dalam v2.1.269 dan yang lebih baru.328Claude Code juga memeriksa file yang ditulis perintah `tee`, termasuk dalam pipeline seperti `make | tee build.log`. Pemeriksaan mencakup aturan izin dan tolak `Edit` Anda, [jalur terlindungi](/docs/id/permission-modes#protected-paths), dan [direktori kerja](#working-directories). Aturan izin seperti `Bash(tee *)` tidak mencakup tujuan di luar direktori kerja. Claude Code memeriksa target `tee` dalam v2.1.269 dan yang lebih baru.

329 329 

330<h3 id="powershell">330<h3 id="powershell">

331 PowerShell331 PowerShell


355 Read dan Edit355 Read dan Edit

356</h3>356</h3>

357 357 

358Untuk memblokir alat file Claude dari membaca file atau direktori, tambahkan aturan tolak `Read` untuk jalurnya, seperti `Read(./.env)` atau `Read(./secrets/**)`; [Exclude sensitive files](/docs/id/settings-reference#exclude-sensitive-files) memiliki contoh siap tempel.358Untuk memblokir alat file Claude dari membaca file atau direktori, tambahkan aturan tolak `Read` untuk jalurnya, seperti `Read(./.env)` atau `Read(./secrets/**)`; [Kecualikan file sensitif](/docs/id/settings-reference#exclude-sensitive-files) memiliki contoh siap tempel.

359 359 

360Aturan `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 konteks file pilihan dan file terbuka yang [IDE](/docs/id/vs-code#the-built-in-ide-mcp-server) yang terhubung bagikan dengan Claude.360Aturan `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 pilihan dan konteks file terbuka yang [IDE](/docs/id/vs-code#the-built-in-ide-mcp-server) yang terhubung bagikan dengan Claude.

361 361 

362Aturan tolak `Read` juga memblokir alat [Edit dan Write](/docs/id/errors#file-is-covered-by-a-read-deny-rule) pada jalur yang sama, termasuk membuat file baru di sana. NotebookEdit tidak tercakup, jadi tambahkan aturan tolak `Edit` untuk jalur yang tidak boleh diubah alat apa pun. Pemeriksaan memerlukan Claude Code v2.1.208 atau lebih baru pada edit, dan v2.1.228 atau lebih baru pada write.362Aturan tolak `Read` juga memblokir alat [Edit dan Write](/docs/id/errors#file-is-covered-by-a-read-deny-rule) pada jalur yang sama, termasuk membuat file baru di sana. NotebookEdit tidak tercakup, jadi tambahkan aturan tolak `Edit` untuk jalur yang tidak boleh diubah alat apa pun. Pemeriksaan memerlukan Claude Code v2.1.208 atau yang lebih baru pada edit, dan v2.1.228 atau yang lebih baru pada write.

363 363 

364Claude Code memeriksa izin file hanya terhadap aturan `Edit(path)` dan `Read(path)`. Jika Anda menulis aturan jalur untuk `Write`, `NotebookEdit`, `Glob`, atau alat `MultiEdit` warisan sebagai gantinya, Claude Code menerima aturan tetapi tidak pernah berkonsultasi dengannya, dan [memperingatkan saat startup](/docs/id/errors#is-not-matched-by-file-permission-checks), kecuali untuk aturan `Glob` yang dilewatkan dalam `--allowedTools`. Gunakan `Edit(docs/**)` sebagai pengganti `Write(docs/**)`, `NotebookEdit(docs/**)`, atau `MultiEdit(docs/**)`, dan `Read(docs/**)` sebagai pengganti `Glob(docs/**)`. Claude Code tidak memperingatkan tentang aturan nama alat tanpa jalur, seperti aturan tolak untuk `Write`; aturan itu cocok di mana-mana di tingkat alat. Memerlukan Claude Code v2.1.210 atau lebih baru.364Claude Code memeriksa izin file hanya terhadap aturan `Edit(path)` dan `Read(path)`. Jika Anda menulis aturan jalur untuk `Write`, `NotebookEdit`, `Glob`, atau alat `MultiEdit` warisan sebagai gantinya, Claude Code menerima aturan tetapi tidak pernah berkonsultasi dengannya, dan [memperingatkan saat startup](/docs/id/errors#is-not-matched-by-file-permission-checks), kecuali untuk aturan `Glob` yang dilewatkan dalam `--allowedTools`. Gunakan `Edit(docs/**)` sebagai pengganti `Write(docs/**)`, `NotebookEdit(docs/**)`, atau `MultiEdit(docs/**)`, dan `Read(docs/**)` sebagai pengganti `Glob(docs/**)`. Claude Code tidak memperingatkan tentang aturan nama alat tanpa jalur, seperti aturan tolak untuk `Write`; aturan itu cocok di tingkat alat di mana-mana. Memerlukan Claude Code v2.1.210 atau yang lebih baru.

365 365 

366<Warning>366<Warning>

367 Aturan tolak Read dan Edit berlaku untuk alat file bawaan Claude, ke perintah file yang Claude Code kenali dalam Bash, seperti `cat`, `head`, `tail`, `sed`, dan `tee`, dan ke target pengalihan Bash [redirections](#redirections) seperti `> file` dan `< file`. Aturan-aturan ini tidak berlaku untuk perintah yang membaca file tanpa menamakannya, seperti `grep -r pattern .` dijalankan dari direktori yang menyimpan file, atau ke subproses arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file sendiri. Untuk penegakan tingkat OS yang memblokir semua proses dari mengakses jalur, [aktifkan sandbox](/docs/id/sandboxing).367 Aturan tolak Read dan Edit berlaku untuk alat file bawaan Claude, ke perintah file yang Claude Code kenali dalam Bash, seperti `cat`, `head`, `tail`, `sed`, dan `tee`, dan ke target pengalihan Bash [](#redirections) seperti `> file` dan `< file`. Aturan-aturan ini tidak berlaku untuk perintah yang membaca file tanpa menamakannya, seperti `grep -r pattern .` dijalankan dari direktori yang menyimpan file, atau ke subproses arbitrer yang membaca atau menulis file secara tidak langsung, seperti skrip Python atau Node yang membuka file sendiri. Untuk penegakan tingkat OS yang memblokir semua proses dari mengakses jalur, [aktifkan sandbox](/docs/id/sandboxing).

368</Warning>368</Warning>

369 369 

370Aturan Read dan Edit keduanya menggunakan sintaks pola [gitignore](https://git-scm.com/docs/gitignore) dengan empat jenis pola yang berbeda; untuk pola direktori segmen tunggal, kedalaman pencocokan juga bergantung pada jenis aturan, dijelaskan nanti di bagian ini:370Aturan Read dan Edit keduanya menggunakan sintaks pola [gitignore](https://git-scm.com/docs/gitignore) dengan empat jenis pola yang berbeda; untuk pola direktori segmen tunggal, kedalaman pencocokan juga bergantung pada jenis aturan, dijelaskan nanti di bagian ini:


380 Pola seperti `/Users/alice/file` bukan jalur absolut. Garis miring tunggal terdepan berlabuh di sumber pengaturan, bukan akar sistem file. Gunakan `//Users/alice/file` untuk jalur absolut.380 Pola seperti `/Users/alice/file` bukan jalur absolut. Garis miring tunggal terdepan berlabuh di sumber pengaturan, bukan akar sistem file. Gunakan `//Users/alice/file` untuk jalur absolut.

381</Warning>381</Warning>

382 382 

383Pola `/path` berlabuh di direktori yang terkait dengan sumber pengaturan yang mendefinisikannya, jadi aturan yang sama cocok dengan lokasi berbeda tergantung di mana Anda menempatkannya:383Pola `/path` berlabuh di direktori yang terkait dengan sumber pengaturan yang mendefinisikannya, jadi aturan yang sama cocok dengan lokasi berbeda tergantung di mana Anda meletakkannya:

384 384 

385| Aturan didefinisikan dalam | `/path` diselesaikan ke |385| Aturan didefinisikan dalam | `/path` diselesaikan ke |

386| :- | :- |386| :- | :- |


402 402 

403* `Edit(/docs/**)`: edit dalam `<primary working directory>/docs/`, bukan `/docs/` atau `<primary working directory>/.claude/docs/`403* `Edit(/docs/**)`: edit dalam `<primary working directory>/docs/`, bukan `/docs/` atau `<primary working directory>/.claude/docs/`

404* `Read(~/.zshrc)`: membaca `.zshrc` direktori rumah Anda404* `Read(~/.zshrc)`: membaca `.zshrc` direktori rumah Anda

405* `Edit(//tmp/scratch.txt)`: edit jalur absolut `/tmp/scratch.txt`405* `Edit(//tmp/scratch.txt)`: mengedit jalur absolut `/tmp/scratch.txt`

406* `Read(src/**)`: sebagai aturan izin, membaca dari `<current-directory>/src/` saja; sebagai aturan tolak atau tanya, cocok dengan direktori `src` di kedalaman apa pun di bawah direktori saat ini406* `Read(src/**)`: sebagai aturan izin, membaca dari `<current-directory>/src/` saja; sebagai aturan tolak atau tanya, cocok dengan direktori `src` di kedalaman apa pun di bawah direktori saat ini

407 407 

408Aturan hanya cocok dengan file di bawah jangkarnya; dalam batas itu, kedalaman pencocokan bergantung pada bentuk pola dan, untuk pola direktori segmen tunggal, jenis aturan, dijelaskan di bawah. Nama file telanjang mengikuti semantik gitignore dan cocok di kedalaman apa pun, jadi `Read(.env)` dan `Read(**/.env)` setara:408Aturan hanya cocok dengan file di bawah jangkarnya; dalam batas itu, kedalaman pencocokan bergantung pada bentuk pola dan, untuk pola direktori segmen tunggal, jenis aturan, dijelaskan di bawah. Nama file telanjang mengikuti semantik gitignore dan cocok di kedalaman apa pun, jadi `Read(.env)` dan `Read(**/.env)` setara:


431 └── lib.js431 └── lib.js

432```432```

433 433 

434| Aturan | Cocok dengan `src/app.ts` | Cocok dengan `vendor/pkg/src/lib.js` |434| Aturan | Cocok `src/app.ts` | Cocok `vendor/pkg/src/lib.js` |

435| :- | :- | :- |435| :- | :- | :- |

436| `Edit(src/**)` sebagai aturan izin | Ya | Tidak |436| `Edit(src/**)` sebagai aturan izin | Ya | Tidak |

437| `Edit(src/**)` sebagai aturan tolak atau tanya | Ya | Ya |437| `Edit(src/**)` sebagai aturan tolak atau tanya | Ya | Ya |


448 448 

449Aturan tolak atau tanya yang jalurnya tidak dapat digunakan sebagai pola gitignore masih menjaga jalur itu yang tepat. Aturan izin dengan pola yang tidak dapat digunakan tidak menyetujui apa pun.449Aturan tolak atau tanya yang jalurnya tidak dapat digunakan sebagai pola gitignore masih menjaga jalur itu yang tepat. Aturan izin dengan pola yang tidak dapat digunakan tidak menyetujui apa pun.

450 450 

451Pola tolak atau tanya yang dimulai dengan `!` adalah negasi gitignore. Aturan ini mengukir jalur yang cocok dari aturan `path` atau `./path` yang tercantum sebelumnya. Dalam daftar `deny` satu file pengaturan, `Read(*.env)` diikuti oleh `Read(!sample.env)` memblokir setiap file yang namanya berakhir dengan `.env` di kedalaman apa pun, kecuali file bernama `sample.env`. Aturan `!` yang tercantum pertama tidak mengukir apa pun.451Pola tolak atau tanya yang dimulai dengan `!` adalah negasi gitignore. Aturan ini mengukir jalur yang cocok dari aturan `path` atau `./path` yang terdaftar sebelumnya. Dalam daftar `deny` satu file pengaturan, `Read(*.env)` diikuti oleh `Read(!sample.env)` memblokir setiap file yang namanya berakhir dengan `.env` di kedalaman apa pun, kecuali file bernama `sample.env`. Aturan `!` yang terdaftar pertama tidak mengukir apa pun.

452 452 

453Pengukiran mencapai hanya aturan dari sumber yang sama. `Read(!.env)` dalam pengaturan proyek atau dalam `--disallowedTools` tidak membatalkan tolak `Read(./.env)` dari pengaturan terkelola atau file pengaturan lain apa pun.453Pengukiran mencapai hanya aturan dari sumber yang sama. `Read(!.env)` dalam pengaturan proyek atau dalam `--disallowedTools` tidak membatalkan tolak `Read(./.env)` dari pengaturan terkelola atau file pengaturan lainnya.

454 454 

455Dua batas mempersempit apa yang dapat diukir pola `!`:455Dua batas mempersempit apa yang dapat diukir pola `!`:

456 456 

457* Claude Code membaca pola `!` relatif terhadap direktori saat ini bahkan ketika `/`, `~/`, atau `//` mengikuti `!`, jadi pola tidak dapat menjangkau aturan yang berlabuh dengan salah satu awalan itu. `Read(!~/notes/public/**)` tidak mengukir apa pun dari `Read(~/notes/**)`.457* Claude Code membaca pola `!` relatif terhadap direktori saat ini bahkan ketika `/`, `~/`, atau `//` mengikuti `!`, jadi pola tidak dapat menjangkau aturan berlabuh dengan salah satu awalan itu. `Read(!~/notes/public/**)` tidak mengukir apa pun dari `Read(~/notes/**)`.

458* Pengukiran tidak dapat membuka kembali file di dalam direktori yang aturan blokir secara keseluruhan. Dengan `Read(secrets/**)` dan `Read(!secrets/public/**)`, Claude Code masih memblokir `secrets/public` bersama dengan sisa `secrets`.458* Pengukiran tidak dapat membuka kembali file di dalam direktori yang aturan blokir secara keseluruhan. Dengan `Read(secrets/**)` dan `Read(!secrets/public/**)`, Claude Code masih memblokir `secrets/public` bersama dengan sisa `secrets`.

459 459 

460Ketika Claude mengakses symlink, aturan izin memeriksa dua jalur: symlink itu sendiri dan file yang diselesaikannya. Aturan izin dan tolak memperlakukan pasangan itu berbeda: aturan izin kembali ke meminta Anda, sementara aturan tolak memblokir langsung.460<h4 id="symlinks">

461 Symlink

462</h4>

461 463 

462* **Aturan izin**: berlaku hanya ketika jalur symlink dan targetnya cocok. Symlink di dalam direktori yang diizinkan yang menunjuk ke luar masih meminta Anda.464Ketika jalur file yang diminta Claude melewati symlink, pemeriksaan izin mencakup dua jalur: yang diminta Claude dan file yang diselesaikannya. Ini berlaku untuk tautan simbolis di macOS, Linux, dan Windows, dan ke junction direktori di Windows.

463* **Aturan tolak**: berlaku ketika jalur symlink atau targetnya cocok. Symlink yang menunjuk ke file yang ditolak ditolak sendiri. Misalnya, dengan `Read(./project/**)` diizinkan dan `Read(~/.ssh/**)` ditolak, symlink di `./project/key` yang menunjuk ke `~/.ssh/id_rsa` diblokir: target gagal aturan izin dan cocok dengan aturan tolak.

464 465 

465Di macOS dan Linux, aturan tolak atau tanya yang ditulis melalui direktori yang disymlink dengan pola `//`, `~/`, atau `/` juga berlaku di lokasi nyata direktori. Misalnya, di macOS, di mana `/etc` diselesaikan ke `/private/etc`, `Read(//etc/**)` juga memblokir `/private/etc/hosts`. Sebelum v2.1.268, aturan tolak atau tanya yang ditulis melalui direktori yang disymlink tidak berlaku pada jalur yang diberikan oleh lokasi nyatanya.466<h5 id="how-rules-match-a-symlinked-path">

467 Bagaimana aturan cocok dengan jalur yang disymlink

468</h5>

466 469 

467Ketika alat membuka file yang disetujui, Claude Code [mengkonfirmasi jalur masih diselesaikan ke lokasi yang pemeriksaan izin setujui](/docs/id/errors#refusing-after-a-symlink-changed).470Aturan izin dan tolak memperlakukan jalur yang diminta dan file yang diselesaikannya secara berbeda:

471 

472* **Aturan izin**: berlaku hanya ketika jalur yang diminta dan file yang diselesaikannya cocok. Pembacaan melalui symlink di dalam direktori yang diizinkan yang menunjuk ke luar tidak cocok dengan aturan.

473* **Aturan tolak**: berlaku ketika jalur yang diminta atau file yang diselesaikannya cocok. Symlink yang menunjuk ke file yang ditolak ditolak sendiri. Misalnya, dengan `Read(./project/**)` diizinkan dan `Read(~/.ssh/**)` ditolak, symlink di `./project/key` menunjuk ke `~/.ssh/id_rsa` diblokir: target gagal aturan izin dan cocok dengan aturan tolak.

474 

475Di macOS dan Linux, aturan tolak atau tanya yang ditulis melalui direktori yang disymlink dengan pola `//`, `~/`, atau `/` juga berlaku di lokasi nyata direktori. Misalnya, di macOS, di mana `/etc` diselesaikan ke `/private/etc`, `Read(//etc/**)` juga memblokir `/private/etc/hosts`. Sebelum v2.1.268, aturan tolak atau tanya yang ditulis melalui direktori yang disymlink tidak berlaku pada jalur yang diberikan oleh lokasi nyatanya.

468 476 

469Grep dan Glob mencari direktori yang argumen `path` diselesaikan. Claude Code menerapkan aturan tolak `Read` ke direktori itu.477Grep dan Glob mencari direktori yang argumen `path` diselesaikan. Claude Code menerapkan aturan tolak `Read` ke direktori itu.

470 478 

479<h5 id="writes-through-a-symlink">

480 Penulisan melalui symlink

481</h5>

482 

483Jika jalur yang diminta Claude untuk diedit atau ditulis adalah symlink itu sendiri, alat Edit dan Write [menolak penulisan dan mengarahkan Claude ke target tautan](/docs/id/errors#refusing-after-a-symlink-changed).

484 

485Penulisan masih dapat melewati symlink ketika direktori di jalan ke file adalah symlink, atau ketika perintah Bash atau PowerShell melakukan penulisan. Untuk penulisan itu, apa yang terjadi bergantung pada di mana file yang diselesaikan penulisan duduk relatif terhadap [direktori kerja](#working-directories) Anda dan [jalur terlindungi](/docs/id/permission-modes#protected-paths):

486 

487* **Diselesaikan di luar direktori kerja**: ketika jalur yang diminta berada di dalam direktori kerja Anda dan file yang diselesaikannya tidak, penulisan tidak disetujui otomatis dalam [mode `acceptEdits`](/docs/id/permission-modes#auto-approve-file-edits-with-acceptedits-mode). Dalam [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), kecuali aturan izin menyetujui penulisan, Anda diminta untuk itu daripada pengklasifikasi memutuskan. Prompt menamai jalur yang diselesaikan penulisan.

488* **Diselesaikan ke jalur terlindungi yang tidak dinamai jalur yang diminta**: [tabel jalur terlindungi](/docs/id/permission-modes#protected-paths) memberikan hasil untuk setiap mode izin, kecuali bahwa di mana tabel merutekan penulisan ke pengklasifikasi, penulisan ini meminta Anda sebagai gantinya.

489 

490<h5 id="paths-that-can’t-be-resolved-or-that-change">

491 Jalur yang tidak dapat diselesaikan atau yang berubah

492</h5>

493 

494Ketika Claude Code tidak dapat menentukan di mana jalur mengarah di disk, misalnya karena symlink di atasnya membentuk loop, alat Read, Edit, dan Write [menolak operasi](/docs/id/errors#refusing-after-a-symlink-changed).

495 

496Ketika alat kemudian membuka file yang disetujui, itu [mengkonfirmasi bahwa jalur masih diselesaikan ke lokasi yang disetujui pemeriksaan izin](/docs/id/errors#refusing-after-a-symlink-changed).

497 

471<h3 id="webfetch">498<h3 id="webfetch">

472 WebFetch499 WebFetch

473</h3>500</h3>


476 503 

477* `WebFetch(domain:example.com)` cocok dengan permintaan ke `example.com`504* `WebFetch(domain:example.com)` cocok dengan permintaan ke `example.com`

478* `WebFetch(domain:*.example.com)` cocok dengan subdomain apa pun di kedalaman apa pun, seperti `api.example.com` atau `a.b.example.com`, tetapi bukan `example.com` itu sendiri505* `WebFetch(domain:*.example.com)` cocok dengan subdomain apa pun di kedalaman apa pun, seperti `api.example.com` atau `a.b.example.com`, tetapi bukan `example.com` itu sendiri

479* `WebFetch(domain:*)` cocok dengan setiap domain. Aturan ini tidak sama dengan aturan `WebFetch` telanjang; lihat [Allow or deny every fetch](#allow-or-deny-every-fetch)506* `WebFetch(domain:*)` cocok dengan setiap domain. Aturan ini tidak sama dengan aturan `WebFetch` telanjang; lihat [Izinkan atau tolak setiap pengambilan](#allow-or-deny-every-fetch)

480 507 

481Di posisi apa pun selain `*.` terdepan atau `*` telanjang, wildcard cocok hanya dengan teks antara dua titik. `WebFetch(domain:example.*)` cocok dengan `example.org`, di mana `*` menjadi `org`, tetapi bukan `example.evil.com`, di mana `*` harus menjadi `evil.com` dan menyeberangi titik. Ini menjaga wildcard di belakang dari mencocokkan domain yang dapat didaftarkan penyerang.508Di posisi apa pun selain `*.` terdepan atau `*` telanjang, wildcard cocok hanya dengan teks antara dua titik. `WebFetch(domain:example.*)` cocok dengan `example.org`, di mana `*` menjadi `org`, tetapi bukan `example.evil.com`, di mana `*` harus menjadi `evil.com` dan menyeberangi titik. Ini menjaga wildcard di belakang dari mencocokkan domain yang dapat didaftarkan penyerang.

482 509 

483Wildcard dalam aturan `WebFetch` memerlukan Claude Code v2.1.172 atau lebih baru untuk mencocokkan fetch.510Wildcard dalam aturan `WebFetch` memerlukan Claude Code v2.1.172 atau yang lebih baru untuk mencocokkan pengambilan.

484 511 

485<h4 id="allow-or-deny-every-fetch">512<h4 id="allow-or-deny-every-fetch">

486 Izinkan atau tolak setiap fetch513 Izinkan atau tolak setiap pengambilan

487</h4>514</h4>

488 515 

489Aturan `WebFetch` telanjang adalah nama alat tanpa bagian `domain:`, seperti `"deny": ["WebFetch"]`. Baik itu maupun `WebFetch(domain:*)` mencakup setiap URL, tetapi Claude Code menerapkannya berbeda, dan hanya bentuk `domain:` yang juga menambahkan domainnya ke [daftar domain yang diizinkan atau ditolak](/docs/id/sandboxing#network-isolation) sandbox. Bagian itu mencantumkan bentuk wildcard yang dihormati sandbox dan versi yang menambahkan `*` telanjang.516Aturan `WebFetch` telanjang adalah nama alat tanpa bagian `domain:`, seperti `"deny": ["WebFetch"]`. Baik itu maupun `WebFetch(domain:*)` mencakup setiap URL, tetapi Claude Code menerapkannya secara berbeda, dan hanya bentuk `domain:` yang juga menambahkan domainnya ke [daftar domain yang diizinkan atau ditolak](/docs/id/sandboxing#network-isolation) sandbox. Bagian itu mencantumkan bentuk wildcard yang dihormati sandbox dan versi yang menambahkan `*` telanjang.

490 517 

491Setiap baris menunjukkan apa yang dilakukan aturan dalam daftar `allow` dan dalam daftar `deny`:518Setiap baris menunjukkan apa yang dilakukan aturan dalam daftar `allow` dan dalam daftar `deny`:

492 519 

493| Aturan | Dalam `allow` | Dalam `deny` |520| Aturan | Dalam `allow` | Dalam `deny` |

494| :- | :- | :- |521| :- | :- | :- |

495| `WebFetch` | Claude fetch tanpa meminta Anda. Tidak mengubah host mana yang dapat dijangkau perintah sandboxed. | Claude Code menghapus alat `WebFetch`, jadi Claude tidak dapat fetch sama sekali. Tidak mengubah host mana yang dapat dijangkau perintah sandboxed. |522| `WebFetch` | Claude mengambil tanpa meminta Anda. Tidak mengubah host mana yang dapat dijangkau perintah yang disandbox. | Claude Code menghapus alat `WebFetch`, jadi Claude tidak dapat mengambil sama sekali. Tidak mengubah host mana yang dapat dijangkau perintah yang disandbox. |

496| `WebFetch(domain:*)` | Claude fetch tanpa meminta Anda, dan perintah sandboxed dapat menjangkau host apa pun. | Claude Code menyimpan alat dan menolak setiap fetch, dan perintah sandboxed tidak dapat menjangkau host apa pun. |523| `WebFetch(domain:*)` | Claude mengambil tanpa meminta Anda, dan perintah yang disandbox dapat menjangkau host apa pun. | Claude Code menyimpan alat dan menolak setiap pengambilan, dan perintah yang disandbox tidak dapat menjangkau host apa pun. |

497 524 

498Dua bentuk juga berbeda pada pembacaan [artifact](/docs/id/artifacts), halaman yang alat Artifact terbitkan di claude.ai. Aturan tolak atau tanya `WebFetch` telanjang tidak berlaku pada pembacaan itu. Aturan `domain:` yang mencakup `claude.ai` atau host konten `*.claudeusercontent.com`, seperti `WebFetch(domain:claude.ai)` atau `WebFetch(domain:*)`, menolak setiap pembacaan atau meminta sebelumnya. Aturan [`Artifact`](/docs/id/artifacts#disable-artifacts) melakukan hal yang sama.525Dua bentuk juga berbeda pada pembacaan [artefak](/docs/id/artifacts), halaman yang alat Artifact menerbitkan di claude.ai. Aturan tolak atau tanya `WebFetch` telanjang tidak berlaku untuk pembacaan itu. Aturan `domain:` yang mencakup `claude.ai` atau host konten `*.claudeusercontent.com`, seperti `WebFetch(domain:claude.ai)` atau `WebFetch(domain:*)`, menolak setiap pembacaan atau meminta sebelumnya. Aturan [`Artifact`](/docs/id/artifacts#disable-artifacts) melakukan hal yang sama.

499 526 

500Ketika aturan memblokir pembacaan, penolakan menamai aturan. Sebelum v2.1.268, aturan tolak `WebFetch` telanjang memblokir setiap pembacaan artifact, dan aturan tanya telanjang meminta sebelum setiap pembacaan.527Ketika aturan memblokir pembacaan, penolakan menamai aturan. Sebelum v2.1.268, aturan tolak `WebFetch` telanjang memblokir setiap pembacaan artefak, dan aturan tanya telanjang meminta sebelum setiap pembacaan.

501 528 

502Untuk membiarkan Claude fetch dengan bebas sambil menjaga daftar allowlist sandbox seperti apa adanya, gunakan bentuk telanjang. `settings.json` ini melakukan itu:529Untuk membiarkan Claude mengambil dengan bebas sambil menjaga daftar izin sandbox seperti apa adanya, gunakan bentuk telanjang. `settings.json` ini melakukan itu:

503 530 

504```json theme={null}531```json theme={null}

505{532{


509}536}

510```537```

511 538 

512Ketika Anda meminta Claude untuk fetch halaman, itu fetch tanpa prompt. Ketika Anda meminta itu menjalankan `curl` [sandboxed](/docs/id/sandboxing) terhadap host di luar daftar allowlist sandbox, Claude Code masih meminta Anda untuk host itu, karena aturan telanjang tidak menambahkan host ke daftar allowlist.539Ketika Anda meminta Claude untuk mengambil halaman, itu mengambil tanpa prompt. Ketika Anda meminta itu menjalankan `curl` [disandbox](/docs/id/sandboxing) terhadap host di luar daftar izin sandbox, Claude Code masih meminta Anda untuk host itu, karena aturan telanjang tidak menambahkan host ke daftar izin.

513 540 

514Dalam [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), Claude sebagai gantinya menamai host dalam [domain yang diizinkan per perintah](/docs/id/sandboxing#per-command-allowed-domains-in-auto-mode) perintah untuk pengklasifikasi ditinjau.541Dalam [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), Claude sebagai gantinya menamai host dalam [domain yang diizinkan per perintah](/docs/id/sandboxing#per-command-allowed-domains-in-auto-mode) perintah untuk pengklasifikasi ditinjau.

515 542 


523* `mcp__puppeteer__*` menggunakan sintaks wildcard dan juga cocok dengan semua alat dari server `puppeteer`550* `mcp__puppeteer__*` menggunakan sintaks wildcard dan juga cocok dengan semua alat dari server `puppeteer`

524* `mcp__puppeteer__puppeteer_navigate` cocok dengan alat `puppeteer_navigate` yang disediakan oleh server `puppeteer`551* `mcp__puppeteer__puppeteer_navigate` cocok dengan alat `puppeteer_navigate` yang disediakan oleh server `puppeteer`

525 552 

526Jika organisasi Anda telah menetapkan alat [claude.ai connector](/docs/id/mcp#organization-controls-on-connector-tools) ke `ask` dan pengaturan itu mencapai Claude Code dalam sesi Anda, aturan izin 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 dari konektor yang Claude Code ambil sendiri muncul sebagai `mcp__claude_ai_<server>__<tool>`.553Jika organisasi Anda telah menetapkan alat [konektor claude.ai](/docs/id/mcp#organization-controls-on-connector-tools) ke `ask` dan pengaturan itu mencapai Claude Code dalam sesi Anda, aturan izin 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 dari konektor yang Claude Code ambil sendiri muncul sebagai `mcp__claude_ai_<server>__<tool>`.

527 554 

528Dalam sesi [Cowork](https://claude.com/docs/cowork/overview) di aplikasi Claude Desktop, Claude menjalankan perintah shell melalui alat `mcp__workspace__bash` Cowork daripada alat `Bash` bawaan, dan Cowork juga menyediakan `mcp__workspace__web_fetch` untuk web fetch. Claude Code juga menerapkan aturan tolak yang menamai seluruh alat `Bash` atau `WebFetch` ke alat Cowork ini, jadi aturan tolak `Bash` terkelola menghentikan Claude dari menjalankan perintah shell dalam Cowork. Ketika Claude Code memblokir panggilan seperti itu, pesan menamai alat Cowork: `Permission to use mcp__workspace__bash has been denied.` Aturan izin tidak terbawa: Claude Code tidak pernah menerapkan aturan izin `Bash` ke `mcp__workspace__bash`.555Dalam sesi [Cowork](https://claude.com/docs/cowork/overview) di aplikasi Claude Desktop, Claude menjalankan perintah shell melalui alat `mcp__workspace__bash` Cowork daripada alat `Bash` bawaan, dan Cowork juga menyediakan `mcp__workspace__web_fetch` untuk pengambilan web. Claude Code juga menerapkan aturan tolak yang menamai seluruh alat `Bash` atau `WebFetch` ke alat Cowork ini, jadi aturan tolak `Bash` terkelola menghentikan Claude dari menjalankan perintah shell dalam Cowork. Ketika Claude Code memblokir panggilan seperti itu, pesan menamai alat Cowork: `Permission to use mcp__workspace__bash has been denied.` Aturan izin tidak terbawa: Claude Code tidak pernah menerapkan aturan izin `Bash` ke `mcp__workspace__bash`.

529 556 

530<h3 id="agent-subagents">557<h3 id="agent-subagents">

531 Agent (subagents)558 Agent (subagent)

532</h3>559</h3>

533 560 

534Gunakan aturan `Agent(AgentName)` untuk mengontrol [subagent](/docs/id/sub-agents) mana yang dapat digunakan Claude:561Gunakan aturan `Agent(AgentName)` untuk mengontrol [subagent](/docs/id/sub-agents) mana yang dapat digunakan Claude:


551 Cd578 Cd

552</h3>579</h3>

553 580 

554Aturan `Cd` mengontrol direktori mana yang dapat dipindahkan perintah [`/cd`](/docs/id/commands) ke sesi. `Cd` bukan alat yang dapat dipanggil model: Claude tidak dapat memanggilnya, dan aturan berlaku hanya ketika Anda menjalankan `/cd` sendiri.581Aturan `Cd` mengontrol direktori mana yang dapat dipindahkan sesi oleh perintah [`/cd`](/docs/id/commands). `Cd` bukan alat yang dapat dipanggil model: Claude tidak dapat memanggilnya, dan aturan berlaku hanya ketika Anda menjalankan `/cd` sendiri.

555 582 

556Aturan tolak `Cd` telanjang menonaktifkan `/cd` sepenuhnya. Aturan tolak `Cd(<path-pattern>)` memblokir target yang cocok. Aturan tolak memeriksa setiap ejaan target, termasuk setiap lompatan symlink yang diselesaikannya, jadi aturan yang ditulis untuk satu jalur juga memblokir target yang diselesaikan ke itu.583Aturan tolak `Cd` telanjang menonaktifkan `/cd` sepenuhnya. Aturan tolak `Cd(<path-pattern>)` memblokir target yang cocok. Aturan tolak memeriksa setiap ejaan target, termasuk setiap lompatan symlink yang diselesaikannya, jadi aturan yang ditulis untuk satu jalur juga memblokir target yang diselesaikan ke itu.

557 584 

558Menambahkan aturan izin `Cd` apa pun beralih `/cd` ke mode daftar allowlist: direktori target yang diselesaikan harus cocok dengan salah satu aturan izin Anda, atau `/cd` menolak. Tanpa aturan `Cd` yang dikonfigurasi, `/cd` menyimpan perilaku defaultnya dan meminta Anda untuk mempercayai direktori yang tidak dikenal.585Menambahkan aturan izin `Cd` apa pun beralih `/cd` ke mode daftar izin: direktori target yang diselesaikan harus cocok dengan salah satu aturan izin Anda, atau `/cd` menolak. Tanpa aturan `Cd` yang dikonfigurasi, `/cd` menyimpan perilaku defaultnya dan meminta Anda untuk mempercayai direktori yang tidak dikenal.

559 586 

560Pola jalur berbagi jangkar `//`, `~/`, dan `/` dari [aturan Read dan Edit](#read-and-edit), tetapi pencocokan berlabuh pada seluruh jalur direktori daripada gaya gitignore. `*` cocok dengan tepat satu segmen jalur dan `**` cocok di seluruh segmen. `/**` di belakang juga cocok dengan akar yang dinamainya.587Pola jalur berbagi jangkar `//`, `~/`, dan `/` dari [aturan Read dan Edit](#read-and-edit), tetapi pencocokan berlabuh ke seluruh jalur direktori daripada gaya gitignore. `*` cocok dengan tepat satu segmen jalur dan `**` cocok di seluruh segmen. `/**` di belakang juga cocok dengan akar yang dinamainya.

561 588 

562| Aturan | Cocok | Tidak cocok |589| Aturan | Cocok | Tidak cocok |

563| - | - | - |590| - | - | - |


705 732 

706Claude Code menampilkan dialog kepercayaan hanya dalam sesi interaktif. Jalankan `claude -p` atau sesi SDK tidak pernah menampilkannya, dan mempercayai folder induk tidak dihitung untuk aturan ini, jadi [Apa yang berjalan sebelum Anda mempercayai folder](#what-runs-before-you-trust-a-folder) mengatakan konten repositori mana yang masih digunakan Claude Code dalam masing-masing dari dua situasi tersebut.733Claude Code menampilkan dialog kepercayaan hanya dalam sesi interaktif. Jalankan `claude -p` atau sesi SDK tidak pernah menampilkannya, dan mempercayai folder induk tidak dihitung untuk aturan ini, jadi [Apa yang berjalan sebelum Anda mempercayai folder](#what-runs-before-you-trust-a-folder) mengatakan konten repositori mana yang masih digunakan Claude Code dalam masing-masing dari dua situasi tersebut.

707 734 

735Sebelum memulai atau memulai ulang [sesi latar belakang](/docs/id/agent-view), Claude Code juga memeriksa kepercayaan ruang kerja untuk direktori tempat sesi berjalan. Jika Anda menjalankan `claude --bg` dari terminal di direktori yang belum Anda percayai, dialog kepercayaan muncul terlebih dahulu dan sesi dimulai setelah Anda menerimanya. Di mana tidak ada dialog yang dapat muncul, seperti dalam skrip, perintah keluar dengan kesalahan [`Workspace not trusted`](/docs/id/errors#workspace-not-trusted-when-dispatching-a-background-session) sebagai gantinya.

736 

708<h3 id="when-your-local-settings-file-needs-trust">737<h3 id="when-your-local-settings-file-needs-trust">

709 Ketika file pengaturan lokal Anda memerlukan kepercayaan738 Ketika file pengaturan lokal Anda memerlukan kepercayaan

710</h3>739</h3>

platforms.md +1 −1

Details

53| | Pemicu | Claude berjalan di | Pengaturan | Terbaik untuk |53| | Pemicu | Claude berjalan di | Pengaturan | Terbaik untuk |

54| :- | :- | :- | :- | :- |54| :- | :- | :- | :- | :- |

55| [Dispatch](/docs/id/desktop#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |55| [Dispatch](/docs/id/desktop#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |

56| [Remote Control](/docs/id/remote-control) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI atau VS Code) | Jalankan `claude remote-control` | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |56| [Remote Control](/docs/id/remote-control) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI, Desktop, atau VS Code) | Jalankan [`claude remote-control` atau `/remote-control`](/docs/id/remote-control#start-a-remote-control-session) | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |

57| [Channels](/docs/id/channels) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](/docs/id/channels#quickstart) atau [buat milik Anda sendiri](/docs/id/channels-reference) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |57| [Channels](/docs/id/channels) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](/docs/id/channels#quickstart) atau [buat milik Anda sendiri](/docs/id/channels-reference) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |

58| [Slack](/docs/id/slack) | Sebutkan `@Claude` di saluran tim | Cloud Anthropic | [Instal aplikasi Slack](/docs/id/slack#setting-up-claude-code-in-slack) dengan [Claude Code di web](/docs/id/claude-code-on-the-web) diaktifkan | PR dan ulasan dari chat tim |58| [Slack](/docs/id/slack) | Sebutkan `@Claude` di saluran tim | Cloud Anthropic | [Instal aplikasi Slack](/docs/id/slack#setting-up-claude-code-in-slack) dengan [Claude Code di web](/docs/id/claude-code-on-the-web) diaktifkan | PR dan ulasan dari chat tim |

59| [Self-hosted environments](/docs/id/self-hosted-environments) | Mulai [sesi cloud](/docs/id/claude-code-on-the-web) dan pilih lingkungan organisasi Anda | Infrastruktur organisasi Anda | [Terapkan runner](/docs/id/self-hosted-environments-quickstart), pada paket Team dan Enterprise | Sesi cloud yang harus berjalan di dalam jaringan Anda |59| [Self-hosted environments](/docs/id/self-hosted-environments) | Mulai [sesi cloud](/docs/id/claude-code-on-the-web) dan pilih lingkungan organisasi Anda | Infrastruktur organisasi Anda | [Terapkan runner](/docs/id/self-hosted-environments-quickstart), pada paket Team dan Enterprise | Sesi cloud yang harus berjalan di dalam jaringan Anda |

plugin-evals.md +29 −14

Details

16* Menangkap regresi saat Anda mengubah plugin atau model baru dirilis16* Menangkap regresi saat Anda mengubah plugin atau model baru dirilis

17* Melihat apa yang dikontribusikan plugin dibandingkan tanpa plugin17* Melihat apa yang dikontribusikan plugin dibandingkan tanpa plugin

18 18 

19Halaman ini untuk penulis plugin dan skill yang memiliki plugin yang berfungsi dan ingin menguji perilakunya, dan untuk tim yang gating perubahan plugin di CI. Format kasusnya terpisah dari file `evals/evals.json` yang digunakan [plugin skill-creator](/docs/id/skills#run-evals-with-skill-creator). Untuk membuat plugin, lihat [Buat plugin](/docs/id/plugins/create); untuk memeriksa file plugin untuk kesalahan sintaks dan skema daripada perilakunya, gunakan [`claude plugin validate`](/docs/id/plugins/cli-reference#plugin-validate).19Halaman ini untuk penulis plugin dan skill yang memiliki plugin yang berfungsi dan ingin menguji perilakunya, dan untuk tim yang gating perubahan plugin di CI. Untuk melakukan iterasi pada satu skill di dalam percakapan Claude Code, [plugin skill-creator](/docs/id/skills#run-evals-with-skill-creator) menjalankan perbandingan serupa dengan format `evals/evals.json` miliknya sendiri, dan tidak ada alat yang membaca file kasus milik alat lainnya. Untuk membuat plugin, lihat [Buat plugin](/docs/id/plugins/create); untuk memeriksa file plugin untuk kesalahan sintaks dan skema daripada perilakunya, gunakan [`claude plugin validate`](/docs/id/plugins/cli-reference#plugin-validate).

20 20 

21<Note>21<Note>

22 Setiap eval run dan setiap judge grader adalah panggilan model nyata pada akun Anda, dihitung terhadap penggunaan rencana Anda atau tagihan API Anda, jadi periksa [persyaratan](#requirements) terlebih dahulu. Kemudian [buat suite eval pertama Anda](#create-your-first-eval-suite), atau buka [Jalankan evals di CI](#run-evals-in-ci) jika Anda sudah memilikinya.22 Setiap eval run dan setiap judge grader adalah panggilan model nyata pada akun Anda, dihitung terhadap penggunaan rencana Anda atau tagihan API Anda, jadi periksa [persyaratan](#requirements) terlebih dahulu. Kemudian [buat suite eval pertama Anda](#create-your-first-eval-suite), atau buka [Jalankan evals di CI](#run-evals-in-ci) jika Anda sudah memilikinya.


29Untuk menjalankan plugin evals Anda memerlukan:29Untuk menjalankan plugin evals Anda memerlukan:

30 30 

31* Claude Code v2.1.269 atau lebih baru. Jalankan `claude --version` untuk memeriksa dan `claude update` untuk upgrade.31* Claude Code v2.1.269 atau lebih baru. Jalankan `claude --version` untuk memeriksa dan `claude update` untuk upgrade.

32* Git 2.31 atau lebih baru, jika git terinstal. Jalankan `git --version` untuk memeriksa. Dengan git yang lebih lama, `claude plugin eval` [berhenti sebelum menjalankan kasus apa pun](#git-is-too-old-for-claude-plugin-eval). Tanpa git, ini berjalan secara normal.

32* Direktori plugin dengan manifest `plugin.json` atau `.claude-plugin/plugin.json`, atau [plugin direktori skills](/docs/id/plugins/loading#plugins-shared-through-a-repository).33* Direktori plugin dengan manifest `plugin.json` atau `.claude-plugin/plugin.json`, atau [plugin direktori skills](/docs/id/plugins/loading#plugins-shared-through-a-repository).

33* Autentikasi dan penyedia model yang sama dengan sesi Claude Code normal Anda. Eval runs, grader yang dinilai judge, dan `claude plugin eval init` memanggil model dengan kredensial Anda, jadi mereka dihitung terhadap batas penggunaan rencana Anda atau tagihan API Anda. Ketika perintah melaporkan biaya, angka tersebut adalah [perkiraan harga daftar](/docs/id/costs) dari panggilan tersebut.34* Autentikasi dan penyedia model yang sama dengan sesi Claude Code normal Anda. Eval runs, grader yang dinilai judge, dan `claude plugin eval init` memanggil model dengan kredensial Anda, jadi mereka dihitung terhadap batas penggunaan rencana Anda atau tagihan API Anda. Ketika perintah melaporkan biaya, angka tersebut adalah [perkiraan harga daftar](/docs/id/costs) dari panggilan tersebut.

34 35 


438| 130 | Terputus. Hasil parsial ditulis |439| 130 | Terputus. Hasil parsial ditulis |

439| 143 | Dihentikan, seperti oleh timeout CI |440| 143 | Dihentikan, seperti oleh timeout CI |

440 441 

441Masalah menulis atau menerbitkan laporan HTML tidak pernah mengubah kode keluar.442Delta with-minus-without dilaporkan tetapi tidak pernah mengubah kode keluar, dan begitu juga masalah menulis atau menerbitkan laporan HTML.

442 443 

443Untuk melihat mengapa kasus mencetak skor rendah, jalankan secara lokal tanpa `--json` sehingga kemajuan per-run dan baris grader mencetak.444Untuk melihat mengapa kasus mencetak skor rendah, jalankan secara lokal tanpa `--json` sehingga kemajuan per-run dan baris grader mencetak.

444 445 


684 685 

685Ini adalah run pertama terhadap direktori yang Claude Code belum percayai, dan tidak dapat bertanya karena stdin atau stdout bukan terminal, Anda melewati `--json`, atau variabel lingkungan `CI` diatur ke nilai true seperti `true`. Jalankan `claude plugin eval <dir>` sekali dalam terminal dan jawab prompt, atau lewati `--trust-plugin` jika Anda mempercayai kode dan suite plugin. Lihat [Apa yang dapat diakses run](#security).686Ini adalah run pertama terhadap direktori yang Claude Code belum percayai, dan tidak dapat bertanya karena stdin atau stdout bukan terminal, Anda melewati `--json`, atau variabel lingkungan `CI` diatur ke nilai true seperti `true`. Jalankan `claude plugin eval <dir>` sekali dalam terminal dan jawab prompt, atau lewati `--trust-plugin` jika Anda mempercayai kode dan suite plugin. Lihat [Apa yang dapat diakses run](#security).

686 687 

688<h3 id="git-is-too-old-for-claude-plugin-eval">

689 "is too old for claude plugin eval"

690</h3>

691 

692`git` pada `PATH` Anda lebih lama dari 2.31, jadi `claude plugin eval` berhenti sebelum menjalankan kasus apa pun dan keluar 1 dengan pesan yang menyebutkan versi Anda:

693 

694```text theme={null}

695git 2.30 is too old for claude plugin eval: it ignores the environment configuration (GIT_CONFIG_COUNT, added in git 2.31) that switches off the repository's git hooks and helper programs for the run. Install git 2.31 or newer.

696```

697 

698Untuk setiap run, Claude Code mematikan git hooks, credential helpers, dan program lain yang konfigurasi git repositori dapat mulai. Hal ini dilakukan melalui konfigurasi lingkungan yang git baca hanya dari versi 2.31. Git yang lebih lama mengabaikan konfigurasi itu, jadi suite berhenti daripada mencetak run di mana program-program itu dapat dieksekusi. Instal git 2.31 atau lebih baru dan jalankan suite lagi.

699 

700Sebelum v2.1.283, `claude plugin eval` tidak memeriksa versi git, dan pada git yang lebih lama suite berjalan dengan program-program itu tetap aktif.

701 

687<h3 id="no-eval-cases-found">702<h3 id="no-eval-cases-found">

688 "No eval cases found"703 "No eval cases found"

689</h3>704</h3>


691Tidak ada `<case>/prompt.md` atau `<case>/case.yaml` yang ada di bawah direktori eval yang berlaku, atau filter `--case` dan `--tag` Anda tidak cocok dengan kasus apa pun. Jalankan dari root plugin, atau jalankan `claude plugin eval init` untuk membuat suite.706Tidak ada `<case>/prompt.md` atau `<case>/case.yaml` yang ada di bawah direktori eval yang berlaku, atau filter `--case` dan `--tag` Anda tidak cocok dengan kasus apa pun. Jalankan dari root plugin, atau jalankan `claude plugin eval init` untuk membuat suite.

692 707 

693<h3 id="the-baseline-arm-shows-no-plugin-or-delta-is-zero">708<h3 id="the-baseline-arm-shows-no-plugin-or-delta-is-zero">

694 Arm baseline menunjukkan tidak ada plugin, atau delta adalah nol709 The baseline arm shows no plugin, or delta is zero

695</h3>710</h3>

696 711 

697Jika ringkasan tidak memiliki kolom `W/OUT`, atau kasus gagal dengan "ablation requested but no plugin resolved", tidak ada plugin yang ditemukan untuk kasus. Tambahkan `plugins: ["../.."]` ke kasus, memberikan jalur dari direktori kasus ke direktori plugin.712Jika ringkasan tidak memiliki kolom `W/OUT`, atau kasus gagal dengan "ablation requested but no plugin resolved", tidak ada plugin yang ditemukan untuk kasus. Tambahkan `plugins: ["../.."]` ke kasus, memberikan jalur dari direktori kasus ke direktori plugin.


699Jika plugin memang dimuat dan `Δ` masih mendekati nol dengan grader `tool_used: Skill` Anda gagal, itu biasanya temuan nyata, berarti `description` skill tidak memicu pada frasa prompt. Sesuaikan deskripsi dan jalankan ulang suite yang sama.714Jika plugin memang dimuat dan `Δ` masih mendekati nol dengan grader `tool_used: Skill` Anda gagal, itu biasanya temuan nyata, berarti `description` skill tidak memicu pada frasa prompt. Sesuaikan deskripsi dan jalankan ulang suite yang sama.

700 715 

701<h3 id="agent-type-’-’-not-found-for-one-of-your-plugin’s-agents">716<h3 id="agent-type-’-’-not-found-for-one-of-your-plugin’s-agents">

702 "Agent type '...' not found" untuk salah satu agen plugin Anda717 "Agent type '...' not found" for one of your plugin's agents

703</h3>718</h3>

704 719 

705Secara default setiap kasus berjalan baik dengan plugin Anda maupun tanpanya, dan run tanpanya adalah [baseline tanpa plugin](#the-no-plugin-baseline). Ketika Claude mengirimkan salah satu agen plugin Anda dalam run baseline, panggilan alat Agent gagal dengan `Agent type '<plugin>:<agent-name>' not found. Available agents: ...`. Daftar hanya menamai agen yang ada tanpa plugin, seperti [subagen bawaan](/docs/id/sub-agents#built-in-subagents).720Secara default setiap kasus berjalan baik dengan plugin Anda maupun tanpanya, dan run tanpanya adalah [baseline tanpa plugin](#the-no-plugin-baseline). Ketika Claude mengirimkan salah satu agen plugin Anda dalam run baseline, panggilan alat Agent gagal dengan `Agent type '<plugin>:<agent-name>' not found. Available agents: ...`. Daftar hanya menamai agen yang ada tanpa plugin, seperti [subagen bawaan](/docs/id/sub-agents#built-in-subagents).


709Dalam run dengan plugin Anda dimuat, kasus yang mencantumkan `Agent` dalam `allowed_tools` dapat mengirimkan salah satu agen plugin Anda dengan nama yang diberi namespace, seperti `my-plugin:code-reviewer` untuk agen `code-reviewer` dalam plugin bernama `my-plugin`. Untuk melewati run baseline, lewati `--ablation none`.724Dalam run dengan plugin Anda dimuat, kasus yang mencantumkan `Agent` dalam `allowed_tools` dapat mengirimkan salah satu agen plugin Anda dengan nama yang diberi namespace, seperti `my-plugin:code-reviewer` untuk agen `code-reviewer` dalam plugin bernama `my-plugin`. Untuk melewati run baseline, lewati `--ablation none`.

710 725 

711<h3 id="everything-scores-zero-although-the-right-files-were-produced">726<h3 id="everything-scores-zero-although-the-right-files-were-produced">

712 Semuanya mencetak nol meskipun file yang benar diproduksi727 Everything scores zero although the right files were produced

713</h3>728</h3>

714 729 

715Grader Anda menargetkan `files`, daftar jalur yang dibuat, ketika Anda bermaksud konten file. Gunakan `{ source: file, path: <path> }` sebagai `target` atau `focus`. Terpisah, `file_exists` menghitung hanya file yang dibuat selama run, jadi file yang dibuat scaffold atau yang hanya diedit Claude tidak terlihat; nilai kontennya, atau gunakan `tool_used` pada `Edit`.730Grader Anda menargetkan `files`, daftar jalur yang dibuat, ketika Anda bermaksud konten file. Gunakan `{ source: file, path: <path> }` sebagai `target` atau `focus`. Terpisah, `file_exists` menghitung hanya file yang dibuat selama run, jadi file yang dibuat scaffold atau yang hanya diedit Claude tidak terlihat; nilai kontennya, atau gunakan `tool_used` pada `Edit`.

716 731 

717<h3 id="a-regex-over-the-trace-doesn’t-match-text-i-can-see">732<h3 id="a-regex-over-the-trace-doesn’t-match-text-i-can-see">

718 Regex atas trace tidak cocok dengan teks yang dapat saya lihat733 A regex over the trace doesn't match text I can see

719</h3>734</h3>

720 735 

721* **Target yang salah**: `target` default adalah `last_message`, bukan trace.736* **Wrong target**: `target` default adalah `last_message`, bukan trace.

722* **Escaping JSON**: ketika Anda menargetkan `trace`, itu JSON per baris, jadi kutipan muncul sebagai `\"`.737* **JSON escaping**: ketika Anda menargetkan `trace`, itu JSON per baris, jadi kutipan muncul sebagai `\"`.

723* **Sintaks regex**: regex menggunakan sintaks JavaScript, jadi letakkan `i` di `flags` daripada menulis `(?i)`.738* **Regex syntax**: regex menggunakan sintaks JavaScript, jadi letakkan `i` di `flags` daripada menulis `(?i)`.

724 739 

725<h3 id="tools-are-denied-mcp-tools-are-missing-or-bash-won’t-run">740<h3 id="tools-are-denied-mcp-tools-are-missing-or-bash-won’t-run">

726 Alat ditolak, alat MCP hilang, atau Bash tidak akan berjalan741 Tools are denied, MCP tools are missing, or Bash won't run

727</h3>742</h3>

728 743 

729Apa pun di luar set read-only memerlukan grant Anda, seperti `--allow-tools Bash Write`. Server MCP pribadi Anda tidak pernah dimuat dalam run. Server plugin sendiri tidak dimulai kecuali Anda [opt in](#mock-mcp-servers), dan alatnya kemudian juga memerlukan grant `--allow-tools "mcp__plugin_<plugin>_<server>__*"`; alat yang dimock tidak memerlukan keduanya.744Apa pun di luar set read-only memerlukan grant Anda, seperti `--allow-tools Bash Write`. Server MCP pribadi Anda tidak pernah dimuat dalam run. Server plugin sendiri tidak dimulai kecuali Anda [opt in](#mock-mcp-servers), dan alatnya kemudian juga memerlukan grant `--allow-tools "mcp__plugin_<plugin>_<server>__*"`; alat yang dimock tidak memerlukan keduanya.

730 745 

731<h3 id="the-run-exits-1-but-the-results-look-fine">746<h3 id="the-run-exits-1-but-the-results-look-fine">

732 Run keluar 1 tetapi hasilnya terlihat baik747 The run exits 1 but the results look fine

733</h3>748</h3>

734 749 

735Default `--threshold` adalah 1.0, jadi perintah keluar 1 ketika kasus apa pun mencetak di bawah sempurna. Atur ambang yang cocok dengan skor yang Anda perlukan. Keluar 1 juga mencakup file kasus yang gagal dimuat, yang dilaporkan di stderr di atas tabel.750Default `--threshold` adalah 1.0, jadi perintah keluar 1 ketika kasus apa pun mencetak di bawah sempurna. Atur ambang yang cocok dengan skor yang Anda perlukan. Keluar 1 juga mencakup file kasus yang gagal dimuat, yang dilaporkan di stderr di atas tabel.


741Anda menempatkan target setelah `--json`, jadi itu dibaca sebagai jalur output. Letakkan target terlebih dahulu, seperti dalam `claude plugin eval . --json`, atau berikan `--json` jalur `.json` eksplisit.756Anda menempatkan target setelah `--json`, jadi itu dibaca sebagai jalur output. Letakkan target terlebih dahulu, seperti dalam `claude plugin eval . --json`, atau berikan `--json` jalur `.json` eksplisit.

742 757 

743<h3 id="a-grader-shows-passed-false-under-a-run-that-scored-1-0">758<h3 id="a-grader-shows-passed-false-under-a-run-that-scored-1-0">

744 Grader menunjukkan passed: false di bawah run yang mencetak 1.0759 A grader shows passed: false under a run that scored 1.0

745</h3>760</h3>

746 761 

747Grader itu dikecualikan dari skor dengan desain dalam run dua-arm, dan field `scored`-nya adalah `false`. Lihat [Bandingkan dengan baseline tanpa plugin](#compare-against-a-no-plugin-baseline).762Grader itu dikecualikan dari skor dengan desain dalam run dua-arm, dan field `scored`-nya adalah `false`. Lihat [Bandingkan dengan baseline tanpa plugin](#compare-against-a-no-plugin-baseline).

748 763 

749<h3 id="runs-fail-with-a-usage-limit-or-rate-limit-error-partway-through">764<h3 id="runs-fail-with-a-usage-limit-or-rate-limit-error-partway-through">

750 Run gagal dengan kesalahan batas penggunaan atau batas laju setengah jalan765 Runs fail with a usage-limit or rate-limit error partway through

751</h3>766</h3>

752 767 

753Jika akun Anda mencapai batas penggunaan rencana atau batas laju API saat suite berjalan, setiap run kemudian berakhir dengan kesalahan itu, dinilai pada apa yang dihasilkannya, dan biasanya mencetak 0. Suite masih selesai dan tidak ditandai `partial`, jadi hasilnya dapat terlihat seperti regresi. Periksa kolom `NOTES` atau `cases[].arms.with[].error` dalam JSON untuk pesan batas sebelum mempercayai skor, kemudian jalankan ulang setelah batas disetel ulang, dengan `--runs 1` atau filter `--case` jika Anda perlu tetap di bawahnya.768Jika akun Anda mencapai batas penggunaan rencana atau batas laju API saat suite berjalan, setiap run kemudian berakhir dengan kesalahan itu, dinilai pada apa yang dihasilkannya, dan biasanya mencetak 0. Suite masih selesai dan tidak ditandai `partial`, jadi hasilnya dapat terlihat seperti regresi. Periksa kolom `NOTES` atau `cases[].arms.with[].error` dalam JSON untuk pesan batas sebelum mempercayai skor, kemudian jalankan ulang setelah batas disetel ulang, dengan `--runs 1` atau filter `--case` jika Anda perlu tetap di bawahnya.

754 769 

755<h3 id="runs-time-out-or-hit-the-turn-cap">770<h3 id="runs-time-out-or-hit-the-turn-cap">

756 Run timeout atau mencapai batas turn771 Runs time out or hit the turn cap

757</h3>772</h3>

758 773 

759Default adalah 10 turn dan 300 detik. Naikkan `max_turns` dan `timeout_seconds` dalam kasus untuk tugas yang memerlukan lebih banyak, dan gunakan `--max-cost-usd` sebagai batas biaya daripada batas per-run yang ketat.774Default adalah 10 turn dan 300 detik. Naikkan `max_turns` dan `timeout_seconds` dalam kasus untuk tugas yang memerlukan lebih banyak, dan gunakan `--max-cost-usd` sebagai batas biaya daripada batas per-run yang ketat.

Details

132 Langkah berikutnya132 Langkah berikutnya

133</h2>133</h2>

134 134 

135* [Publish and distribute a plugin](/docs/id/plugins/publish): rute ke setiap marketplace, termasuk marketplace resmi, yang hint memerlukan135* [Publish and distribute a plugin](/docs/id/plugins/publish): rute untuk mendistribusikan plugin, termasuk marketplace resmi, yang diperlukan oleh hint

136* [Plugin commands reference](/docs/id/plugins/cli-reference#plugin-install): perintah shell yang memasang plugin yang sama di luar sesi136* [Plugin commands reference](/docs/id/plugins/cli-reference#plugin-install): perintah shell yang memasang plugin yang sama di luar sesi

Details

163 163 

164Claude Code mencetak `Successfully uninstalled plugin: formatter (scope: project)`. Ketika plugin tidak diinstal di cakupan itu, perintah mencetak baris yang dimulai `Failed to uninstall plugin "formatter@my-marketplace":` dan keluar `1`.164Claude Code mencetak `Successfully uninstalled plugin: formatter (scope: project)`. Ketika plugin tidak diinstal di cakupan itu, perintah mencetak baris yang dimulai `Failed to uninstall plugin "formatter@my-marketplace":` dan keluar `1`.

165 165 

166Jika baris kegagalan berlanjut dengan `"formatter" was not uninstalled:`, Claude Code tidak dapat mengonfirmasi bahwa pengaturan cakupan tidak lagi menghidupkan plugin, jadi plugin tetap diinstal dengan semua yang disimpannya. Dengan `--json`, hasil membawa `failureCode: "settings_still_on"`. Pemeriksaan pengaturan ini memerlukan Claude Code v2.1.282 atau lebih baru.

167 

168<h4 id="what-an-uninstall-deletes-and-keeps">

169 Apa yang dihapus dan disimpan uninstall

170</h4>

171 

172Ketika Anda mencopot plugin dari cakupan terakhir yang diinstal, Claude Code juga menghapus [opsi dan rahasia](/docs/id/plugins/manifest-reference#user-configuration) plugin yang disimpan dan direktori datanya, `~/.claude/plugins/data/<id>/`. Ada tiga pengecualian:

173 

174* Dengan `--keep-data`, direktori data tetap

175* Ketika plugin yang diinstal lain menggunakan folder yang sama, seperti yang ID-nya berbeda dari yang ini hanya dalam huruf besar, direktori data tetap

176* Ketika Claude Code tidak dapat membaca daftar plugin yang diinstal kembali setelah menghapus plugin dari cakupan itu, opsi, rahasia, dan direktori data semuanya tetap, karena plugin mungkin masih diinstal di cakupan lain. Uninstall masih berhasil. Pesan mencantumkan apa yang tetap dan cara menghapusnya, dan dengan `--json` hasil membawa `savedKept: "install_records_unreadable"`

177 

178Dengan `--json`, `keptData` melaporkan apakah direktori tetap, dan `/plugin` menunjukkan `· data preserved` ketika itu terjadi. Untuk direktori yang tetap tanpa `--keep-data`, pelaporan ini memerlukan Claude Code v2.1.281 atau lebih baru. Field `savedKept` memerlukan Claude Code v2.1.282 atau lebih baru.

179 

166<h3 id="plugin-enable">180<h3 id="plugin-enable">

167 plugin enable181 plugin enable

168</h3>182</h3>


246 260 

247| Flag | Deskripsi |261| Flag | Deskripsi |

248| :- | :- |262| :- | :- |

249| `-s, --scope <scope>` | Cakupan untuk diperbarui: `user`, `project`, `local`, atau `managed`. Default ke cakupan tempat plugin diinstal |263| `-s, --scope <scope>` | Cakupan untuk diperbarui: `user`, `project`, `local`, atau `managed`. Terdeteksi otomatis ketika dihilangkan |

250| `-y, --yes` | Terima perintah instal yang berubah dari plugin [command-source](/docs/id/plugins/host-marketplace), tanpa prompt. Diperlukan ketika stdin atau stdout bukan TTY, kecuali Anda melewatkan `--accept-command`. Memerlukan Claude Code v2.1.229 atau lebih baru |264| `-y, --yes` | Terima perintah instal yang berubah dari plugin [command-source](/docs/id/plugins/host-marketplace), tanpa prompt. Diperlukan ketika stdin atau stdout bukan TTY, kecuali Anda melewatkan `--accept-command`. Memerlukan Claude Code v2.1.229 atau lebih baru |

251| `--accept-command <sha256>` | Terima perintah yang dideklarasikan marketplace yang `sha256` sebelumnya [`--json` run](#plugin-json-result) dilaporkan dalam `shownCommand`, sebagai pengganti `-y`. Tidak dapat digabungkan dengan `-y`. Memerlukan Claude Code v2.1.271 atau lebih baru |265| `--accept-command <sha256>` | Terima perintah yang dideklarasikan marketplace yang `sha256` sebelumnya [`--json` run](#plugin-json-result) dilaporkan dalam `shownCommand`, sebagai pengganti `-y`. Tidak dapat digabungkan dengan `-y`. Memerlukan Claude Code v2.1.271 atau lebih baru |

252| `--json` | Cetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama seperti `plugin install --json`](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau lebih baru |266| `--json` | Cetak hasil sebagai satu objek JSON pada baris terakhir stdout, dalam [format yang sama seperti `plugin install --json`](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau lebih baru |

253 267 

268Jika Anda menghilangkan `--scope`, perintah memperbarui plugin di cakupan paling spesifik yang diinstal untuk proyek saat ini, memeriksa lokal, proyek, pengguna, kemudian terkelola.

269 

270Sebelum v2.1.281, perintah menggunakan `user` ketika Anda menghilangkan `--scope`, jadi memperbarui plugin yang diinstal hanya di cakupan proyek atau lokal gagal dengan `Plugin "<name>" is not installed at scope user`. Pada versi itu, lewatkan `--scope`.

271 

254`managed` adalah satu-satunya cakupan yang dapat Anda perbarui tetapi tidak instal. Untuk plugin yang diinstal admin, lihat [Kelola plugin untuk organisasi Anda](/docs/id/plugins/org).272`managed` adalah satu-satunya cakupan yang dapat Anda perbarui tetapi tidak instal. Untuk plugin yang diinstal admin, lihat [Kelola plugin untuk organisasi Anda](/docs/id/plugins/org).

255 273 

256Perbarui plugin:274Perbarui plugin:

Details

413 413 

414 * **Membangun plugin pertama Anda**: mulai dengan [Buat plugin](/docs/id/plugins/create)414 * **Membangun plugin pertama Anda**: mulai dengan [Buat plugin](/docs/id/plugins/create)

415 * **Memasang plugin orang lain**: lihat [Pasang plugins](/docs/id/plugins/install)415 * **Memasang plugin orang lain**: lihat [Pasang plugins](/docs/id/plugins/install)

416 * **Pengguna plugin Anda berada di claude.ai atau di Cowork**: serangkaian komponen yang berbeda dimuat di sana. Lihat [Plugins di claude.ai dan di Cowork](https://claude.com/docs/plugins/overview)416 * **Pengguna plugin Anda berada di claude.ai atau di Cowork**: serangkaian komponen yang berbeda dimuat di sana. Lihat [Struktur plugin dan pengujian](https://claude.com/docs/plugins/build) dan [tabel dukungan komponen](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app)

417</Note>417</Note>

418 418 

419<h2 id="explore-the-plugin-directory">419<h2 id="explore-the-plugin-directory">


436 436 

437<PluginExplorer>437<PluginExplorer>

438 <Piece id="manifest">438 <Piece id="manifest">

439 [Manifest](/docs/id/plugins/manifest-reference) adalah file `plugin.json` di direktori `.claude-plugin/` plugin. Ini berisi metadata plugin dan nilai `userConfig` yang diminta Claude Code kepada pengguna. Hanya `name` yang diperlukan. Di sini, `description` adalah teks yang dilihat pengguna untuk plugin di `/plugin`, dan `version` membuat pengguna tetap pada versi itu sampai Anda mengubahnya:439 [Manifest](/docs/id/plugins/manifest-reference) adalah file `plugin.json` di direktori `.claude-plugin/` plugin. Ini berisi metadata plugin dan nilai `userConfig` yang diminta Claude Code kepada pengguna. Claude Code memuat plugin tanpa satu, tetapi [direktori Anthropic](/docs/id/plugins/publish#submit-to-anthropics-directory) memerlukan satu. Di dalam file, hanya `name` yang diperlukan. Di sini, `description` adalah teks yang dilihat pengguna untuk plugin di `/plugin`, dan `version` membuat pengguna tetap pada versi itu sampai Anda mengubahnya:

440 440 

441 ```json theme={null}441 ```json theme={null}

442 {442 {


838 Jangkau pengguna di claude.ai dan Cowork838 Jangkau pengguna di claude.ai dan Cowork

839</h4>839</h4>

840 840 

841Server stdio lokal, seperti server `db` di bawah [Server MCP](#mcp-servers), berjalan di Claude Code dan dalam sesi Cowork yang berjalan di mesin Anda di aplikasi Claude Desktop, tetapi bukan di claude.ai. Untuk menjangkau pengguna di sana juga, referensikan server jarak jauh dengan URL `https://`-nya, yang claude.ai dan Cowork tawarkan kepada pengguna sebagai konektor.841Server stdio lokal, seperti server `db` di bawah [Server MCP](#mcp-servers), berjalan di Claude Code dan dalam sesi Cowork yang berjalan di mesin Anda di aplikasi Claude Desktop, tetapi bukan di claude.ai. Untuk menjangkau pengguna di sana juga, referensikan server jarak jauh dengan URL `https://`-nya, yang claude.ai dan Cowork tawarkan kepada pengguna sebagai konektor, seperti yang ditunjukkan [Bundle an MCP connector with its skill](https://claude.com/docs/plugins/build#bundle-an-mcp-connector-with-its-skill).

842 842 

843<h4 id="server-names-tool-names-and-reloads">843<h4 id="server-names-tool-names-and-reloads">

844 Nama server, nama tool, dan reload844 Nama server, nama tool, dan reload


918 918 

919Direktori `bin/` plugin datang setelah entri `PATH` pengguna sendiri, jadi plugin tidak dapat menaungi `git`, `ls`, atau perintah sistem lainnya.919Direktori `bin/` plugin datang setelah entri `PATH` pengguna sendiri, jadi plugin tidak dapat menaungi `git`, `ls`, atau perintah sistem lainnya.

920 920 

921claude.ai dan Cowork tidak memasang plugin yang memiliki direktori `bin/` level atas, termasuk yang Anda [distribusikan melalui pengaturan organisasi claude.ai](/docs/id/plugins/host-marketplace#distribute-through-organization-settings).921claude.ai dan Cowork tidak memasang plugin yang memiliki direktori `bin/` level atas, termasuk yang Anda [distribusikan melalui pengaturan organisasi claude.ai](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory).

922 922 

923<h3 id="default-settings">923<h3 id="default-settings">

924 Pengaturan default924 Pengaturan default

Details

15 15 

16 * **Memasang plugin orang lain**: lihat [Install plugins](/docs/id/plugins/install)16 * **Memasang plugin orang lain**: lihat [Install plugins](/docs/id/plugins/install)

17 * **Tidak yakin Anda memerlukan plugin**: lihat [Decide whether you need a plugin](/docs/id/plugins/overview#decide-whether-you-need-a-plugin) di overview17 * **Tidak yakin Anda memerlukan plugin**: lihat [Decide whether you need a plugin](/docs/id/plugins/overview#decide-whether-you-need-a-plugin) di overview

18 * **Pengguna plugin Anda berada di claude.ai atau di Cowork**: folder yang sama dipasang di sana dengan subset komponen yang berbeda. Lihat [Plugins on claude.ai and in Cowork](https://claude.com/docs/plugins/overview)18 * **Pengguna plugin Anda berada di claude.ai atau di Cowork**: folder yang sama dipasang di sana dengan subset komponen yang berbeda. Lihat [Plugin structure and testing](https://claude.com/docs/plugins/build) dan [component support table](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app)

19</Note>19</Note>

20 20 

21Mulai dari bagian yang sesuai dengan apa yang sudah Anda miliki:21Mulai dari bagian yang sesuai dengan apa yang sudah Anda miliki:


132 132 

133Plugin dimuat hanya dalam sesi yang Anda mulai dengan `--plugin-dir`. Untuk terus bekerja padanya tanpa flag, atau untuk menguji build `.zip`, lihat [Develop without a marketplace](#develop-without-a-marketplace).133Plugin dimuat hanya dalam sesi yang Anda mulai dengan `--plugin-dir`. Untuk terus bekerja padanya tanpa flag, atau untuk menguji build `.zip`, lihat [Develop without a marketplace](#develop-without-a-marketplace).

134 134 

135Untuk membuat Claude scaffold dan memeriksa plugin yang lebih besar dengan Anda, [install](/docs/id/plugins/install#install-a-plugin) plugin `plugin-dev` Anthropic dari marketplace `claude-plugins-official`, yang menambahkan skills dan agents untuk menulis komponen seperti skills, hooks, dan MCP servers dan untuk memvalidasi plugin yang selesai. Setelah diinstal, jalankan `/plugin-dev:create-plugin` diikuti dengan deskripsi plugin yang ingin Anda buat, dan Claude akan memandu Anda melalui desain, pembuatan, dan validasinya.

136 

135<h3 id="share-the-plugin">137<h3 id="share-the-plugin">

136 Bagikan plugin Anda138 Bagikan plugin Anda

137</h3>139</h3>


140 142 

141* **Kirimkan langsung ke beberapa orang**: berikan mereka direktori plugin atau `.zip` darinya, dan tidak ada yang perlu dipublikasikan. Lihat [Share a plugin without a marketplace](/docs/id/plugins/publish#share-a-plugin-without-a-marketplace).143* **Kirimkan langsung ke beberapa orang**: berikan mereka direktori plugin atau `.zip` darinya, dan tidak ada yang perlu dipublikasikan. Lihat [Share a plugin without a marketplace](/docs/id/plugins/publish#share-a-plugin-without-a-marketplace).

142* **Daftarkan di marketplace Anda sendiri**: rekan kerja menambahkan marketplace Anda sekali dan memasang plugin berdasarkan nama, dan mereka menerima update Anda. Lihat [Publish through your own marketplace](/docs/id/plugins/publish#publish-through-your-own-marketplace).144* **Daftarkan di marketplace Anda sendiri**: rekan kerja menambahkan marketplace Anda sekali dan memasang plugin berdasarkan nama, dan mereka menerima update Anda. Lihat [Publish through your own marketplace](/docs/id/plugins/publish#publish-through-your-own-marketplace).

143* **Kirimkan ke community marketplace Anthropic**: setelah terdaftar, siapa pun yang menambahkan marketplace itu dapat memasangnya. Lihat [Submit to the community marketplace](/docs/id/plugins/publish#submit-to-the-community-marketplace).145* **Kirimkan ke directory Anthropic**: setelah lulus review, orang dapat menambahkannya di claude.ai dan di Cowork, dan itu mencapai Claude Code melalui akun mereka. Lihat [Submit to Anthropic's directory](/docs/id/plugins/publish#submit-to-anthropics-directory).

144 146 

145<h3 id="plugin-layout">147<h3 id="plugin-layout">

146 Plugin layout148 Plugin layout


201 203 

202Jika folder tidak memiliki direktori `.claude-plugin/` dan tidak memiliki komponen plugin di tingkat atasnya, Claude Code memperlakukannya sebagai folder plugin. Setiap subfolder langsung yang memiliki manifest `.claude-plugin/plugin.json` kemudian dimuat sebagai plugin terpisah. Semua yang lain di folder dilewati tanpa kesalahan, termasuk subfolder yang tidak memiliki manifest. Jika plugin di folder tidak dimuat, periksa bahwa subfoldernya memiliki `.claude-plugin/plugin.json`.204Jika folder tidak memiliki direktori `.claude-plugin/` dan tidak memiliki komponen plugin di tingkat atasnya, Claude Code memperlakukannya sebagai folder plugin. Setiap subfolder langsung yang memiliki manifest `.claude-plugin/plugin.json` kemudian dimuat sebagai plugin terpisah. Semua yang lain di folder dilewati tanpa kesalahan, termasuk subfolder yang tidak memiliki manifest. Jika plugin di folder tidak dimuat, periksa bahwa subfoldernya memiliki `.claude-plugin/plugin.json`.

203 205 

206Anda juga dapat melewatkan folder yang menyimpan `.claude-plugin/marketplace.json` di samping folder pluginnya. Selama direktori `.claude-plugin/` itu tidak menyimpan `plugin.json`, folder plugin masih dimuat. Tidak ada yang diinstal atau diaktifkan dari file marketplace, karena Claude Code tidak membacanya. Memuat plugin dari folder seperti itu memerlukan Claude Code v2.1.281 atau lebih baru.

207 

204Dalam sesi interaktif, Anda juga dapat menambah dan menghapus plugin di folder setelah startup:208Dalam sesi interaktif, Anda juga dapat menambah dan menghapus plugin di folder setelah startup:

205 209 

206* Subfolder yang Anda tambahkan dimuat sebagai plugin baru setelah manifestnya ada.210* Subfolder yang Anda tambahkan dimuat sebagai plugin baru setelah manifestnya ada.


417 421 

418* [Plugin components](/docs/id/plugins/components): tambahkan agents, hooks, MCP servers, LSP servers, dan user configuration ke plugin Anda422* [Plugin components](/docs/id/plugins/components): tambahkan agents, hooks, MCP servers, LSP servers, dan user configuration ke plugin Anda

419* [Test plugins with evals](/docs/id/plugin-evals): tulis kasus eval dan jalankan dengan `claude plugin eval` untuk memeriksa seberapa andal plugin memandu perilaku Claude423* [Test plugins with evals](/docs/id/plugin-evals): tulis kasus eval dan jalankan dengan `claude plugin eval` untuk memeriksa seberapa andal plugin memandu perilaku Claude

420* [Publish a plugin](/docs/id/plugins/publish): versi itu, masukkan ke marketplace, dan kirimkan ke community marketplace424* [Publish a plugin](/docs/id/plugins/publish): versi itu, masukkan ke marketplace, dan kirimkan untuk ditinjau

421* [Plugins on claude.ai and in Cowork](https://claude.com/docs/plugins/overview): folder plugin yang sama dipasang di claude.ai dan di Cowork. Beberapa komponen hanya Claude Code425* [Plugin structure and testing](https://claude.com/docs/plugins/build): folder plugin yang sama dipasang di claude.ai dan di Cowork. Beberapa komponen hanya Claude Code, dan [tabel dukungan komponen](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) mencantumkan mana yang dimuat di setiap permukaan

422* [Plugin manifest reference](/docs/id/plugins/manifest-reference): setiap field `plugin.json`, aturan path, dan direktori426* [Plugin manifest reference](/docs/id/plugins/manifest-reference): setiap field `plugin.json`, aturan path, dan direktori

423* [Skills](/docs/id/skills): tulis skills yang disediakan plugin Anda427* [Skills](/docs/id/skills): tulis skills yang disediakan plugin Anda

424* [Anthropic's plugins in the claude-code repository](https://github.com/anthropics/claude-code/tree/main/plugins): contoh lengkap yang dikerjakan dari layout di halaman ini, seperti `feature-dev` dan `code-review`428* [Anthropic's plugins in the claude-code repository](https://github.com/anthropics/claude-code/tree/main/plugins): contoh lengkap yang dikerjakan dari layout di halaman ini, seperti `feature-dev` dan `code-review`

Details

89Organization sync lebih ketat tentang repositori daripada `/plugin marketplace add`:89Organization sync lebih ketat tentang repositori daripada `/plugin marketplace add`:

90 90 

91* **Marketplace repository**: di github.com dan gitlab.com, harus pribadi atau internal91* **Marketplace repository**: di github.com dan gitlab.com, harus pribadi atau internal

92* **Plugin sources**: setiap plugin source harus bertipe `github`, `url`, atau `git-subdir`, atau [relative path](/docs/id/plugins/marketplace-reference#relative-path-plugin-source) yang dimulai dengan `./`92* **Plugin sources**: organization sync hanya menerima beberapa [source types](/docs/id/plugins/marketplace-reference#plugin-sources)

93* **Top-level `bin/` directory**: claude.ai menolak plugin yang memilikinya dan mensinkronkan sisa marketplace. Pesan kesalahan dimulai dengan `Plugin contains a top-level bin/ directory`. Simpan executable di direktori lain, seperti `scripts/`, dan referensikan sebagai `${CLAUDE_PLUGIN_ROOT}/scripts/<name>` dari hooks atau konfigurasi server MCP Anda93* **Top-level `bin/` directory**: claude.ai menolak plugin yang memilikinya dan mensinkronkan sisa marketplace. Pesan kesalahan dimulai dengan `Plugin contains a top-level bin/ directory`. Simpan executable di direktori lain, seperti `scripts/`, dan referensikan sebagai `${CLAUDE_PLUGIN_ROOT}/scripts/<name>` dari hooks atau konfigurasi server MCP Anda

94 94 

95Lihat [Manage plugins for your organization](https://support.claude.com/en/articles/13837433) untuk workflow admin.95[Sync your organization's plugins from a repository](https://claude.com/docs/plugins/org-sync) di claude.com mencantumkan source yang diterima, setup GitLab, dan error `bin/`, dan [Manage plugins for your organization](https://claude.com/docs/plugins/admin) mencakup workflow admin.

96 96 

97<h2 id="grant-access-to-a-private-marketplace">97<h2 id="grant-access-to-a-private-marketplace">

98 Grant access to a private marketplace98 Grant access to a private marketplace


113 113 

114Untuk host GitHub Enterprise Server, pengguna memerlukan akses git ke host itu dari mesin mereka. Lihat [Plugin marketplaces on GHES](/docs/id/github-enterprise-server#plugin-marketplaces-on-ghes) untuk apa yang setiap permukaan Claude Code butuhkan untuk mencapai marketplace yang dihosting GHES.114Untuk host GitHub Enterprise Server, pengguna memerlukan akses git ke host itu dari mesin mereka. Lihat [Plugin marketplaces on GHES](/docs/id/github-enterprise-server#plugin-marketplaces-on-ghes) untuk apa yang setiap permukaan Claude Code butuhkan untuk mencapai marketplace yang dihosting GHES.

115 115 

116Jika Anda mendistribusikan melalui **Organization settings > Plugins & skills** di claude.ai sebagai gantinya, kredensial git pengguna Anda tidak terlibat. Lihat [Distribute through organization settings](#distribute-through-organization-settings) untuk plugin source mana yang dapat pribadi di sana.116Jika Anda mendistribusikan melalui **Organization settings > Plugins & skills** di claude.ai sebagai gantinya, kredensial git pengguna Anda tidak terlibat. Lihat [Distribute through organization settings](#distribute-through-organization-settings).

117 117 

118<h3 id="serve-users-who-have-no-git-host-account">118<h3 id="serve-users-who-have-no-git-host-account">

119 Serve users who have no git-host account119 Serve users who have no git-host account

Details

143Cakupan instalasi plugin memutuskan siapa yang mendapatkan plugin dan file pengaturan mana yang mencatat sebagai diaktifkan:143Cakupan instalasi plugin memutuskan siapa yang mendapatkan plugin dan file pengaturan mana yang mencatat sebagai diaktifkan:

144 144 

145* **User scope**: plugin diaktifkan untuk Anda di setiap proyek di mesin ini. Entri masuk di `enabledPlugins` di `~/.claude/settings.json`.145* **User scope**: plugin diaktifkan untuk Anda di setiap proyek di mesin ini. Entri masuk di `enabledPlugins` di `~/.claude/settings.json`.

146* **Project scope**: plugin diaktifkan untuk semua orang yang bekerja di repository ini. Entri masuk di `.claude/settings.json`, yang Anda commit.146* **Project scope**: plugin diaktifkan untuk semua orang yang bekerja di repository ini. Entri masuk di `.claude/settings.json`, yang Anda commit. Melakukan commit entri itu mengaktifkan plugin untuk kolaborator Anda tetapi tidak mengunduhnya ke mesin mereka, jadi setiap kolaborator juga menjalankan `claude plugin install <name>@<marketplace> --scope project` sekali; lihat [Enabled in project settings but not installed](/docs/id/plugins/loading#enabled-in-project-settings-but-not-installed).

147* **Local scope**: plugin diaktifkan untuk Anda di repository ini saja. Entri masuk di `.claude/settings.local.json`.147* **Local scope**: plugin diaktifkan untuk Anda di repository ini saja. Entri masuk di `.claude/settings.local.json`.

148 148 

149Beberapa plugin diatur oleh penulis mereka untuk mulai dimatikan, melalui bidang [`defaultEnabled`](/docs/id/plugins/manifest-reference#defaultenabled). Plugin seperti itu diinstal tetapi tetap mati sampai Anda mengaktifkannya dengan `claude plugin enable <name>` di shell Anda, atau dari tab **Installed** dari `/plugin` dalam sesi.149Beberapa plugin diatur oleh penulis mereka untuk mulai dimatikan, melalui bidang [`defaultEnabled`](/docs/id/plugins/manifest-reference#defaultenabled). Plugin seperti itu diinstal tetapi tetap mati sampai Anda mengaktifkannya dengan `claude plugin enable <name>` di shell Anda, atau dari tab **Installed** dari `/plugin` dalam sesi.

Details

100 100 

101Dalam sesi terminal, skill, agent, hooks, server MCP, dan server LSP plugin yang disinkronkan semuanya dimuat, dengan kepercayaan yang sama seperti plugin marketplace yang Anda instal.101Dalam sesi terminal, skill, agent, hooks, server MCP, dan server LSP plugin yang disinkronkan semuanya dimuat, dengan kepercayaan yang sama seperti plugin marketplace yang Anda instal.

102 102 

103Untuk komponen yang dimuat Cowork, lihat [Plugin di claude.ai dan di Cowork](https://claude.com/docs/plugins/overview) di claude.com.103Untuk komponen yang dimuat Cowork, lihat [tabel dukungan komponen](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) di claude.com.

104 104 

105Plugin yang disinkronkan dimuat dalam sesi Cowork dan dalam sesi terminal di mana Anda masuk dengan akun claude.ai Anda:105Plugin yang disinkronkan dimuat dalam sesi Cowork dan dalam sesi terminal di mana Anda masuk dengan akun claude.ai Anda:

106 106 


184| Path | Apa yang disimpannya |184| Path | Apa yang disimpannya |

185| :- | :- |185| :- | :- |

186| `cache/<marketplace>/<plugin>/<version>/` | Satu direktori per versi plugin marketplace yang terinstal. `<plugin>` adalah nama entri marketplace dan `<version>` adalah [versi yang diselesaikan](#versions-and-updates). `${CLAUDE_PLUGIN_ROOT}` menunjuk ke direktori ini |186| `cache/<marketplace>/<plugin>/<version>/` | Satu direktori per versi plugin marketplace yang terinstal. `<plugin>` adalah nama entri marketplace dan `<version>` adalah [versi yang diselesaikan](#versions-and-updates). `${CLAUDE_PLUGIN_ROOT}` menunjuk ke direktori ini |

187| `data/<plugin-id>/` | Direktori persisten plugin, diekspos sebagai `${CLAUDE_PLUGIN_DATA}`. Untuk cara `<plugin-id>` dibentuk, lihat [Path variables and persistent data](/docs/id/plugins/components#path-variables-and-persistent-data). Claude Code membuatnya ketika komponen plugin pertama kali menggunakannya dan menyimpannya di seluruh pembaruan. Claude Code menghapusnya ketika Anda mencopot plugin dari scope terakhirnya, kecuali Anda melewatkan `--keep-data` |187| `data/<plugin-id>/` | Direktori persisten plugin, diekspos sebagai `${CLAUDE_PLUGIN_DATA}`. Untuk cara `<plugin-id>` dibentuk, lihat [Path variables and persistent data](/docs/id/plugins/components#path-variables-and-persistent-data). Claude Code membuatnya ketika komponen plugin pertama kali menggunakannya dan menyimpannya di seluruh pembaruan. Secara default, Claude Code menghapusnya ketika Anda mencopot plugin dari scope terakhirnya. Untuk `--keep-data` dan kasus lain di mana itu tetap ada, lihat [plugin uninstall](/docs/id/plugins/cli-reference#plugin-uninstall) |

188| `marketplaces/<name>/` | Klon atau unduhan marketplace yang ditambahkan dari GitHub, host Git lain, atau URL. Marketplace yang ditambahkan dari sumber `file` atau `directory` lokal tidak memiliki salinan di sini, dan `installLocation` dalam `known_marketplaces.json` adalah path yang Anda berikan |188| `marketplaces/<name>/` | Klon atau unduhan marketplace yang ditambahkan dari GitHub, host Git lain, atau URL. Marketplace yang ditambahkan dari sumber `file` atau `directory` lokal tidak memiliki salinan di sini, dan `installLocation` dalam `known_marketplaces.json` adalah path yang Anda berikan |

189| `synced/` | Plugin yang Claude Code [sinkronkan dari akun claude.ai Anda](#synced-plugins) |189| `synced/` | Plugin yang Claude Code [sinkronkan dari akun claude.ai Anda](#synced-plugins) |

190| `.trash/` | Plugin yang sinkronisasi claude.ai hapus, seperti setelah Anda mematikannya di claude.ai atau berhenti menyinkronkan |190| `.trash/` | Plugin yang sinkronisasi claude.ai hapus, seperti setelah Anda mematikannya di claude.ai atau berhenti menyinkronkan |

Details

116* **`Validation passed with warnings`**: manifest dimuat, tetapi validator menemukan sesuatu untuk diperbaiki, seperti field tingkat atas yang tidak diketahui yang Claude Code hapus, `name` yang bukan kebab-case, atau `version`, `description`, atau `author` yang hilang. Lewatkan `--strict` untuk mengubah peringatan menjadi kegagalan di CI116* **`Validation passed with warnings`**: manifest dimuat, tetapi validator menemukan sesuatu untuk diperbaiki, seperti field tingkat atas yang tidak diketahui yang Claude Code hapus, `name` yang bukan kebab-case, atau `version`, `description`, atau `author` yang hilang. Lewatkan `--strict` untuk mengubah peringatan menjadi kegagalan di CI

117* **`Validation failed`**: manifest memiliki ketidakcocokan tipe, path yang hilang atau keluar dari root plugin, atau kunci yang tidak diketahui di dalam opsi `userConfig`, entri `channels`, config `lspServers`, atau entri `monitors`. Claude Code melaporkan masalah yang sama saat memuat plugin117* **`Validation failed`**: manifest memiliki ketidakcocokan tipe, path yang hilang atau keluar dari root plugin, atau kunci yang tidak diketahui di dalam opsi `userConfig`, entri `channels`, config `lspServers`, atau entri `monitors`. Claude Code melaporkan masalah yang sama saat memuat plugin

118 118 

119Perintah juga memeriksa setiap entri server MCP yang dideklarasikan plugin dalam `.mcp.json`, dalam file `.json` yang dinamai [`mcpServers`](#mcpservers), atau inline dalam `plugin.json`. Pemeriksaan MCP ini memerlukan Claude Code v2.1.281 atau lebih baru dan mencakup:

120 

121* **Errors**: entri yang Claude Code akan hapus saat memuat plugin, referensi `${user_config.KEY}` ke opsi yang tidak dideklarasikan manifest, dan `url` jarak jauh yang bukan URL absolut yang valid

122* **Warnings**: `http://` atau `ws://` URL ke host non-loopback, dan nilai header yang terlihat seperti kredensial literal

123 

119<h2 id="fields">124<h2 id="fields">

120 Fields125 Fields

121</h2>126</h2>


387 Containment and existence392 Containment and existence

388</h3>393</h3>

389 394 

390Setiap path komponen harus diselesaikan di dalam root plugin dan harus ada. `claude plugin validate` tidak memeriksa path `outputStyles`, `lspServers`, `monitors`, atau `themes`, jadi path yang buruk di field tersebut gagal hanya saat plugin dimuat:395Setiap path komponen harus diselesaikan di dalam root plugin dan harus ada. `claude plugin validate` memeriksa path di bawah setiap kunci komponen:

391 396 

392* **Containment**: path yang diselesaikan di luar root plugin tidak dimuat, dan tab **Errors** `/plugin` menampilkan `<component> path escapes plugin directory: <path>`. Path yang berisi `..` adalah kasus biasa, dan `claude plugin validate` melaporkannya sebagai `Path contains ".." which could be a path traversal attempt`397* **Containment**: path yang diselesaikan di luar root plugin tidak dimuat, dan tab **Errors** `/plugin` menampilkan `<component> path escapes plugin directory: <path>`. Path yang berisi `..` adalah kasus biasa, dan `claude plugin validate` melaporkan kesalahan `Path contains ".." which could be a path traversal attempt`

393* **Existence**: path yang tidak ada tidak dimuat, dan tab **Errors** `/plugin` menampilkan `<component> path not found: <path>`. `claude plugin validate` melaporkannya sebagai `Path not found`398* **Existence**: path yang tidak ada tidak dimuat, dan tab **Errors** `/plugin` menampilkan `<component> path not found: <path>`. `claude plugin validate` melaporkan kesalahan `Path not found`

399 

400Untuk path `outputStyles`, `lspServers`, `monitors`, dan `themes`, pemeriksaan `claude plugin validate` memerlukan Claude Code v2.1.283 atau lebih baru.

394 401 

395<h3 id="how-each-key-combines-with-its-default-location">402<h3 id="how-each-key-combines-with-its-default-location">

396 How each key combines with its default location403 How each key combines with its default location


548```555```

549 556 

550<h2 id="environment-variables">557<h2 id="environment-variables">

551 Environment variables558 Variabel lingkungan

552</h2>559</h2>

553 560 

554Claude Code menyediakan tiga variabel path ke komponen plugin. Referensikan sebagai `${NAME}` di field yang tercantum di bawah [Where each variable resolves](#where-each-variable-resolves), dan bacanya sebagai variabel lingkungan dalam proses yang menerimanya.561Claude Code menyediakan tiga variabel path ke komponen plugin. Referensikan sebagai `${NAME}` di field yang tercantum di bawah [Where each variable resolves](#where-each-variable-resolves), dan bacanya sebagai variabel lingkungan dalam proses yang menerimanya.


561 568 

562`${CLAUDE_PLUGIN_ROOT}` berubah saat plugin diperbarui, jadi jangan tulis state di sana. Untuk di mana root bergerak dan kapan direktori lama dibersihkan, lihat [halaman loading](/docs/id/plugins/loading).569`${CLAUDE_PLUGIN_ROOT}` berubah saat plugin diperbarui, jadi jangan tulis state di sana. Untuk di mana root bergerak dan kapan direktori lama dibersihkan, lihat [halaman loading](/docs/id/plugins/loading).

563 570 

564Saat Anda mencopot plugin dari tempat terakhir diinstal, direktori `${CLAUDE_PLUGIN_DATA}` dihapus kecuali Anda melewatkan [`--keep-data`](/docs/id/plugins/cli-reference).571Secara default, Claude Code menghapus direktori `${CLAUDE_PLUGIN_DATA}` saat Anda mencopot plugin dari tempat terakhir diinstal. Untuk `--keep-data` dan kasus lain di mana direktori tetap ada, lihat [plugin uninstall](/docs/id/plugins/cli-reference#plugin-uninstall).

565 572 

566<h3 id="where-each-variable-resolves">573<h3 id="where-each-variable-resolves">

567 Where each variable resolves574 Where each variable resolves


589* **Hook commands**: gunakan [exec form](/docs/id/hooks#exec-form-and-shell-form) dengan `args` sehingga setiap path adalah satu argumen tanpa quoting596* **Hook commands**: gunakan [exec form](/docs/id/hooks#exec-form-and-shell-form) dengan `args` sehingga setiap path adalah satu argumen tanpa quoting

590* **Shell-form hooks dan monitor commands**: bungkus variabel dalam tanda kutip ganda sehingga path dengan spasi tetap satu kata597* **Shell-form hooks dan monitor commands**: bungkus variabel dalam tanda kutip ganda sehingga path dengan spasi tetap satu kata

591 598 

599Jika Anda meninggalkan salah satu variabel ini di luar tanda kutip dalam perintah bentuk shell dalam file hooks, `claude plugin validate` akan memperingatkan tentang hal itu kecuali hook menetapkan [`shell`](/docs/id/hooks#command-hook-fields) ke `"powershell"`.

600 

592Hook bentuk shell ini menjalankan skrip yang dikemas dengan plugin:601Hook bentuk shell ini menjalankan skrip yang dikemas dengan plugin:

593 602 

594```json theme={null}603```json theme={null}


629| Workflows | `workflows/` | File workflow `.js` |638| Workflows | `workflows/` | File workflow `.js` |

630| Themes | `themes/` | File tema JSON |639| Themes | `themes/` | File tema JSON |

631| Monitors | `monitors/monitors.json` | Array monitors |640| Monitors | `monitors/monitors.json` | Array monitors |

632| Executables | `bin/` | File di sini ada di `PATH` tool Bash saat plugin diaktifkan, jadi Claude menjalankannya sebagai perintah bare. claude.ai dan Cowork tidak menginstal plugin yang memiliki direktori ini, termasuk yang Anda [distribusikan melalui pengaturan organisasi claude.ai](/docs/id/plugins/host-marketplace#distribute-through-organization-settings) |641| Executables | `bin/` | File di sini ada di `PATH` tool Bash saat plugin diaktifkan, jadi Claude menjalankannya sebagai perintah bare. claude.ai dan Cowork tidak menginstal plugin yang memiliki direktori ini, termasuk yang Anda [distribusikan melalui pengaturan organisasi claude.ai](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory) |

633| Settings | `settings.json` | Default `agent` dan `subagentStatusLine` diterapkan saat plugin diaktifkan |642| Settings | `settings.json` | Default `agent` dan `subagentStatusLine` diterapkan saat plugin diaktifkan |

634 643 

635Plugin yang menggunakan setiap lokasi default, ditambah folder `scripts/` yang dipanggil hook-nya, diatur seperti ini:644Plugin yang menggunakan setiap lokasi default, ditambah folder `scripts/` yang dipanggil hook-nya, diatur seperti ini:

Details

47* **Nama marketplace resmi**: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `life-sciences`, `knowledge-work-plugins`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, dan `claude-tag-plugins`. Dicadangkan kecuali marketplace berasal dari `github` atau `git` [sumber marketplace](#marketplace-sources) di bawah `github.com/anthropics/`.47* **Nama marketplace resmi**: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `life-sciences`, `knowledge-work-plugins`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, dan `claude-tag-plugins`. Dicadangkan kecuali marketplace berasal dari `github` atau `git` [sumber marketplace](#marketplace-sources) di bawah `github.com/anthropics/`.

48* **Nama marketplace komunitas**: `claude-community`, `claude-plugins-community`, dan `healthcare`. Dicadangkan di bawah aturan yang sama dengan nama resmi.48* **Nama marketplace komunitas**: `claude-community`, `claude-plugins-community`, dan `healthcare`. Dicadangkan di bawah aturan yang sama dengan nama resmi.

49* **Nama direktori plugin**: `anthropic-plugin-directory` dan `claude-plugin-directory`. Dicadangkan di bawah aturan yang sama dengan nama resmi.49* **Nama direktori plugin**: `anthropic-plugin-directory` dan `claude-plugin-directory`. Dicadangkan di bawah aturan yang sama dengan nama resmi.

50* **Nama yang menyamar sebagai marketplace resmi**: nama seperti `official-claude-plugins` atau `claude-plugins-v2`, dan nama apa pun yang berisi karakter non-ASCII. Kesalahannya adalah `Marketplace name impersonates an official Anthropic/Claude marketplace`. Karakter kontrol atau pemformatan bidirectional dalam nama juga melaporkan `Marketplace name cannot contain control or bidirectional-formatting characters`.50* **Nama yang menyamar sebagai marketplace resmi**: nama seperti `official-claude-plugins` atau `claude-plugins-v2`, dan nama apa pun yang berisi karakter non-ASCII. Kesalahannya adalah `Marketplace name impersonates an official Anthropic/Claude marketplace`. Karakter kontrol atau pemformatan bidirectional dalam nama juga melaporkan `Marketplace name cannot contain control or bidirectional-formatting characters`. Marketplace yang sudah terdaftar di bawah nama seperti itu berhenti dimuat, bersama dengan pluginnya.

51* <span id="reserved-name-spellings" />**Ejaan lain dari nama yang dicadangkan**: nama yang berbeda dari nama yang dicadangkan hanya dengan titik di akhir, atau dengan simbol selain garis bawah sebagai pengganti tanda hubung, jadi `claude.code.plugins` dihitung sebagai `claude-code-plugins`. `claude plugin validate` menerima nama seperti itu; menambahkan marketplace gagal dengan [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/id/errors#marketplace-name-is-another-spelling-of-a-reserved-name), dan marketplace yang sudah terdaftar di bawah satu berhenti dimuat. Pemeriksaan ini memerlukan Claude Code v2.1.280 atau lebih baru.51* <span id="reserved-name-spellings" />**Ejaan lain dari nama yang dicadangkan**: nama yang berbeda dari nama yang dicadangkan hanya dengan titik di akhir, atau dengan simbol selain garis bawah sebagai pengganti tanda hubung, jadi `claude.code.plugins` dihitung sebagai `claude-code-plugins`. `claude plugin validate` menerima nama seperti itu; menambahkan marketplace gagal dengan [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/id/errors#marketplace-name-is-another-spelling-of-a-reserved-name), dan marketplace yang sudah terdaftar di bawah satu berhenti dimuat. Pemeriksaan ini memerlukan Claude Code v2.1.280 atau lebih baru.

52* **Nama yang Claude Code gunakan untuk plugin yang tidak berasal dari marketplace**: `inline` untuk plugin yang dimuat dengan [`--plugin-dir`](/docs/id/cli-reference), `builtin` untuk plugin bawaan, `skills-dir` untuk plugin yang dimuat otomatis dari [`.claude/skills/`](/docs/id/skills), dan `synced` untuk plugin yang disinkronkan dari akun claude.ai Anda. `claude-plugin-test` juga dicadangkan. `skills-dir` juga muncul sebagai `{"source": "skills-dir"}` dalam `strictKnownMarketplaces` dan `blockedMarketplaces`, dijelaskan di bawah [Nilai sumber yang valid hanya dalam daftar kebijakan](#source-values-valid-only-in-policy-lists).52* **Nama yang Claude Code gunakan untuk plugin yang tidak berasal dari marketplace**: `inline` untuk plugin yang dimuat dengan [`--plugin-dir`](/docs/id/cli-reference), `builtin` untuk plugin bawaan, `skills-dir` untuk plugin yang dimuat otomatis dari [`.claude/skills/`](/docs/id/skills), dan `synced` untuk plugin yang disinkronkan dari akun claude.ai Anda. `claude-plugin-test` juga dicadangkan. `skills-dir` juga muncul sebagai `{"source": "skills-dir"}` dalam `strictKnownMarketplaces` dan `blockedMarketplaces`, dijelaskan di bawah [Nilai sumber yang valid hanya dalam daftar kebijakan](#source-values-valid-only-in-policy-lists).

53* **`npm`, `pip`, `uv`, `cargo`, `github`, dan `gh`**: dicadangkan dalam huruf apa pun. Pemeriksaan ini memerlukan Claude Code v2.1.275 atau lebih baru.53* **`npm`, `pip`, `uv`, `cargo`, `github`, dan `gh`**: dicadangkan dalam huruf apa pun. Pemeriksaan ini memerlukan Claude Code v2.1.275 atau lebih baru.

54* **Nama yang dimulai dengan `claudeai-`**: dicadangkan untuk marketplace yang dihosting di claude.ai. `claude plugin marketplace add` menolak marketplace lain apa pun yang menggunakannya dengan `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.54* **Nama yang dimulai dengan `claudeai-`**: dicadangkan untuk marketplace yang dihosting di claude.ai. `claude plugin marketplace add` menolak marketplace lain apa pun yang menggunakannya dengan `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.

55 55 

56Ketika marketplace yang terdaftar berhenti dimuat karena namanya meniru nama resmi, `claude plugin list` dan `/plugin` melaporkan `Claude Code refuses the marketplace name "<name>"`. Pesan tersebut memberi tahu Anda untuk menghapus marketplace. Menghapusnya juga mencopot plugin-nya dan menghapus data yang disimpan. Pesan penolakan bernama ini memerlukan Claude Code v2.1.282 atau lebih baru.

57 

56<h2 id="top-level-fields">58<h2 id="top-level-fields">

57 Field tingkat atas59 Field tingkat atas

58</h2>60</h2>

Details

96* **Mereka adalah rekan kerja yang dapat Anda tanyai**: Claude Code setiap pengguna menunjukkan kepada mereka apakah mereka masih menggunakan plugin, di empat tempat: panel [`/plugin`](#not-used-recently-in-/plugin), [`/skill-doctor`](#find-skills-that-never-run), [`/doctor`](#unused-plugins-in-/doctor), dan [`/usage`](#usage-share-in-/usage). Keempat perintah ini dijalankan pengguna di prompt Claude Code dalam sesi di mesin mereka sendiri.96* **Mereka adalah rekan kerja yang dapat Anda tanyai**: Claude Code setiap pengguna menunjukkan kepada mereka apakah mereka masih menggunakan plugin, di empat tempat: panel [`/plugin`](#not-used-recently-in-/plugin), [`/skill-doctor`](#find-skills-that-never-run), [`/doctor`](#unused-plugins-in-/doctor), dan [`/usage`](#usage-share-in-/usage). Keempat perintah ini dijalankan pengguna di prompt Claude Code dalam sesi di mesin mereka sendiri.

97* **Tidak satupun**: Anda tidak memiliki sinyal penggunaan dari Claude Code untuk plugin tersebut.97* **Tidak satupun**: Anda tidak memiliki sinyal penggunaan dari Claude Code untuk plugin tersebut.

98 98 

99Untuk penggunaan plugin yang terdaftar dalam direktori Anthropic, lihat [Track published plugin usage](https://claude.com/docs/connectors/building/after-publishing#track-published-plugin-usage) di claude.com.

100 

99<h3 id="not-used-recently-in-/plugin">101<h3 id="not-used-recently-in-/plugin">

100 Not used recently in `/plugin`102 Not used recently in `/plugin`

101</h3>103</h3>

plugins/org.md +2 −1

Details

14 Kasus-kasus ini tercakup di halaman lain:14 Kasus-kasus ini tercakup di halaman lain:

15 15 

16 * **Menginstal plugin untuk diri sendiri**: mulai dari [Install plugins](/docs/id/plugins/install)16 * **Menginstal plugin untuk diri sendiri**: mulai dari [Install plugins](/docs/id/plugins/install)

17 * **Mengontrol plugin mana yang dapat digunakan anggota di claude.ai dan Cowork**: lihat [Manage plugins for your organization](https://support.claude.com/en/articles/13837433) di pusat bantuan17 * **Mengontrol plugin mana yang dapat digunakan anggota di claude.ai dan Cowork**: lihat [Manage plugins for your organization](https://claude.com/docs/plugins/admin) di claude.com

18 * **Meluncurkan satu plugin ke claude.ai, Cowork, dan Claude Code bersama-sama**: lihat [Choose a rollout route](https://claude.com/docs/plugins/org-rollout#choose-a-rollout-route) di claude.com

18 * **Halaman plugin di pengaturan admin claude.ai**: [**Organization settings > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory) mengaktifkan plugin untuk akun claude.ai anggota, dan yang tersebut mencapai Claude Code sebagai [synced plugins](/docs/id/plugins/loading#synced-plugins). Ini tidak menetapkan salah satu kunci di halaman ini19 * **Halaman plugin di pengaturan admin claude.ai**: [**Organization settings > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory) mengaktifkan plugin untuk akun claude.ai anggota, dan yang tersebut mencapai Claude Code sebagai [synced plugins](/docs/id/plugins/loading#synced-plugins). Ini tidak menetapkan salah satu kunci di halaman ini

19</Note>20</Note>

20 21 

Details

9Plugin Claude Code adalah direktori skill, agent, hooks, server MCP, atau komponen lainnya yang Claude Code pasang dan muat sebagai satu unit. Sebagian besar plugin berasal dari marketplace, yang merupakan katalog yang mencantumkan plugin dan tempat mengambil masing-masing. Anda juga dapat memuat plugin dari folder yang diberikan seseorang kepada Anda, atau [membangun plugin Anda sendiri](/docs/id/plugins/create).9Plugin Claude Code adalah direktori skill, agent, hooks, server MCP, atau komponen lainnya yang Claude Code pasang dan muat sebagai satu unit. Sebagian besar plugin berasal dari marketplace, yang merupakan katalog yang mencantumkan plugin dan tempat mengambil masing-masing. Anda juga dapat memuat plugin dari folder yang diberikan seseorang kepada Anda, atau [membangun plugin Anda sendiri](/docs/id/plugins/create).

10 10 

11<Note>11<Note>

12 Jika Anda menggunakan chat claude.ai atau Cowork dan bukan Claude Code, lihat [Plugin di claude.ai dan di Cowork](https://claude.com/docs/plugins/overview).12 Mulai di claude.com sebagai gantinya jika salah satu dari ini menggambarkan Anda:

13 

14 * **Anda menggunakan chat claude.ai atau Cowork dan bukan Claude Code**: lihat [Plugin di claude.ai dan di Cowork](https://claude.com/docs/plugins/overview)

15 * **Anda membangun server MCP dan menginginkannya di direktori Anthropic**: lihat [Publikasikan ke direktori](https://claude.com/docs/directory/publish)

13</Note>16</Note>

14 17 

15Untuk mencoba plugin sekarang, jalankan `/plugin` dalam sesi terminal Claude Code dan pasang satu dari tab **Discover**, yang mencantumkan plugin dari marketplace resmi Anthropic dan marketplace apa pun yang telah Anda tambahkan. Dari sana:18Untuk mencoba plugin sekarang, jalankan `/plugin` dalam sesi terminal Claude Code dan pasang satu dari tab **Discover**, yang mencantumkan plugin dari marketplace resmi Anthropic dan marketplace apa pun yang telah Anda tambahkan. Dari sana:


122Sesi cloud, termasuk satu di browser di claude.ai/code, tidak memuat plugin dalam pengaturan lokal Anda. Untuk langkah pemasangan di terminal, VS Code, dan aplikasi desktop, dan untuk apa yang dimuat sesi cloud, lihat [Install a plugin](/docs/id/plugins/install#install-a-plugin).125Sesi cloud, termasuk satu di browser di claude.ai/code, tidak memuat plugin dalam pengaturan lokal Anda. Untuk langkah pemasangan di terminal, VS Code, dan aplikasi desktop, dan untuk apa yang dimuat sesi cloud, lihat [Install a plugin](/docs/id/plugins/install#install-a-plugin).

123 126 

124<Note>127<Note>

125 Format plugin yang sama juga dipasang di claude.ai dan di Cowork, di mana set komponen yang berbeda dimuat. Untuk permukaan tersebut, lihat [Plugins on claude.ai and in Cowork](https://claude.com/docs/plugins/overview) di claude.com.128 Format plugin yang sama juga dipasang di claude.ai dan di Cowork, di mana set komponen yang berbeda dimuat. Untuk permukaan tersebut, lihat [Plugins on claude.ai and in Cowork](https://claude.com/docs/plugins/overview) di claude.com dan [tabel dukungan komponennya](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app).

126</Note>129</Note>

127 130 

128<h2 id="next-steps">131<h2 id="next-steps">


135 138 

136Setelah Anda memasang atau membangun plugin, halaman-halaman ini mencakup apa yang akan datang:139Setelah Anda memasang atau membangun plugin, halaman-halaman ini mencakup apa yang akan datang:

137 140 

138* **Bagikan apa yang Anda bangun**: [Publish and distribute a plugin](/docs/id/plugins/publish)141* **Bagikan apa yang Anda bangun**: [Publish and distribute a plugin](/docs/id/plugins/publish), melalui marketplace Anda sendiri atau [direktori Anthropic](/docs/id/plugins/publish#submit-to-anthropics-directory)

139* **Periksa apakah itu berfungsi dan digunakan**: [Test plugins with evals](/docs/id/plugin-evals) dan [Measure plugin cost and usage](/docs/id/plugins/measure)142* **Periksa apakah itu berfungsi dan digunakan**: [Test plugins with evals](/docs/id/plugin-evals) dan [Measure plugin cost and usage](/docs/id/plugins/measure)

140* **Jalankan marketplace untuk tim Anda**: [Create a marketplace](/docs/id/plugins/create-marketplace), kemudian [Host and maintain a marketplace](/docs/id/plugins/host-marketplace)143* **Jalankan marketplace untuk tim Anda**: [Create a marketplace](/docs/id/plugins/create-marketplace), kemudian [Host and maintain a marketplace](/docs/id/plugins/host-marketplace)

141* **Tetapkan kebijakan plugin untuk organisasi**: [Manage plugins for your organization](/docs/id/plugins/org)144* **Tetapkan kebijakan plugin untuk organisasi**: [Manage plugins for your organization](/docs/id/plugins/org)

plugins/publish.md +21 −18

Details

4 4 

5# Publikasikan dan distribusikan plugin5# Publikasikan dan distribusikan plugin

6 6 

7> Publikasikan plugin Claude Code melalui marketplace Anda sendiri atau marketplace komunitas Anthropic, dengan daftar periksa pra-rilis dan cara pengguna mendapatkan pembaruan.7> Publikasikan plugin Claude Code melalui marketplace Anda sendiri atau direktori Anthropic, dengan daftar periksa pra-rilis dan cara pengguna mendapatkan pembaruan.

8 8 

9Mempublikasikan plugin Claude Code berarti mencantumkannya di marketplace, katalog JSON yang mencantumkan plugin dan tempat mengambil masing-masing plugin, sehingga orang lain dapat memasangnya berdasarkan nama dan menerima pembaruan Anda. Anda dapat menjalankan marketplace Anda sendiri atau mengirimkan plugin Anda ke marketplace komunitas Anthropic. Untuk berbagi plugin tanpa mempublikasikannya, kirimkan direktori plugin atau `.zip` darinya kepada orang-orang untuk dimuat sendiri.9Mempublikasikan plugin Claude Code berarti mencantumkannya di marketplace, katalog JSON yang mencantumkan plugin dan tempat mengambil masing-masing plugin, sehingga orang lain dapat memasangnya berdasarkan nama dan menerima pembaruan Anda. Anda dapat menjalankan marketplace Anda sendiri atau mengirimkan plugin Anda ke direktori Anthropic. Untuk berbagi plugin tanpa mempublikasikannya, kirimkan direktori plugin atau `.zip` darinya kepada orang-orang untuk dimuat sendiri.

10 10 

11Halaman ini adalah untuk penulis plugin yang berfungsi dan siap untuk membagikannya.11Halaman ini adalah untuk penulis plugin yang berfungsi dan siap untuk membagikannya.

12 12 


29| :- | :- | :- | :- |29| :- | :- | :- | :- |

30| [Tanpa marketplace](#share-a-plugin-without-a-marketplace) | Orang-orang yang Anda kirimkan folder plugin atau `.zip` darinya | Folder plugin | Tidak ada. Mereka memuat salinan yang Anda kirimkan |30| [Tanpa marketplace](#share-a-plugin-without-a-marketplace) | Orang-orang yang Anda kirimkan folder plugin atau `.zip` darinya | Folder plugin | Tidak ada. Mereka memuat salinan yang Anda kirimkan |

31| [Marketplace Anda sendiri](#publish-through-your-own-marketplace) | Siapa pun yang dapat menjangkau repositori, yang dapat berupa repositori pribadi yang dapat dikloning tim Anda | Repositori git atau host lain dengan `.claude-plugin/marketplace.json` yang mencantumkan plugin Anda | Mati |31| [Marketplace Anda sendiri](#publish-through-your-own-marketplace) | Siapa pun yang dapat menjangkau repositori, yang dapat berupa repositori pribadi yang dapat dikloning tim Anda | Repositori git atau host lain dengan `.claude-plugin/marketplace.json` yang mencantumkan plugin Anda | Mati |

32| [Marketplace komunitas Anthropic](#submit-to-the-community-marketplace) | Siapa pun yang menambahkan `anthropics/claude-plugins-community` | Pengajuan melalui formulir pengajuan direktori plugin | Mati |32| [Direktori Anthropic](#submit-to-anthropics-directory) | Orang-orang yang menambahkannya di claude.ai atau di Cowork. Ini juga dimuat dalam sesi Claude Code mereka melalui [sinkronisasi akun](/docs/id/plugins/loading#synced-plugins) | Repositori GitHub yang menyimpan plugin dan paket claude.ai berbayar untuk dikirimkan dari | Ya, setelah versi yang Anda dorong dipublikasikan |

33 33 

34Auto-update adalah pengaturan per-marketplace di sisi pengguna yang mengambil versi baru di latar belakang.34Auto-update adalah pengaturan per-marketplace di sisi pengguna yang mengambil versi baru di latar belakang.

35 35 


141 141 

142[Pasang plugin](/docs/id/plugins/install) mencakup perintah sisi pengguna, dan [kapan auto-update berjalan](/docs/id/plugins/loading#when-auto-update-runs) mencakup waktu.142[Pasang plugin](/docs/id/plugins/install) mencakup perintah sisi pengguna, dan [kapan auto-update berjalan](/docs/id/plugins/loading#when-auto-update-runs) mencakup waktu.

143 143 

144<h2 id="submit-to-the-community-marketplace">144<h2 id="submit-to-anthropics-directory">

145 Kirimkan ke marketplace komunitas145 Kirimkan ke direktori Anthropic

146</h2>146</h2>

147 147 

148Marketplace komunitas Anthropic, `claude-community`, adalah marketplace publik yang mencantumkan plugin yang dikirimkan melalui formulir pengajuan direktori plugin.148Direktori Anthropic adalah katalog yang dijelajahi orang di claude.ai dan di Cowork untuk menambahkan plugin dan konektor. Satu daftar di sana menjangkau orang di claude.ai, di Cowork, dan di Claude Code. Anda mengirimkan dari portal pengembang di [claude.ai/directory/manage](https://claude.ai/directory/manage); [Persiapkan untuk tinjauan](https://claude.com/docs/directory/publish#prepare-for-review) di claude.com menjelaskan apa yang terjadi pada setiap versi sebelum dipublikasikan.

149 149 

150Pengguna menambahkan marketplace komunitas dalam sesi Claude Code dengan `/plugin marketplace add anthropics/claude-plugins-community` dan memasang darinya sebagai `@claude-community`.150Pengiriman memerlukan paket claude.ai berbayar. Di Pro dan Max Anda mengirimkan dari akun Anda sendiri. Di Team dan Enterprise, seorang Owner dapat mengirimkan, dan di Enterprise seorang Owner juga dapat memberikan izin **Directory** kepada anggota lain melalui peran khusus di bawah **Organization settings > Roles**. Lihat [Konfirmasi bahwa Anda dapat mengirimkan ke direktori](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).

151 151 

152Untuk cara marketplace komunitas berbeda dari marketplace resmi, lihat [Marketplace Anthropic](/docs/id/plugins/anthropic-marketplaces).152Langkah-langkah pengiriman, pemeriksaan yang harus dilalui setiap versi, dan apa yang terjadi setelah Anda mempublikasikan didokumentasikan di claude.com, karena sama di mana pun permukaan pengguna Anda berada:

153 153 

154Untuk mengirimkan plugin Anda ke marketplace komunitas, gunakan salah satu formulir dalam aplikasi:154* [Publikasikan ke direktori](https://claude.com/docs/directory/publish#before-you-submit-to-the-directory): apa yang dapat Anda kirimkan dan siapa yang dapat mengirimkannya

155* [Kirimkan plugin](https://claude.com/docs/plugins/submit#submit-a-plugin): langkah-langkah portal dan [memperbarui plugin yang dipublikasikan](https://claude.com/docs/plugins/submit#update-a-published-plugin)

156* [Daftar periksa pra-pengiriman plugin](https://claude.com/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit): pemeriksaan yang harus dijalankan dan diperbaiki sebelum Anda mengirimkan

157* [Pindahkan pengiriman sebelumnya ke portal pengembang](https://claude.com/docs/directory/publish#move-an-earlier-submission-to-the-developer-portal): apa yang harus dilakukan jika Anda mengirimkan plugin melalui salah satu formulir pengiriman sebelumnya, sebelum portal ada

155 158 

156* **claude.ai**: [claude.ai/admin-settings/directory/submissions/plugins/new](https://claude.ai/admin-settings/directory/submissions/plugins/new)159Sebelum Anda membuka portal, validasi secara lokal dan periksa komponen mana dari Anda yang dimuat di luar Claude Code:

157* **Console**: [platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)

158 160 

159Formulir claude.ai memerlukan organisasi Team atau Enterprise dan izin Directory, yang dipegang Owner secara default. Penulis individual yang bukan bagian dari organisasi Team atau Enterprise dapat menggunakan formulir Console sebagai gantinya.161* **Jalankan `claude plugin validate ./your-plugin --strict` di shell Anda**: ganti `./your-plugin` dengan jalur ke direktori plugin Anda. Perintah menangkap kesalahan manifest secara lokal; [plugin validate](/docs/id/plugins/cli-reference#plugin-validate) mencantumkan file mana yang dibaca setiap kali dijalankan. Portal menerapkan aturan direktori tambahan yang tidak diperiksa CLI, jadi jalankan lokal yang bersih tidak menjamin validasi portal yang bersih.

162* **Periksa apa yang dimuat di mana**: beberapa komponen plugin hanya Claude Code dan tidak dimuat di claude.ai atau di Cowork. [Tabel dukungan komponen](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) mencantumkan setiap komponen menurut aplikasi, sehingga Anda tahu apa yang akan diterima pengguna di luar Claude Code.

160 163 

161Di shell Anda, jalankan `claude plugin validate ./your-plugin` secara lokal sebelum Anda mengirimkan, mengganti `./your-plugin` dengan jalur ke direktori plugin Anda. Ketika validasi lulus, Claude Code mencetak `✔ Validation passed`, atau `✔ Validation passed with warnings` jika ada peringatan. Peringatan tidak gagal validasi; tambahkan `--strict` untuk memperlakukan mereka sebagai kesalahan.164Marketplace resmi Anthropic, `claude-plugins-official`, tidak menerima pengiriman melalui portal direktori. Jika Anda bekerja dengan kontak mitra Anthropic, tanyakan tentang daftar marketplace resmi.

162 165 

163Plugin yang tercantum muncul di katalog [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community), dalam hampir setiap kasus disematkan ke SHA commit tertentu.166<h3 id="how-a-listed-plugin-reaches-claude-code-users">

164 167 Bagaimana plugin yang terdaftar menjangkau pengguna Claude Code

165Mungkin ada penundaan antara pengajuan dan plugin Anda muncul di `marketplace.json`. Untuk memeriksa apakah plugin Anda dapat dipasang, cari namanya di [katalog komunitas](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json).168</h3>

166 169 

167Marketplace resmi, `claude-plugins-official`, tidak menerima pengajuan melalui formulir ini. Jika Anda bekerja dengan kontak mitra Anthropic, tanyakan tentang daftar marketplace resmi.170Seseorang yang memasang plugin Anda dari direktori di claude.ai memilikinya di akun mereka, dan Claude Code memuatnya sebagai `<name>@synced`. [Plugin yang disinkronkan dari claude.ai](/docs/id/plugins/loading#synced-plugins) mencakup apa yang mereka lihat dan bagaimana mereka mematikannya.

168 171 

169<h2 id="ship-updates-renames-and-removals">172<h2 id="ship-updates-renames-and-removals">

170 Kirim pembaruan, penggantian nama, dan penghapusan173 Kirim pembaruan, penggantian nama, dan penghapusan


174 Rilis versi baru177 Rilis versi baru

175</h3>178</h3>

176 179 

177Jika Anda mempublikasikan melalui marketplace Anda sendiri dan `plugin.json` Anda menetapkan `version`, tingkatkan dan dorong. Pengguna yang menjalankan `claude plugin update` atau memiliki auto-update aktif kemudian menerima versi baru, seperti dijelaskan di bawah [Kirim pembaruan kepada pengguna](#ship-updates-to-users).180Jika Anda mempublikasikan melalui marketplace Anda sendiri dan `plugin.json` Anda menetapkan `version`, tingkatkan dan dorong. Pengguna yang menjalankan `claude plugin update` atau memiliki auto-update aktif kemudian menerima versi baru, seperti dijelaskan di bawah [Kirim pembaruan kepada pengguna](#ship-updates-to-users). Untuk daftar direktori, lihat [Perbarui plugin yang dipublikasikan](https://claude.com/docs/plugins/submit#update-a-published-plugin).

178 181 

179<h3 id="tag-a-release">182<h3 id="tag-a-release">

180 Tag rilis183 Tag rilis

Details

118 118 

119Di shell Anda, jalankan [`claude plugin uninstall <plugin>`](/docs/id/plugins/cli-reference#plugin-uninstall) dengan `--scope` tempat Anda menginstalnya. Kemudian periksa apa yang dihapus uninstall dan apa yang ditinggalkannya:119Di shell Anda, jalankan [`claude plugin uninstall <plugin>`](/docs/id/plugins/cli-reference#plugin-uninstall) dengan `--scope` tempat Anda menginstalnya. Kemudian periksa apa yang dihapus uninstall dan apa yang ditinggalkannya:

120 120 

121* **Data persisten**: ketika itu adalah scope terakhir plugin diinstal, uninstalling juga menghapus direktori data persisten plugin, kecuali Anda melewatkan `--keep-data`.121* **Data persisten**: secara default, ketika itu adalah scope terakhir plugin diinstal, uninstalling juga menghapus direktori data persisten plugin. Untuk `--keep-data` dan kasus-kasus lain di mana itu tetap, lihat [plugin uninstall](/docs/id/plugins/cli-reference#plugin-uninstall).

122* **File cache**: file plugin tetap di disk di bawah `~/.claude/plugins/cache/` selama 14 hari sebelum [background sweep menghapusnya](/docs/id/plugins/loading#cleanup-of-previous-versions). Setelah Anda menghapus plugin terakhir Anda, direktori yatim piatu tetap sampai Anda menginstal yang lain. Untuk menghapus file sekarang, hapus direktori plugin di bawah `~/.claude/plugins/cache/<marketplace>/<plugin>/` sendiri.122* **File cache**: file plugin tetap di disk di bawah `~/.claude/plugins/cache/` selama 14 hari sebelum [background sweep menghapusnya](/docs/id/plugins/loading#cleanup-of-previous-versions). Setelah Anda menghapus plugin terakhir Anda, direktori yatim piatu tetap sampai Anda menginstal yang lain. Untuk menghapus file sekarang, hapus direktori plugin di bawah `~/.claude/plugins/cache/<marketplace>/<plugin>/` sendiri.

123* **Marketplace**: jika Anda juga tidak mempercayai pemilik marketplace, [hapus marketplace](/docs/id/plugins/install#manage-marketplaces) juga, yang menghapus setiap plugin yang Anda instal darinya.123* **Marketplace**: jika Anda juga tidak mempercayai pemilik marketplace, [hapus marketplace](/docs/id/plugins/install#manage-marketplaces) juga, yang menghapus setiap plugin yang Anda instal darinya.

124 124 

Details

676 `Failed to load hooks from <path>` and hooks that don't fire676 `Failed to load hooks from <path>` and hooks that don't fire

677</h3>677</h3>

678 678 

679Hooks plugin tidak berjalan. Baik tab **Errors** menunjukkan kegagalan beban untuk mereka, hooks memuat dan Anda melihat pemberitahuan `<Event> hook error` dalam transkrip, atau hook memuat tanpa kesalahan dan tidak pernah menyala.679Hooks plugin tidak berjalan, atau salah satu memblokir tindakan. Baik tab **Errors** menunjukkan kegagalan beban untuk mereka, hooks memuat dan Anda melihat pemberitahuan `<Event> hook error` atau kesalahan pemblokiran dalam transkrip, atau hook memuat tanpa kesalahan dan tidak pernah menyala.

680 680 

681<h4 id="hooks-fail-to-load">681<h4 id="hooks-fail-to-load">

682 Hooks fail to load682 Hooks fail to load


693 693 

694Pemberitahuan bentuk `... hook error: Failed with non-blocking status code: <stderr>` berarti hook berjalan dan command-nya gagal. Misalnya, `Stop hook error: Failed with non-blocking status code: /bin/sh: node: command not found` berarti shell yang Claude Code spawn tidak dapat menemukan `node`. Instal, atau pastikan itu ada di `PATH` dari terminal yang Anda mulai `claude` dari.694Pemberitahuan bentuk `... hook error: Failed with non-blocking status code: <stderr>` berarti hook berjalan dan command-nya gagal. Misalnya, `Stop hook error: Failed with non-blocking status code: /bin/sh: node: command not found` berarti shell yang Claude Code spawn tidak dapat menemukan `node`. Instal, atau pastikan itu ada di `PATH` dari terminal yang Anda mulai `claude` dari.

695 695 

696Jika stderr menunjukkan path plugin terpotong di spasi, command bentuk shell hook menggunakan `${CLAUDE_PLUGIN_ROOT}` di luar tanda kutip dan path instalasi berisi spasi. Bungkus variabel dalam tanda kutip ganda atau gunakan [exec form](/docs/id/hooks#exec-form-and-shell-form). Untuk menemukan variabel yang tidak dikutip, jalankan `claude plugin validate` pada direktori plugin dan cari [peringatan quoting](/docs/id/plugins/manifest-reference#quoting-and-path-separators)-nya.

697 

696Untuk kesalahan lain apa pun, jalankan command hook sendiri dari direktori plugin untuk melihat output lengkap, atau tangkap stderr lengkap dengan [debug logging](/docs/id/hooks#debug-hooks).698Untuk kesalahan lain apa pun, jalankan command hook sendiri dari direktori plugin untuk melihat output lengkap, atau tangkap stderr lengkap dengan [debug logging](/docs/id/hooks#debug-hooks).

697 699 

700<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">

701 A plugin hook blocks a tool call or prompt

702</h4>

703 

704Hook yang keluar dengan kode 2 [memblokir tindakan yang dijalankannya](/docs/id/hooks#exit-code-2). Ketika hook plugin memblokir dengan cara ini dan stderr-nya adalah pesan pemblokiran, kesalahan berakhir dengan `This hook comes from the <plugin> plugin.` sehingga Anda tahu plugin mana yang harus dinonaktifkan atau diperbaiki. Sebelum v2.1.281, kesalahan tidak menyebutkan plugin.

705 

706Jika pesan itu menunjukkan path plugin terpotong di spasi, terapkan [perbaikan `${CLAUDE_PLUGIN_ROOT}` yang tidak dikutip](#hook-error-notices-in-the-transcript).

707 

698<h4 id="hook-loads-but-never-fires">708<h4 id="hook-loads-but-never-fires">

699 Hook loads but never fires709 Hook loads but never fires

700</h4>710</h4>

prompt-caching.md +30 −18

Details

37Dua pengaturan tidak muncul dalam tabel layer tetapi masih mempengaruhi apa yang tetap di-cache:37Dua pengaturan tidak muncul dalam tabel layer tetapi masih mempengaruhi apa yang tetap di-cache:

38 38 

39* **Model**: setiap model memiliki cache-nya sendiri. Mengganti model menghitung ulang seluruh permintaan bahkan ketika kontennya identik. Lihat [Switching models](#switching-models) di bawah.39* **Model**: setiap model memiliki cache-nya sendiri. Mengganti model menghitung ulang seluruh permintaan bahkan ketika kontennya identik. Lihat [Switching models](#switching-models) di bawah.

40* **Effort level**: pada sebagian besar model, setiap effort level memiliki cache-nya sendiri, jadi mengubah effort di tengah sesi menghitung ulang seluruh permintaan. Pada Opus 5.5 dan Fable 5.1 dengan API key atau langganan Claude, cache tetap utuh secara default. Lihat [Changing effort level](#changing-effort-level) di bawah.40* **Effort level**: pada sebagian besar model, setiap effort level memiliki cache-nya sendiri, jadi mengubah effort di tengah sesi menghitung ulang seluruh permintaan. Pada Opus 5.5, Sonnet 5.5, dan Fable 5.1 dengan API key atau langganan Claude, cache tetap utuh secara default. Lihat [Changing effort level](#changing-effort-level) di bawah.

41 41 

42<Tip>42<Tip>

43 Pilih model dan effort level Anda di awal sesi, kemudian simpan `/compact` untuk istirahat alami di antara tugas. Semakin sedikit perubahan yang Anda buat di tengah tugas, semakin tinggi cache hit rate Anda.43 Pilih model dan effort level Anda di awal sesi, kemudian simpan `/compact` untuk istirahat alami di antara tugas. Semakin sedikit perubahan yang Anda buat di tengah tugas, semakin tinggi cache hit rate Anda.


75* [Switching models](#switching-models)75* [Switching models](#switching-models)

76* [Changing effort level](#changing-effort-level)76* [Changing effort level](#changing-effort-level)

77* [Turning on fast mode](#turning-on-fast-mode)77* [Turning on fast mode](#turning-on-fast-mode)

78* [Connecting or disconnecting an MCP server](#connecting-or-disconnecting-an-mcp-server)78* [Connecting or removing an MCP server](#connecting-or-removing-an-mcp-server)

79* [Enabling or disabling a plugin](#enabling-or-disabling-a-plugin)79* [Enabling or disabling a plugin](#enabling-or-disabling-a-plugin)

80* [Denying an entire tool](#denying-an-entire-tool)80* [Denying an entire tool](#denying-an-entire-tool)

81* [Compacting the conversation](#compacting-the-conversation)81* [Compacting the conversation](#compacting-the-conversation)


96 96 

97[`opusplan` model setting](/docs/id/model-config#opusplan-model-setting) diselesaikan ke Opus selama plan mode dan Sonnet selama eksekusi, jadi setiap toggle plan-mode adalah pergantian model dan memulai cache segar.97[`opusplan` model setting](/docs/id/model-config#opusplan-model-setting) diselesaikan ke Opus selama plan mode dan Sonnet selama eksekusi, jadi setiap toggle plan-mode adalah pergantian model dan memulai cache segar.

98 98 

99[Automatic model fallback](/docs/id/model-config#automatic-model-fallback) pada model Fable, Opus 5.5, dan Opus 5 juga merupakan pergantian model. Ketika pengklasifikasi keamanan menandai permintaan dalam kategori yang memiliki model fallback, Claude Code menjalankan kembali permintaan pada model tersebut dan sesi berlanjut di sana.99[Automatic model fallback](/docs/id/model-config#automatic-model-fallback) pada model Fable, Opus 5.5, Sonnet 5.5, dan Opus 5 juga merupakan pergantian model. Ketika pengklasifikasi keamanan menandai permintaan dalam kategori yang memiliki model fallback, Claude Code menjalankan kembali permintaan pada model tersebut dan sesi berlanjut di sana.

100 100 

101Ketika frontmatter skill atau command menamai [`model`](/docs/id/skills#frontmatter-reference) selain model saat ini sesi, putaran itu juga merupakan pergantian model: permintaan berikutnya membaca seluruh riwayat percakapan tanpa cache hits. Model sesi dilanjutkan pada prompt Anda berikutnya. Skill `context: fork` menetapkan [model subagent yang di-fork](/docs/id/skills#run-skills-in-a-subagent) sebagai gantinya.101Ketika frontmatter skill atau command menamai [`model`](/docs/id/skills#frontmatter-reference) selain model saat ini sesi, putaran itu juga merupakan pergantian model: permintaan berikutnya membaca seluruh riwayat percakapan tanpa cache hits. Model sesi dilanjutkan pada prompt Anda berikutnya. Skill `context: fork` menetapkan [model subagent yang di-fork](/docs/id/skills#run-skills-in-a-subagent) sebagai gantinya.

102 102 


106 106 

107Pada sebagian besar model, mengubah [effort level](/docs/id/model-config#adjust-effort-level) di tengah sesi berarti permintaan berikutnya membaca seluruh riwayat percakapan tanpa cache hits. Saat cache masih hangat, Claude Code meminta Anda untuk mengonfirmasi perubahan terlebih dahulu.107Pada sebagian besar model, mengubah [effort level](/docs/id/model-config#adjust-effort-level) di tengah sesi berarti permintaan berikutnya membaca seluruh riwayat percakapan tanpa cache hits. Saat cache masih hangat, Claude Code meminta Anda untuk mengonfirmasi perubahan terlebih dahulu.

108 108 

109Pada Opus 5.5 dan Fable 5.1 dengan API key atau langganan Claude, mengubah effort menjaga cache, dan Claude Code menerapkan level baru tanpa bertanya. Ini tidak berlaku pada Amazon Bedrock, Google Cloud's Agent Platform, atau [Claude apps gateway](/docs/id/claude-apps-gateway), atau ketika Anda menetapkan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) atau organisasi Anda memiliki konfigurasi HIPAA.109Pada Opus 5.5, Sonnet 5.5, dan Fable 5.1 dengan API key atau langganan Claude, mengubah effort menjaga cache, dan Claude Code menerapkan level baru tanpa bertanya. Ini tidak berlaku pada Amazon Bedrock, Google Cloud's Agent Platform, atau [Claude apps gateway](/docs/id/claude-apps-gateway), atau ketika Anda menetapkan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) atau organisasi Anda memiliki konfigurasi HIPAA.

110 110 

111Sebelum v2.1.260, mengubah effort pada Fable 5.1 dengan API key atau langganan Claude juga membatalkan cache.111Sebelum v2.1.260, mengubah effort pada Fable 5.1 dengan API key atau langganan Claude juga membatalkan cache.

112 112 


118 118 

119Biaya berlaku sekali per percakapan. Setelah putaran fast mode pertama, Claude Code terus mengirim header dan hanya memvariasikan pengaturan kecepatan permintaan, yang bukan bagian dari cache key. Mematikan fast mode, [fallback otomatis ke kecepatan standar](/docs/id/fast-mode#handle-rate-limits) setelah rate limit, dan mengaktifkannya kembali nanti semua menjaga cache. Jika Anda [kehabisan kredit penggunaan](/docs/id/fast-mode#handle-rate-limits) di tengah sesi, Claude Code mencoba kembali setiap permintaan fast mode yang ditolak dengan kecepatan standar dengan cara yang sama, jadi fallback ini juga menjaga cache. `/clear` dan `/compact` mengatur ulang ini, karena mereka membangun kembali cache pada titik-titik tersebut bagaimanapun.119Biaya berlaku sekali per percakapan. Setelah putaran fast mode pertama, Claude Code terus mengirim header dan hanya memvariasikan pengaturan kecepatan permintaan, yang bukan bagian dari cache key. Mematikan fast mode, [fallback otomatis ke kecepatan standar](/docs/id/fast-mode#handle-rate-limits) setelah rate limit, dan mengaktifkannya kembali nanti semua menjaga cache. Jika Anda [kehabisan kredit penggunaan](/docs/id/fast-mode#handle-rate-limits) di tengah sesi, Claude Code mencoba kembali setiap permintaan fast mode yang ditolak dengan kecepatan standar dengan cara yang sama, jadi fallback ini juga menjaga cache. `/clear` dan `/compact` mengatur ulang ini, karena mereka membangun kembali cache pada titik-titik tersebut bagaimanapun.

120 120 

121<h3 id="connecting-or-disconnecting-an-mcp-server">121<h3 id="connecting-or-removing-an-mcp-server">

122 Connecting or disconnecting an MCP server122 Connecting or removing an MCP server

123</h3>123</h3>

124 124 

125Definisi tool berada di lapisan system prompt, jadi cache membatalkan ketika set definisi tool dalam permintaan berubah antar putaran. Mengalihkan [advisor tool](/docs/id/advisor) adalah pengecualian: definisinya berada setelah breakpoint cache, jadi mengaktifkan atau menonaktifkan `/advisor` menjaga prefiks yang di-cache tetap utuh. Apakah perubahan [MCP server](/docs/id/mcp) melakukan ini tergantung pada apakah toolnya ditangguhkan oleh [tool search](/docs/id/mcp#scale-with-mcp-tool-search) atau dimuat ke dalam prefiks:125Definisi tool berada di lapisan system prompt, jadi cache membatalkan ketika set definisi tool dalam permintaan berubah antar putaran. Mengalihkan [advisor tool](/docs/id/advisor) adalah pengecualian: definisinya berada setelah breakpoint cache, jadi mengaktifkan atau menonaktifkan `/advisor` menjaga prefiks yang di-cache tetap utuh. Apakah perubahan [MCP server](/docs/id/mcp) melakukan ini tergantung pada apakah [tool search](/docs/id/mcp#scale-with-mcp-tool-search) menunda tools sesi MCP, default pada model yang didukung:

126 126 

127* **Deferred tools**, default pada model yang didukung: server yang terhubung, terputus, atau mengubah daftar toolnya hanya menambahkan konten baru dan tidak mengganggu apa pun yang sudah di-cache.127* **Tools deferred**: Claude Code menjaga daftar tool dari permintaan pertama percakapan untuk seluruh percakapan, jadi server yang terhubung atau terputus di tengah sesi tidak mengganggu apa pun yang sudah di-cache. Server yang selesai terhubung setelah permintaan pertama menyediakan toolnya sebagai definisi yang ditunda yang Claude muat sesuai permintaan.

128* **Tools loaded into the prefix**: perubahan apa pun pada mereka membatalkan cache. Ini terjadi ketika [tool search tidak tersedia atau dinonaktifkan](/docs/id/mcp#configure-tool-search), seperti pada model Google Cloud's Agent Platform lebih awal dari generasi Claude 4.5, dengan gateway `ANTHROPIC_BASE_URL` kustom, atau pada [deployment Microsoft Foundry yang dihosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) setelah Claude Code mendeteksi bahwa deployment menolak tool search. Ini juga terjadi untuk server atau tool yang ditandai [`alwaysLoad`](/docs/id/mcp#exempt-a-server-from-deferral), dan untuk definisi yang disimpan di depan oleh [threshold-based loading](/docs/id/mcp#configure-tool-search).128* **Tools loaded upfront**: menambahkan definisi membatalkan cache, dan begitu juga menghapus satu dengan sengaja. Ini berlaku ketika tool search [di bawah threshold `auto`-nya, dinonaktifkan, atau tidak tersedia](/docs/id/mcp#configure-tool-search), seperti pada model Google Cloud's Agent Platform lebih awal dari generasi Claude 4.5, dengan gateway `ANTHROPIC_BASE_URL` kustom, atau pada [deployment Microsoft Foundry yang dihosting di Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) setelah Claude Code mendeteksi bahwa deployment menolak tool search.

129 129 

130Ketika tools dimuat ke dalam prefiks, 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 automatically after a transient failure](/docs/id/mcp#automatic-reconnection). Server yang terhubung juga dapat mendorong [dynamic tool update](/docs/id/mcp#dynamic-tool-updates) yang mengubah daftar toolnya.130Tanpa tool search, apakah perubahan server di tengah sesi membatalkan cache tergantung pada apa yang berubah. Untuk setiap perubahan, tabel ini memberikan apakah cache dipertahankan dan apa yang terjadi pada definisi tool dalam permintaan berikutnya.

131 

132| Perubahan di tengah sesi | Cache | Definisi tool dalam permintaan berikutnya |

133| - | - | - |

134| Server terhubung, atau [dynamic tool update](/docs/id/mcp#dynamic-tool-updates) menambahkan tools | Dibatalkan | Definisi baru ditambahkan |

135| Server keluar tanpa tindakan apa pun dari pihak Anda, seperti proses server stdio keluar | Dipertahankan | Definisi server tetap tidak berubah. Panggilan ke salah satu toolnya mengembalikan error sebagai gantinya menjalankan |

136| Server remote [reconnects automatically](/docs/id/mcp#automatic-reconnection) setelah koneksinya terputus | Dipertahankan, kecuali permintaan yang dikirim saat server reconnects menambahkan tool `WaitForMcpServers`, yang membatalkan cache sekali | Definisi server tetap tidak berubah. Permintaan yang dikirim saat server reconnects dapat menambahkan `WaitForMcpServers` ketika percakapan belum mencantumnya, dan tool kemudian tetap tercantum untuk sisa percakapan |

137| Anda menghapus tool dengan sengaja, seperti dengan [deny rule](#denying-an-entire-tool) atau dengan menonaktifkan servernya di `/mcp` | Dibatalkan | Definisi dihapus |

138 

139Ketika Anda melanjutkan percakapan yang toolnya dimuat ke dalam prefiks, salah satu server MCP-nya masih dapat terhubung saat permintaan pertama keluar. Jika transkrip mencatat definisi tool server itu, permintaan itu mencakupnya seperti yang dicatat, jadi tidak berubah ketika server selesai terhubung dengan tools yang sama.

131 140 

132Mengedit konfigurasi MCP Anda tidak dengan sendirinya mengubah cache. Konfigurasi baru hanya berlaku setelah restart, yaitu ketika server terhubung atau terputus.141Mengedit konfigurasi MCP Anda tidak dengan sendirinya mengubah cache. Konfigurasi baru hanya berlaku setelah restart, yaitu ketika server terhubung atau terputus.

133 142 


147 Plugins that provide MCP servers156 Plugins that provide MCP servers

148</h4>157</h4>

149 158 

150Ketika Anda mengaktifkan atau menonaktifkan plugin yang menyediakan [MCP servers](/docs/id/plugins/components#mcp-servers), Claude Code mengikuti aturan yang sama seperti ketika Anda [connect or disconnect an MCP server](#connecting-or-disconnecting-an-mcp-server):159Ketika Anda mengaktifkan atau menonaktifkan plugin yang menyediakan [MCP servers](/docs/id/plugins/components#mcp-servers), Claude Code mengikuti aturan yang sama seperti ketika Anda [connect or remove an MCP server](#connecting-or-removing-an-mcp-server).

151 

152* Jika Claude Code menunda tools server, itu menjaga cache.

153* Jika Claude Code memuatnya ke dalam prefiks, permintaan berikutnya membaca ulang seluruh percakapan.

154 160 

155<h4 id="code-intelligence-plugins">161<h4 id="code-intelligence-plugins">

156 Code intelligence plugins162 Code intelligence plugins


244 Mengedit file di repositori Anda250 Mengedit file di repositori Anda

245</h3>251</h3>

246 252 

247Konten file memasuki konteks hanya ketika Claude membacanya, dan pembacaan menambahkan ke percakapan. Mengedit file yang sebelumnya dibaca Claude tidak secara retroaktif mengubah pembacaan sebelumnya dalam riwayat. Sebaliknya, Claude Code menambahkan `<system-reminder>` yang mencatat file berubah, dan Claude membacanya kembali jika diperlukan.253Konten file memasuki konteks hanya ketika Claude membacanya, dan pembacaan menambahkan ke percakapan. Mengedit file yang sebelumnya dibaca Claude tidak secara retroaktif mengubah pembacaan sebelumnya dalam riwayat. Sebaliknya, Claude Code menambahkan [`<system-reminder>`](/docs/id/glossary#system-reminder) yang mencatat file berubah, dan Claude membacanya kembali jika diperlukan.

248 254 

249<h3 id="editing-claude-md-mid-session">255<h3 id="editing-claude-md-mid-session">

250 Mengedit CLAUDE.md di tengah sesi256 Mengedit CLAUDE.md di tengah sesi


354 Cakupan cache360 Cakupan cache

355</h2>361</h2>

356 362 

357Di Claude Code, cache secara efektif dicakup ke satu mesin dan direktori. Setiap percakapan membawa direktori kerja, platform, shell, dan versi OS, dan prompt sistem menamai jalur auto-memory Anda, jadi dua sesi di direktori berbeda membangun prefix berbeda dan melewatkan cache satu sama lain. Itu termasuk worktrees dari repositori yang sama, karena setiap worktree memiliki direktori kerjanya sendiri.363Di Claude Code, cache secara efektif dicakup ke satu mesin dan direktori. Prompt sistem menanamkan jalur auto memory Anda, dan percakapan dibuka dengan pengumuman direktori kerja, platform, shell, dan versi OS. Dua sesi di direktori berbeda oleh karena itu membangun prefix berbeda dan melewatkan cache satu sama lain.

358 364 

359Sesi yang Anda jalankan secara paralel di direktori yang sama membangun prefix yang cocok dan membaca cache satu sama lain. Sesi berurutan berbagi prefix hanya ketika snapshot status git yang diambil pada startup cocok, karena setiap percakapan juga membawa cabang dan commit terbaru dari snapshot itu.365Sesi yang Anda jalankan secara paralel di direktori yang sama membangun prefix yang cocok dan membaca cache satu sama lain. Sesi berurutan berbagi prefix hanya ketika snapshot status git yang diambil pada startup cocok, karena setiap percakapan juga membawa cabang dan commit terbaru dari snapshot itu.

360 366 

361Cache API yang mendasarinya lebih luas. Cache diisolasi di antara organisasi, dan pada beberapa penyedia, [di antara workspace dalam organisasi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-storage-and-sharing). Dalam batas-batas itu, setiap dua permintaan dengan model dan prefix yang sama membaca cache yang sama. Untuk pemanggil Agent SDK yang menjalankan armada proses otomatis, lihat [improve prompt caching across users and machines](/docs/id/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) untuk menekan bagian per-mesin dari prompt sistem dan berbagi cache di seluruh mesin.367Cache API yang mendasarinya lebih luas. Cache diisolasi di antara organisasi, dan pada beberapa penyedia, [di antara workspace dalam organisasi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-storage-and-sharing). Dalam batas-batas itu, setiap dua permintaan dengan model dan prefix yang sama membaca cache yang sama. Untuk pemanggil Agent SDK yang menjalankan armada proses otomatis, lihat [improve prompt caching across users and machines](/docs/id/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) untuk memindahkan lokasi auto memory keluar dari prompt sistem dan berbagi entri cache prompt sistem di seluruh pengguna dan mesin.

362 368 

363<h2 id="check-cache-performance">369<h2 id="check-cache-performance">

364 Periksa kinerja cache370 Periksa kinerja cache


405| Variable | Efek |411| Variable | Efek |

406| - | - |412| - | - |

407| `DISABLE_PROMPT_CACHING` | Nonaktifkan untuk semua model |413| `DISABLE_PROMPT_CACHING` | Nonaktifkan untuk semua model |

408| `DISABLE_PROMPT_CACHING_HAIKU` | Nonaktifkan untuk Haiku saja |414| `DISABLE_PROMPT_CACHING_HAIKU` | Nonaktifkan untuk model Haiku default |

409| `DISABLE_PROMPT_CACHING_SONNET` | Nonaktifkan untuk Sonnet saja |415| `DISABLE_PROMPT_CACHING_SONNET` | Nonaktifkan untuk Sonnet saja |

410| `DISABLE_PROMPT_CACHING_OPUS` | Nonaktifkan untuk Opus saja |416| `DISABLE_PROMPT_CACHING_OPUS` | Nonaktifkan untuk Opus saja |

411| `DISABLE_PROMPT_CACHING_FABLE` | Nonaktifkan untuk Fable saja |417| `DISABLE_PROMPT_CACHING_FABLE` | Nonaktifkan untuk Fable saja |

412 418 

419`DISABLE_PROMPT_CACHING_HAIKU` berlaku untuk model Haiku default, model yang alias `haiku` selesaikan. Ini menonaktifkan caching di mana pun model itu berjalan, termasuk percakapan utama ketika itu adalah model utama Anda. Mencakup percakapan utama memerlukan Claude Code v2.1.283 atau lebih baru.

420 

421Variabel ini juga mencakup model latar belakang yang Anda atur dengan variabel `ANTHROPIC_SMALL_FAST_MODEL` yang sudah usang, ketika model itu berbeda dari model utama Anda.

422 

423Versi Haiku yang berbeda yang Anda pin sebagai model utama Anda tetap mempertahankan caching; atur `DISABLE_PROMPT_CACHING` untuk menonaktifkan caching untuk itu.

424 

413Untuk menetapkan kebijakan caching di seluruh organisasi, masukkan salah satu dari ini atau [TTL variables](#cache-lifetime) dalam blok `env` dari [managed settings](/docs/id/managed-settings). Untuk penggunaan normal, biarkan caching diaktifkan.425Untuk menetapkan kebijakan caching di seluruh organisasi, masukkan salah satu dari ini atau [TTL variables](#cache-lifetime) dalam blok `env` dari [managed settings](/docs/id/managed-settings). Untuk penggunaan normal, biarkan caching diaktifkan.

414 426 

415<h2 id="related-resources">427<h2 id="related-resources">

quickstart.md +4 −2

Details

27 Langkah 1: Instal Claude Code27 Langkah 1: Instal Claude Code

28</h2>28</h2>

29 29 

30Untuk menginstal Claude Code, gunakan salah satu metode berikut:30Untuk menginstal Claude Code, buka terminal dan jalankan perintah untuk sistem Anda. Jika Anda belum pernah menggunakan terminal sebelumnya, [panduan terminal](/docs/id/terminal-guide) menunjukkan cara membukanya dan menempel perintahnya.

31 31 

32<Tabs>32<Tabs>

33 <Tab title="Native Install (Direkomendasikan)">33 <Tab title="Native Install (Direkomendasikan)">


49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50 ```50 ```

51 51 

52 Ketika penginstal selesai, buka jendela terminal baru dan jalankan `claude --version`. Instalasi yang berfungsi dengan baik mencetak nomor versi. Jika shell Anda mengatakan `claude` tidak ditemukan atau tidak dikenali, direktori instalasi belum ada di PATH Anda: lihat [Perbaiki PATH Anda](/docs/id/troubleshoot-install#command-not-found-claude-after-installation).

53 

52 Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell. Prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.54 Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell. Prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.

53 55 

54 Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan curl lainnya, lihat [Troubleshoot installation](/docs/id/troubleshoot-install#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.56 Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan curl lainnya, lihat [Troubleshoot installation](/docs/id/troubleshoot-install#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.


187 189 

188Claude Code menemukan file yang sesuai dan menampilkan perubahan kepada Anda. Jika diminta sebelum membuat perubahan, pilih **Ya** untuk menyetujui.190Claude Code menemukan file yang sesuai dan menampilkan perubahan kepada Anda. Jika diminta sebelum membuat perubahan, pilih **Ya** untuk menyetujui.

189 191 

190Mode Auto adalah [mode izin awal bawaan](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk sesi terminal interaktif pada paket Pro, Max, dan Team: pengklasifikasi meninjau tindakan alih-alih Anda, dan Claude mengedit sebagian besar file dan menjalankan sebagian besar perintah tanpa bertanya. Pada paket lain, mode Manual adalah mode izin awal bawaan. Untuk sesi yang Anda mulai tepat setelah instalasi, lihat [Sesi pertama setelah instalasi atau upgrade](/docs/id/env-vars#first-session-after-an-install-or-upgrade).192Dengan Claude Code v2.1.283 atau lebih baru, mode auto adalah [mode izin awal bawaan](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk sesi terminal interaktif: pengklasifikasi meninjau tindakan alih-alih Anda, dan Claude mengedit sebagian besar file dan menjalankan sebagian besar perintah tanpa bertanya. Pada versi sebelumnya, mode auto adalah mode izin awal bawaan hanya pada paket Pro, Max, dan Team. Untuk sesi yang Anda mulai tepat setelah instalasi, lihat [Sesi pertama setelah instalasi atau upgrade](/docs/id/env-vars#first-session-after-an-install-or-upgrade).

191 193 

192<Note>194<Note>

193 Pengaturan Anda atau organisasi Anda dapat menetapkan mode izin awal yang berbeda. [Mode izin mana yang dimulai sesi](/docs/id/permission-modes#which-mode-a-session-starts-in) mencantumkan apa yang dilakukan. Tekan `Shift+Tab` kapan saja untuk beralih mode izin sesi yang Anda gunakan.195 Pengaturan Anda atau organisasi Anda dapat menetapkan mode izin awal yang berbeda. [Mode izin mana yang dimulai sesi](/docs/id/permission-modes#which-mode-a-session-starts-in) mencantumkan apa yang dilakukan. Tekan `Shift+Tab` kapan saja untuk beralih mode izin sesi yang Anda gunakan.

remote-control.md +172 −180

Details

6 6 

7> Lanjutkan sesi Claude Code lokal dari ponsel, tablet, atau browser apa pun menggunakan Remote Control. Bekerja dengan claude.ai/code dan aplikasi Claude mobile.7> Lanjutkan sesi Claude Code lokal dari ponsel, tablet, atau browser apa pun menggunakan Remote Control. Bekerja dengan claude.ai/code dan aplikasi Claude mobile.

8 8 

9<Note>

10 Remote Control tersedia di semua paket. Di Tim dan Enterprise, Remote Control dimatikan secara default sampai Pemilik mengaktifkan toggle Remote Control di [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).

11</Note>

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.9Remote 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 10 

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:11Ketika 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:


17* **Gunakan lingkungan lokal penuh Anda dari jarak jauh**: sistem file, [MCP servers](/docs/id/mcp), alat, dan konfigurasi proyek Anda tetap tersedia, dan mengetik `@` melengkapi otomatis jalur file dari proyek lokal Anda.13* **Gunakan lingkungan lokal penuh Anda dari jarak jauh**: sistem file, [MCP servers](/docs/id/mcp), alat, dan konfigurasi proyek Anda tetap tersedia, dan mengetik `@` melengkapi otomatis jalur file dari proyek lokal Anda.

18* **Bekerja dari kedua permukaan sekaligus**: percakapan dan kemajuan [subagents](/docs/id/sub-agents) dan [dynamic workflows](/docs/id/workflows) tetap tersinkronisasi di semua perangkat yang terhubung, sehingga Anda dapat mengirim pesan dari terminal, browser, dan ponsel Anda secara bergantian.14* **Bekerja dari kedua permukaan sekaligus**: percakapan dan kemajuan [subagents](/docs/id/sub-agents) dan [dynamic workflows](/docs/id/workflows) tetap tersinkronisasi di semua perangkat yang terhubung, sehingga Anda dapat mengirim pesan dari terminal, browser, dan ponsel Anda secara bergantian.

19* **Kirim gambar dan file dari ponsel atau browser Anda**: lampirkan foto atau file di aplikasi Claude atau di claude.ai/code, dengan atau tanpa keterangan. Claude melihat foto yang dilampirkan secara langsung sebagai bagian dari pesan Anda. Claude Code mengunduh file lain ke mesin Anda dan meneruskannya ke Claude sebagai referensi file `@`.15* **Kirim gambar dan file dari ponsel atau browser Anda**: lampirkan foto atau file di aplikasi Claude atau di claude.ai/code, dengan atau tanpa keterangan. Claude melihat foto yang dilampirkan secara langsung sebagai bagian dari pesan Anda. Claude Code mengunduh file lain ke mesin Anda dan meneruskannya ke Claude sebagai referensi file `@`.

20* **Bertahan dari gangguan**: jika laptop Anda tidur atau jaringan Anda terputus, Claude Code terhubung kembali secara otomatis ketika mesin Anda kembali online. Saat koneksi sedang dibangun kembali, Claude Code mengantrikan pesan, prompt izin, dan pembaruan status dari subagents dan workflows, dan mengirimkannya setelah koneksi pulih.16* **Bertahan dari gangguan**: jika laptop Anda tidur atau jaringan Anda terputus, Claude Code terhubung kembali secara otomatis ketika mesin Anda kembali online.

21 

22Tidak seperti [Claude Code di web](/docs/id/claude-code-on-the-web), yang berjalan di infrastruktur cloud, sesi Remote Control berjalan langsung di mesin Anda dan berinteraksi dengan sistem file lokal Anda. Antarmuka web dan mobile hanyalah jendela ke sesi lokal tersebut.

23 17 

24Halaman ini mencakup pengaturan, cara memulai dan terhubung ke sesi, dan bagaimana Remote Control dibandingkan dengan Claude Code di web.18Tidak seperti [sesi cloud](/docs/id/claude-code-on-the-web), yang berjalan di infrastruktur cloud, sesi Remote Control berjalan langsung di mesin Anda dan berinteraksi dengan sistem file lokal Anda. Antarmuka web dan mobile hanyalah jendela ke sesi lokal tersebut, jadi komputer Anda harus tetap menyala dan proses `claude` harus terus berjalan.

25 19 

26<h2 id="requirements">20<h2 id="requirements">

27 Persyaratan21 Persyaratan


33* **Autentikasi**: jalankan `claude` dan gunakan `/login` untuk masuk melalui claude.ai jika Anda belum melakukannya. Tanpa login yang memenuhi syarat, `claude remote-control` keluar dengan kesalahan, sementara `claude --remote-control` tetap memulai sesi interaktif dan menampilkan notifikasi kegagalan Remote Control segera setelah peluncuran.27* **Autentikasi**: jalankan `claude` dan gunakan `/login` untuk masuk melalui claude.ai jika Anda belum melakukannya. Tanpa login yang memenuhi syarat, `claude remote-control` keluar dengan kesalahan, sementara `claude --remote-control` tetap memulai sesi interaktif dan menampilkan notifikasi kegagalan Remote Control segera setelah peluncuran.

34* **Titik akhir API**: tidak tersedia di salah satu konfigurasi berikut:28* **Titik akhir API**: tidak tersedia di salah satu konfigurasi berikut:

35 * Anda menggunakan Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry.29 * Anda menggunakan Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry.

36 * Anda menunjukkan [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy. Batalkan pengaturan variabel untuk menggunakan Remote Control. Sebelum v2.1.196, Claude Code memungkinkan Remote Control dengan `ANTHROPIC_BASE_URL` khusus.30 * Anda menunjukkan [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy. Batalkan pengaturan variabel untuk menggunakan Remote Control.

37 * Anda masuk melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway) perusahaan.31 * Anda masuk melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway) perusahaan.

38* **Evaluasi bendera fitur**: [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, dan `DISABLE_GROWTHBOOK`](/docs/id/env-vars) masing-masing menonaktifkan evaluasi bendera fitur yang bergantung pada ketersediaan Remote Control. Batalkan pengaturan variabel di mana pun variabel tersebut diatur, di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](/docs/id/settings-reference#all-settings), untuk menggunakan Remote Control.32* **Evaluasi bendera fitur**: jika Anda menetapkan [variabel lingkungan yang mematikan evaluasi bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), apakah Remote Control tersedia tergantung pada yang mana:

39* **Kepercayaan ruang kerja**: jalankan `claude` di direktori proyek Anda setidaknya sekali untuk menerima dialog kepercayaan ruang kerja. Dialog kepercayaan startup tidak pernah menyimpan kepercayaan untuk direktori beranda Anda, jadi mulai Remote Control dari direktori proyek.33 * Jika Anda menetapkan `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK`, Remote Control tidak tersedia. Batalkan pengaturan variabel di mana pun variabel tersebut diatur, di lingkungan shell Anda atau di blok `env` dari [file `settings.json`](/docs/id/settings-reference#all-settings), untuk menggunakan Remote Control.

34 * Jika Anda hanya menetapkan `DISABLE_TELEMETRY` atau `DO_NOT_TRACK`, Remote Control tetap tersedia kecuali organisasi Anda memerlukan [Perangkat Terpercaya](#trusted-devices). Jika demikian, batalkan pengaturan variabel untuk menggunakan Remote Control. Menggunakan Remote Control dengan salah satu variabel yang ditetapkan memerlukan Claude Code v2.1.283 atau lebih baru.

35* **Kepercayaan ruang kerja**: di direktori yang belum Anda percayai, `claude remote-control` mencetak apa yang dipercayai dan meminta `Trust <directory>? [y/N]` sebelum dimulai. Menjawab `y` menyimpan pilihan, kecuali di direktori beranda Anda, di mana kepercayaan tidak pernah disimpan dan pertanyaan kembali pada setiap run. Ketika input atau output standarnya bukan terminal, perintah tidak dapat bertanya dan keluar dengan kesalahan [`Workspace not trusted`](/docs/id/errors#workspace-not-trusted-when-starting-remote-control).

40 36 

41<h2 id="start-a-remote-control-session">37<h2 id="start-a-remote-control-session">

42 Mulai sesi Remote Control38 Mulai sesi Remote Control

43</h2>39</h2>

44 40 

45Anda dapat memulai sesi Remote Control dari CLI atau ekstensi VS Code. CLI menawarkan tiga mode invokasi; VS Code menggunakan perintah `/remote-control`.41Anda dapat memulai sesi Remote Control dari CLI, [aplikasi Claude Desktop](/docs/id/desktop), atau ekstensi VS Code. CLI menawarkan tiga mode invokasi; aplikasi Desktop dan VS Code menggunakan perintah `/remote-control`.

46 42 

47<Tabs>43<Tabs>

48 <Tab title="Mode server">44 <Tab title="Server mode">

49 Di direktori proyek Anda, jalankan:45 Di direktori proyek Anda, jalankan:

50 46 

51 ```bash theme={null}47 ```bash theme={null}

52 claude remote-control48 claude remote-control

53 ```49 ```

54 50 

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

56 52 

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

58 54 

59 Bendera yang tersedia:55 Flag yang tersedia:

60 56 

61 | Bendera | Deskripsi |57 | Flag | Deskripsi |

62 | - | - |58 | - | - |

63 | `--name "My Project"` | Tetapkan judul sesi khusus yang terlihat dalam daftar sesi di claude.ai/code. |59 | `--name "My Project"` | Tetapkan judul sesi khusus yang terlihat dalam daftar sesi di claude.ai/code. |

64 | `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default adalah nama mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |60 | `--remote-control-session-name-prefix <prefix>` | Awalan untuk nama sesi yang dibuat secara otomatis ketika tidak ada nama eksplisit yang ditetapkan. Default ke nama host mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Atur `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` untuk efek yang sama. |

65 | `-c`, `--continue` | Bawa kembali sesi yang dimulai server terakhir di direktori ini, alih-alih membuat yang baru. Lihat [Resume sesi setelah menghentikan server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--session-id`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru; versi sebelumnya menolak bendera sebagai argumen yang tidak dikenal. |61 | `-c`, `--continue` | Bawa kembali sesi yang dimulai server terakhir di direktori ini, bukan membuat yang baru. Lihat [Resume sessions after stopping the server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--session-id`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru. |

66 | `--session-id <id>` | Bawa kembali satu sesi berdasarkan ID-nya. Lihat [Resume sesi setelah menghentikan server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--continue`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru; versi sebelumnya menolak bendera sebagai argumen yang tidak dikenal. |62 | `--session-id <id>` | Bawa kembali satu sesi berdasarkan ID-nya. Lihat [Resume sessions after stopping the server](#resume-sessions-after-stopping-the-server). Tidak dapat digabungkan dengan `--continue`, `--spawn`, `--capacity`, atau `--create-session-in-dir`. Memerlukan Claude Code v2.1.200 atau lebih baru. |

67 | `--spawn <mode>` | Bagaimana server membuat sesi.<br />• `same-dir` (default): semua sesi berbagi direktori kerja saat ini, sehingga dapat bertentangan jika mengedit file yang sama.<br />• `worktree`: setiap sesi sesuai permintaan mendapatkan [git worktree](/docs/id/worktrees) miliknya sendiri. Memerlukan repositori git.<br />• `session`: mode sesi tunggal. Melayani tepat satu sesi dan menolak koneksi tambahan. Atur saat startup saja.<br />Tekan `w` saat runtime untuk beralih antara `same-dir` dan `worktree`. |63 | `--spawn <mode>` | Bagaimana server membuat sesi.<br />• `same-dir` (default): semua sesi berbagi direktori kerja saat ini, sehingga dapat bertentangan jika mengedit file yang sama.<br />• `worktree`: setiap sesi sesuai permintaan mendapatkan [git worktree](/docs/id/worktrees) miliknya sendiri. Memerlukan repositori git.<br />• `session`: mode sesi tunggal. Melayani tepat satu sesi dan menolak koneksi tambahan. Atur saat startup saja.<br />Tekan `w` saat runtime untuk beralih antara `same-dir` dan `worktree`. |

68 | `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |64 | `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |

69 | `--[no-]create-session-in-dir` | Buat sesi sebelumnya di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default. Jika Anda melewatkan `--no-create-session-in-dir` untuk memulai tanpa ada, Claude Code mengarsipkan sesi server ketika Anda menghentikannya, jadi tidak ada yang dapat [dilanjutkan](#resume-sessions-after-stopping-the-server). |65 | `--[no-]create-session-in-dir` | Buat sesi di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default. Jika Anda melewatkan `--no-create-session-in-dir` untuk memulai tanpa sesi, Claude Code mengarsipkan sesi server saat Anda menghentikannya, sehingga tidak ada yang dapat [dilanjutkan](#resume-sessions-after-stopping-the-server). |

70 | `--permission-mode <mode>` | Atur [mode izin](/docs/id/permission-modes) awal untuk sesi server, seperti `acceptEdits`. Menerima `manual` sebagai alias untuk `default`; mode yang tidak dikenali menghentikan server saat startup dan mencantumkan mode yang valid. |66 | `--permission-mode <mode>` | Atur [mode izin](/docs/id/permission-modes) awal untuk sesi server, seperti `acceptEdits`. Menerima `manual` sebagai alias untuk `default`; mode yang tidak dikenali menghentikan server saat startup dan mencantumkan mode yang valid. |

67 | `-d`, `--debug[=<filter>]` | Aktifkan logging debug untuk server, secara opsional disaring berdasarkan kategori. Lewatkan filter hanya dalam bentuk `=`, seperti `--debug=api,hooks`. Memerlukan Claude Code v2.1.282 atau lebih baru; versi sebelumnya menolak flag sebagai argumen yang tidak dikenal. |

71 | `--debug-file <path>` | Tulis log debug ke file yang diberikan. |68 | `--debug-file <path>` | Tulis log debug ke file yang diberikan. |

72 | `--verbose` | Tampilkan log koneksi dan sesi terperinci. |69 | `--verbose` | Tampilkan log koneksi dan sesi terperinci. |

73 | `--sandbox` / `--no-sandbox` | Aktifkan atau nonaktifkan [sandboxing](/docs/id/sandboxing) untuk isolasi sistem file dan jaringan. Dimatikan secara default. |70 | `--sandbox` / `--no-sandbox` | Aktifkan atau nonaktifkan [sandboxing](/docs/id/sandboxing) untuk isolasi sistem file dan jaringan. Dimatikan secara default. |

74 71 

75 Berikan bendera ini setelah `remote-control`.72 Berikan flag ini setelah `remote-control`.

76 73 

77 Jika Anda melewatkan bendera global `claude` sebelum `remote-control`, atau skrip wrapper menambahkan satu, Claude Code tidak membawa bendera ke sesi yang dibuat server. Claude Code membiarkan bendera melewati hanya ketika menjatuhkannya diketahui tidak mengubah apa yang dapat dilakukan sesi tersebut, seperti `--verbose` atau `--model`. Untuk bendera lainnya, seperti `--settings`, Claude Code [menolak untuk memulai](/docs/id/errors#not-carried-over-to-the-sessions-remote-control-starts) dan menyebutkan bendera yang akan dihapus. Sebelum v2.1.248, opsi apa pun sebelum `remote-control` membuat Claude Code menolak bendera setelahnya dengan kesalahan `unknown option`.74 Jika Anda melewatkan flag global `claude` sebelum `remote-control`, atau skrip wrapper menambahkan satu, Claude Code tidak membawa flag ke sesi yang dibuat server. Claude Code membiarkan flag melewati hanya ketika menjatuhkannya diketahui tidak mengubah apa yang dapat dilakukan sesi tersebut, seperti `--verbose` atau `--model`. Untuk flag lainnya, seperti `--settings`, Claude Code [menolak untuk memulai](/docs/id/errors#not-carried-over-to-the-sessions-remote-control-starts) dan menyebutkan flag yang akan dihapus.

78 75 

79 Claude Code memeriksa kelayakan Remote Control sebelum mencetak bantuan, jadi `claude remote-control --help` mengembalikan kesalahan alih-alih daftar bendera ini ketika Anda tidak masuk dengan akun yang memenuhi syarat.76 Claude Code memeriksa kelayakan Remote Control sebelum mencetak bantuan, jadi `claude remote-control --help` mengembalikan kesalahan bukan daftar flag ini ketika Anda tidak masuk dengan akun yang memenuhi syarat.

80 </Tab>77 </Tab>

81 78 

82 <Tab title="Sesi interaktif">79 <Tab title="Interactive session">

83 Untuk memulai sesi Claude Code interaktif normal dengan Remote Control diaktifkan, gunakan bendera `--remote-control` (atau `--rc`):80 Untuk memulai sesi Claude Code interaktif normal dengan Remote Control diaktifkan, gunakan flag `--remote-control` (atau `--rc`):

84 81 

85 ```bash theme={null}82 ```bash theme={null}

86 claude --remote-control83 claude --remote-control

87 ```84 ```

88 85 

89 Secara opsional berikan nama untuk sesi:86 Secara opsional lewatkan nama untuk sesi:

90 87 

91 ```bash theme={null}88 ```bash theme={null}

92 claude --remote-control "My Project"89 claude --remote-control "My Project"

93 ```90 ```

94 91 

95 Ini memberi Anda sesi interaktif penuh di terminal Anda yang juga dapat Anda kontrol dari claude.ai atau aplikasi Claude. Tidak seperti `claude remote-control` (mode server), Anda dapat mengetik pesan secara lokal sementara sesi juga tersedia dari jarak jauh.92 Ini memberi Anda sesi interaktif penuh di terminal Anda yang juga dapat Anda kontrol dari claude.ai atau aplikasi Claude. Tidak seperti `claude remote-control` (server mode), Anda dapat mengetik pesan secara lokal sementara sesi juga tersedia dari jarak jauh.

96 </Tab>93 </Tab>

97 94 

98 <Tab title="Dari sesi yang ada">95 <Tab title="From an existing session">

99 Jika Anda sudah dalam sesi Claude Code dan ingin melanjutkannya dari jarak jauh, gunakan perintah `/remote-control` (atau `/rc`):96 Jika Anda sudah berada dalam sesi Claude Code dan ingin melanjutkannya dari jarak jauh, gunakan perintah `/remote-control` (atau `/rc`):

100 97 

101 ```text theme={null}98 ```text theme={null}

102 /remote-control99 /remote-control

103 ```100 ```

104 101 

105 Berikan nama sebagai argumen untuk menetapkan judul sesi khusus:102 Lewatkan nama sebagai argumen untuk menetapkan judul sesi khusus:

106 103 

107 ```text theme={null}104 ```text theme={null}

108 /remote-control My Project105 /remote-control My Project

109 ```106 ```

110 107 

111 Ini memulai sesi Remote Control yang membawa riwayat percakapan saat ini.108 Ini memulai sesi Remote Control yang membawa riwayat percakapan Anda saat ini.

112 109 

113 Sampai Anda menerima konfirmasi satu kali Remote Control, dialog muncul sebelum `/remote-control` terhubung. Pilih **Enable Remote Control** untuk menerima dan terhubung. Jika Anda memilih **Never mind** atau menekan Esc, Claude Code tidak terhubung dan menanyakan lagi saat berikutnya Anda menjalankan `/remote-control`.110 Sampai Anda menerima konfirmasi satu kali Remote Control, dialog muncul sebelum `/remote-control` terhubung. Pilih **Enable Remote Control** untuk menerima dan terhubung. Jika Anda memilih **Never mind** atau menekan Esc, Claude Code tidak terhubung dan menanyakan lagi saat Anda menjalankan `/remote-control` berikutnya.

114 111 

115 Bendera `--verbose`, `--sandbox`, dan `--no-sandbox` tidak tersedia dengan perintah ini.112 Flag `--verbose`, `--sandbox`, dan `--no-sandbox` tidak tersedia dengan perintah ini.

116 </Tab>113 </Tab>

117 114 

118 <Tab title="VS Code">115 <Tab title="VS Code">

119 Di [ekstensi VS Code Claude Code](/docs/id/vs-code), ketik `/remote-control` atau `/rc` di kotak prompt.116 Di [ekstensi Claude Code VS Code](/docs/id/vs-code), ketik `/remote-control` atau `/rc` di kotak prompt.

120 117 

121 ```text theme={null}118 ```text theme={null}

122 /remote-control119 /remote-control


126 123 

127 Tidak seperti CLI, perintah VS Code tidak menerima argumen nama atau menampilkan kode QR. Judul sesi berasal dari riwayat percakapan Anda atau prompt pertama.124 Tidak seperti CLI, perintah VS Code tidak menerima argumen nama atau menampilkan kode QR. Judul sesi berasal dari riwayat percakapan Anda atau prompt pertama.

128 </Tab>125 </Tab>

129</Tabs>

130 126 

131<h3 id="check-connection-status">127 <Tab title="Desktop app">

132 Periksa status koneksi128 Dalam sesi lokal di [tab Code aplikasi Claude Desktop](/docs/id/desktop), ketik `/remote-control` atau `/rc` di kotak prompt.

133</h3>

134 129 

135Dalam sesi interaktif, saat Remote Control terhubung, terminal menampilkan indikator `/rc active` yang menautkan ke sesi di claude.ai. Indikator disembunyikan ketika terminal terlalu sempit untuk menampilkannya. Untuk melihat URL sesi dan kode QR untuk [terhubung dari perangkat lain](#connect-from-another-device), jalankan `/remote-control` lagi untuk membuka panel status. Panel juga memungkinkan Anda memutuskan sambungan Remote Control sementara sesi lokal Anda terus berjalan.130 ```text theme={null}

131 /remote-control

132 ```

136 133 

137<span id="session-ended-elsewhere" />Jika koneksi gagal dalam sesi interaktif, indikator berubah untuk menunjukkan kegagalan, dan Claude Code menampilkan alasan dalam notifikasi dan menambahkannya ke percakapan. Jalankan `/remote-control` untuk terhubung kembali, kecuali alasan mengatakan sesi berubah di tempat lain:134 Setelah sesi terhubung, temukan di daftar sesi di [claude.ai/code](https://claude.ai/code). Untuk memutuskan sambungan, jalankan `/remote-control` lagi.

138 135 

139* **Koneksi lain mengambil alih sesi ini**: perangkat lain atau sesi Claude Code sekarang memilikinya. Jalankan `/remote-control` hanya jika Anda ingin mengambilnya kembali.136 Untuk mengaktifkan Remote Control untuk setiap sesi secara default, lihat [Enable Remote Control for all sessions](#enable-remote-control-for-all-sessions).

140* **Sesi ini diakhiri atau diarsipkan dari perangkat atau aplikasi lain**: jalankan `/remote-control` hanya jika Anda menginginkannya kembali. Claude Code membuka kembali sesi yang diarsipkan.137 </Tab>

141* **Server tidak lagi melaporkan sesi ini**: mungkin telah dihapus dari perangkat atau aplikasi lain.138</Tabs>

142 139 

143<h3 id="session-url-reminders">140<h3 id="check-connection-status">

144 Pengingat URL sesi141 Check connection status

145</h3>142</h3>

146 143 

147Saat Remote Control terhubung, Claude Code mengingatkan Anda tentang URL sesi ketika beralih ke ponsel atau browser membantu paling banyak, sehingga Anda tidak harus menemukan tautan di `/remote-control`. Pengingat muncul di atas kotak prompt pada salah satu momen ini:144Dalam sesi interaktif, saat Remote Control terhubung, terminal menampilkan indikator `/rc active` yang menautkan ke sesi di claude.ai. Indikator disembunyikan ketika terminal terlalu sempit untuk menampilkannya. Untuk melihat URL sesi dan kode QR untuk [terhubung dari perangkat lain](#connect-from-another-device), jalankan `/remote-control` lagi untuk membuka panel status. Panel juga memungkinkan Anda memutuskan sambungan Remote Control sementara sesi lokal Anda terus berjalan.

148 145 

149* **Giliran panjang**: ketika giliran berjalan lebih lama dari ambang batas yang disetel server, Claude Code menampilkan notifikasi **Still working** dengan tautan **Check in from your phone**, sehingga Anda dapat mengikuti giliran dari ponsel atau browser Anda alih-alih menunggu di terminal. Claude Code menghapusnya ketika giliran berakhir.146<span id="session-ended-elsewhere" />Jika koneksi gagal dalam sesi interaktif, indikator berubah untuk menunjukkan kegagalan, dan Claude Code menampilkan alasannya dalam notifikasi dan menambahkannya ke percakapan. Jalankan `/remote-control` untuk terhubung kembali, kecuali alasannya mengatakan sesi berubah di tempat lain:

150* **Prompt izin berulang**: setelah Anda menjawab beberapa [prompt izin](/docs/id/permissions) dalam sesi, notifikasi **Approve tool calls from your phone** menampilkan URL sesi. Claude Code menghapusnya ketika giliran berikutnya dimulai.

151 147 

152Pengingat dapat muncul di sesi apa pun yang terhubung, termasuk sesi di mana Remote Control [terhubung secara otomatis](#enable-remote-control-for-all-sessions). Mereka tidak muncul setiap kali kondisi ini terjadi, dan masing-masing hanya muncul beberapa kali total di seluruh sesi. Anda tidak dapat mengonfigurasi atau mematikannya; masing-masing menghapus sendiri.148* **Another connection took over this session**: perangkat lain atau sesi Claude Code sekarang memilikinya. Jalankan `/remote-control` hanya jika Anda ingin mengambilnya kembali.

149* **This session was ended or archived from another device or app**: jalankan `/remote-control` hanya jika Anda menginginkan sesi kembali. Claude Code membuka kembali sesi yang diarsipkan.

150* **The server no longer reports this session**: mungkin telah dihapus dari perangkat atau aplikasi lain.

153 151 

154<h3 id="connect-from-another-device">152<h3 id="connect-from-another-device">

155 Terhubung dari perangkat lain153 Connect from another device

156</h3>154</h3>

157 155 

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

159 157 

160* **Buka URL sesi** di browser apa pun untuk langsung ke sesi di [claude.ai/code](https://claude.ai/code).158* **Buka URL sesi** di browser apa pun untuk langsung ke sesi di [claude.ai/code](https://claude.ai/code).

161* **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.159* **Pindai kode QR** yang ditampilkan bersama URL sesi untuk membukanya langsung di aplikasi Claude. Dengan `claude remote-control`, tekan spacebar untuk mengalihkan tampilan kode QR.

162* **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.160* **Buka [claude.ai/code](https://claude.ai/code) atau aplikasi Claude** dan temukan sesi berdasarkan nama dalam daftar sesi. Di aplikasi Claude mobile, ketuk **Code** dalam navigasi untuk mencapai daftar sesi. Sesi Remote Control menampilkan ikon komputer dengan titik status hijau saat online.

163 161 

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

165 163 

166Judul sesi jarak jauh dipilih dalam urutan ini:164Judul sesi jarak jauh dipilih dalam urutan ini:

167 165 

1681. Nama yang Anda berikan ke `--name`, `--remote-control`, atau `/remote-control`1661. Nama yang Anda lewatkan ke `--name`, `--remote-control`, atau `/remote-control`

1692. Judul yang Anda tetapkan dengan `/rename`1672. Judul yang Anda atur dengan `/rename`

1703. Pesan bermakna terakhir dalam riwayat percakapan yang ada1683. Pesan bermakna terakhir dalam riwayat percakapan yang ada

1714. Nama yang dibuat secara otomatis seperti `myhost-graceful-unicorn`, di mana `myhost` adalah nama mesin Anda atau awalan yang Anda tetapkan dengan `--remote-control-session-name-prefix`1694. Nama yang dibuat secara otomatis seperti `myhost-graceful-unicorn`, di mana `myhost` adalah nama host mesin Anda atau awalan yang Anda atur dengan `--remote-control-session-name-prefix`

172 

173Jika Anda tidak menetapkan nama eksplisit, Claude Code memperbarui judul untuk mencerminkan prompt Anda setelah Anda mengirimnya. Claude Code mencocokkan judul yang dibuat secara otomatis dengan bahasa percakapan Anda, atau pengaturan [`language`](/docs/id/settings-reference#language) jika satu dikonfigurasi.

174 170 

175Ketika Anda mengganti nama sesi dari claude.ai atau aplikasi Claude, Claude Code juga memperbarui judul lokal yang ditampilkan di `claude --resume`. Claude Code menerapkan penggantian nama yang sama ke nama sesi yang ditampilkan di bilah prompt, dan dalam daftar `claude agents` ketika sesi [berjalan di latar belakang](/docs/id/agent-view). Sebelum v2.1.221, penggantian nama dari daftar sesi di claude.ai atau di aplikasi Claude hanya memperbarui judul, dan CLI menyimpan nama sesi sebelumnya; `/rename`, yang berjalan di CLI itu sendiri, menetapkan nama pada versi apa pun.171Jika Anda tidak menetapkan nama eksplisit, Claude Code memperbarui judul untuk mencerminkan prompt Anda setelah Anda mengirimnya. Saat Anda mengganti nama sesi dari claude.ai atau aplikasi Claude, Claude Code juga memperbarui judul lokal yang ditampilkan di `claude --resume`.

176 172 

177Jika Anda belum memiliki aplikasi Claude, jalankan `/mobile` di dalam Claude Code untuk menampilkan kode QR untuk [claude.ai/mobile](https://claude.ai/mobile), yang membuka app store yang tepat untuk ponsel Anda.173Jika Anda belum memiliki aplikasi Claude, jalankan `/mobile` di dalam Claude Code untuk menampilkan kode QR untuk [claude.ai/mobile](https://claude.ai/mobile), yang membuka app store yang tepat untuk ponsel Anda.

178 174 

179<h3 id="what-connected-devices-see">175<h3 id="what-connected-devices-see">

180 Apa yang dilihat perangkat yang terhubung176 What connected devices see

181</h3>177</h3>

182 178 

183Perangkat yang terhubung menampilkan percakapan di terminal Anda saat terjadi. Kasus-kasus ini melampaui pesan biasa:179Perangkat yang terhubung menampilkan percakapan di terminal Anda saat terjadi. Kasus-kasus ini melampaui pesan biasa:

184 180 

185* **Pemadatan dan `/clear`**: saat Claude Code [memadatkan percakapan](/docs/id/context-window#what-survives-compaction), perangkat yang terhubung menampilkan kemajuan dan kemudian di mana percakapan dipadatkan. Ketika Anda menjalankan `/clear`, percakapan direset pada perangkat yang terhubung juga.181* **Compaction and `/clear`**: saat Claude Code [memadatkan percakapan](/docs/id/context-window#what-survives-compaction), perangkat yang terhubung menampilkan kemajuan dan kemudian di mana percakapan dipadatkan. Saat Anda menjalankan `/clear`, percakapan direset pada perangkat yang terhubung juga.

186* **Beralih percakapan dengan `/resume`**: perangkat yang terhubung tidak menerima judul percakapan yang dialihkan atau riwayat sebelumnya, tetapi pesan baru di kedua arah pergi ke dan dari percakapan mana pun yang terbuka di terminal Anda. Untuk bekerja pada percakapan asli dari perangkat lagi, jalankan `/resume` di terminal Anda dan beralih kembali ke itu.182* **Switching conversations with `/resume`**: perangkat yang terhubung tidak menerima judul percakapan yang dialihkan atau riwayat sebelumnya, tetapi pesan baru di kedua arah pergi ke dan dari percakapan mana pun yang terbuka di terminal Anda. Untuk bekerja pada percakapan asli dari perangkat lagi, jalankan `/resume` di terminal Anda dan beralih kembali ke sana.

187* **Menarik sesi dengan `/teleport`**: ketika Anda menarik sesi [cloud](/docs/id/claude-code-on-the-web#from-cloud-to-terminal) ke terminal Anda dengan `/teleport`, perangkat yang terhubung tidak menerima riwayat percakapan yang ditarik sebelumnya. Pesan baru di kedua arah pergi ke dan dari percakapan yang ditarik, yang sekarang adalah yang terbuka di terminal Anda.183* **Pulling a session with `/teleport`**: saat Anda menarik [sesi cloud](/docs/id/claude-code-on-the-web#from-cloud-to-terminal) ke terminal Anda dengan `/teleport`, perangkat yang terhubung tidak menerima riwayat percakapan yang ditarik sebelumnya. Pesan baru di kedua arah pergi ke dan dari percakapan yang ditarik, yang sekarang adalah yang terbuka di terminal Anda.

188* **Pesan dari sesi lain Anda**: dengan [pesan lintas sesi](/docs/id/cross-session-messaging), koneksi yang sama membawa pesan antara sesi Anda sendiri di mesin yang berbeda dan dari [sesi cloud](/docs/id/claude-code-on-the-web) Anda, melalui server Anthropic seperti sisa lalu lintas Remote Control. [Pesan sesi di mesin lain](/docs/id/cross-session-messaging#message-sessions-on-other-machines) mencakup aturan pengiriman dan [Kontrol pesan masuk](/docs/id/cross-session-messaging#control-inbound-messages) mencakup kontrol masuk. Memerlukan Claude Code v2.1.224 atau lebih baru.184* **Messages from your other sessions**: dengan [cross-session messaging](/docs/id/cross-session-messaging), koneksi yang sama membawa pesan antara sesi Anda sendiri di mesin berbeda dan dari [sesi cloud](/docs/id/claude-code-on-the-web) Anda.

189* **Prompt yang Anda kirim di tengah giliran**: ketika Anda mengirim prompt dari perangkat yang terhubung sebelum giliran saat ini berakhir, Claude Code mengantreannya dan menyimpannya dalam transkrip perangkat setelah giliran itu selesai.185* **Diff of your changes**: saat direktori sesi berada di repositori git, panel diff perangkat yang terhubung menampilkan perubahan Anda. Di cabang yang memiliki commit di depan cabang default repositori, panel menampilkan perubahan sejak cabang terpisah darinya, termasuk edit yang belum dilakukan. Di cabang default itu sendiri, atau di cabang yang tidak di depan, panel hanya menampilkan perubahan yang belum dilakukan.

190* **Diff perubahan Anda**: ketika direktori sesi berada di repositori git, panel diff perangkat yang terhubung menampilkan perubahan Anda. Perangkat meminta diff melalui koneksi, dan Claude Code menghitungnya di mesin Anda. Pada cabang yang memiliki komit di depan cabang default repositori, panel menampilkan perubahan sejak cabang terpisah darinya, termasuk edit yang belum dikomit Anda. Pada cabang default itu sendiri, atau pada cabang yang tidak di depan itu, panel menampilkan hanya perubahan yang belum dikomit Anda. Sebelum v2.1.247, Claude Code melaporkan diff ke perangkat yang terhubung hanya dalam sesi yang dilayani oleh `claude remote-control`.186* **Model**: saat Anda memilih [model](/docs/id/model-config) dari perangkat yang terhubung, Claude Code menjalankan sesi pada model itu. Memerlukan Claude Code v2.1.238 atau lebih baru. Model yang Anda pilih dari kontrol model perangkat hanya berlaku untuk sesi saat ini. Saat Anda mengirim `/model <name>` dari perangkat ke sesi interaktif, Claude Code juga menetapkan default Anda untuk sesi baru.

191* **Model**: ketika Anda memilih [model](/docs/id/model-config) dari perangkat yang terhubung, Claude Code menjalankan sesi pada model itu. Pemilih `/model` terminal, `/status`, dan `/config` menampilkan model itu. Memerlukan Claude Code v2.1.238 atau lebih baru.187* **Effort level**: saat Anda menetapkan [effort level](/docs/id/model-config#adjust-effort-level) dari perangkat yang terhubung, dengan `/effort` atau kontrol effort perangkat, Claude Code menerapkannya ke sesi di mesin Anda. Jika Anda menyematkan level dengan `CLAUDE_CODE_EFFORT_LEVEL`, sesi menyimpan level itu, dan Claude Code menolak pilihan berbeda dari kontrol effort. Memilih level dari kontrol effort memerlukan Claude Code v2.1.234 atau lebih baru di mesin Anda.

192 * Model yang Anda pilih dari kontrol model perangkat berlaku hanya untuk sesi saat ini. Ketika Anda mengirim `/model <name>` dari perangkat ke sesi interaktif, Claude Code juga menetapkan default Anda untuk sesi baru.188* **Reconnecting after a connection failure**: jalankan `/remote-control` untuk terhubung kembali. Jika pemadatan menulis ulang percakapan atau Anda beralih percakapan dengan `/resume` sementara itu, Claude Code mengarsipkan sesi server yang digunakannya bukan meninggalkannya dalam daftar sesi. Anda masih dapat menemukannya dengan [memfilter sesi yang diarsipkan](/docs/id/claude-code-on-the-web#archive-sessions). Beralih percakapan saat perangkat masih terhubung tidak mengarsipkan sesi.

193 * Jika Anda mengirim nama yang Claude Code tidak kenali, seperti nama tampilan di mana ID model diharapkan, Claude Code [menolak pilihan](/docs/id/errors#model-is-not-a-recognized-model-id) dan sesi menyimpan model saat ini. Sebelum v2.1.260, Claude Code menyimpan pilihan yang tidak dikenali dari kontrol model perangkat, dan pesan berikutnya Anda gagal.

194* **Tingkat upaya**: ketika Anda menetapkan [tingkat upaya](/docs/id/model-config#adjust-effort-level) dari perangkat yang terhubung, dengan `/effort` atau kontrol upaya perangkat, Claude Code menerapkannya ke sesi di mesin Anda, dan claude.ai/code menampilkan tingkat yang digunakan sesi. Jika Anda menyematkan tingkat dengan `CLAUDE_CODE_EFFORT_LEVEL`, sesi menyimpan tingkat itu, dan Claude Code menolak pilihan berbeda dari kontrol upaya. Memilih tingkat dari kontrol upaya memerlukan Claude Code v2.1.234 atau lebih baru di mesin Anda.

195* **Terhubung kembali setelah kegagalan koneksi**: jalankan `/remote-control` untuk terhubung kembali. Jika pemadatan menulis ulang percakapan atau Anda beralih percakapan dengan `/resume` sementara itu, Claude Code mengarsipkan sesi server yang digunakannya alih-alih meninggalkannya dalam daftar sesi. Anda masih dapat menemukannya dengan [memfilter sesi yang diarsipkan](/docs/id/claude-code-on-the-web#archive-sessions). Beralih percakapan saat perangkat masih terhubung tidak mengarsipkan sesi.

196 189 

197<h3 id="enable-remote-control-for-all-sessions">190<h3 id="enable-remote-control-for-all-sessions">

198 Aktifkan Remote Control untuk semua sesi191 Enable Remote Control for all sessions

199</h3>192</h3>

200 193 

201Remote Control hanya diaktifkan ketika Anda secara eksplisit menjalankan `claude remote-control`, `claude --remote-control`, atau `/remote-control`, kecuali auto-connect diaktifkan. Untuk mengaktifkannya secara otomatis untuk setiap sesi interaktif, jalankan `/config` di dalam Claude Code dan atur **Enable Remote Control for all sessions**. Toggle mengambil tiga nilai:194Remote Control hanya diaktifkan saat Anda secara eksplisit menjalankan `claude remote-control`, `claude --remote-control`, atau `/remote-control`, kecuali auto-connect diaktifkan. Untuk mengaktifkan auto-connect untuk setiap sesi interaktif, jalankan `/config` di dalam Claude Code dan atur **Enable Remote Control for all sessions**. Toggle mengambil tiga nilai:

202 195 

203* **`true`**: terhubung secara otomatis ketika sesi interaktif dimulai.196* **`true`**: terhubung secara otomatis saat sesi interaktif dimulai.

204* **`false`**: matikan auto-connect, meskipun `true` dari [pengaturan terkelola](/docs/id/managed-settings) mengungguli itu, karena Claude Code menyimpan pilihan ke pengaturan pengguna Anda. Sebuah `false` dalam pengaturan proyek atau lokal (`.claude/settings.json`, `.claude/settings.local.json`) mematikan auto-connect bahkan atas `true` yang dikelola.197* **`false`**: matikan auto-connect, meskipun `true` dari [managed settings](/docs/id/managed-settings) mengalahkannya, karena Claude Code menyimpan pilihan ke pengaturan pengguna Anda. Sebuah `false` dalam pengaturan proyek atau lokal (`.claude/settings.json`, `.claude/settings.local.json`) mematikan auto-connect bahkan di atas `true` yang dikelola.

205* **`default`**: hapus pilihan Anda dan ikuti default admin organisasi Anda jika satu diatur, jika tidak default Claude Code saat ini.198* **`default`**: hapus pilihan Anda dan ikuti default admin organisasi Anda jika ada yang ditetapkan, jika tidak Claude Code default saat ini.

206 199 

207Toggle yang sama muncul di luar CLI:200Toggle yang sama muncul di luar CLI:

208 201 

209* **Aplikasi Desktop**: **Settings > Claude Code > Enable remote control by default**.202* **Desktop app**: **Settings > Claude Code > Enable remote control by default**.

210* **Ekstensi VS Code**: **Enable Remote Control for all sessions** di bagian Settings [menu perintah](/docs/id/vs-code#use-the-prompt-box). Memerlukan Claude Code v2.1.203 atau lebih baru.203* **VS Code extension**: **Enable Remote Control for all sessions** dalam bagian Settings [command menu](/docs/id/vs-code#use-the-prompt-box).

211 204 

212Untuk mengaktifkan auto-connect dari file pengaturan, atur [`remoteControlAtStartup`](/docs/id/settings-reference#remotecontrolatstartup) ke `true` dalam `~/.claude/settings.json` pengguna Anda atau dalam [pengaturan terkelola](/docs/id/managed-settings). Dalam pengaturan proyek atau lokal (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code menghormati `false` dan mematikan auto-connect untuk repositori itu, tetapi mengabaikan `true`, sehingga file yang diperiksa tidak dapat mengaktifkan Remote Control untuk semua orang yang membuka repositori.205Untuk mengaktifkan auto-connect dari file pengaturan, atur [`remoteControlAtStartup`](/docs/id/settings-reference#remotecontrolatstartup) ke `true` dalam `~/.claude/settings.json` pengguna Anda atau dalam [managed settings](/docs/id/managed-settings). Dalam pengaturan proyek atau lokal (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code menghormati `false` dan mematikan auto-connect untuk repositori itu, tetapi mengabaikan `true`, sehingga file yang diperiksa tidak dapat mengaktifkan Remote Control untuk semua orang yang membuka repositori.

213 206 

214Auto-connect masuk dengan akun claude.ai Anda sendiri, jadi sesi yang dimulainya hanya muncul di aplikasi Claude akun Anda sendiri dan tidak memberikan akses kepada siapa pun.207Auto-connect masuk dengan akun claude.ai Anda sendiri, jadi sesi yang dimulainya hanya muncul di aplikasi Claude akun Anda sendiri dan tidak memberikan akses kepada siapa pun.

215 208 

216Dengan pengaturan ini aktif, setiap proses Claude Code interaktif mendaftarkan satu sesi jarak jauh. Jika Anda menjalankan beberapa instance, masing-masing mendapatkan sesi jarak jauh sendiri. Untuk menjalankan beberapa sesi bersamaan dari satu proses, gunakan [mode server](#start-a-remote-control-session) sebagai gantinya.209Dengan pengaturan ini aktif, setiap proses Claude Code interaktif mendaftarkan satu sesi jarak jauh. Jika Anda menjalankan beberapa instance, masing-masing mendapatkan sesi jarak jauhnya sendiri. Untuk menjalankan beberapa sesi bersamaan dari satu proses, gunakan [server mode](#start-a-remote-control-session) sebagai gantinya.

217 210 

218<h3 id="resume-sessions-after-stopping-the-server">211<h3 id="resume-sessions-after-stopping-the-server">

219 Resume sesi setelah menghentikan server212 Resume sessions after stopping the server

220</h3>213</h3>

221 214 

222Ketika Anda menghentikan `claude remote-control` dengan Ctrl+C, sesi yang dilayaninya berhenti merespons dari ponsel atau browser Anda. Selama Anda tidak menjalankan `claude remote-control` lain di direktori yang sama dan tidak memulai yang ini dengan `--no-create-session-in-dir`, Claude Code tidak mengarsipkannya. Untuk membawanya kembali, jalankan salah satu perintah ini di direktori yang sama:215Saat Anda menghentikan `claude remote-control` dengan Ctrl+C, sesi yang dilayaninya berhenti merespons dari ponsel atau browser Anda. Selama Anda tidak menjalankan `claude remote-control` lain di direktori yang sama dan tidak memulai yang ini dengan `--no-create-session-in-dir`, Claude Code tidak mengarsipkannya. Untuk membawanya kembali, jalankan salah satu perintah ini di direktori yang sama:

223 216 

224* **`claude remote-control`**: membawa kembali setiap sesi yang dilayani server.217* **`claude remote-control`**: membawa kembali setiap sesi yang dilayani server.

225* **`claude remote-control --continue`**: membawa kembali hanya sesi yang dimulai server, dan keluar ketika sesi itu berakhir. Jika direktori ini tidak memiliki catatan, Claude Code menggunakan yang terbaru dari worktree git lain repositori ini.218* **`claude remote-control --continue`**: membawa kembali hanya sesi yang dimulai server, dan keluar saat sesi itu berakhir. Jika direktori ini tidak memiliki catatan, Claude Code menggunakan yang terbaru dari worktree git lain repositori ini.

226* **`claude remote-control --session-id <id>`**: membawa kembali hanya sesi yang ID-nya Anda lewatkan, dan keluar ketika sesi itu berakhir. ID adalah bagian dari URL sesi di claude.ai/code antara `/code/` dan `?` apa pun.219* **`claude remote-control --session-id <id>`**: membawa kembali hanya sesi yang ID-nya Anda lewatkan, dan keluar saat sesi itu berakhir. ID adalah bagian dari URL sesi di claude.ai/code antara `/code/` dan `?` apa pun.

227 220 

228Perintah ini bekerja selama sekitar empat jam setelah server berhenti. Setelah itu, jalankan `claude remote-control` untuk memulai sesi baru. Jika Anda mengarsipkan sesi sementara itu, `--continue` dan `--session-id` membatalkan arsipnya pada Claude Code v2.1.228 atau lebih baru.221Perintah ini bekerja selama sekitar empat jam setelah server berhenti. Setelah itu, jalankan `claude remote-control` untuk memulai sesi baru. Jika Anda mengarsipkan sesi sementara itu, `--continue` dan `--session-id` membatalkan arsip pada Claude Code v2.1.228 atau lebih baru.

229 222 

230Untuk membawa kembali sesi yang Anda mulai dengan `claude --remote-control` atau `/remote-control`, lanjutkan percakapan dengan `claude --continue` atau `claude --resume`. Apakah Claude Code terhubung kembali, dan ke sesi mana, tergantung pada [catatan koneksi ulang](#resume-outcomes) percakapan.223Untuk membawa kembali sesi yang Anda mulai dengan `claude --remote-control` atau `/remote-control`, lanjutkan percakapan dengan `claude --continue` atau `claude --resume`. Jika Remote Control tidak terhubung kembali, lihat [Couldn't reconnect to your Remote Control session](#couldnt-reconnect-to-your-remote-control-session).

231 224 

232Jika Anda melanjutkan percakapan di terminal kedua sementara yang pertama masih memiliki Remote Control aktif, Claude Code mencetak pemberitahuan di terminal kedua dan membiarkan Remote Control mati di sana alih-alih mengambil sesi dari yang pertama. Saat Remote Control tetap mati di sana, Claude di terminal itu tidak melihat [sesi Anda di mesin lain](/docs/id/cross-session-messaging#see-which-sessions-claude-can-reach), dan mereka tidak dapat menjangkaunya. Jalankan `/remote-control` di terminal kedua untuk memindahkan Remote Control ke sana.225Jika Anda melanjutkan percakapan di terminal kedua sementara yang pertama masih memiliki Remote Control aktif, Claude Code mencetak pemberitahuan `Remote Control not started here` di terminal kedua dan membiarkan Remote Control mati di sana bukan mengambil sesi dari yang pertama. Jalankan `/remote-control` di terminal kedua untuk memindahkan Remote Control ke sana.

233 226 

234Ketika Anda melanjutkan percakapan di Claude Desktop atau ekstensi IDE yang memiliki Remote Control aktif, Claude Code melampirkannya kembali ke sesi claude.ai yang ada alih-alih menambahkan yang baru ke daftar sesi.227Saat Anda melanjutkan percakapan di Claude Desktop atau ekstensi IDE yang memiliki Remote Control aktif, Claude Code melampirkannya kembali ke sesi claude.ai yang ada bukan menambahkan yang baru ke daftar sesi.

235 228 

236<h2 id="connection-and-security">229<h2 id="connection-and-security">

237 Koneksi dan keamanan230 Koneksi dan keamanan


239 232 

240Sesi Claude Code lokal Anda membuat permintaan HTTPS keluar saja dan tidak pernah membuka port masuk di mesin Anda. Ketika Anda memulai Remote Control, sesi tersebut mendaftarkan dengan API Anthropic dan polling untuk pekerjaan. Ketika Anda terhubung dari perangkat lain, server merutekan pesan antara klien web atau mobile dan sesi lokal Anda melalui koneksi streaming.233Sesi Claude Code lokal Anda membuat permintaan HTTPS keluar saja dan tidak pernah membuka port masuk di mesin Anda. Ketika Anda memulai Remote Control, sesi tersebut mendaftarkan dengan API Anthropic dan polling untuk pekerjaan. Ketika Anda terhubung dari perangkat lain, server merutekan pesan antara klien web atau mobile dan sesi lokal Anda melalui koneksi streaming.

241 234 

242Semua 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. Ketika kredensial pendaftaran server `claude remote-control` kedaluwarsa, server mendaftarkan dengan API Anthropic lagi dan terus melayani sesinya.235Semua 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.

243 236 

244Saat Remote Control terhubung, transkrip sesi, termasuk pesan Anda, respons Claude, dan aktivitas alat, disimpan di server Anthropic. Transkrip yang disimpan menjaga percakapan tetap sinkron di seluruh perangkat Anda dan memungkinkan sesi untuk terhubung kembali setelah gangguan jaringan. Eksekusi dan akses sistem file tetap berada di mesin Anda, dan transkrip yang disimpan dipertahankan sesuai dengan kebijakan [Penggunaan data](/docs/id/data-usage).237Saat Remote Control terhubung, transkrip sesi, termasuk pesan Anda, respons Claude, dan aktivitas alat, disimpan di server Anthropic. Transkrip yang disimpan menjaga percakapan tetap sinkron di seluruh perangkat Anda dan memungkinkan sesi untuk terhubung kembali setelah gangguan jaringan. Eksekusi dan akses sistem file tetap berada di mesin Anda, dan transkrip yang disimpan dipertahankan sesuai dengan kebijakan [Penggunaan data](/docs/id/data-usage).

245 238 


309Untuk perangkat yang hilang atau dicuri, anggota menghapusnya dari halaman ini. Jika anggota tidak dapat masuk, admin dapat menggunakan **Sign out everywhere** di konsol admin untuk mencabut setiap sesi dan perangkat terdaftar untuk anggota itu, setelah itu anggota mendaftarkan ulang perangkat yang masih mereka miliki.302Untuk perangkat yang hilang atau dicuri, anggota menghapusnya dari halaman ini. Jika anggota tidak dapat masuk, admin dapat menggunakan **Sign out everywhere** di konsol admin untuk mencabut setiap sesi dan perangkat terdaftar untuk anggota itu, setelah itu anggota mendaftarkan ulang perangkat yang masih mereka miliki.

310 303 

311<h2 id="remote-control-vs-cloud-sessions">304<h2 id="remote-control-vs-cloud-sessions">

312 Remote Control vs cloud sessions305 Remote Control vs sesi cloud

313</h2>306</h2>

314 307 

315Remote Control dan [cloud sessions](/docs/id/claude-code-on-the-web) keduanya menggunakan antarmuka claude.ai/code. Perbedaan utamanya adalah di mana sesi berjalan: Remote Control dieksekusi di mesin Anda, sehingga MCP servers lokal, alat, dan konfigurasi proyek Anda tetap tersedia. Sesi cloud dieksekusi di infrastruktur cloud, dikelola oleh Anthropic secara default.308Remote Control dan [sesi cloud](/docs/id/claude-code-on-the-web) keduanya menggunakan antarmuka claude.ai/code. Perbedaan utamanya adalah di mana sesi berjalan: Remote Control dieksekusi di mesin Anda, sehingga server MCP lokal, alat, dan konfigurasi proyek Anda tetap tersedia. Sesi cloud dieksekusi pada infrastruktur cloud, dikelola oleh Anthropic secara default.

316 309 

317Gunakan Remote Control ketika Anda sedang dalam pekerjaan lokal dan ingin terus melanjutkan dari perangkat lain. Gunakan sesi cloud ketika Anda ingin memulai tugas tanpa pengaturan lokal apa pun, bekerja pada repo yang tidak Anda miliki klonnya, atau menjalankan beberapa tugas secara paralel.310Gunakan Remote Control ketika Anda sedang berada di tengah pekerjaan lokal dan ingin melanjutkan dari perangkat lain. Gunakan sesi cloud ketika Anda ingin memulai tugas tanpa penyiapan lokal apa pun, bekerja pada repo yang tidak Anda miliki klonnya, atau menjalankan beberapa tugas secara paralel. Sebuah [proyek](/docs/id/claude-projects) menggabungkan keduanya: thread-nya berjalan di cloud, dan menggunakan Remote Control untuk [menjalankan thread di komputer Anda](/docs/id/claude-projects#run-a-thread-on-your-own-computer) ketika Anda memintanya di sana.

311 

312Claude Code menawarkan beberapa cara untuk bekerja ketika Anda tidak berada di terminal. Mereka berbeda dalam hal apa yang memicu pekerjaan, di mana Claude berjalan, dan berapa banyak yang perlu Anda atur.

313 

314| | Pemicu | Claude berjalan di | Pengaturan | Terbaik untuk |

315| :- | :- | :- | :- | :- |

316| [Dispatch](/docs/id/desktop#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |

317| [Remote Control](/docs/id/remote-control) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI, Desktop, atau VS Code) | Jalankan [`claude remote-control` atau `/remote-control`](/docs/id/remote-control#start-a-remote-control-session) | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |

318| [Channels](/docs/id/channels) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](/docs/id/channels#quickstart) atau [buat milik Anda sendiri](/docs/id/channels-reference) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |

319| [Slack](/docs/id/slack) | Sebutkan `@Claude` di saluran tim | Cloud Anthropic | [Instal aplikasi Slack](/docs/id/slack#setting-up-claude-code-in-slack) dengan [Claude Code di web](/docs/id/claude-code-on-the-web) diaktifkan | PR dan ulasan dari chat tim |

320| [Self-hosted environments](/docs/id/self-hosted-environments) | Mulai [sesi cloud](/docs/id/claude-code-on-the-web) dan pilih lingkungan organisasi Anda | Infrastruktur organisasi Anda | [Terapkan runner](/docs/id/self-hosted-environments-quickstart), pada paket Team dan Enterprise | Sesi cloud yang harus berjalan di dalam jaringan Anda |

321| [Scheduled tasks](/docs/id/scheduled-tasks) | Atur jadwal | [CLI](/docs/id/scheduled-tasks), [Desktop](/docs/id/desktop-scheduled-tasks), atau [cloud](/docs/id/routines) | Pilih frekuensi | Otomasi berulang seperti ulasan harian |

318 322 

319<h2 id="mobile-push-notifications">323<h2 id="mobile-push-notifications">

320 Notifikasi push mobile324 Notifikasi push mobile


324 328 

325Claude 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.329Claude 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.

326 330 

327Untuk menyiapkan notifikasi push mobile:331Untuk mengatur notifikasi push mobile:

328 332 

329<Steps>333<Steps>

330 <Step title="Instal aplikasi Claude mobile">334 <Step title="Install the Claude mobile app">

331 Unduh aplikasi Claude untuk [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) atau [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude).335 Unduh aplikasi Claude untuk [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) atau [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude).

332 </Step>336 </Step>

333 337 

334 <Step title="Masuk dengan akun Claude Code Anda">338 <Step title="Sign in with your Claude Code account">

335 Gunakan akun dan organisasi yang sama yang Anda gunakan untuk Claude Code di terminal.339 Gunakan akun dan organisasi yang sama yang Anda gunakan untuk Claude Code di terminal.

336 </Step>340 </Step>

337 341 

338 <Step title="Izinkan notifikasi">342 <Step title="Allow notifications">

339 Terima prompt izin notifikasi dari sistem operasi.343 Terima prompt izin notifikasi dari sistem operasi.

340 </Step>344 </Step>

341 345 

342 <Step title="Aktifkan push di Claude Code">346 <Step title="Enable push in Claude Code">

343 Di terminal Anda, jalankan `/config` dan aktifkan **Push when Claude decides** untuk notifikasi proaktif, **Push when actions required** untuk prompt izin dan pertanyaan, atau keduanya.347 Di terminal Anda, jalankan `/config` dan aktifkan **Push when Claude decides** untuk notifikasi proaktif, **Push when actions required** untuk prompt izin dan pertanyaan, atau keduanya.

344 </Step>348 </Step>

345</Steps>349</Steps>


350* Di iOS, Focus modes dan notification summaries dapat menekan atau menunda push. Periksa Settings → Notifications → Claude.354* Di iOS, Focus modes dan notification summaries dapat menekan atau menunda push. Periksa Settings → Notifications → Claude.

351* Di Android, optimasi baterai yang agresif dapat menunda pengiriman. Kecualikan aplikasi Claude dari optimasi baterai di pengaturan sistem.355* Di Android, optimasi baterai yang agresif dapat menunda pengiriman. Kecualikan aplikasi Claude dari optimasi baterai di pengaturan sistem.

352 356 

353Claude Code melewatkan notifikasi push mobile saat Anda mengetik atau fokus pada terminal yang terhubung. Mulai dari v2.1.181, Anda dapat mengatur [`CLAUDE_CLIENT_PRESENCE_FILE`](/docs/id/env-vars) ke jalur file penanda untuk memperluas ini ke kapan saja Anda berada di mesin, bahkan di jendela lain: notifikasi dilewatkan saat file ada. Konfigurasikan pendengar kunci layar atau alat serupa untuk membuat file saat layar Anda membuka kunci dan menghapusnya saat layar Anda terkunci.357Claude Code melewati notifikasi push mobile saat Anda mengetik atau fokus pada terminal yang terhubung. Untuk memperluas ini ke kapan saja Anda berada di mesin, bahkan di jendela lain, atur [`CLAUDE_CLIENT_PRESENCE_FILE`](/docs/id/env-vars) ke jalur file penanda: notifikasi dilewati saat file ada. Konfigurasikan pendengar kunci layar atau alat serupa untuk membuat file saat layar Anda membuka kunci dan menghapusnya saat layar Anda mengunci.

354 358 

355<h2 id="limitations">359<h2 id="limitations">

356 Keterbatasan360 Keterbatasan

357</h2>361</h2>

358 362 

359* **Satu sesi jarak jauh per proses interaktif**: di luar mode server, setiap instans Claude Code mendukung satu sesi jarak jauh pada satu waktu. Gunakan [mode server](#start-a-remote-control-session) untuk menjalankan beberapa sesi bersamaan dari satu proses.363* **Satu sesi jarak jauh per proses interaktif**: di luar server mode, setiap instans Claude Code mendukung satu sesi jarak jauh pada satu waktu. Gunakan [server mode](#start-a-remote-control-session) untuk menjalankan beberapa sesi bersamaan dari satu proses.

360* **Proses lokal harus tetap berjalan**: Remote Control berjalan sebagai proses lokal. Jika Anda menutup terminal, keluar dari VS Code, atau menghentikan proses `claude` dengan cara lain, sesi akan offline sampai Anda [membawanya kembali](#resume-sessions-after-stopping-the-server). Kecuali Claude sedang menjalankan tugas, claude.ai dan aplikasi Claude menampilkan sesi sebagai offline dalam hitungan detik setelah proses keluar. Untuk menjaga sesi tetap berjalan di mesin jarak jauh setelah Anda memutuskan sambungan SSH, mulai di dalam `tmux` atau `screen`.364* **Proses lokal harus tetap berjalan**: Remote Control berjalan sebagai proses lokal. Jika Anda menutup terminal, keluar dari Desktop app atau VS Code, atau menghentikan proses `claude` dengan cara lain, sesi akan offline sampai Anda [membawanya kembali](#resume-sessions-after-stopping-the-server). Untuk menjaga sesi tetap berjalan di mesin jarak jauh setelah Anda memutuskan SSH, mulai di dalam `tmux` atau `screen`.

361* **Sesi yang mogok dalam mode server**: jika sesi yang dilayani oleh `claude remote-control` mogok, kirimkan pesan kepadanya dari perangkat yang terhubung. Claude Code melayaninya lagi. Anda tidak perlu memulai ulang server. Memerlukan Claude Code v2.1.238 atau lebih baru.365* **Sesi yang mogok dalam server mode**: jika sesi yang dilayani oleh `claude remote-control` mogok, kirimkan pesan kepadanya dari perangkat yang terhubung. Claude Code melayaninya lagi. Anda tidak perlu memulai ulang server. Memerlukan Claude Code v2.1.238 atau lebih baru.

362* **Penolakan HTTP 403 pada sesi yang terhubung**: setelah sesi interaktif terhubung, Claude Code terus mencoba ulang hingga tiga menit ketika sesuatu antara mesin Anda dan server Anthropic menjawab dengan HTTP 403, yang dapat terjadi setelah perubahan VPN atau jaringan. Jika penolakan berlangsung lebih lama, Claude Code memutuskan sambungan, dan alasannya menunjukkan apa yang menolak: tepi jaringan, atau proxy, VPN, atau firewall di jaringan Anda sendiri.366* **Penolakan HTTP 403 pada sesi yang terhubung**: setelah sesi interaktif terhubung, Claude Code terus mencoba ulang hingga tiga menit ketika sesuatu antara mesin Anda dan server Anthropic menjawab dengan HTTP 403, yang dapat terjadi setelah perubahan VPN atau jaringan. Jika penolakan berlangsung lebih lama, Claude Code memutuskan sambungan, dan alasannya menunjukkan apa yang menolak: tepi jaringan, atau proxy, VPN, atau firewall di jaringan Anda sendiri.

363* **Pemadaman jaringan yang berkepanjangan**: jika mesin Anda aktif tetapi tidak dapat menjangkau jaringan, apa yang Anda lakukan selanjutnya tergantung pada mode:367* **Pemadaman jaringan yang berkepanjangan**: jika mesin Anda aktif tetapi tidak dapat menjangkau jaringan, apa yang Anda lakukan selanjutnya tergantung pada mode:

364 * **Mode server**: Claude Code menyerah setelah kira-kira 10 menit dan proses `claude remote-control` keluar. Jalankan `claude remote-control` lagi untuk memulai sesi baru.368 * **Server mode**: Claude Code menyerah setelah kira-kira 10 menit dan proses `claude remote-control` keluar. Jalankan `claude remote-control` lagi untuk memulai sesi baru.

365 * **Sesi interaktif**: terus bekerja secara lokal. Claude Code mencoba ulang selama pemadaman berlangsung dan terhubung kembali secara otomatis ketika jaringan kembali.369 * **Sesi interaktif**: terus bekerja secara lokal. Claude Code mencoba ulang selama pemadaman berlangsung dan terhubung kembali secara otomatis ketika jaringan kembali.

366* **Detak jantung kehadiran gagal**: jika sesi interaktif terputus dengan `could not reach the Remote Control server for about 30 minutes`, jalankan `/remote-control` untuk terhubung kembali. Claude Code menampilkan pesan ini hanya ketika detak jantung kehadiran sesi telah gagal sementara sisa koneksi tetap aktif; sesi didaftarkan ulang selama kira-kira 30 menit sebelum terputus.370* **Detak jantung kehadiran gagal**: jika sesi interaktif terputus dengan `could not reach the Remote Control server for about 30 minutes`, jalankan `/remote-control` untuk terhubung kembali.

367* **Dialog yang diteruskan kedaluwarsa**: Claude Code membuat prompt izin dan pertanyaan `AskUserQuestion` tetap terbuka sampai Anda menjawabnya. Ketika Claude Code meneruskan dialog jenis lain ke sesi jarak jauh, seperti prompt pilihan model yang ditampilkan setelah penolakan keselamatan, ia menunggu lima menit secara default, kemudian menutup dialog dan melanjutkan dengan default tanpa tindakan dialog. Atur [`dialogExpiry`](/docs/id/settings-reference#dialogexpiry) untuk menyesuaikan atau menonaktifkan batas waktu. Memerlukan Claude Code v2.1.224 atau lebih baru.371* **Dialog yang diteruskan kedaluwarsa**: Claude Code membuat prompt izin dan pertanyaan `AskUserQuestion` tetap terbuka sampai Anda menjawabnya. Ketika Claude Code meneruskan dialog jenis lain ke sesi jarak jauh, seperti prompt pilihan model yang ditampilkan setelah penolakan keselamatan, ia menunggu lima menit secara default, kemudian menutup dialog dan melanjutkan dengan default tanpa tindakan dialog. Atur [`dialogExpiry`](/docs/id/settings-reference#dialogexpiry) untuk menyesuaikan atau menonaktifkan batas waktu. Memerlukan Claude Code v2.1.224 atau lebih baru.

368* **Prompt persetujuan kredit penggunaan Fable tidak diteruskan**: Claude Code menampilkan prompt persetujuan kredit penggunaan [Fable](/docs/id/model-config#fable-and-usage-credits) pertengahan sesi hanya di tempat sesi berjalan, bukan di perangkat Anda. Ketika sesi berjalan di terminal dan tidak ada yang menjawab sebelum Claude Code menutup prompt, giliran berakhir tanpa mengirim permintaan; lihat [The prompt to confirm went unanswered](/docs/id/errors#the-prompt-to-confirm-went-unanswered).372* **Prompt persetujuan kredit penggunaan Fable tidak diteruskan**: Claude Code menampilkan [prompt persetujuan kredit penggunaan Fable](/docs/id/model-config#fable-and-usage-credits) pertengahan sesi hanya di tempat sesi berjalan, bukan di perangkat Anda. Ketika sesi berjalan di terminal dan tidak ada yang menjawab sebelum Claude Code menutup prompt, giliran berakhir tanpa mengirim permintaan; lihat [The prompt to confirm went unanswered](/docs/id/errors#the-prompt-to-confirm-went-unanswered).

369* **Beberapa perintah hanya lokal**: perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, hanya berfungsi dari CLI lokal, terlepas dari apakah Anda meneruskan argumen atau tidak. Berikut ini berfungsi dari mobile dan web:373* **Beberapa perintah hanya lokal**: perintah yang hanya berjalan di antarmuka terminal, seperti `/plugin` atau `/resume`, hanya berfungsi dari CLI lokal, terlepas dari apakah Anda meneruskan argumen atau tidak. Berikut ini berfungsi dari mobile dan web:

370 * Perintah keluaran teks: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, dan `/reload-plugins`. `/usage-credits` mencetak URL penagihan alih-alih membuka browser. `/reload-plugins` hanya berfungsi ketika sesi berjalan di terminal interaktif; sesi tanpa satu menolaknya.374 * Perintah keluaran teks: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, dan `/reload-plugins`. `/usage-credits` mencetak URL penagihan alih-alih membuka browser. `/reload-plugins` hanya berfungsi ketika sesi berjalan di terminal interaktif; sesi tanpa satu menolaknya.

371 * `/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.375 * `/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.

372 * `/mcp`: dari aplikasi mobile, mengembalikan ringkasan teks status server alih-alih membuka pemilih. Di web, `/mcp` sendiri membuka direktori [konektor claude.ai](/docs/id/mcp#use-mcp-servers-from-claude-ai) alih-alih mengembalikan ringkasan. [Subperintah](/docs/id/commands#all-commands) `reconnect`, `enable`, dan `disable` berfungsi dari keduanya. Tidak seperti CLI lokal, `/mcp reconnect` tanpa nama server menghubungkan kembali setiap server yang telah gagal atau memerlukan autentikasi.376 * `/mcp`: dari aplikasi mobile, mengembalikan ringkasan teks status server alih-alih membuka pemilih. Di web, `/mcp` sendiri membuka direktori [claude.ai connectors](/docs/id/mcp#use-mcp-servers-from-claude-ai) alih-alih mengembalikan ringkasan. [Subperintah](/docs/id/commands#all-commands) `reconnect`, `enable`, dan `disable` berfungsi dari keduanya. Tidak seperti CLI lokal, `/mcp reconnect` tanpa nama server menghubungkan kembali setiap server yang telah gagal atau memerlukan autentikasi.

373 * `/config`: 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, dan mengabaikan teks setelah perintah.377 * `/config`: 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, dan mengabaikan teks setelah perintah.

374 * Di Team dan Enterprise, `/usage-credits` dari mobile atau web tidak mengirim [permintaan kredit penggunaan ke admin Anda](/docs/id/costs#add-usage-credits-to-your-subscription). Pengiriman memerlukan konfirmasi yang hanya muncul di CLI interaktif, jadi perintah memberi tahu Anda untuk menjalankannya di sana. Sebelum v2.1.211, bentuk teks mengirim permintaan tanpa konfirmasi.378 * Di Team dan Enterprise, `/usage-credits` dari mobile atau web tidak mengirim [permintaan usage-credits ke admin Anda](/docs/id/costs#add-usage-credits-to-your-subscription). Pengiriman memerlukan konfirmasi yang hanya muncul di CLI interaktif, jadi perintah memberi tahu Anda untuk menjalankannya di sana.

375 * `/autocompact`, dari v2.1.221: teruskan ukuran jendela sebagai argumen, misalnya `/autocompact 500k`. Tanpa argumen, ia mencetak ukuran jendela saat ini sebagai teks alih-alih membuka dialog yang ditampilkan perintah dalam sesi terminal.379 * `/autocompact`, dari v2.1.221: teruskan ukuran jendela sebagai argumen, misalnya `/autocompact 500k`. Tanpa argumen, ia mencetak ukuran jendela saat ini sebagai teks alih-alih membuka dialog yang ditampilkan perintah dalam sesi terminal.

376 * `/advisor`, dari v2.1.260: teruskan model sebagai argumen, misalnya `/advisor opus`, atau teruskan `off` untuk mematikan penasihat. Kedua bentuk berlaku untuk sesi saat ini saja dan membiarkan default yang disimpan tidak berubah. Tanpa argumen, ia mencetak penasihat saat ini sebagai teks alih-alih membuka pemilih.380 * `/advisor`, dari v2.1.260: teruskan model sebagai argumen, misalnya `/advisor opus`, atau teruskan `off` untuk mematikan advisor. Kedua bentuk berlaku untuk sesi saat ini saja dan meninggalkan default yang disimpan tidak berubah. Tanpa argumen, ia mencetak advisor saat ini sebagai teks alih-alih membuka pemilih.

377 * `/output-style`, dari v2.1.269: teruskan nama gaya sebagai argumen, misalnya `/output-style concise`, atau jalankan tanpa argumen untuk membuat daftar gaya. Dari mobile dan web, Anda hanya dapat membuat daftar dan memilih [gaya bawaan](/docs/id/output-styles#built-in-output-styles). Untuk menggunakan [gaya kustom](/docs/id/output-styles#create-a-custom-output-style), pilih di sesi itu sendiri.381 * `/output-style`, dari v2.1.269: teruskan nama gaya sebagai argumen, misalnya `/output-style concise`, atau jalankan tanpa argumen untuk membuat daftar gaya. Dari mobile dan web, Anda hanya dapat membuat daftar dan memilih [gaya bawaan](/docs/id/output-styles#built-in-output-styles). Untuk menggunakan [gaya kustom](/docs/id/output-styles#create-a-custom-output-style), pilih di sesi itu sendiri.

382 * `/focus`, dari v2.1.281: teruskan `on` atau `off` sebagai argumen, misalnya `/focus on`, atau jalankan tanpa argumen untuk mengalihkan [tampilan fokus](/docs/id/commands#all-commands). Kedua bentuk berlaku untuk sesi saat ini saja dan meninggalkan pilihan yang disimpan tidak berubah.

378 383 

379<h2 id="troubleshooting">384<h2 id="troubleshooting">

380 Pemecahan Masalah385 Troubleshooting

381</h2>386</h2>

382 387 

383<h3 id="remote-control-requires-a-claude-ai-subscription">388<h3 id="remote-control-requires-a-claude-ai-subscription">

384 "Remote Control memerlukan langganan claude.ai"389 "Remote Control requires a claude.ai subscription"

385</h3>390</h3>

386 391 

387Anda tidak masuk dengan akun claude.ai, atau kredensial lain mengambil alih login Anda. Pesan ini mengambil salah satu bentuk berikut:392Anda tidak masuk dengan akun claude.ai, atau kredensial lain mengambil alih login Anda. Pesan ini mengambil salah satu bentuk berikut:

388 393 

389* Tidak masuk, dari `/remote-control` atau `--remote-control`: `Remote Control requires a claude.ai subscription.` atau `/remote-control requires a claude.ai subscription.`394* Keluar, dari `/remote-control` atau `--remote-control`: `Remote Control requires a claude.ai subscription.` atau `/remote-control requires a claude.ai subscription.`

390* Tidak masuk, dari `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`395* Keluar, dari `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`

391* Masuk, tetapi kunci API atau token sedang digunakan: `Remote Control requires claude.ai subscription auth.` diikuti oleh kredensial yang digunakan, seperti `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Pengaturan `apiKeyHelper` dan `ANTHROPIC_AUTH_TOKEN` dinamai dengan cara yang sama.396* Masuk, tetapi API key atau token sedang digunakan: `Remote Control requires claude.ai subscription auth.` diikuti oleh kredensial yang digunakan, seperti `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Pengaturan `apiKeyHelper` dan `ANTHROPIC_AUTH_TOKEN` dinamai dengan cara yang sama.

392 

393Jalankan `claude auth login` dan pilih opsi claude.ai. Jika pesan menyebutkan `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN`, hapus di mana pun diatur: lingkungan shell Anda atau blok `env` dari [file pengaturan](/docs/id/settings-reference#env). Jika menyebutkan `apiKeyHelper`, hapus pengaturan tersebut.

394 397 

395Sebelum v2.1.206, menjalankan `/remote-control` saat tidak masuk melaporkan `Unknown command: /remote-control` alih-alih pesan ini.398Jalankan `claude auth login` dan pilih opsi claude.ai. Jika pesan menyebutkan `ANTHROPIC_API_KEY` atau `ANTHROPIC_AUTH_TOKEN`, hapusnya di mana pun itu diatur: lingkungan shell Anda atau blok `env` dari [file pengaturan](/docs/id/settings-reference#env). Jika menyebutkan `apiKeyHelper`, hapus pengaturan itu.

396 399 

397<h3 id="remote-control-requires-a-full-scope-login-token">400<h3 id="remote-control-requires-a-full-scope-login-token">

398 "Remote Control memerlukan token login dengan cakupan penuh"401 "Remote Control requires a full-scope login token"

399</h3>402</h3>

400 403 

401Anda diautentikasi dengan token berumur panjang dari `claude setup-token` atau variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`. Token ini hanya dapat membuat permintaan model, jadi token ini tidak dapat membuat sesi Remote Control. Jalankan `claude auth login` untuk autentikasi dengan token sesi cakupan penuh sebagai gantinya.404Anda diautentikasi dengan token jangka panjang dari `claude setup-token` atau variabel lingkungan `CLAUDE_CODE_OAUTH_TOKEN`. Token ini hanya dapat membuat permintaan model, jadi mereka tidak dapat membuat sesi Remote Control. Jalankan `claude auth login` untuk mengautentikasi dengan token sesi full-scope sebagai gantinya.

402 405 

403<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">406<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">

404 "Tidak dapat menentukan organisasi Anda untuk kelayakan Remote Control"407 "Unable to determine your organization for Remote Control eligibility"

405</h3>408</h3>

406 409 

407Informasi akun cache Anda sudah usang atau tidak lengkap. Jalankan `claude auth login` untuk menyegarkannya.410Informasi akun yang disimpan dalam cache Anda sudah usang atau tidak lengkap. Jalankan `claude auth login` untuk menyegarkannya.

408 411 

409<h3 id="remote-control-isn’t-enabled-for-this-account">412<h3 id="remote-control-isn’t-enabled-for-this-account">

410 "Remote Control belum diaktifkan untuk akun ini"413 "Remote Control isn't enabled for this account"

411</h3>414</h3>

412 415 

413Claude Code memeriksa ketersediaan Remote Control untuk akun yang Anda masuki dan pemeriksaan kembali mati. Penyebab biasanya adalah hak akses cache yang sudah ketinggalan zaman setelah perubahan paket. Jalankan `claude auth logout` kemudian `claude auth login` untuk menyegarkannya, dan perbarui Claude Code jika Anda menggunakan versi lama.416Claude Code memeriksa ketersediaan Remote Control untuk akun yang Anda masuki dan pemeriksaan kembali mati. Penyebab biasanya adalah hak yang disimpan dalam cache yang sudah ketinggalan zaman setelah perubahan paket. Jalankan `claude auth logout` kemudian `claude auth login` untuk menyegarkannya, dan perbarui Claude Code jika Anda menggunakan versi lama.

414 417 

415Jalankan `claude doctor` untuk melihat pemeriksaan kelayakan individual mana yang gagal. Konflik variabel lingkungan, pemeriksaan yang tidak dapat dijangkau, dan pengaturan Remote Control organisasi Anda masing-masing menghasilkan pesan mereka sendiri, jadi kesalahan ini berarti pemeriksaan tingkat akun itu sendiri.418Jalankan `claude doctor` untuk melihat pemeriksaan kelayakan individu mana yang gagal. Konflik variabel lingkungan, pemeriksaan yang tidak dapat dijangkau, dan pengaturan Remote Control organisasi Anda masing-masing menghasilkan pesan mereka sendiri, jadi kesalahan ini berarti pemeriksaan tingkat akun itu sendiri.

416 419 

417Sebelum v2.1.239, pesan ini berbunyi "Remote Control is not yet enabled for your account". Sebelum v2.1.154, variabel yang menonaktifkan evaluasi feature-flag, seperti `DISABLE_TELEMETRY` atau `DO_NOT_TRACK`, juga menghasilkan pesan ini; entri "Remote Control memerlukan evaluasi feature-flag" di bawah mencakup konfigurasi tersebut.420Sebelum v2.1.239, pesan ini berbunyi "Remote Control is not yet enabled for your account".

418 421 

419<h3 id="couldn’t-verify-remote-control-eligibility">422<h3 id="couldn’t-verify-remote-control-eligibility">

420 "Tidak dapat memverifikasi kelayakan Remote Control"423 "Couldn't verify Remote Control eligibility"

421</h3>424</h3>

422 425 

423Claude Code tidak dapat menjangkau layanan feature-flag untuk memeriksa apakah Remote Control diaktifkan untuk akun Anda, biasanya karena Anda offline atau proxy memblokir permintaan. Coba lagi setelah Anda memiliki akses jaringan, atau jalankan `claude doctor` untuk detail. Pesan terkait "Tidak dapat memverifikasi kebijakan Remote Control organisasi Anda" berarti Claude Code tidak dapat membaca kebijakan tersebut, dan memiliki perbaikan yang sama. Kedua pesan ditambahkan di v2.1.178.426Claude Code tidak dapat menjangkau layanan feature-flag untuk memeriksa apakah Remote Control diaktifkan untuk akun Anda, biasanya karena Anda offline atau proxy memblokir permintaan. Coba lagi setelah Anda memiliki akses jaringan, atau jalankan `claude doctor` untuk detail. Pesan terkait "Couldn't verify your organization's Remote Control policy" berarti Claude Code mengalami kesalahan membaca kebijakan itu, dan memiliki perbaikan yang sama.

424 427 

425<h3 id="remote-control-requires-feature-flag-evaluation">428<h3 id="remote-control-requires-feature-flag-evaluation">

426 "Remote Control memerlukan evaluasi feature-flag"429 "Remote Control requires feature-flag evaluation"

427</h3>430</h3>

428 431 

429Salah satu variabel ini diatur: [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, atau `DISABLE_GROWTHBOOK`](/docs/id/env-vars). Masing-masing menonaktifkan evaluasi feature-flag yang ketersediaan Remote Control bergantung padanya, dan pesan lengkap menyebutkan variabel yang Claude Code temukan. Batalkan pengaturan variabel tersebut di mana pun diatur, di lingkungan shell Anda atau di blok `env` dari file [`settings.json`](/docs/id/settings-reference#all-settings). Pada versi sebelum 2.1.154, konfigurasi yang sama menghasilkan "Remote Control is not yet enabled for your account" sebagai gantinya.432[Variabel lingkungan](/docs/id/env-vars#features-that-need-feature-flag-fetching) yang mematikan evaluasi feature-flag diatur, dan pesan lengkap menyebutkan variabel yang ditemukan Claude Code. Pada versi sebelum 2.1.154, konfigurasi yang sama menghasilkan "Remote Control is not yet enabled for your account" sebagai gantinya. Apa yang harus dilakukan tergantung pada variabel yang disebutkan pesan:

433 

434* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` atau `DISABLE_GROWTHBOOK`**: batalkan pengaturan variabel di mana pun itu diatur, di lingkungan shell Anda atau di blok `env` dari file [`settings.json`](/docs/id/settings-reference#all-settings).

435* **`DISABLE_TELEMETRY` atau `DO_NOT_TRACK`**: pada paket Pro, Max, Team, atau Enterprise dengan `DISABLE_GROWTHBOOK` tidak diatur, variabel ini meninggalkan Remote Control tersedia kecuali organisasi Anda memerlukan [Trusted Devices](#trusted-devices). Jika demikian, batalkan pengaturan variabel di mana pun itu diatur untuk menggunakan Remote Control. Dari v2.1.154 hingga v2.1.282, salah satu variabel menghasilkan pesan ini, jadi perbarui Claude Code ke v2.1.283 atau lebih baru.

430 436 

431<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">437<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

432 "Remote Control hanya tersedia saat menggunakan Claude melalui api.anthropic.com"438 "Remote Control is only available when using Claude via api.anthropic.com"

433</h3>439</h3>

434 440 

435Sesi tidak berbicara langsung ke API Anthropic, jadi tidak ada backend claude.ai untuk dipasangkan. Ini terjadi di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. Ini juga terjadi ketika [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [gateway LLM](/docs/id/llm-gateway) atau proxy, bahkan jika Anda masuk dengan claude.ai. Sebelum v2.1.196, Claude Code tidak menampilkan pesan ini untuk `ANTHROPIC_BASE_URL` kustom. Lihat [referensi kesalahan](/docs/id/errors#remote-control-requires-the-anthropic-api) untuk daftar penyebab lengkap.441Sesi tidak berbicara langsung ke Anthropic API, jadi tidak ada backend claude.ai untuk dipasangkan. Ini terjadi pada Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry. Ini juga terjadi ketika [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) menunjuk ke host selain `api.anthropic.com`, seperti [LLM gateway](/docs/id/llm-gateway) atau proxy, bahkan jika Anda masuk dengan claude.ai. Lihat [referensi kesalahan](/docs/id/errors#remote-control-requires-the-anthropic-api) untuk daftar penyebab lengkap.

436 442 

437Pesan menyebutkan apa yang mengarahkan sesi jauh dari API Anthropic, seperti `CLAUDE_CODE_USE_BEDROCK` atau `ANTHROPIC_BASE_URL` kustom. Jika Anda memiliki login claude.ai yang memenuhi syarat, batalkan pengaturan variabel yang disebutkan, hapus dari kunci `env` di [pengaturan](/docs/id/settings) jika Anda menetapkannya di sana, dan mulai ulang sesi. Sebelum v2.1.219, pesan hanya berupa kalimat di header bagian ini, jadi pada versi yang lebih lama periksa lingkungan Anda sendiri untuk variabel penyedia seperti `CLAUDE_CODE_USE_BEDROCK` dan `CLAUDE_CODE_USE_VERTEX`, dan untuk `ANTHROPIC_BASE_URL`.443Pesan menyebutkan apa yang mengarahkan sesi jauh dari Anthropic API, seperti `CLAUDE_CODE_USE_BEDROCK` atau `ANTHROPIC_BASE_URL` kustom. Jika Anda memiliki login claude.ai yang memenuhi syarat, batalkan pengaturan variabel yang disebutkan, hapusnya dari kunci `env` di [pengaturan](/docs/id/settings) jika Anda menetapkannya di sana, dan mulai ulang sesi.

438 444 

439<h3 id="remote-control-is-disabled-by-your-organization’s-policy">445<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

440 "Remote Control dinonaktifkan oleh kebijakan organisasi Anda"446 "Remote Control is disabled by your organization's policy"

441</h3>447</h3>

442 448 

443Kebijakan memblokir Remote Control, atau Claude Code tidak dapat memuat kebijakan organisasi Anda di mesin ini dan terus menjaga Remote Control tetap mati untuk sementara. Periksa penyebab ini secara berurutan:449Kebijakan memblokir Remote Control. Periksa penyebab ini secara berurutan:

450 

451* **Kesalahan menyebutkan `disableRemoteControl`**: administrator IT Anda telah menonaktifkan Remote Control di perangkat ini melalui [pengaturan terkelola](/docs/id/managed-settings), terlepas dari toggle organisasi-lebar dan bagaimana Anda masuk.

452* **Paket claude.ai Anda adalah Pro atau Max**: Claude Code masih masuk di bawah organisasi Team atau Enterprise dari login sebelumnya, jadi itu memeriksa kebijakan Remote Control organisasi itu. Jalankan `/status` untuk melihat paket dan organisasi mana yang digunakan sign-in Anda. Jalankan `claude auth logout` kemudian `claude auth login` untuk masuk lagi di bawah paket Anda saat ini.

453* **Pesan tidak mengatakan untuk menghubungi admin organisasi Anda**: organisasi Anda memiliki konfigurasi HIPAA yang tidak kompatibel dengan Remote Control, dan `/status` mencantumkan `HIPAA` di baris `Compliance` nya. Dalam keadaan ini toggle Remote Control panel admin diarsir, jadi Owner tidak dapat mengubahnya di sana. Hubungi dukungan Anthropic untuk membahas opsi. Sebelum v2.1.267, kasus ini menunjukkan "Remote Control isn't available for your organization due to its compliance policy" sebagai gantinya.

454* **Jika tidak, Owner belum mengaktifkannya untuk organisasi Anda**: Remote Control mati secara default pada paket Team dan Enterprise. Owner dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.

455 

456Sebelum v2.1.281, pesan ini juga muncul ketika Claude Code belum memuat kebijakan organisasi Anda di mesin ini, misalnya setelah memulai offline. Versi yang lebih baru melaporkan keadaan itu sebagai [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) sebagai gantinya.

457 

458<h3 id="couldnt-verify-your-organizations-policy-for-remote-control">

459 "Couldn't verify your organization's policy for remote control"

460</h3>

461 

462Claude Code tidak dapat mengambil kebijakan organisasi Anda dan tidak memiliki salinan yang disimpan di mesin ini untuk digunakan sebagai gantinya, jadi itu membuat Remote Control tetap mati sampai dapat mengkonfirmasi bahwa organisasi Anda mengizinkannya. Ini biasanya terjadi ketika Anda memulai Claude Code offline atau sebelum VPN terhubung, atau ketika proxy mengganggu permintaan. Pada koneksi lambat itu juga dapat muncul saat permintaan pertama masih dalam penerbangan.

463 

464Pesan ini mengambil salah satu bentuk berikut:

444 465 

445* **Kesalahan menyebutkan `disableRemoteControl`**: administrator IT Anda telah menonaktifkan Remote Control di perangkat ini melalui [pengaturan yang dikelola](/docs/id/managed-settings), terlepas dari toggle organisasi-lebar dan bagaimana Anda masuk.466* Dari `/remote-control`, `claude remote-control`, atau `claude --remote-control`: `Couldn't verify your organization's policy for remote control. Check your network connection and try again.`

446* **Paket claude.ai Anda adalah Pro atau Max**: Claude Code masih masuk di bawah organisasi Team atau Enterprise dari login sebelumnya, jadi memeriksa kebijakan Remote Control organisasi tersebut. Jalankan `/status` untuk melihat paket dan organisasi mana yang digunakan sign-in Anda. Jalankan `claude auth logout` kemudian `claude auth login` untuk masuk lagi di bawah paket Anda saat ini.467* Dari [auto-connect](#enable-remote-control-for-all-sessions) ketika sesi dimulai: `couldn't verify your organization's policy — check your network connection and try again`, diawali dengan `Remote Control failed` dalam notifikasi dan `Remote Control disconnected` dalam percakapan. Sesi kemudian meninggalkan Remote Control mati.

447* **Kebijakan organisasi tidak dimuat di mesin ini**: jalankan `claude doctor` dan baca baris `Organization policy`. Jika baris menunjukkan kebijakan tidak dimuat, itulah yang membuat Remote Control tetap mati. Sebelum v2.1.261, `claude doctor` tidak mencetak baris ini.468 

448* **Pesan tidak mengatakan untuk menghubungi admin organisasi Anda**: organisasi Anda memiliki konfigurasi HIPAA yang tidak kompatibel dengan Remote Control, dan `/status` mencantumkan `HIPAA` di baris `Compliance` nya. Dalam keadaan ini toggle Remote Control panel admin berwarna abu-abu, jadi Pemilik tidak dapat mengubahnya di sana. Hubungi dukungan Anthropic untuk membahas opsi. Sebelum v2.1.267, kasus ini menampilkan "Remote Control isn't available for your organization due to its compliance policy" sebagai gantinya.469Pulihkan koneksi jaringan Anda, kemudian jalankan `/remote-control` atau jalankan perintah lagi. Setiap upaya memeriksa kebijakan lagi, jadi Anda tidak perlu memulai ulang Claude Code. Jika pesan terus muncul, jalankan `claude doctor` dan baca baris `Organization policy` nya, yang mengatakan mengapa kebijakan tidak dimuat.

449* **Jika tidak, Pemilik belum mengaktifkannya untuk organisasi Anda**: Remote Control dimatikan secara default di paket Team dan Enterprise. Pemilik dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.470 

471Sebelum v2.1.281, keadaan ini menunjukkan `Remote Control is disabled by your organization's policy` sebagai gantinya.

450 472 

451<h3 id="remote-credentials-fetch-failed">473<h3 id="remote-credentials-fetch-failed">

452 "Remote credentials fetch failed"474 "Remote credentials fetch failed"

453</h3>475</h3>

454 476 

455Claude Code tidak dapat memperoleh kredensial berumur pendek dari API Anthropic untuk membuat koneksi. Jalankan kembali dengan `--verbose` untuk melihat kesalahan lengkapnya:477Claude Code tidak dapat memperoleh kredensial jangka pendek dari Anthropic API untuk membuat koneksi. Jalankan ulang dengan `--verbose` untuk melihat kesalahan lengkap:

456 478 

457```bash theme={null}479```bash theme={null}

458claude remote-control --verbose480claude remote-control --verbose


460 482 

461Penyebab umum:483Penyebab umum:

462 484 

463* Tidak masuk: jalankan `claude` dan gunakan `/login` untuk autentikasi dengan akun claude.ai Anda. Autentikasi kunci API tidak didukung untuk Remote Control.485* Tidak masuk: jalankan `claude` dan gunakan `/login` untuk mengautentikasi dengan akun claude.ai Anda. Autentikasi API key tidak didukung untuk Remote Control.

464* Masalah jaringan atau proxy: firewall atau proxy dapat memblokir permintaan HTTPS keluar. Remote Control memerlukan akses ke API Anthropic di port 443.486* Masalah jaringan atau proxy: firewall atau proxy dapat memblokir permintaan HTTPS keluar. Remote Control memerlukan akses ke Anthropic API di port 443.

465* Pembuatan sesi gagal: jika Anda juga melihat `Session creation failed — see debug log`, kegagalan terjadi lebih awal dalam pengaturan. Periksa bahwa langganan Anda aktif.487* Pembuatan sesi gagal: jika Anda juga melihat `Session creation failed — see debug log`, kegagalan terjadi lebih awal dalam setup. Periksa bahwa langganan Anda aktif.

466 

467Token login yang sudah usang tidak menyebabkan kesalahan ini. Ketika API Anthropic menolak token yang disimpan, misalnya karena proses Claude Code lain sudah menyegarkannya, Claude Code menyegarkan token dan mencoba lagi dengan sendirinya. Sebelum v2.1.224, token yang sudah usang gagal startup Remote Control dengan pesan ini, jadi sesi yang diatur untuk [terhubung secara otomatis](#enable-remote-control-for-all-sessions) dapat gagal secara berkala saat peluncuran.

468 488 

469<h3 id="couldn’t-reconnect-to-your-remote-control-session">489<h3 id="couldnt-reconnect-to-your-remote-control-session">

470 "Tidak dapat terhubung kembali ke sesi Remote Control Anda"490 "Couldn't reconnect to your Remote Control session"

471</h3>491</h3>

472 492 

473Ketika Anda melanjutkan percakapan dengan `claude --resume` atau `claude --continue`, Claude Code terhubung kembali ke sesi Remote Control yang tercatat dalam percakapan tersebut. Pesan ini berarti koneksi ulang gagal karena alasan yang mungkin bersifat sementara, seperti gangguan jaringan atau kesalahan server, jadi Claude Code tidak dapat mengkonfirmasi apakah sesi jarak jauh masih ada.493Ketika Anda melanjutkan percakapan dengan `claude --resume` atau `claude --continue`, Claude Code terhubung kembali ke sesi Remote Control yang dicatat dalam percakapan itu. Pesan ini berarti reconnection gagal karena alasan yang mungkin bersifat sementara, seperti gangguan jaringan atau kesalahan server, jadi Claude Code tidak dapat mengkonfirmasi apakah sesi jarak jauh masih ada.

474 

475Jalankan `/remote-control` untuk mencoba koneksi lagi, atau mulai sesi baru dengan `claude --remote-control` untuk membuat sesi Remote Control baru. Sesi lokal Anda terus berjalan tanpa Remote Control untuk sementara.

476 

477<span id="resume-outcomes" />Ketika Anda melanjutkan, Anda juga dapat mendapatkan salah satu hasil ini alih-alih pesan ini:

478 

479* **Server melaporkan sesi yang tercatat hilang, atau catatan koneksi ulang menyebutkan akun yang berbeda**: Claude Code mengikuti apa yang dikatakan catatan koneksi ulang percakapan:

480 * **Catatan menyebutkan akun yang Anda masuki**: Claude Code memulai sesi pengganti dengan nama yang dibuat secara otomatis dan meninggalkan pesan sebelumnya dari percakapan. Anda mendapatkan ini setelah Anda menghapus sesi dari claude.ai atau aplikasi Claude, misalnya.

481 * **Catatan menyebutkan akun yang berbeda**: Claude Code memulai sesi baru tanpa pesan sebelumnya dari percakapan dan tanpa menampilkan pesan, terlepas dari apakah sesi yang tercatat masih ada.

482 * **Catatan tidak mengatakan akun mana yang memiliki sesi, atau Claude Code tidak dapat membaca sign-in yang disimpan Anda**: Claude Code menampilkan [`Previous session is unavailable — run /remote-control to start a new one`](#previous-session-is-unavailable) alih-alih pesan ini, tidak memulai apa pun, dan menghapus catatan dari percakapan.

483* **Anda mematikan Remote Control sebelum melanjutkan**: kecuali aplikasi yang menghosting Claude Code telah memberitahu bahwa aplikasi memiliki sesi claude.ai, Claude Code menghapus catatan koneksi ulang ketika Anda mematikan Remote Control dari [panel status](#check-connection-status) CLI, ekstensi VS Code, atau host yang dibangun di [Agent SDK](/docs/id/agent-sdk/overview), jadi tidak terhubung kembali. Ketika aplikasi pemilik mematikannya, Claude Code menyimpan catatan dan terhubung kembali.

484* **Claude Code lain di mesin ini masih memiliki sesi**: Anda melihat pemberitahuan yang dimulai dengan `Remote Control not started here`, dan Claude Code [meninggalkan Remote Control mati di sesi yang dilanjutkan](#resume-sessions-after-stopping-the-server). Jalankan `/remote-control` di sana untuk memindahkannya.

485 494 

486<span id="reconnect-history" />Sebelum v2.1.232, Claude Code merespons berbeda ketika server melaporkan sesi yang tercatat hilang. Dari v2.1.227 hingga v2.1.231, Claude Code menolak untuk memulai pengganti bahkan ketika catatan cocok dengan akun Anda. Melalui v2.1.226, Claude Code memulai pengganti terlepas dari apakah catatan cocok dengan akun Anda, dan di v2.1.224 hingga v2.1.226 membuatnya di bawah akun yang masuk di mesin itu, tidak pernah akun lain, tanpa mengunggah pesan sebelumnya dari percakapan ke dalamnya. Sebelum v2.1.200, Claude Code membuat sesi baru setelah kegagalan koneksi ulang apa pun.495Jalankan `/remote-control` untuk mencoba ulang koneksi, atau mulai sesi baru dengan `claude --remote-control` untuk membuat sesi Remote Control baru. Sesi lokal Anda terus berjalan tanpa Remote Control sementara itu.

487 496 

488<h3 id="previous-session-is-unavailable">497<h3 id="previous-session-is-unavailable">

489 "Previous session is unavailable — run /remote-control to start a new one"498 "Previous session is unavailable — run /remote-control to start a new one"


491 500 

492Claude Code tidak dapat membawa kembali sesi Remote Control sebelumnya dan berhenti alih-alih memulai sesi baru dengan sendirinya. Anda dapat melihat pesan ini setelah Anda melanjutkan percakapan dengan `claude --resume` atau `claude --continue`, atau setelah Claude Code [terhubung kembali dengan sendirinya setelah putus](/docs/id/errors#remote-control-couldnt-refresh-your-login).501Claude Code tidak dapat membawa kembali sesi Remote Control sebelumnya dan berhenti alih-alih memulai sesi baru dengan sendirinya. Anda dapat melihat pesan ini setelah Anda melanjutkan percakapan dengan `claude --resume` atau `claude --continue`, atau setelah Claude Code [terhubung kembali dengan sendirinya setelah putus](/docs/id/errors#remote-control-couldnt-refresh-your-login).

493 502 

494Jalankan `/remote-control` untuk memulai sesi Remote Control baru di bawah login saat ini; sesi lokal Anda terus berjalan tanpa Remote Control untuk sementara. Pesan terkait `Remote Control could not verify the signed-in account — run /remote-control to reconnect` memiliki perbaikan yang sama; Claude Code menampilkannya ketika akun yang masuk berubah atau tidak dapat dibaca antara memvalidasinya dan terhubung kembali. Jika Anda menjalankan `/remote-control` setelah `Previous session is unavailable` tanpa memulai ulang Claude Code terlebih dahulu, Claude Code meninggalkan pesan sebelumnya dari percakapan di luar sesi baru.503Jalankan `/remote-control` untuk memulai sesi Remote Control baru di bawah login saat ini; sesi lokal Anda terus berjalan tanpa Remote Control sementara itu. Pesan terkait `Remote Control could not verify the signed-in account — run /remote-control to reconnect` memiliki perbaikan yang sama. Jika Anda menjalankan `/remote-control` setelah `Previous session is unavailable` tanpa memulai ulang Claude Code terlebih dahulu, Claude Code meninggalkan pesan sebelumnya dari percakapan di luar sesi baru.

495 

496Saat melanjutkan, Claude Code [memulai sesi baru sebagai penggantinya](#resume-outcomes) hanya jika catatan koneksi ulang percakapan menyebutkan akun yang memiliki sesi, karena server melaporkan sesi yang Anda hapus dan sesi yang dimiliki oleh akun lain dengan cara yang sama. Claude Code sebelum v2.1.227 tidak mencatat akun itu, dan Claude Code tidak dapat memeriksa catatan ketika tidak dapat membaca sign-in yang disimpan Anda. Claude Code sebelum v2.1.232 menampilkan `Remote Control could not resume the previous session under the current login — run /remote-control to start fresh` sebagai gantinya, di [serangkaian kasus yang berbeda](#reconnect-history).

497 504 

498<h3 id="remote-control-got-an-unexpected-server-response">505<h3 id="remote-control-got-an-unexpected-server-response">

499 "Remote Control got an unexpected server response"506 "Remote Control got an unexpected server response"

500</h3>507</h3>

501 508 

502Server Remote Control menerima permintaan tetapi membalas dalam bentuk yang versi Claude Code ini tidak dapat baca, saat membuat sesi jarak jauh atau mengambil kredensialnya. Mencoba lagi pada versi yang sama gagal dengan cara yang sama. Jalankan `claude update`, kemudian jalankan `/remote-control` untuk terhubung kembali. Pesan ini ditambahkan di v2.1.225.509Server Remote Control menerima permintaan tetapi membalas dalam bentuk yang versi Claude Code ini tidak dapat baca, saat membuat sesi jarak jauh atau mengambil kredensialnya. Mencoba ulang pada versi yang sama gagal dengan cara yang sama. Jalankan `claude update`, kemudian jalankan `/remote-control` untuk terhubung kembali.

503 510 

504<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">511<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">

505 "Organisasi Anda memerlukan Perangkat Terpercaya untuk Remote Control, tetapi perangkat ini tidak terdaftar"512 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"

506</h3>513</h3>

507 514 

508Organisasi Anda telah mengaktifkan [Perangkat Terpercaya](#trusted-devices) dan mesin ini belum terdaftar. Jalankan `/login` di Claude Code. Pendaftaran terjadi sebagai bagian dari masuk, dan tidak ada perintah pendaftaran terpisah.515Organisasi Anda telah mengaktifkan [Trusted Devices](#trusted-devices) dan mesin ini belum terdaftar. Jalankan `/login` di Claude Code. Pendaftaran terjadi sebagai bagian dari sign-in, dan tidak ada perintah pendaftaran terpisah.

509 516 

510<h3 id="session-expired-for-trusted-device-check">517<h3 id="session-expired-for-trusted-device-check">

511 "session expired for trusted-device check"518 "session expired for trusted-device check"

512</h3>519</h3>

513 520 

514Masuk Anda lebih dari 18 jam yang lalu. Jalankan `/login` di Claude Code, atau konfirmkan dengan Face ID, Touch ID, Windows Hello, atau passkey ketika claude.ai atau aplikasi mobile meminta Anda. Lihat [Perangkat Terpercaya](#trusted-devices).521Sign-in Anda lebih dari 18 jam yang lalu. Jalankan `/login` di Claude Code, atau konfirmasi dengan Face ID, Touch ID, Windows Hello, atau passkey ketika claude.ai atau aplikasi mobile meminta Anda. Lihat [Trusted Devices](#trusted-devices).

515 

516<h2 id="choose-the-right-approach">

517 Pilih pendekatan yang tepat

518</h2>

519 

520Claude Code menawarkan beberapa cara untuk bekerja ketika Anda tidak berada di terminal. Mereka berbeda dalam hal apa yang memicu pekerjaan, di mana Claude berjalan, dan berapa banyak yang perlu Anda atur.

521 

522| | Pemicu | Claude berjalan di | Pengaturan | Terbaik untuk |

523| :- | :- | :- | :- | :- |

524| [Dispatch](/docs/id/desktop#sessions-from-dispatch) | Kirim pesan tugas dari aplikasi mobile Claude | Mesin Anda (Desktop) | [Pasangkan aplikasi mobile dengan Desktop](https://support.claude.com/en/articles/13947068) | Mendelegasikan pekerjaan saat Anda pergi, pengaturan minimal |

525| [Remote Control](/docs/id/remote-control) | Jalankan sesi yang sedang berjalan dari [claude.ai/code](https://claude.ai/code) atau aplikasi mobile Claude | Mesin Anda (CLI atau VS Code) | Jalankan `claude remote-control` | Mengarahkan pekerjaan yang sedang berlangsung dari perangkat lain |

526| [Channels](/docs/id/channels) | Dorong acara dari aplikasi chat seperti Telegram atau Discord, atau server Anda sendiri | Mesin Anda (CLI) | [Instal plugin channel](/docs/id/channels#quickstart) atau [buat milik Anda sendiri](/docs/id/channels-reference) | Bereaksi terhadap acara eksternal seperti kegagalan CI atau pesan chat |

527| [Slack](/docs/id/slack) | Sebutkan `@Claude` di saluran tim | Cloud Anthropic | [Instal aplikasi Slack](/docs/id/slack#setting-up-claude-code-in-slack) dengan [Claude Code di web](/docs/id/claude-code-on-the-web) diaktifkan | PR dan ulasan dari chat tim |

528| [Self-hosted environments](/docs/id/self-hosted-environments) | Mulai [sesi cloud](/docs/id/claude-code-on-the-web) dan pilih lingkungan organisasi Anda | Infrastruktur organisasi Anda | [Terapkan runner](/docs/id/self-hosted-environments-quickstart), pada paket Team dan Enterprise | Sesi cloud yang harus berjalan di dalam jaringan Anda |

529| [Scheduled tasks](/docs/id/scheduled-tasks) | Atur jadwal | [CLI](/docs/id/scheduled-tasks), [Desktop](/docs/id/desktop-scheduled-tasks), atau [cloud](/docs/id/routines) | Pilih frekuensi | Otomasi berulang seperti ulasan harian |

530 522 

531<h2 id="related-resources">523<h2 id="related-resources">

532 Sumber daya terkait524 Sumber daya terkait

routines.md +3 −2

Details

59Ketika jadwal rutinitas atau **Run now** memulai jalankan, Claude menerbitkan kembali artifact yang ada tanpa bertanya hanya ketika semua hal ini berlaku:59Ketika jadwal rutinitas atau **Run now** memulai jalankan, Claude menerbitkan kembali artifact yang ada tanpa bertanya hanya ketika semua hal ini berlaku:

60 60 

61* Anda dapat mengedit artifact dan itu milik organisasi Anda sendiri61* Anda dapat mengedit artifact dan itu milik organisasi Anda sendiri

62* Artifact tidak dibagikan secara publik, dan tidak dibagikan dengan orang-orang tertentu atau organisasi Anda dengan versi terbaru dipilih sebagai versi yang dilihat penonton62* Artifact tidak dibagikan secara publik

63* Jika artifact dibagikan dengan orang-orang tertentu atau organisasi Anda, penontonnya tidak secara otomatis melihat setiap versi baru

63* Penerbitan hanya membawa halaman, tanpa file pendukung atau apa pun yang ditambahkan, dan tidak memaksa versi yang lebih baru64* Penerbitan hanya membawa halaman, tanpa file pendukung atau apa pun yang ditambahkan, dan tidak memaksa versi yang lebih baru

64* Halaman tidak memiliki hibah yang melampaui halaman, seperti [panggilan konektor](/docs/id/artifacts#pull-live-data-with-mcp-connectors)65* Halaman tidak memiliki hibah yang melampaui halaman, seperti [panggilan konektor](/docs/id/artifacts#pull-live-data-with-mcp-connectors)

65 66 


151 152 

152Pemicu jadwal menjalankan rutinitas dengan frekuensi berulang, atau sekali pada waktu masa depan tertentu. Pilih frekuensi preset di bagian **Select a trigger**: per jam, harian, hari kerja, atau mingguan. Waktu dimasukkan dalam zona lokal Anda dan dikonversi secara otomatis, sehingga rutinitas berjalan pada waktu dinding jam itu terlepas dari di mana infrastruktur cloud berada.153Pemicu jadwal menjalankan rutinitas dengan frekuensi berulang, atau sekali pada waktu masa depan tertentu. Pilih frekuensi preset di bagian **Select a trigger**: per jam, harian, hari kerja, atau mingguan. Waktu dimasukkan dalam zona lokal Anda dan dikonversi secara otomatis, sehingga rutinitas berjalan pada waktu dinding jam itu terlepas dari di mana infrastruktur cloud berada.

153 154 

154Jalankan mungkin dimulai beberapa menit setelah waktu terjadwal karena stagger. Offset konsisten untuk setiap rutinitas.155Jika Anda menjadwalkan jalankan tepat pada jam, seperti 9:00, jalankan dapat dimulai beberapa menit terlambat. Untuk memulai dekat dengan waktu terjadwal, pilih beberapa menit setelah jam, misalnya 9:07.

155 156 

156Untuk interval khusus seperti setiap dua jam atau tanggal pertama setiap bulan, pilih preset terdekat dalam formulir, lalu jalankan `/schedule update` di CLI untuk menetapkan ekspresi cron spesifik. Interval minimum adalah satu jam; ekspresi yang berjalan lebih sering ditolak.157Untuk interval khusus seperti setiap dua jam atau tanggal pertama setiap bulan, pilih preset terdekat dalam formulir, lalu jalankan `/schedule update` di CLI untuk menetapkan ekspresi cron spesifik. Interval minimum adalah satu jam; ekspresi yang berjalan lebih sering ditolak.

157 158 

Details

117Di Linux dan WSL2, runtime menerapkan hibah tulis hanya ke jalur yang sudah ada. Dalam lingkungan baru, buat jalur konfigurasi Claude Code sebelum peluncuran pertama:117Di Linux dan WSL2, runtime menerapkan hibah tulis hanya ke jalur yang sudah ada. Dalam lingkungan baru, buat jalur konfigurasi Claude Code sebelum peluncuran pertama:

118 118 

119```bash theme={null}119```bash theme={null}

120mkdir -p ~/.claude && echo '{}' > ~/.claude.json120mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }

121```121```

122 122 

123Setelah file pengaturan sudah ada, luncurkan Claude Code dengan `npx` dan berikan `claude` sebagai perintah untuk dibungkus:123Setelah file pengaturan sudah ada, luncurkan Claude Code dengan `npx` dan berikan `claude` sebagai perintah untuk dibungkus:

sandboxing.md +6 −6

Details

42 </Step>42 </Step>

43 43 

44 <Step title="Jalankan perintah Bash">44 <Step title="Jalankan perintah Bash">

45 Minta Claude untuk menjalankan perintah, seperti build atau test suite. Secara default, perintah di dalam sandbox dapat menulis ke direktori kerja, direktori temp sesi, dan [direktori apa pun yang telah Anda tambahkan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dengan `--add-dir`, `/add-dir`, atau `permissions.additionalDirectories`.45 Minta Claude untuk menjalankan perintah, seperti build atau test suite. Secara default, perintah di dalam sandbox dapat menulis ke direktori kerja, [direktori temp per-pengguna](/docs/id/env-vars), dan [direktori apa pun yang telah Anda tambahkan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dengan `--add-dir`, `/add-dir`, atau `permissions.additionalDirectories`.

46 46 

47 Pertama kali perintah memerlukan domain jaringan baru, Claude Code meminta persetujuan; dalam [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), Claude malah menamai host yang dibutuhkan perintah [pada perintah itu sendiri](#per-command-allowed-domains-in-auto-mode) untuk pengklasifikasi ditinjau bersama dengannya.47 Pertama kali perintah memerlukan domain jaringan baru, Claude Code meminta persetujuan; dalam [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), Claude malah menamai host yang dibutuhkan perintah [pada perintah itu sendiri](#per-command-allowed-domains-in-auto-mode) untuk pengklasifikasi ditinjau bersama dengannya.

48 48 


179 Direktori sementara179 Direktori sementara

180</h4>180</h4>

181 181 

182Direktori temp sesi dapat ditulis di dalam sandbox secara default, bersama dengan direktori kerja. Kecuali Anda [disable filesystem isolation](#disable-filesystem-isolation), Claude Code menetapkan `$TMPDIR` ke direktori ini untuk perintah sandboxed, sehingga alat yang menulis file sementara bekerja tanpa konfigurasi tambahan.182Direktori temp per-pengguna dapat ditulis di dalam sandbox secara default, bersama dengan direktori kerja. Kecuali Anda [disable filesystem isolation](#disable-filesystem-isolation), Claude Code menetapkan `$TMPDIR` ke direktori ini untuk perintah sandboxed, sehingga alat yang menulis file sementara bekerja tanpa konfigurasi tambahan.

183 183 

184Perintah unsandboxed mewarisi `$TMPDIR` shell Anda ketika diatur, sehingga sementara isolasi filesystem aktif, perintah sandboxed dan unsandboxed menyelesaikan `$TMPDIR` ke direktori yang berbeda. Jika shell Anda membiarkan `$TMPDIR` tidak diatur atau kosong, perintah unsandboxed yang mereferensikan `$TMPDIR` menerima override [`CLAUDE_CODE_TMPDIR`](/docs/id/env-vars) Anda, atau direktori temp sistem operasi ketika Anda belum menetapkan satu atau override adalah jalur panjang, sehingga variabel tidak berkembang menjadi string kosong. Untuk meneruskan file sementara di antara keduanya, tulis di bawah direktori kerja sebagai gantinya.184Perintah unsandboxed mewarisi `$TMPDIR` shell Anda ketika diatur, sehingga sementara isolasi filesystem aktif, perintah sandboxed dan unsandboxed menyelesaikan `$TMPDIR` ke direktori yang berbeda. Jika shell Anda membiarkan `$TMPDIR` tidak diatur atau kosong, perintah unsandboxed yang mereferensikan `$TMPDIR` menerima override [`CLAUDE_CODE_TMPDIR`](/docs/id/env-vars) Anda, atau direktori temp sistem operasi ketika Anda belum menetapkan satu atau override adalah jalur panjang, sehingga variabel tidak berkembang menjadi string kosong. Untuk meneruskan file sementara di antara keduanya, tulis di bawah direktori kerja sebagai gantinya.

185 185 


189 189 

190Sesuaikan perilaku sandbox melalui file `settings.json` Anda. Lihat [Settings](/docs/id/settings-reference#sandbox-settings) untuk referensi konfigurasi lengkap.190Sesuaikan perilaku sandbox melalui file `settings.json` Anda. Lihat [Settings](/docs/id/settings-reference#sandbox-settings) untuk referensi konfigurasi lengkap.

191 191 

192Secara default, perintah sandboxed dapat menulis ke direktori kerja saat ini, direktori temp sesi, dan [direktori apa pun yang telah Anda tambahkan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dengan `--add-dir`, `/add-dir`, atau `permissions.additionalDirectories`. Jika perintah subprocess seperti `kubectl`, `terraform`, atau `npm` perlu menulis di luar direktori tersebut, gunakan `sandbox.filesystem.allowWrite` untuk memberikan akses ke jalur tertentu:192Secara default, perintah sandboxed dapat menulis ke direktori kerja saat ini, direktori temp per-pengguna, dan [direktori apa pun yang telah Anda tambahkan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dengan `--add-dir`, `/add-dir`, atau `permissions.additionalDirectories`. Jika perintah subprocess seperti `kubectl`, `terraform`, atau `npm` perlu menulis di luar direktori tersebut, gunakan `sandbox.filesystem.allowWrite` untuk memberikan akses ke jalur tertentu:

193 193 

194```json theme={null}194```json theme={null}

195{195{


309 309 

310Dua hal lain berubah:310Dua hal lain berubah:

311 311 

312* Perintah sandboxed mewarisi `$TMPDIR` shell Anda daripada direktori temp sesi, karena setiap direktori temp dapat ditulis dan Claude Code tidak lagi mengarahkan perintah ke yang sesi.312* Perintah sandboxed mewarisi `$TMPDIR` shell Anda daripada direktori temp per-pengguna, karena setiap direktori temp dapat ditulis dan Claude Code tidak lagi mengarahkan perintah ke yang per-pengguna.

313 313 

314 Di Linux variabel sering tidak diatur dalam shell induk. Panduan alat Bash memberi tahu Claude untuk membuat direktori scratch dengan `mktemp -d` daripada mengandalkan `$TMPDIR`.314 Di Linux variabel sering tidak diatur dalam shell induk. Panduan alat Bash memberi tahu Claude untuk membuat direktori scratch dengan `mktemp -d` daripada mengandalkan `$TMPDIR`.

315* [`autoAllowBashIfSandboxed`](/docs/id/settings-reference#sandbox-autoallowbashifsandboxed) masih default ke `true`, jadi perintah sandboxed terus berjalan tanpa prompt. Atur ke `false` untuk meminta perintah sandboxed.315* [`autoAllowBashIfSandboxed`](/docs/id/settings-reference#sandbox-autoallowbashifsandboxed) masih default ke `true`, jadi perintah sandboxed terus berjalan tanpa prompt. Atur ke `false` untuk meminta perintah sandboxed.


528 528 

529Alat Bash sandboxed membatasi akses sistem file ke direktori tertentu:529Alat Bash sandboxed membatasi akses sistem file ke direktori tertentu:

530 530 

531* **Perilaku penulisan default**: akses baca dan tulis ke direktori kerja saat ini dan subdirektorinya, direktori apa pun yang telah Anda tambahkan dengan `--add-dir`, `/add-dir`, atau [`permissions.additionalDirectories`](/docs/id/settings-reference#permissions-additionaldirectories), ditambah direktori temp sesi yang ditunjuk oleh `$TMPDIR`531* **Perilaku penulisan default**: akses baca dan tulis ke direktori kerja saat ini dan subdirektorinya, direktori apa pun yang telah Anda tambahkan dengan `--add-dir`, `/add-dir`, atau [`permissions.additionalDirectories`](/docs/id/settings-reference#permissions-additionaldirectories), ditambah direktori temp per-pengguna yang ditunjuk oleh `$TMPDIR`

532* **Perilaku pembacaan default**: akses baca ke seluruh komputer, kecuali direktori tertentu yang ditolak. Perhatikan bahwa default ini masih memungkinkan pembacaan file kredensial seperti `~/.aws/credentials` dan `~/.ssh/`. Gunakan [`sandbox.credentials`](#protect-credentials) untuk memblokir pembacaan file-file ini dan membatalkan penetapan variabel lingkungan rahasia, atau tambahkan jalur ke `denyRead`.532* **Perilaku pembacaan default**: akses baca ke seluruh komputer, kecuali direktori tertentu yang ditolak. Perhatikan bahwa default ini masih memungkinkan pembacaan file kredensial seperti `~/.aws/credentials` dan `~/.ssh/`. Gunakan [`sandbox.credentials`](#protect-credentials) untuk memblokir pembacaan file-file ini dan membatalkan penetapan variabel lingkungan rahasia, atau tambahkan jalur ke `denyRead`.

533* **Akses terblokir**: tidak dapat memodifikasi file di luar direktori kerja, direktori yang ditambahkan, dan direktori temp sesi tanpa izin eksplisit, termasuk file konfigurasi shell seperti `~/.bashrc` dan binari sistem di `/bin/`533* **Akses terblokir**: tidak dapat memodifikasi file di luar direktori kerja, direktori yang ditambahkan, dan direktori temp per-pengguna tanpa izin eksplisit, termasuk file konfigurasi shell seperti `~/.bashrc` dan binari sistem di `/bin/`

534* **Git worktrees**: ketika direktori kerja adalah [linked git worktree](/docs/id/worktrees), sandbox juga memungkinkan penulisan ke direktori `.git` bersama dari repositori utama sehingga perintah seperti `git commit` dapat memperbarui refs dan indeks. Penulisan ke `hooks/` dan `config` di dalam direktori tersebut tetap ditolak.534* **Git worktrees**: ketika direktori kerja adalah [linked git worktree](/docs/id/worktrees), sandbox juga memungkinkan penulisan ke direktori `.git` bersama dari repositori utama sehingga perintah seperti `git commit` dapat memperbarui refs dan indeks. Penulisan ke `hooks/` dan `config` di dalam direktori tersebut tetap ditolak.

535* **Dapat dikonfigurasi**: tentukan jalur yang diizinkan dan ditolak khusus melalui pengaturan535* **Dapat dikonfigurasi**: tentukan jalur yang diizinkan dan ditolak khusus melalui pengaturan

536 536 

security.md +2 −1

Details

128 128 

129* **Mesin virtual terisolasi**: Setiap sesi cloud berjalan di VM yang terisolasi dan dikelola Anthropic129* **Mesin virtual terisolasi**: Setiap sesi cloud berjalan di VM yang terisolasi dan dikelola Anthropic

130* **Kontrol akses jaringan**: Akses jaringan dibatasi secara default dan dapat dikonfigurasi untuk dinonaktifkan atau hanya mengizinkan domain tertentu130* **Kontrol akses jaringan**: Akses jaringan dibatasi secara default dan dapat dikonfigurasi untuk dinonaktifkan atau hanya mengizinkan domain tertentu

131* **Perlindungan kredensial**: Autentikasi ditangani melalui proxy aman yang menggunakan kredensial bersisir di dalam sandbox, yang kemudian diterjemahkan ke token autentikasi GitHub aktual Anda131* **Perlindungan kredensial**: Kredensial GitHub disimpan terenkripsi di server Anthropic dan tidak pernah masuk ke VM sesi. VM menyimpan kredensial berumur pendek yang dibatasi untuk sesi tersebut, dan lalu lintas GitHub melewati [proxy Anthropic](/docs/id/cloud-environments#github-proxy) yang melampirkan kredensial GitHub di sisi server. Lihat [opsi autentikasi GitHub](/docs/id/claude-code-on-the-web#github-authentication-options) untuk cara Anda memberikan akses

132* **Pembatasan cabang**: Operasi git push dibatasi pada cabang kerja saat ini132* **Pembatasan cabang**: Operasi git push dibatasi pada cabang kerja saat ini

133* **Pencatatan audit**: Semua operasi di sesi cloud dicatat untuk kepatuhan dan tujuan audit133* **Pencatatan audit**: Semua operasi di sesi cloud dicatat untuk kepatuhan dan tujuan audit

134* **Pembersihan otomatis**: VM sesi diklaim kembali setelah periode tidak aktif134* **Pembersihan otomatis**: VM sesi diklaim kembali setelah periode tidak aktif

135* **Penghapusan**: Anda dapat [menghapus sesi](/docs/id/claude-code-on-the-web#delete-sessions) kapan saja. Lihat [Alur data eksekusi cloud](/docs/id/data-usage#cloud-execution-data-flow-and-dependencies) untuk mengetahui apa yang Anthropic simpan untuk sesi cloud

135 136 

136Untuk detail lebih lanjut tentang eksekusi cloud, lihat [Gunakan Claude Code di cloud](/docs/id/claude-code-on-the-web); untuk mengonfigurasi akses jaringan untuk sesi cloud, lihat [Konfigurasi lingkungan cloud](/docs/id/cloud-environments#network-access).137Untuk detail lebih lanjut tentang eksekusi cloud, lihat [Gunakan Claude Code di cloud](/docs/id/claude-code-on-the-web); untuk mengonfigurasi akses jaringan untuk sesi cloud, lihat [Konfigurasi lingkungan cloud](/docs/id/cloud-environments#network-access).

137 138 

Details

220ENTRYPOINT ["claude"]220ENTRYPOINT ["claude"]

221```221```

222 222 

223Tukar `linux-x64` untuk `linux-arm64` jika node Anda adalah ARM, atau untuk `linux-x64-musl` atau `linux-arm64-musl` pada gambar berbasis musl seperti Alpine; lihat [Alpine Linux setup](/docs/id/setup#alpine-linux-and-musl-based-distributions) untuk paket tambahan yang dibutuhkan gambar musl. URL adalah lokasi rilis Claude Code standar, jadi Anda dapat memverifikasi biner yang diunduh terhadap manifes yang ditandatangani rilis seperti yang dijelaskan dalam [Binary integrity and code signing](/docs/id/setup#binary-integrity-and-code-signing). Bangun gambar dengan Claude Code versi 2.1.224 atau lebih baru, kemudian dorong ke registri Anda dan referensikan dalam resep di bawah:223Tukar `linux-x64` untuk `linux-arm64` jika node Anda adalah ARM, atau untuk `linux-x64-musl` atau `linux-arm64-musl` pada gambar berbasis musl seperti Alpine; lihat [Alpine Linux setup](/docs/id/setup#alpine-linux-and-musl-based-distributions) untuk paket tambahan yang dibutuhkan gambar musl. URL adalah lokasi rilis Claude Code standar, jadi Anda dapat memverifikasi biner yang diunduh terhadap manifes yang ditandatangani rilis seperti yang dijelaskan dalam [Binary integrity and code signing](/docs/id/setup#binary-integrity-and-code-signing). Runner memerlukan Claude Code versi 2.1.224 atau lebih baru. Bangun gambar, kemudian dorong ke registri Anda dan referensikan dalam resep di bawah:

224 224 

225```bash theme={null}225```bash theme={null}

226docker build --build-arg CLAUDE_CODE_VERSION=2.1.267 -t <your-registry>/claude-runner:latest .226docker build \

227 --build-arg CLAUDE_CODE_VERSION="$(curl -fsSL https://downloads.claude.ai/claude-code-releases/stable)" \

228 -t <your-registry>/claude-runner:latest .

227```229```

228 230 

231Substitusi perintah mencari nomor rilis `stable` saat ini dan meneruskannya sebagai argumen build, jadi menjalankan perintah yang sama setelah rilis stabil baru membangun ulang lapisan unduhan dengan biner yang lebih baru. Untuk menyematkan rilis tertentu untuk build yang dapat direproduksi, teruskan nomor versi langsung sebagai `CLAUDE_CODE_VERSION`. Ganti `stable` dengan `latest` dalam URL pencarian ketika Anda memerlukan rilis yang lebih baru dari saluran stabil, seperti yang [diperlukan model yang baru diluncurkan](/docs/id/model-config).

232 

229<h2 id="size-cpu-and-memory-for-sessions">233<h2 id="size-cpu-and-memory-for-sessions">

230 Ukuran CPU dan memori untuk sesi234 Ukuran CPU dan memori untuk sesi

231</h2>235</h2>

Details

220 220 

221Pengiriman yang dikelola server menambahkan perilaku ini:221Pengiriman yang dikelola server menambahkan perilaku ini:

222 222 

223* Cache di `~/.claude/remote-settings.json` menyimpan payload yang diselamatkan dengan entri tidak valid dihapus, terlepas dari nilai `cleanupPeriodDays` dan `desktopSessionCleanupPeriodDays` yang tidak valid, yang tetap dalam salinan yang di-cache dan tidak pernah diterapkan.223* Startup yang berjalan pada cache di `~/.claude/remote-settings.json` memperlakukan entri tidak valid dengan cara yang dilakukan pengambilan yang menulis cache:

224* Ketika tidak ada bidang dalam payload yang dapat diselamatkan dan payload bukan hanya kunci retensi tersebut, Claude Code menolak payload, menyimpan pengaturan cache yang terakhir diterima, dan menulis `Remote settings: Settings validation failed - no fields could be salvaged` ke log debug. Dengan `forceRemoteSettingsRefresh` diatur, CLI keluar sebagai gantinya.224 * Entri yang gagal validasi tetap dihapus.

225 * [Kunci yang gagal tertutup](/docs/id/managed-settings#keys-that-fail-closed) menyimpan nilai yang lebih ketat.

226 * Nilai `cleanupPeriodDays` atau `desktopSessionCleanupPeriodDays` yang tidak valid tetap dalam salinan yang di-cache dan tidak pernah diterapkan.

227* Claude Code tidak menerapkan apa pun dari payload dan membiarkan cache tidak berubah ketika ketiga hal ini semuanya benar:

228 

229 * Setiap pengaturan dalam payload gagal validasi.

230 * Tidak ada satupun dari mereka yang kembali ke nilai yang lebih ketat.

231 * Payload menyimpan kunci selain dua kunci retensi tersebut.

232 

233 Pemberitahuan startup, `/status`, dan `claude doctor` kemudian melaporkan [beban gagal](/docs/id/errors#remote-managed-settings-failed-to-load) dengan penyebab `no setting in the server response could be applied as written`, dan entri tersebut mengatakan kebijakan mana yang dijalankan sesi. Klien yang [memberlakukan startup tertutup gagal](#enforce-fail-closed-startup) keluar pada startup sebagai gantinya.

225* [Dialog persetujuan keamanan](#security-approval-dialogs) mengevaluasi payload yang diselamatkan, jadi entri tidak valid yang dilucuti tidak pernah disajikan untuk persetujuan dan tidak pernah dieksekusi.234* [Dialog persetujuan keamanan](#security-approval-dialogs) mengevaluasi payload yang diselamatkan, jadi entri tidak valid yang dilucuti tidak pernah disajikan untuk persetujuan dan tidak pernah dieksekusi.

226 235 

227Untuk men-debug masalah pengiriman, jalankan `claude --debug-file <path>` dan cari log untuk `Remote settings`. Validasi perubahan payload dengan `claude doctor` pada mesin uji sebelum meluncurkannya ke organisasi.236Untuk men-debug masalah pengiriman, jalankan `claude --debug-file <path>` dan cari log untuk `Remote settings`. Validasi perubahan payload dengan `claude doctor` pada mesin uji sebelum meluncurkannya ke organisasi.

sessions.md +2 −1

Details

43* Mode izin: jika Anda melanjutkan dari terminal dengan `claude --continue`, `claude --resume <session-id>`, atau `claude --resume <name>` ketika nama cocok dengan satu sesi, tanpa `-p`, Claude Code memulihkan mode izin yang ada di sesi, kecuali dalam kasus di [mode izin saat melanjutkan](#permission-mode-on-resume), yang juga mencakup pemilih sesi, `/resume`, dan melanjutkan dengan `claude -p`. Teruskan `--permission-mode` atau `--dangerously-skip-permissions` untuk mengganti mode yang dipulihkan.43* Mode izin: jika Anda melanjutkan dari terminal dengan `claude --continue`, `claude --resume <session-id>`, atau `claude --resume <name>` ketika nama cocok dengan satu sesi, tanpa `-p`, Claude Code memulihkan mode izin yang ada di sesi, kecuali dalam kasus di [mode izin saat melanjutkan](#permission-mode-on-resume), yang juga mencakup pemilih sesi, `/resume`, dan melanjutkan dengan `claude -p`. Teruskan `--permission-mode` atau `--dangerously-skip-permissions` untuk mengganti mode yang dipulihkan.

44* Tujuan aktif: [tujuan](/docs/id/goal#resume-with-an-active-goal) yang masih aktif ketika sesi berakhir terbawa; hitungan giliran, pengatur waktu, dan baseline pengeluaran token-nya disetel ulang.44* Tujuan aktif: [tujuan](/docs/id/goal#resume-with-an-active-goal) yang masih aktif ketika sesi berakhir terbawa; hitungan giliran, pengatur waktu, dan baseline pengeluaran token-nya disetel ulang.

45* Tugas terjadwal: [tugas yang belum kedaluwarsa](/docs/id/scheduled-tasks#limitations) dipulihkan. Tugas Bash latar belakang dan monitor tidak.45* Tugas terjadwal: [tugas yang belum kedaluwarsa](/docs/id/scheduled-tasks#limitations) dipulihkan. Tugas Bash latar belakang dan monitor tidak.

46* Pekerjaan latar belakang: [subagen latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background), perintah Bash latar belakang, atau [alur kerja](/docs/id/workflows) yang berakhir dengan proses sebelumnya muncul dalam transkrip yang dilanjutkan sebagai catatan bahwa itu tidak selesai. Claude Code tidak memulai giliran dari catatan tersebut; Claude membacanya dengan prompt Anda berikutnya.

46 47 

47Tidak setiap bendera konfigurasi dari peluncuran asli dipulihkan. Jika sesi bergantung pada `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model`, atau direktori yang ditambahkan dengan `--add-dir`, teruskan lagi saat Anda melanjutkan; direktori yang ditambahkan pertengahan sesi dengan `/add-dir` juga tidak dipulihkan, meskipun pemilih sesi masih menggunakannya untuk menemukan sesi. File pengaturan standar, seperti `settings.json` dan `settings.local.json`, dibaca ulang saat peluncuran, sehingga konfigurasi yang berada di dalamnya tidak perlu dilewatkan lagi. Untuk `--system-prompt` dan `--append-system-prompt`, lihat [Bendera prompt sistem dalam percakapan yang dilanjutkan](/docs/id/cli-reference#system-prompt-flags-in-resumed-conversations).48Tidak setiap bendera konfigurasi dari peluncuran asli dipulihkan. Jika sesi bergantung pada `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model`, atau direktori yang ditambahkan dengan `--add-dir`, teruskan lagi saat Anda melanjutkan; direktori yang ditambahkan pertengahan sesi dengan `/add-dir` juga tidak dipulihkan, meskipun pemilih sesi masih menggunakannya untuk menemukan sesi. File pengaturan standar, seperti `settings.json` dan `settings.local.json`, dibaca ulang saat peluncuran, sehingga konfigurasi yang berada di dalamnya tidak perlu dilewatkan lagi. Untuk `--system-prompt` dan `--append-system-prompt`, lihat [Bendera prompt sistem dalam percakapan yang dilanjutkan](/docs/id/cli-reference#system-prompt-flags-in-resumed-conversations).

48 49 


76 77 

77Jalankan `claude -p --resume` atau `claude -p --continue` dilanjutkan dalam mode rencana hanya ketika keempat kondisi berlaku:78Jalankan `claude -p --resume` atau `claude -p --continue` dilanjutkan dalam mode rencana hanya ketika keempat kondisi berlaku:

78 79 

79* Anda meneruskan [`--permission-prompt-tool`](/docs/id/cli-reference#cli-flags), sehingga Claude Code dapat menyajikan rencana untuk persetujuan80* Anda meneruskan [`--permission-prompt-tool`](/docs/id/cli-reference#cli-flags) dan tidak meneruskan [`--permission-prompts none`](/docs/id/headless#turn-off-permission-prompts-in-unattended-runs), sehingga Claude Code dapat menyajikan rencana untuk persetujuan

80* Anda tidak meneruskan `--permission-mode` atau `--dangerously-skip-permissions`81* Anda tidak meneruskan `--permission-mode` atau `--dangerously-skip-permissions`

81* Anda tidak meneruskan `--fork-session`82* Anda tidak meneruskan `--fork-session`

82* Jalankan tidak dimulai melalui [saluran](/docs/id/channels)83* Jalankan tidak dimulai melalui [saluran](/docs/id/channels)

settings-reference.md +287 −109

Details

620| [`autoScrollEnabled`](#autoscrollenabled) | [Ikuti output baru](/docs/id/fullscreen#auto-follow) ke bawah dalam rendering fullscreen | Interface and terminal | Any file |620| [`autoScrollEnabled`](#autoscrollenabled) | [Ikuti output baru](/docs/id/fullscreen#auto-follow) ke bawah dalam rendering fullscreen | Interface and terminal | Any file |

621| [`autoUpdatesChannel`](#autoupdateschannel) | Ikuti [saluran rilis](/docs/id/setup#configure-release-channel) stabil daripada terbaru | Updates and versioning | Any file |621| [`autoUpdatesChannel`](#autoupdateschannel) | Ikuti [saluran rilis](/docs/id/setup#configure-release-channel) stabil daripada terbaru | Updates and versioning | Any file |

622| [`availableModels`](#availablemodels) | [Batasi model mana](/docs/id/model-config#restrict-model-selection) yang dapat dipilih orang | Model dan respons | Any file |622| [`availableModels`](#availablemodels) | [Batasi model mana](/docs/id/model-config#restrict-model-selection) yang dapat dipilih orang | Model dan respons | Any file |

623| [`availableModelsMatch`](#availablemodelsmatch) | Buat setiap entri ID model `availableModels` [hanya mengizinkan versi yang dinamainya](/docs/id/model-config#block-specific-models-or-versions) | Model dan respons | Managed |

623| [`awaySummaryEnabled`](#awaysummaryenabled) | Matikan [ringkasan sesi](/docs/id/interactive-mode#session-recap) yang ditampilkan ketika Anda kembali ke terminal | Remote, desktop, and notifications | Any file |624| [`awaySummaryEnabled`](#awaysummaryenabled) | Matikan [ringkasan sesi](/docs/id/interactive-mode#session-recap) yang ditampilkan ketika Anda kembali ke terminal | Remote, desktop, and notifications | Any file |

624| [`awsAuthRefresh`](#awsauthrefresh) | Segarkan [kredensial Bedrock](/docs/id/amazon-bedrock#advanced-credential-configuration) yang kedaluwarsa di `.aws` dengan perintah Anda sendiri | Authentication and providers | Any file |625| [`awsAuthRefresh`](#awsauthrefresh) | Segarkan [kredensial Bedrock](/docs/id/amazon-bedrock#advanced-credential-configuration) yang kedaluwarsa di `.aws` dengan perintah Anda sendiri | Authentication and providers | Any file |

625| [`awsCredentialExport`](#awscredentialexport) | Sediakan [kredensial Bedrock](/docs/id/amazon-bedrock#advanced-credential-configuration) sebagai JSON dari perintah Anda sendiri | Authentication and providers | Any file |626| [`awsCredentialExport`](#awscredentialexport) | Sediakan [kredensial Bedrock](/docs/id/amazon-bedrock#advanced-credential-configuration) sebagai JSON dari perintah Anda sendiri | Authentication and providers | Any file |


629| [`blockedMarketplaces`](#blockedmarketplaces) | Blokir sumber [marketplace plugin](/docs/id/plugins/overview) untuk organisasi Anda | Plugins and skills | Managed |630| [`blockedMarketplaces`](#blockedmarketplaces) | Blokir sumber [marketplace plugin](/docs/id/plugins/overview) untuk organisasi Anda | Plugins and skills | Managed |

630| [`browserExternalPageTools`](#browserexternalpagetools) | Tetap tidak aktifkan alat Claude di halaman eksternal dalam pane Browser [desktop](/docs/id/desktop) | Tools | Managed |631| [`browserExternalPageTools`](#browserexternalpagetools) | Tetap tidak aktifkan alat Claude di halaman eksternal dalam pane Browser [desktop](/docs/id/desktop) | Tools | Managed |

631| [`channelsEnabled`](#channelsenabled) | Izinkan [channel](/docs/id/channels#enable-channels-for-your-organization) untuk organisasi Anda | Plugins and skills | Managed |632| [`channelsEnabled`](#channelsenabled) | Izinkan [channel](/docs/id/channels#enable-channels-for-your-organization) untuk organisasi Anda | Plugins and skills | Managed |

633| [`claudeInChromeDefaultEnabled`](#claudeinchromedefaultenabled) | Nyalakan [integrasi Chrome](/docs/id/chrome) dalam setiap sesi CLI interaktif tanpa melewatkan `--chrome` | Global config settings | Global config |

632| [`claudeMd`](#claudemd) | Injeksikan instruksi [CLAUDE.md](/docs/id/memory#deploy-organization-wide-claude-md) di seluruh organisasi dari pengaturan yang dikelola | Memory and context | Managed |634| [`claudeMd`](#claudemd) | Injeksikan instruksi [CLAUDE.md](/docs/id/memory#deploy-organization-wide-claude-md) di seluruh organisasi dari pengaturan yang dikelola | Memory and context | Managed |

633| [`claudeMdExcludes`](#claudemdexcludes) | Lewati file [CLAUDE.md](/docs/id/memory#exclude-specific-claude-md-files) tertentu ketika memori dimuat | Memory and context | Any file |635| [`claudeMdExcludes`](#claudemdexcludes) | Lewati file [CLAUDE.md](/docs/id/memory#exclude-specific-claude-md-files) tertentu ketika memori dimuat | Memory and context | Any file |

634| [`cleanupPeriodDays`](#cleanupperioddays) | Pilih berapa hari Claude Code menyimpan [transkrip](/docs/id/data-usage#data-retention) sebelum menghapusnya | Privacy and telemetry | Any file |636| [`cleanupPeriodDays`](#cleanupperioddays) | Pilih berapa hari Claude Code menyimpan [transkrip](/docs/id/data-usage#data-retention) sebelum menghapusnya | Privacy and telemetry | Any file |

635| [`companyAnnouncements`](#companyannouncements) | Tampilkan pengumuman organisasi Anda saat startup | Interface and terminal | Any file |637| [`companyAnnouncements`](#companyannouncements) | Tampilkan pengumuman organisasi Anda saat startup | Interface and terminal | Any file |

638| [`copyFullResponse`](#copyfullresponse) | Buat [`/copy`](/docs/id/commands) menyalin respons lengkap tanpa menampilkan pemilih blok kode | Global config settings | Global config |

636| [`copyOnSelect`](#copyonselect) | Matikan penyalinan otomatis teks yang Anda pilih dengan mouse dalam [rendering fullscreen](/docs/id/fullscreen#use-the-mouse) dan tampilan agent | Global config settings | Global config |639| [`copyOnSelect`](#copyonselect) | Matikan penyalinan otomatis teks yang Anda pilih dengan mouse dalam [rendering fullscreen](/docs/id/fullscreen#use-the-mouse) dan tampilan agent | Global config settings | Global config |

637| [`crossSessionInbound`](#crosssessioninbound) | Pilih apakah Claude Code mengirimkan [pesan dari sesi lain Anda](/docs/id/cross-session-messaging#control-inbound-messages), menampilkan pemberitahuan tanpa mengirimkannya, atau menolaknya | Agents, sessions, and worktrees | Any file |640| [`crossSessionInbound`](#crosssessioninbound) | Pilih apakah Claude Code mengirimkan [pesan dari sesi lain Anda](/docs/id/cross-session-messaging#control-inbound-messages), menampilkan pemberitahuan tanpa mengirimkannya, atau menolaknya | Agents, sessions, and worktrees | Any file |

638| [`defaultShell`](#defaultshell) | Pilih apakah Bash atau PowerShell menjalankan perintah shell yang Anda ketik dengan awalan [`!`](/docs/id/interactive-mode#shell-mode-with-prefix) | Interface and terminal | Any file |641| [`defaultShell`](#defaultshell) | Pilih apakah Bash atau PowerShell menjalankan perintah shell yang Anda ketik dengan awalan [`!`](/docs/id/interactive-mode#shell-mode-with-prefix) | Interface and terminal | Any file |

642| [`defaultToAgentsView`](#defaulttoagentsview) | Buka [tampilan agent](/docs/id/agent-view) daripada percakapan baru ketika Anda menjalankan `claude` tanpa argumen | Global config settings | Global config |

639| [`deniedMcpServers`](#deniedmcpservers) | Blokir server [MCP](/docs/id/mcp) tertentu berdasarkan URL, perintah, atau nama | MCP | Any file |643| [`deniedMcpServers`](#deniedmcpservers) | Blokir server [MCP](/docs/id/mcp) tertentu berdasarkan URL, perintah, atau nama | MCP | Any file |

644| [`deniedModels`](#deniedmodels) | [Blokir model tertentu](/docs/id/model-config#block-specific-models-or-versions), bahkan yang `availableModels` izinkan | Model dan respons | Managed |

640| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Atur batas usia dalam hari untuk [transkrip Claude Desktop dan Cowork](/docs/id/claude-directory#cleaned-up-automatically) | Privacy and telemetry | User or managed |645| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Atur batas usia dalam hari untuk [transkrip Claude Desktop dan Cowork](/docs/id/claude-directory#cleaned-up-automatically) | Privacy and telemetry | User or managed |

641| [`dialogExpiry`](#dialogexpiry) | Atur berapa lama Claude Code menunggu [Remote Control](/docs/id/remote-control) atau host SDK menjawab dialog yang diteruskan sebelum membatalkan dialog | Interface and terminal | User or managed |646| [`dialogExpiry`](#dialogexpiry) | Atur berapa lama Claude Code menunggu [Remote Control](/docs/id/remote-control) atau host SDK menjawab dialog yang diteruskan sebelum membatalkan dialog | Interface and terminal | User or managed |

642| [`diffTool`](#difftool) | Pilih apakah perubahan file yang diusulkan Claude terbuka di penampil diff [VS Code](/docs/id/vs-code) atau [JetBrains](/docs/id/jetbrains#features) atau tetap di terminal | Global config settings | Global config |647| [`diffTool`](#difftool) | Pilih apakah perubahan file yang diusulkan Claude terbuka di penampil diff [VS Code](/docs/id/vs-code) atau [JetBrains](/docs/id/jetbrains#features) atau tetap di terminal | Global config settings | Global config |


690| [`isolatePeerMachines`](#isolatepeermachines) | Tanyakan Anda sebelum Claude [mengirim pesan ke salah satu sesi Anda di mesin lain](/docs/id/cross-session-messaging#require-approval-for-cross-machine-messages) | Agents, sessions, and worktrees | Any file |695| [`isolatePeerMachines`](#isolatepeermachines) | Tanyakan Anda sebelum Claude [mengirim pesan ke salah satu sesi Anda di mesin lain](/docs/id/cross-session-messaging#require-approval-for-cross-machine-messages) | Agents, sessions, and worktrees | Any file |

691| [`keybindingFlavor`](#keybindingflavor) | Usang dan tidak berpengaruh; pintasan pengeditan kata selalu [mengikuti konvensi readline](/docs/id/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Interface and terminal | Any file |696| [`keybindingFlavor`](#keybindingflavor) | Usang dan tidak berpengaruh; pintasan pengeditan kata selalu [mengikuti konvensi readline](/docs/id/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Interface and terminal | Any file |

692| [`language`](#language) | Biarkan Claude merespons dalam bahasa selain Inggris | Model dan respons | Any file |697| [`language`](#language) | Biarkan Claude merespons dalam bahasa selain Inggris | Model dan respons | Any file |

698| [`leftArrowOpensAgents`](#leftarrowopensagents) | Matikan pintasan `←` yang [menempatkan sesi di latar belakang dan membuka tampilan agent](/docs/id/agent-view#switch-sessions-without-leaving-the-terminal) | Global config settings | Global config |

693| [`managedMcpServers`](#managedmcpservers) | Sediakan server [MCP](/docs/id/managed-mcp#provide-servers-through-managed-settings) jarak jauh kepada setiap pengguna bersama dengan yang mereka tambahkan | MCP | Managed |699| [`managedMcpServers`](#managedmcpservers) | Sediakan server [MCP](/docs/id/managed-mcp#provide-servers-through-managed-settings) jarak jauh kepada setiap pengguna bersama dengan yang mereka tambahkan | MCP | Managed |

694| [`managedSourcesBehavior`](#managedsourcesbehavior) | Komposisi setiap [sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) yang Anda terapkan daripada menggunakan satu-satunya prioritas tertinggi | Enterprise and managed settings | Managed |700| [`managedSourcesBehavior`](#managedsourcesbehavior) | Komposisi setiap [sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) yang Anda terapkan daripada menggunakan satu-satunya prioritas tertinggi | Enterprise and managed settings | Managed |

695| [`maxEffortLevel`](#maxeffortlevel) | Batasi [tingkat usaha](/docs/id/model-config#adjust-effort-level) untuk setiap model atau per model, di setiap penyedia | Model dan respons | Any file |701| [`maxEffortLevel`](#maxeffortlevel) | Batasi [tingkat usaha](/docs/id/model-config#adjust-effort-level) untuk setiap model atau per model, di setiap penyedia | Model dan respons | Any file |

702| [`maxProseWidth`](#maxprosewidth) | Batasi seberapa lebar prosa dalam respons Claude berjalan di terminal yang lebar | Interface and terminal | Any file |

696| [`minimumVersion`](#minimumversion) | Jaga [pembaruan otomatis](/docs/id/setup#pin-a-minimum-version) dari memasang apa pun di bawah versi | Updates and versioning | Any file |703| [`minimumVersion`](#minimumversion) | Jaga [pembaruan otomatis](/docs/id/setup#pin-a-minimum-version) dari memasang apa pun di bawah versi | Updates and versioning | Any file |

697| [`model`](#model) | Ubah [model](/docs/id/model-config#set-a-default-model-for-new-sessions) yang Claude Code mulai | Model dan respons | Any file |704| [`model`](#model) | Ubah [model](/docs/id/model-config#set-a-default-model-for-new-sessions) yang Claude Code mulai | Model dan respons | Any file |

698| [`modelOverrides`](#modeloverrides) | [Petakan ID model](/docs/id/model-config#override-model-ids-per-version) ke ID penyedia Anda, seperti ARN Bedrock | Model dan respons | Any file |705| [`modelOverrides`](#modeloverrides) | [Petakan ID model](/docs/id/model-config#override-model-ids-per-version) ke ID penyedia Anda, seperti ARN Bedrock | Model dan respons | Any file |


713| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Cegah siapa pun memasuki [mode bypassPermissions](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |720| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Cegah siapa pun memasuki [mode bypassPermissions](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |

714| [`plansDirectory`](#plansdirectory) | Pilih tempat [mode plan](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) menulis file rencana | Memory and context | Any file |721| [`plansDirectory`](#plansdirectory) | Pilih tempat [mode plan](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) menulis file rencana | Memory and context | Any file |

715| [`pluginConfigs`](#pluginconfigs) | Simpan jawaban yang Anda berikan dialog konfigurasi [plugin](/docs/id/plugins/overview) | Plugins and skills | User or managed |722| [`pluginConfigs`](#pluginconfigs) | Simpan jawaban yang Anda berikan dialog konfigurasi [plugin](/docs/id/plugins/overview) | Plugins and skills | User or managed |

716| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Pilih [marketplace](/docs/id/plugins/overview) mana yang dapat menampilkan saran instalasi plugin di `/plugin` | Plugins and skills | Managed |723| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Pilih [marketplace](/docs/id/plugins/org#restrict-what-users-can-install) mana yang dapat menampilkan saran instalasi plugin di `/plugin` | Plugins and skills | Managed |

717| [`pluginTrustMessage`](#plugintrustmessage) | Tambahkan teks Anda sendiri ke peringatan kepercayaan [plugin](/docs/id/plugins/overview) | Plugins and skills | Managed |724| [`pluginTrustMessage`](#plugintrustmessage) | Tambahkan teks Anda sendiri ke peringatan kepercayaan [plugin](/docs/id/plugins/overview) | Plugins and skills | Managed |

718| [`policyHelper`](#policyhelper) | Jalankan executable yang menghitung [pengaturan yang dikelola](/docs/id/managed-settings#compute-the-policy-with-a-helper-program) saat startup | Enterprise and managed settings | Managed |725| [`policyHelper`](#policyhelper) | Jalankan executable yang menghitung [pengaturan yang dikelola](/docs/id/managed-settings#compute-the-policy-with-a-helper-program) saat startup | Enterprise and managed settings | Managed |

719| [`policyHelper.path`](#policyhelper-path) | Beri nama [executable pembantu](/docs/id/managed-settings#compute-the-policy-with-a-helper-program) yang Claude Code jalankan | Enterprise and managed settings | Managed |726| [`policyHelper.path`](#policyhelper-path) | Beri nama [executable pembantu](/docs/id/managed-settings#compute-the-policy-with-a-helper-program) yang Claude Code jalankan | Enterprise and managed settings | Managed |


724| [`processWrapper`](#processwrapper) | Jalankan proses latar belakang Claude Code melalui [peluncur perusahaan](/docs/id/corporate-launcher) di macOS dan Linux | Agents, sessions, and worktrees | User or managed |731| [`processWrapper`](#processwrapper) | Jalankan proses latar belakang Claude Code melalui [peluncur perusahaan](/docs/id/corporate-launcher) di macOS dan Linux | Agents, sessions, and worktrees | User or managed |

725| [`promptCacheTtl`](#promptcachettl) | Pilih [masa pakai cache prompt](/docs/id/prompt-caching#cache-lifetime) untuk percakapan utama | Model dan respons | Any file |732| [`promptCacheTtl`](#promptcachettl) | Pilih [masa pakai cache prompt](/docs/id/prompt-caching#cache-lifetime) untuk percakapan utama | Model dan respons | Any file |

726| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Sembunyikan [saran prompt](/docs/id/interactive-mode#prompt-suggestions) yang dikelabu dalam kotak input | Interface and terminal | Any file |733| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Sembunyikan [saran prompt](/docs/id/interactive-mode#prompt-suggestions) yang dikelabu dalam kotak input | Interface and terminal | Any file |

734| [`prStatusFooterEnabled`](#prstatusfooterenabled) | Matikan lencana [status tinjauan PR](/docs/id/interactive-mode#pr-review-status) footer prompt dan pemeriksaan pull request di baliknya | Global config settings | Global config |

727| [`prUrlTemplate`](#prurltemplate) | Arahkan tautan PR ke alat tinjauan kode internal daripada github.com | Git and attribution | Any file |735| [`prUrlTemplate`](#prurltemplate) | Arahkan tautan PR ke alat tinjauan kode internal daripada github.com | Git and attribution | Any file |

728| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Pilih [lingkungan cloud](/docs/id/cloud-environments) default untuk `claude --cloud`; ID `ccpool_` yang di-host sendiri hanya dibaca dari pengaturan pengguna dan yang dikelola serta `--settings` | Remote, desktop, and notifications | Any file |736| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Pilih [lingkungan cloud](/docs/id/cloud-environments) default untuk `claude --cloud`; ID `ccpool_` yang di-host sendiri hanya dibaca dari pengaturan pengguna dan yang dikelola serta `--settings` | Remote, desktop, and notifications | Any file |

729| [`remoteControlAtStartup`](#remotecontrolatstartup) | Hubungkan [Remote Control](/docs/id/remote-control#enable-remote-control-for-all-sessions) secara otomatis ketika sesi dimulai | Remote, desktop, and notifications | Any file |737| [`remoteControlAtStartup`](#remotecontrolatstartup) | Hubungkan [Remote Control](/docs/id/remote-control#enable-remote-control-for-all-sessions) secara otomatis ketika sesi dimulai | Remote, desktop, and notifications | Any file |


794| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Pilih [masa pakai cache prompt](/docs/id/prompt-caching#cache-lifetime) untuk subagent dan permintaan lain di luar percakapan utama | Model dan respons | Any file |802| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Pilih [masa pakai cache prompt](/docs/id/prompt-caching#cache-lifetime) untuk subagent dan permintaan lain di luar percakapan utama | Model dan respons | Any file |

795| [`subagentStatusLine`](#subagentstatusline) | Tulis ulang baris dalam tampilan tugas [subagent](/docs/id/sub-agents) dengan perintah Anda sendiri | Interface and terminal | Any file |803| [`subagentStatusLine`](#subagentstatusline) | Tulis ulang baris dalam tampilan tugas [subagent](/docs/id/sub-agents) dengan perintah Anda sendiri | Interface and terminal | Any file |

796| [`switchModelsOnFlag`](#switchmodelsonflag) | Alihkan model secara otomatis atau jeda ketika [pengklasifikasi keamanan](/docs/id/model-config#ask-before-switching) menandai permintaan | Model dan respons | Any file |804| [`switchModelsOnFlag`](#switchmodelsonflag) | Alihkan model secara otomatis atau jeda ketika [pengklasifikasi keamanan](/docs/id/model-config#ask-before-switching) menandai permintaan | Model dan respons | Any file |

797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Hentikan pemuatan [plugin yang diaktifkan di akun claude.ai Anda](/docs/id/plugins/overview) dan hentikan pengunduhan yang baru | Plugins and skills | User, local, or managed |805| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Hentikan pemuatan [plugin yang diaktifkan di akun claude.ai Anda](/docs/id/plugins/loading#synced-plugins) dan hentikan pengunduhan yang baru | Plugins and skills | User, local, or managed |

798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Hentikan pemuatan [skill yang diaktifkan di akun claude.ai Anda](/docs/id/skills#how-synced-skills-behave) dan hentikan pengunduhan yang baru | Plugins and skills | User, local, or managed |806| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Hentikan pemuatan [skill yang diaktifkan di akun claude.ai Anda](/docs/id/skills#how-synced-skills-behave) dan hentikan pengunduhan yang baru | Plugins and skills | User, local, or managed |

799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Matikan penyorotan sintaks dalam diff dan blok kode | Interface and terminal | Any file |807| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Matikan penyorotan sintaks dalam diff dan blok kode | Interface and terminal | Any file |

800| [`taskOutputMaxChars`](#taskoutputmaxchars) | Dihapus di v2.1.277, bersama dengan alat `TaskOutput` yang disizingnya | Memory and context | Any file |808| [`taskOutputMaxChars`](#taskoutputmaxchars) | Dihapus di v2.1.277, bersama dengan alat `TaskOutput` yang disizingnya | Memory and context | Any file |


833 `advisorModel`841 `advisorModel`

834</h3>842</h3>

835 843 

836Pilih model mana yang menjawab ketika Claude memanggil [alat advisor](/docs/id/advisor) di sisi server. Batalkan pengaturannya untuk mematikan advisor. Advisor harus setidaknya sama mampu dengan model utama Anda. Lihat [Pilih model advisor](/docs/id/advisor#choose-an-advisor-model) untuk pasangan yang diterima dan apa yang terjadi ketika Anda memilih yang tidak diterima.844Pilih model mana yang menjawab ketika Claude memanggil [alat advisor](/docs/id/advisor) di sisi server. Biarkan tidak disetel untuk mematikan advisor. Advisor harus setidaknya sama mampu dengan model utama Anda. Lihat [Pilih model advisor](/docs/id/advisor#choose-an-advisor-model) untuk pasangan yang diterima dan apa yang terjadi ketika Anda memilih yang tidak diterima.

837 845 

838Anda biasanya tidak mengedit kunci ini secara manual. Jalankan `/advisor` untuk membuka pemilih yang menunjukkan pilihan saat ini, model yang dapat memberikan saran, dan **No advisor**. Claude Code menyimpan pilihan Anda ke kunci ini di `~/.claude/settings.json`. Jika Anda memilih dari klien [Remote Control](/docs/id/remote-control) atau dalam sesi yang terhubung ke pekerja jarak jauh, pilihan tersebut hanya berlaku untuk sesi itu dan tidak mengubah kunci ini.846Anda biasanya tidak mengedit kunci ini dengan tangan. Jalankan `/advisor` untuk membuka pemilih yang menunjukkan pilihan saat ini, model yang dapat memberikan saran, dan **Tidak ada advisor**. Claude Code menyimpan pilihan Anda ke kunci ini di `~/.claude/settings.json`. Jika Anda memilih dari klien [Remote Control](/docs/id/remote-control) atau dalam sesi yang terpasang ke pekerja jarak jauh, pilihan berlaku hanya untuk sesi itu dan tidak mengubah kunci ini.

839 847 

840Jika akun Anda memerlukan [persetujuan usage-credits](/docs/id/advisor#fable-advisor-and-usage-credits), terima terlebih dahulu dengan menjalankan `/model fable`. Sampai Anda melakukannya, memilih Fable di `/advisor` tidak menyimpan apa pun dan Claude Code memberi tahu Anda untuk menjalankan `/model fable` terlebih dahulu.848Jika akun Anda memerlukan [persetujuan kredit penggunaan](/docs/id/advisor#fable-advisor-and-usage-credits), terima terlebih dahulu dengan menjalankan `/model fable`. Sampai Anda melakukannya, memilih Fable di `/advisor` tidak menyimpan apa pun dan Claude Code memberi tahu Anda untuk menjalankan `/model fable` terlebih dahulu.

841 849 

842* **Scope**: [`Any file`](#scopes)850* **Scope**: [`Any file`](#scopes)

843* **Type**: string, salah satu alias `"fable"`, `"opus"`, atau `"sonnet"`, yang diselesaikan ke versi default Claude Code saat ini dari keluarga model itu, atau ID model lengkap seperti `"claude-opus-5-5"`851* **Type**: string, salah satu alias `"fable"`, `"opus"`, atau `"sonnet"`, yang diselesaikan ke versi default Claude Code saat ini dari keluarga model itu, atau ID model lengkap seperti `"claude-opus-5-5"`

844* **Default**: tidak diatur, jadi advisor dimatikan852* **Default**: tidak disetel, jadi advisor dimatikan

845* **Per-session overrides**: `--advisor` mengambil alih kunci ini untuk satu sesi. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](/docs/id/env-vars) mematikan advisor, dan kunci ini tidak dapat menghidupkannya kembali853* **Per-session overrides**: `--advisor` mengambil alih kunci ini untuk satu sesi. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](/docs/id/env-vars) mematikan advisor, dan kunci ini tidak dapat menghidupkannya kembali

846 854 

847```json settings.json theme={null}855```json settings.json theme={null}


850}858}

851```859```

852 860 

853Kunci ini tidak berpengaruh pada penyedia di mana advisor [tidak tersedia](/docs/id/advisor#requirements), seperti Amazon Bedrock dan Claude Platform di AWS. `"fable"` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model).861Kunci ini tidak berpengaruh pada penyedia tempat advisor [tidak tersedia](/docs/id/advisor#requirements), seperti Amazon Bedrock dan Claude Platform di AWS. `"fable"` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model).

854 862 

855<h3 id="alwaysthinkingenabled">863<h3 id="alwaysthinkingenabled">

856 `alwaysThinkingEnabled`864 `alwaysThinkingEnabled`

857</h3>865</h3>

858 866 

859Matikan [extended thinking](/docs/id/model-config#extended-thinking) untuk setiap sesi dengan mengatur ini ke `false`. Thinking aktif secara default, jadi `true` tidak mengubah apa pun. Sebagian besar orang mengatur ini melalui `/config` daripada mengedit file.867Matikan [extended thinking](/docs/id/model-config#extended-thinking) untuk setiap sesi dengan menetapkan ini ke `false`. Thinking aktif secara default, jadi `true` tidak mengubah apa pun. Sebagian besar orang menetapkan ini melalui `/config` daripada mengedit file.

860 868 

861Pada model yang selalu berpikir, seperti Opus 5.5 dan model Fable, `false` tidak berpengaruh. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations) Claude Code menghilangkan parameter `thinking` daripada mematikan thinking, jadi model adaptive-reasoning mungkin masih berpikir. Dengan thinking dimatikan di Anthropic API, Claude Code mengirim effort `high` daripada level yang lebih tinggi ke model yang diketahui [tidak menerima kombinasi itu](/docs/id/errors#effort-isnt-available-with-thinking-turned-off), seperti Opus 5.869Pada model yang selalu berpikir, seperti Opus 5.5, Sonnet 5.5, dan model Fable, `false` tidak berpengaruh. Pada [penyedia pihak ketiga](/docs/id/third-party-integrations) Claude Code menghilangkan parameter `thinking` daripada mematikan thinking, jadi model adaptive-reasoning mungkin masih berpikir. Dengan thinking dimatikan di Anthropic API, Claude Code mengirim effort `high` daripada level yang lebih tinggi ke model yang diketahui [tidak menerima kombinasi itu](/docs/id/errors#effort-isnt-available-with-thinking-turned-off), seperti Opus 5.

862 870 

863* **Scope**: [`Any file`](#scopes)871* **Scope**: [`Any file`](#scopes)

864* **Type**: Boolean872* **Type**: Boolean

865 * `true`: tidak berpengaruh; thinking sudah aktif873 * `true`: tidak berpengaruh; thinking sudah aktif

866 * `false`: Claude Code mematikan extended thinking untuk setiap sesi874 * `false`: Claude Code mematikan extended thinking untuk setiap sesi

867* **Default**: tidak diatur, jadi thinking aktif untuk model yang mendukungnya875* **Default**: tidak disetel, jadi thinking aktif untuk model yang mendukungnya

868* **Per-session overrides**: [`MAX_THINKING_TOKENS`](/docs/id/env-vars) mengambil alih kunci ini untuk satu sesi: `0` mematikan thinking, di bawah batasan model dan penyedia yang sama seperti `false`, dan nilai positif menghidupkan thinking bahkan ketika kunci ini adalah `false`. Pada model adaptive-reasoning angka itu sendiri diabaikan876* **Per-session overrides**: [`MAX_THINKING_TOKENS`](/docs/id/env-vars) mengambil alih kunci ini untuk satu sesi: `0` mematikan thinking, di bawah batasan model dan penyedia yang sama seperti `false`, dan nilai positif menghidupkan thinking bahkan ketika kunci ini `false`. Pada model adaptive-reasoning angka itu sendiri diabaikan

869 877 

870```json settings.json theme={null}878```json settings.json theme={null}

871{879{


877 `availableModels`885 `availableModels`

878</h3>886</h3>

879 887 

880Batasi model mana yang dapat dipilih orang untuk sesi utama, [subagents](/docs/id/sub-agents), [skills](/docs/id/skills), dan [advisor](/docs/id/advisor). Daftar terkelola membatasi `/model`, `--model`, dan kunci `model` dalam file pengembang sendiri; model di luar itu tidak dapat dipilih. Dengan sendirinya ini tidak menyentuh opsi Default; pasangkan dengan [`enforceAvailableModels`](#enforceavailablemodels) untuk itu.888Batasi model mana yang dapat dipilih orang untuk sesi utama, [subagents](/docs/id/sub-agents), [skills](/docs/id/skills), dan [advisor](/docs/id/advisor). Daftar terkelola membatasi `/model`, `--model`, dan kunci `model` dalam file pengembang sendiri; model di luar itu tidak dapat dipilih. Dengan pencocokan awalan default, ini tidak menyentuh opsi Default dengan sendirinya; pasangkan dengan [`enforceAvailableModels`](#enforceavailablemodels) untuk itu.

881 889 

882* **Scope**: [`Any file`](#scopes). Terapkan dalam pengaturan terkelola untuk memberlakukannya untuk organisasi.890* **Scope**: [`Any file`](#scopes). Terapkan dalam pengaturan terkelola untuk memberlakukannya untuk organisasi.

883* **Type**: array alias model atau ID891* **Type**: array alias model atau ID

884* **Default**: tidak diatur, jadi setiap model tersedia892* **Default**: tidak disetel, jadi setiap model tersedia

885 893 

886Contoh ini memungkinkan orang memilih hanya model Sonnet dan Haiku:894Contoh ini memungkinkan orang memilih hanya model Sonnet dan Haiku:

887 895 


891}899}

892```900```

893 901 

894Lihat [Batasi pemilihan model](/docs/id/model-config#restrict-model-selection).902Entri ID model seperti `"claude-opus-5"` juga memungkinkan versi yang lebih baru yang memperpanjangnya, seperti Opus 5.5. Untuk memblokir salah satu versi itu, gunakan [`deniedModels`](#deniedmodels). Untuk membuat setiap entri ID model hanya memungkinkan versi yang dinamainya, gunakan [`availableModelsMatch`](#availablemodelsmatch). Lihat [Batasi pemilihan model](/docs/id/model-config#restrict-model-selection).

903 

904<h3 id="availablemodelsmatch">

905 `availableModelsMatch`

906</h3>

907 

908Pilih bagaimana entri [`availableModels`](#availablemodels) cocok dengan ID model. Secara default entri ID model juga memungkinkan versi yang lebih baru yang memperpanjangnya, jadi `"claude-opus-5"` memungkinkan Opus 5.5. Dengan `"exact"`, setiap entri ID model hanya memungkinkan versi yang dinamainya, jadi versi yang lebih baru dari model itu tetap diblokir sampai Anda mencantumkannya. Memerlukan Claude Code v2.1.283 atau lebih baru.

909 

910* **Scope**: [`Managed`](#scopes). Claude Code mengabaikan kunci dalam pengaturan pengguna, proyek, dan lokal serta dalam `--settings`, dengan peringatan

911* **Type**: string, salah satu dari:

912 * `"prefix"`: entri ID model memungkinkan versinya dan ID model apa pun yang memperpanjangnya dengan segmen lain

913 * `"exact"`: entri ID model hanya memungkinkan versi yang dinamainya, termasuk ID tanggal versi itu, jadi `"claude-opus-5"` memungkinkan Opus 5 tetapi bukan `claude-opus-5-5`. Alias keluarga seperti `"opus"` masih memungkinkan seluruh keluarga, dan entri `best`, `opusplan`, dan `default` diabaikan

914* **Default**: `"prefix"`

915 

916Contoh ini memungkinkan Opus 5 dan Sonnet 5 dan tidak ada rilis yang lebih baru dari keduanya:

917 

918```json managed-settings.json theme={null}

919{

920 "availableModels": ["claude-opus-5", "claude-sonnet-5"],

921 "availableModelsMatch": "exact"

922}

923```

924 

925Dengan `"exact"`, opsi Default juga dibatasi pada model yang tercantum kapan pun daftar menamai setidaknya satu model atau keluarga. Lihat [Blokir model atau versi tertentu](/docs/id/model-config#block-specific-models-or-versions).

926 

927<h3 id="deniedmodels">

928 `deniedModels`

929</h3>

930 

931Blokir model tertentu, dengan atau tanpa daftar [`availableModels`](#availablemodels) dan bahkan ketika daftar itu memungkinkannya. Claude Code menyembunyikan model yang diblokir dari pemilih `/model`, dan model tidak dapat dipilih di mana pun `availableModels` diberlakukan. Sesi pada opsi Default juga tidak menjalankan model yang diblokir, seperti yang dijelaskan [Blokir model atau versi tertentu](/docs/id/model-config#block-specific-models-or-versions). Memerlukan Claude Code v2.1.283 atau lebih baru.

932 

933* **Scope**: [`Managed`](#scopes). Claude Code mengabaikan kunci dalam pengaturan pengguna, proyek, dan lokal serta dalam `--settings`, dengan peringatan

934* **Type**: array alias model atau ID

935 * Alias keluarga seperti `"opus"` memblokir setiap model dalam keluarga itu

936 * ID model seperti `"claude-opus-5-5"` memblokir versi itu dalam setiap ejaan, termasuk ID tanggal dan khusus penyedia

937 * ID model tanpa versi minor, seperti `"claude-opus-5"`, juga memblokir versi minor yang lebih baru seperti Opus 5.5. Tulis `"claude-opus-5-0"` untuk memblokir Opus 5 saja

938 * Entri `best`, `opusplan`, dan `default` diabaikan

939* **Default**: tidak disetel, jadi tidak ada model yang diblokir

940 

941Contoh ini memungkinkan model Opus dan Sonnet dan memblokir Opus 5.5:

942 

943```json managed-settings.json theme={null}

944{

945 "availableModels": ["opus", "sonnet"],

946 "deniedModels": ["claude-opus-5-5"]

947}

948```

949 

950Lihat [Blokir model atau versi tertentu](/docs/id/model-config#block-specific-models-or-versions).

895 951 

896<h3 id="effortlevel">952<h3 id="effortlevel">

897 `effortLevel`953 `effortLevel`

898</h3>954</h3>

899 955 

900Atur [effort level](/docs/id/model-config#adjust-effort-level) default untuk model yang belum Anda simpan levelnya. Level yang lebih rendah lebih cepat dan lebih murah untuk tugas-tugas langsung, dan level yang lebih tinggi bernalar lebih dalam pada masalah kompleks.956Tetapkan [tingkat effort](/docs/id/model-config#adjust-effort-level) default untuk model yang belum Anda simpan tingkatnya. Level yang lebih rendah lebih cepat dan lebih murah pada tugas yang mudah, dan level yang lebih tinggi bernalar lebih dalam pada masalah yang kompleks.

901 957 

902Ketika Anda menjalankan `/effort low`, `medium`, `high`, atau `xhigh` dalam sesi interaktif di mesin Anda, Claude Code menyimpan level untuk model aktif di bawah [`modelSettings`](#modelsettings) daripada menulis kunci ini. Sebelum v2.1.251, `/effort` menulis kunci ini.958Ketika Anda menjalankan `/effort low`, `medium`, `high`, atau `xhigh` dalam sesi interaktif di mesin Anda, Claude Code menyimpan level untuk model aktif di bawah [`modelSettings`](#modelsettings) daripada menulis kunci ini. Sebelum v2.1.251, `/effort` menulis kunci ini.

903 959 

904Dalam file pengaturan yang sama, Claude Code menggunakan level yang disimpan model daripada kunci ini. [`modelSettings`](#modelsettings) menyatakan preseden lintas file.960Dalam file pengaturan yang sama, Claude Code menggunakan level yang disimpan model daripada kunci ini. [`modelSettings`](#modelsettings) menyatakan preseden lintas file.

905 961 

906Dalam sesi yang terhubung ke pekerja jarak jauh, dalam jalankan `-p`, dan dalam Agent SDK, `/effort` hanya berlaku untuk sesi itu. [Sesuaikan effort level](/docs/id/model-config#adjust-effort-level) mencantumkan pilihan interaktif yang juga hanya berlaku untuk sesi itu. Pesan yang dicetak `/effort` mengatakan apa yang terjadi.962Dalam sesi yang terpasang ke pekerja jarak jauh, dalam jalankan `-p`, dan dalam Agent SDK, `/effort` berlaku hanya untuk sesi itu. [Sesuaikan tingkat effort](/docs/id/model-config#adjust-effort-level) mencantumkan pilihan interaktif yang juga berlaku hanya untuk sesi itu. Pesan yang dicetak `/effort` mengatakan mana yang terjadi.

907 963 

908* **Scope**: [`Any file`](#scopes)964* **Scope**: [`Any file`](#scopes)

909* **Type**: string, salah satu dari:965* **Type**: string, salah satu dari:

910 * `"low"`: penalaran paling sedikit, untuk tugas pendek, terbatas, sensitif latensi yang tidak sensitif intelijen966 * `"low"`: penalaran paling sedikit, untuk tugas pendek, terbatas, sensitif latensi yang bukan sensitif intelijen

911 * `"medium"`: mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat menukar beberapa intelijen967 * `"medium"`: mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat menukar beberapa intelijen

912 * `"high"`: menyeimbangkan penggunaan token dan intelijen968 * `"high"`: menyeimbangkan penggunaan token dan intelijen

913 * `"xhigh"`: penalaran lebih dalam dengan pengeluaran token lebih tinggi969 * `"xhigh"`: penalaran lebih dalam dengan pengeluaran token yang lebih tinggi

914* **Default**: tidak diatur970* **Default**: tidak disetel

915* **Per-session overrides**: `--effort` mengambil alih kunci ini untuk satu sesi, dan [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/id/env-vars) mengambil alih keduanya971* **Per-session overrides**: `--effort` mengambil alih kunci ini untuk satu sesi, dan [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/id/env-vars) mengambil alih keduanya

916 972 

917```json settings.json theme={null}973```json settings.json theme={null}


920}976}

921```977```

922 978 

923Dalam file pengaturan pengguna Anda, `~/.claude/settings.json`, kunci ini adalah bentuk yang lebih lama `/effort` tulis sebelum menyimpan level per model, dan terus berlaku di mana itu berlaku sebelumnya, pada Opus 5, Fable 5.1, dan model sebelumnya. Opus 5.5 dan model yang dirilis setelahnya mengabaikannya dan mulai pada default mereka sendiri sampai Anda menyimpan level untuk mereka, yang `/effort` tulis di bawah [`modelSettings`](#modelsettings). Dalam pengaturan proyek, lokal, dan terkelola, dan dengan `--settings`, kunci ini berlaku untuk setiap model.979Dalam file pengaturan pengguna Anda, `~/.claude/settings.json`, kunci ini adalah bentuk yang lebih lama `/effort` ditulis sebelum menyimpan level per model, dan terus berlaku di mana ia berlaku sebelumnya, pada Opus 5, Fable 5.1, dan model yang lebih awal. Opus 5.5 dan model yang dirilis setelahnya mengabaikannya dan mulai pada default mereka sendiri sampai Anda menyimpan level untuk mereka, yang ditulis `/effort` di bawah [`modelSettings`](#modelsettings). Dalam pengaturan proyek, lokal, dan terkelola, dan dengan `--settings`, kunci ini berlaku untuk setiap model.

924 980 

925<h3 id="enforceavailablemodels">981<h3 id="enforceavailablemodels">

926 `enforceAvailableModels`982 `enforceAvailableModels`

927</h3>983</h3>

928 984 

929Pemilih `/model` memiliki opsi **Default** yang diselesaikan ke [model default organisasi Anda](/docs/id/model-config#organization-default-model) ketika satu berlaku, dan sebaliknya ke default tipe akun Anda. Daftar allowlist [`availableModels`](#availablemodels) membatasi model yang dapat Anda beri nama, tetapi dengan sendirinya meninggalkan **Default** saja, jadi **Default** masih dapat diselesaikan ke model di luar daftar. Kunci ini menutup celah itu. Memerlukan Claude Code v2.1.175 atau lebih baru.985Pemilih `/model` memiliki opsi **Default**, dan [`default` model setting](/docs/id/model-config#default-model-setting) menjelaskan model yang diselesaikannya. Daftar [`availableModels`](#availablemodels) membatasi model yang dapat Anda beri nama, tetapi dengan [pencocokan awalan](#availablemodelsmatch) default itu tidak memetakan ulang default tipe akun Anda, jadi **Default** masih dapat diselesaikan ke model di luar daftar. Kunci ini menutup celah itu. Memerlukan Claude Code v2.1.175 atau lebih baru.

930 986 

931Ketika organisasi Anda menerapkan pengaturan terkelola apa pun, Claude Code membaca kunci ini dari sumber terkelola saja dan mengabaikannya di file lain Anda.987Ketika organisasi Anda menerapkan pengaturan terkelola apa pun, Claude Code membaca kunci ini dari sumber terkelola saja dan mengabaikannya dalam file lain Anda.

932 988 

933* **Scope**: [`Any file`](#scopes)989* **Scope**: [`Any file`](#scopes)

934* **Type**: Boolean990* **Type**: Boolean

935 * `true`: ketika **Default** akan diselesaikan ke model di luar `availableModels`, Claude Code menyelesaikannya ke model pertama yang tersedia dalam daftar991 * `true`: ketika **Default** akan diselesaikan ke model di luar `availableModels`, Claude Code menyelesaikannya ke model pertama yang tersedia dalam daftar

936 * `false`: **Default** diselesaikan seperti biasa, bahkan ke model di luar `availableModels`992 * `false`: kunci ini tidak mengubah cara **Default** diselesaikan

937* **Default**: `false`993* **Default**: `false`

938 994 

939Contoh ini membatasi pilihan bernama ke model Sonnet dan Haiku dan membuat **Default** diselesaikan ke yang pertama dari mereka yang tersedia:995Contoh ini membatasi pilihan bernama ke model Sonnet dan Haiku dan membuat **Default** diselesaikan ke yang pertama dari mereka yang tersedia:


945}1001}

946```1002```

947 1003 

948Kunci ini tidak berpengaruh ketika `availableModels` tidak diatur atau kosong. Lihat [Berlakukan allowlist untuk model Default](/docs/id/model-config#enforce-the-allowlist-for-the-default-model). Memerlukan Claude Code v2.1.175 atau lebih baru.1004Kunci ini tidak berpengaruh ketika `availableModels` tidak disetel atau kosong. Lihat [Berlakukan daftar untuk model Default](/docs/id/model-config#enforce-the-allowlist-for-the-default-model). Memerlukan Claude Code v2.1.175 atau lebih baru.

949 1005 

950<h3 id="fallbackmodel">1006<h3 id="fallbackmodel">

951 `fallbackModel`1007 `fallbackModel`

952</h3>1008</h3>

953 1009 

954Beri nama model cadangan untuk Claude Code coba, secara berurutan, ketika model utama Anda kelebihan beban atau tidak tersedia. Claude Code beralih ke model berikutnya yang tersedia dalam rantai untuk sisa giliran dan menampilkan pemberitahuan. Tanpa rantai, Claude Code mencoba ulang model yang sama dan kemudian menampilkan kesalahan server, dan Anda mencoba ulang atau beralih model sendiri.1010Beri nama model cadangan untuk Claude Code coba, secara berurutan, ketika model utama Anda kelebihan beban atau tidak tersedia. Claude Code beralih ke model yang tersedia berikutnya dalam rantai untuk sisa giliran dan menunjukkan pemberitahuan. Tanpa rantai, Claude Code mencoba ulang model yang sama dan kemudian menampilkan kesalahan server, dan Anda mencoba ulang atau beralih model sendiri.

955 1011 

956Sakelar berarti satu giliran dengan [prompt cache](/docs/id/prompt-caching#switching-models) dingin pada model fallback; pesan berikutnya Anda mencoba model utama terlebih dahulu lagi.1012Beralih berarti satu giliran dengan [cache prompt](/docs/id/prompt-caching#switching-models) dingin pada model fallback; pesan Anda berikutnya mencoba model utama terlebih dahulu lagi.

957 1013 

958* **Scope**: [`Any file`](#scopes)1014* **Scope**: [`Any file`](#scopes)

959* **Type**: array alias model atau ID; `"default"` berkembang ke model default1015* **Type**: array alias model atau ID; `"default"` berkembang ke model default

960* **Default**: tidak diatur, jadi permintaan yang gagal tidak dicoba ulang pada model lain1016* **Default**: tidak disetel, jadi permintaan yang gagal tidak dicoba ulang pada model lain

961* **Per-session overrides**: `--fallback-model` mengambil alih kunci ini untuk satu sesi1017* **Per-session overrides**: `--fallback-model` mengambil alih kunci ini untuk satu sesi

962 1018 

963Contoh ini mencoba Sonnet 5 terlebih dahulu, kemudian Haiku 4.5, ketika model utama Anda gagal:1019Contoh ini mencoba Sonnet 5 terlebih dahulu, kemudian Haiku 4.5, ketika model utama Anda gagal:


968}1024}

969```1025```

970 1026 

971Tidak seperti sebagian besar pengaturan array, kunci ini tidak menggabungkan di seluruh file pengaturan: file dengan preseden tertinggi yang mendefinisikannya memasok seluruh rantai. Jika file proyek Anda menetapkan `["claude-sonnet-5"]` dan file pengguna Anda menetapkan `["claude-haiku-4-5"]`, rantainya adalah `["claude-sonnet-5"]` saja. Claude Code menyimpan paling banyak tiga model yang berbeda yang diizinkan dari daftar dan mengabaikan sisanya. Lihat [Rantai model fallback](/docs/id/model-config#fallback-model-chains).1027Tidak seperti sebagian besar pengaturan array, kunci ini tidak menggabungkan di seluruh file pengaturan: file dengan preseden tertinggi yang mendefinisikannya memasok seluruh rantai. Jika file proyek Anda menetapkan `["claude-sonnet-5"]` dan file pengguna Anda menetapkan `["claude-haiku-4-5"]`, rantainya adalah `["claude-sonnet-5"]` saja. Claude Code menyimpan paling banyak tiga model yang diizinkan berbeda dari daftar dan mengabaikan sisanya. Lihat [Rantai model fallback](/docs/id/model-config#fallback-model-chains).

972 1028 

973<h3 id="fastmode">1029<h3 id="fastmode">

974 `fastMode`1030 `fastMode`

975</h3>1031</h3>

976 1032 

977Hidupkan [fast mode](/docs/id/fast-mode) untuk sesi di mana tersedia, untuk pekerjaan interaktif seperti iterasi cepat atau debugging langsung di mana Anda menginginkan kecepatan dengan biaya lebih tinggi per token. Anda biasanya tidak mengedit kunci ini secara manual: menjalankan `/fast` menulis `fastMode: true` ke `~/.claude/settings.json`, dan menjalankannya lagi untuk mematikan fast mode menghapus kunci. Fast mode hanya berjalan di Opus 5.5, Opus 5, dan Opus 4.8: menghidupkannya dari model lain beralih Anda ke Opus, dan beralih ke model yang tidak didukung mematikannya. Lihat [Beralih model saat fast mode aktif](/docs/id/fast-mode#switch-models-while-fast-mode-is-on).1033Hidupkan [fast mode](/docs/id/fast-mode) untuk sesi tempat tersedia, untuk pekerjaan interaktif seperti iterasi cepat atau debugging langsung tempat Anda menginginkan kecepatan dengan biaya yang lebih tinggi per token. Anda biasanya tidak mengedit kunci ini dengan tangan: menjalankan `/fast` menulis `fastMode: true` ke `~/.claude/settings.json`, dan menjalankannya lagi untuk mematikan fast mode menghapus kunci. Fast mode berjalan hanya pada Opus 5.5, Opus 5, dan Opus 4.8: menghidupkannya dari model lain beralih Anda ke Opus, dan beralih ke model yang tidak didukung mematikannya. Lihat [Beralih model saat fast mode aktif](/docs/id/fast-mode#switch-models-while-fast-mode-is-on).

978 1034 

979* **Scope**: [`Any file`](#scopes)1035* **Scope**: [`Any file`](#scopes)

980* **Type**: Boolean1036* **Type**: Boolean

981 * `true`: Claude Code menghidupkan fast mode untuk sesi di mana tersedia1037 * `true`: Claude Code menghidupkan fast mode untuk sesi tempat tersedia

982 * `false`: fast mode tetap mati1038 * `false`: fast mode tetap mati

983* **Default**: tidak diatur, jadi fast mode mati1039* **Default**: tidak disetel, jadi fast mode mati

984* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/id/env-vars) mematikan fast mode untuk satu sesi, dan kunci ini tidak dapat menghidupkannya kembali1040* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/id/env-vars) mematikan fast mode untuk satu sesi, dan kunci ini tidak dapat menghidupkannya kembali

985 1041 

986```json settings.json theme={null}1042```json settings.json theme={null}


993 `fastModePerSessionOptIn`1049 `fastModePerSessionOptIn`

994</h3>1050</h3>

995 1051 

996Biasanya, menjalankan `/fast` menyimpan [`fastMode`](#fastmode) ke pengaturan pengguna seseorang, jadi fast mode aktif di awal setiap sesi kemudian. Atur kunci ini ke `true` untuk menghentikan itu: `fastMode: true` yang disimpan tidak lagi menghidupkan fast mode di awal sesi, dan setiap orang harus menjalankan `/fast` di setiap sesi yang mereka inginkan. Claude Code meninggalkan kunci `fastMode` di file mereka, jadi mematikan kunci ini mengembalikan perilaku lama.1052Biasanya, menjalankan `/fast` menyimpan [`fastMode`](#fastmode) ke pengaturan pengguna seseorang, jadi fast mode aktif di awal setiap sesi yang lebih baru. Tetapkan kunci ini ke `true` untuk menghentikan itu: `fastMode: true` yang disimpan tidak lagi menghidupkan fast mode di awal sesi, dan setiap orang harus menjalankan `/fast` dalam setiap sesi yang mereka inginkan. Claude Code meninggalkan kunci `fastMode` dalam file mereka, jadi mematikan kunci ini mengembalikan perilaku lama.

997 1053 

998Pemilik pada paket Team atau Enterprise dapat menerapkannya di seluruh organisasi melalui [pengaturan terkelola server](/docs/id/server-managed-settings). Ketika pengaturan terkelola menetapkan kunci, `/fast on` ditolak di luar sesi terminal interaktif dan melaporkan bahwa organisasi Anda telah menonaktifkan fast mode. Itu mencakup [mode non-interaktif](/docs/id/headless), [ekstensi VS Code](/docs/id/vs-code), dan [sesi cloud](/docs/id/claude-code-on-the-web).1054Pemilik pada paket Team atau Enterprise dapat menerapkannya di seluruh organisasi melalui [pengaturan terkelola server](/docs/id/server-managed-settings). Ketika pengaturan terkelola menetapkan kunci, `/fast on` ditolak di luar sesi terminal interaktif dan melaporkan bahwa organisasi Anda telah menonaktifkan fast mode. Itu mencakup [mode non-interaktif](/docs/id/headless), [ekstensi VS Code](/docs/id/vs-code), dan [sesi cloud](/docs/id/claude-code-on-the-web).

999 1055 

1000* **Scope**: [`Any file`](#scopes)1056* **Scope**: [`Any file`](#scopes)

1001* **Type**: Boolean1057* **Type**: Boolean

1002 * `true`: `fastMode: true` yang disimpan tidak lagi menghidupkan fast mode di awal sesi, jadi setiap orang menjalankan `/fast` di setiap sesi yang mereka inginkan; `fastMode: true` yang dilewatkan dengan `--settings` masih dihitung untuk sesi itu kecuali pengaturan terkelola menetapkan kunci ini1058 * `true`: `fastMode: true` yang disimpan tidak lagi menghidupkan fast mode di awal sesi, jadi setiap orang menjalankan `/fast` dalam setiap sesi yang mereka inginkan; `fastMode: true` yang dilewatkan dengan `--settings` masih dihitung untuk sesi itu kecuali pengaturan terkelola menetapkan kunci ini

1003 * `false`: `fastMode: true` yang disimpan menghidupkan fast mode di awal setiap sesi kemudian1059 * `false`: `fastMode: true` yang disimpan menghidupkan fast mode di awal setiap sesi yang lebih baru

1004* **Default**: `false`1060* **Default**: `false`

1005 1061 

1006```json settings.json theme={null}1062```json settings.json theme={null}


1015 `language`1071 `language`

1016</h3>1072</h3>

1017 1073 

1018Buat Claude merespons dalam bahasa selain Inggris secara default. Tidak ada daftar tetap untuk respons: Claude Code menambahkan nilai secara verbatim ke prompt sistem sebagai instruksi untuk selalu merespons dalam bahasa itu, jadi nama bahasa apa pun yang dapat dibaca Claude berfungsi. Claude Code tidak memeriksa nilai, jadi nama yang salah eja mencapai Claude seperti yang ditulis daripada menghasilkan kesalahan. Nilai yang sama menetapkan bahasa untuk [voice dictation](/docs/id/voice-dictation#change-the-dictation-language), yang memiliki daftar tetap [bahasa dictation yang didukung](/docs/id/voice-dictation#change-the-dictation-language), dan untuk judul sesi yang dibuat secara otomatis.1074Buat Claude merespons dalam bahasa selain Inggris secara default. Tidak ada daftar tetap untuk respons: Claude Code meneruskan nilai secara harfiah ke Claude sebagai instruksi untuk selalu merespons dalam bahasa itu, jadi nama bahasa apa pun yang dapat dibaca Claude berfungsi. Claude Code tidak memeriksa nilai, jadi nama yang salah eja mencapai Claude seperti yang ditulis daripada menghasilkan kesalahan. Nilai yang sama menetapkan bahasa untuk [voice dictation](/docs/id/voice-dictation#change-the-dictation-language), yang memiliki daftar tetap [bahasa dictation yang didukung](/docs/id/voice-dictation#change-the-dictation-language), dan untuk judul sesi yang dibuat secara otomatis.

1019 1075 

1020* **Scope**: [`Any file`](#scopes)1076* **Scope**: [`Any file`](#scopes)

1021* **Type**: string, nama bahasa apa pun, seperti `"japanese"`, `"spanish"`, atau `"french"`; Claude Code tidak memvalidasinya1077* **Type**: string, nama bahasa apa pun, seperti `"japanese"`, `"spanish"`, atau `"french"`; Claude Code tidak memvalidasinya

1022* **Default**: tidak diatur; judul sesi kemudian cocok dengan bahasa percakapan Anda1078* **Default**: tidak disetel; judul sesi kemudian cocok dengan bahasa percakapan Anda

1023 1079 

1024```json settings.json theme={null}1080```json settings.json theme={null}

1025{1081{


1031 `maxEffortLevel`1087 `maxEffortLevel`

1032</h3>1088</h3>

1033 1089 

1034Batasi [effort level](/docs/id/model-config#adjust-effort-level) yang dapat digunakan sesi, meninggalkan level yang lebih rendah tersedia. Level yang lebih tinggi apa pun berjalan pada batas sebagai gantinya, termasuk dari `/effort`, pemilih `/model`, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/id/env-vars), frontmatter `effort` skill atau subagent, atau default model itu sendiri. Claude Code menerapkan batas itu sendiri sebelum setiap permintaan, jadi itu berlaku pada setiap penyedia, termasuk Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry. Memerlukan Claude Code v2.1.267 atau lebih baru.1090Batasi [tingkat effort](/docs/id/model-config#adjust-effort-level) yang dapat digunakan sesi, meninggalkan level yang lebih rendah tersedia. Level yang lebih tinggi apa pun berjalan pada batas sebagai gantinya, termasuk dari `/effort`, pemilih `/model`, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/id/env-vars), frontmatter `effort` skill atau subagent, atau default model itu sendiri. Claude Code menerapkan batas itu sendiri sebelum setiap permintaan, jadi itu berlaku pada setiap penyedia, termasuk Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry. Memerlukan Claude Code v2.1.267 atau lebih baru.

1035 1091 

1036* **Scope**: [`Any file`](#scopes). Terapkan dalam pengaturan terkelola untuk memberlakukannya untuk organisasi. Ketika beberapa scope menetapkan batas, yang terendah berlaku, jadi batas yang ditetapkan dalam satu scope tidak dapat dinaikkan dari scope lain1092* **Scope**: [`Any file`](#scopes). Terapkan dalam pengaturan terkelola untuk memberlakukannya untuk organisasi. Ketika beberapa scope menetapkan batas, yang terendah berlaku, jadi batas yang ditetapkan dalam satu scope tidak dapat dinaikkan dari scope lain

1037* **Type**: string, salah satu dari `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Nilai `"max"` tidak menetapkan batas1093* **Type**: string, salah satu dari `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Nilai `"max"` tidak menetapkan batas

1038* **Default**: tidak diatur, jadi tidak ada batas yang berlaku1094* **Default**: tidak disetel, jadi tidak ada batas yang berlaku

1039* **Effect on ultracode**: batas di bawah `xhigh` membuat [ultracode](#ultracode) tidak tersedia pada model yang batas berlaku1095* **Per-model caps**: tambahkan `maxEffortLevel` ke entri [`modelSettings`](#modelsettings) model. Entri itu menggantikan kunci ini untuk model saja dalam sumber pengaturan yang menetapkan keduanya, seperti pengaturan pengguna Anda atau satu [sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources). Tetapkan `"max"` di sana untuk mengecualikan model dari batas sumber itu; Claude Code masih menerapkan batas dari sumber lain

1040* **Per-model caps**: tambahkan `maxEffortLevel` ke entri [`modelSettings`](#modelsettings) model. Entri itu menggantikan kunci ini untuk model saja dalam sumber pengaturan yang menetapkan keduanya, seperti pengaturan pengguna Anda atau satu [sumber terkelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources). Atur `"max"` di sana untuk mengecualikan model dari batas sumber itu; Claude Code masih menerapkan batas dari sumber lain

1041 1096 

1042Contoh ini membatasi setiap model pada `medium` dan mengecualikan Sonnet 4.6:1097Contoh ini membatasi setiap model pada `medium` dan mengecualikan Sonnet 4.6:

1043 1098 


1052}1107}

1053```1108```

1054 1109 

1055Ketika organisasi Anda juga menetapkan [batas effort](/docs/id/model-config#organization-effort-limits) untuk model, batas yang lebih rendah dari dua batas berlaku.1110Ketika organisasi Anda juga menetapkan [batas effort](/docs/id/model-config#organization-effort-limits) untuk model, batas yang lebih rendah dari keduanya berlaku.

1056 1111 

1057<h3 id="model">1112<h3 id="model">

1058 `model`1113 `model`

1059</h3>1114</h3>

1060 1115 

1061Atur model yang digunakan setiap sesi baru, jadi Anda tidak harus memilih satu dengan `/model` setiap kali. Menetapkannya di sini tidak menghentikan Anda dari beralih di tengah sesi. Jika admin Anda menetapkan [model default organisasi](/docs/id/model-config#organization-default-model) untuk mengesampingkan pilihan pengguna, Anda mendapatkan model itu bahkan ketika Anda menetapkan kunci ini dalam pengaturan pengguna, proyek, atau lokal.1116Tetapkan model yang digunakan setiap sesi baru, jadi Anda tidak harus memilih satu dengan `/model` setiap kali. Menetapkannya di sini tidak menghentikan Anda dari beralih di tengah sesi. Jika admin Anda menetapkan [model default organisasi](/docs/id/model-config#organization-default-model) untuk mengesampingkan pilihan pengguna, Anda mendapatkan model itu bahkan ketika Anda menetapkan kunci ini dalam pengaturan pengguna, proyek, atau lokal.

1062 1117 

1063* **Scope**: [`Any file`](#scopes)1118* **Scope**: [`Any file`](#scopes)

1064* **Type**: string, alias model atau ID model lengkap1119* **Type**: string, alias model atau ID model lengkap

1065* **Default**: tidak diatur, jadi Claude Code menggunakan model default akun Anda1120* **Default**: tidak disetel, jadi Claude Code menggunakan model default akun Anda

1066* **Per-session overrides**: `--model` mengambil alih [`ANTHROPIC_MODEL`](/docs/id/env-vars), dan keduanya mengambil alih kunci ini untuk satu sesi, termasuk atas `model` terkelola; daftar [`availableModels`](#availablemodels) masih berlaku untuk pilihan1121* **Per-session overrides**: `--model` mengambil alih [`ANTHROPIC_MODEL`](/docs/id/env-vars), dan keduanya mengambil alih kunci ini untuk satu sesi, termasuk atas `model` terkelola; daftar [`availableModels`](#availablemodels) masih berlaku untuk pilihan

1067 1122 

1068```json settings.json theme={null}1123```json settings.json theme={null}


1081 1136 

1082* **Scope**: [`Any file`](#scopes)1137* **Scope**: [`Any file`](#scopes)

1083* **Type**: object memetakan ID model ke ID model penyedia1138* **Type**: object memetakan ID model ke ID model penyedia

1084* **Default**: tidak diatur1139* **Default**: tidak disetel

1085 1140 

1086Contoh ini merutekan setiap panggilan untuk Opus 4.6 ke profil inferensi Bedrock bernama:1141Contoh ini merutekan setiap panggilan untuk Opus 4.6 ke profil inferensi Bedrock bernama:

1087 1142 


1099 `modelPicker`1154 `modelPicker`

1100</h3>1155</h3>

1101 1156 

1102Daftar model yang ditawarkan pemilih `/model`, dalam urutan yang Anda tulis dan di bawah label yang Anda pilih, jadi pemilih mencantumkan model yang dijalankan organisasi Anda, setelah lineup bawaan atau sebagai gantinya. `model` setiap baris diambil secara verbatim, jadi menerima apa pun yang diterima `--model`: alias seperti `opus`, ID model Anthropic, atau ID format penyedia untuk Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, atau gateway LLM. Memerlukan Claude Code v2.1.242 atau lebih baru.1157Daftar model yang ditawarkan pemilih `/model`, dalam urutan yang Anda tulis dan di bawah label yang Anda pilih, jadi pemilih mencantumkan model yang dijalankan organisasi Anda, setelah barisan bawaan atau sebagai gantinya. `model` setiap baris diambil secara harfiah, jadi itu menerima apa pun yang diterima `--model`: alias seperti `opus`, ID model Anthropic, atau ID format penyedia untuk Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, atau gateway LLM. Memerlukan Claude Code v2.1.242 atau lebih baru.

1103 1158 

1104* **Scope**: [`User or managed`](#scopes). Claude Code membaca kunci dari pengaturan terkelola, `--settings`, dan pengaturan pengguna, dan mengabaikannya dalam pengaturan proyek dan lokal jadi repositori yang Anda klon tidak dapat memberi label ulang pemilih. Yang tertinggi dari ketiga itu yang menetapkan kunci memasok seluruh lineup, dan Claude Code tidak pernah menggabungkan lineup dari dua sumber.1159* **Scope**: [`User or managed`](#scopes). Claude Code membaca kunci dari pengaturan terkelola, `--settings`, dan pengaturan pengguna, dan mengabaikannya dalam pengaturan proyek dan lokal jadi repositori yang Anda klon tidak dapat memberi label ulang pemilih. Yang tertinggi dari ketiga itu yang menetapkan kunci memasok seluruh barisan, dan Claude Code tidak pernah menggabungkan barisan dari dua sumber.

1105* **Type**: object dengan array `options` dari baris dan Boolean `replaceBuiltInOptions` opsional1160* **Type**: object dengan array `options` dari baris dan Boolean `replaceBuiltInOptions` opsional

1106* **Default**: tidak diatur, jadi pemilih menampilkan lineup bawaan1161* **Default**: tidak disetel, jadi pemilih menunjukkan barisan bawaan

1107 1162 

1108Contoh ini menambahkan dua deployment Bedrock setelah lineup bawaan, di bawah nama yang dikenali tim Anda:1163Contoh ini menambahkan dua deployment Bedrock setelah barisan bawaan, di bawah nama yang dikenali tim Anda:

1109 1164 

1110```json managed-settings.json theme={null}1165```json managed-settings.json theme={null}

1111{1166{


1127<span id="modelpicker-replacebuiltinoptions" />1182<span id="modelpicker-replacebuiltinoptions" />

1128 1183 

1129<h4 id="fields-for-modelpicker">1184<h4 id="fields-for-modelpicker">

1130 Fields untuk `modelPicker`1185 Bidang untuk `modelPicker`

1131</h4>1186</h4>

1132 1187 

1133Kunci mengambil dua field, satu untuk baris itu sendiri dan satu untuk apakah mereka menggantikan lineup bawaan atau menambahnya.1188Kunci mengambil dua bidang, satu untuk baris itu sendiri dan satu untuk apakah mereka menggantikan barisan bawaan atau menambahnya.

1134 1189 

1135| Field | Type | Apa yang dilakukannya |1190| Bidang | Tipe | Apa yang dilakukannya |

1136| :- | :- | :- |1191| :- | :- | :- |

1137| `options` | array baris, masing-masing dengan `model` yang diperlukan dan `label` dan `description` opsional | Baris yang ditampilkan pemilih, dalam urutan ini, kecuali baris yang digelapkan bergerak ke bawah. Tanpa `label`, Claude Code memberi judul baris dengan nama bawaan untuk model yang diketahuinya, atau ID model sebaliknya, dan tanpa `description` itu menulis baris kedua generik |1192| `options` | array baris, masing-masing dengan `model` yang diperlukan dan `label`, `description`, dan `behavesAs` opsional | Baris yang ditunjukkan pemilih, dalam urutan ini, kecuali baris yang diarsir pindah ke bawah. Tanpa `label`, Claude Code memberi judul baris dengan nama bawaan untuk model yang diketahuinya, atau ID model sebaliknya, dan tanpa `description` itu menulis baris kedua generik |

1138| `replaceBuiltInOptions` | Boolean, default `false` | Atur ke `true` untuk menampilkan hanya baris ini, **Default**, dan baris untuk model yang sudah digunakan sesi. Biarkan tidak diatur untuk menambahkan baris ini setelah lineup bawaan |1193| `replaceBuiltInOptions` | Boolean, default `false` | Tetapkan ke `true` untuk menunjukkan hanya baris ini, **Default**, dan baris untuk model yang sudah digunakan sesi. Biarkan tidak disetel untuk menambahkan baris ini setelah barisan bawaan |

1194 

1195Entri dalam `options` juga dapat membawa `behavesAs` string opsional di samping `model` nya, yang memerlukan v2.1.257 atau lebih baru. Tetapkan ke ID model yang sudah diketahui versi Claude Code Anda, seperti `claude-opus-4-8`, pada entri yang `model` nya lebih baru dari versi Anda. Claude Code kemudian menerapkan kemampuan model yang diketahui itu dan default effort ke entri daripada memperlakukan modelnya sebagai tidak dikenal. Label entri dan ID model yang dikirim Claude Code dalam permintaan tidak berubah.

1139 1196 

1140Dengan `replaceBuiltInOptions` aktif, Claude Code menyembunyikan setiap baris lain: lineup bawaan, baris yang ditambahkannya untuk entri [`availableModels`](#availablemodels), model yang ditemukan [gateway discovery](/docs/id/llm-gateway-protocol#model-discovery), dan [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/id/model-config#add-a-custom-model-option). Dengan itu mati, Claude Code melewati model yang tercantum yang sudah dicakup lineup bawaan. Label mengubah apa yang ditampilkan pemilih, bukan model mana yang dijalankan Claude Code.1197Dengan `replaceBuiltInOptions` aktif, Claude Code menyembunyikan setiap baris lain: barisan bawaan, baris yang ditambahkannya untuk entri [`availableModels`](#availablemodels), model yang ditemukan [penemuan gateway](/docs/id/llm-gateway-protocol#model-discovery), dan [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/id/model-config#add-a-custom-model-option). Dengan itu mati, Claude Code melewati model yang tercantum yang sudah dicakup barisan bawaan. Label mengubah apa yang ditunjukkan pemilih, bukan model mana yang dijalankan Claude Code.

1141 1198 

1142Daftar allowlist [`availableModels`](#availablemodels) masih berlaku untuk baris ini. Sebelum Anda menambahkan model yang tercantum ke allowlist, baca [Merge behavior](/docs/id/model-config#merge-behavior): ID model tertentu mempersempit entri wildcard keluarganya. Claude Code juga memeriksa setiap baris terhadap sesi sebelum menampilkan pemilih:1199Daftar [`availableModels`](#availablemodels) masih berlaku untuk baris ini. Sebelum Anda menambahkan model yang tercantum ke daftar, baca [Perilaku penggabungan](/docs/id/model-config#merge-behavior): ID model tertentu mempersempit entri wildcard keluarganya. Claude Code juga memeriksa setiap baris terhadap sesi sebelum menunjukkan pemilih:

1143 1200 

1144* **Dropped**: baris yang tidak dapat disajikan Claude Code, seperti model yang pensiun atau model yang tidak memiliki akses organisasi Anda1201* **Dijatuhkan**: baris yang tidak dapat disajikan Claude Code, seperti model yang pensiun atau model yang tidak memiliki akses organisasi Anda

1145* **Grayed out**: baris yang tidak dapat Anda pilih belum, ditampilkan dengan alasannya1202* **Diarsir**: baris yang tidak dapat Anda pilih belum, ditampilkan dengan alasan

1146* **No row survives**: Claude Code menyimpan lineup bawaan, disaring oleh allowlist seperti biasa1203* **Tidak ada baris yang bertahan**: Claude Code menyimpan barisan bawaan, disaring oleh daftar seperti biasa

1147 1204 

1148Claude Code menjatuhkan baris yang tidak dapat diuraikan dan menyimpan sisanya. Lihat [Perbaiki file pengaturan yang rusak](/docs/id/settings#fix-a-broken-settings-file).1205Claude Code menjatuhkan baris yang tidak dapat diuraikan dan menyimpan sisanya. Lihat [Perbaiki file pengaturan yang rusak](/docs/id/settings#fix-a-broken-settings-file).

1149 1206 


1151 `modelPricing`1208 `modelPricing`

1152</h3>1209</h3>

1153 1210 

1154Laporkan pengeluaran pada tarif yang dibayar organisasi Anda daripada harga daftar. Atur ketika organisasi Anda memiliki tarif kontrak, jadi angka dolar yang dilihat pengembang cocok dengan tagihan Anda. Claude Code menerapkan tarif di `/usage`, [baris status](/docs/id/statusline), `total_cost_usd` Agent SDK, batas [`--max-budget-usd`](/docs/id/cli-reference), dan [OpenTelemetry](/docs/id/monitoring-usage) metrik biaya dan acara. Anda memasok tarif: Claude Code tidak membacanya dari kontrak atau Claude Console Anda. Memerlukan Claude Code v2.1.242 atau lebih baru.1211Laporkan pengeluaran pada tarif yang dibayar organisasi Anda daripada harga daftar. Tetapkan ketika organisasi Anda memiliki tarif kontrak, jadi angka dolar yang dilihat pengembang cocok dengan tagihan Anda. Claude Code menerapkan tarif dalam `/usage`, [baris status](/docs/id/statusline), `total_cost_usd` Agent SDK, batas [`--max-budget-usd`](/docs/id/cli-reference), dan [OpenTelemetry](/docs/id/monitoring-usage) metrik biaya dan acara. Anda memasok tarif: Claude Code tidak membacanya dari kontrak atau Claude Console Anda. Memerlukan Claude Code v2.1.242 atau lebih baru.

1155 1212 

1156* **Scope**: [`Managed`](#scopes). Terapkan kunci melalui pengaturan terkelola server, kebijakan MDM, file `managed-settings.json`, atau [helper kebijakan](/docs/id/managed-settings#compute-the-policy-with-a-helper-program). Claude Code mengabaikannya dalam pengaturan pengguna, proyek, dan lokal, di `--settings`, dan di Windows dalam [registri HKCU](/docs/id/managed-settings#where-each-mechanism-stores-the-policy) yang dapat ditulis pengguna. Dengan pengaturan terkelola server, setiap sesi melaporkan biaya pada harga daftar sampai [pengambilan pengaturan](/docs/id/server-managed-settings#fetch-and-caching-behavior) sesi itu telah mengkonfirmasi pengaturan. Aplikasi host yang menyematkan Claude Code dan menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/id/env-vars) dapat memasok tabel miliknya sendiri melalui opsi SDK [`managedSettings`](/docs/id/agent-sdk/typescript#options), yang Claude Code gunakan hanya ketika tidak ada sumber terkelola yang menetapkan kunci dan hanya dalam Claude Code v2.1.246 atau lebih baru.1213* **Scope**: [`Managed`](#scopes). Terapkan kunci melalui pengaturan terkelola server, kebijakan MDM, file `managed-settings.json`, atau [pembantu kebijakan](/docs/id/managed-settings#compute-the-policy-with-a-helper-program). Claude Code mengabaikannya dalam pengaturan pengguna, proyek, dan lokal, dalam `--settings`, dan di Windows dalam [registri HKCU](/docs/id/managed-settings#where-each-mechanism-stores-the-policy) yang dapat ditulis pengguna. Dengan pengaturan terkelola server, setiap sesi melaporkan biaya pada harga daftar sampai [pengambilan pengaturan](/docs/id/server-managed-settings#fetch-and-caching-behavior) sesi itu telah mengkonfirmasi pengaturan. Aplikasi host yang menyematkan Claude Code dan menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/id/env-vars) dapat memasok tabel miliknya sendiri melalui opsi SDK [`managedSettings`](/docs/id/agent-sdk/typescript#options), yang Claude Code gunakan hanya ketika tidak ada sumber terkelola yang menetapkan kunci dan hanya dalam Claude Code v2.1.246 atau lebih baru.

1157* **Type**: object dengan `multiplier` opsional dan peta `overrides` opsional1214* **Type**: object dengan `multiplier` opsional dan peta `overrides` opsional

1158* **Default**: tidak diatur, jadi Claude Code melaporkan harga daftar kecuali aplikasi host memasok tabel1215* **Default**: tidak disetel, jadi Claude Code melaporkan harga daftar kecuali aplikasi host memasok tabel

1159 1216 

1160Atur `multiplier` saja untuk diskon datar atau markup, `overrides` saja untuk tarif per model, atau keduanya.1217Tetapkan `multiplier` saja untuk diskon atau markup datar, `overrides` saja untuk tarif per model, atau keduanya.

1161 1218 

1162Contoh ini menetapkan tarif kontrak untuk Sonnet 4.6 dan kemudian mengurangi setiap angka, baris Sonnet disertakan, sebesar 15%:1219Contoh ini menetapkan tarif kontrak untuk Sonnet 4.6 dan kemudian mengurangi setiap angka, baris Sonnet disertakan, sebesar 15%:

1163 1220 


1177}1234}

1178```1235```

1179 1236 

1180Atur `multiplier` di atas 1, hingga 10, untuk menandai setiap angka. Markup memerlukan Claude Code v2.1.271 atau lebih baru. Versi sebelumnya mengabaikan `multiplier` di atas 1 dengan peringatan dan menyimpan sisa pengaturan.1237Tetapkan `multiplier` di atas 1, hingga 10, untuk menandai setiap angka. Markup memerlukan Claude Code v2.1.271 atau lebih baru. Versi yang lebih awal mengabaikan `multiplier` di atas 1 dengan peringatan dan menyimpan sisa pengaturan.

1181 1238 

1182Untuk langkah-langkahnya, termasuk cara mengkonfirmasi tarif berlaku, lihat [Laporkan pengeluaran pada tarif kontrak Anda](/docs/id/costs#report-spend-at-your-contracted-rates).1239Untuk langkah-langkahnya, termasuk cara mengkonfirmasi tarif berlaku, lihat [Laporkan pengeluaran pada tarif kontrak Anda](/docs/id/costs#report-spend-at-your-contracted-rates).

1183 1240 


1186<span id="modelpricing-overrides" />1243<span id="modelpricing-overrides" />

1187 1244 

1188<h4 id="fields-for-modelpricing">1245<h4 id="fields-for-modelpricing">

1189 Fields untuk `modelPricing`1246 Bidang untuk `modelPricing`

1190</h4>1247</h4>

1191 1248 

1192| Field | Type | Apa yang dilakukannya |1249| Bidang | Tipe | Apa yang dilakukannya |

1193| :- | :- | :- |1250| :- | :- | :- |

1194| `multiplier` | angka lebih besar dari 0 dan paling banyak 10 | Menskalakan setiap biaya yang dihitung Claude Code, apakah baris `overrides` mencakupnya atau tidak. Di bawah 1 adalah diskon, di atas 1 adalah markup |1251| `multiplier` | angka lebih besar dari 0 dan paling banyak 10 | Menskalakan setiap biaya yang dihitung Claude Code, apakah baris `overrides` mencakupnya atau tidak. Di bawah 1 adalah diskon, di atas 1 markup |

1195| `overrides` | peta ID model ke objek tarif dengan `input`, `output`, `cacheRead`, dan `cacheWrite`, masing-masing 0 hingga 10000 | Tarif USD-per-juta-token untuk model itu, keempat diperlukan. `cacheWrite` mencakup penulisan cache lima menit dan satu jam. Lihat [Model mana yang berlaku baris modelPricing](#which-models-a-modelpricing-row-applies-to) |1252| `overrides` | peta ID model ke objek tarif dengan `input`, `output`, `cacheRead`, dan `cacheWrite`, masing-masing 0 hingga 10000 | Tarif USD-per-juta-token untuk model itu, keempat diperlukan. `cacheWrite` mencakup penulisan cache lima menit dan satu jam. Lihat [Model mana yang berlaku baris modelPricing](#which-models-a-modelpricing-row-applies-to) |

1196 1253 

1197Claude Code menggunakan tarif baris persis seperti yang Anda tulis, tanpa menambahkan surcharge fast-mode atau [tarif inferensi hanya-AS](https://platform.claude.com/docs/en/about-claude/pricing). Jika Anda juga menetapkan `multiplier`, Claude Code menerapkannya di atas tarif baris. Claude Code menjatuhkan baris dengan tarif yang tidak dapat diuraikan, atau `multiplier` yang tidak dapat diuraikan, dan menyimpan sisanya; lihat [Perbaiki file pengaturan yang rusak](/docs/id/settings#fix-a-broken-settings-file).1254Claude Code menggunakan tarif baris persis seperti yang Anda tulis, tanpa menambahkan surcharge fast-mode atau [tarif inferensi hanya AS](https://platform.claude.com/docs/en/about-claude/pricing). Jika Anda juga menetapkan `multiplier`, Claude Code menerapkannya di atas tarif baris. Claude Code menjatuhkan baris dengan tarif yang tidak dapat diuraikan, atau `multiplier` yang tidak dapat diuraikan, dan menyimpan sisanya; lihat [Perbaiki file pengaturan yang rusak](/docs/id/settings#fix-a-broken-settings-file).

1198 1255 

1199<h4 id="which-models-a-modelpricing-row-applies-to">1256<h4 id="which-models-a-modelpricing-row-applies-to">

1200 Model mana yang berlaku baris `modelPricing`1257 Model mana yang berlaku baris `modelPricing`


1202 1259 

1203Claude Code memutuskan model mana yang berlaku baris dari kunci baris:1260Claude Code memutuskan model mana yang berlaku baris dari kunci baris:

1204 1261 

1205* **ID model bawaan**: kunci yang digunakan Claude Code itu sendiri untuk model bawaan, apakah kunci itu ID model itu sendiri, seperti `claude-sonnet-4-6`, atau ID Bedrock, Agent Platform, atau Foundry-nya. Claude Code menerapkan baris ke setiap ID snapshot bertanggal dan ID khusus penyedia dari model itu.1262* **ID model bawaan**: kunci yang digunakan Claude Code itu sendiri untuk model bawaan, apakah kunci itu ID model itu sendiri, seperti `claude-sonnet-4-6`, atau ID Bedrock, Agent Platform, atau Foundry-nya. Claude Code menerapkan baris ke setiap ID snapshot tanggal dan ID khusus penyedia model itu.

1206* **Kunci lain apa pun**: kunci yang bukan ID model bawaan, seperti alias model gateway. Claude Code menerapkan baris ke ID itu saja. Ketika ID model cocok dengan salah satu kunci Anda persis dan juga jatuh di bawah baris yang dikunci oleh ID model bawaan, Claude Code menggunakan kecocokan persis.1263* **Kunci lain apa pun**: kunci yang bukan ID model bawaan, seperti alias model gateway. Claude Code menerapkan baris ke ID itu saja. Ketika ID model cocok dengan salah satu kunci Anda persis dan juga jatuh di bawah baris yang dikunci oleh ID model bawaan, Claude Code menggunakan kecocokan persis.

1207* **Profil inferensi aplikasi Bedrock**: setelah Claude Code telah menyelesaikan profil ke model yang dirutnya, melalui peta [`modelOverrides`](#modeloverrides) Anda atau pencarian [`bedrock:GetInferenceProfile`](/docs/id/amazon-bedrock#iam-configuration), Claude Code menerapkan baris model itu ke profil.1264* **Profil inferensi aplikasi Bedrock**: setelah Claude Code telah menyelesaikan profil ke model yang dirutekannya, melalui peta [`modelOverrides`](#modeloverrides) Anda atau pencarian [`bedrock:GetInferenceProfile`](/docs/id/amazon-bedrock#iam-configuration), Claude Code menerapkan baris model itu ke profil.

1208 1265 

1209<h3 id="modelsettings">1266<h3 id="modelsettings">

1210 `modelSettings`1267 `modelSettings`

1211</h3>1268</h3>

1212 1269 

1213Simpan [effort level](/docs/id/model-config#adjust-effort-level) untuk setiap model yang Anda gunakan. Memerlukan Claude Code v2.1.251 atau lebih baru.1270Simpan [tingkat effort](/docs/id/model-config#adjust-effort-level) untuk setiap model yang Anda gunakan. Memerlukan Claude Code v2.1.251 atau lebih baru.

1214 1271 

1215Dalam sesi interaktif di mesin Anda, ketika Anda menyimpan `low`, `medium`, `high`, atau `xhigh` sebagai default Anda dengan `/effort` atau slider effort pemilih `/model`, Claude Code menulis level itu di sini di bawah model yang Anda gunakan, jadi Anda jarang mengedit kunci ini sendiri. Ketika Anda memilih salah satu level itu di [pemilih model ekstensi VS Code](/docs/id/vs-code#use-the-prompt-box), Claude Code menyimpannya di sini dengan cara yang sama. Entri [`effortLevel`](#effortlevel) mencantumkan sesi di mana `/effort` hanya berlaku untuk sesi itu.1272Dalam sesi interaktif di mesin Anda, ketika Anda menyimpan `low`, `medium`, `high`, atau `xhigh` sebagai default Anda dengan `/effort` atau slider effort pemilih `/model`, Claude Code menulis level itu di sini di bawah model yang Anda gunakan, jadi Anda jarang mengedit kunci ini sendiri. Ketika Anda memilih salah satu level itu dalam [pemilih model ekstensi VS Code](/docs/id/vs-code#use-the-prompt-box), Claude Code menyimpannya di sini dengan cara yang sama. Entri [`effortLevel`](#effortlevel) mencantumkan sesi tempat `/effort` berlaku hanya untuk sesi itu.

1216 1273 

1217Edit kunci secara manual untuk mengubah atau menghapus level yang Anda simpan.1274Edit kunci dengan tangan untuk mengubah atau menghapus level yang Anda simpan.

1218 1275 

1219`effortLevel` model di sini mengambil preseden atas [`effortLevel`](#effortlevel) tingkat atas dalam file pengaturan yang sama. Di seluruh file, Claude Code menyelesaikan setiap model secara terpisah: [file pengaturan](/docs/id/settings#settings-precedence) dengan preseden tertinggi yang menetapkan `effortLevel` untuk model itu atau `effortLevel` tingkat atas yang [berlaku untuk model itu](#effortlevel) memutuskan, jadi `effortLevel` dalam pengaturan terkelola mengalahkan level yang Anda simpan dalam pengaturan pengguna. [Sesuaikan effort level](/docs/id/model-config#adjust-effort-level) mencantumkan apa lagi yang dapat mengesampingkan level yang disimpan, seperti `--effort` saat peluncuran.1276`effortLevel` model di sini mengambil preseden atas [`effortLevel`](#effortlevel) tingkat atas dalam file pengaturan yang sama. Di seluruh file, Claude Code menyelesaikan setiap model secara terpisah: file [pengaturan](/docs/id/settings#settings-precedence) dengan preseden tertinggi yang menetapkan `effortLevel` untuk model itu atau `effortLevel` tingkat atas yang [berlaku untuk model itu](#effortlevel) memutuskan, jadi `effortLevel` dalam pengaturan terkelola mengalahkan level yang Anda simpan dalam pengaturan pengguna. [Sesuaikan tingkat effort](/docs/id/model-config#adjust-effort-level) mencantumkan apa lagi yang dapat mengesampingkan level yang disimpan, seperti `--effort` saat peluncuran.

1220 1277 

1221Untuk membatasi effort satu model daripada menetapkan levelnya, tambahkan field [`maxEffortLevel`](#maxeffortlevel) ke entri model itu. Field memerlukan Claude Code v2.1.267 atau lebih baru.1278Untuk membatasi effort satu model daripada menetapkan levelnya, tambahkan bidang [`maxEffortLevel`](#maxeffortlevel) ke entri model itu. Bidang memerlukan Claude Code v2.1.267 atau lebih baru.

1222 1279 

1223* **Scope**: [`Any file`](#scopes)1280* **Scope**: [`Any file`](#scopes)

1224* **Type**: object memetakan nama model ke object dengan field `effortLevel`, salah satu dari `"low"`, `"medium"`, `"high"`, atau `"xhigh"`, field [`maxEffortLevel`](#maxeffortlevel), atau keduanya1281* **Type**: object memetakan nama model ke object dengan bidang `effortLevel`, salah satu dari `"low"`, `"medium"`, `"high"`, atau `"xhigh"`, bidang [`maxEffortLevel`](#maxeffortlevel), atau keduanya

1225* **Default**: tidak diatur1282* **Default**: tidak disetel

1226 1283 

1227Claude Code menulis setiap entri di bawah nama kanonik model, seperti `claude-opus-5-5`, dan mencocokkan alias model itu, bertanggal, `[1m]`, dan ID khusus penyedia yang dikenali ke entri yang sama.1284Claude Code menulis setiap entri di bawah nama kanonik model, seperti `claude-opus-5-5`, dan mencocokkan alias model itu, tanggal-akhiran, `[1m]`, dan ID khusus penyedia yang dikenali ke entri yang sama.

1228 1285 

1229Contoh ini menyimpan Opus 5.5 pada `high` sementara model lain menggunakan level yang disimpan atau default mereka sendiri:1286Contoh ini menyimpan Opus 5.5 pada `high` sementara model lain menggunakan level yang disimpan atau default mereka sendiri:

1230 1287 


1244 `outputStyle`1301 `outputStyle`

1245</h3>1302</h3>

1246 1303 

1247Pilih [output style](/docs/id/output-styles) berdasarkan nama. Output style adalah set instruksi yang disimpan yang mengubah peran, nada, dan format output Claude, seperti style Explanatory dan Learning bawaan atau yang Anda tulis sendiri.1304Pilih [gaya output](/docs/id/output-styles) berdasarkan nama. Gaya output adalah set instruksi yang disimpan yang mengubah peran, nada, dan format output Claude, seperti gaya Explanatory dan Learning bawaan atau yang Anda tulis sendiri.

1248 1305 

1249Jika Anda mengubah kunci ini selama sesi, Claude menggunakan style baru mulai dari pesan Anda berikutnya. Untuk apa biaya pesan itu dalam prompt caching, lihat [Mengubah output style](/docs/id/prompt-caching#changing-output-style). Sebelum v2.1.251, edit hanya berlaku setelah Anda menjalankan `/clear` atau memulai sesi baru.1306Jika Anda mengubah kunci ini selama sesi, Claude menggunakan gaya baru mulai dari pesan Anda berikutnya. Untuk apa biaya pesan itu dalam prompt caching, lihat [Mengubah gaya output](/docs/id/prompt-caching#changing-output-style). Sebelum v2.1.251, edit berlaku hanya setelah Anda menjalankan `/clear` atau memulai sesi baru.

1250 1307 

1251* **Scope**: [`Any file`](#scopes)1308* **Scope**: [`Any file`](#scopes)

1252* **Type**: string, nama [bawaan](/docs/id/output-styles#built-in-output-styles) atau [custom](/docs/id/output-styles#create-a-custom-output-style) output style1309* **Type**: string, nama [bawaan](/docs/id/output-styles#built-in-output-styles) atau [kustom](/docs/id/output-styles#create-a-custom-output-style) gaya output

1253* **Default**: tidak diatur, jadi Claude Code menggunakan style default1310* **Default**: tidak disetel, jadi Claude Code menggunakan gaya default

1254 1311 

1255Contoh ini memilih style Explanatory bawaan, yang menambahkan wawasan pendidikan antara tugas:1312Contoh ini memilih gaya Explanatory bawaan, yang menambahkan wawasan pendidikan antara tugas:

1256 1313 

1257```json settings.json theme={null}1314```json settings.json theme={null}

1258{1315{


1264 `promptCacheTtl`1321 `promptCacheTtl`

1265</h3>1322</h3>

1266 1323 

1267Pilih berapa lama [prompt cache](/docs/id/prompt-caching) menyimpan percakapan utama. Kunci ini berlaku untuk giliran interaktif, `-p`, dan Agent SDK Anda, bersama dengan helper yang dijalankan Claude Code secara inline dengannya. Lifetime satu jam menjaga cache tetap hangat di seluruh jeda yang lebih lama, dan API [menagih setiap penulisan cache pada tarif yang lebih tinggi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) daripada lifetime lima menit. Memerlukan Claude Code v2.1.242 atau lebih baru.1324Pilih berapa lama [prompt cache](/docs/id/prompt-caching) menyimpan percakapan utama. Kunci ini berlaku untuk giliran interaktif, `-p`, dan Agent SDK Anda, bersama dengan pembantu yang dijalankan Claude Code secara inline dengannya. Masa pakai satu jam menjaga cache tetap hangat di seluruh jeda yang lebih lama, dan API [menagih setiap penulisan cache pada tarif yang lebih tinggi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) daripada masa pakai lima menit. Memerlukan Claude Code v2.1.242 atau lebih baru.

1268 1325 

1269* **Scope**: [`Any file`](#scopes)1326* **Scope**: [`Any file`](#scopes)

1270* **Type**: string, salah satu dari:1327* **Type**: string, salah satu dari:

1271 * `"5m"`: cache menyimpan selama lima menit1328 * `"5m"`: cache menyimpan selama lima menit

1272 * `"1h"`: cache menyimpan selama satu jam1329 * `"1h"`: cache menyimpan selama satu jam

1273* **Default**: tidak diatur, jadi setiap permintaan percakapan utama mendapat [lifetime defaultnya](/docs/id/prompt-caching#which-ttl-each-request-gets)1330* **Default**: tidak disetel, jadi setiap permintaan percakapan utama mendapat [masa pakai defaultnya](/docs/id/prompt-caching#which-ttl-each-request-gets)

1274* **Per-session overrides**: [`FORCE_PROMPT_CACHING_5M`](/docs/id/env-vars) mengambil alih segalanya, kemudian [`CLAUDE_CODE_PROMPT_CACHE_TTL`](/docs/id/env-vars), kemudian kunci ini, dan terakhir [`ENABLE_PROMPT_CACHING_1H`](/docs/id/env-vars)1331* **Per-session overrides**: [`FORCE_PROMPT_CACHING_5M`](/docs/id/env-vars) mengambil alih segalanya, kemudian [`CLAUDE_CODE_PROMPT_CACHE_TTL`](/docs/id/env-vars), kemudian kunci ini, dan terakhir [`ENABLE_PROMPT_CACHING_1H`](/docs/id/env-vars)

1275 1332 

1276Contoh ini menyimpan percakapan utama pada lifetime satu jam dan meninggalkan subagents pada lima menit:1333Contoh ini menyimpan percakapan utama pada masa pakai satu jam dan meninggalkan subagents pada lima menit:

1277 1334 

1278```json settings.json theme={null}1335```json settings.json theme={null}

1279{1336{


1282}1339}

1283```1340```

1284 1341 

1285Untuk apa biaya setiap lifetime, lihat [Cache lifetime](/docs/id/prompt-caching#cache-lifetime).1342Untuk apa biaya setiap masa pakai, lihat [Masa pakai cache](/docs/id/prompt-caching#cache-lifetime).

1286 1343 

1287<h3 id="showthinkingsummaries">1344<h3 id="showthinkingsummaries">

1288 `showThinkingSummaries`1345 `showThinkingSummaries`

1289</h3>1346</h3>

1290 1347 

1291Lihat ringkasan [extended thinking](/docs/id/model-config#extended-thinking) Claude dalam sesi interaktif. Atur jika Anda menginginkan ringkasan lengkap ketika Anda memperluas thinking dengan `Ctrl+O`. Ketika tidak diatur atau `false`, Anthropic API menyensor blok thinking dan Claude Code menampilkan stub yang runtuh; penyedia pihak ketiga tidak menyensor.1348Lihat ringkasan [extended thinking](/docs/id/model-config#extended-thinking) Claude dalam sesi interaktif. Tetapkan jika Anda menginginkan ringkasan lengkap ketika Anda memperluas thinking dengan `Ctrl+O`. Ketika tidak disetel atau `false`, Anthropic API menyensor blok thinking dan Claude Code menunjukkan stub yang runtuh; penyedia pihak ketiga tidak menyensor.

1292 1349 

1293* **Scope**: [`Any file`](#scopes)1350* **Scope**: [`Any file`](#scopes)

1294* **Type**: Boolean1351* **Type**: Boolean

1295 * `true`: Anda melihat ringkasan thinking lengkap ketika Anda memperluas thinking dengan `Ctrl+O`1352 * `true`: Anda melihat ringkasan thinking lengkap ketika Anda memperluas thinking dengan `Ctrl+O`

1296 * `false`: Anthropic API menyensor blok thinking dan Claude Code menampilkan stub yang runtuh1353 * `false`: Anthropic API menyensor blok thinking dan Claude Code menunjukkan stub yang runtuh

1297* **Default**: `false`1354* **Default**: `false`

1298 1355 

1299```json settings.json theme={null}1356```json settings.json theme={null}


1302}1359}

1303```1360```

1304 1361 

1305Penyensoran hanya mengubah apa yang Anda lihat, bukan apa yang dihasilkan model. Untuk mengurangi pengeluaran thinking, [turunkan anggaran atau matikan thinking](/docs/id/model-config#extended-thinking) sebagai gantinya.1362Penyensoran mengubah hanya apa yang Anda lihat, bukan apa yang dihasilkan model. Untuk mengurangi pengeluaran thinking, [turunkan anggaran atau matikan thinking](/docs/id/model-config#extended-thinking) sebagai gantinya.

1306 1363 

1307<h3 id="subagentpromptcachettl">1364<h3 id="subagentpromptcachettl">

1308 `subagentPromptCacheTtl`1365 `subagentPromptCacheTtl`

1309</h3>1366</h3>

1310 1367 

1311Pilih berapa lama [prompt cache](/docs/id/prompt-caching) menyimpan permintaan yang dibuat Claude Code di luar percakapan utama. Kunci ini berlaku untuk [subagents](/docs/id/sub-agents), [workflows](/docs/id/workflows), dan permintaan background dan helper Claude Code sendiri, seperti compaction dan judul sesi. Lifetime satu jam menjaga cache tetap hangat di seluruh jeda yang lebih lama, dan API [menagih setiap penulisan cache pada tarif yang lebih tinggi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) daripada lifetime lima menit. Memerlukan Claude Code v2.1.242 atau lebih baru.1368Pilih berapa lama [prompt cache](/docs/id/prompt-caching) menyimpan permintaan yang dibuat Claude Code di luar percakapan utama. Kunci ini berlaku untuk [subagents](/docs/id/sub-agents), [workflows](/docs/id/workflows), dan permintaan latar belakang dan pembantu Claude Code sendiri, seperti pemadatan dan judul sesi. Masa pakai satu jam menjaga cache tetap hangat di seluruh jeda yang lebih lama, dan API [menagih setiap penulisan cache pada tarif yang lebih tinggi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) daripada masa pakai lima menit. Memerlukan Claude Code v2.1.242 atau lebih baru.

1312 1369 

1313* **Scope**: [`Any file`](#scopes)1370* **Scope**: [`Any file`](#scopes)

1314* **Type**: string, salah satu dari:1371* **Type**: string, salah satu dari:

1315 * `"5m"`: cache menyimpan selama lima menit1372 * `"5m"`: cache menyimpan selama lima menit

1316 * `"1h"`: cache menyimpan selama satu jam1373 * `"1h"`: cache menyimpan selama satu jam

1317* **Default**: tidak diatur, jadi setiap permintaan ini mendapat [lifetime defaultnya](/docs/id/prompt-caching#which-ttl-each-request-gets)1374* **Default**: tidak disetel, jadi setiap permintaan ini mendapat [masa pakai defaultnya](/docs/id/prompt-caching#which-ttl-each-request-gets)

1318* **Per-session overrides**: [`FORCE_PROMPT_CACHING_5M`](/docs/id/env-vars) mengambil alih segalanya, kemudian [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](/docs/id/env-vars), kemudian kunci ini, kemudian [`ENABLE_PROMPT_CACHING_1H`](/docs/id/env-vars), yang meminta lifetime satu jam pada setiap permintaan. Untuk di mana nilai frontmatter subagent sendiri berada, lihat [Pilih TTL sendiri](/docs/id/prompt-caching#choose-the-ttl-yourself)1375* **Per-session overrides**: [`FORCE_PROMPT_CACHING_5M`](/docs/id/env-vars) mengambil alih segalanya, kemudian [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](/docs/id/env-vars), kemudian kunci ini, kemudian [`ENABLE_PROMPT_CACHING_1H`](/docs/id/env-vars), yang meminta masa pakai satu jam pada setiap permintaan. Untuk di mana nilai frontmatter subagent sendiri berada, lihat [Pilih TTL sendiri](/docs/id/prompt-caching#choose-the-ttl-yourself)

1319 1376 

1320Contoh ini memberikan subagents dan permintaan lain di luar percakapan utama lifetime satu jam:1377Contoh ini memberikan subagents dan permintaan lain di luar percakapan utama masa pakai satu jam:

1321 1378 

1322```json settings.json theme={null}1379```json settings.json theme={null}

1323{1380{


1325}1382}

1326```1383```

1327 1384 

1328Kunci ini mencakup permintaan yang tidak dicakup [`promptCacheTtl`](#promptcachettl), jadi atur keduanya untuk memilih lifetime untuk setiap permintaan yang dibuat Claude Code. Untuk bagaimana cache subagent berbeda dari percakapan utama, lihat [Subagents dan cache](/docs/id/prompt-caching#subagents-and-the-cache).1385Kunci ini mencakup permintaan yang tidak dicakup [`promptCacheTtl`](#promptcachettl), jadi tetapkan keduanya untuk memilih masa pakai untuk setiap permintaan yang dibuat Claude Code. Untuk bagaimana cache subagent berbeda dari percakapan utama, lihat [Subagents dan cache](/docs/id/prompt-caching#subagents-and-the-cache).

1329 1386 

1330<h3 id="switchmodelsonflag">1387<h3 id="switchmodelsonflag">

1331 `switchModelsOnFlag`1388 `switchModelsOnFlag`


1333 1390 

1334Pilih apa yang terjadi ketika [pengklasifikasi keamanan menandai permintaan](/docs/id/model-config#automatic-model-fallback): beralih ke model fallback dan lanjutkan, atau jeda sehingga Anda dapat memilih antara beralih dan mengedit prompt.1391Pilih apa yang terjadi ketika [pengklasifikasi keamanan menandai permintaan](/docs/id/model-config#automatic-model-fallback): beralih ke model fallback dan lanjutkan, atau jeda sehingga Anda dapat memilih antara beralih dan mengedit prompt.

1335 1392 

1336* **Scope**: [`Any file`](#scopes). Muncul di `/config` sebagai **Switch models when a message is flagged**.1393* **Scope**: [`Any file`](#scopes). Muncul dalam `/config` sebagai **Switch models when a message is flagged**.

1337* **Type**: Boolean1394* **Type**: Boolean

1338 * `true`: Claude Code beralih ke model fallback dan lanjutkan1395 * `true`: Claude Code beralih ke model fallback dan lanjutkan

1339 * `false`: dalam sesi interaktif Claude Code berhenti sehingga Anda dapat memilih antara beralih dan mengedit prompt; di mana tidak ada dialog yang dapat ditampilkan, seperti jalankan `-p`, permintaan yang ditandai berakhir sebagai kesalahan1396 * `false`: dalam sesi interaktif Claude Code jeda sehingga Anda dapat memilih antara beralih dan mengedit prompt; di mana tidak ada dialog yang dapat ditampilkan, seperti jalankan `-p`, permintaan yang ditandai berakhir sebagai kesalahan

1340* **Default**: `true`, beralih secara otomatis1397* **Default**: `true`, beralih secara otomatis

1341 1398 

1342```json settings.json theme={null}1399```json settings.json theme={null}


1351 `ultracode`1408 `ultracode`

1352</h3>1409</h3>

1353 1410 

1354Mulai sesi dengan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) aktif. Dengan itu aktif, Claude merencanakan workflow untuk setiap tugas substansial daripada menunggu Anda meminta. Claude merencanakan workflow hanya ketika [dynamic workflows](/docs/id/workflows) diaktifkan untuk Anda, model Anda mendukung effort `xhigh`, dan tidak ada [effort cap](/docs/id/model-config#organization-effort-limits) di bawah `xhigh` yang berlaku. Bagaimanapun, `ultracode: true` menjalankan sesi pada effort `xhigh`, atau pada batas ketika batas effort lebih rendah. Claude Code membaca kunci ini tetapi tidak pernah menulisnya: `/effort ultracode` menghidupkan ultracode untuk sesi saat ini saja.1411Mulai sesi dengan [ultracode](/docs/id/workflows#let-claude-decide-with-ultracode) aktif. Dengan itu aktif, Claude merencanakan workflow untuk setiap tugas substansial daripada menunggu Anda meminta. Claude merencanakan workflows hanya ketika [dynamic workflows](/docs/id/workflows) diaktifkan untuk Anda dan model Anda mendukung effort `xhigh`. Kunci ini tidak mengubah tingkat effort sesi: ultracode berjalan pada level mana pun yang digunakan sesi. Claude Code membaca kunci ini tetapi tidak pernah menulisnya: `/effort ultracode` menghidupkan ultracode hanya untuk sesi saat ini.

1355 1412 

1356* **Scope**: [`Any file`](#scopes)1413* **Scope**: [`Any file`](#scopes)

1357* **Type**: Boolean1414* **Type**: Boolean

1358 * `true`: sesi dimulai pada effort `xhigh`, dengan ultracode aktif ketika dynamic workflows diaktifkan untuk Anda, model Anda mendukung `xhigh`, dan tidak ada effort cap di bawah `xhigh`1415 * `true`: sesi dimulai dengan ultracode aktif ketika dynamic workflows diaktifkan untuk Anda dan model Anda mendukung `xhigh`

1359 * `false`: sesi dimulai dengan ultracode mati1416 * `false`: sesi dimulai dengan ultracode mati

1360* **Default**: tidak diatur, jadi ultracode mati1417* **Default**: tidak disetel, jadi ultracode mati

1361* **Per-session overrides**: `/effort ultracode` menghidupkan ultracode untuk satu sesi tanpa kunci ini. Begitu juga `--effort ultracode`, yang memerlukan Claude Code v2.1.203 atau lebih baru1418* **Per-session overrides**: `/effort ultracode` menghidupkan ultracode untuk satu sesi tanpa kunci ini, dan `/effort ultracode off` mematikannya untuk satu sesi ketika kunci ini `true`. Bendera `--effort ultracode` juga menghidupkannya untuk satu sesi, pada effort `xhigh`, dan memerlukan Claude Code v2.1.203 atau lebih baru

1362 1419 

1363```json settings.json theme={null}1420```json settings.json theme={null}

1364{1421{


1366}1423}

1367```1424```

1368 1425 

1369Ultracode menjalankan sesi pada effort `xhigh` dan mengambil preseden atas `effortLevel` dan entri [`modelSettings`](#modelsettings). Jika [effort cap](/docs/id/model-config#organization-effort-limits) di bawah `xhigh` berlaku untuk model, seperti pengaturan [`maxEffortLevel`](#maxeffortlevel), sesi berjalan pada batas sebagai gantinya dan ultracode tetap mati. Claude kemudian tidak merencanakan workflow dengan sendirinya, dan `/effort` tidak menawarkan `ultracode`. Permintaan kontrol `apply_flag_settings` Agent SDK juga menerima kunci.1426Tingkat effort sesi berasal dari [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings), dan [sumber effort](/docs/id/model-config#adjust-effort-level) lainnya, dan [batas effort](/docs/id/model-config#organization-effort-limits) seperti [`maxEffortLevel`](#maxeffortlevel) menurunkan level itu tanpa mematikan ultracode. Ini dan bentuk `/effort ultracode off` memerlukan Claude Code v2.1.284 atau lebih baru. Sebelum v2.1.284, `ultracode: true` menjalankan sesi pada effort `xhigh`, dan batas effort di bawah `xhigh` membuat ultracode tidak tersedia. Permintaan kontrol `apply_flag_settings` Agent SDK juga menerima kunci.

1370 1427 

1371<h2 id="permission-settings">1428<h2 id="permission-settings">

1372 Pengaturan izin1429 Pengaturan izin


1489 `useAutoModeDuringPlan`1546 `useAutoModeDuringPlan`

1490</h3>1547</h3>

1491 1548 

1492Pilih apakah Claude Code menggunakan pengklasifikasi mode otomatis untuk meninjau perintah shell dalam mode rencana. Dengan default `true`, pengklasifikasi meninjau setiap perintah selama perencanaan ketika mode otomatis tersedia dan Anda tidak melihat prompt. Atur `false` untuk mendapatkan prompt izin untuk setiap perintah di luar set bawaan hanya-baca. Muncul dalam `/config` sebagai **Use auto mode during plan**.1549Pilih apakah Claude Code menggunakan pengklasifikasi mode otomatis untuk meninjau perintah shell dalam mode rencana. Dengan default `true`, pengklasifikasi meninjau setiap perintah selama perencanaan ketika mode otomatis tersedia dan Anda tidak melihat prompt, kecuali untuk [penghapusan jalur kritis](/docs/id/permission-modes#critical-paths). Atur `false` untuk mendapatkan prompt izin untuk setiap perintah di luar set bawaan hanya-baca. Muncul dalam `/config` sebagai **Use auto mode during plan**.

1493 1550 

1494* **Scope**: [`User, local, or managed`](#scopes). Repositori tidak dapat mematikannya untuk Anda.1551* **Scope**: [`User, local, or managed`](#scopes). Repositori tidak dapat mematikannya untuk Anda.

1495* **Type**: Boolean1552* **Type**: Boolean

1496 * `true`: sama dengan tidak diatur; ketika mode otomatis tersedia, pengklasifikasi meninjau setiap perintah shell selama perencanaan alih-alih meminta Anda. `false` di salah satu file ini masih mematikannya1553 * `true`: sama dengan tidak diatur; ketika mode otomatis tersedia, pengklasifikasi meninjau setiap perintah shell selama perencanaan alih-alih meminta Anda, kecuali [penghapusan jalur kritis](/docs/id/permission-modes#critical-paths). `false` di salah satu file ini masih mematikannya

1497 * `false`: Anda mendapatkan prompt izin untuk setiap perintah di luar set bawaan hanya-baca1554 * `false`: Anda mendapatkan prompt izin untuk setiap perintah di luar set bawaan hanya-baca

1498* **Default**: `true`1555* **Default**: `true`

1499 1556 


3017* [`CLAUDE_CODE_MESSAGING_SOCKET` dan `CLAUDE_CODE_MESSAGING_TOKEN`](/docs/id/env-vars#variables), yang diekspor Claude Code sendiri, diabaikan dari setiap file. Mengabaikan variabel soket memerlukan Claude Code v2.1.224 atau lebih baru, dan mengabaikan token memerlukan v2.1.228 atau lebih baru.3074* [`CLAUDE_CODE_MESSAGING_SOCKET` dan `CLAUDE_CODE_MESSAGING_TOKEN`](/docs/id/env-vars#variables), yang diekspor Claude Code sendiri, diabaikan dari setiap file. Mengabaikan variabel soket memerlukan Claude Code v2.1.224 atau lebih baru, dan mengabaikan token memerlukan v2.1.228 atau lebih baru.

3018* [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/id/sessions#name-the-project-directory-yourself), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file; memerlukan v2.1.234 atau lebih baru.3075* [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/id/sessions#name-the-project-directory-yourself), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file; memerlukan v2.1.234 atau lebih baru.

3019* [`CLAUDE_CODE_RESTRICTED`](/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file.3076* [`CLAUDE_CODE_RESTRICTED`](/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file.

3077* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file. Variabel memerlukan Claude Code v2.1.283 atau lebih baru.

3078* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` dan `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`](/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file.

3020 3079 

3021<h3 id="filecheckpointingenabled">3080<h3 id="filecheckpointingenabled">

3022 `fileCheckpointingEnabled`3081 `fileCheckpointingEnabled`


3416* **Type**: string, `"classic"` atau `"readline"`3475* **Type**: string, `"classic"` atau `"readline"`

3417* **Default**: unset3476* **Default**: unset

3418 3477 

3478<h3 id="maxprosewidth">

3479 `maxProseWidth`

3480</h3>

3481 

3482Batasi lebar prosa dalam respons Claude sehingga baris tetap dapat dibaca di terminal lebar. Paragraf, judul, daftar, dan blockquote membungkus dalam jumlah kolom ini, sementara tabel dan blok kode menjaga lebar terminal penuh. Memerlukan Claude Code v2.1.282 atau lebih baru.

3483 

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

3485* **Type**: number of terminal columns, a whole number, minimum `40`. Claude Code mengabaikan nilai apa pun yang lain

3486* **Default**: unset, jadi prosa membungkus di tepi terminal

3487 

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

3489{

3490 "maxProseWidth": 80

3491}

3492```

3493 

3419<h3 id="prefersreducedmotion">3494<h3 id="prefersreducedmotion">

3420 `prefersReducedMotion`3495 `prefersReducedMotion`

3421</h3>3496</h3>


4090 4165 

4091* **Scope**: [`Any file`](#scopes)4166* **Scope**: [`Any file`](#scopes)

4092* **Type**: string4167* **Type**: string

4093* **Default**: tidak diatur, jadi Claude Code menambahkan `Co-Authored-By: <name> <noreply@anthropic.com>`. Nama adalah model aktif sesi, seperti `Claude Sonnet 5`.4168* **Default**: tidak diatur, jadi Claude Code menambahkan `Co-Authored-By: <name> <noreply@anthropic.com>`. Nama adalah model yang digunakan saat commit dibuat, seperti `Claude Sonnet 5`. Ketika [subagent](/docs/id/sub-agents) membuat commit, trailer menamai model subagent.

4094 * Ketika Claude Code mengenali model sebagai model Claude tetapi tidak dapat mengkonfirmasi versi pastinya, ia menulis `Claude` saja.4169 * Ketika Claude Code mengenali model sebagai model Claude tetapi tidak dapat mengkonfirmasi versi pastinya, ia menulis `Claude` saja.

4095 * Ketika tidak dapat mencocokkan ID model ke model Claude apa pun, seperti model pihak ketiga yang disajikan melalui [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) kustom, ia menulis `Claude Code`.4170 * Ketika tidak dapat mencocokkan ID model ke model Claude apa pun, seperti model pihak ketiga yang disajikan melalui [`ANTHROPIC_BASE_URL`](/docs/id/env-vars) kustom, ia menulis `Claude Code`.

4096 4171 


5690* **Type**: Boolean5765* **Type**: Boolean

5691 * `true`: Claude Code menghubungkan Remote Control secara otomatis ketika setiap sesi interaktif dimulai5766 * `true`: Claude Code menghubungkan Remote Control secara otomatis ketika setiap sesi interaktif dimulai

5692 * `false`: Claude Code menunggu `/remote-control`5767 * `false`: Claude Code menunggu `/remote-control`

5693* **Default**: unset, jadi auto-connect mengikuti default admin organisasi Anda ketika satu diatur, dan sebaliknya default Claude Code saat ini5768* **Default**: unset, jadi [auto-connect default](/docs/id/remote-control#enable-remote-control-for-all-sessions) berlaku

5694* **Per-session overrides**: `--remote-control` menghidupkan Remote Control untuk satu sesi bahkan ketika kunci ini `false`, dan tidak ada flag yang mematikannya untuk satu sesi5769* **Per-session overrides**: `--remote-control` menghidupkan Remote Control untuk satu sesi bahkan ketika kunci ini `false`, dan tidak ada flag yang mematikannya untuk satu sesi

5695 5770 

5696```json settings.json theme={null}5771```json settings.json theme={null}


5842 5917 

5843Atur URL gateway yang layar Cloud gateway `/login` terhubung, sehingga orang mencapai [cloud gateway](/docs/id/claude-apps-gateway) Anda tanpa mengetik alamatnya. Layar tidak memiliki bidang URL: dengan kunci ini diatur, layar menampilkan URL gateway Anda dan terhubung ketika orang menekan Enter; tanpanya, layar memberi tahu mereka untuk menghubungi administrator IT mereka.5918Atur URL gateway yang layar Cloud gateway `/login` terhubung, sehingga orang mencapai [cloud gateway](/docs/id/claude-apps-gateway) Anda tanpa mengetik alamatnya. Layar tidak memiliki bidang URL: dengan kunci ini diatur, layar menampilkan URL gateway Anda dan terhubung ketika orang menekan Enter; tanpanya, layar memberi tahu mereka untuk menghubungi administrator IT mereka.

5844 5919 

5845Baik kunci ini atau `forceLoginMethod: "gateway"` membuat mesin gateway-only, jadi `/login` membuka di layar Cloud gateway tanpa pemilih metode login. Lihat [Administrator policy requires a Cloud gateway sign-in](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) untuk apa yang terjadi pada login pihak pertama atau kunci API yang tersisa. Atur kedua kunci sehingga layar terhubung alih-alih menampilkan kesalahan.5920Baik kunci ini atau `forceLoginMethod: "gateway"` membuat mesin gateway-only, kecuali untuk sesi yang memilih penyedia cloud dengan `CLAUDE_CODE_USE_*`. `/login` kemudian membuka di layar Cloud gateway tanpa pemilih metode login. Lihat [Administrator policy requires a Cloud gateway sign-in](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) untuk apa yang terjadi pada login pihak pertama atau kunci API yang tersisa. Atur kedua kunci sehingga layar terhubung alih-alih menampilkan kesalahan.

5846 5921 

5847* **Scope**: [`Managed`](#scopes). Baca hanya dari sumber di mesin: `managed-settings.json`, plist macOS atau registri Windows HKLM, atau pembantu kebijakan. Claude Code mengabaikannya dalam pengaturan HKCU dan server-terkelola.5922* **Scope**: [`Managed`](#scopes). Baca hanya dari sumber di mesin: `managed-settings.json`, plist macOS atau registri Windows HKLM, atau pembantu kebijakan. Claude Code mengabaikannya dalam pengaturan HKCU dan server-terkelola.

5848* **Type**: string, URL lengkap termasuk skema5923* **Type**: string, URL lengkap termasuk skema


6095 `cleanupPeriodDays`6170 `cleanupPeriodDays`

6096</h3>6171</h3>

6097 6172 

6098Atur berapa hari Claude Code menyimpan [transkrip sesi dan data aplikasi lainnya](/docs/id/claude-directory#cleaned-up-automatically) sebelum menghapusnya. Claude Code menjalankan penghapusan sebagai sapuan latar belakang setelah sesi dimulai, selama dapat dengan aman menentukan periode retensi.6173Atur berapa hari Claude Code menyimpan [transkrip sesi dan data aplikasi lainnya](/docs/id/claude-directory#cleaned-up-automatically) sebelum menghapusnya. Claude Code menjalankan penghapusan sebagai sapuan latar belakang setelah sesi dimulai, selama dapat dengan aman menentukan periode retensi. Sapuan menghapus transkrip tanpa menampilkan pesan, jadi sesi yang belum Anda gunakan lebih lama dari periode retensi tidak lagi muncul di pemilih [`/resume`](/docs/id/sessions#resume-a-session).

6099 6174 

6100* **Scope**: [`Any file`](#scopes)6175* **Scope**: [`Any file`](#scopes)

6101* **Type**: jumlah hari, bilangan bulat, minimum `1`6176* **Type**: jumlah hari, bilangan bulat, minimum `1`


6439 `wslInheritsWindowsSettings`6514 `wslInheritsWindowsSettings`

6440</h3>6515</h3>

6441 6516 

6442Buat Claude Code di WSL membaca pengaturan terkelola dari rantai kebijakan Windows, dengan HKLM dan file pengaturan terkelola Windows mengambil prioritas atas `/etc/claude-code` dan HKCU di bawahnya. Sementara rantai aktif, Claude Code membaca `/etc/claude-code` hanya ketika tidak ada file pengaturan terkelola atau drop-in di bawah `C:\Program Files\ClaudeCode\` yang memberikan [kunci kebijakan](/docs/id/managed-settings#how-claude-code-combines-managed-sources). Atur untuk memperluas kebijakan yang sudah Anda terapkan di Windows ke sesi WSL di mesin yang sama, sehingga mereka mengikuti aturan yang sama seperti sesi host. Claude Code menghormatinya hanya ketika diatur dalam kunci registri HKLM atau dalam file pengaturan terkelola atau drop-in di bawah `C:\Program Files\ClaudeCode\`, keduanya memerlukan admin Windows untuk menulis.6517Buat Claude Code di WSL membaca pengaturan terkelola dari rantai kebijakan Windows, dengan HKLM dan file pengaturan terkelola Windows mengambil prioritas atas `/etc/claude-code` dan HKCU di bawahnya. Sementara rantai aktif, Claude Code membaca `/etc/claude-code` hanya ketika [tidak ada dokumen admin Windows yang ada](/docs/id/managed-settings#present-admin-documents) dalam nilai registri HKLM atau folder `C:\Program Files\ClaudeCode\`. Atur untuk memperluas kebijakan yang sudah Anda terapkan di Windows ke sesi WSL di mesin yang sama, sehingga mereka mengikuti aturan yang sama seperti sesi host. Claude Code menghormatinya hanya ketika diatur dalam kunci registri HKLM atau dalam file pengaturan terkelola atau drop-in di bawah `C:\Program Files\ClaudeCode\`, keduanya memerlukan admin Windows untuk menulis.

6443 6518 

6444* **Scope**: [`Managed`](#scopes). Dalam sumber Windows yang dikontrol admin.6519* **Scope**: [`Managed`](#scopes). Dalam sumber Windows yang dikontrol admin.

6445* **Type**: Boolean6520* **Type**: Boolean

6446 * `true`: Claude Code di WSL membaca pengaturan terkelola dari rantai kebijakan Windows, dan membaca `/etc/claude-code` hanya ketika tidak ada file pengaturan terkelola atau drop-in di bawah `C:\Program Files\ClaudeCode\` yang memberikan [kunci kebijakan](/docs/id/managed-settings#how-claude-code-combines-managed-sources)6521 * `true`: Claude Code di WSL membaca pengaturan terkelola dari rantai kebijakan Windows, dan membaca `/etc/claude-code` hanya ketika tidak ada dokumen admin Windows yang ada

6447 * `false`: WSL membaca hanya `/etc/claude-code`6522 * `false`: WSL membaca hanya `/etc/claude-code`

6448* **Default**: `false`, jadi WSL membaca hanya `/etc/claude-code`6523* **Default**: `false`, jadi WSL membaca hanya `/etc/claude-code`

6449 6524 


6455 6530 

6456Setelah sumber admin mengaktifkan rantai, kebijakan HKCU bergabung dengannya di WSL hanya ketika HKCU juga menetapkan kunci ke `true`. Salinan itu tidak mengaktifkan rantai dengan sendirinya. Sumber Windows yang hanya berisi kunci ini tidak dihitung sebagai sumber kebijakan, jadi sumber prioritas yang lebih rendah masih menyediakan kebijakan. Kunci ini tidak berpengaruh pada Windows asli.6531Setelah sumber admin mengaktifkan rantai, kebijakan HKCU bergabung dengannya di WSL hanya ketika HKCU juga menetapkan kunci ke `true`. Salinan itu tidak mengaktifkan rantai dengan sendirinya. Sumber Windows yang hanya berisi kunci ini tidak dihitung sebagai sumber kebijakan, jadi sumber prioritas yang lebih rendah masih menyediakan kebijakan. Kunci ini tidak berpengaruh pada Windows asli.

6457 6532 

6533Claude Code membaca `true` dan `false` dengan atau tanpa tanda kutip dan membaca `null` sebagai menghapus kunci. Sumber Windows yang dikontrol admin yang menyimpan nilai apa pun yang lain dihitung sebagai [dokumen admin yang ada](/docs/id/managed-settings#present-admin-documents) dengan rantai diaktifkan: baik `/etc/claude-code` maupun HKCU tidak berlaku, dan peringatan startup menyebutkan kunci. Nilai HKLM atau file folder Windows yang ada tetapi tidak dapat dibaca juga menjaga `/etc/claude-code` dari berlaku terlepas dari apakah rantai aktif. Memerlukan Claude Code v2.1.282 atau lebih baru.

6534 

6458<h2 id="global-config-settings">6535<h2 id="global-config-settings">

6459 Pengaturan konfigurasi global6536 Pengaturan konfigurasi global

6460</h2>6537</h2>


6503 6580 

6504Claude Code mengabaikan kunci ini di `settings.json`.6581Claude Code mengabaikan kunci ini di `settings.json`.

6505 6582 

6583<h3 id="claudeinchromedefaultenabled">

6584 `claudeInChromeDefaultEnabled`

6585</h3>

6586 

6587Mulai setiap sesi CLI interaktif dengan [integrasi Chrome](/docs/id/chrome) aktif, tanpa harus melewatkan `--chrome` setiap kali. Jika Anda menjalankan [`claude remote-control`](/docs/id/remote-control), sesi yang dimulainya untuk salah satu thread [project](/docs/id/claude-projects) Anda mengikuti kunci ini juga, kecuali dalam mode `bypassPermissions`. Menjalankan `/chrome` dan memilih **Enabled by default** mengatur kunci ini untuk Anda, seperti yang dijelaskan dalam [Enable Chrome by default](/docs/id/chrome#enable-chrome-by-default). Muncul di `/config` sebagai **Claude in Chrome enabled by default**.

6588 

6589* **Scope**: [`Global config`](#scopes)

6590* **Type**: Boolean

6591 * `true`: Claude Code menghidupkan integrasi Chrome saat sesi CLI interaktif dimulai, seperti yang dilakukannya saat Anda melewatkan `--chrome`

6592 * `false`: sesi CLI interaktif dimulai dengan integrasi Chrome mati, dan Claude Code berhenti [menawarkan untuk mengaturnya](/docs/id/chrome#install-the-extension-when-claude-asks). Lewatkan `--chrome` untuk menghidupkannya untuk satu sesi interaktif

6593* **Default**: unset, jadi integrasi Chrome mati dan Claude Code masih dapat menawarkan untuk mengaturnya

6594* **Per-session overrides**: `--chrome` dan [`--no-chrome`](/docs/id/cli-reference) mengambil alih kunci ini untuk satu sesi interaktif

6595 

6596```json ~/.claude.json theme={null}

6597{

6598 "claudeInChromeDefaultEnabled": true

6599}

6600```

6601 

6602Claude Code mengabaikan kunci ini di `settings.json`.

6603 

6604<h3 id="copyfullresponse">

6605 `copyFullResponse`

6606</h3>

6607 

6608Buat [`/copy`](/docs/id/commands) menyalin respons penuh setiap kali, tanpa picker yang biasanya ditampilkannya saat respons berisi blok kode. Memilih **Always copy full response** di picker tersebut mengatur kunci ini ke `true`. Muncul di `/config` sebagai **Skip the /copy picker**.

6609 

6610* **Scope**: [`Global config`](#scopes)

6611* **Type**: Boolean

6612 * `true`: `/copy` menyalin respons penuh tanpa menampilkan picker

6613 * `false`: saat respons berisi blok kode, `/copy` menampilkan picker di mana Anda memilih satu blok kode atau respons penuh

6614* **Default**: `false`

6615 

6616```json ~/.claude.json theme={null}

6617{

6618 "copyFullResponse": true

6619}

6620```

6621 

6622Claude Code mengabaikan kunci ini di `settings.json`.

6623 

6506<h3 id="copyonselect">6624<h3 id="copyonselect">

6507 `copyOnSelect`6625 `copyOnSelect`

6508</h3>6626</h3>


6523 6641 

6524Claude Code mengabaikan kunci ini di `settings.json`.6642Claude Code mengabaikan kunci ini di `settings.json`.

6525 6643 

6644<h3 id="defaulttoagentsview">

6645 `defaultToAgentsView`

6646</h3>

6647 

6648Buka [agent view](/docs/id/agent-view) alih-alih percakapan baru saat Anda menjalankan `claude` tanpa argumen. Muncul di `/config` sebagai **Open agents view by default** kecuali agent view [dimatikan](#disableagentview).

6649 

6650* **Scope**: [`Global config`](#scopes)

6651* **Type**: Boolean

6652 * `true`: `claude` tanpa argumen membuka agent view, kecuali agent view [dimatikan](#disableagentview)

6653 * `false`: `claude` tanpa argumen memulai percakapan baru

6654* **Default**: `false`

6655 

6656```json ~/.claude.json theme={null}

6657{

6658 "defaultToAgentsView": true

6659}

6660```

6661 

6662Claude Code mengabaikan kunci ini di `settings.json`.

6663 

6526<h3 id="difftool">6664<h3 id="difftool">

6527 `diffTool`6665 `diffTool`

6528</h3>6666</h3>


6577 6715 

6578Claude Code mengabaikan kunci ini di `settings.json`.6716Claude Code mengabaikan kunci ini di `settings.json`.

6579 6717 

6718<h3 id="leftarrowopensagents">

6719 `leftArrowOpensAgents`

6720</h3>

6721 

6722Tekan `←` pada prompt kosong untuk [menempatkan sesi di latar belakang dan membuka agent view](/docs/id/agent-view#switch-sessions-without-leaving-the-terminal). Atur kunci ini ke `false` untuk mematikan pintasan. Muncul di `/config` sebagai **← opens agents** saat agent view tersedia.

6723 

6724* **Scope**: [`Global config`](#scopes)

6725* **Type**: Boolean

6726 * `true`: menekan `←` pada prompt kosong dalam sesi yang Anda mulai di terminal menempatkannya di latar belakang dan membuka agent view

6727 * `false`: Claude Code mematikan pintasan; dalam sesi yang Anda [lampirkan dari agent view](/docs/id/agent-view#attach-to-a-session), `←` pada prompt kosong masih melepaskan

6728* **Default**: `true`

6729 

6730```json ~/.claude.json theme={null}

6731{

6732 "leftArrowOpensAgents": false

6733}

6734```

6735 

6736Claude Code mengabaikan kunci ini di `settings.json`.

6737 

6580<h3 id="permissionexplainerenabled">6738<h3 id="permissionexplainerenabled">

6581 `permissionExplainerEnabled`6739 `permissionExplainerEnabled`

6582</h3>6740</h3>


6591* **Type**: Boolean6749* **Type**: Boolean

6592* **Default**: `true`6750* **Default**: `true`

6593 6751 

6752<h3 id="prstatusfooterenabled">

6753 `prStatusFooterEnabled`

6754</h3>

6755 

6756Tampilkan lencana di footer prompt untuk pull request atau merge request terbuka dari cabang saat ini, dengan garis bawah berwarna yang menunjukkan [statusnya](/docs/id/interactive-mode#pr-review-status). Muncul di `/config` sebagai **Show PR status footer**.

6757 

6758* **Scope**: [`Global config`](#scopes)

6759* **Type**: Boolean

6760 * `true`: footer menampilkan lencana di bawah kondisi dalam [PR review status](/docs/id/interactive-mode#pr-review-status)

6761 * `false`: Claude Code melewati pemeriksaan pull request dan merge request footer dan tidak menampilkan lencana tersebut. Sesi yang Anda [lampirkan dari agent view](/docs/id/agent-view#attach-to-a-session) masih dapat menampilkan tautan biasa ke pull request [yang ditautkan ke sana](/docs/id/agent-view#pull-request-status)

6762* **Default**: `true`

6763 

6764```json ~/.claude.json theme={null}

6765{

6766 "prStatusFooterEnabled": false

6767}

6768```

6769 

6770Claude Code mengabaikan kunci ini di `settings.json`.

6771 

6594<h3 id="teammatedefaultmodel">6772<h3 id="teammatedefaultmodel">

6595 `teammateDefaultModel`6773 `teammateDefaultModel`

6596</h3>6774</h3>

setup.md +3 −3

Details

37 37 

38<Tip>38<Tip>

39 Lebih suka antarmuka grafis? [Aplikasi Desktop](/docs/id/desktop-quickstart) memungkinkan Anda menggunakan Claude Code tanpa terminal. Unduh untuk [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs), atau [Linux](/docs/id/desktop-linux).39 Lebih suka antarmuka grafis? [Aplikasi Desktop](/docs/id/desktop-quickstart) memungkinkan Anda menggunakan Claude Code tanpa terminal. Unduh untuk [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs), atau [Linux](/docs/id/desktop-linux).

40 

41 Baru mengenal terminal? Lihat [panduan terminal](/docs/id/terminal-guide) untuk instruksi langkah demi langkah.

42</Tip>40</Tip>

43 41 

44Untuk menginstal Claude Code, gunakan salah satu metode berikut:42Untuk menginstal Claude Code, buka terminal dan jalankan perintah untuk sistem Anda. Jika Anda belum pernah menggunakan terminal sebelumnya, [panduan terminal](/docs/id/terminal-guide) menunjukkan cara membukanya dan menempel perintahnya.

45 43 

46<Tabs>44<Tabs>

47 <Tab title="Native Install (Direkomendasikan)">45 <Tab title="Native Install (Direkomendasikan)">


63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd61 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

64 ```62 ```

65 63 

64 Ketika penginstal selesai, buka jendela terminal baru dan jalankan `claude --version`. Instalasi yang berfungsi dengan baik mencetak nomor versi. Jika shell Anda mengatakan `claude` tidak ditemukan atau tidak dikenali, direktori instalasi belum ada di PATH Anda: lihat [Perbaiki PATH Anda](/docs/id/troubleshoot-install#command-not-found-claude-after-installation).

65 

66 Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell. Prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.66 Jika Anda melihat `The token '&&' is not a valid statement separator`, Anda berada di PowerShell, bukan CMD. Jika Anda melihat `'irm' is not recognized as an internal or external command`, Anda berada di CMD, bukan PowerShell. Prompt Anda menunjukkan `PS C:\` ketika Anda berada di PowerShell dan `C:\` tanpa `PS` ketika Anda berada di CMD.

67 67 

68 Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan curl lainnya, lihat [Troubleshoot installation](/docs/id/troubleshoot-install#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.68 Jika perintah instalasi gagal dengan `syntax error near unexpected token '<'`, `403`, atau kesalahan curl lainnya, lihat [Troubleshoot installation](/docs/id/troubleshoot-install#find-your-error) untuk mencocokkan kesalahan dengan perbaikan dan untuk metode instalasi alternatif.

skills.md +60 −41

Details

76 </Step>76 </Step>

77 77 

78 <Step title="Tulis SKILL.md">78 <Step title="Tulis SKILL.md">

79 Setiap skill memerlukan file `SKILL.md` dengan dua bagian: frontmatter YAML antara penanda `---` yang memberi tahu Claude kapan menggunakan skill, dan konten markdown dengan instruksi yang diikuti Claude ketika skill berjalan. Nama direktori menjadi perintah yang Anda ketik, dan `description` membantu Claude memutuskan kapan memuat skill secara otomatis.79 Setiap skill memerlukan file `SKILL.md` dengan dua bagian: frontmatter YAML antara penanda `---` yang memberi tahu Claude kapan menggunakan skill, dan konten markdown dengan instruksi yang diikuti Claude ketika skill berjalan. Nama direktori, atau frontmatter `name` ketika Anda menetapkannya, menjadi perintah yang Anda ketik, dan `description` membantu Claude memutuskan kapan memuat skill secara otomatis.

80 80 

81 Simpan ini ke `~/.claude/skills/summarize-changes/SKILL.md`:81 Simpan ini ke `~/.claude/skills/summarize-changes/SKILL.md`:

82 82 


135Folder skill juga mengikuti aturan ini:135Folder skill juga mengikuti aturan ini:

136 136 

137* **Folder yang di-symlink**: entri `<skill-name>` di lokasi enterprise, personal, atau project dapat berupa symlink ke direktori lain di disk. Claude Code membaca `SKILL.md` dari target dan memuat skill sekali meskipun beberapa lokasi menunjuk ke target yang sama. Plugin skills [menangani symlinks secara berbeda](/docs/id/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks).137* **Folder yang di-symlink**: entri `<skill-name>` di lokasi enterprise, personal, atau project dapat berupa symlink ke direktori lain di disk. Claude Code membaca `SKILL.md` dari target dan memuat skill sekali meskipun beberapa lokasi menunjuk ke target yang sama. Plugin skills [menangani symlinks secara berbeda](/docs/id/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks).

138* **Nama yang dicadangkan**: jangan beri nama folder skill `synced`, dalam kapitalisasi apa pun. Claude Code menggunakan `~/.claude/skills/synced/` untuk [skills yang diunduh dari claude.ai](#where-synced-skills-load) dan melewati skill yang Anda buat dengan nama itu di lokasi enterprise, personal, dan project.138* **Nama yang dicadangkan `synced`**: jangan beri nama folder skill `synced`, dalam kapitalisasi apa pun. Claude Code menggunakan `~/.claude/skills/synced/` untuk [skills yang diunduh dari claude.ai](#where-synced-skills-load) dan melewati skill yang Anda buat dengan nama itu di lokasi enterprise, personal, dan project.

139* **Nama yang dicadangkan `anthropic-skills`**: di luar plugin, folder skill atau file perintah yang namanya `anthropic-skills` atau dimulai dengan `anthropic-skills:` tidak dimuat. Lihat [Nama yang dicadangkan untuk synced skills](#names-reserved-for-synced-skills).

139* **File perintah**: file Markdown di `.claude/commands/` adalah format yang lebih lama dan masih berfungsi. Ini mendukung [frontmatter](#frontmatter-reference) yang sama kecuali `name` dan `paths`. Untuk menemukan nama yang Anda ketik untuk menginvokasinya, lihat [Bagaimana skill mendapatkan nama perintahnya](#how-a-skill-gets-its-command-name). Lebih suka skill untuk pekerjaan baru, karena skills juga mendukung [file pendukung](#add-supporting-files).140* **File perintah**: file Markdown di `.claude/commands/` adalah format yang lebih lama dan masih berfungsi. Ini mendukung [frontmatter](#frontmatter-reference) yang sama kecuali `name` dan `paths`. Untuk menemukan nama yang Anda ketik untuk menginvokasinya, lihat [Bagaimana skill mendapatkan nama perintahnya](#how-a-skill-gets-its-command-name). Lebih suka skill untuk pekerjaan baru, karena skills juga mendukung [file pendukung](#add-supporting-files).

140* **Folder skill sebagai plugin**: tambahkan `.claude-plugin/plugin.json` ke folder skill dan itu dimuat sebagai [plugin](/docs/id/plugins/loading#plugins-shared-through-a-repository) bernama `<name>@skills-dir`, sehingga dapat menggabungkan agents, hooks, dan MCP servers. Di `.claude/skills/` proyek, ini memerlukan penerimaan dialog kepercayaan workspace terlebih dahulu.141* **Folder skill sebagai plugin**: tambahkan `.claude-plugin/plugin.json` ke folder skill dan itu dimuat sebagai [plugin](/docs/id/plugins/loading#plugins-shared-through-a-repository) bernama `<name>@skills-dir`, sehingga dapat menggabungkan agents, hooks, dan MCP servers. Di `.claude/skills/` proyek, ini memerlukan penerimaan dialog kepercayaan workspace terlebih dahulu.

141 142 


168 Selesaikan skills yang berbagi nama169 Selesaikan skills yang berbagi nama

169</h3>170</h3>

170 171 

171Ketika dua skills berbagi nama, tempat asal masing-masing menentukan yang mana `/name` jalankan. Tabel mencakup lokasi enterprise, personal, project, nested, plugin, dan claude.ai, skills bundel, dan file perintah:172Ketika dua skills berbagi nama, tempat asal masing-masing menentukan yang mana `/name` jalankan. Untuk nama yang ditetapkan oleh field frontmatter `name`, lihat [Bagaimana skill mendapatkan nama perintahnya](#how-a-skill-gets-its-command-name). Tabel mencakup lokasi enterprise, personal, project, nested, plugin, dan claude.ai, skills bundel, dan file perintah:

172 173 

173| Nama yang sama di | Yang mana yang berjalan |174| Nama yang sama di | Yang mana yang berjalan |

174| :- | :- |175| :- | :- |


196 Skills yang disinkronkan dari claude.ai197 Skills yang disinkronkan dari claude.ai

197</h3>198</h3>

198 199 

199Bagian ini berlaku untuk Anda jika Anda menggunakan sesi Cowork atau cloud, atau masuk ke Claude Code di terminal Anda dengan akun claude.ai. Di sesi itu, Claude Code memuat skills yang diaktifkan untuk akun claude.ai Anda, tanpa setup di pihak Anda, seperti yang dijelaskan [Where synced skills load](#where-synced-skills-load). Skills itu termasuk yang Anda buat atau aktifkan di pengaturan claude.ai Anda, skills yang disediakan organisasi Anda di sana, dan skills bawaan Anthropic seperti `pdf` dan `xlsx`.200Bagian ini berlaku untuk Anda jika Anda menggunakan sesi Cowork atau cloud, atau masuk ke Claude Code di terminal Anda dengan akun claude.ai. Di sesi itu, Claude Code memuat skills yang diaktifkan untuk akun claude.ai Anda, tanpa setup di pihak Anda, seperti yang dijelaskan [Tempat synced skills dimuat](#where-synced-skills-load). Skills itu termasuk yang Anda buat atau aktifkan di pengaturan claude.ai Anda, skills yang disediakan organisasi Anda di sana, dan skills bawaan Anthropic seperti `pdf` dan `xlsx`.

200 201 

201Claude Code mengunduh synced skill dari akun Anda daripada membaca file yang Anda tulis di mesin tempat sesi berjalan, jadi itu menerapkan aturan ke synced skills yang tidak berlaku untuk skills yang Anda simpan di [lokasi skills](#where-skills-live).202Claude Code mengunduh synced skill dari akun Anda daripada membaca file yang Anda tulis di mesin tempat sesi berjalan, jadi itu menerapkan aturan ke synced skills yang tidak berlaku untuk skills yang Anda simpan di [lokasi skills](#where-skills-live).

202 203 


204 Tempat synced skills dimuat205 Tempat synced skills dimuat

205</h4>206</h4>

206 207 

207Dalam sesi Cowork atau cloud, Claude Code memuat skills yang diaktifkan untuk akun claude.ai Anda, dan [Skills in Cowork and cloud sessions](#skills-in-cowork-and-cloud-sessions) mengatakan bagaimana memilih skills mana yang sesi itu dapatkan.208Dalam sesi Cowork atau cloud, Claude Code memuat skills yang diaktifkan untuk akun claude.ai Anda, dan [Gunakan skills di sesi Cowork dan cloud](#skills-in-cowork-and-cloud-sessions) mengatakan bagaimana memilih skills mana yang sesi itu dapatkan.

208 209 

209Di terminal Anda, Claude Code menyinkronkan skills itu di sesi tempat Anda masuk dengan akun claude.ai Anda. Ketika sesi dimulai, Claude Code mengunduh skills akun Anda ke `~/.claude/skills/synced/` di latar belakang, kemudian memeriksa claude.ai untuk perubahan sekitar setiap 10 menit saat sesi berjalan. Ketika pemeriksaan menemukan bahwa skill ditambahkan, diedit, atau dimatikan di claude.ai, Claude Code menambah, memperbarui, atau menghapusnya di sesi yang berjalan tanpa restart. Sinkronisasi di sesi terminal memerlukan Claude Code v2.1.273 atau lebih baru.210Di terminal Anda, Claude Code menyinkronkan skills itu di sesi tempat Anda masuk dengan akun claude.ai Anda. Ketika sesi dimulai, Claude Code mengunduh skills akun Anda ke `~/.claude/skills/synced/` di latar belakang, kemudian memeriksa claude.ai untuk perubahan sekitar setiap 10 menit saat sesi berjalan. Ketika pemeriksaan menemukan bahwa skill ditambahkan, diedit, atau dimatikan di claude.ai, Claude Code menambah, memperbarui, atau menghapusnya di sesi yang berjalan tanpa restart. Sinkronisasi di sesi terminal memerlukan Claude Code v2.1.273 atau lebih baru.

210 211 


237 238 

238Anda dapat menginvokasi synced skill dengan nama lengkapnya, `/anthropic-skills:<name>`, atau dengan nama pendeknya, `/<name>`. Ketika perintah lain menggunakan nama pendek itu, `/<name>` menjalankan perintah lain, dan synced skill berjalan hanya sebagai `/anthropic-skills:<name>`. Dengan skill `deploy` lokal dan synced `deploy`, `/deploy` menjalankan skill lokal dan `/anthropic-skills:deploy` menjalankan yang disinkronkan. Sebelum v2.1.269, synced skill hanya memiliki nama pendeknya.239Anda dapat menginvokasi synced skill dengan nama lengkapnya, `/anthropic-skills:<name>`, atau dengan nama pendeknya, `/<name>`. Ketika perintah lain menggunakan nama pendek itu, `/<name>` menjalankan perintah lain, dan synced skill berjalan hanya sebagai `/anthropic-skills:<name>`. Dengan skill `deploy` lokal dan synced `deploy`, `/deploy` menjalankan skill lokal dan `/anthropic-skills:deploy` menjalankan yang disinkronkan. Sebelum v2.1.269, synced skill hanya memiliki nama pendeknya.

239 240 

240Perintah lain dapat berupa salah satu dari ini:241Dalam menu `/`, `/skills`, dan `/context`, synced skill muncul di bawah nama pendeknya, atau di bawah nama lengkapnya sementara perintah lain menggunakan nama pendek. Jalankan `/skills` di sesi Anda. Catatan di bawah daftar menjelaskan setiap synced skill yang kehilangan nama pendeknya. Jika salah satu personal skills atau file perintah Anda di `~/.claude/` menggunakan nama itu, catatan juga mengatakan apa yang harus diubah nama atau dihapus untuk membebaskannya.

242 

243Dari v2.1.269 hingga v2.1.280, daftar ini menunjukkan setiap synced skill di bawah nama lengkapnya, dan `/skills` tidak memiliki catatan seperti itu; keduanya berubah di v2.1.281.

244 

245Perintah yang menggunakan nama pendek dapat berupa salah satu dari ini:

241 246 

242* Perintah bawaan atau [bundled skill](#bundled-skills), termasuk yang tidak tersedia di sesi Anda, misalnya setelah Anda mematikan bundled skills247* Perintah bawaan atau [bundled skill](#bundled-skills), termasuk yang tidak tersedia di sesi Anda, misalnya setelah Anda mematikan bundled skills

243* Skill di [level lokal apa pun](#where-skills-live) atau file di `.claude/commands/`248* Skill di [level lokal apa pun](#where-skills-live) atau file di `.claude/commands/`


250 255 

251Nama yang berbeda hanya dengan huruf yang mirip dari alfabet lain dihitung sebagai nama yang berbeda, dan label `claude.ai sync` adalah cara Anda membedakan keduanya. Pemeriksaan dan label ini memerlukan Claude Code v2.1.228 atau lebih baru.256Nama yang berbeda hanya dengan huruf yang mirip dari alfabet lain dihitung sebagai nama yang berbeda, dan label `claude.ai sync` adalah cara Anda membedakan keduanya. Pemeriksaan dan label ini memerlukan Claude Code v2.1.228 atau lebih baru.

252 257 

258<h4 id="names-reserved-for-synced-skills">

259 Nama yang dicadangkan untuk synced skills

260</h4>

261 

262Claude Code mencadangkan nama `anthropic-skills`, dan setiap nama di dalam namespace itu seperti `anthropic-skills:pdf`, untuk skills yang disinkronkan dari claude.ai, jadi nama lengkap synced skill tidak pernah menjalankan apa pun yang lain. Nama dicadangkan di setiap sesi, apakah atau tidak Anda masuk dengan akun claude.ai.

263 

264* **Folder skill, frontmatter `name`, file atau subfolder di `.claude/commands/`, atau [saved workflow](/docs/id/workflows#save-the-workflow-for-reuse)**: itu tidak dimuat. [Startup notice](/docs/id/errors#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) menamai item pertama untuk diubah nama atau diedit.

265* **Plugin bernama `anthropic-skills`**: itu dimuat. Ketika salah satu skillnya dan synced skill keduanya bernama `<name>`, `/anthropic-skills:<name>` menjalankan synced skill.

266* **MCP server bernama `anthropic-skills`**: itu terhubung dan toolsnya bekerja, tetapi [promptsnya tidak muncul sebagai perintah](/docs/id/mcp#use-mcp-prompts-as-commands). Ubah nama server di konfigurasi MCP Anda untuk mencantumnya.

267 

253<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">268<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">

254 Bagaimana Claude Code menangani frontmatter dari synced skill269 Bagaimana Claude Code menangani frontmatter dari synced skill

255</h4>270</h4>


273 Edit skill selama sesi288 Edit skill selama sesi

274</h3>289</h3>

275 290 

276Claude Code mengawasi direktori skill untuk perubahan file, kecuali di [bare mode](/docs/id/headless#start-faster-with-bare-mode). Ketika Anda menambah, mengedit, atau menghapus skill di bawah `~/.claude/skills/`, project `.claude/skills/`, atau `.claude/skills/` di dalam direktori `--add-dir`, Claude Code mengambil perubahan dalam sesi saat ini, tanpa restart. Jika Anda membuat direktori skills tingkat atas yang tidak ada ketika sesi dimulai, restart Claude Code sehingga dapat mengawasi direktori baru.291Claude Code mengawasi direktori skill untuk perubahan file, kecuali di [bare mode](/docs/id/headless#start-faster-with-bare-mode). Ketika Anda menambah, mengedit, atau menghapus skill di bawah `~/.claude/skills/`, project `.claude/skills/`, atau `.claude/skills/` di dalam direktori `--add-dir`, Claude Code mengambil perubahan dalam sesi saat ini, tanpa restart.

292 

293Jika Anda membuat direktori skills tingkat atas yang tidak ada ketika sesi dimulai, jalankan [`/reload-skills`](/docs/id/commands#all-commands) untuk mengambil skills yang Anda letakkan di sana. Claude Code tidak mengawasi direktori itu lagi, jadi jalankan `/reload-skills` lagi setelah setiap perubahan di sana nanti.

277 294 

278Live change detection mencakup teks `SKILL.md` saja. Untuk folder skill yang juga merupakan [plugin](/docs/id/plugins/loading#plugins-shared-through-a-repository), perubahan ke `hooks/`, `.mcp.json`, `agents/`, dan `output-styles/` memerlukan `/reload-plugins` untuk berlaku.295Live change detection mencakup teks `SKILL.md` saja. Untuk folder skill yang juga merupakan [plugin](/docs/id/plugins/loading#plugins-shared-through-a-repository), perubahan ke `hooks/`, `.mcp.json`, `agents/`, dan `output-styles/` memerlukan `/reload-plugins` untuk berlaku.

279 296 


360 377 

361| Field | Required | Description |378| Field | Required | Description |

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

363| `name` | No | Display name shown in skill listings. Defaults to the directory name. See [How a skill gets its command name](#how-a-skill-gets-its-command-name) for how the field interacts with the name you type to invoke the skill. |380| `name` | No | Nama perintah yang ditampilkan dalam menu `/`. Default ke nama direktori. Lihat [Bagaimana skill mendapatkan nama perintahnya](#how-a-skill-gets-its-command-name) untuk cara bidang berinteraksi dengan nama yang Anda ketik untuk menginvokasi skill. |

364| `description` | Recommended | What the skill does and when to use it. Claude uses this to decide when to apply the skill. If omitted, uses the first non-empty line of the markdown content. Put the key use case first: the combined `description` and `when_to_use` text is truncated at 1,536 characters in the skill listing to reduce context usage. |381| `description` | Recommended | Apa yang dilakukan skill dan kapan menggunakannya. Claude menggunakan ini untuk memutuskan kapan menerapkan skill. Jika dihilangkan, menggunakan baris non-kosong pertama dari konten markdown. Letakkan kasus penggunaan utama terlebih dahulu: teks gabungan `description` dan `when_to_use` dipotong pada 1.536 karakter dalam daftar skill untuk mengurangi penggunaan konteks. |

365| `when_to_use` | No | Additional context for when Claude should invoke the skill, such as trigger phrases or example requests. Appended to `description` in the skill listing and counts toward the 1,536-character cap. |382| `when_to_use` | No | Konteks tambahan untuk kapan Claude harus menginvokasi skill, seperti frasa pemicu atau permintaan contoh. Ditambahkan ke `description` dalam daftar skill dan dihitung menuju batas 1.536 karakter. |

366| `argument-hint` | No | Hint shown during autocomplete to indicate expected arguments. Example: `[issue-number]` or `[filename] [format]`. |383| `argument-hint` | No | Petunjuk yang ditampilkan selama autocomplete untuk menunjukkan argumen yang diharapkan. Contoh: `[issue-number]` atau `[filename] [format]`. |

367| `arguments` | No | Named positional arguments for [`$name` substitution](#available-string-substitutions) in the skill content. Accepts a space-separated string or a YAML list. Names map to argument positions in order. |384| `arguments` | No | Argumen posisional bernama untuk [`$name` substitution](#available-string-substitutions) dalam konten skill. Menerima string yang dipisahkan spasi atau daftar YAML. Nama memetakan ke posisi argumen secara berurutan. |

368| `disable-model-invocation` | No | Set to `true` to prevent Claude from automatically loading this skill. Use for workflows you want to trigger manually with `/name`. Also prevents the skill from being [preloaded into subagents](/docs/id/sub-agents#preload-skills-into-subagents). As of v2.1.196, also prevents the skill from running when a [scheduled task](/docs/id/scheduled-tasks) fires with the skill as its prompt. Default: `false`. |385| `disable-model-invocation` | No | Atur ke `true` untuk mencegah Claude memuat skill ini secara otomatis. Gunakan untuk alur kerja yang ingin Anda picu secara manual dengan `/name`. Juga mencegah skill dari [dimuat sebelumnya ke dalam subagents](/docs/id/sub-agents#preload-skills-into-subagents). Mulai dari v2.1.196, juga mencegah skill dari berjalan ketika [tugas terjadwal](/docs/id/scheduled-tasks) diaktifkan dengan skill sebagai promptnya. Default: `false`. |

369| `user-invocable` | No | Set to `false` when only Claude should invoke the skill: Claude Code hides it from the `/` menu and doesn't run it when you type `/name`. Use for background knowledge users shouldn't invoke directly. Default: `true`. |386| `user-invocable` | No | Atur ke `false` ketika hanya Claude yang harus menginvokasi skill: Claude Code menyembunyikannya dari menu `/` dan tidak menjalankannya ketika Anda mengetik `/name`. Gunakan untuk pengetahuan latar belakang yang tidak boleh pengguna invokasi secara langsung. Default: `true`. |

370| `allowed-tools` | No | Tools Claude can use without asking permission during the turn that invokes this skill. The grant clears when you send your next message. Accepts a space- or comma-separated string, or a YAML list. See [Pre-approve tools for a skill](#pre-approve-tools-for-a-skill). |387| `allowed-tools` | No | Tools yang dapat Claude gunakan tanpa meminta izin selama giliran yang menginvokasi skill ini. Hibah dihapus ketika Anda mengirim pesan berikutnya. Menerima string yang dipisahkan spasi atau koma, atau daftar YAML. Lihat [Pra-setujui tools untuk skill](#pre-approve-tools-for-a-skill). |

371| `disallowed-tools` | No | Tools removed from Claude's available pool while this skill is active. Use for autonomous skills that should never call certain tools, such as `AskUserQuestion` for a background loop. Accepts a space- or comma-separated string, or a YAML list. The restriction clears when you send your next message. Like deny rules, the field can't remove [`EndConversation`](/docs/id/tools-reference#endconversation-tool-behavior) while any other tool remains. |388| `disallowed-tools` | No | Tools yang dihapus dari pool tools yang tersedia Claude saat skill ini aktif. Gunakan untuk skills otonom yang tidak boleh memanggil tools tertentu, seperti `AskUserQuestion` untuk loop latar belakang. Menerima string yang dipisahkan spasi atau koma, atau daftar YAML. Pembatasan dihapus ketika Anda mengirim pesan berikutnya. Seperti aturan deny, bidang tidak dapat menghapus [`EndConversation`](/docs/id/tools-reference#endconversation-tool-behavior) saat tool lain tetap ada. |

372| `model` | No | Model to use when this skill is active. The override applies for the rest of the current turn and isn't saved to settings. The session model resumes when you send your next prompt. Accepts the same values as [`/model`](/docs/id/model-config), or `inherit` to keep the active model. A value excluded by your organization's [`availableModels`](/docs/id/model-config#restrict-model-selection) allowlist isn't used, and the session keeps its current model. In [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), and in [plan mode while the classifier reviews commands](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode), a model that auto mode doesn't support also isn't used, and the session keeps its current model. With `context: fork`, the value sets the [forked subagent's model](#run-skills-in-a-subagent) instead, and an excluded value follows the [same rules as a subagent model override](/docs/id/model-config#restrict-model-selection). |389| `model` | No | Model yang digunakan ketika skill ini aktif. Penggantian berlaku untuk sisa giliran saat ini dan tidak disimpan ke pengaturan. Model sesi dilanjutkan ketika Anda mengirim prompt berikutnya. Menerima nilai yang sama seperti [`/model`](/docs/id/model-config), atau `inherit` untuk menjaga model aktif. Nilai yang dikecualikan oleh daftar izin [`availableModels`](/docs/id/model-config#restrict-model-selection) organisasi Anda tidak digunakan, dan sesi menyimpan model saat ini. Dalam [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), dan dalam [mode plan saat classifier meninjau perintah](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode), model yang tidak didukung mode auto juga tidak digunakan, dan sesi menyimpan model saat ini. Dengan `context: fork`, nilai menetapkan [model subagent yang bercabang](#run-skills-in-a-subagent) sebagai gantinya, dan nilai yang dikecualikan mengikuti [aturan yang sama seperti penggantian model subagent](/docs/id/model-config#restrict-model-selection). |

373| `effort` | No | [Effort level](/docs/id/model-config#adjust-effort-level) when this skill is active. Overrides the session effort level. Default: inherits from session. Options: `low`, `medium`, `high`, `xhigh`, `max`; available levels depend on the model. |390| `effort` | No | [Tingkat effort](/docs/id/model-config#adjust-effort-level) ketika skill ini aktif. Mengganti tingkat effort sesi. Default: mewarisi dari sesi. Opsi: `low`, `medium`, `high`, `xhigh`, `max`; tingkat yang tersedia tergantung pada model. |

374| `context` | No | Set to `fork` to run in a forked subagent context. See [Run skills in a subagent](#run-skills-in-a-subagent). |391| `context` | No | Atur ke `fork` untuk berjalan dalam konteks subagent yang bercabang. Lihat [Jalankan skills dalam subagent](#run-skills-in-a-subagent). |

375| `agent` | No | Which subagent type to use when `context: fork` is set. |392| `agent` | No | Jenis subagent mana yang digunakan ketika `context: fork` diatur. |

376| `background` | No | Only applies with `context: fork`. Set to `false` to wait for the forked subagent's result in the turn that invoked the skill, instead of [running it in the background](#run-skills-in-a-subagent). Default: `true`. Requires Claude Code v2.1.218 or later. |393| `background` | No | Hanya berlaku dengan `context: fork`. Atur ke `false` untuk menunggu hasil subagent yang bercabang dalam giliran yang menginvokasi skill, daripada [menjalankannya di latar belakang](#run-skills-in-a-subagent). Default: `true`. Memerlukan Claude Code v2.1.218 atau lebih baru. |

377| `hooks` | No | Hooks that Claude Code registers when the skill is invoked and keeps running for the rest of the session. See [Hooks in skills and agents](/docs/id/hooks#hooks-in-skills-and-agents) for the configuration format and the `once` option. |394| `hooks` | No | Hooks yang Claude Code daftarkan ketika skill diinvokasi dan terus berjalan untuk sisa sesi. Lihat [Hooks dalam skills dan agents](/docs/id/hooks#hooks-in-skills-and-agents) untuk format konfigurasi dan opsi `once`. |

378| `paths` | No | Glob patterns that limit when this skill is activated. Accepts a comma-separated string or a YAML list. When set, Claude loads the skill automatically only when working with files matching the patterns. Uses the same format as [path-specific rules](/docs/id/memory#path-specific-rules). |395| `paths` | No | Pola glob yang membatasi kapan skill ini diaktifkan. Menerima string yang dipisahkan koma atau daftar YAML. Ketika diatur, Claude memuat skill secara otomatis hanya saat bekerja dengan file yang cocok dengan pola. Menggunakan format yang sama seperti [aturan khusus path](/docs/id/memory#path-specific-rules). |

379| `shell` | No | Shell to use for `` !`command` `` and ` ```! ` blocks in this skill. Accepts `bash` (default) or `powershell`. Setting `powershell` runs inline shell commands via PowerShell when the [PowerShell tool](/id/tools-reference#powershell-tool) is enabled: it's on by default on Windows without Git Bash, on by default with Git Bash for claude.ai and Console accounts, and needs `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` in Amazon Bedrock, Google Cloud's Agent Platform, and Microsoft Foundry sessions and on macOS, Linux, and WSL. Set it to `0` to turn the tool off. |396| `shell` | No | Shell yang digunakan untuk `` !`command` `` dan ` ```! ` blocks dalam skill ini. Menerima `bash` (default) atau `powershell`. Mengatur `powershell` menjalankan perintah shell inline melalui PowerShell ketika [tool PowerShell](/id/tools-reference#powershell-tool) diaktifkan: itu aktif secara default di Windows tanpa Git Bash, aktif secara default dengan Git Bash untuk akun claude.ai dan Console, dan memerlukan `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` dalam sesi Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry dan di macOS, Linux, dan WSL. Atur ke `0` untuk mematikan tool. |

380| `metadata` | No | Free-form YAML map for your own key-value data, such as entitlement or catalog fields, read by your own tooling from `SKILL.md`. Claude Code doesn't act on its contents, and drops a value that isn't a map. Don't reuse frontmatter field names such as `paths` as keys. |397| `metadata` | No | Peta YAML bentuk bebas untuk data kunci-nilai Anda sendiri, seperti bidang entitlement atau katalog, dibaca oleh tooling Anda sendiri dari `SKILL.md`. Claude Code tidak bertindak atas isinya, dan menjatuhkan nilai yang bukan peta. Jangan gunakan kembali nama bidang frontmatter seperti `paths` sebagai kunci. |

381| `license` | No | License covering the skill. Part of the [Agent Skills](https://agentskills.io) spec; see [Using skill frontmatter outside Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code accepts the field but doesn't act on it. |398| `license` | No | Lisensi yang mencakup skill. Bagian dari spesifikasi [Agent Skills](https://agentskills.io); lihat [Menggunakan skill frontmatter di luar Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code menerima bidang tetapi tidak bertindak atasnya. |

382| `compatibility` | No | Environment requirements for the skill, such as intended products or system prerequisites, as defined by the [Agent Skills](https://agentskills.io) spec; see [Using skill frontmatter outside Claude Code](#using-skill-frontmatter-outside-claude-code). Accepts a string of up to 500 characters. Claude Code accepts the field but doesn't act on it. |399| `compatibility` | No | Persyaratan lingkungan untuk skill, seperti produk yang dimaksudkan atau prasyarat sistem, seperti yang didefinisikan oleh spesifikasi [Agent Skills](https://agentskills.io); lihat [Menggunakan skill frontmatter di luar Claude Code](#using-skill-frontmatter-outside-claude-code). Menerima string hingga 500 karakter. Claude Code menerima bidang tetapi tidak bertindak atasnya. |

383 400 

384<h4 id="using-skill-frontmatter-outside-claude-code">401<h4 id="using-skill-frontmatter-outside-claude-code">

385 Menggunakan skill frontmatter di luar Claude Code402 Menggunakan skill frontmatter di luar Claude Code


406 Bagaimana skill mendapatkan nama perintahnya423 Bagaimana skill mendapatkan nama perintahnya

407</h4>424</h4>

408 425 

409Perintah yang Anda ketik untuk menginvokasi skill berasal dari tempat file skill berada dan, untuk skill plugin, juga dari bidang frontmatter `name`. Dalam skill pribadi atau proyek, `name` hanya menetapkan label tampilan yang ditampilkan dalam daftar skill, dan perintah masih berasal dari nama direktori. Dalam skill plugin, `name` menetapkan segmen terakhir dari perintah dan awalan plugin tetap ada.426Perintah yang Anda ketik untuk menginvokasi skill berasal dari tempat file skill berada dan, untuk direktori skill dan plugin skills, dari bidang frontmatter `name`. Dalam skill pribadi atau proyek, `name` menetapkan perintah yang ditampilkan menu `/` dan yang Anda ketik, kecuali perintah lain sudah menggunakan nama itu. Nama direktori juga menginvokasi skill. Dalam plugin skill, `name` menetapkan segmen terakhir dari perintah dan awalan plugin tetap ada.

410 427 

411Tabel di bawah menunjukkan dari mana nama perintah berasal untuk setiap tata letak:428Tabel di bawah menunjukkan dari mana nama perintah berasal untuk setiap tata letak:

412 429 

413| Skill location | Command name source | Example |430| Skill location | Command name source | Example |

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

415| Skill directory under `~/.claude/skills/` or `.claude/skills/` | Directory name | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |432| Skill directory under `~/.claude/skills/` or `.claude/skills/` | Frontmatter `name` or the directory name | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging`, or `/deploy` with `name: deploy` |

416| [Nested](#where-skills-live) `.claude/skills/` directory, when the name clashes with another skill | Subdirectory path relative to the working directory, then the skill directory name | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |433| [Nested](#where-skills-live) `.claude/skills/` directory, when the directory name clashes with another skill | Subdirectory path relative to the working directory, then the skill directory name | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |

417| File under `.claude/commands/` | File name without extension | `.claude/commands/deploy.md` → `/deploy` |434| File under `.claude/commands/` | File name without extension | `.claude/commands/deploy.md` → `/deploy` |

418| File in a subdirectory of `.claude/commands/` | Subdirectory path relative to `commands/` with each `/` replaced by `:`, then the file name without extension | `.claude/commands/frontend/component.md` → `/frontend:component` |435| File in a subdirectory of `.claude/commands/` | Subdirectory path relative to `commands/` with each `/` replaced by `:`, then the file name without extension | `.claude/commands/frontend/component.md` → `/frontend:component` |

419| Plugin `skills/` subdirectory | Frontmatter `name` or the directory name, namespaced by plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, or `/my-plugin:fancy` with `name: fancy` |436| Plugin `skills/` subdirectory | Frontmatter `name` or the directory name, namespaced by plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, or `/my-plugin:fancy` with `name: fancy` |


434 451 

435| Variable | Description |452| Variable | Description |

436| :- | :- |453| :- | :- |

437| `$ARGUMENTS` | All arguments passed when invoking the skill. When no placeholder receives an argument, Claude Code appends them as `ARGUMENTS: <value>`. See [Pass arguments to skills](#pass-arguments-to-skills). |454| `$ARGUMENTS` | Semua argumen yang diteruskan saat menginvokasi skill. Ketika tidak ada placeholder yang menerima argumen, Claude Code menambahkannya sebagai `ARGUMENTS: <value>`. Lihat [Teruskan argumen ke skills](#pass-arguments-to-skills). |

438| `$ARGUMENTS[N]` | Access a specific argument by 0-based index, such as `$ARGUMENTS[0]` for the first argument. |455| `$ARGUMENTS[N]` | Akses argumen tertentu berdasarkan indeks berbasis 0, seperti `$ARGUMENTS[0]` untuk argumen pertama. |

439| `$N` | Shorthand for `$ARGUMENTS[N]`, such as `$0` for the first argument or `$1` for the second. |456| `$N` | Shorthand untuk `$ARGUMENTS[N]`, seperti `$0` untuk argumen pertama atau `$1` untuk argumen kedua. |

440| `$name` | Named argument declared in the [`arguments`](#frontmatter-reference) frontmatter list. Names map to positions in order, so with `arguments: [issue, branch]` the placeholder `$issue` expands to the first argument and `$branch` to the second. |457| `$name` | Argumen bernama yang dideklarasikan dalam daftar frontmatter [`arguments`](#frontmatter-reference). Nama memetakan ke posisi secara berurutan, jadi dengan `arguments: [issue, branch]` placeholder `$issue` berkembang menjadi argumen pertama dan `$branch` menjadi argumen kedua. |

441| `${CLAUDE_SESSION_ID}` | The current session ID. Useful for logging, creating session-specific files, or correlating skill output with sessions. |458| `${CLAUDE_SESSION_ID}` | ID sesi saat ini. Berguna untuk logging, membuat file khusus sesi, atau mengkorelasikan output skill dengan sesi. |

442| `${CLAUDE_EFFORT}` | The current effort level: `low`, `medium`, `high`, `xhigh`, or `max`. Ultracode is not a distinct level and reports as `xhigh`. Use this to adapt skill instructions to the active effort setting. |459| `${CLAUDE_EFFORT}` | Tingkat effort saat ini: `low`, `medium`, `high`, `xhigh`, atau `max`. Gunakan ini untuk menyesuaikan instruksi skill dengan pengaturan effort aktif. |

443| `${CLAUDE_SKILL_DIR}` | The directory containing the skill's `SKILL.md` file. For plugin skills, this is the skill's subdirectory within the plugin, not the plugin root. Use this in bash injection commands to reference scripts or files bundled with the skill, regardless of the current working directory. |460| `${CLAUDE_SKILL_DIR}` | Direktori yang berisi file `SKILL.md` skill. Untuk plugin skills, ini adalah subdirektori skill dalam plugin, bukan akar plugin. Gunakan ini dalam perintah injeksi bash untuk mereferensikan skrip atau file yang disertakan dengan skill, terlepas dari direktori kerja saat ini. |

444| `${CLAUDE_PROJECT_DIR}` | The project root directory. This is the same path [hooks](/docs/id/hooks#reference-scripts-by-path) and MCP servers receive as `CLAUDE_PROJECT_DIR`. Use this to reference project-local scripts or files, such as `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, independent of where the skill is installed. |461| `${CLAUDE_PROJECT_DIR}` | Direktori akar proyek. Ini adalah path yang sama yang [hooks](/docs/id/hooks#reference-scripts-by-path) dan server MCP terima sebagai `CLAUDE_PROJECT_DIR`. Gunakan ini untuk mereferensikan skrip atau file lokal proyek, seperti `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, terlepas dari tempat skill diinstal. |

445| `${CLAUDE_PLUGIN_ROOT}` | The plugin's installation directory. Substituted only in plugin skills. Use this to reference scripts or files bundled anywhere in the plugin, including resources shared between the plugin's skills. See [plugin environment variables](/docs/id/plugins/manifest-reference#environment-variables). |462| `${CLAUDE_PLUGIN_ROOT}` | Direktori instalasi plugin. Disubstitusi hanya dalam plugin skills. Gunakan ini untuk mereferensikan skrip atau file yang disertakan di mana pun dalam plugin, termasuk sumber daya yang dibagikan antara skills plugin. Lihat [variabel lingkungan plugin](/docs/id/plugins/manifest-reference#environment-variables). |

446| `${CLAUDE_PLUGIN_DATA}` | The plugin's [persistent data directory](/docs/id/plugins/components#path-variables-and-persistent-data), which survives plugin updates. Substituted only in plugin skills. Use this to reference installed dependencies, generated files, or caches that must outlive an update. |463| `${CLAUDE_PLUGIN_DATA}` | [Direktori data persisten](/docs/id/plugins/components#path-variables-and-persistent-data) plugin, yang bertahan dari pembaruan plugin. Disubstitusi hanya dalam plugin skills. Gunakan ini untuk mereferensikan dependensi yang diinstal, file yang dihasilkan, atau cache yang harus bertahan dari pembaruan. |

447 464 

448Claude Code menggantikan `${CLAUDE_SKILL_DIR}` dan `${CLAUDE_PROJECT_DIR}` di dua tempat: konten markdown skill, dan aturan Bash dalam frontmatter [`allowed-tools`](#frontmatter-reference). Dalam skill plugin, Claude Code menggantikan `${CLAUDE_PLUGIN_ROOT}` dan `${CLAUDE_PLUGIN_DATA}` di tempat yang sama. Menggunakan variabel yang sama di kedua tempat memungkinkan skill menjalankan skrip bundel tanpa prompt izin. Skill berikut menunjukkan polanya:465Claude Code menggantikan `${CLAUDE_SKILL_DIR}` dan `${CLAUDE_PROJECT_DIR}` di dua tempat: konten markdown skill, dan aturan Bash dalam frontmatter [`allowed-tools`](#frontmatter-reference). Dalam skill plugin, Claude Code menggantikan `${CLAUDE_PLUGIN_ROOT}` dan `${CLAUDE_PLUGIN_DATA}` di tempat yang sama. Menggunakan variabel yang sama di kedua tempat memungkinkan skill menjalankan skrip bundel tanpa prompt izin. Skill berikut menunjukkan polanya:

449 466 


826Skill(deploy *)843Skill(deploy *)

827```844```

828 845 

829Sintaks izin: `Skill(name)` untuk kecocokan tepat, `Skill(name *)` untuk kecocokan awalan dengan argumen apa pun.846Sintaks izin: `Skill(name)` untuk kecocokan tepat, `Skill(name *)` untuk kecocokan awalan dengan argumen apa pun. Dalam aturan `allow`, awalan di luar [namespace yang dicadangkan untuk skills yang disinkronkan](#names-reserved-for-synced-skills) tidak cocok dengan nama di dalamnya: `Skill(anthropic *)` tidak mencakup `anthropic-skills:pdf`.

830 847 

831Jika aturan `deny` Anda menamai alias atau nama yang tidak memenuhi syarat daripada nama skill itu sendiri, Claude Code masih memblokir skill: dengan `Skill(review)` itu memblokir bundel `/code-review` melalui alias `/review`-nya, dan dengan `Skill(deploy)` itu memblokir [skill bersarang](#where-skills-live) yang terdaftar sebagai `apps/web:deploy` melalui nama yang tidak memenuhi syaratnya. Sebelum v2.1.260, Claude Code tidak memblokir skill bersarang yang terdaftar di bawah nama yang memenuhi syaratnya ketika aturan deny hanya menamai nama yang tidak memenuhi syarat.848Jika aturan `deny` Anda menamai alias atau nama yang tidak memenuhi syarat daripada nama skill itu sendiri, Claude Code masih memblokir skill: dengan `Skill(review)` itu memblokir bundel `/code-review` melalui alias `/review`-nya, dan dengan `Skill(deploy)` itu memblokir [skill bersarang](#where-skills-live) yang terdaftar sebagai `apps/web:deploy` melalui nama yang tidak memenuhi syaratnya. Sebelum v2.1.260, Claude Code tidak memblokir skill bersarang yang terdaftar di bawah nama yang memenuhi syaratnya ketika aturan deny hanya menamai nama yang tidak memenuhi syarat.

832 849 

833Claude Code mencocokkan aturan `allow` hanya terhadap nama skill itu sendiri dan nama dalam invokasi Claude.850Claude Code mencocokkan aturan `allow` hanya terhadap nama skill itu sendiri dan nama dalam invokasi Claude.

834 851 

852Untuk menyetujui [skill yang disinkronkan](#how-synced-skills-behave) tanpa prompt, namai dalam [namespace yang dicadangkan](#names-reserved-for-synced-skills)-nya: `Skill(anthropic-skills:pdf)` menyetujui skill `pdf` yang disinkronkan, dan `Skill(anthropic-skills *)` menyetujui setiap skill yang disinkronkan.

853 

835**Sembunyikan skills individual** dengan menambahkan `disable-model-invocation: true` ke frontmatter mereka. Ini menghapus skill dari konteks Claude sepenuhnya.854**Sembunyikan skills individual** dengan menambahkan `disable-model-invocation: true` ke frontmatter mereka. Ini menghapus skill dari konteks Claude sepenuhnya.

836 855 

837<Note>856<Note>

statusline.md +3 −3

Details

175 175 

176Claude Code menangkap output skrip Anda alih-alih menghubungkannya langsung ke terminal, jadi `tput cols` dan deteksi lebar tingkat bahasa tidak dapat membaca ukuran terminal dari dalam skrip. Baca variabel lingkungan `COLUMNS` dan `LINES` sebagai gantinya. Claude Code menetapkan ini ke dimensi terminal saat ini sebelum menjalankan skrip Anda.176Claude Code menangkap output skrip Anda alih-alih menghubungkannya langsung ke terminal, jadi `tput cols` dan deteksi lebar tingkat bahasa tidak dapat membaca ukuran terminal dari dalam skrip. Baca variabel lingkungan `COLUMNS` dan `LINES` sebagai gantinya. Claude Code menetapkan ini ke dimensi terminal saat ini sebelum menjalankan skrip Anda.

177 177 

178<Note>Baris status berjalan secara lokal dan tidak menggunakan token API. Itu sementara bersembunyi selama interaksi UI tertentu, termasuk saran pelengkapan otomatis, menu bantuan, dan prompt izin.</Note>178<Note>Baris status berjalan secara lokal dan tidak menggunakan token API. Itu sementara bersembunyi selama interaksi UI tertentu, termasuk menu bantuan dan prompt izin.</Note>

179 179 

180<h2 id="available-data">180<h2 id="available-data">

181 Data yang tersedia181 Data yang tersedia


202| `context_window.current_usage` | Jumlah token dari panggilan API terakhir, dijelaskan dalam [bidang jendela konteks](#context-window-fields) |202| `context_window.current_usage` | Jumlah token dari panggilan API terakhir, dijelaskan dalam [bidang jendela konteks](#context-window-fields) |

203| `exceeds_200k_tokens` | Apakah jumlah token total (input, cache, dan output token digabungkan) dari respons API terbaru melebihi 200k. Ini adalah ambang batas tetap terlepas dari ukuran jendela konteks aktual. |203| `exceeds_200k_tokens` | Apakah jumlah token total (input, cache, dan output token digabungkan) dari respons API terbaru melebihi 200k. Ini adalah ambang batas tetap terlepas dari ukuran jendela konteks aktual. |

204| `fast_mode` | Apakah [fast mode](/docs/id/fast-mode) diaktifkan untuk sesi |204| `fast_mode` | Apakah [fast mode](/docs/id/fast-mode) diaktifkan untuk sesi |

205| `effort.level` | Tingkat upaya penalaran saat ini (`low`, `medium`, `high`, `xhigh`, atau `max`). Mencerminkan nilai sesi langsung, termasuk perubahan `/effort` pertengahan sesi. Ultracode bukan tingkat yang berbeda dan melaporkan sebagai `xhigh`. Tidak ada ketika model saat ini tidak mendukung parameter upaya |205| `effort.level` | Tingkat upaya penalaran saat ini (`low`, `medium`, `high`, `xhigh`, atau `max`). Mencerminkan nilai sesi langsung, termasuk perubahan `/effort` pertengahan sesi. Tidak ada ketika model saat ini tidak mendukung parameter upaya |

206| `thinking.enabled` | Apakah pemikiran diperpanjang diaktifkan untuk sesi |206| `thinking.enabled` | Apakah pemikiran diperpanjang diaktifkan untuk sesi |

207| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Persentase batas laju 5 jam atau 7 hari yang dikonsumsi, dari 0 hingga 100 |207| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Persentase batas laju 5 jam atau 7 hari yang dikonsumsi, dari 0 hingga 100 |

208| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Detik epoch Unix ketika jendela batas laju 5 jam atau 7 hari direset |208| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Detik epoch Unix ketika jendela batas laju 5 jam atau 7 hari direset |


1166* Di Windows dengan Git Bash terinstal, garis miring terbalik dalam jalur `command` kemungkinan besar dikonsumsi sebagai karakter escape sebelum skrip berjalan. Gunakan garis miring ke depan dalam jalur. Lihat [Konfigurasi Windows](#windows-configuration).1166* Di Windows dengan Git Bash terinstal, garis miring terbalik dalam jalur `command` kemungkinan besar dikonsumsi sebagai karakter escape sebelum skrip berjalan. Gunakan garis miring ke depan dalam jalur. Lihat [Konfigurasi Windows](#windows-configuration).

1167* Jika `disableAllHooks` adalah `true` di luar pengaturan terkelola setelah [precedence pengaturan](/docs/id/hooks#disable-or-remove-hooks) diterapkan, Claude Code hanya menjalankan `statusLine` dari pengaturan terkelola, dan tanpa `statusLine` terkelola baris status dinonaktifkan. Hapus pengaturan, atau atur ke `false` dalam file yang mengaturnya, untuk mengaktifkan kembali. Lihat [`disableAllHooks`](/docs/id/settings-reference#disableallhooks).1167* Jika `disableAllHooks` adalah `true` di luar pengaturan terkelola setelah [precedence pengaturan](/docs/id/hooks#disable-or-remove-hooks) diterapkan, Claude Code hanya menjalankan `statusLine` dari pengaturan terkelola, dan tanpa `statusLine` terkelola baris status dinonaktifkan. Hapus pengaturan, atau atur ke `false` dalam file yang mengaturnya, untuk mengaktifkan kembali. Lihat [`disableAllHooks`](/docs/id/settings-reference#disableallhooks).

1168* Jika organisasi Anda mengatur `allowManagedHooksOnly` dalam pengaturan terkelola, baris status kustom Anda hilang tanpa peringatan: Anda hanya dapat mendapatkan baris status dari nilai `statusLine` dalam pengaturan terkelola tersebut. Lihat [apa yang berjalan di bawah `allowManagedHooksOnly`](/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) untuk perilaku lengkap, dan tanyakan kepada administrator Anda apakah pengaturan ini berlaku untuk Anda.1168* Jika organisasi Anda mengatur `allowManagedHooksOnly` dalam pengaturan terkelola, baris status kustom Anda hilang tanpa peringatan: Anda hanya dapat mendapatkan baris status dari nilai `statusLine` dalam pengaturan terkelola tersebut. Lihat [apa yang berjalan di bawah `allowManagedHooksOnly`](/docs/id/settings-reference#what-runs-under-allowmanagedhooksonly) untuk perilaku lengkap, dan tanyakan kepada administrator Anda apakah pengaturan ini berlaku untuk Anda.

1169* Jalankan `claude --debug` untuk mencatat kode keluar dan stderr dari invokasi baris status pertama dalam sesi1169* Jalankan `claude --debug` untuk mencatat stderr skrip Anda pada setiap invokasi baris status, dan kode keluarnya pada invokasi pertama dalam sesi

1170* Minta Claude untuk membaca file pengaturan Anda dan jalankan perintah `statusLine` secara langsung untuk mengungkap kesalahan1170* Minta Claude untuk membaca file pengaturan Anda dan jalankan perintah `statusLine` secara langsung untuk mengungkap kesalahan

1171 1171 

1172**Baris status menampilkan `--` atau nilai kosong**1172**Baris status menampilkan `--` atau nilai kosong**

sub-agents.md +183 −181

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# Buat subagent khusus5# Buat subagen kustom

6 6 

7> Buat dan gunakan subagent AI khusus di Claude Code untuk alur kerja khusus tugas dan manajemen konteks yang lebih baik.7> Buat dan gunakan subagen AI khusus di Claude Code untuk alur kerja spesifik tugas dan manajemen konteks yang lebih baik.

8 8 

9Subagent adalah asisten AI khusus yang menangani jenis tugas tertentu. Gunakan satu ketika tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi: subagent melakukan pekerjaan itu dalam konteksnya sendiri dan hanya mengembalikan ringkasan. Tentukan subagent khusus ketika Anda terus menelurkan jenis pekerja yang sama dengan instruksi yang sama.9Subagen adalah asisten AI khusus yang menangani jenis tugas tertentu. Gunakan satu ketika tugas sampingan akan membanjiri percakapan utama Anda dengan hasil pencarian, log, atau konten file yang tidak akan Anda referensikan lagi: subagen melakukan pekerjaan itu dalam konteksnya sendiri dan mengembalikan hanya ringkasannya. Tentukan subagen kustom ketika Anda terus-menerus menjalankan jenis pekerja yang sama dengan instruksi yang sama.

10 10 

11Setiap subagent berjalan di jendela konteksnya sendiri dengan prompt sistem khusus, akses alat tertentu, dan izin independen. Ketika Claude menemukan tugas yang sesuai dengan deskripsi subagent, Claude mendelegasikan ke subagent tersebut, yang bekerja secara independen dan mengembalikan hasil. Untuk melihat penghematan konteks dalam praktik, [visualisasi jendela konteks](/docs/id/context-window) menjelaskan sesi di mana subagent menangani penelitian di jendela terpisahnya sendiri.11Setiap subagen berjalan dalam jendela konteksnya sendiri dengan prompt sistem kustom, akses alat tertentu, dan izin independen. Subagen juga mengirimkan permintaannya sendiri, yang dihitung terhadap [batas penggunaan](/docs/id/costs#plan-usage-breakdown) yang sama dengan percakapan utama Anda. Ketika Claude menemukan tugas yang cocok dengan deskripsi subagen, Claude mendelegasikan ke subagen tersebut, yang bekerja secara independen dan mengembalikan hasil. Untuk melihat penghematan konteks dalam praktik, [visualisasi jendela konteks](/docs/id/context-window) menjelaskan sesi di mana subagen menangani penelitian dalam jendela terpisahnya sendiri.

12 12 

13<Note>13<Note>

14 Subagent bekerja dalam satu sesi. Untuk menjalankan banyak sesi independen secara paralel dan memantaunya dari satu tempat, lihat [agen latar belakang](/docs/id/agent-view). Untuk sesi terpisah yang melewatkan pesan satu sama lain, lihat [pesan lintas sesi](/docs/id/cross-session-messaging). Untuk tim yang terkoordinasi dari sesi yang Claude luncurkan dan awasi, lihat [tim agen](/docs/id/agent-teams).14 Subagen bekerja dalam satu sesi. Untuk menjalankan banyak sesi independen secara paralel dan memantaunya dari satu tempat, lihat [agen latar belakang](/docs/id/agent-view). Untuk sesi terpisah yang mengirimkan pesan satu sama lain, lihat [pesan lintas sesi](/docs/id/cross-session-messaging). Untuk tim sesi yang terkoordinasi yang Claude buat dan awasi, lihat [tim agen](/docs/id/agent-teams).

15</Note>15</Note>

16 16 

17Subagent membantu Anda:17Subagen membantu Anda:

18 18 

19* **Mempertahankan konteks** dengan menjaga eksplorasi dan implementasi di luar percakapan utama Anda19* **Pertahankan konteks** dengan menjaga eksplorasi dan implementasi di luar percakapan utama Anda

20* **Menerapkan batasan** dengan membatasi alat mana yang dapat digunakan subagent20* **Terapkan batasan** dengan membatasi alat mana yang dapat digunakan subagen

21* **Menggunakan kembali konfigurasi** di seluruh proyek dengan subagent tingkat pengguna21* **Gunakan kembali konfigurasi** di seluruh proyek dengan subagen tingkat pengguna

22* **Mengkhususkan perilaku** dengan prompt sistem yang terfokus untuk domain tertentu22* **Spesialisasi perilaku** dengan prompt sistem yang terfokus untuk domain tertentu

23* **Mengontrol biaya** dengan merutekan tugas ke model yang lebih cepat dan lebih murah seperti Haiku23* **Kontrol biaya** dengan merutekan tugas ke model yang lebih cepat dan lebih murah seperti Haiku

24 24 

25Claude menggunakan deskripsi setiap subagent untuk memutuskan kapan mendelegasikan tugas. Ketika Anda membuat subagent, tulis deskripsi yang jelas sehingga Claude tahu kapan menggunakannya.25Claude menggunakan deskripsi setiap subagen untuk memutuskan kapan mendelegasikan tugas. Ketika Anda membuat subagen, tulis deskripsi yang jelas sehingga Claude tahu kapan menggunakannya.

26 26 

27Deskripsi tersebut menggunakan konteks, jadi tetap singkat. Ketika deskripsi gabungan subagent Anda, kecuali yang bawaan, melebihi 15.000 token, Claude Code menampilkan [peringatan saat startup dengan jumlah token total](/docs/id/errors#agent-descriptions-are-over-the-15000-token-limit). Potong bidang `description` subagent Anda, dan pindahkan detail ke prompt sistem setiap subagent, yang hanya dimuat ketika subagent itu berjalan.27Deskripsi tersebut menggunakan konteks, jadi simpan deskripsi tetap singkat. Ketika deskripsi gabungan subagen Anda, kecuali yang bawaan, melebihi 15.000 token, Claude Code menampilkan [peringatan saat startup dengan jumlah token total](/docs/id/errors#agent-descriptions-are-over-the-15000-token-limit). Potong bidang `description` subagen Anda, dan pindahkan detail ke prompt sistem setiap subagen, yang hanya dimuat ketika subagen tersebut berjalan.

28 28 

29<h2 id="built-in-subagents">29<h2 id="built-in-subagents">

30 Subagent bawaan30 Subagent bawaan


160 Konfigurasi subagent160 Konfigurasi subagent

161</h2>161</h2>

162 162 

163Lokasi file subagent menentukan siapa yang dapat mengaksesnya, dan frontmatter-nya menentukan apa yang dapat dilakukannya. Bagian ini mencakup di mana file subagent berada dan setiap bidang yang didukungnya.163Lokasi file subagent menentukan siapa yang dapat menggunakannya, dan frontmatter-nya menentukan apa yang dapat dilakukannya. Bagian ini mencakup tempat file subagent berada dan setiap field yang didukungnya.

164 164 

165<h3 id="choose-the-subagent-scope">165<h3 id="choose-the-subagent-scope">

166 Pilih cakupan subagent166 Pilih cakupan subagent


170 170 

171| Lokasi | Cakupan | Prioritas | Cara membuat |171| Lokasi | Cakupan | Prioritas | Cara membuat |

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

173| Pengaturan terkelola | Seluruh organisasi | 1 (tertinggi) | Digunakan melalui [pengaturan terkelola](/docs/id/settings) |173| Managed settings | Seluruh organisasi | 1 (tertinggi) | Digunakan melalui [managed settings](/docs/id/settings) |

174| Flag CLI `--agents` | Sesi saat ini | 2 | Lewatkan JSON saat meluncurkan Claude Code |174| `--agents` CLI flag | Sesi saat ini | 2 | Lewatkan JSON saat meluncurkan Claude Code |

175| `.claude/agents/` | Proyek saat ini | 3 | Tanyakan Claude, atau buat file secara manual |175| `.claude/agents/` | Proyek saat ini | 3 | Tanya Claude, atau buat file secara manual |

176| `~/.claude/agents/` | Semua proyek Anda | 4 | Tanyakan Claude, atau buat file secara manual |176| `~/.claude/agents/` | Semua proyek Anda | 4 | Tanya Claude, atau buat file secara manual |

177| Direktori `agents/` plugin | Tempat plugin diaktifkan | 5 (terendah) | Diinstal dengan [plugins](/docs/id/plugins/overview) |177| Direktori `agents/` plugin | Tempat plugin diaktifkan | 5 (terendah) | Diinstal dengan [plugins](/docs/id/plugins/overview) |

178 178 

179**Subagent proyek** (`.claude/agents/`) ideal untuk subagent khusus untuk basis kode. Periksa mereka ke kontrol versi sehingga tim Anda dapat menggunakannya dan meningkatkannya secara kolaboratif.179**Subagent proyek** (`.claude/agents/`) ideal untuk subagent yang spesifik untuk codebase. Periksa mereka ke dalam version control sehingga tim Anda dapat menggunakan dan meningkatkannya secara kolaboratif.

180 180 

181Subagent proyek ditemukan dengan berjalan naik dari direktori kerja saat ini, sehingga setiap `.claude/agents/` antara sana dan akar repositori dipindai. Ketika lebih dari satu direktori bersarang ini mendefinisikan `name` yang sama, Claude Code menggunakan definisi yang paling dekat dengan direktori kerja.181Subagent proyek ditemukan dengan berjalan naik dari direktori kerja saat ini, jadi setiap `.claude/agents/` antara sana dan akar repositori dipindai. Ketika lebih dari satu direktori bersarang ini mendefinisikan `name` yang sama, Claude Code menggunakan definisi yang paling dekat dengan direktori kerja.

182 182 

183Ketika Anda menambahkan direktori dengan `--add-dir` atau `/add-dir`, Claude Code juga memuat folder `.claude/agents/` miliknya, bersama dengan subagent proyek Anda. Lihat [Direktori tambahan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) untuk jenis konfigurasi lain mana yang dimuat dari `--add-dir`. Untuk berbagi subagent di seluruh proyek tanpa `--add-dir`, gunakan `~/.claude/agents/` atau [plugin](/docs/id/plugins/overview).183Ketika Anda menambahkan direktori dengan `--add-dir` atau `/add-dir`, Claude Code juga memuat folder `.claude/agents/` miliknya, bersama dengan subagent proyek Anda. Lihat [Additional directories](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) untuk jenis konfigurasi lain mana yang dimuat dari `--add-dir`. Untuk berbagi subagent di seluruh proyek tanpa `--add-dir`, gunakan `~/.claude/agents/` atau [plugin](/docs/id/plugins/overview).

184 184 

185**Subagent pengguna** (`~/.claude/agents/`) adalah subagent pribadi yang tersedia di semua proyek Anda.185**Subagent pengguna** (`~/.claude/agents/`) adalah subagent pribadi yang tersedia di semua proyek Anda.

186 186 

187Claude Code memindai `.claude/agents/` dan `~/.claude/agents/` secara rekursif, sehingga Anda dapat mengorganisir definisi ke dalam subfolder seperti `agents/review/` atau `agents/research/`. Jalur subdirektori tidak mempengaruhi cara subagent diidentifikasi atau dipanggil, karena identitas hanya berasal dari bidang frontmatter `name`.187Claude Code memindai `.claude/agents/` dan `~/.claude/agents/` secara rekursif, jadi Anda dapat mengorganisir definisi ke dalam subfolder seperti `agents/review/` atau `agents/research/`. Jalur subdirektori tidak mempengaruhi cara subagent diidentifikasi atau dipanggil, karena identitas hanya berasal dari field frontmatter `name`.

188 188 

189Jaga nilai `name` tetap unik di seluruh pohon: jika dua file dalam direktori `.claude/agents/` yang sama, termasuk subfolder-nya, mendeklarasikan nama yang sama, Claude Code memuat hanya satu dari mereka, dipilih berdasarkan urutan pembacaan sistem file daripada prioritas yang terdokumentasi. Di seluruh direktori proyek bersarang, definisi yang paling dekat dengan direktori kerja menang, seperti dijelaskan di atas. Pemeriksaan setup [`/doctor`](/docs/id/commands#all-commands) melaporkan file dalam direktori yang sama yang berbagi nama dan menyarankan untuk mengganti nama atau menghapus semua kecuali satu. Sebelum v2.1.205, `/doctor` membuka layar diagnostik yang mencantumkan duplikat dan menunjukkan definisi mana yang aktif.189Jaga nilai `name` tetap unik di seluruh pohon: jika dua file di bawah direktori `.claude/agents/` yang sama, termasuk subfolder-nya, mendeklarasikan nama yang sama, Claude Code hanya memuat salah satunya, dipilih berdasarkan urutan pembacaan filesystem daripada prioritas yang terdokumentasi. Di seluruh direktori proyek bersarang, definisi yang paling dekat dengan direktori kerja menang, seperti dijelaskan di atas. Pemeriksaan setup [`/doctor`](/docs/id/commands#all-commands) melaporkan file di direktori yang sama yang berbagi nama dan menyarankan untuk mengganti nama atau menghapus semua kecuali satu. Sebelum v2.1.205, `/doctor` membuka layar diagnostik yang mencantumkan duplikat dan menunjukkan definisi mana yang aktif.

190 190 

191Direktori `agents/` plugin juga dipindai secara rekursif. Tidak seperti cakupan proyek dan pengguna, subfolder di dalam direktori `agents/` plugin menjadi bagian dari [pengenal yang dibatasi cakupan](#invoke-subagents-explicitly): file di `agents/review/security.md` dalam plugin `my-plugin` terdaftar sebagai `my-plugin:review:security`.191Direktori `agents/` plugin juga dipindai secara rekursif. Tidak seperti cakupan proyek dan pengguna, subfolder di dalam direktori `agents/` plugin menjadi bagian dari [scoped identifier](#invoke-subagents-explicitly): file di `agents/review/security.md` dalam plugin `my-plugin` terdaftar sebagai `my-plugin:review:security`.

192 192 

193**Subagent yang ditentukan CLI** dilewatkan sebagai JSON saat meluncurkan Claude Code. Mereka hanya ada untuk sesi itu dan tidak disimpan ke disk, menjadikannya berguna untuk pengujian cepat atau skrip otomasi. Anda dapat mendefinisikan beberapa subagent dalam satu panggilan `--agents`:193**Subagent yang didefinisikan CLI** dilewatkan sebagai JSON saat meluncurkan Claude Code. Mereka hanya ada untuk sesi itu dan tidak disimpan ke disk, menjadikannya berguna untuk pengujian cepat atau skrip otomasi. Anda dapat mendefinisikan beberapa subagent dalam satu panggilan `--agents`:

194 194 

195<Tabs>195<Tabs>

196 <Tab title="macOS, Linux, WSL">196 <Tab title="macOS, Linux, WSL">


230 </Tab>230 </Tab>

231</Tabs>231</Tabs>

232 232 

233Flag `--agents` menerima JSON dengan bidang `prompt` ditambah bidang [frontmatter](#supported-frontmatter-fields) ini: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd`, dan `isolation`. Gunakan `prompt` untuk prompt sistem, setara dengan badan markdown dalam subagent berbasis file. `color` dan `experimental` tidak diterima di sini dan diabaikan daripada ditolak.233Dalam [non-interactive mode](/docs/id/headless), `--agents` juga menerima jalur ke file JSON yang menyimpan objek yang sama, untuk definisi yang terlalu besar untuk dilewatkan di baris perintah. Misalnya, `claude -p --agents ./agents.json "Review my changes"` membaca definisi dari file itu. Dalam sesi interaktif, Claude Code menolak jalur file. Bentuk file memerlukan Claude Code v2.1.281 atau lebih baru.

234 234 

235Setiap kunci tingkat atas dalam JSON adalah nama agen. Jangan mulai nama dengan `-`.235Setiap kunci tingkat atas dalam JSON adalah nama agent, dan nilainya adalah definisi agent itu. Jangan mulai nama dengan `-`. Definisi mengambil field ini:

236 

237* **`prompt`**: system prompt agent, setara dengan badan markdown dalam subagent berbasis file. `prompt` mungkin kosong. Jika Anda memilih agent dengan `prompt` kosong dan tidak ada field `memory` sebagai agent sesi dengan `--agent`, system prompt sesi dibiarkan tidak berubah. `prompt` kosong memerlukan Claude Code v2.1.281 atau lebih baru.

238* **[Field frontmatter](#supported-frontmatter-fields)**: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd`, dan `isolation`.

239* **Field yang diabaikan**: `color` dan `experimental` tidak diterima di sini dan diabaikan daripada ditolak.

236 240 

237Untuk apa yang Claude Code lakukan dengan nilai yang tidak dapat dimuat, dan flag serta variabel lingkungan yang melewati pemeriksaan itu, lihat [`Invalid --agents configuration`](/docs/id/errors#invalid-agents-configuration).241Untuk apa yang Claude Code lakukan dengan nilai yang tidak dapat dimuat, dan flag serta variabel lingkungan yang melewati pemeriksaan itu, lihat [`Invalid --agents configuration`](/docs/id/errors#invalid-agents-configuration).

238 242 

239**Subagent terkelola** digunakan oleh administrator organisasi. Tempatkan file markdown dalam `.claude/agents/` di dalam [direktori pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms), menggunakan format frontmatter yang sama dengan subagent proyek dan pengguna. Definisi terkelola mengambil alih subagent proyek dan pengguna dengan nama yang sama.243**Subagent yang dikelola** digunakan oleh administrator organisasi. Tempatkan file markdown di `.claude/agents/` di dalam [managed settings directory](/docs/id/managed-settings#delivery-mechanisms), menggunakan format frontmatter yang sama seperti subagent proyek dan pengguna. Definisi yang dikelola mengambil alih subagent proyek dan pengguna dengan nama yang sama.

240 244 

241**Subagent plugin** berasal dari [plugins](/docs/id/plugins/overview) yang telah Anda instal. Mereka dimuat secara otomatis bersama subagent khusus Anda dan muncul dalam typeahead @-mention di bawah nama yang dibatasi cakupan mereka. Lihat [referensi komponen plugin](/docs/id/plugins/components#agents) untuk detail tentang membuat subagent plugin.245**Subagent plugin** berasal dari [plugins](/docs/id/plugins/overview) yang telah Anda instal. Mereka dimuat secara otomatis bersama subagent kustom Anda dan muncul dalam typeahead @-mention di bawah nama cakupan mereka. Lihat [plugin components reference](/docs/id/plugins/components#agents) untuk detail tentang membuat subagent plugin.

242 246 

243<Note>247<Note>

244 Untuk alasan keamanan, subagent plugin tidak mendukung bidang frontmatter `hooks`, `mcpServers`, atau `permissionMode`. Bidang-bidang ini diabaikan saat memuat agen dari plugin. Jika Anda membutuhkannya, salin file agen ke dalam `.claude/agents/` atau `~/.claude/agents/`. Anda juga dapat menambahkan aturan ke [`permissions.allow`](/docs/id/settings-reference#permissions-allow) dalam `settings.json` atau `settings.local.json`, tetapi aturan-aturan ini berlaku untuk seluruh sesi, bukan hanya subagent plugin.248 Untuk alasan keamanan, subagent plugin tidak mendukung field frontmatter `hooks`, `mcpServers`, atau `permissionMode`. Field ini diabaikan saat memuat agent dari plugin. Jika Anda membutuhkannya, salin file agent ke `.claude/agents/` atau `~/.claude/agents/`. Anda juga dapat menambahkan aturan ke [`permissions.allow`](/docs/id/settings-reference#permissions-allow) dalam `settings.json` atau `settings.local.json`, tetapi aturan ini berlaku untuk seluruh sesi, bukan hanya subagent plugin.

245</Note>249</Note>

246 250 

247Definisi subagent dari salah satu cakupan ini juga tersedia untuk [tim agen](/docs/id/agent-teams#use-subagent-definitions-for-teammates): saat menelurkan rekan kerja, Anda dapat mereferensikan jenis subagent, dan Claude Code menerapkan bagian dari definisi itu ke rekan kerja. Lihat [tim agen](/docs/id/agent-teams#use-subagent-definitions-for-teammates) untuk bagian mana yang berlaku di setiap mode tampilan.251Definisi subagent dari salah satu cakupan ini juga tersedia untuk [agent teams](/docs/id/agent-teams#use-subagent-definitions-for-teammates): saat menspawn teammate, Anda dapat mereferensikan tipe subagent, dan Claude Code menerapkan bagian dari definisi itu ke teammate. Lihat [agent teams](/docs/id/agent-teams#use-subagent-definitions-for-teammates) untuk bagian mana yang berlaku di setiap mode tampilan.

248 252 

249<h3 id="write-subagent-files">253<h3 id="write-subagent-files">

250 Tulis file subagent254 Tulis file subagent

251</h3>255</h3>

252 256 

253File subagent menggunakan frontmatter YAML untuk konfigurasi, diikuti oleh prompt sistem dalam Markdown:257File subagent menggunakan YAML frontmatter untuk konfigurasi, diikuti oleh system prompt dalam Markdown:

254 258 

255<Note>259<Note>

256 Claude Code memantau `~/.claude/agents/` dan `.claude/agents/`. Ketika Anda menambah atau mengedit file subagent di disk, atau meminta Claude untuk menulis satu untuk Anda, Claude Code mendeteksi perubahan dalam beberapa detik dan delegasi berikutnya menggunakan definisi yang diperbarui, tanpa perlu restart.260 Claude Code memantau `~/.claude/agents/` dan `.claude/agents/`. Ketika Anda menambah atau mengedit file subagent di disk, atau meminta Claude untuk menulisnya untuk Anda, Claude Code mendeteksi perubahan dalam beberapa detik dan delegasi berikutnya menggunakan definisi yang diperbarui, tanpa perlu restart.

257 261 

258 Tiga kasus masih memerlukan restart:262 Tiga kasus masih memerlukan restart:

259 263 

260 * Pemantau hanya mencakup direktori yang ada ketika sesi dimulai, jadi setelah membuat file agen pertama cakupan dalam direktori `agents` baru, restart untuk memuatnya.264 * Pemantau hanya mencakup direktori yang ada saat sesi dimulai, jadi setelah membuat file agent pertama cakupan di direktori `agents` baru, restart untuk memuatnya.

261 * Claude Code tidak memantau `.claude/agents/` di dalam direktori yang ditambahkan dengan `--add-dir` atau `/add-dir`, jadi setelah menambah atau mengedit subagent di sana, restart untuk memuat perubahan.265 * Claude Code tidak memantau `.claude/agents/` di dalam direktori yang ditambahkan dengan `--add-dir` atau `/add-dir`, jadi setelah menambah atau mengedit subagent di sana, restart untuk memuat perubahan.

262 * Sesi yang dimulai dengan `--disable-slash-commands` tidak memantau direktori ini sama sekali.266 * Sesi yang dimulai dengan `--disable-slash-commands` tidak memantau direktori ini sama sekali.

263</Note>267</Note>


274specific, actionable feedback on quality, security, and best practices.278specific, actionable feedback on quality, security, and best practices.

275```279```

276 280 

277Frontmatter mendefinisikan metadata dan konfigurasi subagent. Badan menjadi prompt sistem yang memandu perilaku subagent. Subagent menerima hanya prompt sistem ini ditambah detail lingkungan dasar seperti direktori kerja, bukan prompt sistem Claude Code lengkap.281Frontmatter mendefinisikan metadata dan konfigurasi subagent. Badan menjadi system prompt yang memandu perilaku subagent. Subagent menerima hanya system prompt ini ditambah detail lingkungan dasar seperti direktori kerja, bukan system prompt Claude Code.

278 282 

279Dalam [mode non-interaktif](/docs/id/headless), lewatkan [`--append-subagent-system-prompt`](/docs/id/cli-reference#cli-flags) untuk menambahkan teks Anda ke akhir prompt sistem setiap subagent, subagent bersarang termasuk, terlepas dari [subagent yang bercabang](#fork-the-current-conversation), yang menggunakan kembali prompt percakapan itu sendiri. Memerlukan Claude Code v2.1.205 atau lebih baru. Jika teks Anda terlalu panjang untuk dilewatkan di baris perintah, simpan ke file dan lewatkan jalur dengan `--append-subagent-system-prompt-file` sebagai gantinya. Flag file memerlukan Claude Code v2.1.261 atau lebih baru.283Dalam [non-interactive mode](/docs/id/headless), lewatkan [`--append-subagent-system-prompt`](/docs/id/cli-reference#cli-flags) untuk menambahkan teks Anda ke akhir system prompt setiap subagent, subagent bersarang termasuk, terlepas dari [forked subagent](#fork-the-current-conversation), yang menggunakan kembali prompt percakapan sendiri. Memerlukan Claude Code v2.1.205 atau lebih baru. Jika teks Anda terlalu panjang untuk dilewatkan di baris perintah, simpan ke file dan lewatkan jalur dengan `--append-subagent-system-prompt-file` sebagai gantinya. Flag file memerlukan Claude Code v2.1.261 atau lebih baru.

280 284 

281Subagent dimulai di direktori kerja saat ini percakapan utama. Dalam subagent, perintah `cd` tidak bertahan antara panggilan alat Bash atau PowerShell dan tidak mempengaruhi direktori kerja percakapan utama. Untuk memberikan subagent salinan repositori yang terisolasi sebagai gantinya, atur [`isolation: worktree`](#supported-frontmatter-fields).285Subagent dimulai di direktori kerja saat ini percakapan utama. Dalam subagent, perintah `cd` tidak bertahan antara panggilan tool Bash atau PowerShell dan tidak mempengaruhi direktori kerja percakapan utama. Untuk memberikan subagent salinan terisolasi dari repositori, atur [`isolation: worktree`](#supported-frontmatter-fields).

282 286 

283Subagent dengan `isolation: worktree` menjalankan perintah Bash dan PowerShell-nya di dalam worktree-nya. Perintah yang direktori kerjanya diselesaikan ke checkout utama Anda, misalnya karena direktori worktree dihapus saat subagent berjalan, gagal dengan kesalahan. Sebelum v2.1.203, perintah seperti itu dapat berjalan di checkout utama.287Subagent dengan `isolation: worktree` menjalankan perintah Bash dan PowerShell-nya di dalam worktree-nya. Perintah yang direktori kerjanya diselesaikan ke checkout utama Anda, misalnya karena direktori worktree dihapus saat subagent berjalan, gagal dengan kesalahan. Sebelum v2.1.203, perintah seperti itu dapat berjalan di checkout utama.

284 288 

285Pemeriksaan direktori kerja ini mencakup seluruh repositori yang berisi direktori tempat Anda meluncurkan Claude Code. Ketika sesi Anda berjalan dalam [worktree](/docs/id/worktrees) yang ditautkan sendiri, pemeriksaan juga mencakup checkout utama yang worktree itu ditautkan darinya. Sebelum v2.1.210, pemeriksaan hanya mencakup direktori peluncuran itu sendiri. Perintah yang direktori kerjanya diselesaikan di tempat lain dalam repositori yang sama, seperti akar repositori ketika Anda meluncurkan Claude Code dari subdirektori monorepo, berjalan di sana sebagai gantinya dari gagal.289Pemeriksaan direktori kerja ini mencakup seluruh repositori yang berisi direktori tempat Anda meluncurkan Claude Code. Ketika sesi Anda berjalan di [worktree](/docs/id/worktrees) tertaut miliknya sendiri, pemeriksaan juga mencakup checkout utama yang worktree itu tertaut darinya. Sebelum v2.1.210, pemeriksaan hanya mencakup direktori peluncuran itu sendiri. Perintah yang direktori kerjanya diselesaikan di tempat lain di repositori yang sama, seperti akar repositori saat Anda meluncurkan Claude Code dari subdirektori monorepo, berjalan di sana sebagai gantinya dari gagal.

286 290 

287Untuk perintah Bash, Claude Code juga memeriksa perintah itu sendiri dalam dua cara:291Untuk perintah Bash, Claude Code juga memeriksa perintah itu sendiri dalam dua cara:

288 292 

289* Ini memblokir perintah yang mengarahkan git ke checkout utama.293* Ini memblokir perintah yang mengarahkan git ke checkout utama.

290* Ini menolak perintah ketika tidak dapat memverifikasi dari teks perintah bahwa git apa pun yang dijalankan perintah tetap di dalam worktree, misalnya ketika nama perintah dihitung saat runtime.294* Ini menolak perintah ketika tidak dapat memverifikasi dari teks perintah bahwa git apa pun yang dijalankan perintah tetap di dalam worktree, misalnya ketika nama perintah dihitung saat runtime.

291 295 

292Vektor pengalihan dan aturan bentuk tercantum di bawah [Bagaimana Claude Code memberlakukan isolasi](/docs/id/worktrees#how-claude-code-enforces-isolation). Perintah PowerShell hanya mendapatkan pemeriksaan direktori kerja.296Vektor pengalihan dan aturan bentuk tercantum di bawah [How Claude Code enforces isolation](/docs/id/worktrees#how-claude-code-enforces-isolation). Perintah PowerShell hanya mendapatkan pemeriksaan direktori kerja.

293 297 

294Perintah [Monitor](/docs/id/tools-reference#monitor-tool) melalui pemeriksaan direktori kerja dan konten perintah yang sama dengan perintah Bash.298Perintah [Monitor](/docs/id/tools-reference#monitor-tool) melalui pemeriksaan direktori kerja dan konten perintah yang sama seperti perintah Bash.

295 299 

296Ketika percakapan utama itu sendiri berjalan terisolasi dalam worktree, Claude Code menerapkan pemeriksaan yang sama ke sesi dan ke setiap subagent yang dihasilkannya, termasuk subagent tanpa `isolation: worktree`; lihat [Bagaimana Claude Code memberlakukan isolasi](/docs/id/worktrees#how-claude-code-enforces-isolation).300Ketika percakapan utama itu sendiri berjalan terisolasi dalam worktree, Claude Code menerapkan pemeriksaan yang sama ke sesi dan ke setiap subagent yang dihasilkannya, termasuk subagent tanpa `isolation: worktree`; lihat [How Claude Code enforces isolation](/docs/id/worktrees#how-claude-code-enforces-isolation).

297 301 

298<h3 id="supported-frontmatter-fields">302<h3 id="supported-frontmatter-fields">

299 Referensi frontmatter303 Referensi frontmatter

300</h3>304</h3>

301 305 

302Konfigurasi subagent dengan frontmatter YAML [frontmatter](/docs/id/glossary#frontmatter) antara penanda `---` di bagian atas file-nya, dan tulis prompt sistem-nya sebagai Markdown setelah penutup `---`. Hanya `name` dan `description` yang diperlukan.306Konfigurasi subagent dengan YAML [frontmatter](/docs/id/glossary#frontmatter) antara penanda `---` di bagian atas file-nya, dan tulis system prompt-nya sebagai Markdown setelah `---` penutup. Hanya `name` dan `description` yang diperlukan.

303 307 

304Nama bidang multi-kata menggunakan camelCase, seperti `maxTurns` dan `disallowedTools`, dan harus cocok dengan tabel dengan tepat: Claude Code mengabaikan bidang yang tidak dikenalinya tanpa melaporkan kesalahan. Untuk mengetahui mengapa file subagent tidak dimuat, lihat [File subagent yang Claude Code lewati](#subagent-files-claude-code-skips).308Nama field multi-kata menggunakan camelCase, seperti `maxTurns` dan `disallowedTools`, dan harus cocok dengan tabel persis: Claude Code mengabaikan field yang tidak dikenalinya tanpa melaporkan kesalahan. Untuk mengetahui mengapa file subagent tidak dimuat, lihat [Subagent files Claude Code skips](#subagent-files-claude-code-skips).

305 309 

306| Bidang | Diperlukan | Deskripsi |310| Field | Diperlukan | Deskripsi |

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

308| `name` | Ya | Pengenal unik, seperti `code-reviewer` atau `reviewer-v2`. [Hooks](/docs/id/hooks#subagentstart) menerima nilai ini sebagai `agent_type`. Nama file tidak harus cocok. Nama tidak dapat berisi `:`, yang dicadangkan untuk [pengenal yang dibatasi cakupan plugin](/docs/id/plugins/overview) seperti `my-plugin:reviewer`. Claude Code tidak memuat file yang namanya berisi satu dan mencatat kesalahan ke debug log. Sebelum v2.1.218, nama seperti itu diterima |312| `name` | Ya | Pengenal unik, seperti `code-reviewer` atau `reviewer-v2`. [Hooks](/docs/id/hooks#subagentstart) menerima nilai ini sebagai `agent_type`. Nama file tidak harus cocok. Nama tidak dapat berisi `:`, yang dicadangkan untuk [plugin-scoped identifiers](/docs/id/plugins/overview) seperti `my-plugin:reviewer`. Claude Code tidak memuat file yang nama-nya berisi satu dan mencatat kesalahan ke debug log. Sebelum v2.1.218, nama seperti itu diterima |

309| `description` | Ya | Kapan Claude harus mendelegasikan ke subagent ini |313| `description` | Ya | Kapan Claude harus mendelegasikan ke subagent ini |

310| `tools` | Tidak | [Alat](#available-tools) yang dapat digunakan subagent, sebagai string yang dipisahkan koma seperti `Read, Grep, Bash` atau daftar YAML. Mewarisi setiap alat yang tersedia untuk subagent jika dihilangkan. Jika tidak ada entri dalam daftar yang diselesaikan ke alat, subagent biasanya [gagal diluncurkan](/docs/id/errors#agent-would-be-spawned-with-zero-tools) dengan kesalahan yang menyebutkan entri. Untuk memuat Skills ke dalam konteks, gunakan bidang `skills` daripada mencantumkan `Skill` di sini |314| `tools` | Tidak | [Tools](#available-tools) yang dapat digunakan subagent, sebagai string yang dipisahkan koma seperti `Read, Grep, Bash` atau daftar YAML. Mewarisi setiap tool yang tersedia untuk subagent jika dihilangkan. Jika tidak ada entri dalam daftar yang diselesaikan ke tool, subagent biasanya [gagal diluncurkan](/docs/id/errors#agent-would-be-spawned-with-zero-tools) dengan kesalahan yang menamai entri. Untuk memuat Skills ke dalam konteks, gunakan field `skills` daripada mencantumkan `Skill` di sini |

311| `disallowedTools` | Tidak | Alat untuk ditolak, dihapus dari daftar yang diwarisi atau ditentukan. Format yang sama dengan `tools`. Entri dengan penentu, seperti `Bash(git push *)`, masih [menghapus seluruh alat](#available-tools) |315| `disallowedTools` | Tidak | Tools untuk ditolak, dihapus dari daftar yang diwarisi atau ditentukan. Format yang sama seperti `tools`. Entri dengan specifier, seperti `Bash(git push *)`, masih [menghapus seluruh tool](#available-tools) |

312| `model` | Tidak | [Model](#choose-a-model) untuk digunakan: `sonnet`, `opus`, `haiku`, `fable`, ID model lengkap seperti `claude-opus-5-5`, atau `inherit`. Ketika Anda menghilangkannya, Claude Code memilih model dalam [urutan model subagent](#choose-a-model) |316| `model` | Tidak | [Model](#choose-a-model) untuk digunakan: `sonnet`, `opus`, `haiku`, `fable`, ID model lengkap seperti `claude-opus-5-5`, atau `inherit`. Ketika Anda menghilangkannya, Claude Code memilih model dalam [subagent model order](#choose-a-model) |

313| `permissionMode` | Tidak | [Mode izin](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, atau `manual` sebagai alias untuk `default`. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |317| `permissionMode` | Tidak | [Permission mode](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, atau `manual` sebagai alias untuk `default`. Alias `manual` memerlukan Claude Code v2.1.200 atau lebih baru. Diabaikan untuk [plugin subagents](#choose-the-subagent-scope) |

314| `maxTurns` | Tidak | Jumlah maksimum putaran agentic sebelum subagent berhenti. Ketika subagent mencapai batas, Claude Code mengembalikan outputnya ditandai sebagai parsial, dan Claude dapat [melanjutkannya](#resume-subagents) untuk terus. Penandaan parsial memerlukan Claude Code v2.1.246 atau lebih baru |318| `maxTurns` | Tidak | Jumlah maksimum putaran agentic sebelum subagent berhenti. Ketika subagent mencapai batas, Claude Code mengembalikan output-nya ditandai sebagai parsial, dan Claude dapat [melanjutkannya](#resume-subagents) untuk terus. Penandaan parsial memerlukan Claude Code v2.1.246 atau lebih baru |

315| `skills` | Tidak | [Skills](/docs/id/skills) untuk dimuat sebelumnya ke dalam konteks subagent saat startup. Konten skill lengkap disuntikkan, bukan hanya deskripsi. Subagent masih dapat memanggil project, user, dan plugin skills yang tidak tercantum melalui alat Skill |319| `skills` | Tidak | [Skills](/docs/id/skills) untuk dimuat sebelumnya ke dalam konteks subagent saat startup. Konten skill lengkap disuntikkan, bukan hanya deskripsi. Subagent masih dapat memanggil skill proyek, pengguna, dan plugin yang tidak terdaftar melalui tool Skill |

316| `mcpServers` | Tidak | [MCP servers](/docs/id/mcp) tersedia untuk subagent ini. Setiap entri adalah nama server yang mereferensikan server yang sudah dikonfigurasi (misalnya, `"slack"`) atau definisi inline dengan nama server sebagai kunci dan [konfigurasi MCP server](/docs/id/mcp#installing-mcp-servers) lengkap sebagai nilai. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |320| `mcpServers` | Tidak | [MCP servers](/docs/id/mcp) yang tersedia untuk subagent ini. Setiap entri adalah nama server yang mereferensikan server yang sudah dikonfigurasi (misalnya, `"slack"`) atau definisi inline dengan nama server sebagai kunci dan [MCP server config](/docs/id/mcp#installing-mcp-servers) lengkap sebagai nilai. Diabaikan untuk [plugin subagents](#choose-the-subagent-scope) |

317| `hooks` | Tidak | [Lifecycle hooks](#define-hooks-for-subagents) yang dibatasi pada subagent ini. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |321| `hooks` | Tidak | [Lifecycle hooks](#define-hooks-for-subagents) yang cakupannya ke subagent ini. Diabaikan untuk [plugin subagents](#choose-the-subagent-scope) |

318| `memory` | Tidak | [Cakupan memori persisten](#enable-persistent-memory): `user`, `project`, atau `local`. Memungkinkan pembelajaran lintas sesi |322| `memory` | Tidak | [Persistent memory scope](#enable-persistent-memory): `user`, `project`, atau `local`. Memungkinkan pembelajaran lintas sesi |

319| `background` | Tidak | Atur ke `true` untuk menjaga subagent ini di latar belakang bahkan ketika Claude meminta untuk menjalankannya di latar depan. Ketika [fork mode](#turn-fork-mode-on-or-off) aktif, Claude Code sudah menjalankan subagent yang Claude hasilkan [di latar belakang](#run-subagents-in-foreground-or-background) |323| `background` | Tidak | Atur ke `true` untuk menjaga subagent ini di latar belakang bahkan ketika Claude meminta untuk menjalankannya di latar depan. Tempat [fork mode](#turn-fork-mode-on-or-off) aktif, Claude Code sudah menjalankan subagent yang Claude hasilkan [di latar belakang](#run-subagents-in-foreground-or-background) |

320| `omitClaudeMd` | Tidak | Atur ke `true` untuk meluncurkan subagent ini tanpa file user, project, dan local CLAUDE.md; [file kebijakan terkelola](/docs/id/memory#how-claude-md-files-load) masih dimuat, kecuali untuk [subagent terkelola](#choose-the-subagent-scope). Gunakan untuk subagent yang mengambil semua yang mereka butuhkan dari [prompt delegasi](#what-loads-at-startup). Diabaikan ketika agen berjalan sebagai agen sesi utama melalui `--agent` atau pengaturan `agent`. Memerlukan Claude Code v2.1.271 atau lebih baru |324| `omitClaudeMd` | Tidak | Atur ke `true` untuk meluncurkan subagent ini tanpa file CLAUDE.md pengguna, proyek, dan lokal; [managed policy files](/docs/id/memory#how-claude-md-files-load) masih dimuat, kecuali untuk [managed subagents](#choose-the-subagent-scope). Gunakan untuk subagent yang mengambil semua yang mereka butuhkan dari [delegation prompt](#what-loads-at-startup). Diabaikan ketika agent berjalan sebagai agent sesi utama melalui `--agent` atau setting `agent`. Memerlukan Claude Code v2.1.271 atau lebih baru |

321| `effort` | Tidak | Tingkat usaha ketika subagent ini aktif. Menimpa tingkat usaha sesi. Default: mewarisi dari sesi. Opsi: `low`, `medium`, `high`, `xhigh`, `max`; tingkat yang tersedia tergantung pada model |325| `effort` | Tidak | Tingkat usaha ketika subagent ini aktif. Menimpa tingkat usaha sesi. Default: mewarisi dari sesi. Opsi: `low`, `medium`, `high`, `xhigh`, `max`; level yang tersedia tergantung pada model |

322| `isolation` | Tidak | Atur ke `worktree` untuk menjalankan subagent dalam [git worktree](/docs/id/worktrees) sementara, memberikannya salinan repositori yang terisolasi yang bercabang secara default dari [cabang default](/docs/id/worktrees#choose-the-base-branch) Anda daripada `HEAD` sesi induk. Worktree secara otomatis dibersihkan jika subagent tidak membuat perubahan |326| `isolation` | Tidak | Atur ke `worktree` untuk menjalankan subagent dalam [git worktree](/docs/id/worktrees) sementara, memberikannya salinan terisolasi dari repositori yang bercabang secara default dari [default branch](/docs/id/worktrees#choose-the-base-branch) Anda daripada `HEAD` sesi induk. Worktree secara otomatis dibersihkan jika subagent tidak membuat perubahan |

323| `color` | Tidak | Warna tampilan untuk subagent dalam daftar tugas dan transkrip. Menerima `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, atau `cyan` |327| `color` | Tidak | Warna tampilan untuk subagent dalam daftar tugas dan transkrip. Menerima `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, atau `cyan` |

324| `initialPrompt` | Tidak | Auto-submitted sebagai putaran pengguna pertama ketika agen ini berjalan sebagai agen sesi utama (melalui `--agent` atau pengaturan `agent`). [Commands](/docs/id/commands) dan [skills](/docs/id/skills) diproses. Ditambahkan di depan prompt yang disediakan pengguna apa pun. Diabaikan untuk [subagent plugin](#choose-the-subagent-scope) |328| `initialPrompt` | Tidak | Auto-diajukan sebagai putaran pengguna pertama ketika agent ini berjalan sebagai agent sesi utama (melalui `--agent` atau setting `agent`). [Commands](/docs/id/commands) dan [skills](/docs/id/skills) diproses. Ditambahkan ke prompt apa pun yang disediakan pengguna. Diabaikan untuk [plugin subagents](#choose-the-subagent-scope) |

325| `experimental` | Tidak | Peta opsi eksperimental. Atur kunci `cacheTtl`-nya ke `5m` atau `1h` untuk memilih [lifetime cache prompt](/docs/id/prompt-caching#choose-the-ttl-yourself) untuk permintaan subagent ini, di tempat frontmatter dalam [prioritas lifetime cache](/docs/id/prompt-caching#choose-the-ttl-yourself). Claude Code mengabaikan nilai lain apa pun, mengabaikan `1h` saat langganan Claude Anda menggunakan kredit penggunaan, dan membaca bidang hanya dari file subagent. Memerlukan Claude Code v2.1.248 atau lebih baru |329| `experimental` | Tidak | Peta opsi eksperimental. Atur kunci `cacheTtl`-nya ke `5m` atau `1h` untuk memilih [prompt cache lifetime](/docs/id/prompt-caching#choose-the-ttl-yourself) untuk permintaan subagent ini, di tempat frontmatter dalam [cache lifetime precedence](/docs/id/prompt-caching#choose-the-ttl-yourself). Claude Code mengabaikan nilai lain apa pun, mengabaikan `1h` saat langganan Claude Anda menggunakan kredit penggunaan, dan membaca field hanya dari file subagent. Memerlukan Claude Code v2.1.248 atau lebih baru |

326 330 

327Tulis `cacheTtl` di dalam peta `experimental`, bukan di tingkat atas frontmatter.331Tulis `cacheTtl` di dalam peta `experimental`, bukan di tingkat atas frontmatter.

328 332 


339 File subagent yang Claude Code lewati343 File subagent yang Claude Code lewati

340</h4>344</h4>

341 345 

342Claude Code melewati file dalam direktori `agents` proyek, pengguna, atau terkelola, atau dalam satu di bawah direktori yang Anda tambahkan dengan `--add-dir`, tanpa melaporkannya dalam sesi, ketika frontmatter memiliki salah satu masalah ini:346Claude Code melewati file dalam direktori `agents` proyek, pengguna, atau yang dikelola, atau dalam satu di bawah direktori yang Anda tambahkan dengan `--add-dir`, tanpa melaporkannya dalam sesi, ketika frontmatter memiliki salah satu masalah ini:

343 347 

344* **Tidak ada `name`**: Claude Code memperlakukan file sebagai dokumentasi yang disimpan di samping agen Anda.348* **Tidak ada `name`**: Claude Code memperlakukan file sebagai dokumentasi yang disimpan di samping agent Anda.

345* **Pembukaan `---` yang bukan baris pertama file**: Claude Code membaca file sebagai tidak memiliki frontmatter dan memperlakukannya sebagai dokumentasi.349* **`---` pembuka yang bukan baris pertama file**: Claude Code membaca file sebagai tidak memiliki frontmatter dan memperlakukannya sebagai dokumentasi.

346* **`name` yang dimulai dengan `-` atau berisi `:`**: Claude Code melewati file dan menulis kesalahan ke debug log. Lihat baris `name` dalam tabel di atas.350* **`name` yang dimulai dengan `-` atau berisi `:`**: Claude Code melewati file dan menulis kesalahan ke debug log. Lihat baris `name` dalam tabel di atas.

347* **`name` tetapi tidak ada `description`**: Claude Code melewati file dan menulis alasannya ke debug log.351* **`name` tetapi tidak ada `description`**: Claude Code melewati file dan menulis alasannya ke debug log.

348* **YAML yang tidak diuraikan**: Claude Code membaca tidak ada bidang dari file, melewatinya, dan menulis kesalahan penguraian ke debug log.352* **YAML yang tidak diuraikan**: Claude Code tidak membaca field dari file, melewatinya, dan menulis kesalahan penguraian ke debug log.

349 353 

350Untuk melihat debug log, jalankan Claude Code dengan `--debug`.354Untuk melihat debug log, jalankan Claude Code dengan `--debug`.

351 355 

352[Subagent plugin](/docs/id/plugins/components#agents) yang frontmatter-nya tidak memiliki `name` atau tidak diuraikan masih dimuat, di bawah nama file-nya.356[Plugin subagent](/docs/id/plugins/components#agents) yang frontmatter-nya tidak memiliki `name` atau tidak diuraikan masih dimuat, di bawah nama file-nya.

353 357 

354<h5 id="check-an-agents-directory-before-a-session">358<h5 id="check-an-agents-directory-before-a-session">

355 Periksa direktori `agents` sebelum sesi359 Periksa direktori `agents` sebelum sesi

356</h5>360</h5>

357 361 

358Untuk menemukan file dalam direktori `agents` yang frontmatter-nya tidak diuraikan, jalankan `claude plugin validate` terhadap direktori, misalnya `.claude/agents` atau `~/.claude/agents`. Claude Code memeriksa hanya [direktori yang Anda beri nama](/docs/id/plugins/cli-reference#validate-a-directory), dan tidak menandai file yang frontmatter-nya diuraikan tetapi tidak memiliki `name`. Memerlukan Claude Code v2.1.233 atau lebih baru.362Untuk menemukan file dalam direktori `agents` yang frontmatter-nya tidak diuraikan, jalankan `claude plugin validate` terhadap direktori, misalnya `.claude/agents` atau `~/.claude/agents`. Claude Code hanya memeriksa [direktori yang Anda namai](/docs/id/plugins/cli-reference#validate-a-directory), dan tidak menandai file yang frontmatter-nya diuraikan tetapi tidak memiliki `name`. Memerlukan Claude Code v2.1.233 atau lebih baru.

359 363 

360<h3 id="choose-a-model">364<h3 id="choose-a-model">

361 Pilih model365 Pilih model

362</h3>366</h3>

363 367 

364Bidang `model` mengontrol model mana yang digunakan subagent:368Field `model` mengontrol model mana yang digunakan subagent:

365 369 

366* **Alias model**: gunakan salah satu alias yang tersedia: `sonnet`, `opus`, `haiku`, atau `fable`370* **Model alias**: gunakan salah satu alias yang tersedia: `sonnet`, `opus`, `haiku`, atau `fable`

367* **ID model lengkap**: gunakan ID model lengkap seperti `claude-opus-5-5` atau `claude-sonnet-5`. Menerima nilai yang sama dengan flag `--model`371* **ID model lengkap**: gunakan ID model lengkap seperti `claude-opus-5-5` atau `claude-sonnet-5`. Menerima nilai yang sama seperti flag `--model`

368* **inherit**: gunakan model yang sama dengan percakapan utama372* **inherit**: gunakan model yang sama seperti percakapan utama

369 373 

370Ketika Claude memanggil subagent, Claude juga dapat melewatkan parameter `model` untuk invokasi spesifik itu. Claude Code menyelesaikan model subagent dalam urutan ini:374Ketika Claude memanggil subagent, ia juga dapat melewatkan parameter `model` untuk invokasi spesifik itu. Claude Code menyelesaikan model subagent dalam urutan ini:

371 375 

3721. Parameter `model` per-invokasi3761. Parameter `model` per-invokasi

3732. Frontmatter `model` definisi subagent, di mana `inherit` memilih model percakapan utama3772. Frontmatter `model` definisi subagent, di mana `inherit` memilih model percakapan utama


376 380 

377Dalam dua kasus, alias keluarga seperti `opus` dalam parameter per-invokasi atau frontmatter diselesaikan ke model percakapan utama sebagai gantinya dari [versi yang ditunjuk alias](/docs/id/model-config#model-aliases):381Dalam dua kasus, alias keluarga seperti `opus` dalam parameter per-invokasi atau frontmatter diselesaikan ke model percakapan utama sebagai gantinya dari [versi yang ditunjuk alias](/docs/id/model-config#model-aliases):

378 382 

379* **Model percakapan utama milik keluarga itu**: subagent berjalan pada model yang tepat percakapan utama, termasuk apa pun `[1m]` suffix, sehingga mendapatkan [jendela konteks diperpanjang](/docs/id/model-config#extended-context) yang sama dengan percakapan utama.383* **Model percakapan utama milik keluarga itu**: subagent berjalan pada model persis percakapan utama, termasuk akhiran `[1m]` apa pun, jadi mendapat [extended context](/docs/id/model-config#extended-context) window yang sama seperti percakapan utama.

380* **Claude Code tidak dapat mengetahui keluarga model percakapan utama, pada [penyedia selain API Anthropic](/docs/id/third-party-integrations)**: ini dapat terjadi dengan [application inference profile ARN](/docs/id/amazon-bedrock#iam-configuration) pada Amazon Bedrock yang Claude Code belum diselesaikan ke model pendukung. Kasus ini hanya mencakup alias `opus`, dan tidak berlaku ketika Anda mengatur [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/id/model-config#environment-variables), karena `opus` kemudian diselesaikan ke model yang Anda atur.384* **Claude Code tidak dapat mengetahui keluarga model percakapan utama, pada [provider selain Anthropic API](/docs/id/third-party-integrations)**: ini dapat terjadi dengan [application inference profile ARN](/docs/id/amazon-bedrock#iam-configuration) di Amazon Bedrock yang Claude Code belum diselesaikan ke model pendukung. Kasus ini hanya mencakup alias `opus`, dan tidak berlaku ketika Anda mengatur [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/id/model-config#environment-variables), karena `opus` kemudian diselesaikan ke model yang Anda atur.

381 385 

382Alias dalam `CLAUDE_CODE_SUBAGENT_MODEL` selalu diselesaikan ke versi yang ditunjuk alias, bahkan ketika itu menyebutkan keluarga percakapan utama.386Alias dalam `CLAUDE_CODE_SUBAGENT_MODEL` selalu diselesaikan ke versi yang ditunjuk alias, bahkan ketika ia menamai keluarga percakapan utama.

383 387 

384Mengatur `CLAUDE_CODE_SUBAGENT_MODEL` dengan sendirinya tidak mengubah model yang dijalankan subagent Explore dan Plan bawaan. Untuk mengubahnya, lihat [Jalankan setiap subagent pada satu model](#run-every-subagent-on-one-model).388Mengatur `CLAUDE_CODE_SUBAGENT_MODEL` dengan sendirinya tidak mengubah model yang dijalankan subagent Explore dan Plan bawaan. Untuk mengubahnya, lihat [Run every subagent on one model](#run-every-subagent-on-one-model).

385 389 

386Sebelum v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` datang pertama dalam urutan ini dan menimpa parameter per-invokasi dan frontmatter, termasuk `model: inherit`.390Sebelum v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` datang pertama dalam urutan ini dan menimpa parameter per-invokasi dan frontmatter, termasuk `model: inherit`.

387 391 

388Mengatur variabel ke `inherit` sama dengan membiarkannya tidak diatur. Sebelum v2.1.196, nilai itu memaksa subagent ke model percakapan utama dan mengabaikan sumber lain.392Mengatur variabel ke `inherit` sama dengan membiarkannya tidak diatur. Sebelum v2.1.196, nilai itu memaksa subagent ke model percakapan utama dan mengabaikan sumber lain.

389 393 

390Claude Code memeriksa parameter per-invokasi, frontmatter, dan nilai variabel lingkungan terhadap daftar allowlist [`availableModels`](/docs/id/model-config#restrict-model-selection) organisasi Anda. Untuk nilai yang diblokir, Claude Code mengganti model lain:394Claude Code memeriksa parameter per-invokasi, frontmatter, dan nilai variabel lingkungan terhadap [`availableModels`](/docs/id/model-config#restrict-model-selection) allowlist organisasi Anda. Untuk nilai yang diblokir, ia mengganti model lain:

391 395 

392* Ketika nilai yang diblokir adalah alias keluarga seperti `opus`, Claude Code menjalankan subagent pada versi terbaru keluarga itu yang daftar allowlist izinkan, mengikuti [aturan substitusi dan cakupan penyedia](/docs/id/model-config#restrict-model-selection) yang sama seperti `/model`. Sebelum v2.1.222, Claude Code menjalankan subagent pada model yang diwarisi untuk alias keluarga yang diblokir juga.396* Ketika nilai yang diblokir adalah alias keluarga seperti `opus`, Claude Code menjalankan subagent pada versi terbaru keluarga itu yang allowlist izinkan, mengikuti [substitution rules dan provider scope](/docs/id/model-config#restrict-model-selection) yang sama seperti `/model`. Sebelum v2.1.222, Claude Code menjalankan subagent pada model yang diwarisi untuk alias keluarga yang diblokir juga.

393* Untuk nilai yang diblokir lainnya, pada penyedia di mana substitusi itu tidak beroperasi, atau ketika daftar allowlist tidak mengizinkan versi keluarga apa pun, Claude Code menjalankan subagent pada model yang diwarisi sebagai gantinya. Jika Anda mengatur `CLAUDE_CODE_SUBAGENT_MODEL`, Claude Code mencoba model itu terlebih dahulu, di bawah aturan yang sama ini.397* Untuk nilai yang diblokir lainnya, pada provider di mana substitusi itu tidak beroperasi, atau ketika allowlist tidak mengizinkan versi keluarga, Claude Code menjalankan subagent pada model yang diwarisi sebagai gantinya. Jika Anda mengatur `CLAUDE_CODE_SUBAGENT_MODEL`, Claude Code mencoba model itu terlebih dahulu, di bawah aturan yang sama ini.

394 398 

395Dalam sesi interaktif, Claude Code menampilkan peringatan yang menyebutkan model yang diminta dan model yang dijalankan subagent, untuk substitusi apa pun.399Dalam sesi interaktif, Claude Code menunjukkan peringatan yang menamai model yang diminta dan model yang dijalankan subagent, untuk substitusi apa pun.

396 400 

397Untuk memeriksa model mana yang dijalankan subagent, jalankan [`/tasks`](/docs/id/commands). Claude Code menyebutkan model pada baris subagent, dan menambahkan [tingkat usaha](/docs/id/model-config#adjust-effort-level) ketika definisi subagent, atau skill yang dihasilkannya, menetapkan [`effort`](#supported-frontmatter-fields). Memerlukan Claude Code v2.1.242 atau lebih baru.401Untuk memeriksa model mana yang dijalankan subagent, jalankan [`/tasks`](/docs/id/commands). Claude Code menamai model pada baris subagent, dan menambahkan [effort level](/docs/id/model-config#adjust-effort-level) ketika definisi subagent, atau skill yang difork-nya, mengatur [`effort`](#supported-frontmatter-fields). Memerlukan Claude Code v2.1.242 atau lebih baru.

398 402 

399Parameter `model` per-invokasi juga berlaku ketika subagent [dilanjutkan atau dikirim pesan lanjutan](#resume-subagents), sehingga subagent tetap pada model itu. Sebelum v2.1.211, melanjutkan menghapus nilai per-invokasi dan subagent kembali ke bidang `model` definisinya atau, tanpanya, model percakapan utama.403Parameter `model` per-invokasi juga berlaku ketika subagent [dilanjutkan atau dikirim pesan tindak lanjut](#resume-subagents), jadi subagent tetap pada model itu. Sebelum v2.1.211, melanjutkan menghapus nilai per-invokasi dan subagent kembali ke field `model` definisinya atau, tanpanya, model percakapan utama.

400 404 

401Sejak v2.1.198, subagent juga mewarisi konfigurasi [extended thinking](/docs/id/model-config#extended-thinking) percakapan utama: jika thinking aktif dalam sesi Anda, itu aktif untuk subagent, dan jika itu mati, itu tetap mati. Tidak ada pengaturan thinking per-subagent. Sebelum v2.1.198, subagent berjalan dengan extended thinking dinonaktifkan terlepas dari pengaturan percakapan utama.405Mulai v2.1.198, subagent juga mewarisi konfigurasi [extended thinking](/docs/id/model-config#extended-thinking) percakapan utama: jika thinking aktif dalam sesi Anda, aktif untuk subagent, dan jika mati, tetap mati. Tidak ada pengaturan thinking per-subagent. Sebelum v2.1.198, subagent berjalan dengan extended thinking dinonaktifkan terlepas dari pengaturan percakapan utama.

402 406 

403<h4 id="run-every-subagent-on-one-model">407<h4 id="run-every-subagent-on-one-model">

404 Jalankan setiap subagent pada satu model408 Jalankan setiap subagent pada satu model

405</h4>409</h4>

406 410 

407`CLAUDE_CODE_SUBAGENT_MODEL` adalah default, jadi definisi subagent atau model yang Claude lewatkan masih mengambil alih darinya. Untuk menerapkan satu model ke setiap subagent, [rekan kerja](/docs/id/agent-teams#specify-teammates-and-models), dan [agen workflow](/docs/id/workflows), juga atur `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` ke `1`. Memerlukan Claude Code v2.1.257 atau lebih baru.411`CLAUDE_CODE_SUBAGENT_MODEL` adalah default, jadi definisi subagent atau model yang Claude lewatkan masih mengambil alih. Untuk menerapkan satu model ke setiap subagent, [teammate](/docs/id/agent-teams#specify-teammates-and-models), dan [workflow agent](/docs/id/workflows), juga atur `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` ke `1`. Memerlukan Claude Code v2.1.257 atau lebih baru.

408 412 

409* Jika Anda mengatur kedua variabel, subagent berjalan pada model dalam `CLAUDE_CODE_SUBAGENT_MODEL`.413* Jika Anda mengatur kedua variabel, subagent berjalan pada model dalam `CLAUDE_CODE_SUBAGENT_MODEL`.

410* Jika Anda hanya mengatur `CLAUDE_CODE_SUBAGENT_MODEL_FORCE`, subagent berjalan pada model percakapan utama.414* Jika Anda hanya mengatur `CLAUDE_CODE_SUBAGENT_MODEL_FORCE`, subagent berjalan pada model percakapan utama.

411 415 

412Misalnya, untuk menjalankan setiap subagent pada Haiku, atur kedua variabel dalam blok `env` [file pengaturan](/docs/id/settings):416Misalnya, untuk menjalankan setiap subagent pada Haiku, atur kedua variabel dalam blok `env` dari [settings file](/docs/id/settings):

413 417 

414```json theme={null}418```json theme={null}

415{419{


422 426 

423Untuk memeriksa bahwa pengaturan berlaku, jalankan [`/tasks`](/docs/id/commands) saat subagent berjalan. Baris subagent menunjukkan model yang dijalankannya.427Untuk memeriksa bahwa pengaturan berlaku, jalankan [`/tasks`](/docs/id/commands) saat subagent berjalan. Baris subagent menunjukkan model yang dijalankannya.

424 428 

425Sementara `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` [aktif](/docs/id/env-vars), Claude Code mengabaikan bidang `model` dari setiap definisi subagent, termasuk subagent Explore dan Plan bawaan, dan Claude tidak dapat melewatkan model ketika memulai subagent. Dua jenis subagent masih berjalan pada model percakapan utama:429Sementara `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` [aktif](/docs/id/env-vars), Claude Code mengabaikan field `model` dari setiap definisi subagent, termasuk subagent Explore dan Plan bawaan, dan Claude tidak dapat melewatkan model saat memulai subagent. Dua jenis subagent masih berjalan pada model percakapan utama:

426 430 

427* [Fork](#fork-the-current-conversation)431* [Fork](#fork-the-current-conversation)

428* [Skill yang berjalan dalam subagent](/docs/id/skills#run-skills-in-a-subagent) dengan `model: inherit`432* [Skill yang berjalan dalam subagent](/docs/id/skills#run-skills-in-a-subagent) dengan `model: inherit`

429 433 

430Ketika Anda hanya mengatur `CLAUDE_CODE_SUBAGENT_MODEL_FORCE`, subagent Explore bawaan menyimpan [batas modelnya](#built-in-subagents).434Ketika Anda hanya mengatur `CLAUDE_CODE_SUBAGENT_MODEL_FORCE`, subagent Explore bawaan menjaga [model cap](#built-in-subagents)-nya.

431 435 

432<h3 id="control-subagent-capabilities">436<h3 id="control-subagent-capabilities">

433 Kontrol kemampuan subagent437 Kontrol kemampuan subagent

434</h3>438</h3>

435 439 

436Anda dapat mengontrol apa yang dapat dilakukan subagent melalui akses alat, mode izin, dan aturan bersyarat.440Anda dapat mengontrol apa yang dapat dilakukan subagent melalui akses tool, mode izin, dan aturan bersyarat.

437 441 

438<h4 id="available-tools">442<h4 id="available-tools">

439 Alat yang tersedia443 Tool yang tersedia

440</h4>444</h4>

441 445 

442Subagent mewarisi [alat bawaan](/docs/id/tools-reference) dan alat MCP yang tersedia dalam percakapan utama, dipersempit oleh dua filter: yang pertama menghapus daftar singkat alat dari setiap subagent, dan yang kedua mengurangi set alat bawaan untuk subagent yang berjalan di [latar belakang](#run-subagents-in-foreground-or-background), yang merupakan default. Di macOS, Linux, dan WSL, subagent juga dapat menerima alat Glob dan Grep ketika percakapan utama tidak memilikinya, seperti dijelaskan di bawah [Perilaku alat Glob](/docs/id/tools-reference#glob-tool-behavior). [Fork](#fork-the-current-conversation) melewati kedua filter dan menerima kumpulan alat percakapan utama yang tepat. Filter pertama menghapus alat ini, bahkan ketika tercantum dalam bidang `tools`:446Subagent mewarisi [built-in tools](/docs/id/tools-reference) dan MCP tools yang tersedia dalam percakapan utama, dipersempit oleh dua filter: yang pertama menghapus daftar singkat tool dari setiap subagent, dan yang kedua mengurangi set tool bawaan untuk subagent yang berjalan di [background](#run-subagents-in-foreground-or-background), yang merupakan default. Di macOS, Linux, dan WSL, subagent juga dapat menerima tool Glob dan Grep ketika percakapan utama tidak memilikinya, seperti dijelaskan di bawah [Glob tool behavior](/docs/id/tools-reference#glob-tool-behavior). [Forks](#fork-the-current-conversation) melewati kedua filter dan menerima pool tool persis percakapan utama. Filter pertama menghapus tool ini, bahkan ketika tercantum dalam field `tools`:

443 447 

444* `Agent`, ketika subagent berada di [batas kedalaman](#let-subagents-spawn-their-own-subagents); dalam [fork](#fork-the-current-conversation) alat tetap tercantum tetapi mengembalikan kesalahan sebagai gantinya dari peneluran448* `Agent`, ketika subagent berada di [depth limit](#let-subagents-spawn-their-own-subagents); dalam [fork](#fork-the-current-conversation) tool tetap terdaftar tetapi mengembalikan kesalahan sebagai gantinya dari spawning

445* `AskUserQuestion`449* `AskUserQuestion`

446* `EndConversation`, yang hanya dapat mengakhiri percakapan utama; lihat [Perilaku alat EndConversation](/docs/id/tools-reference#endconversation-tool-behavior)450* `EndConversation`, yang hanya dapat mengakhiri percakapan utama; lihat [EndConversation tool behavior](/docs/id/tools-reference#endconversation-tool-behavior)

447* `EnterPlanMode`451* `EnterPlanMode`

448* `ExitPlanMode`, kecuali [`permissionMode`](#permission-modes) subagent adalah `plan`452* `ExitPlanMode`, kecuali [`permissionMode`](#permission-modes) subagent adalah `plan`

449* `ScheduleWakeup`453* `ScheduleWakeup`

450* `WaitForMcpServers`454* `WaitForMcpServers`

451* `Workflow`455* `Workflow`

452 456 

453Filter kedua berlaku untuk subagent yang berjalan di latar belakang. Terlepas dari `Agent` dan `ExitPlanMode`, yang mengikuti kondisi filter pertama di mana pun subagent berjalan, subagent latar belakang menyimpan setiap alat MCP tetapi hanya alat bawaan ini: `Read`, `Grep`, `Glob`, `LSP`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage`, dan `Artifact`, plus [`SubagentHandback`](/docs/id/tools-reference) untuk subagent yang melaporkan melaluinya. Claude Code menghapus setiap alat bawaan lainnya dari subagent latar belakang, baik yang diwarisi atau tercantum dalam bidang `tools`, sehingga definisi yang sama dapat diselesaikan ke alat berbeda di latar depan dan latar belakang. Penghapusan tidak melaporkan kesalahan kecuali itu meninggalkan daftar `tools` [diselesaikan ke tidak ada apa-apa](/docs/id/errors#agent-would-be-spawned-with-zero-tools).457Filter kedua berlaku untuk subagent yang berjalan di latar belakang. Terlepas dari `Agent` dan `ExitPlanMode`, yang mengikuti kondisi filter pertama di mana pun subagent berjalan, subagent latar belakang menyimpan setiap tool MCP tetapi hanya tool bawaan ini: `Read`, `Grep`, `Glob`, `LSP`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage`, dan `Artifact`, ditambah [`SubagentHandback`](/docs/id/tools-reference) untuk subagent yang melaporkan melaluinya. Claude Code menghapus setiap tool bawaan lainnya dari subagent latar belakang, baik yang diwarisi atau tercantum dalam field `tools`, jadi definisi yang sama dapat diselesaikan ke tool berbeda di latar depan dan latar belakang. Penghapusan melaporkan tidak ada kesalahan kecuali itu meninggalkan daftar `tools` [diselesaikan ke tidak ada apa-apa](/docs/id/errors#agent-would-be-spawned-with-zero-tools).

454 458 

455Sebelum v2.1.280, subagent latar belakang tidak dapat menggunakan `LSP`.459Sebelum v2.1.280, subagent latar belakang tidak dapat menggunakan `LSP`.

456 460 

457[`ListAgents`](/docs/id/cross-session-messaging) mengikuti filter ini seperti alat bawaan apa pun: subagent latar depan mewarisnya dalam sesi di mana cross-session messaging diaktifkan, dan subagent latar belakang tidak menyimpannya.461[`ListAgents`](/docs/id/cross-session-messaging) mengikuti filter ini seperti tool bawaan apa pun: subagent latar depan mewarisnya dalam sesi di mana cross-session messaging diaktifkan, dan subagent latar belakang tidak menyimpannya.

458 462 

459Rekan kerja dalam [tim agen](/docs/id/agent-teams) juga menyimpan alat tugas dan alat cron: `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate`, `CronCreate`, `CronDelete`, dan `CronList`.463Teammate dalam [agent teams](/docs/id/agent-teams) juga menyimpan task tools dan cron tools: `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate`, `CronCreate`, `CronDelete`, dan `CronList`.

460 464 

461Dalam [sesi tanpa alat Task](/docs/id/tools-reference#task-tool-availability), Claude Code tidak menyediakan alat tugas ke subagent juga, bahkan ketika subagent menjalankan model berbeda. Rekan kerja dalam proses mengikuti sesi Anda dengan cara yang sama, sementara rekan kerja dalam [split pane](/docs/id/agent-teams#choose-a-display-mode) miliknya sendiri berjalan sebagai proses Claude Code terpisah, jadi modelnya sendiri yang memutuskan.465Dalam [sesi tanpa Task tools](/docs/id/tools-reference#task-tool-availability), Claude Code tidak menyediakan task tools ke subagent juga, bahkan ketika subagent menjalankan model berbeda. Teammate in-process mengikuti sesi Anda dengan cara yang sama, sementara teammate dalam [split pane](/docs/id/agent-teams#choose-a-display-mode) miliknya sendiri berjalan sebagai proses Claude Code terpisah, jadi modelnya sendiri yang memutuskan.

462 466 

463Untuk membatasi alat, gunakan bidang `tools` sebagai allowlist atau bidang `disallowedTools` sebagai denylist. Contoh ini menggunakan `tools` untuk secara eksklusif mengizinkan Read, Grep, Glob, dan Bash. Subagent tidak dapat mengedit file, menulis file, atau menggunakan alat MCP apa pun:467Untuk membatasi tool, gunakan field `tools` sebagai allowlist atau field `disallowedTools` sebagai denylist. Contoh ini menggunakan `tools` untuk hanya mengizinkan Read, Grep, Glob, dan Bash. Subagent tidak dapat mengedit file, menulis file, atau menggunakan tool MCP apa pun:

464 468 

465```yaml theme={null}469```yaml theme={null}

466---470---


470---474---

471```475```

472 476 

473Contoh ini menggunakan `disallowedTools` untuk mewarisi setiap alat dari percakapan utama kecuali Write dan Edit. Subagent menyimpan Bash, alat MCP, dan semuanya yang lain:477Contoh ini menggunakan `disallowedTools` untuk mewarisi pool tool subagent kecuali Write dan Edit. Subagent menyimpan Bash, tool MCP, dan sisa pool-nya:

474 478 

475```yaml theme={null}479```yaml theme={null}

476---480---


480---484---

481```485```

482 486 

483Jika keduanya diatur, `disallowedTools` diterapkan terlebih dahulu, kemudian `tools` diselesaikan terhadap kumpulan yang tersisa. Alat yang tercantum di keduanya dihapus.487Jika keduanya diatur, `disallowedTools` diterapkan terlebih dahulu, kemudian `tools` diselesaikan terhadap pool yang tersisa. Tool yang tercantum di keduanya dihapus.

484 488 

485Ketika 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 biasanya menolak untuk meluncurkan subagent dan alat Agent mengembalikan kesalahan yang menyebutkan entri yang tidak diselesaikan; lihat [Agent would be spawned with zero tools](/docs/id/errors#agent-would-be-spawned-with-zero-tools) untuk pesan dan cara memperbaiki setiap entri. Sebelum v2.1.208, subagent itu diluncurkan tanpa alat dan dapat mengembalikan hasil yang kosong atau membingungkan.489Ketika tidak ada dalam daftar `tools` yang diselesaikan ke tool, misalnya karena setiap entri salah eja atau menamai tool yang tidak tersedia untuk subagent, Claude Code biasanya menolak untuk meluncurkan subagent dan tool Agent mengembalikan kesalahan yang menamai entri yang tidak diselesaikan; lihat [Agent would be spawned with zero tools](/docs/id/errors#agent-would-be-spawned-with-zero-tools) untuk pesan dan cara memperbaiki setiap entri. Sebelum v2.1.208, subagent itu diluncurkan tanpa tool dan dapat mengembalikan hasil kosong atau membingungkan.

486 490 

487Kedua 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 alat bawaan dalam kumpulannya:491Kedua field menerima pola tingkat server MCP sebagai tambahan untuk nama tool yang tepat: `mcp__<server>` atau `mcp__<server>__*` memberikan atau menghapus setiap tool dari server yang dinamai. Dalam `disallowedTools`, `mcp__*` juga menghapus setiap tool MCP dari server apa pun. Contoh ini menghapus setiap tool dari server MCP `github` sambil menyimpan tool dari server lain dan tool bawaan dalam pool-nya:

488 492 

489```yaml theme={null}493```yaml theme={null}

490---494---


494---498---

495```499```

496 500 

497Entri `disallowedTools` dengan penentu, seperti `Bash(git push *)`, masih menghapus seluruh alat dari subagent, bukan hanya perintah yang cocok. Untuk menyimpan Bash dan memblokir perintah tertentu, tambahkan [aturan penolakan Bash](/docs/id/permissions#bash) seperti `Bash(git push *)` ke `permissions.deny` dalam pengaturan Anda. Aturan berlaku untuk percakapan utama dan subagent.501Entri `disallowedTools` dengan specifier, seperti `Bash(git push *)`, masih menghapus seluruh tool dari subagent, bukan hanya perintah yang cocok. Untuk menyimpan Bash dan memblokir perintah spesifik, tambahkan [Bash deny rule](/docs/id/permissions#bash) seperti `Bash(git push *)` ke `permissions.deny` dalam pengaturan Anda. Aturan berlaku untuk percakapan utama dan subagent.

498 502 

499<h4 id="restrict-which-subagents-can-be-spawned">503<h4 id="restrict-which-subagents-can-be-spawned">

500 Batasi subagent mana yang dapat dihasilkan504 Batasi subagent mana yang dapat di-spawn

501</h4>505</h4>

502 506 

503Ketika agen berjalan sebagai thread utama dengan `claude --agent`, agen dapat menelurkan subagent menggunakan alat Agent. Untuk membatasi jenis subagent mana yang dapat dihasilkan, gunakan sintaks `Agent(agent_type)` dalam bidang `tools`.507Ketika agent berjalan sebagai thread utama dengan `claude --agent`, ia dapat menspawn subagent menggunakan tool Agent. Untuk membatasi tipe subagent mana yang dapat di-spawn, gunakan sintaks `Agent(agent_type)` dalam field `tools`.

504 508 

505<Note>Dalam versi 2.1.63, alat Task diganti nama menjadi Agent. Referensi `Task(...)` yang ada dalam pengaturan dan definisi agen masih berfungsi sebagai alias.</Note>509<Note>Dalam versi 2.1.63, tool Task diganti nama menjadi Agent. Referensi `Task(...)` yang ada dalam pengaturan dan definisi agent masih berfungsi sebagai alias.</Note>

506 510 

507```yaml theme={null}511```yaml theme={null}

508---512---


512---516---

513```517```

514 518 

515Ini adalah allowlist: hanya subagent `worker` dan `researcher` yang dapat dihasilkan. Jika agen mencoba menelurkan jenis lain, permintaan gagal dan agen hanya melihat jenis yang diizinkan dalam promptnya. Untuk memblokir agen tertentu sambil mengizinkan semua yang lain, gunakan [`permissions.deny`](#disable-specific-subagents) sebagai gantinya.519Ini adalah allowlist: hanya subagent `worker` dan `researcher` yang dapat di-spawn. Jika agent mencoba menspawn tipe lain, permintaan gagal dan agent hanya melihat tipe yang diizinkan dalam prompt-nya. Untuk memblokir agent spesifik sambil mengizinkan semua yang lain, gunakan [`permissions.deny`](#disable-specific-subagents) sebagai gantinya.

516 520 

517Untuk mengizinkan peneluran subagent apa pun tanpa pembatasan, gunakan `Agent` tanpa tanda kurung:521Untuk mengizinkan spawning subagent apa pun tanpa pembatasan, gunakan `Agent` tanpa tanda kurung:

518 522 

519```yaml theme={null}523```yaml theme={null}

520tools: Agent, Read, Bash524tools: Agent, Read, Bash

521```525```

522 526 

523Jika Anda menghilangkan `Agent` dari daftar `tools` sepenuhnya, agen tidak dapat menelurkan subagent apa pun dengan alat Agent.527Jika Anda menghilangkan `Agent` dari daftar `tools` sepenuhnya, agent tidak dapat menspawn subagent apa pun dengan tool Agent.

524 528 

525Sintaks allowlist `Agent(agent_type)` hanya berlaku untuk agen yang berjalan sebagai thread utama dengan `claude --agent`. Dalam definisi subagent, mencantumkan `Agent` dalam `tools` memungkinkan subagent itu untuk menelurkan subagent bersarang sementara [batas kedalaman](#let-subagents-spawn-their-own-subagents) mengizinkannya, tetapi daftar jenis apa pun di dalam tanda kurung diabaikan.529Sintaks allowlist `Agent(agent_type)` hanya berlaku untuk agent yang berjalan sebagai thread utama dengan `claude --agent`. Dalam definisi subagent, mencantumkan `Agent` dalam `tools` memungkinkan subagent itu menspawn subagent miliknya sendiri sementara [depth limit](#let-subagents-spawn-their-own-subagents) mengizinkannya, tetapi daftar tipe apa pun di dalam tanda kurung diabaikan.

526 530 

527<h4 id="scope-mcp-servers-to-a-subagent">531<h4 id="scope-mcp-servers-to-a-subagent">

528 Cakupan MCP servers ke subagent532 Cakupan MCP server ke subagent

529</h4>533</h4>

530 534 

531Gunakan bidang `mcpServers` untuk memberikan subagent akses ke [MCP](/docs/id/mcp) servers yang tidak tersedia dalam percakapan utama. Server inline yang ditentukan di sini terhubung ketika subagent dimulai, tunduk pada [aturan kepercayaan untuk folder file agen](#inline-server-trust), dan terputus ketika selesai. Referensi string berbagi koneksi sesi induk.535Gunakan field `mcpServers` untuk memberikan subagent akses ke [MCP](/docs/id/mcp) server yang tidak tersedia dalam percakapan utama. Server inline yang didefinisikan di sini terhubung ketika subagent dimulai, tunduk pada [trust rule untuk folder file agent](#inline-server-trust), dan terputus ketika selesai. Referensi string berbagi koneksi sesi induk.

532 536 

533<Note>537<Note>

534 Bidang `mcpServers` berlaku dalam kedua konteks di mana file agen dapat berjalan:538 Field `mcpServers` berlaku dalam kedua konteks di mana file agent dapat berjalan:

535 539 

536 * Sebagai subagent, dihasilkan melalui alat Agent atau @-mention540 * Sebagai subagent, di-spawn melalui tool Agent atau @-mention

537 * Sebagai sesi utama, diluncurkan dengan [`--agent`](#invoke-subagents-explicitly) atau pengaturan `agent`541 * Sebagai sesi utama, diluncurkan dengan [`--agent`](#invoke-subagents-explicitly) atau setting `agent`

538 542 

539 Ketika agen adalah sesi utama, definisi server inline terhubung saat startup bersama server dari [`.mcp.json`](/docs/id/mcp) dan file pengaturan, di bawah [aturan kepercayaan yang sama untuk folder file agen](#inline-server-trust). Dalam `/mcp`, server jarak jauh (HTTP atau SSE) yang telah Anda gunakan sebelumnya dapat menampilkan [status `cached`](/docs/id/mcp#managing-your-servers) sebagai gantinya; Claude Code menghubungkannya ketika Claude pertama kali memanggil salah satu alatnya.543 Ketika agent adalah sesi utama, definisi server inline terhubung saat startup bersama server dari [`.mcp.json`](/docs/id/mcp) dan file pengaturan, di bawah [trust rule yang sama untuk folder file agent](#inline-server-trust). Dalam `/mcp`, server jarak jauh (HTTP atau SSE) yang telah Anda gunakan sebelumnya dapat menunjukkan [`cached` status](/docs/id/mcp#managing-your-servers) sebagai gantinya; Claude Code menghubungkannya ketika Claude pertama kali memanggil salah satu tool-nya.

540</Note>544</Note>

541 545 

542Setiap entri dalam daftar adalah definisi server inline atau string yang mereferensikan MCP server yang sudah dikonfigurasi dalam sesi Anda:546Setiap entri dalam daftar adalah definisi server inline atau string yang mereferensikan MCP server yang sudah dikonfigurasi dalam sesi Anda:


558Use the Playwright tools to navigate, screenshot, and interact with pages.562Use the Playwright tools to navigate, screenshot, and interact with pages.

559```563```

560 564 

561Definisi inline menggunakan skema yang sama dengan entri server `.mcp.json`, dikunci dengan nama server, dan mendukung jenis `stdio`, `http`, `sse`, dan `ws`.565Definisi inline menggunakan skema yang sama seperti entri server `.mcp.json`, dikunci dengan nama server, dan mendukung tipe `stdio`, `http`, `sse`, dan `ws`.

562 566 

563Untuk menjaga MCP server di luar percakapan utama sepenuhnya dan menghindari deskripsi alatnya mengonsumsi konteks di sana, tentukan secara inline di sini daripada di `.mcp.json`. Subagent mendapatkan alat; percakapan induk tidak.567Untuk menjaga MCP server keluar dari percakapan utama sepenuhnya dan menghindari deskripsi tool-nya mengonsumsi konteks di sana, tentukan secara inline di sini daripada di `.mcp.json`. Subagent mendapatkan tool; percakapan induk tidak.

564 568 

565<span id="inline-server-trust" />Claude Code memuat server inline dari file agen dalam direktori `.claude/agents/` proyek Anda, atau dalam direktori `.claude/agents/` direktori `--add-dir`, hanya setelah Anda [mempercayai folder tempat file agen berasal](/docs/id/permissions#what-runs-before-you-trust-a-folder). Sebelum v2.1.238, Claude Code memuat server ini tanpa memeriksa kepercayaan.569<span id="inline-server-trust" />Claude Code memuat server inline dari file agent dalam direktori `.claude/agents/` proyek Anda, atau dalam direktori `.claude/agents/` direktori `--add-dir`, hanya setelah Anda [mempercayai folder tempat file agent berasal](/docs/id/permissions#what-runs-before-you-trust-a-folder). Sebelum v2.1.238, Claude Code memuat server ini tanpa memeriksa kepercayaan.

566 570 

567* **Kepercayaan yang tidak dihitung**: kepercayaan folder induk, dan kepercayaan otomatis yang sesi `-p` atau SDK dapatkan untuk [hooks dalam file pengaturan](/docs/id/permissions#what-runs-before-you-trust-a-folder)571* **Kepercayaan yang tidak dihitung**: kepercayaan folder induk, dan kepercayaan otomatis yang sesi `-p` atau SDK dapatkan untuk [hooks dalam file pengaturan](/docs/id/permissions#what-runs-before-you-trust-a-folder)

568* **Sampai saat itu**: Claude Code melewati setiap server inline dalam file agen itu dan menulis kunci `projects["<path>"].hasTrustDialogAccepted` yang tepat untuk `~/.claude.json` ke debug log572* **Sampai saat itu**: Claude Code melewati setiap server inline dalam file agent itu dan menulis kunci `projects["<path>"].hasTrustDialogAccepted` yang tepat untuk `~/.claude.json` ke debug log

569* **Direktori `--add-dir`**: direktori di luar repositori workspace terpercaya Anda memerlukan entri kepercayaan sendiri, karena file `.claude/agents/` miliknya tidak mewarisi kepercayaan workspace Anda573* **Direktori `--add-dir`**: direktori di luar repositori workspace terpercaya Anda memerlukan entri kepercayaan miliknya sendiri, karena file `.claude/agents/` miliknya tidak mewarisi kepercayaan workspace Anda

570 574 

571Claude Code memuat dua jenis server tanpa memeriksa kepercayaan untuk folder tempat file agen berasal:575Claude Code memuat dua jenis server tanpa memeriksa kepercayaan untuk folder tempat file agent berasal:

572 576 

573* Nama yang mereferensikan server yang sudah Anda konfigurasi577* Nama yang mereferensikan server yang sudah Anda konfigurasi

574* Server inline dalam file agen dari `~/.claude/agents/`, dalam satu yang Anda lewatkan dengan `--agents` atau opsi SDK `agents`, atau dalam satu yang pengaturan terkelola sediakan578* Server inline dalam file agent dari `~/.claude/agents/`, dalam satu yang Anda lewatkan dengan `--agents` atau opsi SDK `agents`, atau dalam satu yang managed settings sediakan

575 579 

576Pembatasan MCP yang berlaku untuk sesi utama juga mencakup server yang dideklarasikan dalam frontmatter subagent:580Pembatasan MCP yang berlaku untuk sesi utama juga mencakup server yang dideklarasikan dalam frontmatter subagent:

577 581 

578* [`--strict-mcp-config`](/docs/id/cli-reference) dan [`--bare`](/docs/id/cli-reference)582* [`--strict-mcp-config`](/docs/id/cli-reference) dan [`--bare`](/docs/id/cli-reference)

579* [Konfigurasi MCP terkelola Enterprise](/docs/id/managed-mcp)583* [Enterprise managed MCP configuration](/docs/id/managed-mcp)

580* [`allowedMcpServers` dan `deniedMcpServers` policies](/docs/id/managed-mcp#policy-based-control-with-allowlists-and-denylists)584* [`allowedMcpServers` dan `deniedMcpServers` policies](/docs/id/managed-mcp#policy-based-control-with-allowlists-and-denylists)

581 585 

582Ketika salah satu dari ini memblokir server, Claude Code melewatinya dan menampilkan peringatan yang menyebutkan server yang diblokir.586Ketika salah satu dari ini memblokir server, Claude Code melewatinya dan menunjukkan peringatan yang menamai server yang diblokir.

583 587 

584Pembatasan pengaturan terkelola berlaku untuk setiap subagent terlepas dari cara pendefinisiannya. `--strict-mcp-config` tidak memfilter server yang Anda lewatkan secara inline melalui `--agents` atau opsi SDK `agents`, karena itu adalah input pemanggil eksplisit.588Pembatasan managed-settings berlaku untuk setiap subagent terlepas dari cara pendefinisiannya. `--strict-mcp-config` tidak memfilter server yang Anda lewatkan inline melalui `--agents` atau opsi SDK `agents`, karena itu adalah input pengguna eksplisit.

585 589 

586<h4 id="permission-modes">590<h4 id="permission-modes">

587 Mode izin591 Mode izin

588</h4>592</h4>

589 593 

590Atur `permissionMode` untuk memilih mode izin yang dijalankan subagent. Gunakan nilai konfigurasi mode, jadi mode Manual adalah `default`. Jika Anda membiarkannya tidak diatur, subagent mewarisi mode percakapan utama, yang dimulai sebagai [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) pada paket Pro, Max, dan Team kecuali pengaturan Anda atau organisasi Anda mengubahnya.594Atur `permissionMode` untuk memilih mode izin yang dijalankan subagent. Gunakan nilai config mode, jadi mode Manual adalah `default`. Jika Anda membiarkannya tidak diatur, subagent mewarisi [mode izin](/docs/id/permission-modes) percakapan utama.

591 595 

592Mode izin percakapan utama memutuskan apakah Claude Code menggunakan nilai yang Anda atur:596Mode izin percakapan utama memutuskan apakah Claude Code menggunakan nilai yang Anda atur:

593 597 

594* Ketika percakapan utama berada dalam `bypassPermissions`, `acceptEdits`, atau [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), subagent berjalan dalam mode yang sama dan Claude Code mengabaikan `permissionMode` yang Anda atur. Di bawah auto mode, pengklasifikasi mengevaluasi panggilan alat subagent dengan aturan blok dan izin percakapan utama. Ketika subagent selesai, pengklasifikasi juga meninjau pekerjaannya dan laporannya yang final sebelum laporan disampaikan, seperti [Bagaimana auto mode menangani subagent](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) menjelaskan.598* Ketika percakapan utama berada dalam `bypassPermissions`, `acceptEdits`, atau [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), subagent berjalan dalam mode yang sama dan Claude Code mengabaikan `permissionMode` yang Anda atur. Di bawah auto mode, classifier mengevaluasi panggilan tool subagent dengan aturan blok dan izin percakapan utama. Ketika subagent selesai, classifier juga meninjau pekerjaan dan laporan finalnya sebelum laporan dikirimkan, seperti [How auto mode handles subagents](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) menjelaskan.

595* Ketika percakapan utama berada dalam mode `default`, `dontAsk`, atau `plan`, subagent berjalan dalam mode izin yang Anda atur, kecuali `bypassPermissions`. Subagent yang mendeklarasikan `bypassPermissions` menyimpan mode percakapan utama sebagai gantinya. Pengecualian `bypassPermissions` memerlukan Claude Code v2.1.267 atau lebih baru.599* Ketika percakapan utama berada dalam mode `default`, `dontAsk`, atau `plan`, subagent berjalan dalam mode izin yang Anda atur, kecuali `bypassPermissions`. Subagent yang mendeklarasikan `bypassPermissions` menyimpan mode percakapan utama sebagai gantinya. Pengecualian `bypassPermissions` memerlukan Claude Code v2.1.267 atau lebih baru.

596 600 

597`permissionMode` menerima nilai ini, dan `manual` sebagai alias untuk `default`:601`permissionMode` menerima nilai ini, dan `manual` sebagai alias untuk `default`:


599| Mode | Perilaku |603| Mode | Perilaku |

600| :- | :- |604| :- | :- |

601| `default` | Mode manual: meminta izin |605| `default` | Mode manual: meminta izin |

602| `acceptEdits` | Auto-terima edit file dan perintah sistem file umum untuk jalur di direktori kerja atau `additionalDirectories` |606| `acceptEdits` | Auto-terima edit file dan perintah filesystem umum untuk path dalam direktori kerja atau `additionalDirectories` |

603| `auto` | [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode): pengklasifikasi latar belakang meninjau perintah dan penulisan direktori yang dilindungi |607| `auto` | [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode): classifier latar belakang meninjau perintah dan penulisan direktori terlindungi |

604| `dontAsk` | Auto-tolak prompt izin. Alat yang secara eksplisit diizinkan masih berfungsi; `AskUserQuestion`, alat MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool), dan alat konektor [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dalam sesi di mana pengaturan itu mencapai Claude Code ditolak bahkan jika Anda telah mengizinkannya |608| `dontAsk` | Auto-tolak prompt izin. Tool yang secara eksplisit diizinkan masih berfungsi; `AskUserQuestion`, tool MCP yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool), dan tool connector [organisasi Anda atur ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools) dalam sesi di mana pengaturan itu mencapai Claude Code ditolak bahkan jika Anda telah mengizinkannya |

605| `bypassPermissions` | [Lewati prompt izin](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode). Subagent berjalan dalam mode ini hanya ketika percakapan utama melakukannya |609| `bypassPermissions` | [Lewati prompt izin](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode). Subagent berjalan dalam mode ini hanya ketika percakapan utama melakukannya |

606| `plan` | Plan mode (eksplorasi hanya-baca) |610| `plan` | Plan mode (eksplorasi read-only) |

607 611 

608<h4 id="preload-skills-into-subagents">612<h4 id="preload-skills-into-subagents">

609 Preload skills ke dalam subagent613 Muat skills sebelumnya ke dalam subagent

610</h4>614</h4>

611 615 

612Gunakan bidang `skills` untuk menyuntikkan konten skill ke dalam konteks subagent saat startup. Ini memberikan subagent pengetahuan domain tanpa memerlukan penemuan dan pemuatan skills selama eksekusi.616Gunakan field `skills` untuk menyuntikkan konten skill ke dalam konteks subagent saat startup. Ini memberikan subagent pengetahuan domain tanpa memerlukan untuk menemukan dan memuat skill selama eksekusi.

613 617 

614```yaml theme={null}618```yaml theme={null}

615---619---


623Implement API endpoints. Follow the conventions and patterns from the preloaded skills.627Implement API endpoints. Follow the conventions and patterns from the preloaded skills.

624```628```

625 629 

626Konten lengkap setiap skill yang tercantum disuntikkan ke dalam konteks subagent saat startup. Bidang ini mengontrol skill mana yang dimuat sebelumnya, bukan skill mana yang dapat diakses subagent: tanpanya, subagent masih dapat menemukan dan memanggil project, user, dan plugin skills melalui alat Skill selama eksekusi. Untuk mencegah subagent memanggil skills sama sekali, hilangkan `Skill` dari daftar [`tools`](#available-tools) atau tambahkan ke `disallowedTools`.630Konten lengkap dari setiap skill yang tercantum disuntikkan ke dalam konteks subagent saat startup. Field ini mengontrol skill mana yang dimuat sebelumnya, bukan skill mana yang dapat diakses subagent: tanpanya, subagent masih dapat menemukan dan memanggil skill proyek, pengguna, dan plugin melalui tool Skill selama eksekusi. Untuk mencegah subagent dari memanggil skill sepenuhnya, hilangkan `Skill` dari daftar [`tools`](#available-tools) atau tambahkan ke `disallowedTools`.

627 631 

628Anda tidak dapat preload skills yang menetapkan [`disable-model-invocation: true`](/docs/id/skills#control-who-invokes-a-skill), karena preloading menarik dari set skills yang sama yang dapat diinvokasi Claude. Ini termasuk skill `/verify` bundel: hanya Anda yang dapat menjalankannya, jadi itu juga tidak dapat dimuat sebelumnya.632Anda tidak dapat memuat skill sebelumnya yang mengatur [`disable-model-invocation: true`](/docs/id/skills#control-who-invokes-a-skill), karena memuat sebelumnya menarik dari set skill yang sama yang dapat dipanggil Claude. Ini termasuk skill `/verify` bundel: hanya Anda yang dapat menjalankannya, jadi tidak dapat dimuat sebelumnya juga.

629 633 

630Jika skill yang tercantum hilang atau dinonaktifkan, misalnya oleh kebijakan organisasi Anda, Claude Code melewatinya dan mencatat peringatan ke debug log.634Jika skill yang tercantum hilang atau dinonaktifkan, misalnya oleh kebijakan organisasi Anda, Claude Code melewatinya dan mencatat peringatan ke debug log.

631 635 

632<Note>636<Note>

633 Ini adalah kebalikan dari [menjalankan skill dalam subagent](/docs/id/skills#run-skills-in-a-subagent). Dengan `skills` dalam subagent, subagent mengontrol prompt sistem dan memuat konten skill. Dengan `context: fork` dalam skill, konten skill disuntikkan ke dalam agen yang Anda tentukan. Dalam kedua kasus subagent dimulai tanpa riwayat percakapan Anda.637 Ini adalah kebalikan dari [menjalankan skill dalam subagent](/docs/id/skills#run-skills-in-a-subagent). Dengan `skills` dalam subagent, subagent mengontrol system prompt dan memuat konten skill. Dengan `context: fork` dalam skill, konten skill disuntikkan ke dalam agent yang Anda tentukan. Dalam kedua kasus subagent dimulai tanpa riwayat percakapan Anda.

634</Note>638</Note>

635 639 

636<h4 id="enable-persistent-memory">640<h4 id="enable-persistent-memory">

637 Aktifkan memori persisten641 Aktifkan persistent memory

638</h4>642</h4>

639 643 

640Bidang `memory` memberikan subagent direktori persisten yang bertahan di seluruh percakapan. Subagent menggunakan direktori ini untuk membangun pengetahuan seiring waktu, seperti pola basis kode, wawasan debugging, dan keputusan arsitektur.644Field `memory` memberikan subagent direktori persisten yang bertahan di seluruh percakapan. Subagent menggunakan direktori ini untuk membangun pengetahuan seiring waktu, seperti pola codebase, wawasan debugging, dan keputusan arsitektur.

641 645 

642```yaml theme={null}646```yaml theme={null}

643---647---


650patterns, conventions, and recurring issues you discover.654patterns, conventions, and recurring issues you discover.

651```655```

652 656 

653Pilih cakupan berdasarkan seberapa luas memori harus diterapkan:657Pilih cakupan berdasarkan seberapa luas memory harus berlaku:

654 658 

655| Cakupan | Lokasi | Gunakan ketika |659| Cakupan | Lokasi | Gunakan ketika |

656| :- | :- | :- |660| :- | :- | :- |

657| `user` | `~/.claude/agent-memory/<name-of-agent>/` | subagent harus mengingat pembelajaran di seluruh semua proyek |661| `user` | `~/.claude/agent-memory/<name-of-agent>/` | subagent harus mengingat pembelajaran di seluruh semua proyek |

658| `project` | `.claude/agent-memory/<name-of-agent>/` | pengetahuan subagent spesifik proyek dan dapat dibagikan melalui kontrol versi |662| `project` | `.claude/agent-memory/<name-of-agent>/` | pengetahuan subagent spesifik proyek dan dapat dibagikan melalui version control |

659| `local` | `.claude/agent-memory-local/<name-of-agent>/` | pengetahuan subagent spesifik proyek tetapi tidak boleh diperiksa ke dalam kontrol versi |663| `local` | `.claude/agent-memory-local/<name-of-agent>/` | pengetahuan subagent spesifik proyek tetapi tidak boleh diperiksa ke dalam version control |

660 664 

661Memori subagent adalah bagian dari [auto memory](/docs/id/memory#auto-memory): jika Anda mematikan auto memory, dengan pengaturan `autoMemoryEnabled` atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY`, bidang `memory` tidak berpengaruh dan subagent diluncurkan tanpa instruksi memori atau akses alat memori yang dijelaskan di bawah.665Memory subagent adalah bagian dari [auto memory](/docs/id/memory#auto-memory): jika Anda mematikan auto memory, dengan setting `autoMemoryEnabled` atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY`, field `memory` tidak berpengaruh dan subagent diluncurkan tanpa instruksi memory atau akses tool memory yang dijelaskan di bawah.

662 666 

663Ketika memori diaktifkan:667Ketika memory diaktifkan:

664 668 

665* Prompt sistem subagent mencakup instruksi untuk membaca dan menulis ke direktori memori.669* System prompt subagent mencakup instruksi untuk membaca dan menulis ke direktori memory.

666* Prompt sistem subagent juga mencakup 200 baris pertama atau 25KB dari `MEMORY.md` dalam direktori memori, mana pun yang lebih kecil, dengan instruksi untuk mengkurasi `MEMORY.md` jika melebihi batas itu.670* System prompt subagent juga mencakup 200 baris pertama atau 25KB dari `MEMORY.md` dalam direktori memory, mana pun yang lebih dulu, dengan instruksi untuk mengkurasi `MEMORY.md` jika melebihi batas itu.

667* Alat Read, Write, dan Edit secara otomatis diaktifkan sehingga subagent dapat mengelola file memorinya.671* Tool Read, Write, dan Edit secara otomatis diaktifkan sehingga subagent dapat mengelola file memory-nya.

668 672 

669<h5 id="persistent-memory-tips">673<h5 id="persistent-memory-tips">

670 Tips memori persisten674 Tips persistent memory

671</h5>675</h5>

672 676 

673* `project` adalah cakupan default yang direkomendasikan. Ini membuat pengetahuan subagent dapat dibagikan melalui kontrol versi.677* `project` adalah cakupan default yang direkomendasikan. Ini membuat pengetahuan subagent dapat dibagikan melalui version control.

674* Minta subagent untuk berkonsultasi dengan memorinya sebelum memulai pekerjaan: "Review PR ini, dan periksa memori Anda untuk pola yang telah Anda lihat sebelumnya."678* Minta subagent untuk berkonsultasi dengan memory-nya sebelum memulai pekerjaan: "Review PR ini, dan periksa memory Anda untuk pola yang telah Anda lihat sebelumnya."

675* Minta subagent untuk memperbarui memorinya setelah menyelesaikan tugas: "Sekarang setelah Anda selesai, simpan apa yang Anda pelajari ke memori Anda." Seiring waktu, ini membangun basis pengetahuan yang membuat subagent lebih efektif.679* Minta subagent untuk memperbarui memory-nya setelah menyelesaikan tugas: "Sekarang Anda selesai, simpan apa yang Anda pelajari ke memory Anda." Seiring waktu, ini membangun basis pengetahuan yang membuat subagent lebih efektif.

676* Sertakan instruksi memori langsung dalam file markdown subagent sehingga secara proaktif mempertahankan basis pengetahuannya sendiri:680* Sertakan instruksi memory langsung dalam file markdown subagent sehingga secara proaktif mempertahankan basis pengetahuan miliknya sendiri:

677 681 

678 ```markdown theme={null}682 ```markdown theme={null}

679 Update your agent memory as you discover codepaths, patterns, library683 Update your agent memory as you discover codepaths, patterns, library


686 Aturan bersyarat dengan hooks690 Aturan bersyarat dengan hooks

687</h4>691</h4>

688 692 

689Untuk kontrol yang lebih dinamis atas penggunaan alat, gunakan hooks `PreToolUse` untuk memvalidasi operasi sebelum dijalankan. Ini berguna ketika Anda perlu mengizinkan beberapa operasi alat sambil memblokir yang lain.693Untuk kontrol yang lebih dinamis atas penggunaan tool, gunakan hook `PreToolUse` untuk memvalidasi operasi sebelum dieksekusi. Ini berguna ketika Anda perlu mengizinkan beberapa operasi tool sambil memblokir yang lain.

690 694 

691Contoh ini membuat subagent yang hanya mengizinkan kueri database hanya-baca. Hook `PreToolUse` menjalankan skrip yang ditentukan dalam `command` sebelum setiap perintah Bash dijalankan:695Contoh ini membuat subagent yang hanya mengizinkan kueri database read-only. Hook `PreToolUse` menjalankan skrip yang ditentukan dalam `command` sebelum setiap perintah Bash dieksekusi:

692 696 

693```yaml theme={null}697```yaml theme={null}

694---698---


730 734 

731Untuk menguji aturan, minta subagent untuk menjalankan pernyataan `UPDATE`: skrip keluar dengan kode 2, Claude Code memblokir perintah, dan subagent melihat pesan `Blocked: Only SELECT queries are allowed`.735Untuk menguji aturan, minta subagent untuk menjalankan pernyataan `UPDATE`: skrip keluar dengan kode 2, Claude Code memblokir perintah, dan subagent melihat pesan `Blocked: Only SELECT queries are allowed`.

732 736 

733Lihat [Hook input](/docs/id/hooks#pretooluse-input) untuk skema input lengkap dan [exit codes](/docs/id/hooks#exit-code-output) untuk bagaimana kode keluar mempengaruhi perilaku. Di Windows, tulis skrip hook dalam PowerShell dan tambahkan `shell: powershell` ke entri hook seperti yang ditunjukkan dalam [menjalankan hooks dalam PowerShell](/docs/id/hooks#windows-powershell-tool).737Lihat [Hook input](/docs/id/hooks#pretooluse-input) untuk skema input lengkap dan [exit codes](/docs/id/hooks#exit-code-output) untuk cara exit code mempengaruhi perilaku. Di Windows, tulis skrip hook dalam PowerShell dan tambahkan `shell: powershell` ke entri hook seperti ditunjukkan dalam [running hooks in PowerShell](/docs/id/hooks#windows-powershell-tool).

734 738 

735<h4 id="disable-specific-subagents">739<h4 id="disable-specific-subagents">

736 Nonaktifkan subagent tertentu740 Nonaktifkan subagent spesifik

737</h4>741</h4>

738 742 

739Anda dapat mencegah Claude menggunakan subagent tertentu dengan menambahkannya ke array `deny` dalam [pengaturan](/docs/id/settings-reference#permission-settings) Anda. Gunakan format `Agent(subagent-name)` di mana `subagent-name` cocok dengan bidang nama subagent.743Anda dapat mencegah Claude dari menggunakan subagent spesifik dengan menambahkannya ke array `deny` dalam [settings](/docs/id/settings-reference#permission-settings) Anda. Gunakan format `Agent(subagent-name)` di mana `subagent-name` cocok dengan field name subagent.

740 744 

741```json theme={null}745```json theme={null}

742{746{


746}750}

747```751```

748 752 

749Ini berfungsi untuk subagent bawaan dan khusus. Anda juga dapat menggunakan flag CLI `--disallowedTools`:753Ini berfungsi untuk subagent bawaan dan kustom. Anda juga dapat menggunakan flag CLI `--disallowedTools`:

750 754 

751```bash theme={null}755```bash theme={null}

752claude --disallowedTools "Agent(Explore)"756claude --disallowedTools "Agent(Explore)"

753```757```

754 758 

755Lihat [dokumentasi Permissions](/docs/id/permissions#tool-specific-permission-rules) untuk detail lebih lanjut tentang aturan izin.759Lihat [Permissions documentation](/docs/id/permissions#tool-specific-permission-rules) untuk detail lebih lanjut tentang aturan izin.

756 760 

757<h3 id="define-hooks-for-subagents">761<h3 id="define-hooks-for-subagents">

758 Tentukan hooks untuk subagent762 Tentukan hooks untuk subagent

759</h3>763</h3>

760 764 

761Subagent dapat mendefinisikan [hooks](/docs/id/hooks) yang berjalan selama siklus hidup subagent. Ada dua cara untuk mengonfigurasi hooks:765Subagent dapat mendefinisikan [hooks](/docs/id/hooks) yang berjalan selama lifecycle subagent. Ada dua cara untuk mengonfigurasi hooks:

762 766 

763* **Dalam frontmatter subagent**: tentukan hooks yang hanya berjalan saat subagent tertentu itu aktif767* **Dalam frontmatter subagent**: tentukan hooks yang berjalan hanya saat subagent itu aktif

764* **Dalam `settings.json`**: tentukan hooks tingkat sesi yang juga terjadi di dalam subagent. Peristiwa alat seperti `PreToolUse` dan `PostToolUse` terjadi untuk panggilan alat subagent dengan cara yang sama seperti dalam percakapan utama, dan `SubagentStart` dan `SubagentStop` terjadi ketika subagent dimulai atau selesai768* **Dalam `settings.json`**: tentukan hooks seluruh sesi yang juga menyala di dalam subagent. Peristiwa tool seperti `PreToolUse` dan `PostToolUse` menyala untuk panggilan tool subagent dengan cara yang sama seperti dalam percakapan utama, dan `SubagentStart` dan `SubagentStop` menyala ketika subagent dimulai atau selesai

765 769 

766Hooks dari [file pengaturan, pengaturan kebijakan terkelola, dan plugins](/docs/id/hooks#hook-locations) semuanya berlaku di dalam subagent, jadi hook `PreToolUse` dalam `settings.json` juga berjalan sebelum setiap alat yang digunakan subagent.770Hook dari [file pengaturan, managed policy settings, dan plugins](/docs/id/hooks#hook-locations) semuanya berlaku di dalam subagent, jadi hook `PreToolUse` dalam `settings.json` juga berjalan sebelum setiap tool yang digunakan subagent.

767 771 

768<h4 id="hooks-in-subagent-frontmatter">772<h4 id="hooks-in-subagent-frontmatter">

769 Hooks dalam frontmatter subagent773 Hook dalam frontmatter subagent

770</h4>774</h4>

771 775 

772Tentukan hooks langsung dalam file markdown subagent. Hooks ini hanya berjalan saat subagent spesifik itu aktif dan dibersihkan saat selesai.776Tentukan hooks langsung dalam file markdown subagent. Hook ini hanya berjalan saat subagent spesifik itu aktif dan dibersihkan ketika selesai.

773 777 

774<Note>778<Note>

775 Frontmatter hooks terjadi ketika agen dihasilkan sebagai subagent melalui alat Agent atau @-mention, dan ketika agen berjalan sebagai sesi utama melalui [`--agent`](#invoke-subagents-explicitly) atau pengaturan `agent`. Dalam kasus sesi-utama mereka berjalan bersama hook apa pun yang ditentukan dalam [`settings.json`](/docs/id/hooks).779 Hook frontmatter menyala ketika agent di-spawn sebagai subagent melalui tool Agent atau @-mention, dan ketika agent berjalan sebagai sesi utama melalui [`--agent`](#invoke-subagents-explicitly) atau setting `agent`. Dalam kasus sesi-utama mereka berjalan bersama hook apa pun yang didefinisikan dalam [`settings.json`](/docs/id/hooks).

776</Note>780</Note>

777 781 

778Untuk membiarkan hooks frontmatter subagent tingkat proyek berjalan, terima [dialog kepercayaan workspace](/docs/id/permissions#project-allow-rules-and-workspace-trust) untuk folder yang berisi file agen. Hooks dari subagent tingkat pengguna dalam `~/.claude/agents/` dan dari definisi yang Anda lewatkan dengan `--agents` berjalan tanpa langkah ini. Jika Anda menambahkan folder dengan `--add-dir` dari luar repositori workspace terpercaya Anda, percayai folder itu secara terpisah: hooks `.claude/agents/` miliknya tidak mewarisi kepercayaan workspace Anda.782Untuk membiarkan hook frontmatter subagent tingkat proyek berjalan, terima [workspace trust dialog](/docs/id/permissions#project-allow-rules-and-workspace-trust) untuk folder yang berisi file agent. Hook dari subagent tingkat pengguna dalam `~/.claude/agents/` dan dari definisi yang Anda lewatkan dengan `--agents` berjalan tanpa langkah ini. Jika Anda menambahkan folder dengan `--add-dir` dari luar repositori workspace terpercaya Anda, percayai folder itu secara terpisah: hook `.claude/agents/` miliknya tidak mewarisi kepercayaan workspace. Sampai Anda mempercayai folder, subagent masih berjalan, tetapi Claude Code melewati hook frontmatter-nya dan mencatat kesalahan ke debug log yang menjelaskan cara mempercayai folder. Ini adalah aturan yang lebih ketat daripada untuk hook dalam file pengaturan: mempercayai folder induk tidak cukup, dan sesi `-p` tidak dihitung sebagai terpercaya. [What runs before you trust a folder](/docs/id/permissions#what-runs-before-you-trust-a-folder) membandingkan keduanya. Sebelum v2.1.218, hook frontmatter dapat berjalan dari folder yang belum Anda percayai, termasuk dalam sesi non-interaktif.

779 

780Sampai Anda mempercayai folder, subagent masih berjalan, tetapi Claude Code melewati hooks frontmatter-nya dan mencatat kesalahan ke debug log yang menjelaskan cara mempercayai folder. Ini adalah aturan yang lebih ketat daripada aturan untuk hooks dalam file pengaturan: mempercayai folder induk tidak cukup, dan sesi `-p` tidak dihitung sebagai terpercaya. [What runs before you trust a folder](/docs/id/permissions#what-runs-before-you-trust-a-folder) membandingkan keduanya. Sebelum v2.1.218, hooks frontmatter dapat berjalan dari folder yang belum Anda percayai, termasuk dalam sesi non-interaktif.

781 783 

782Semua [hook events](/docs/id/hooks#hook-events) didukung. Peristiwa paling umum untuk subagent adalah:784Semua [hook events](/docs/id/hooks#hook-events) didukung. Peristiwa paling umum untuk subagent adalah:

783 785 

784| Peristiwa | Input Matcher | Kapan itu terjadi |786| Peristiwa | Input matcher | Kapan menyala |

785| :- | :- | :- |787| :- | :- | :- |

786| `PreToolUse` | Nama alat | Sebelum subagent menggunakan alat |788| `PreToolUse` | Nama tool | Sebelum subagent menggunakan tool |

787| `PostToolUse` | Nama alat | Setelah subagent menggunakan alat |789| `PostToolUse` | Nama tool | Setelah subagent menggunakan tool |

788| `Stop` | (tidak ada) | Ketika subagent selesai (dikonversi ke `SubagentStop` saat runtime) |790| `Stop` | (tidak ada) | Ketika subagent selesai (dikonversi ke `SubagentStop` saat runtime) |

789 791 

790Contoh ini memvalidasi perintah Bash dengan hook `PreToolUse` dan menjalankan linter setelah edit file dengan `PostToolUse`:792Contoh ini memvalidasi perintah Bash dengan hook `PreToolUse` dan menjalankan linter setelah edit file dengan `PostToolUse`:


807---809---

808```810```

809 811 

810Ketika agen dipanggil sebagai subagent, hooks `Stop` dalam frontmatter secara otomatis dikonversi ke peristiwa `SubagentStop`.812Ketika agent dipanggil sebagai subagent, hook `Stop` dalam frontmatter secara otomatis dikonversi ke peristiwa `SubagentStop`.

811 813 

812<h4 id="project-level-hooks-for-subagent-events">814<h4 id="project-level-hooks-for-subagent-events">

813 Hooks tingkat proyek untuk peristiwa subagent815 Hook tingkat proyek untuk peristiwa subagent

814</h4>816</h4>

815 817 

816Konfigurasi hooks dalam `settings.json` yang merespons peristiwa siklus hidup subagent dalam sesi utama.818Konfigurasi hooks dalam `settings.json` yang merespons peristiwa lifecycle subagent dalam sesi utama.

817 819 

818| Peristiwa | Input Matcher | Kapan itu terjadi |820| Peristiwa | Input matcher | Kapan menyala |

819| :- | :- | :- |821| :- | :- | :- |

820| `SubagentStart` | Nama jenis agen | Ketika subagent mulai dijalankan |822| `SubagentStart` | Nama tipe agent | Ketika subagent mulai eksekusi |

821| `SubagentStop` | Nama jenis agen | Ketika subagent selesai |823| `SubagentStop` | Nama tipe agent | Ketika subagent selesai |

822 824 

823Kedua peristiwa mendukung matcher untuk menargetkan jenis agen tertentu berdasarkan nama. Nilai matcher adalah `name` frontmatter agen untuk subagent tingkat proyek dan pengguna, atau pengenal yang dibatasi cakupan plugin seperti `my-plugin:db-agent` untuk [subagent plugin](/docs/id/plugins/components#agents). Nama yang dibatasi cakupan berisi titik dua, sehingga dievaluasi sebagai [ekspresi reguler yang tidak berlabuh](/docs/id/hooks#matcher-patterns); jangkarnya dengan `^` dan `$`, seperti dalam `^my-plugin:db-agent$`, untuk mencocokkan hanya agen itu.825Kedua peristiwa mendukung matcher untuk menargetkan tipe agent spesifik berdasarkan nama. Nilai matcher adalah frontmatter `name` agent untuk subagent tingkat proyek dan pengguna, atau pengenal cakupan plugin seperti `my-plugin:db-agent` untuk [plugin subagents](/docs/id/plugins/components#agents). Nama cakupan berisi titik dua, jadi dievaluasi sebagai [unanchored regular expression](/docs/id/hooks#matcher-patterns); jangkarnya dengan `^` dan `$`, seperti dalam `^my-plugin:db-agent$`, untuk mencocokkan hanya agent itu.

824 826 

825Contoh ini menjalankan skrip setup hanya ketika subagent `db-agent` dimulai, dan skrip cleanup ketika subagent apa pun berhenti:827Contoh ini menjalankan skrip setup hanya ketika subagent `db-agent` dimulai, dan skrip cleanup ketika subagent apa pun berhenti:

826 828 


846}848}

847```849```

848 850 

849Matcher dengan tanda hubung seperti `db-agent` cocok dengan tepat pada Claude Code v2.1.195 atau lebih baru. Pada versi sebelumnya dievaluasi sebagai ekspresi reguler yang tidak berlabuh dan juga terjadi untuk jenis agen apa pun yang berisinya, seperti `prod-db-agent`; jangkarnya sebagai `^db-agent$` pada versi-versi itu.851Matcher dengan tanda hubung seperti `db-agent` cocok persis pada Claude Code v2.1.195 atau lebih baru. Pada versi sebelumnya dievaluasi sebagai unanchored regular expression dan juga menyala untuk tipe agent apa pun yang berisinya, seperti `prod-db-agent`; jangkarnya sebagai `^db-agent$` pada versi itu.

850 852 

851Lihat [Hooks](/docs/id/hooks) untuk format konfigurasi hook lengkap.853Lihat [Hooks](/docs/id/hooks) untuk format konfigurasi hook lengkap.

852 854 


899claude --agent code-reviewer901claude --agent code-reviewer

900```902```

901 903 

902Prompt sistem subagent menggantikan prompt sistem Claude Code default sepenuhnya, dengan cara yang sama [`--system-prompt`](/docs/id/cli-reference) melakukannya. File `CLAUDE.md` dan memori proyek masih dimuat melalui aliran pesan normal, bahkan ketika definisi agen menetapkan [`omitClaudeMd`](#supported-frontmatter-fields).904Kecuali prompt agen [kosong](#choose-the-subagent-scope), prompt sistem subagent menggantikan prompt sistem Claude Code default sepenuhnya, dengan cara yang sama [`--system-prompt`](/docs/id/cli-reference) melakukannya. File `CLAUDE.md` dan memori proyek masih dimuat melalui aliran pesan normal, bahkan ketika definisi agen menetapkan [`omitClaudeMd`](#supported-frontmatter-fields).

903 905 

904Nama agen muncul sebagai `@<name>` di header startup sehingga Anda dapat mengonfirmasi itu aktif.906Nama agen muncul sebagai `@<name>` di header startup sehingga Anda dapat mengonfirmasi itu aktif.

905 907 


1036Setiap subagent mengeksplorasi areanya secara independen, kemudian Claude mensintesis temuan. Ini berfungsi terbaik ketika jalur penelitian tidak saling bergantung.1038Setiap subagent mengeksplorasi areanya secara independen, kemudian Claude mensintesis temuan. Ini berfungsi terbaik ketika jalur penelitian tidak saling bergantung.

1037 1039 

1038<Warning>1040<Warning>

1039 Ketika subagent selesai, hasil mereka kembali ke percakapan utama Anda. Menjalankan banyak subagent yang masing-masing mengembalikan hasil terperinci dapat mengonsumsi konteks yang signifikan.1041 Ketika subagent selesai, hasil mereka kembali ke percakapan utama Anda. Menjalankan banyak subagent yang masing-masing mengembalikan hasil terperinci dapat mengonsumsi konteks yang signifikan, dan setiap subagent menghabiskan token-nya sendiri saat berjalan.

1040</Warning>1042</Warning>

1041 1043 

1042Untuk pekerjaan yang perlu terus berjalan secara paralel atau tidak akan muat dalam satu jendela konteks, jalankan dalam [sesi terpisah](/docs/id/agents) dan biarkan Claude [meneruskan temuan di antara mereka](/docs/id/cross-session-messaging).1044Untuk pekerjaan yang perlu terus berjalan secara paralel atau tidak akan muat dalam satu jendela konteks, jalankan dalam [sesi terpisah](/docs/id/agents) dan biarkan Claude [meneruskan temuan di antara mereka](/docs/id/cross-session-messaging).


1135* **File CLAUDE.md**: setiap level dari [hierarki CLAUDE.md](/docs/id/memory#how-claude-md-files-load) yang dimuat percakapan utama, termasuk `~/.claude/CLAUDE.md`, aturan proyek, `CLAUDE.local.md`, file kebijakan yang dikelola, dan file [`AGENTS.md`](/docs/id/memory#agents-md) apa pun yang dimuat sebagai instruksi proyek. Agen Explore dan Plan bawaan melewati ini. Subagent yang definisinya menetapkan [`omitClaudeMd`](#supported-frontmatter-fields) hanya memuat file kebijakan yang dikelola, atau tidak ada sama sekali ketika definisi berasal dari [pengaturan yang dikelola](#choose-the-subagent-scope).1137* **File CLAUDE.md**: setiap level dari [hierarki CLAUDE.md](/docs/id/memory#how-claude-md-files-load) yang dimuat percakapan utama, termasuk `~/.claude/CLAUDE.md`, aturan proyek, `CLAUDE.local.md`, file kebijakan yang dikelola, dan file [`AGENTS.md`](/docs/id/memory#agents-md) apa pun yang dimuat sebagai instruksi proyek. Agen Explore dan Plan bawaan melewati ini. Subagent yang definisinya menetapkan [`omitClaudeMd`](#supported-frontmatter-fields) hanya memuat file kebijakan yang dikelola, atau tidak ada sama sekali ketika definisi berasal dari [pengaturan yang dikelola](#choose-the-subagent-scope).

1136* **Status Git**: snapshot yang diambil di awal sesi induk. Tidak ada ketika direktori kerja bukan repositori Git atau ketika [`includeGitInstructions`](/docs/id/settings-reference#includegitinstructions) adalah `false`. Explore dan Plan melewatinya terlepas.1138* **Status Git**: snapshot yang diambil di awal sesi induk. Tidak ada ketika direktori kerja bukan repositori Git atau ketika [`includeGitInstructions`](/docs/id/settings-reference#includegitinstructions) adalah `false`. Explore dan Plan melewatinya terlepas.

1137* **Skills yang dimuat sebelumnya**: konten lengkap dari skill apa pun yang dinamai dalam bidang [`skills`](#preload-skills-into-subagents) agen. Agen bawaan tidak memuat skills sebelumnya.1139* **Skills yang dimuat sebelumnya**: konten lengkap dari skill apa pun yang dinamai dalam bidang [`skills`](#preload-skills-into-subagents) agen. Agen bawaan tidak memuat skills sebelumnya.

1138* **Daftar saudara**: pengingat sistem yang mencantumkan `main` dan setiap agen bernama lainnya dalam sesi, masing-masing nilai `to` yang valid untuk [`SendMessage`](#resume-subagents). Memerlukan Claude Code v2.1.206 atau lebih baru. Daftar muncul hanya ketika alat subagent mencakup `SendMessage` dan setidaknya satu agen lain memiliki nama, baik Claude menamakannya saat memunculkannya atau berjalan sebagai anggota [tim agen](/docs/id/agent-teams). Ini adalah snapshot yang diambil ketika subagent dimulai, jadi agen yang dinamai nanti tidak muncul.1140* **Daftar saudara**: [pengingat sistem](/docs/id/glossary#system-reminder) yang mencantumkan `main` dan setiap agen bernama lainnya dalam sesi, masing-masing nilai `to` yang valid untuk [`SendMessage`](#resume-subagents). Memerlukan Claude Code v2.1.206 atau lebih baru. Daftar muncul hanya ketika alat subagent mencakup `SendMessage` dan setidaknya satu agen lain memiliki nama, baik Claude menamakannya saat memunculkannya atau berjalan sebagai anggota [tim agen](/docs/id/agent-teams). Ini adalah snapshot yang diambil ketika subagent dimulai, jadi agen yang dinamai nanti tidak muncul.

1139 1141 

1140Untuk meluncurkan salah satu subagent Anda sendiri tanpa file CLAUDE.md pengguna, proyek, dan lokal, atur [`omitClaudeMd: true`](#supported-frontmatter-fields) dalam frontmatter atau `--agents` JSON.1142Untuk meluncurkan salah satu subagent Anda sendiri tanpa file CLAUDE.md pengguna, proyek, dan lokal, atur [`omitClaudeMd: true`](#supported-frontmatter-fields) dalam frontmatter atau `--agents` JSON.

1141 1143 

Details

339 ```339 ```

340</CodeGroup>340</CodeGroup>

341 341 

342<h2 id="cap-response-width-in-wide-terminals">

343 Batasi lebar respons di terminal lebar

344</h2>

345 

346Di terminal yang lebar, setiap baris prosa dalam respons Claude berjalan dengan lebar penuh jendela. Untuk membungkus prosa pada jumlah kolom yang ditetapkan, atur [`maxProseWidth`](/docs/id/settings-reference#maxprosewidth) dalam pengaturan Anda.

347 

342<h2 id="paste-large-content">348<h2 id="paste-large-content">

343 Tempel konten besar349 Tempel konten besar

344</h2>350</h2>

Details

13Untuk menambahkan tools kustom, hubungkan [server MCP](/docs/id/mcp). Untuk memperluas Claude dengan alur kerja berbasis prompt yang dapat digunakan kembali, tulis [skill](/docs/id/skills), yang berjalan melalui tool `Skill` yang ada daripada menambahkan entri tool baru.13Untuk menambahkan tools kustom, hubungkan [server MCP](/docs/id/mcp). Untuk memperluas Claude dengan alur kerja berbasis prompt yang dapat digunakan kembali, tulis [skill](/docs/id/skills), yang berjalan melalui tool `Skill` yang ada daripada menambahkan entri tool baru.

14 14 

15<Info>15<Info>

16 Pada paket Pro, Max, dan Team, Claude Code memulai sesi dalam [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), di mana pengklasifikasi memutuskan sebagian besar prompt ini alih-alih Anda. Kolom `Permission required` menunjukkan apakah prompt tool dalam [Mode Manual](/docs/id/permission-modes) untuk path di dalam direktori kerja. Tools akses file yang ditandai Tidak, termasuk `Read`, `Grep`, dan `Glob`, masih meminta path di luar [direktori kerja dan direktori tambahan](/docs/id/permissions#working-directories). `Bash` ditandai Ya tetapi menjalankan set bawaan [perintah read-only](/docs/id/permissions#read-only-commands) tanpa meminta.16 Dalam [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), pengklasifikasi memutuskan sebagian besar prompt izin alih-alih Anda. Kolom `Permission required` menunjukkan apakah prompt tool dalam [Mode Manual](/docs/id/permission-modes) untuk path di dalam direktori kerja. Tools akses file yang ditandai Tidak, termasuk `Read`, `Grep`, dan `Glob`, masih meminta path di luar [direktori kerja dan direktori tambahan](/docs/id/permissions#working-directories). `Bash` ditandai Ya tetapi menjalankan set bawaan [perintah read-only](/docs/id/permissions#read-only-commands) tanpa meminta.

17</Info>17</Info>

18 18 

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


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

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

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

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

31| `EnterWorktree` | Membuat [git worktree](/docs/id/worktrees) terisolasi dan beralih ke dalamnya. Berikan `path` untuk beralih ke worktree yang ada alih-alih membuat yang baru. Pada entri pertama target mungkin worktree dari repositori saat ini atau, dalam ruang kerja multi-repo, dari repositori yang bersarang di dalamnya. Sebelum v2.1.203, worktree repositori bersarang ditolak. A `path` di luar `.claude/worktrees/` meminta persetujuan Anda sebelum memasuki, karena memindahkan direktori kerja sesi dan akses tulis ke lokasi tersebut. Pembuatan worktree baru dan path di bawah `.claude/worktrees/` tidak meminta. Sebelum v2.1.206, Claude memasuki path di luar `.claude/worktrees/` tanpa prompt. Dari dalam sesi worktree, atau dari subagent dengan direktori kerja yang disematkan seperti [`isolation: worktree`](/docs/id/sub-agents#supported-frontmatter-fields), hanya bentuk `path` yang tersedia dan target harus berada di bawah `.claude/worktrees/` dari repositori sesi | Ya |31| `EnterWorktree` | Membuat [git worktree](/docs/id/worktrees) terisolasi dan beralih ke dalamnya. Berikan `path` untuk beralih ke worktree yang ada alih-alih membuat yang baru. Pada entri pertama target mungkin worktree dari repositori saat ini atau, dalam ruang kerja multi-repo, dari repositori yang bersarang di dalamnya. Sebelum v2.1.203, worktree repositori bersarang ditolak. A `path` di luar `.claude/worktrees/` meminta persetujuan Anda sebelum memasuki, karena memindahkan direktori kerja sesi dan akses tulis ke lokasi tersebut. Pembuatan worktree baru dan path di bawah `.claude/worktrees/` tidak meminta. Sebelum v2.1.206, Claude memasuki path di luar `.claude/worktrees/` tanpa prompt. Dari dalam sesi worktree, atau dari subagent dengan direktori kerja yang disematkan seperti [`isolation: worktree`](/docs/id/sub-agents#supported-frontmatter-fields), hanya bentuk `path` yang tersedia dan target harus berada di bawah `.claude/worktrees/` dari repositori sesi | Ya |

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

33| `ExitWorktree` | Keluar dari sesi worktree dan kembali ke direktori asli. Tidak tersedia untuk subagent yang sudah berjalan di direktori kerja mereka sendiri, seperti dengan [`isolation: worktree`](/docs/id/sub-agents#supported-frontmatter-fields) | Tidak |33| `ExitWorktree` | Keluar dari sesi worktree dan kembali ke direktori asli. Tidak tersedia untuk subagent yang sudah berjalan di direktori kerja mereka sendiri, seperti dengan [`isolation: worktree`](/docs/id/sub-agents#supported-frontmatter-fields) | Tidak |

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

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

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

37| `ListMcpResourcesTool` | Mencantumkan sumber daya yang diekspos oleh [server MCP](/docs/id/mcp) yang terhubung | Tidak |37| `ListMcpResourcesTool` | Mencantumkan sumber daya yang diekspos oleh [server MCP](/docs/id/mcp) yang terhubung, meninggalkan [sumber daya UI Aplikasi MCP](/docs/id/mcp#reference-mcp-resources), yang merupakan halaman untuk aplikasi host untuk dirender | Tidak |

38| `LSP` | Intelijen kode melalui server bahasa: lompat ke definisi, temukan referensi, laporkan kesalahan tipe dan peringatan. Lihat [Perilaku tool LSP](#lsp-tool-behavior) | Tidak |38| `LSP` | Intelijen kode melalui server bahasa: lompat ke definisi, temukan referensi, laporkan kesalahan tipe dan peringatan. Lihat [Perilaku tool LSP](#lsp-tool-behavior) | Tidak |

39| `Monitor` | Menjalankan perintah di latar belakang dan memberi makan setiap baris output kembali ke Claude, sehingga dapat bereaksi terhadap entri log, perubahan file, atau status yang disurvei di tengah percakapan. Dapat juga membuka WebSocket dan memperlakukan setiap pesan masuk sebagai acara. Lihat [Tool Monitor](#monitor-tool) | Ya |39| `Monitor` | Menjalankan perintah di latar belakang dan memberi makan setiap baris output kembali ke Claude, sehingga dapat bereaksi terhadap entri log, perubahan file, atau status yang disurvei di tengah percakapan. Dapat juga membuka WebSocket dan memperlakukan setiap pesan masuk sebagai acara. Lihat [Tool Monitor](#monitor-tool) | Ya |

40| `NotebookEdit` | Memodifikasi sel notebook Jupyter. Lihat [Perilaku tool NotebookEdit](#notebookedit-tool-behavior) | Ya |40| `NotebookEdit` | Memodifikasi sel notebook Jupyter. Lihat [Perilaku tool NotebookEdit](#notebookedit-tool-behavior) | Ya |

Details

41| `running scripts is disabled on this system` atau `PSSecurityException` | [Izinkan npm shims untuk berjalan](#running-scripts-is-disabled-on-this-system) |41| `running scripts is disabled on this system` atau `PSSecurityException` | [Izinkan npm shims untuk berjalan](#running-scripts-is-disabled-on-this-system) |

42| `Error: claude native binary not installed` | [Selesaikan npm install](#native-binary-not-found-after-npm-install) |42| `Error: claude native binary not installed` | [Selesaikan npm install](#native-binary-not-found-after-npm-install) |

43| `npm error code ENOTEMPTY` selama update atau reinstall | [Hapus direktori paket yang tersisa](#npm-enotempty-during-update-or-reinstall) |43| `npm error code ENOTEMPTY` selama update atau reinstall | [Hapus direktori paket yang tersisa](#npm-enotempty-during-update-or-reinstall) |

44| `'claude' is not recognized` tepat setelah update di Windows | [Pulihkan `claude.exe` dari backup-nya](#claude-exe-missing-after-an-update-on-windows) |

44| Di Windows, perintah install mencetak teks script dan tidak ada yang terinstal | [Jalankan perintah install lengkap](#wrong-install-command-on-windows) |45| Di Windows, perintah install mencetak teks script dan tidak ada yang terinstal | [Jalankan perintah install lengkap](#wrong-install-command-on-windows) |

45| `App unavailable in region` | Claude Code tidak tersedia di negara Anda. Lihat [negara yang didukung](https://www.anthropic.com/supported-countries). |46| `App unavailable in region` | Claude Code tidak tersedia di negara Anda. Lihat [negara yang didukung](https://www.anthropic.com/supported-countries). |

46| `unable to get local issuer certificate` | [Konfigurasi sertifikat CA perusahaan](#tls-or-ssl-connection-errors) |47| `unable to get local issuer certificate` | [Konfigurasi sertifikat CA perusahaan](#tls-or-ssl-connection-errors) |

47| `OAuth error` atau `403 Forbidden` | [Perbaiki authentication](#login-and-authentication) |48| `OAuth error` atau `403 Forbidden` | [Perbaiki authentication](#login-and-authentication) |

49| `Claude Code access has not been granted for this account` | [Dapatkan peran yang mencakup Claude Code](#claude-code-access-has-not-been-granted-for-this-account) |

48| `Unable to connect to Anthropic services` selama setup | Lihat [Unable to connect to Anthropic services](/docs/id/errors#unable-to-connect-to-anthropic-services) dalam referensi Error |50| `Unable to connect to Anthropic services` selama setup | Lihat [Unable to connect to Anthropic services](/docs/id/errors#unable-to-connect-to-anthropic-services) dalam referensi Error |

49| `Could not load the default credentials` atau `Could not load credentials from any providers` | [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry credentials](#bedrock-agent-platform-or-foundry-credentials-not-loading) |51| `Could not load the default credentials` atau `Could not load credentials from any providers` | [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry credentials](#bedrock-agent-platform-or-foundry-credentials-not-loading) |

50| `ChainedTokenCredential authentication failed` atau `CredentialUnavailableError` | [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry credentials](#bedrock-agent-platform-or-foundry-credentials-not-loading) |52| `ChainedTokenCredential authentication failed` atau `CredentialUnavailableError` | [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry credentials](#bedrock-agent-platform-or-foundry-credentials-not-loading) |


142 source ~/.zshrc144 source ~/.zshrc

143 ```145 ```

144 146 

145 Untuk Bash, default di sebagian besar distribusi Linux:147 Untuk Bash di Linux, di mana ini adalah default di sebagian besar distribusi:

146 148 

147 ```bash theme={null}149 ```bash theme={null}

148 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc150 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

149 source ~/.bashrc151 source ~/.bashrc

150 ```152 ```

151 153 

154 Untuk Bash di macOS, tambahkan baris ke `~/.bash_profile` sebagai gantinya. Terminal di macOS memulai Bash sebagai login shell, yang mengabaikan `~/.bashrc` dan hanya membaca yang pertama dari `~/.bash_profile`, `~/.bash_login`, atau `~/.profile` yang ada. Jika Anda sudah memiliki `~/.bash_login` atau `~/.profile` dan tidak ada `~/.bash_profile`, letakkan baris di file itu daripada membuat `~/.bash_profile`:

155 

156 ```bash theme={null}

157 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile

158 source ~/.bash_profile

159 ```

160 

152 Atau, tutup dan buka kembali terminal Anda.161 Atau, tutup dan buka kembali terminal Anda.

153 162 

154 Untuk shell lain seperti fish atau Nushell, tambahkan `~/.local/bin` ke PATH Anda menggunakan sintaks konfigurasi shell Anda sendiri, kemudian restart terminal Anda.163 Untuk shell lain seperti fish atau Nushell, tambahkan `~/.local/bin` ke PATH Anda menggunakan sintaks konfigurasi shell Anda sendiri, kemudian restart terminal Anda.


593irm https://claude.ai/install.ps1 | iex602irm https://claude.ai/install.ps1 | iex

594```603```

595 604 

605<h3 id="claude-exe-missing-after-an-update-on-windows">

606 `claude.exe` missing after an update on Windows

607</h3>

608 

609Jika terminal Anda melaporkan `'claude' is not recognized` tepat setelah Claude Code diperbarui di Windows, periksa apakah `%USERPROFILE%\.local\bin` masih berisi `claude.exe`. Jika direktori itu tidak ada di PATH Anda sama sekali, lihat [Fix your PATH](#command-not-found-claude-after-installation) sebagai gantinya. Untuk memperbarui di Windows, Claude Code mengganti nama `claude.exe` yang ada ke samping sebagai backup dan memindahkan versi baru ke tempatnya. Jika memindahkan versi baru ke tempat gagal dan Claude Code tidak dapat mengganti nama backup kembali juga, direktori menyimpan backup tetapi tidak memiliki `claude.exe`.

610 

611Backup adalah file di direktori yang sama yang namanya dimulai dengan `claude.exe.old.` diikuti oleh timestamp numerik. Jalankan yang berikut di PowerShell untuk mengganti nama backup terbaru kembali ke `claude.exe`:

612 

613```powershell theme={null}

614Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe

615```

616 

617Kemudian jalankan `claude --version` untuk mengkonfirmasi perbaikan. `claude.exe` yang dipulihkan mencetak nomor versi.

618 

619Jika tidak ada file `claude.exe.old.*`, atau `claude` masih gagal setelah penggantian nama, instal ulang sebagai gantinya:

620 

621```powershell theme={null}

622irm https://claude.ai/install.ps1 | iex

623```

624 

625Sebelum v2.1.281, Claude Code dapat menghapus backup sementara `claude.exe` masih hilang.

626 

596<h3 id="install-killed-on-low-memory-linux-servers">627<h3 id="install-killed-on-low-memory-linux-servers">

597 Install killed on low-memory Linux servers628 Install killed on low-memory Linux servers

598</h3>629</h3>


992* **Anthropic Console users**: konfirmasi akun Anda memiliki role "Claude Code" atau "Developer". Admins menetapkan ini di Anthropic Console di bawah Settings → Members.1023* **Anthropic Console users**: konfirmasi akun Anda memiliki role "Claude Code" atau "Developer". Admins menetapkan ini di Anthropic Console di bawah Settings → Members.

993* **Di belakang proxy**: corporate proxies dapat mengganggu permintaan API. Lihat [network configuration](/docs/id/network-config) untuk setup proxy.1024* **Di belakang proxy**: corporate proxies dapat mengganggu permintaan API. Lihat [network configuration](/docs/id/network-config) untuk setup proxy.

994 1025 

1026<h3 id="claude-code-access-has-not-been-granted-for-this-account">

1027 Claude Code access has not been granted for this account

1028</h3>

1029 

1030Jika halaman sign-in menampilkan `Authorization failed` dengan pesan `Claude Code access has not been granted for this account. Contact your administrator.` setelah Anda login dari Claude Code, organisasi Claude Enterprise Anda telah menetapkan role Anda ke Custom dan tidak ada [custom roles](https://support.claude.com/en/articles/13930452) yang ditetapkan ke grup Anda yang memberikan Claude Code. Pada Custom role, Anda hanya mendapatkan akses dari custom roles tersebut, jadi tidak ada yang dapat Anda ubah di Claude Code yang menyelesaikan error ini.

1031 

1032Untuk mendapatkan akses:

1033 

10341. Minta Owner organisasi Claude Anda untuk menetapkan custom role yang memberikan akses Claude Code ke salah satu grup Anda, atau untuk mengubah role Anda dari Custom ke standard role seperti User. Owners mengelola roles di [role settings](https://claude.ai/admin-settings/roles) organisasi.

10352. Setelah Owner membuat perubahan, jalankan `claude` dan login lagi.

1036 

995<h3 id="this-organization-has-been-disabled-with-an-active-subscription">1037<h3 id="this-organization-has-been-disabled-with-an-active-subscription">

996 This organization has been disabled with an active subscription1038 This organization has been disabled with an active subscription

997</h3>1039</h3>

Details

17| Sesi dimulai dalam mode otomatis, atau Claude mengedit file dan menjalankan perintah tanpa bertanya | [Which mode a session starts in](/docs/id/permission-modes#which-mode-a-session-starts-in) |17| Sesi dimulai dalam mode otomatis, atau Claude mengedit file dan menjalankan perintah tanpa bertanya | [Which mode a session starts in](/docs/id/permission-modes#which-mode-a-session-starts-in) |

18| `API Error: 5xx`, `529 Overloaded`, `429`, kesalahan validasi permintaan | [Error reference](/docs/id/errors) |18| `API Error: 5xx`, `529 Overloaded`, `429`, kesalahan validasi permintaan | [Error reference](/docs/id/errors) |

19| `model not found` atau `you may not have access to it` | [Error reference](/docs/id/errors#theres-an-issue-with-the-selected-model) |19| `model not found` atau `you may not have access to it` | [Error reference](/docs/id/errors#theres-an-issue-with-the-selected-model) |

20| Perintah yang dijalankan Claude gagal dengan `Your disk quota is full`, `is full (ENOSPC)`, atau `Command output was lost` | [Error reference](/docs/id/errors#disk-quota-or-temp-filesystem-is-full) |

20| Ekstensi VS Code tidak terhubung atau tidak mendeteksi Claude | [VS Code integration](/docs/id/vs-code#fix-common-issues) |21| Ekstensi VS Code tidak terhubung atau tidak mendeteksi Claude | [VS Code integration](/docs/id/vs-code#fix-common-issues) |

21| `Claude Code process exited with code 1` di VS Code atau aplikasi SDK | [Error reference](/docs/id/errors#claude-code-process-exited-with-code-n) |22| `Claude Code process exited with code 1` di VS Code atau aplikasi SDK | [Error reference](/docs/id/errors#claude-code-process-exited-with-code-n) |

22| Plugin JetBrains atau IDE tidak terdeteksi | [JetBrains integration](/docs/id/jetbrains#troubleshooting) |23| Plugin JetBrains atau IDE tidak terdeteksi | [JetBrains integration](/docs/id/jetbrains#troubleshooting) |

Details

30 Aktifkan dikte suara30 Aktifkan dikte suara

31</h2>31</h2>

32 32 

33Jalankan `/voice` untuk mengaktifkan dikte. Pertama kali Anda mengaktifkannya, Claude Code menjalankan pemeriksaan mikrofon. Di macOS, ini memicu prompt izin mikrofon sistem untuk terminal Anda jika belum pernah diberikan.33Jalankan `/voice` untuk mengaktifkan dikte. Ketika Anda mengaktifkannya, Claude Code menjalankan pemeriksaan mikrofon. Di macOS, ini memicu prompt izin mikrofon sistem untuk terminal Anda jika belum pernah diberikan.

34 34 

35```35```

36/voice36/voice


190* **`Voice mode requires SoX for audio recording` on Linux**: modul audio native tidak dapat dimuat dan tidak ada fallback yang terinstal. Instal SoX dengan perintah yang ditampilkan dalam pesan kesalahan, misalnya `sudo apt-get install sox`.190* **`Voice mode requires SoX for audio recording` on Linux**: modul audio native tidak dapat dimuat dan tidak ada fallback yang terinstal. Instal SoX dengan perintah yang ditampilkan dalam pesan kesalahan, misalnya `sudo apt-get install sox`.

191* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX terinstal, tetapi host tidak memiliki perangkat penangkap audio, misalnya server headless atau container. Jalankan Claude Code di mesin yang memiliki mikrofon. Mulai dari v2.1.195, Claude Code di Linux melaporkan pesan ini dalam situasi tersebut; versi sebelumnya meminta Anda untuk menginstal SoX bahkan ketika sudah terinstal.191* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX terinstal, tetapi host tidak memiliki perangkat penangkap audio, misalnya server headless atau container. Jalankan Claude Code di mesin yang memiliki mikrofon. Mulai dari v2.1.195, Claude Code di Linux melaporkan pesan ini dalam situasi tersebut; versi sebelumnya meminta Anda untuk menginstal SoX bahkan ketika sudah terinstal.

192* **`Voice mode could not find a working audio recorder in WSL`**: WSLg merutekan audio melalui PulseAudio daripada perangkat ALSA, jadi SoX memerlukan backend PulseAudio-nya terinstal secara eksplisit. Jalankan `sudo apt install sox libsox-fmt-pulse`. Menginstal `sox` saja menarik backend ALSA, yang tidak dapat merekam di WSL karena tidak ada perangkat `/dev/snd`.192* **`Voice mode could not find a working audio recorder in WSL`**: WSLg merutekan audio melalui PulseAudio daripada perangkat ALSA, jadi SoX memerlukan backend PulseAudio-nya terinstal secara eksplisit. Jalankan `sudo apt install sox libsox-fmt-pulse`. Menginstal `sox` saja menarik backend ALSA, yang tidak dapat merekam di WSL karena tidak ada perangkat `/dev/snd`.

193* **`Voice input is failing repeatedly and has been paused`**: voice dictation mengalami tiga kegagalan penangkapan dalam 10 detik. Claude Code menjeda dictation hingga 10 detik telah berlalu sejak yang pertama dari kegagalan tersebut. Kegagalan dihitung apakah mikrofon gagal dimulai atau perekam dimulai dan kemudian berhenti tanpa menghasilkan audio apa pun. Ini biasanya berarti mikrofon atau audio stack di host ini tidak dapat menangkap audio, misalnya server headless, shell jarak jauh tanpa passthrough audio, atau izin mikrofon ditolak. Konfirmasi perangkat input yang berfungsi, perbaiki penyebab mendasar dari entri di atas, kemudian picu voice lagi. Sebelum v2.1.202, hanya kegagalan start-up yang diperhitungkan menuju jeda.193* **`Voice input is failing repeatedly and has been paused`**: voice dictation mengalami tiga kegagalan dalam 10 detik. Claude Code menjeda dictation hingga 10 detik telah berlalu sejak yang pertama dari kegagalan tersebut. Ini biasanya berarti mikrofon atau audio stack di host ini tidak dapat menangkap audio, misalnya server headless, shell jarak jauh tanpa passthrough audio, atau izin mikrofon ditolak. Konfirmasi perangkat input yang berfungsi, perbaiki penyebab mendasar dari entri di atas, kemudian picu voice lagi. Sebelum v2.1.202, hanya kegagalan start-up yang diperhitungkan menuju jeda.

194* **Nothing happens when holding `Space` in hold mode**: perhatikan input prompt saat Anda menahan. Jika spasi terus bertambah, voice dictation kemungkinan besar mati; jalankan `/voice hold` untuk mengaktifkannya. Jika hanya satu atau dua spasi muncul dan kemudian tidak ada, voice dictation aktif tetapi deteksi hold tidak terpicu. Deteksi hold memerlukan terminal Anda untuk mengirim key-repeat events, jadi tidak dapat mendeteksi kunci yang ditahan jika key-repeat dinonaktifkan di tingkat OS. Beralih ke tap mode dengan `/voice tap` untuk menghindari persyaratan key-repeat.194* **Nothing happens when holding `Space` in hold mode**: perhatikan input prompt saat Anda menahan. Jika spasi terus bertambah, voice dictation kemungkinan besar mati; jalankan `/voice hold` untuk mengaktifkannya. Jika hanya satu atau dua spasi muncul dan kemudian tidak ada, voice dictation aktif tetapi deteksi hold tidak terpicu. Deteksi hold memerlukan terminal Anda untuk mengirim key-repeat events, jadi tidak dapat mendeteksi kunci yang ditahan jika key-repeat dinonaktifkan di tingkat OS. Beralih ke tap mode dengan `/voice tap` untuk menghindari persyaratan key-repeat.

195* **Tapping `Space` types a space instead of recording in tap mode**: ketukan pertama hanya memulai perekaman ketika input prompt kosong. Hapus input terlebih dahulu, atau periksa bahwa Anda dalam tap mode dengan menjalankan `/voice tap`.195* **Tapping `Space` types a space instead of recording in tap mode**: ketukan pertama hanya memulai perekaman ketika input prompt kosong. Hapus input terlebih dahulu, atau periksa bahwa Anda dalam tap mode dengan menjalankan `/voice tap`.

196* **`No audio detected from microphone`**: perekaman dimulai tetapi menangkap kesunyian. Konfirmasi perangkat input yang benar diatur sebagai default sistem dan tingkat inputnya tidak dibisukan atau mendekati nol. Di Windows, buka Settings → System → Sound → Input dan pilih mikrofon Anda. Di macOS, buka System Settings → Sound → Input.196* **`No audio detected from microphone`**: perekaman dimulai tetapi menangkap kesunyian. Konfirmasi perangkat input yang benar diatur sebagai default sistem dan tingkat inputnya tidak dibisukan atau mendekati nol. Di Windows, buka Settings → System → Sound → Input dan pilih mikrofon Anda. Di macOS, buka System Settings → Sound → Input.

vs-code.md +30 −7

Details

109 109 

110Kotak prompt mendukung beberapa fitur:110Kotak prompt mendukung beberapa fitur:

111 111 

112* **Mode izin**: klik indikator mode di bagian bawah kotak prompt untuk beralih mode izin. Pada paket Pro, Max, dan Team, Auto adalah mode izin bawaan awal. Lihat [bagaimana ekstensi memilih mode izin awal](/docs/id/permission-modes#switch-permission-modes) untuk mengetahui apa yang mengubahnya, dan setiap mode izin yang ditawarkan indikator.112* **Mode izin**: klik indikator mode di bagian bawah kotak prompt untuk beralih mode izin. Dengan Claude Code v2.1.283 atau lebih baru, Auto adalah mode izin bawaan awal, dan pada versi sebelumnya hanya pada paket Pro, Max, dan Team. Lihat [bagaimana ekstensi memilih mode izin awal](/docs/id/permission-modes#switch-permission-modes) untuk mengetahui apa yang mengubahnya, dan setiap mode izin yang ditawarkan indikator.

113 * **Auto**: pengklasifikasi meninjau sebagian besar tindakan alih-alih meminta Anda. Lihat [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk mengetahui apa yang ditinjau dan diblokir.113 * **Auto**: pengklasifikasi meninjau sebagian besar tindakan alih-alih meminta Anda. Lihat [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk mengetahui apa yang ditinjau dan diblokir.

114 * **Manual**: Claude meminta izin sebelum pengeditan file dan sebagian besar perintah shell.114 * **Manual**: Claude meminta izin sebelum pengeditan file dan sebagian besar perintah shell.

115 * **Plan**: Claude menjelaskan apa yang akan dilakukan dan menunggu persetujuan sebelum membuat perubahan. VS Code secara otomatis membuka rencana sebagai dokumen Markdown lengkap di mana Anda dapat menambahkan komentar inline untuk memberikan umpan balik sebelum Claude dimulai.115 * **Plan**: Claude menjelaskan apa yang akan dilakukan dan menunggu persetujuan sebelum membuat perubahan. VS Code secara otomatis membuka rencana sebagai dokumen Markdown lengkap di mana Anda dapat menambahkan komentar inline untuk memberikan umpan balik sebelum Claude dimulai.


123* **Model**: pilih **Switch model…** dari menu perintah untuk mengubah model di tengah sesi. Anda juga dapat mengklik nama model di bagian bawah kotak prompt untuk membuka pemilih yang sama.123* **Model**: pilih **Switch model…** dari menu perintah untuk mengubah model di tengah sesi. Anda juga dapat mengklik nama model di bagian bawah kotak prompt untuk membuka pemilih yang sama.

124 124 

125 Ketika model saat ini mendukung [tingkat upaya](/docs/id/model-config#adjust-effort-level), pemilih juga menampilkan baris **Effort** dan tombol nama model menunjukkan tingkat yang dipilih. Ketika Anda memilih tingkat selain `max`, Claude Code menyimpannya untuk model saat ini sebagai default Anda, di bawah [`modelSettings`](/docs/id/settings-reference#modelsettings) dalam pengaturan pengguna Anda; `max` berlaku hanya untuk sesi saat ini. Tombol nama model dan baris **Effort** memerlukan Claude Code v2.1.257 atau lebih baru.125 Ketika model saat ini mendukung [tingkat upaya](/docs/id/model-config#adjust-effort-level), pemilih juga menampilkan baris **Effort** dan tombol nama model menunjukkan tingkat yang dipilih. Ketika Anda memilih tingkat selain `max`, Claude Code menyimpannya untuk model saat ini sebagai default Anda, di bawah [`modelSettings`](/docs/id/settings-reference#modelsettings) dalam pengaturan pengguna Anda; `max` berlaku hanya untuk sesi saat ini. Tombol nama model dan baris **Effort** memerlukan Claude Code v2.1.257 atau lebih baru.

126 

127 Ketika [dynamic workflows](/docs/id/workflows) diaktifkan dan model saat ini mendukungnya, switch **Ultracode** muncul di bawah baris **Effort**. Aktifkan untuk membuat Claude merencanakan [workflow](/docs/id/workflows#let-claude-decide-with-ultracode) untuk setiap tugas substansial dalam sesi ini, pada tingkat upaya yang dipilih. Saat aktif, tombol nama model menunjukkan `· Ultracode` setelah tingkatnya. Switch memerlukan Claude Code v2.1.284 atau lebih baru.

126* **Command menu**: klik `/` atau ketik `/` untuk membuka menu perintah. Opsi termasuk melampirkan file, beralih model, dan mengalihkan pemikiran yang diperluas.128* **Command menu**: klik `/` atau ketik `/` untuk membuka menu perintah. Opsi termasuk melampirkan file, beralih model, dan mengalihkan pemikiran yang diperluas.

127 129 

128 Bagian Customize menyediakan akses ke server MCP, slash commands, gaya output, hooks, memory, instructions, permissions, dan plugins. Item dengan ikon terminal terbuka di terminal terintegrasi.130 Bagian Customize menyediakan akses ke server MCP, slash commands, gaya output, hooks, memory, instructions, permissions, dan plugins. Item dengan ikon terminal terbuka di terminal terintegrasi.


150 152 

151 Daftar tugas terbaru Claude tetap terlihat, dan begitu juga dengan teks pertanyaan yang tertunda dari Claude yang ditanyakan; ini memerlukan Claude Code v2.1.225 atau lebih baru. Saat Claude menjalankan [subagents](/docs/id/sub-agents), baris kemajuan langsung dengan aktivitas terbaru mereka muncul di bawah grup panggilan alat yang memulainya. Ini memerlukan Claude Code v2.1.269 atau lebih baru.153 Daftar tugas terbaru Claude tetap terlihat, dan begitu juga dengan teks pertanyaan yang tertunda dari Claude yang ditanyakan; ini memerlukan Claude Code v2.1.225 atau lebih baru. Saat Claude menjalankan [subagents](/docs/id/sub-agents), baris kemajuan langsung dengan aktivitas terbaru mereka muncul di bawah grup panggilan alat yang memulainya. Ini memerlukan Claude Code v2.1.269 atau lebih baru.

152 * Untuk keluar dari akun Anthropic Anda, pilih **Sign out** di bagian Settings, atau ketik `/logout`. Pada [penyedia pihak ketiga](#use-third-party-providers), menu tidak menawarkan keduanya. Memerlukan Claude Code v2.1.277 atau lebih baru.154 * Untuk keluar dari akun Anthropic Anda, pilih **Sign out** di bagian Settings, atau ketik `/logout`. Pada [penyedia pihak ketiga](#use-third-party-providers), menu tidak menawarkan keduanya. Memerlukan Claude Code v2.1.277 atau lebih baru.

153 * Untuk melaporkan bug, klik **Report a problem** di bagian bawah menu, atau ketik `/bug` atau `/feedback` dengan deskripsi opsional yang mengisi laporan sebelumnya. Ketika Anda mengirimkan laporan dan Anda masuk ke Anthropic pada koneksi pihak pertama, Claude Code mengirimkannya ke Anthropic. Pada penyedia pihak ketiga, atau tanpa kredensial Anthropic, dialog masih terbuka, tetapi mengirimkan menunjukkan kesalahan dan tidak mengirim apa pun: tidak seperti `/bug` CLI, ekstensi tidak menulis arsip lokal. Memerlukan Claude Code v2.1.229 atau lebih baru.155 * Untuk melaporkan bug, klik **Report a problem** di bagian bawah menu, atau ketik `/bug` atau `/feedback` dengan deskripsi opsional yang mengisi laporan sebelumnya. Ketika Anda mengirimkan laporan dan Anda masuk ke Anthropic pada koneksi pihak pertama, Claude Code mengirimkannya ke Anthropic. Memerlukan Claude Code v2.1.229 atau lebih baru.

156 

157 Pada penyedia pihak ketiga, atau tanpa kredensial Anthropic, tidak ada yang dikirim. Dialog mengatakan demikian sebelum Anda menulis. Mengirimkan menyimpan laporan sebagai [arsip lokal di bawah `~/.claude/feedback-bundles/`](/docs/id/data-usage#telemetry-services) dengan pola kunci API dan token yang diketahui dihapus. Kirimkan file itu ke perwakilan akun Anthropic Anda atau lampirkan ke permintaan dukungan. Konfirmasi menyebutkan nama file dan menyertakan tombol **Show folder**. Menyimpan laporan di komputer Anda memerlukan Claude Code v2.1.284 atau lebih baru.

154 158 

155 Jika kebijakan organisasi Anda mematikan umpan balik produk, **Report a problem** tidak muncul di menu, dan `/bug` serta `/feedback` menampilkan pemberitahuan `Feedback is turned off by your organization's policy or this environment's settings.` alih-alih membuka laporan.159 Jika kebijakan organisasi Anda mematikan umpan balik produk, **Report a problem** tidak muncul di menu, dan `/bug` serta `/feedback` menampilkan pemberitahuan `Feedback is turned off by your organization's policy or this environment's settings.` alih-alih membuka laporan. Dengan Claude Code v2.1.284 atau lebih baru, jika Anda menetapkan variabel lingkungan `DISABLE_FEEDBACK_COMMAND` atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, umpan balik juga dimatikan dan membuka laporan menunjukkan pemberitahuan itu sebagai gantinya.

156* **Side questions**: ketik `/btw` diikuti oleh pertanyaan untuk bertanya tentang sesi Anda [tanpa menambah percakapan](/docs/id/interactive-mode#side-questions-with-%2Fbtw). Jawaban terbuka di panel di samping obrolan, di mana Anda dapat mengajukan pertanyaan lanjutan. Thread bertahan dari muat ulang jendela. Claude Code menyimpan 20 pertukaran terbaru dan thread yang disimpan kedaluwarsa pada jadwal [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays), selama Claude Code dapat [dengan aman menentukan periode retensi](/docs/id/claude-directory#cleaned-up-automatically). Untuk menghapus thread, klik ikon tempat sampah di panel. Memerlukan Claude Code v2.1.227 atau lebih baru.160* **Side questions**: ketik `/btw` diikuti oleh pertanyaan untuk bertanya tentang sesi Anda [tanpa menambah percakapan](/docs/id/interactive-mode#side-questions-with-%2Fbtw). Jawaban terbuka di panel di samping obrolan, di mana Anda dapat mengajukan pertanyaan lanjutan. Thread bertahan dari muat ulang jendela. Claude Code menyimpan 20 pertukaran terbaru dan thread yang disimpan kedaluwarsa pada jadwal [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays), selama Claude Code dapat [dengan aman menentukan periode retensi](/docs/id/claude-directory#cleaned-up-automatically). Untuk menghapus thread, klik ikon tempat sampah di panel. Memerlukan Claude Code v2.1.227 atau lebih baru.

157* **Copy a response**: arahkan kursor ke respons dan klik **Copy response** untuk menyalinnya ke clipboard Anda, atau ketik `/copy` untuk menyalin respons terbaru. `/copy 2` menyalin yang kedua terakhir. Memerlukan Claude Code v2.1.277 atau lebih baru.161* **Copy a response**: arahkan kursor ke respons dan klik **Copy response** untuk menyalinnya ke clipboard Anda, atau ketik `/copy` untuk menyalin respons terbaru. `/copy 2` menyalin yang kedua terakhir. Memerlukan Claude Code v2.1.277 atau lebih baru.

158* **Context indicator**: kotak prompt menunjukkan berapa banyak jendela konteks Claude yang Anda gunakan. Claude secara otomatis mengompres saat diperlukan, atau Anda dapat menjalankan `/compact` secara manual.162* **Context indicator**: kotak prompt menunjukkan berapa banyak jendela konteks Claude yang Anda gunakan. Claude secara otomatis mengompres saat diperlukan, atau Anda dapat menjalankan `/compact` secara manual.


242 </Step>246 </Step>

243 247 

244 <Step title="Select a session to resume">248 <Step title="Select a session to resume">

245 Telusuri atau cari sesi cloud Anda. Klik sesi apa pun untuk mengunduhnya dan melanjutkan percakapan secara lokal.249 Telusuri atau cari sesi. Klik satu untuk melanjutkan percakapan secara lokal.

246 </Step>250 </Step>

247</Steps>251</Steps>

248 252 

249<Note>253<Note>

250 Hanya sesi cloud yang dimulai dengan repositori GitHub yang muncul di tab Web. Melanjutkan memuat riwayat percakapan secara lokal; perubahan tidak disinkronkan kembali ke claude.ai.254 Ketika folder yang Anda buka adalah repositori GitHub, tab Web hanya menampilkan sesi dari repositori itu.

255 

256 Ketika Anda melanjutkan sesi cloud, ekstensi mengunduh salinan riwayat percakapan; perubahan tidak disinkronkan kembali ke claude.ai.

251</Note>257</Note>

252 258 

259Tab Web juga mencantumkan sesi [Remote Control](/docs/id/remote-control) Anda. Jika Anda mengklik sesi yang berjalan di folder yang Anda buka, ekstensi membuka percakapan lokal itu alih-alih mengunduh salinan, dan memfokuskan tab yang sudah menampilkannya jika ada. Jika ekstensi tidak dapat mengesampingkan bahwa proses Claude lain memiliki percakapan terbuka, Anda mendapatkan salinan yang diunduh sebagai gantinya.

260 

261Jika ada bagian dari percakapan yang gagal diunduh, kesalahan muncul dan tidak ada salinan yang disimpan. Pilih sesi lagi untuk mencoba lagi. Jika Anda memilih sesi yang belum memiliki percakapan untuk diunduh, kesalahan memberi tahu Anda di mana melanjutkannya.

262 

253<h3 id="check-account-and-usage">263<h3 id="check-account-and-usage">

254 Periksa akun dan penggunaan264 Periksa akun dan penggunaan

255</h3>265</h3>


269 Sesuaikan alur kerja Anda279 Sesuaikan alur kerja Anda

270</h2>280</h2>

271 281 

272Anda dapat mengubah posisi panel Claude, menjalankan beberapa percakapan, mengorganisir daftar sesi ke dalam grup, atau beralih ke mode terminal.282Anda dapat mengubah posisi panel Claude, menjalankan beberapa percakapan, mengelompokkan atau memfilter daftar sesi, atau beralih ke mode terminal.

273 283 

274<h3 id="choose-where-claude-lives">284<h3 id="choose-where-claude-lives">

275 Pilih di mana Claude berada285 Pilih di mana Claude berada


319 329 

320Ekstensi menyimpan grup per folder workspace, sehingga mereka bertahan dari reload jendela dan muncul di setiap jendela tempat Anda membuka folder yang sama. Saat Anda mencari daftar, ekstensi menampilkan kecocokan dalam satu daftar datar di semua grup.330Ekstensi menyimpan grup per folder workspace, sehingga mereka bertahan dari reload jendela dan muncul di setiap jendela tempat Anda membuka folder yang sama. Saat Anda mencari daftar, ekstensi menampilkan kecocokan dalam satu daftar datar di semua grup.

321 331 

332<h3 id="filter-the-sessions-list">

333 Filter daftar sesi

334</h3>

335 

336Untuk mempersempit daftar sesi yang panjang di Activity Bar, gunakan dua kontrol filter di bagian atas daftar. Memerlukan Claude Code v2.1.271 atau lebih baru. Sesi yang diarsipkan tidak muncul saat salah satu filter aktif.

337 

338* **Active**: aktifkan toggle ini untuk menampilkan hanya sesi yang memerlukan input Anda, sedang bekerja, atau belum dibaca, ditambah sesi di tab Claude yang terakhir Anda fokuskan.

339* **Filter by status**: klik ikon corong, kemudian centang **Needs input**, **Working**, atau **Completed** untuk menampilkan sesi dalam salah satu status tersebut. Centang **Open** atau **Closed** untuk mempersempit berdasarkan apakah sesi terbuka. Sesi dihitung sebagai terbuka ketika memiliki tab di jendela ini atau sedang berjalan di proses Claude Code lain di mesin ini, seperti di terminal.

340 

341Ketika **Active** aktif dan Anda mencentang status, **Open**, atau **Closed**, daftar juga menampilkan setiap sesi yang cocok dengan pilihan Anda. Filter yang Anda atur bertahan di seluruh reload jendela.

342 

322<h3 id="switch-to-terminal-mode">343<h3 id="switch-to-terminal-mode">

323 Beralih ke mode terminal344 Beralih ke mode terminal

324</h3>345</h3>


506Ekstensi memiliki dua jenis pengaturan:527Ekstensi memiliki dua jenis pengaturan:

507 528 

508* **Pengaturan ekstensi** di VS Code: mengontrol perilaku ekstensi dalam VS Code. Buka dengan `Cmd+,` (Mac) atau `Ctrl+,` (Windows/Linux), kemudian buka Extensions → Claude Code. Anda juga dapat mengetik `/` dan memilih **General config…** untuk membuka pengaturan.529* **Pengaturan ekstensi** di VS Code: mengontrol perilaku ekstensi dalam VS Code. Buka dengan `Cmd+,` (Mac) atau `Ctrl+,` (Windows/Linux), kemudian buka Extensions → Claude Code. Anda juga dapat mengetik `/` dan memilih **General config…** untuk membuka pengaturan.

509* **Pengaturan Claude Code** di `~/.claude/settings.json`: dibagikan antara ekstensi dan CLI. Gunakan untuk perintah yang diizinkan, variabel lingkungan, hooks, dan server MCP. Pada paket Pro, Max, dan Team, ini juga merupakan salah satu input untuk mode izin percakapan dimulai. [Switch permission modes](/docs/id/permission-modes#switch-permission-modes) mencantumkan urutannya. Lihat [Settings](/docs/id/settings) untuk detail.530* **Pengaturan Claude Code** di `~/.claude/settings.json`: dibagikan antara ekstensi dan CLI. Gunakan untuk perintah yang diizinkan, variabel lingkungan, hooks, dan server MCP. Dengan Claude Code v2.1.283 atau lebih baru, ini juga merupakan salah satu input untuk mode izin percakapan dimulai, dan pada versi sebelumnya hanya pada paket Pro, Max, dan Team. [Switch permission modes](/docs/id/permission-modes#switch-permission-modes) mencantumkan urutannya. Lihat [Settings](/docs/id/settings) untuk detail.

510 531 

511<Tip>532<Tip>

512 Tambahkan `"$schema": "https://json.schemastore.org/claude-code-settings.json"` ke `settings.json` Anda untuk mendapatkan autocomplete dan validasi inline untuk semua pengaturan yang tersedia langsung di VS Code.533 Tambahkan `"$schema": "https://json.schemastore.org/claude-code-settings.json"` ke `settings.json` Anda untuk mendapatkan autocomplete dan validasi inline untuk semua pengaturan yang tersedia langsung di VS Code.


722 743 

723**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.744**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.

724 745 

746Jika Anda [mengantrekan pesan saat Claude bekerja](/docs/id/interactive-mode#queue-messages-while-claude-works), itu menyimpan pilihan yang Anda miliki saat Anda menekan `Enter`, apa pun yang Anda pilih setelahnya.

747 

725Untuk mengecualikan file sensitif seperti `.env`, tambahkan [aturan deny `Read`](/docs/id/permissions#read-and-edit) untuk jalurnya. Aturan deny yang cocok mencegah baik teks yang dipilih maupun pemberitahuan file terbuka untuk file tersebut dari mencapai Claude.748Untuk mengecualikan file sensitif seperti `.env`, tambahkan [aturan deny `Read`](/docs/id/permissions#read-and-edit) untuk jalurnya. Aturan deny yang cocok mencegah baik teks yang dipilih maupun pemberitahuan file terbuka untuk file tersebut dari mencapai Claude.

726 749 

727Jika Anda mematikan pengaturan [Attach Open File](#extension-settings), CLI menerima jalur file aktif hanya saat Anda memiliki teks yang dipilih di dalamnya.750Jika Anda mematikan pengaturan [Attach Open File](#extension-settings), CLI menerima jalur file aktif hanya saat Anda memiliki teks yang dipilih di dalamnya.

workflows.md +10 −2

Details

171 171 

172Untuk mengaktifkannya saat Anda memilih model, pindahkan penggeser upaya pemilih `/model` ke `ultracode` dengan tombol panah. [Sesuaikan tingkat upaya](/docs/id/model-config#adjust-effort-level) mencantumkan rute yang mengaktifkan ultracode.172Untuk mengaktifkannya saat Anda memilih model, pindahkan penggeser upaya pemilih `/model` ke `ultracode` dengan tombol panah. [Sesuaikan tingkat upaya](/docs/id/model-config#adjust-effort-level) mencantumkan rute yang mengaktifkan ultracode.

173 173 

174Dengan ultracode aktif, Claude memutuskan kapan tugas memerlukan alur kerja. Satu permintaan dapat berubah menjadi beberapa alur kerja berturut-turut: satu untuk memahami kode, satu untuk membuat perubahan, dan satu untuk memverifikasinya. Ini berlaku untuk setiap tugas dalam sesi, jadi setiap permintaan menggunakan lebih banyak token dan memakan waktu lebih lama daripada pada tingkat upaya yang lebih rendah.174Dengan ultracode aktif, Claude memutuskan kapan tugas memerlukan alur kerja. Satu permintaan dapat berubah menjadi beberapa alur kerja berturut-turut: satu untuk memahami kode, satu untuk membuat perubahan, dan satu untuk memverifikasinya. Ini berlaku untuk setiap tugas dalam sesi, jadi setiap permintaan menggunakan lebih banyak token dan memakan waktu lebih lama daripada pada tingkat upaya yang lebih rendah. Pada paket berlangganan, token tersebut ditarik dari batas penggunaan Anda, jadi sesi dengan ultracode aktif mencapai batas sesi atau mingguan lebih cepat daripada pekerjaan yang sama pada `high`.

175 

176Mengaktifkan ultracode sudah memilih Anda untuk run besar, jadi pemeriksaan ini tidak berlaku saat itu aktif:

177 

178* Peringatan [`Large workflow`](#cost) tidak muncul pada run alur kerja

179* [batas subagen bersamaan](/docs/id/sub-agents#concurrent-subagent-limit) sesi tidak diterapkan untuk subagen yang Claude hasilkan dengan alat Agent

180* Dalam mode izin otomatis, Anda tidak diminta untuk [menyetujui peluncuran alur kerja pertama](#approve-the-plan-before-it-runs)

175 181 

176`/effort ultracode` berlangsung untuk sesi saat ini; untuk memiliki setiap sesi dimulai dengan itu, atur pengaturan [`ultracode`](/docs/id/settings-reference#ultracode). Turun kembali dengan `/effort high` ketika Anda kembali ke pekerjaan rutin. Menu `/effort` menawarkannya hanya [ketika ultracode tersedia](/docs/id/model-config#when-ultracode-is-available).182`/effort ultracode` berlangsung untuk sesi saat ini; untuk memiliki setiap sesi dimulai dengan itu, atur pengaturan [`ultracode`](/docs/id/settings-reference#ultracode). Turun kembali dengan `/effort high` ketika Anda kembali ke pekerjaan rutin. Menu `/effort` menawarkannya hanya [ketika ultracode tersedia](/docs/id/model-config#when-ultracode-is-available).

177 183 


516 522 

517Untuk mematikan alur kerja untuk seluruh organisasi Anda, atur `"disableWorkflows": true` di [pengaturan yang dikelola](/docs/id/server-managed-settings), atau gunakan toggle di halaman [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).523Untuk mematikan alur kerja untuk seluruh organisasi Anda, atur `"disableWorkflows": true` di [pengaturan yang dikelola](/docs/id/server-managed-settings), atau gunakan toggle di halaman [pengaturan admin Claude Code](https://claude.ai/admin-settings/claude-code).

518 524 

519Ketika alur kerja dinonaktifkan, perintah alur kerja bundel dan skill `/workflow-authoring` tidak tersedia, kata kunci `ultracode` tidak lagi memicu run, dan `ultracode` dihapus dari menu `/effort`.525Ketika alur kerja dinonaktifkan, perintah alur kerja bundel dan skill `/workflow-authoring` tidak tersedia, kata kunci `ultracode` tidak lagi memicu run, dan toggle **Ultracode** dihapus dari `/effort`. Run yang sudah dalam proses terus berjalan.

526 

527Mematikan alur kerja juga membuat [ultracode](#let-claude-decide-with-ultracode) tidak tersedia. Tidak ada pengaturan yang dikelola yang mengesampingkan ultracode saja: di mana pun [tersedia](/docs/id/model-config#when-ultracode-is-available), pengguna dapat mengaktifkannya dengan `/effort ultracode`. [Batas upaya](/docs/id/model-config#organization-effort-limits) menurunkan tingkat upaya yang dijalankan sesi dengan ultracode aktif, tetapi tidak mematikan ultracode.

520 528 

521<h2 id="related-resources">529<h2 id="related-resources">

522 Sumber daya terkait530 Sumber daya terkait

worktrees.md +3 −3

Details

62Saat Anda keluar dari sesi worktree interaktif, Claude memeriksa worktree untuk pekerjaan yang akan dihapus oleh penghapusan: file yang diubah atau tidak dilacak, pekerjaan yang tidak dikomitkan di dalam submodul yang diperiksa, dan commit baru.62Saat Anda keluar dari sesi worktree interaktif, Claude memeriksa worktree untuk pekerjaan yang akan dihapus oleh penghapusan: file yang diubah atau tidak dilacak, pekerjaan yang tidak dikomitkan di dalam submodul yang diperiksa, dan commit baru.

63 63 

64* **Worktree bersih**: untuk sesi tanpa nama, Claude menghapus worktree dan cabangnya secara otomatis. Sesi [bernama](/docs/id/sessions#name-your-sessions) meminta Anda terlebih dahulu sehingga Anda dapat menyimpan worktree untuk nanti64* **Worktree bersih**: untuk sesi tanpa nama, Claude menghapus worktree dan cabangnya secara otomatis. Sesi [bernama](/docs/id/sessions#name-your-sessions) meminta Anda terlebih dahulu sehingga Anda dapat menyimpan worktree untuk nanti

65* **Worktree memiliki pekerjaan di dalamnya**: Claude meminta Anda untuk menyimpan atau menghapus worktree. Menyimpan mempertahankan direktori dan cabang sehingga Anda dapat kembali nanti. Menghapus menghapus direktori worktree dan cabangnya, bersama dengan semua pekerjaan di dalamnya65* **Worktree memiliki pekerjaan di dalamnya**: Claude meminta Anda untuk menyimpan atau menghapus worktree. Menyimpan mempertahankan direktori dan cabang. Untuk kembali nanti, jalankan perintah `claude --worktree <name> --resume` yang dicetak Claude Code saat keluar. Menghapus menghapus direktori worktree dan cabangnya, bersama dengan semua pekerjaan di dalamnya

66* **Status worktree tidak dapat diverifikasi**: ketika Claude Code tidak dapat menghitung perubahan worktree atau tidak dapat memeriksa checkout submodulnya, Claude meminta Anda daripada menghapus worktree secara otomatis. Prompt tersebut menyebutkan apa yang tidak dapat diperiksa66* **Status worktree tidak dapat diverifikasi**: ketika Claude Code tidak dapat menghitung perubahan worktree atau tidak dapat memeriksa checkout submodulnya, Claude meminta Anda daripada menghapus worktree secara otomatis. Prompt tersebut menyebutkan apa yang tidak dapat diperiksa

67 67 

68Jalankan non-interaktif dengan `-p` tidak memiliki prompt keluar, jadi Claude tidak membersihkan worktrees mereka, dan Claude Code meninggalkan kunci yang diambilnya pada setiap satu saat pembuatan di tempat sampai [sapuan kunci basi](#clean-up-subagent-and-background-session-worktrees) sesi nanti melepaskannya. Untuk menghapus satu, jalankan `git worktree remove`; jika git menolak karena worktree terkunci, jalankan `git worktree unlock` padanya terlebih dahulu.68Jalankan non-interaktif dengan `-p` tidak memiliki prompt keluar, jadi Claude tidak membersihkan worktrees mereka, dan Claude Code meninggalkan kunci yang diambilnya pada setiap satu saat pembuatan di tempat sampai [sapuan kunci basi](#clean-up-subagent-and-background-session-worktrees) sesi nanti melepaskannya. Untuk menghapus satu, jalankan `git worktree remove`; jika git menolak karena worktree terkunci, jalankan `git worktree unlock` padanya terlebih dahulu.


73 Lanjutkan sesi worktree73 Lanjutkan sesi worktree

74</h2>74</h2>

75 75 

76Saat Anda melanjutkan sesi yang berada di dalam worktree, Claude Code mengembalikan sesi ke worktree itu. Ini berlaku untuk resume interaktif, untuk `--continue` dan `--resume` dalam [mode non-interaktif](/docs/id/headless) dengan `-p`, dan untuk Agent SDK. Kembali di dalam worktree, Claude masih dapat keluar darinya dengan tool [`ExitWorktree`](/docs/id/tools-reference).76Saat Anda melanjutkan sesi yang berakhir di dalam worktree tanpa [keluar darinya](#clean-up-worktrees), Claude Code mengembalikan sesi ke worktree itu. Ini berlaku untuk resume interaktif, untuk `--continue` dan `--resume` dalam [mode non-interaktif](/docs/id/headless) dengan `-p`, dan untuk Agent SDK. `--continue` memilih sesi paling baru yang tercatat di bawah direktori tempat Anda meluncurkan. Kembali di dalam worktree, Claude masih dapat keluar darinya dengan tool [`ExitWorktree`](/docs/id/tools-reference).

77 77 

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

79 79 

80Di mana Anda meluncurkan, dan bagaimana Anda melanjutkan, mengubah apa yang Claude Code masuki kembali:80Di mana Anda meluncurkan, dan bagaimana Anda melanjutkan, mengubah apa yang Claude Code masuki kembali:

81 81 

82* **Direktori peluncuran**: lanjutkan dari checkout utama atau direktori lain dari repositori. Claude Code memasuki kembali worktree yang dibuat dengan git di bawah `.claude/worktrees/` bahkan saat Anda meluncurkan dari dalamnya. Saat Anda meluncurkan dari dalam worktree lain, Claude Code memasuki kembali hanya jika dapat menjaminnya dari sana: worktree yang merupakan repositorinya sendiri, satu tanpa metadata git, atau peluncuran dari subdirektori worktree yang Anda buat dengan `git worktree add` menolak, jadi luncurkan dari checkout utama.82* **Direktori peluncuran**: lanjutkan dengan `--resume` dari checkout utama atau direktori lain dari repositori. Claude Code memasuki kembali worktree yang dibuat dengan git di bawah `.claude/worktrees/` bahkan saat Anda meluncurkan dari dalamnya. Saat Anda meluncurkan dari dalam worktree lain, Claude Code memasuki kembali hanya jika dapat menjaminnya dari sana: worktree yang merupakan repositorinya sendiri, satu tanpa metadata git, atau peluncuran dari subdirektori worktree yang Anda buat dengan `git worktree add` menolak, jadi luncurkan dari checkout utama.

83* **`--fork-session`**: sesi yang di-fork dimulai di direktori tempat Anda meluncurkan Claude, dan Claude Code meninggalkan worktree sesi asli tanpa disentuh.83* **`--fork-session`**: sesi yang di-fork dimulai di direktori tempat Anda meluncurkan Claude, dan Claude Code meninggalkan worktree sesi asli tanpa disentuh.

84* **Worktree yang dihapus**: jika direktori worktree tidak lagi ada, Claude Code melanjutkan sesi di direktori tempat Anda meluncurkan Claude. Itu memberi tahu Anda worktree hilang dan menghapus pengikatan worktree sesi.84* **Worktree yang dihapus**: jika direktori worktree tidak lagi ada, Claude Code melanjutkan sesi di direktori tempat Anda meluncurkan Claude. Itu memberi tahu Anda worktree hilang dan menghapus pengikatan worktree sesi.

85 85