SpyBara
Go Premium

Documentation 2026-09-29 23:58 UTC to 2026-09-30 21:02 UTC

75 files changed +1,374 −736. View all changes and history on the product overview
2026
Wed 30 21:02 Tue 29 23:58 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

advisor.md +3 −2

Details

95 Pilih model advisor95 Pilih model advisor

96</h2>96</h2>

97 97 

98Advisor harus setidaknya sama mampu dengan model utama. Advisor yang diterima untuk setiap model utama adalah:98Baik Claude Code maupun API memerlukan advisor yang setidaknya sama mampu dengan model utama, dan keduanya menentukan peringkat beberapa model secara berbeda. Advisor yang diterima untuk setiap model utama adalah:

99 99 

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

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

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

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

104| Sonnet 5.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 |104| 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| Sonnet 5.5 | Fable, Opus 5 atau lebih baru, Sonnet 5.5 | Advisor Sonnet 4.6 ditolak, dan API menolak advisor Sonnet 5, Opus 4.6, Opus 4.7, atau Opus 4.8 |

105| Opus 4.6 | Fable, Opus, Sonnet 5 atau lebih baru | Advisor Sonnet 4.6 ditolak |106| 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 |107| 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 |108| 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 |

Details

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

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

260| `"dontAsk"` | Tidak pernah prompt. Tools pre-approved oleh [permission rules](/docs/id/settings-reference#permission-settings) berjalan, dan begitu juga calls yang tidak memerlukan approval dalam mode `default`, seperti file reads di dalam working directories Anda; setiap call yang sebaliknya akan prompt ditolak. `AskUserQuestion`, connector tools [organisasi Anda set ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan MCP tools yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan jika Anda telah mengizinkannya | Anda menginginkan fixed, explicit tool surface untuk headless agent dan lebih memilih hard deny daripada silent reliance pada `canUseTool` yang absent |260| `"dontAsk"` | Tidak pernah prompt. Tools pre-approved oleh [permission rules](/docs/id/settings-reference#permission-settings) berjalan, dan begitu juga calls yang tidak memerlukan approval dalam mode `default`, seperti file reads di dalam working directories Anda; setiap call yang sebaliknya akan prompt ditolak. `AskUserQuestion`, connector tools [organisasi Anda set ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan MCP tools yang ditandai [`requiresUserInteraction`](/docs/id/mcp#require-approval-for-a-specific-tool) ditolak bahkan jika Anda telah mengizinkannya | Anda menginginkan fixed, explicit tool surface untuk headless agent dan lebih memilih hard deny daripada silent reliance pada `canUseTool` yang absent |

261| `"auto"` | Menggunakan model classifier untuk approve atau deny permission prompts. Lihat [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk availability dan behavior | Autonomous agents yang masih menginginkan safety guardrails pada tool use |261| `"auto"` | Menggunakan model classifier untuk review actions seperti shell commands dan network requests, allowing atau blocking masing-masing yang direview. Lihat [Auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk availability dan decision order | Autonomous agents yang masih menginginkan safety guardrails pada tool use |

262| `"bypassPermissions"` | Menjalankan semua allowed tools tanpa bertanya, kecuali tools yang cocok dengan explicit [`ask` rule](/docs/id/settings-reference#permission-settings), connector tools [organisasi Anda set ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan tools yang memerlukan user interaction. [Cross-session messaging safeguards](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) masih berlaku. Lihat [How permissions are evaluated](/docs/id/agent-sdk/permissions#how-permissions-are-evaluated) untuk urutan precedence. Dalam TypeScript SDK, juga memerlukan `allowDangerouslySkipPermissions: true` dalam `options`. Tidak dapat digunakan saat berjalan sebagai root pada Unix. Gunakan hanya dalam isolated environments di mana tindakan agent tidak dapat mempengaruhi systems yang Anda pedulikan | CI, containers, atau isolated environments lainnya |262| `"bypassPermissions"` | Menjalankan semua allowed tools tanpa bertanya, kecuali tools yang cocok dengan explicit [`ask` rule](/docs/id/settings-reference#permission-settings), connector tools [organisasi Anda set ke `ask`](/docs/id/mcp#organization-controls-on-connector-tools), dan tools yang memerlukan user interaction. [Cross-session messaging safeguards](/docs/id/permission-modes#skip-all-checks-with-bypasspermissions-mode) masih berlaku. Lihat [How permissions are evaluated](/docs/id/agent-sdk/permissions#how-permissions-are-evaluated) untuk urutan precedence. Dalam TypeScript SDK, juga memerlukan `allowDangerouslySkipPermissions: true` dalam `options`. Tidak dapat digunakan saat berjalan sebagai root pada Unix. Gunakan hanya dalam isolated environments di mana tindakan agent tidak dapat mempengaruhi systems yang Anda pedulikan | CI, containers, atau isolated environments lainnya |

263 263 

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

Details

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

135| `bypassPermissions` | Lewati pemeriksaan izin | Tools berjalan tanpa prompt izin, kecuali untuk [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves). Gunakan dengan hati-hati |135| `bypassPermissions` | Lewati pemeriksaan izin | Tools berjalan tanpa prompt izin, kecuali untuk [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves). Gunakan dengan hati-hati |

136| `plan` | Mode perencanaan | Claude menjelajahi dan merencanakan tanpa mengedit file sumber Anda; pengeditan file tidak pernah auto-approved dan meminta melalui callback `canUseTool` Anda |136| `plan` | Mode perencanaan | Claude menjelajahi dan merencanakan tanpa mengedit file sumber Anda; pengeditan file tidak pernah auto-approved dan meminta melalui callback `canUseTool` Anda |

137| `auto` | Persetujuan yang diklasifikasikan model | Pengklasifikasi model menyetujui atau menolak prompt izin. Lihat [Mode Auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk ketersediaan |137| `auto` | Persetujuan yang diklasifikasikan model | Pengklasifikasi model meninjau tindakan seperti perintah shell dan permintaan jaringan, memungkinkan atau memblokir masing-masing yang ditinjau. Lihat [Mode Auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) untuk ketersediaan dan urutan keputusan |

138 138 

139<Warning>139<Warning>

140 **Pewarisan subagent:** Subagent berjalan dalam mode izin sesi induk kecuali Anda mengatur `permissionMode` pada [`AgentDefinition`](/docs/id/agent-sdk/typescript#agentdefinition) dan sesi induk berada dalam mode `default`, `dontAsk`, atau `plan`. Bahkan kemudian, Claude Code tidak pernah menerapkan nilai `"bypassPermissions"`. Subagent berjalan dalam mode `bypassPermissions` hanya ketika sesi induk itu sendiri melakukannya. Pengecualian `bypassPermissions` memerlukan Claude Code v2.1.267 atau lebih baru.140 **Pewarisan subagent:** Subagent berjalan dalam mode izin sesi induk kecuali Anda mengatur `permissionMode` pada [`AgentDefinition`](/docs/id/agent-sdk/typescript#agentdefinition) dan sesi induk berada dalam mode `default`, `dontAsk`, atau `plan`. Bahkan kemudian, Claude Code tidak pernah menerapkan nilai `"bypassPermissions"`. Subagent berjalan dalam mode `bypassPermissions` hanya ketika sesi induk itu sendiri melakukannya. Pengecualian `bypassPermissions` memerlukan Claude Code v2.1.267 atau lebih baru.

Details

2885 2885 

2886**Nama tool:** `Bash`2886**Nama tool:** `Bash`

2887 2887 

2888Untuk apa yang menetapkan batas ceiling foreground, lihat [Timeout and output limits](/docs/id/tools-reference#timeout-and-output-limits). Untuk batas waktu background, lihat [Background commands](/docs/id/tools-reference#background-commands).

2889 

2888**Input:**2890**Input:**

2889 2891 

2890```python theme={null}2892```python theme={null}

2891{2893{

2892 "command": str, # Perintah yang akan dijalankan2894 "command": str, # Perintah yang akan dijalankan

2893 "timeout": int | None, # Waktu tunggu opsional dalam milidetik (maks 600000; nilai yang lebih tinggi dijepit ke maks)2895 "timeout": int | None, # Milidetik. Foreground: dibatasi pada 600000 secara default, nilai yang lebih tinggi dijepit. Dengan run_in_background (Claude Code v2.1.285 atau lebih baru): batas waktu background, 1800000 ketika dihilangkan, dibatasi pada 7200000 kecuali dinaikkan

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

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

2896}2898}


3193**Nama tool:** `TodoWrite`3195**Nama tool:** `TodoWrite`

3194 3196 

3195<Note>3197<Note>

3196 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:3198 Alat-alat berikut tersedia secara default hanya pada model Claude 3.x, Opus 4 hingga 4.7, Sonnet 4 hingga 4.6, dan Haiku 4.5. Pada setiap model lainnya, termasuk ID model yang tidak dikenali Claude Code, alat-alat tersebut tidak tersedia kecuali Anda memilih untuk mengaktifkannya:

3197 3199 

3198 * `TodoWrite`3200 * `TodoWrite`

3199 * `TaskCreate`3201 * `TaskCreate`


3201 * `TaskUpdate`3203 * `TaskUpdate`

3202 * `TaskList`3204 * `TaskList`

3203 3205 

3204 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.3206 Di mana pun alat-alat tersebut tersedia, Claude Code menyediakan empat alat Task, atau `TodoWrite` sebagai gantinya ketika Anda menetapkan `CLAUDE_CODE_ENABLE_TASKS=0`.

3205 3207 

3206 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.3208 Set default ini berlaku di Claude Code v2.1.268 dan yang lebih baru, yang dibundel oleh TypeScript Agent SDK dari v0.3.268.

3207 3209 

3208 Lihat [Model availability](/docs/id/agent-sdk/todo-tracking#model-availability) untuk opt in.3210 Lihat [Model availability](/docs/id/agent-sdk/todo-tracking#model-availability) untuk opt in.

3209</Note>3211</Note>

Details

15</h2>15</h2>

16 16 

17<Note>17<Note>

18 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:18 Alat-alat berikut tersedia secara default hanya pada model Claude 3.x, Opus 4 hingga 4.7, Sonnet 4 hingga 4.6, dan Haiku 4.5. Pada setiap model lainnya, termasuk ID model yang tidak dikenali Claude Code, alat-alat tersebut tidak tersedia kecuali Anda memilih untuk mengaktifkannya:

19 19 

20 * `TodoWrite`20 * `TodoWrite`

21 * `TaskCreate`21 * `TaskCreate`


23 * `TaskUpdate`23 * `TaskUpdate`

24 * `TaskList`24 * `TaskList`

25 25 

26 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.26 Di mana pun alat-alat tersebut tersedia, Claude Code menyediakan empat alat Task, atau `TodoWrite` sebagai gantinya ketika Anda menetapkan `CLAUDE_CODE_ENABLE_TASKS=0`.

27 27 

28 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.28 Set default ini berlaku di Claude Code v2.1.268 dan yang lebih baru, yang dibundel oleh TypeScript Agent SDK dari v0.3.268.

29</Note>29</Note>

30 30 

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

Details

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

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

310| `fileSize` | `number \| undefined` | Ukuran file sesi dalam byte. Hanya diisi untuk penyimpanan JSONL lokal |310| `fileSize` | `number \| undefined` | Ukuran file sesi dalam byte. Hanya diisi untuk penyimpanan JSONL lokal |

311| `customTitle` | `string \| undefined` | Judul sesi yang ditetapkan pengguna (melalui `/rename`) |311| `customTitle` | `string \| undefined` | Judul kustom sesi ketika satu diatur, misalnya dengan `--name`, `/rename`, output hook `sessionTitle`, atau [`renameSession()`](#renamesession). Sebaliknya judul sesi yang dihasilkan AI, jika sesi memiliki satu |

312| `firstPrompt` | `string \| undefined` | Prompt pengguna bermakna pertama dalam sesi |312| `firstPrompt` | `string \| undefined` | Prompt pengguna bermakna pertama dalam sesi |

313| `gitBranch` | `string \| undefined` | Cabang Git di akhir sesi |313| `gitBranch` | `string \| undefined` | Cabang Git di akhir sesi |

314| `cwd` | `string \| undefined` | Direktori kerja untuk sesi |314| `cwd` | `string \| undefined` | Direktori kerja untuk sesi |


3199```typescript theme={null}3199```typescript theme={null}

3200type BashInput = {3200type BashInput = {

3201 command: string;3201 command: string;

3202 timeout?: number; // milliseconds, max 600000; higher values are clamped to the max3202 timeout?: number; // milliseconds. Foreground: capped at 600000 by default, higher values are clamped. With run_in_background (Claude Code v2.1.285 or later): the background time limit, 1800000 when omitted, capped at 7200000 unless raised

3203 description?: string;3203 description?: string;

3204 run_in_background?: boolean;3204 run_in_background?: boolean;

3205 dangerouslyDisableSandbox?: boolean;3205 dangerouslyDisableSandbox?: boolean;

3206};3206};

3207```3207```

3208 3208 

3209Mengeksekusi perintah Bash dengan timeout opsional dan eksekusi latar belakang. Direktori kerja tetap ada di antara perintah, termasuk perintah yang dijalankan di putaran berikutnya dari sesi multi-putaran; status shell seperti variabel lingkungan yang diekspor tidak. Untuk batas pada perubahan direktori mana yang bertahan, lihat [Apa yang bertahan di antara perintah](/docs/id/tools-reference#what-persists-between-commands).3209Mengeksekusi perintah Bash dengan timeout opsional dan eksekusi latar belakang. Direktori kerja tetap ada di antara perintah, termasuk perintah yang dijalankan di putaran berikutnya dari sesi multi-putaran; status shell seperti variabel lingkungan yang diekspor tidak. Untuk batas pada perubahan direktori mana yang bertahan, lihat [Apa yang bertahan di antara perintah](/docs/id/tools-reference#what-persists-between-commands). Untuk apa yang menetapkan batas latar depan, lihat [Timeout dan batas output](/docs/id/tools-reference#timeout-and-output-limits). Untuk batas waktu latar belakang, lihat [Perintah latar belakang](/docs/id/tools-reference#background-commands).

3210 3210 

3211<h3 id="monitor">3211<h3 id="monitor">

3212 Monitor3212 Monitor


3449Membuat dan mengelola daftar tugas terstruktur untuk melacak kemajuan.3449Membuat dan mengelola daftar tugas terstruktur untuk melacak kemajuan.

3450 3450 

3451<Note>3451<Note>

3452 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:3452 Alat-alat berikut tersedia secara default hanya pada model Claude 3.x, Opus 4 hingga 4.7, Sonnet 4 hingga 4.6, dan Haiku 4.5. Pada setiap model lainnya, termasuk ID model yang tidak dikenali Claude Code, alat-alat tersebut tidak tersedia kecuali Anda memilih untuk mengaktifkannya:

3453 3453 

3454 * `TodoWrite`3454 * `TodoWrite`

3455 * `TaskCreate`3455 * `TaskCreate`


3457 * `TaskUpdate`3457 * `TaskUpdate`

3458 * `TaskList`3458 * `TaskList`

3459 3459 

3460 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.3460 Di mana pun alat-alat tersebut tersedia, Claude Code menyediakan empat alat Task, atau `TodoWrite` sebagai gantinya ketika Anda menetapkan `CLAUDE_CODE_ENABLE_TASKS=0`.

3461 3461 

3462 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.3462 Set default ini berlaku di Claude Code v2.1.268 dan yang lebih baru, yang dibundel oleh TypeScript Agent SDK dari v0.3.268.

3463 3463 

3464 Lihat [Ketersediaan model](/docs/id/agent-sdk/todo-tracking#model-availability) untuk memilih.3464 Lihat [Ketersediaan model](/docs/id/agent-sdk/todo-tracking#model-availability) untuk memilih.

3465</Note>3465</Note>


3634};3634};

3635```3635```

3636 3636 

3637Menjadwalkan prompt untuk dijalankan pada jadwal cron 5-bidang dalam waktu lokal. Atur `recurring` ke `false` untuk menembak sekali pada kecocokan berikutnya. Pekerjaan bersifat sesi-scoped secara default: memulai percakapan segar menghapusnya, dan melanjutkan dengan `--resume` atau `--continue` memulihkan pekerjaan yang belum kedaluwarsa. Lihat [Tugas terjadwal](/docs/id/scheduled-tasks).3637Menjadwalkan prompt untuk dijalankan pada jadwal cron 5-bidang dalam waktu lokal. Atur `recurring` ke `false` untuk menembak sekali pada kecocokan berikutnya. Pekerjaan bersifat sesi-scoped secara default, dan melanjutkan dengan `--resume` atau `--continue` memulihkan pekerjaan yang belum kedaluwarsa. Lihat [Tugas terjadwal](/docs/id/scheduled-tasks).

3638 3638 

3639Mengatur `durable` ke `true` meminta persistensi ke `.claude/scheduled_tasks.json` sehingga pekerjaan bertahan dari restart. Penjadwalan tahan lama tidak tersedia di setiap sesi: ketika tidak, Claude Code menerima `durable: true` tetapi membuat pekerjaan hanya sesi. Baca bidang `durable` output untuk melihat apakah pekerjaan bertahan.3639Mengatur `durable` ke `true` meminta persistensi ke `.claude/scheduled_tasks.json` sehingga pekerjaan bertahan dari restart. Penjadwalan tahan lama tidak tersedia di setiap sesi: ketika tidak, Claude Code menerima `durable: true` tetapi membuat pekerjaan hanya sesi. Baca bidang `durable` output untuk melihat apakah pekerjaan bertahan.

3640 3640 


4110 4110 

4111`timedOutAfterMs` adalah timeout dalam milidetik, diatur ketika perintah mencapai timeout dan berpindah ke latar belakang daripada dimulai di sana secara eksplisit. `backgroundCwdHint` diatur ketika perintah backgrounded berisi builtin perubahan direktori seperti `cd`, `pushd`, `popd`, atau `chdir`, dan mencatat bahwa direktori kerja sesi tidak berubah. Kedua field memerlukan Claude Code v2.1.210 atau lebih baru.4111`timedOutAfterMs` adalah timeout dalam milidetik, diatur ketika perintah mencapai timeout dan berpindah ke latar belakang daripada dimulai di sana secara eksplisit. `backgroundCwdHint` diatur ketika perintah backgrounded berisi builtin perubahan direktori seperti `cd`, `pushd`, `popd`, atau `chdir`, dan mencatat bahwa direktori kerja sesi tidak berubah. Kedua field memerlukan Claude Code v2.1.210 atau lebih baru.

4112 4112 

4113Ketika subagen yang berjalan di foreground memiliki perintah backgrounded, Claude Code menghentikan perintah ketika subagen tersebut memberikan respons finalnya. Claude Code menetapkan `backgroundEndsWithFinalResponse` ke `true` pada perintah tersebut, dan menghilangkan field ketika perintah bertahan dalam turn, seperti perintah yang dimulai oleh percakapan utama atau oleh subagen latar belakang. Field memerlukan Claude Code v2.1.227 atau lebih baru.4113Ketika subagen yang berjalan di foreground memiliki perintah backgrounded, perintah [berakhir ketika run subagen tersebut berakhir](/docs/id/tools-reference#background-commands). Claude Code menetapkan `backgroundEndsWithFinalResponse` ke `true` pada perintah tersebut, dan menghilangkan field ketika perintah bertahan dalam turn, seperti perintah yang dimulai oleh percakapan utama atau oleh subagen latar belakang. Field memerlukan Claude Code v2.1.227 atau lebih baru.

4114 4114 

4115Claude Code menetapkan `gitOperation.commit.branch` ke cabang yang dinamai dalam baris ringkasan commit git, dan menghilangkannya untuk commit yang dibuat pada HEAD terpisah. Field memerlukan Agent SDK v0.3.227 atau lebih baru. Claude Code melaporkan perintah `gh pr reopen` sebagai aksi PR `reopened`, yang memerlukan Agent SDK v0.3.234 atau lebih baru.4115Claude Code menetapkan `gitOperation.commit.branch` ke cabang yang dinamai dalam baris ringkasan commit git, dan menghilangkannya untuk commit yang dibuat pada HEAD terpisah. Field memerlukan Agent SDK v0.3.227 atau lebih baru. Claude Code melaporkan perintah `gh pr reopen` sebagai aksi PR `reopened`, yang memerlukan Agent SDK v0.3.234 atau lebih baru.

4116 4116 


4478Mengembalikan daftar tugas sebelumnya dan diperbarui.4478Mengembalikan daftar tugas sebelumnya dan diperbarui.

4479 4479 

4480<Note>4480<Note>

4481 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:4481 Alat-alat berikut tersedia secara default hanya pada model Claude 3.x, Opus 4 hingga 4.7, Sonnet 4 hingga 4.6, dan Haiku 4.5. Pada setiap model lainnya, termasuk ID model yang tidak dikenali Claude Code, alat-alat tersebut tidak tersedia kecuali Anda memilih untuk mengaktifkannya:

4482 4482 

4483 * `TodoWrite`4483 * `TodoWrite`

4484 * `TaskCreate`4484 * `TaskCreate`


4486 * `TaskUpdate`4486 * `TaskUpdate`

4487 * `TaskList`4487 * `TaskList`

4488 4488 

4489 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.4489 Di mana pun alat-alat tersebut tersedia, Claude Code menyediakan empat alat Task, atau `TodoWrite` sebagai gantinya ketika Anda menetapkan `CLAUDE_CODE_ENABLE_TASKS=0`.

4490 4490 

4491 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.4491 Set default ini berlaku di Claude Code v2.1.268 dan yang lebih baru, yang dibundel oleh TypeScript Agent SDK dari v0.3.268.

4492 4492 

4493 Lihat [Ketersediaan Model](/docs/id/agent-sdk/todo-tracking#model-availability) untuk opt in.4493 Lihat [Ketersediaan Model](/docs/id/agent-sdk/todo-tracking#model-availability) untuk opt in.

4494</Note>4494</Note>

agent-view.md +28 −2

Details

64 </Step>64 </Step>

65</Steps>65</Steps>

66 66 

67Anda dapat menggunakan `claude agents` sebagai titik masuk utama Anda alih-alih `claude`: kirim setiap tugas dari tampilan agen, lampirkan ketika Anda menginginkan percakapan lengkap, dan tekan `←` untuk kembali ke tabel.

68 

69Di dalam sesi `claude` biasa, petunjuk `←` footer prompt menghitung agen latar belakang yang menunggu Anda, seperti `← 2 agents`, dan kembali ke `← for agents` ketika tidak ada yang memerlukan input. Hitungan di atas 99 ditampilkan sebagai `99+`. Hitungan menyegarkan sekitar setiap sepuluh detik saat terminal difokuskan dan segera ketika fokus kembali. Warna berubah sebentar ketika bergerak dan ketika agen selesai, dan ketika sesi latar belakang selesai sementara tidak ada yang memerlukan input Anda, warna tersebut secara singkat menampilkan jumlah yang selesai, seperti `← 2 done`. Kedua kilatan ini mati ketika pengaturan [`prefersReducedMotion`](/docs/id/settings-reference#prefersreducedmotion) aktif, dan petunjuk tersembunyi dalam [mode pembaca layar](/docs/id/accessibility).67Di dalam sesi `claude` biasa, petunjuk `←` footer prompt menghitung agen latar belakang yang menunggu Anda, seperti `← 2 agents`, dan kembali ke `← for agents` ketika tidak ada yang memerlukan input. Hitungan di atas 99 ditampilkan sebagai `99+`. Hitungan menyegarkan sekitar setiap sepuluh detik saat terminal difokuskan dan segera ketika fokus kembali. Warna berubah sebentar ketika bergerak dan ketika agen selesai, dan ketika sesi latar belakang selesai sementara tidak ada yang memerlukan input Anda, warna tersebut secara singkat menampilkan jumlah yang selesai, seperti `← 2 done`. Kedua kilatan ini mati ketika pengaturan [`prefersReducedMotion`](/docs/id/settings-reference#prefersreducedmotion) aktif, dan petunjuk tersembunyi dalam [mode pembaca layar](/docs/id/accessibility).

70 68 

69<h3 id="open-agent-view-by-default">

70 Buka tampilan agen secara default

71</h3>

72 

73Untuk membuat `claude` tanpa argumen membuka tampilan agen alih-alih percakapan baru, aktifkan pengaturan `/config`.

74 

75<Steps>

76 <Step title="Aktifkan pengaturan">

77 Dalam sesi `claude` biasa, jalankan `/config` dan aktifkan **Open agents view by default**. Untuk melewati menu, atur kunci [`defaultToAgentsView`](/docs/id/settings-reference#defaulttoagentsview) secara langsung:

78 

79 ```text theme={null}

80 /config defaultToAgentsView=true

81 ```

82 </Step>

83 

84 <Step title="Mulai Claude Code">

85 Keluar dari sesi, kemudian jalankan `claude` tanpa argumen:

86 

87 ```bash theme={null}

88 claude

89 ```

90 

91 Tampilan agen terbuka sebagai pengganti percakapan baru.

92 </Step>

93</Steps>

94 

95Untuk memulai sesi biasa saat pengaturan aktif, berikan prompt: `claude "fix the login test"`. Untuk mematikan pengaturan, jalankan `/config defaultToAgentsView=false` dalam sesi biasa atau dalam sesi yang Anda lampirkan dari tampilan agen.

96 

71<h2 id="monitor-sessions-with-agent-view">97<h2 id="monitor-sessions-with-agent-view">

72 Pantau sesi dengan tampilan agen98 Pantau sesi dengan tampilan agen

73</h2>99</h2>

Details

482 482 

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

484 484 

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

486 486 

487<h2 id="service-tiers">487<h2 id="service-tiers">

488 Tingkat layanan488 Tingkat layanan

artifacts.md +11 −11

Details

100Siapa yang dapat Anda bagikan tergantung pada paket Anda:100Siapa yang dapat Anda bagikan tergantung pada paket Anda:

101 101 

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

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

104 104 

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

106 Biarkan seseorang mengedit bersama Anda106 Biarkan seseorang mengedit bersama Anda


122 Kumpulkan komentar pada artefak122 Kumpulkan komentar pada artefak

123</h2>123</h2>

124 124 

125Ketika Anda membagikan artefak dalam organisasi Anda, orang-orang yang Anda bagikan dapat meninggalkan komentar di halaman, dan Anda dapat meminta Claude membaca komentar tersebut dan membalasnya. Anda memerlukan Claude Code v2.1.221 atau lebih baru dan paket Team atau Enterprise, karena hanya artefak yang Anda [bagikan dalam organisasi](#share-an-artifact) yang menerima komentar. Claude membaca komentar dalam dua kasus:125Ketika Anda membagikan artefak dalam organisasi Anda, orang-orang yang Anda bagikan dapat meninggalkan komentar di halaman, dan Anda dapat meminta Claude membaca komentar tersebut dan membalasnya. Anda memerlukan Claude Code v2.1.221 atau lebih baru. Claude membaca komentar dalam dua kasus:

126 126 

127* **Anda meminta Claude membacanya**: berikan Claude URL artefak dan minta komentarnya. Claude mencantumkan setiap thread dan menandai komentar dari seseorang yang dapat mengedit artefak yang dikirimkan kepadanya.127* **Anda meminta Claude membacanya**: berikan Claude URL artefak dan minta komentarnya. Claude mencantumkan setiap thread dan menandai komentar dari seseorang yang dapat mengedit artefak yang dikirimkan kepadanya.

128* **Seseorang yang dapat mengedit artefak mengirim komentar ke Claude**: dalam thread di halaman, mereka mengirim komentar dengan **Send to Claude**, atau menyebutkan `@claude` di dalamnya. Kedua cara tersebut mengaktifkan thread.128* **Seseorang yang dapat mengedit artefak mengirim komentar ke Claude**: dalam thread di halaman, mereka mengirim komentar dengan **Send to Claude**, atau menyebutkan `@claude` di dalamnya. Kedua cara tersebut mengaktifkan thread.

129 129 

130Claude hanya dapat membalas atau menyelesaikan thread yang diaktifkan. Thread lainnya tetap terbuka sampai seseorang menyelesaikannya di halaman. Penonton melihat setiap balasan yang dikaitkan dengan Claude, melalui Anda.130Claude hanya dapat membalas atau menyelesaikan thread yang diaktifkan. Thread lainnya tetap terbuka sampai seseorang menyelesaikannya di halaman. Penonton melihat setiap balasan yang dikaitkan dengan Claude, melalui Anda.

131 131 

132Jika Anda membagikan artefak secara publik, penonton tidak dapat mengomentarinya: halaman mengatakan `Comments aren't available while this Artifact is shared publicly.` Untuk mengubah artefak yang sudah memiliki thread komentar menjadi tautan publik, hapus thread terlebih dahulu.132Jika Anda membagikan artefak secara publik, orang-orang yang hanya memiliki akses melalui tautan publik tidak melihat komentarnya dan tidak dapat menambahkan apa pun. Thread komentar yang ada tetap berada di artefak, dan Anda serta editornya masih dapat membaca dan membalasnya.

133 133 

134Untuk meminta komentar sendiri, berikan Claude URL-nya:134Untuk meminta komentar sendiri, berikan Claude URL-nya:

135 135 


195 195 

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

197 197 

198Artifact yang memanggil konektor tidak dapat dibagikan ke tautan publik di paket apa pun. Di paket Team dan Enterprise, Anda dapat menyimpannya tetap pribadi atau [membagikannya dalam organisasi Anda](#share-an-artifact). Di paket Pro dan Max, di mana tautan publik adalah satu-satunya cara untuk berbagi, artifact yang didukung konektor tetap pribadi untuk Anda.198Anda dapat [berbagi halaman yang didukung konektor](#share-an-artifact) dalam organisasi Anda atau secara publik, sesuai dengan paket dan pengaturan organisasi Anda. Panggilan konektor tidak berjalan untuk penampil yang membuka tautan publik tanpa masuk ke claude.ai, atau dari luar organisasi Anda. Penampil tersebut melihat halaman tanpa bagian langsung-nya.

199 199 

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

201 Halaman tidak menampilkan data langsung untuk penampil201 Halaman tidak menampilkan data langsung untuk penampil

202</h3>202</h3>

203 203 

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

205 205 

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

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


375 375 

376| Persyaratan | Tersedia ketika |376| Persyaratan | Tersedia ketika |

377| :- | :- |377| :- | :- |

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

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

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

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


408 Kelola artifacts untuk organisasi Anda408 Kelola artifacts untuk organisasi Anda

409</h2>409</h2>

410 410 

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

412 412 

413<h3 id="enable-or-disable-artifacts">413<h3 id="enable-or-disable-artifacts">

414 Aktifkan atau nonaktifkan artifacts414 Aktifkan atau nonaktifkan artifacts

415</h3>415</h3>

416 416 

417Untuk mengaktifkan atau menonaktifkan artifacts untuk seluruh organisasi, buka [**Settings > Claude Code > Capabilities**](https://claude.ai/admin-settings/claude-code) dan gunakan toggle **Artifacts**. Pada paket Enterprise dengan kontrol akses berbasis peran, Anda dapat membatasi artifacts ke peran tertentu: buka [**Settings > Roles**](https://claude.ai/admin-settings/roles), edit peran, dan atur izin **Artifacts** di bawah grup **Claude Code**.417Untuk mengaktifkan atau menonaktifkan artifacts untuk seluruh organisasi, buka [**Organization settings > Artifacts**](https://claude.ai/admin-settings/artifacts) dan gunakan toggle **Artifacts**. Pada paket Enterprise dengan kontrol akses berbasis peran, Anda dapat membatasi artifacts ke peran tertentu: buka [**Organization settings > Roles**](https://claude.ai/admin-settings/roles), edit peran, dan atur izin **Artifacts**.

418 418 

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

420 Kontrol panggilan connector dari artifacts420 Kontrol panggilan connector dari artifacts

421</h3>421</h3>

422 422 

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

424 424 

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

426 Kontrol berbagi publik426 Kontrol berbagi publik

427</h3>427</h3>

428 428 

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

430 430 

431<h3 id="set-a-retention-policy">431<h3 id="set-a-retention-policy">

432 Atur kebijakan retensi432 Atur kebijakan retensi

433</h3>433</h3>

434 434 

435Untuk mengatur berapa lama artifacts disimpan sebelum penghapusan otomatis, buka [**Settings > Data & privacy controls**](https://claude.ai/admin-settings/data-privacy-controls). Anda dapat mengatur periode retensi terpisah untuk artifacts yang masih pribadi untuk penulis mereka dan artifacts yang telah dibagikan.435Untuk mengatur berapa lama artifacts disimpan sebelum penghapusan otomatis, buka [**Organization settings > Data and privacy**](https://claude.ai/admin-settings/data-privacy-controls). Anda dapat mengatur periode retensi terpisah untuk artifacts yang masih pribadi untuk penulis mereka dan artifacts yang telah dibagikan.

436 436 

437<h3 id="review-the-audit-log">437<h3 id="review-the-audit-log">

438 Tinjau log audit438 Tinjau log audit

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 

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

36 

37<h3 id="log-in-with-multiple-accounts">

38 Masuk dengan beberapa akun

39</h3>

40 

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:41Untuk 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 42 

37```bash theme={null}43```bash theme={null}


40 46 

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.47Setelah 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 48 

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

44 

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

46 Atur autentikasi tim50 Atur autentikasi tim

47</h2>51</h2>

Details

163 Muatan tiba dalam konteks Claude sebagai tag `<channel>`:163 Muatan tiba dalam konteks Claude sebagai tag `<channel>`:

164 164 

165 ```text theme={null}165 ```text theme={null}

166 <channel source="webhook" path="/" method="POST">build failed on main: https://ci.example.com/run/1234</channel>166 <channel source="webhook" path="/" method="POST">

167 build failed on main: https://ci.example.com/run/1234

168 </channel>

167 ```169 ```

168 170 

169 Terminal Anda merender acara sebagai ringkasan satu baris, `← webhook: build failed on main: https://ci.example.com/run/1234`, daripada tag mentah. Anda kemudian akan melihat Claude mulai merespons: membaca file, menjalankan perintah, atau apa pun yang diminta pesan. Ini adalah channel satu arah, jadi Claude bertindak dalam sesi Anda tetapi tidak mengirim apa pun kembali melalui webhook. Untuk menambahkan balasan, lihat [Expose a reply tool](#expose-a-reply-tool).171 Terminal Anda merender acara sebagai ringkasan satu baris, `← webhook: build failed on main: https://ci.example.com/run/1234`, daripada tag mentah. Anda kemudian akan melihat Claude mulai merespons: membaca file, menjalankan perintah, atau apa pun yang diminta pesan. Ini adalah channel satu arah, jadi Claude bertindak dalam sesi Anda tetapi tidak mengirim apa pun kembali melalui webhook. Untuk menambahkan balasan, lihat [Expose a reply tool](#expose-a-reply-tool).

chrome.md +5 −2

Details

97* **Not now**: melanjutkan tugas tanpa alat browser. Claude Code dapat meminta lagi dalam sesi yang lebih baru.97* **Not now**: melanjutkan tugas tanpa alat browser. Claude Code dapat meminta lagi dalam sesi yang lebih baru.

98* **Don't ask again**: menghentikan prompt di sesi mendatang. Anda masih dapat menyiapkan integrasi kapan saja dengan `/chrome`.98* **Don't ask again**: menghentikan prompt di sesi mendatang. Anda masih dapat menyiapkan integrasi kapan saja dengan `/chrome`.

99 99 

100Jika organisasi Anda memblokir server MCP `claude-in-chrome` dengan [pengaturan terkelola `deniedMcpServers`](/docs/id/managed-mcp#policy-based-control-with-allowlists-and-denylists), Claude Code tidak menampilkan prompt instalasi.100Dua kebijakan MCP terkelola mematikan prompt:

101 

102* Jika organisasi Anda memblokir server MCP `claude-in-chrome` dengan [pengaturan terkelola `deniedMcpServers`](/docs/id/managed-mcp#policy-based-control-with-allowlists-and-denylists), Claude Code tidak menampilkan prompt instalasi.

103* Jika organisasi Anda menerapkan file [`managed-mcp.json`](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) tanpa [mengizinkan Claude in Chrome bersama set terkelola](/docs/id/managed-mcp#allow-claude-in-chrome-alongside-the-managed-set), Claude Code tidak menampilkan prompt instalasi.

101 104 

102<h3 id="enable-chrome-by-default">105<h3 id="enable-chrome-by-default">

103 Aktifkan Chrome secara default106 Aktifkan Chrome secara default


117 Kelola izin situs120 Kelola izin situs

118</h3>121</h3>

119 122 

120Izin tingkat situs diwarisi dari ekstensi Chrome. Kelola izin di pengaturan ekstensi Chrome untuk mengontrol situs mana yang dapat dijelajahi, diklik, dan diketik oleh Claude.123Izin tingkat situs diwarisi dari ekstensi Chrome. Kelola izin di pengaturan ekstensi Chrome untuk mengontrol situs mana yang dapat dijelajahi, diklik, dan diketik oleh Claude. Dalam [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode), ketika pengklasifikasi mode otomatis itu sendiri menyetujui panggilan browser ke situs, ekstensi melewati pemeriksaan per-situsnya sendiri untuk panggilan itu, kecuali aturan izin Anda menolak situs apa pun ke Claude di Chrome.

121 124 

122<h3 id="browser-tools-in-plan-mode">125<h3 id="browser-tools-in-plan-mode">

123 Alat browser dalam plan mode126 Alat browser dalam plan mode

Details

273 273 

274Ketika sertifikat berputar, setiap pengembang melihat prompt kepercayaan lagi, jadi perlakukan rotasi sebagai acara yang direncanakan dan publikasikan ulang sidik jari. Jika kebijakan gateway Anda mencakup [pengaturan yang memerlukan persetujuan](/docs/id/server-managed-settings#security-approval-dialogs), pengembang juga melihat dialog persetujuan itu lagi setelah menerima sertifikat baru, karena Claude Code [memori persetujuan](/docs/id/server-managed-settings#approval-memory) kunci ke sertifikat yang disematkan.274Ketika sertifikat berputar, setiap pengembang melihat prompt kepercayaan lagi, jadi perlakukan rotasi sebagai acara yang direncanakan dan publikasikan ulang sidik jari. Jika kebijakan gateway Anda mencakup [pengaturan yang memerlukan persetujuan](/docs/id/server-managed-settings#security-approval-dialogs), pengembang juga melihat dialog persetujuan itu lagi setelah menerima sertifikat baru, karena Claude Code [memori persetujuan](/docs/id/server-managed-settings#approval-memory) kunci ke sertifikat yang disematkan.

275 275 

276Gateway dapat mengembalikan bidang `email` opsional dalam respons token-nya untuk menamai akun yang digunakan masuk. Ketika itu terjadi, pengembang mengonfirmasi akun sebelum Claude Code menyimpan kredensial. Setelah masuk yang dikonfirmasi, `/status` menampilkan akun.276Gateway dapat mengembalikan bidang `email` opsional dalam respons tokennya untuk menamai akun yang digunakan masuk. Ketika melakukannya, pengembang mengonfirmasi akun sebelum Claude Code menyimpan kredensial. Setelah masuk yang dikonfirmasi, `/status` menampilkan akun.

277 277 

278Konfirmasi memerlukan Claude Code v2.1.275 atau lebih baru di mesin pengembang; klien di bawah versi itu mengabaikan bidang. Server gateway dalam biner `claude` tidak mengembalikan bidang, jadi masuk-nya selesai tanpa konfirmasi.278Konfirmasi memerlukan Claude Code v2.1.275 atau lebih baru di mesin pengembang; klien di bawah versi itu mengabaikan bidang. Server gateway dalam biner `claude` tidak mengembalikan bidang, jadi masuk-masuknya selesai tanpa konfirmasi.

279 279 

280Setelah pengembang masuk, [pemilih model](/docs/id/model-config) menampilkan model dalam daftar izin `availableModels` mereka. Pengaturan yang dikelola diterapkan saat startup dan menyegarkan setiap jam, dan telemetri dirutekan ke kolektor Anda.280Setelah pengembang masuk, [pemilih model](/docs/id/model-config) menampilkan model dalam daftar izin `availableModels` mereka. Pengaturan yang dikelola diterapkan saat startup dan menyegarkan setiap jam, dan telemetri dirutekan ke kolektor Anda.

281 281 


285 Atur URL gateway285 Atur URL gateway

286</h3>286</h3>

287 287 

288Tiga kunci masuk ke file [pengaturan yang dikelola](/docs/id/managed-settings#delivery-mechanisms) per-OS yang Anda terapkan melalui MDM atau langsung di disk. `forceLoginMethod` dan `forceLoginGatewayUrl` membuka `/login` langsung di layar **Cloud gateway** dengan URL terisi, dan `parentSettingsBehavior: "merge"` memungkinkan Claude Desktop mengirimkan daftar izin egress gateway ke sesi Claude Code yang diluncurkannya, dijelaskan dalam [Kirimkan kebijakan ke sesi Claude Desktop](#deliver-policy-to-claude-desktop-sessions):288Tiga kunci masuk dalam file [pengaturan yang dikelola](/docs/id/managed-settings#delivery-mechanisms) per-OS yang Anda terapkan melalui MDM atau langsung di disk. `forceLoginMethod` dan `forceLoginGatewayUrl` membuka `/login` langsung di layar **Cloud gateway** dengan URL terisi, dan `parentSettingsBehavior: "merge"` memungkinkan Claude Desktop mengirimkan daftar izin egress gateway ke sesi Claude Code yang diluncurkannya, dijelaskan dalam [Kirimkan kebijakan ke sesi Claude Desktop](#deliver-policy-to-claude-desktop-sessions):

289 289 

290```json theme={null}290```json theme={null}

291{291{


295}295}

296```296```

297 297 

298Pengembang menekan Enter untuk terhubung. Prompt [sidik jari TLS koneksi pertama](#connect-developers) masih muncul. Setelah file berada di mesin, pengembang yang belum menyelesaikan masuk gateway melihat salah satu pesan yang dijelaskan di bawah [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in). Pengembang yang memilih penyedia cloud melalui variabel lingkungan seperti `CLAUDE_CODE_USE_BEDROCK` tidak memerlukan masuk gateway.298Pengembang menekan Enter untuk terhubung. Prompt sidik jari TLS [koneksi pertama](#connect-developers) masih muncul. Setelah file berada di mesin, pengembang yang belum menyelesaikan masuk gateway melihat salah satu pesan yang dijelaskan di bawah [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in). Pengembang yang memilih penyedia cloud melalui variabel lingkungan seperti `CLAUDE_CODE_USE_BEDROCK` tidak memerlukan masuk gateway.

299 299 

300Pengembang tidak dapat mengatur ini secara manual. Pemilih masuk tidak memiliki opsi gateway, dan `forceLoginGatewayUrl` diabaikan dalam file pengaturan pengembang sendiri. `forceLoginMethod` saja, tanpa URL, meninggalkan pengembang di pesan "Hubungi administrator IT Anda". Kunci masuk milik file yang Anda dorong ke mesin, bukan di blok `managed.policies[].cli` gateway, yang hanya menjangkau klien yang sudah terhubung.300Pengembang tidak dapat mengatur ini secara manual. Pemilih masuk tidak memiliki opsi gateway, dan `forceLoginGatewayUrl` diabaikan dalam file pengaturan pengembang sendiri. `forceLoginMethod` saja, tanpa URL, meninggalkan pengembang di pesan "Hubungi administrator IT Anda". Kunci masuk milik file yang Anda dorong ke mesin, bukan di blok `managed.policies[].cli` gateway, yang hanya menjangkau klien yang sudah terhubung.

301 301 


303 Izinkan gateway pada ruang alamat publik yang Anda miliki303 Izinkan gateway pada ruang alamat publik yang Anda miliki

304</h3>304</h3>

305 305 

306Beberapa organisasi menomori jaringan internal mereka dari blok IPv4 publik yang mereka miliki, seperti ruang alamat operator sendiri atau `/8` warisan, jadi gateway mereka tidak dapat memiliki alamat pribadi. Daftarkan blok tersebut dalam pengaturan yang dikelola `gatewayInternalNetworks`. `/login` kemudian menerima gateway di dalam blok yang terdaftar ketika mesin pengembang terhubung ke dalamnya dari alamat di dalam blok yang sama. Ini memerlukan Claude Code v2.1.268 atau lebih baru di mesin pengembang; versi sebelumnya mengabaikan kunci dan menerapkan aturan alamat pribadi.306Beberapa organisasi menomori jaringan internal mereka dari blok IPv4 publik yang mereka miliki, seperti ruang alamat operator sendiri atau `/8` warisan, jadi gateway mereka tidak dapat memiliki alamat pribadi. Daftarkan blok tersebut dalam pengaturan yang dikelola `gatewayInternalNetworks`. `/login` kemudian menerima gateway di dalam blok yang terdaftar ketika mesin pengembang terhubung darinya dari alamat di dalam blok yang sama. Ini memerlukan Claude Code v2.1.268 atau lebih baru di mesin pengembang; versi sebelumnya mengabaikan kunci dan menerapkan aturan alamat pribadi.

307 307 

308<Warning>308<Warning>

309 `gatewayInternalNetworks` adalah untuk jaringan internal yang kebetulan dinomori dari ruang alamat publik. Itu tidak membuat aman untuk mengekspos gateway ke internet: gateway yang dipercaya dapat mendorong pengaturan yang menjalankan perintah di mesin pengembang.309 `gatewayInternalNetworks` adalah untuk jaringan internal yang kebetulan dinomori dari ruang alamat publik. Ini tidak membuat aman untuk mengekspos gateway ke internet: gateway yang dipercaya dapat mendorong pengaturan yang menjalankan perintah di mesin pengembang.

310 310 

311 Jaga gateway tidak dapat dijangkau dari luar jaringan Anda dengan aturan firewall atau load balancer Anda. Atur [`access_control.allow_cidrs`](/docs/id/claude-apps-gateway-config#http-tuning) gateway ke blok yang sama yang Anda deklarasikan di sini, jadi gateway itu sendiri menolak klien dari tempat lain. Di belakang load balancer atau ingress, atur `listen.trusted_proxies` ke front end itu juga, karena gateway sebaliknya mencocokkan `allow_cidrs` terhadap alamat front end itu sendiri daripada pengembang.311 Jaga gateway tidak dapat dijangkau dari luar jaringan Anda dengan aturan firewall atau load balancer Anda. Atur [`access_control.allow_cidrs`](/docs/id/claude-apps-gateway-config#http-tuning) gateway ke blok yang sama yang Anda deklarasikan di sini, jadi gateway itu sendiri menolak klien dari tempat lain. Di belakang load balancer atau ingress, atur `listen.trusted_proxies` ke front end itu juga, karena gateway sebaliknya mencocokkan `allow_cidrs` terhadap alamat front end itu sendiri daripada pengembang.

312</Warning>312</Warning>

313 313 

314Tambahkan kunci ke sumber pengaturan yang dikelola yang sama dengan kunci masuk: file pengaturan yang dikelola, profil MDM, atau kebijakan registri. Claude Code mengabaikannya dalam pengaturan pengguna, proyek, dan yang dikelola server.314Tambahkan kunci ke sumber pengaturan yang dikelola yang sama dengan kunci masuk: file pengaturan yang dikelola, profil MDM, atau kebijakan registri. Claude Code mengabaikannya dalam pengaturan yang dikelola pengguna, proyek, dan server.

315 315 

316Contoh ini mendeklarasikan satu blok. Ganti `203.0.113.0/24` dengan blok Anda sendiri. Ini adalah rentang dokumentasi, dan Claude Code menolak yang tersebut.316Contoh ini mendeklarasikan satu blok. Ganti `203.0.113.0/24` dengan blok Anda sendiri. Ini adalah rentang dokumentasi, dan Claude Code menolak itu.

317 317 

318```json theme={null}318```json theme={null}

319{319{


328* Tidak ada blok yang tumpang tindih dengan ruang alamat pribadi: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `127.0.0.0/8`, `169.254.0.0/16`, dan `100.64.0.0/10`. `/login` sudah menerima gateway di sana tanpa kunci ini.328* Tidak ada blok yang tumpang tindih dengan ruang alamat pribadi: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `127.0.0.0/8`, `169.254.0.0/16`, dan `100.64.0.0/10`. `/login` sudah menerima gateway di sana tanpa kunci ini.

329* Tidak ada blok yang tumpang tindih dengan ruang yang tidak pernah menjadi jaringan organisasi: `198.18.0.0/15` dan `192.0.0.0/24`, yang dipegang klien VPN dan NAT64 sebagai alamat lokal; rentang dokumentasi `192.0.2.0/24`, `198.51.100.0/24`, dan `203.0.113.0/24`; dan rentang yang dicadangkan `0.0.0.0/8`, `192.88.99.0/24`, dan multicast `224.0.0.0/4`. Anda dapat mendeklarasikan blok di dalam `240.0.0.0/4`, yang digunakan beberapa jaringan besar sebagai ruang unicast internal.329* Tidak ada blok yang tumpang tindih dengan ruang yang tidak pernah menjadi jaringan organisasi: `198.18.0.0/15` dan `192.0.0.0/24`, yang dipegang klien VPN dan NAT64 sebagai alamat lokal; rentang dokumentasi `192.0.2.0/24`, `198.51.100.0/24`, dan `203.0.113.0/24`; dan rentang yang dicadangkan `0.0.0.0/8`, `192.88.99.0/24`, dan multicast `224.0.0.0/4`. Anda dapat mendeklarasikan blok di dalam `240.0.0.0/4`, yang digunakan beberapa jaringan besar sebagai ruang unicast internal.

330 330 

331Blok dari `managed-settings.json` dan file drop-in `managed-settings.d/` menggabungkan menjadi satu daftar, dan batas ini berlaku untuk daftar gabungan. Untuk mempersempit blok, ganti entrinya daripada menambahkan yang kedua, tumpang tindih dalam drop-in; `/login` menolak tumpang tindih.331Blok dari `managed-settings.json` dan file drop-in `managed-settings.d/` menggabungkan menjadi satu daftar, dan batas ini berlaku untuk daftar gabungan. Untuk mempersempit blok, ganti entrinya daripada menambahkan yang kedua, tumpang tindih di drop-in; `/login` menolak tumpang tindih.

332 332 

333Jika entri melanggar aturan, atau nilainya bukan daftar string, Claude Code menolak setiap masuk gateway baru di mesin itu dan menamai masalahnya dalam pesan. Masuk ke gateway pada alamat pribadi gagal juga, dan masuk yang ada tetap berfungsi. Coba nilai pada satu mesin sebelum Anda menerapkannya. Claude Code juga mencantumkan nilai yang salah ketik di antara [pengaturan yang dikelola tidak valid yang dilaporkannya](/docs/id/managed-settings#keys-that-fail-closed).333Jika entri melanggar aturan, atau nilainya bukan daftar string, Claude Code menolak setiap masuk gateway baru di mesin itu dan menyebutkan masalahnya dalam pesan. Masuk ke gateway pada alamat pribadi juga gagal, dan masuk yang ada tetap berfungsi. Coba nilai pada satu mesin sebelum Anda menerapkannya. Claude Code juga mencantumkan nilai yang salah ketik di antara [pengaturan yang dikelola tidak valid yang dilaporkannya](/docs/id/managed-settings#keys-that-fail-closed).

334 334 

335Dengan daftar yang valid, `/login` menerapkan tiga pemeriksaan ke gateway yang alamatnya berada di dalam blok yang terdaftar:335Dengan daftar yang valid, `/login` menerapkan tiga pemeriksaan ke gateway yang alamatnya berada di dalam blok yang terdaftar:

336 336 

337* Setiap alamat yang diselesaikan nama host gateway berada di dalam blok itu saja. Claude Code menolak nama yang juga memiliki catatan di luarnya, alamat pribadi dan IPv6 disertakan.337* Setiap alamat yang diselesaikan nama host gateway berada di dalam blok itu saja. Claude Code menolak nama yang juga memiliki catatan di luarnya, alamat pribadi dan IPv6 disertakan.

338* Mesin pengembang terhubung dari dalam blok yang sama. Claude Code menolak mesin di belakang NAT, di dalam kontainer atau WSL2, atau di VPN yang kumpulan alamatnya berada di luar blok, dan menamai alamat yang terhubung mesin dari.338* Mesin pengembang terhubung dari dalam blok yang sama. Claude Code menolak mesin di belakang NAT, di dalam kontainer atau WSL2, atau di VPN yang kumpulan alamatnya berada di luar blok, dan menyebutkan alamat yang terhubung mesin.

339* Koneksi bersifat langsung. Jika `HTTPS_PROXY` berlaku untuk host gateway, `/login` menolak dan menamai entri `NO_PROXY` untuk ditambahkan.339* Koneksi langsung. Jika `HTTPS_PROXY` berlaku untuk host gateway, `/login` menolak dan menyebutkan entri `NO_PROXY` untuk ditambahkan.

340 340 

341Ketika ketiga hal tersebut lulus, [prompt kepercayaan](#connect-developers) menambahkan baris yang menamai alamat mesin, alamat gateway, dan blok yang dideklarasikan yang berisi keduanya.341Ketika ketiga-tiganya lulus, prompt [kepercayaan](#connect-developers) menambahkan baris yang menyebutkan alamat mesin, alamat gateway, dan blok yang dideklarasikan yang berisi keduanya.

342 342 

343Kunci tidak mengubah apa pun untuk gateway lainnya: masuk ke yang ada di alamat pribadi berfungsi seperti sebelumnya, dan masuk ke yang ada di alamat publik di luar setiap blok yang terdaftar ditolak seperti sebelumnya.343Kunci tidak mengubah apa pun untuk gateway lain: masuk ke yang berada di alamat pribadi berfungsi seperti sebelumnya, dan masuk ke yang berada di alamat publik di luar setiap blok yang terdaftar ditolak seperti sebelumnya.

344 344 

345Blok yang dideklarasikan mempersempit siapa yang dapat masuk tetapi tidak membuktikan di mana mesin berada, jadi deklarasikan hanya ruang alamat yang dikendalikan organisasi Anda. Blok yang dibagikan dengan penyewa lain, seperti rentang publik penyedia cloud, membiarkan siapa pun di dalamnya lulus pemeriksaan yang sama.345Blok yang dideklarasikan mempersempit siapa yang dapat masuk tetapi tidak membuktikan di mana mesin berada, jadi deklarasikan hanya ruang alamat yang dikendalikan organisasi Anda. Blok yang dibagikan dengan penyewa lain, seperti rentang publik penyedia cloud, memungkinkan siapa pun di dalamnya lulus pemeriksaan yang sama.

346 346 

347<h3 id="deliver-policy-to-claude-desktop-sessions">347<h3 id="deliver-policy-to-claude-desktop-sessions">

348 Kirimkan kebijakan ke sesi Claude Desktop348 Kirimkan kebijakan ke sesi Claude Desktop

349</h3>349</h3>

350 350 

351Claude Desktop menjalankan tab Cowork dan Code-nya, ditambah tab Chat ketika Anda mengaktifkannya, pada sesi Claude Code tertanam dan mengirimkan permintaan model mereka melalui gateway. Ini melewatkan kebijakan ke setiap sesi tersebut, dibangun dari konfigurasi yang dilayani gateway di `/user/bootstrap`: daftar izin model, alat yang dinonaktifkan, dan daftar izin egress yang berasal dari blok `cli` kebijakan yang cocok, ditambah [overlay `desktop`](/docs/id/claude-apps-gateway-config#claude-desktop-overlay).351Claude Desktop menjalankan tab Cowork dan Code-nya, ditambah tab Chat ketika Anda mengaktifkannya, pada sesi Claude Code yang tertanam dan mengirimkan permintaan model mereka melalui gateway. Ini melewatkan kebijakan ke setiap sesi itu, dibangun dari konfigurasi yang disajikan gateway di `/user/bootstrap`: daftar izin model, alat yang dinonaktifkan, dan daftar izin egress yang berasal dari blok `cli` kebijakan yang cocok, ditambah [overlay `desktop`](/docs/id/claude-apps-gateway-config#claude-desktop-overlay).

352 352 

353Kunci `cli` lainnya, seperti hooks, `env`, dan aturan izin berskop seperti `Bash(npm *)`, hanya menjangkau klien yang masuk melalui `/login`. Claude Desktop membaca URL gateway dari konfigurasi yang dikelolanya sendiri dan masuk dengan alurnya sendiri, terpisah dari kunci `forceLoginMethod` dan `forceLoginGatewayUrl` dalam [Atur URL gateway](#set-the-gateway-url).353Kunci `cli` lainnya, seperti hooks, `env`, dan aturan izin yang dibatasi seperti `Bash(npm *)`, hanya menjangkau klien yang masuk melalui `/login`. Claude Desktop membaca URL gateway dari konfigurasi yang dikelolanya sendiri dan masuk dengan alur miliknya sendiri, terpisah dari kunci `forceLoginMethod` dan `forceLoginGatewayUrl` dalam [Atur URL gateway](#set-the-gateway-url).

354 354 

355Pengaturan yang dilewatkan oleh proses peluncur adalah pengaturan induk. Claude Code mengabaikan pengaturan induk di mesin apa pun yang memiliki sumber yang dikelola yang diterapkan admin, kecuali [sumber yang mengirimkan kebijakan](/docs/id/managed-settings#which-managed-source-claude-code-uses) menetapkan `parentSettingsBehavior: "merge"`.355Pengaturan yang dilewatkan oleh proses peluncur adalah pengaturan induk. Claude Code mengabaikan pengaturan induk di mesin apa pun yang memiliki sumber yang dikelola yang diterapkan admin, kecuali [sumber yang mengirimkan kebijakan](/docs/id/managed-settings#which-managed-source-claude-code-uses) menetapkan `parentSettingsBehavior: "merge"`.

356 356 


358 Mesin mana yang memerlukan opt-in358 Mesin mana yang memerlukan opt-in

359</h4>359</h4>

360 360 

361Mesin yang hanya menjalankan Claude Desktop membutuhkannya. Claude Desktop menerapkan daftar model dan daftar alat yang dinonaktifkan ke sesi tertanam itu sendiri, tetapi daftar izin egress menjangkaunya hanya sebagai pengaturan induk, dalam bentuk aturan domain `WebFetch` dan aturan jaringan sandbox. Tanpa opt-in, sesi tersebut berjalan tanpa pembatasan egress, dan tidak ada yang memperingatkan Anda. Gateway masih menolak permintaan inferensi untuk model yang tidak diizinkan kebijakan.361Mesin yang hanya menjalankan Claude Desktop membutuhkannya. Claude Desktop menerapkan daftar model dan daftar alat yang dinonaktifkan ke sesi yang tertanam itu sendiri, tetapi daftar izin egress menjangkaunya hanya sebagai pengaturan induk, dalam bentuk aturan domain `WebFetch` dan aturan jaringan sandbox. Tanpa opt-in, sesi itu berjalan tanpa pembatasan egress, dan tidak ada yang memperingatkan Anda. Gateway masih menolak permintaan inferensi untuk model yang tidak diizinkan kebijakan.

362 362 

363Mesin tempat pengembang masuk melalui `/login` tidak membutuhkannya; setiap sesi Claude Code mengambil kebijakannya dari gateway.363Daftar izin pasar plugin juga menjangkau sesi yang tertanam hanya sebagai pengaturan induk. Ketika Anda mematikan pasar plugin yang ditambahkan pengguna dalam konfigurasi yang dikelola Claude Desktop, Claude Desktop 2.16120.0 atau lebih baru menyembunyikan pasar yang organisasi Anda tidak sediakan dan menolak pemasangan dari mereka. Untuk menghentikan sesi yang tertanam dari memuat plugin yang sudah dipasang dari pasar itu, itu mengirimkan daftar `strictKnownMarketplaces` sebagai pengaturan induk. Tanpa opt-in, Claude Code mengabaikan daftar itu, dan plugin itu terus dimuat.

364 364 

365Armada yang [`policyHelper`](/docs/id/settings-reference#policyhelper) mereka suplai pengaturan yang dikelola tidak dapat menggunakannya: Claude Code tidak pernah menggabungkan pengaturan induk pada armada tersebut, karena membaca pengaturan yang dikelola dari output helper saja.365Mesin di mana pengembang masuk melalui `/login` tidak membutuhkannya; setiap sesi Claude Code mengambil kebijakannya dari gateway.

366 

367Armada yang [`policyHelper`](/docs/id/settings-reference#policyhelper) mereka sediakan pengaturan yang dikelola tidak dapat menggunakannya: Claude Code tidak pernah menggabungkan pengaturan induk di armada itu, karena itu membaca pengaturan yang dikelola dari output helper saja.

366 368 

367<h4 id="set-the-opt-in">369<h4 id="set-the-opt-in">

368 Atur opt-in370 Atur opt-in


376 </Step>378 </Step>

377 379 

378 <Step title="Cerminkan cuplikan ke sumber apa pun yang melampaui file">380 <Step title="Cerminkan cuplikan ke sumber apa pun yang melampaui file">

379 Claude Code membaca `parentSettingsBehavior` hanya dari [sumber yang dipilih](/docs/id/managed-settings#which-managed-source-claude-code-uses). Menambahkan kunci kebijakan apa pun ke sumber dapat membuat sumber itu menjadi sumber yang dipilih, jadi dalam sumber sisi klien, cerminkan seluruh cuplikan daripada `parentSettingsBehavior` saja. [Pengaturan yang dikelola sisi klien](/docs/id/claude-apps-gateway-config#client-side-managed-settings) mencakup armada yang mengirimkan kebijakan melalui Group Policy atau profil konfigurasi. Plist preferensi yang dikelola di macOS atau kebijakan HKLM di Windows melampaui file `managed-settings.json`, dan pengaturan yang dikelola jarak jauh gateway melampaui keduanya, jadi pada mesin yang masuk ke gateway, juga atur `parentSettingsBehavior` dalam [blok `cli`](/docs/id/claude-apps-gateway-config#managed) kebijakan gateway.381 Claude Code membaca `parentSettingsBehavior` hanya dari [sumber yang dipilih](/docs/id/managed-settings#which-managed-source-claude-code-uses). Menambahkan kunci kebijakan apa pun ke sumber dapat membuat sumber itu menjadi sumber yang dipilih, jadi dalam sumber sisi klien, cerminkan seluruh cuplikan daripada `parentSettingsBehavior` saja. [Pengaturan yang dikelola sisi klien](/docs/id/claude-apps-gateway-config#client-side-managed-settings) mencakup armada yang mengirimkan kebijakan melalui Group Policy atau profil konfigurasi. Plist preferensi yang dikelola di macOS atau kebijakan HKLM di Windows melampaui file `managed-settings.json`, dan pengaturan yang dikelola jarak jauh gateway melampaui keduanya, jadi di mesin yang masuk ke gateway, juga atur `parentSettingsBehavior` dalam [blok `cli`](/docs/id/claude-apps-gateway-config#managed) kebijakan gateway.

380 </Step>382 </Step>

381 383 

382 <Step title="Periksa sumber mana yang dipilih">384 <Step title="Periksa sumber mana yang dipilih">

383 Pada mesin yang hanya menjalankan Claude Desktop, panggil [`resolveSettings()`](/docs/id/agent-sdk/typescript#resolvesettings) SDK Agent dan baca `policyOrigin` pada entri `managed` dalam daftar `sources`-nya. Nilai tersebut menamai sumber sisi klien yang dipilih, `plist`, `hklm`, atau `file`, yang merupakan sumber yang harus membawa cuplikan. Sesi tertanam Claude Desktop tidak mengambil kebijakan gateway, jadi blok `cli` gateway tidak pernah dihitung sebagai sumber yang dipilih untuk mereka.385 Di mesin yang hanya menjalankan Claude Desktop, panggil [`resolveSettings()`](/docs/id/agent-sdk/typescript#resolvesettings) SDK Agent dan baca `policyOrigin` pada entri `managed` dalam daftar `sources` miliknya. Nilai menyebutkan sumber sisi klien yang dipilih, `plist`, `hklm`, atau `file`, yang merupakan sumber yang harus membawa cuplikan. Sesi yang tertanam Claude Desktop tidak mengambil kebijakan gateway, jadi blok `cli` gateway tidak pernah dihitung sebagai sumber yang dipilih untuk mereka.

384 </Step>386 </Step>

385</Steps>387</Steps>

386 388 


388 Batasi pengaturan induk390 Batasi pengaturan induk

389</h3>391</h3>

390 392 

391Setelah Anda menerapkan `parentSettingsBehavior: "merge"`, proses host apa pun yang meluncurkan Claude Code dapat menyuplai pengaturan induk, bukan hanya Claude Desktop tetapi juga aplikasi Agent SDK atau ekstensi IDE.393Setelah Anda menerapkan `parentSettingsBehavior: "merge"`, proses host apa pun yang meluncurkan Claude Code dapat menyediakan pengaturan induk, bukan hanya Claude Desktop tetapi juga aplikasi SDK Agent atau ekstensi IDE.

392 394 

393Claude Code memfilter pengaturan induk terhadap daftar izin kunci yang membatasi, tetapi beberapa kunci yang diizinkan dapat memberikan akses daripada membatasinya. Kecuali Anda menetapkan kunci `allowManaged*Only`, aturan izin izin dan daftar izin sandbox yang disuplai host masih berlaku. Aturan penolakan dan tanya kebijakan Anda tetap berlaku bagaimanapun; [mereka dievaluasi sebelum aturan izin apa pun](/docs/id/permissions#manage-permissions).395Claude Code memfilter pengaturan induk terhadap daftar izin kunci yang membatasi, tetapi beberapa kunci yang diizinkan dapat memberikan akses daripada membatasinya. Kecuali Anda menetapkan kunci `allowManaged*Only`, aturan izin izin dan daftar izin sandbox yang disediakan host masih berlaku. Aturan penolakan dan tanya kebijakan Anda tetap berlaku bagaimanapun; [mereka dievaluasi sebelum aturan izin apa pun](/docs/id/permissions#manage-permissions).

394 396 

395Claude Code meneruskan entri [`sandbox.credentials`](/docs/id/settings-reference#sandbox-credentials) yang disuplai induk dalam bentuk yang dilucuti:397Claude Code meneruskan entri [`sandbox.credentials`](/docs/id/settings-reference#sandbox-credentials) yang disediakan induk dalam bentuk yang dilucuti:

396 398 

397* **Entri `deny`**: diteruskan hanya dengan `path` atau `name` dan mode mereka.399* **Entri `deny`**: diteruskan dengan hanya `path` atau `name` mereka dan mode.

398* **Entri File dengan [`mode: mask`](/docs/id/sandboxing#mask-credential-files)**: diteruskan hanya sentinel, sebagai topeng seluruh file yang `injectHosts`-nya adalah daftar kosong, jadi proxy tidak pernah mengganti nilai nyata untuk entri yang disuplai induk di platform apa pun. Semua bidang masking terstruktur dijatuhkan juga, jadi pola ekstrak yang disuplai induk tidak dapat menggantikan topeng yang lebih ketat yang sumber lain tetapkan untuk jalur yang sama.400* **Entri File dengan [`mode: mask`](/docs/id/sandboxing#mask-credential-files)**: diteruskan hanya sentinel, sebagai topeng seluruh file yang `injectHosts` adalah daftar kosong, jadi proxy tidak pernah mengganti nilai nyata untuk entri yang disediakan induk di platform apa pun. Semua bidang masking terstruktur juga dijatuhkan, jadi pola ekstrak yang disediakan induk tidak dapat menggantikan topeng yang lebih ketat yang sumber lain tetapkan untuk jalur yang sama.

399* **Entri `envVars` dengan `mode: mask`**: tidak diteruskan. `deny` adalah satu-satunya pembatasan yang dapat diekspresikan saluran induk melalui entri `envVars`.401* **Entri `envVars` dengan `mode: mask`**: tidak diteruskan. `deny` adalah satu-satunya pembatasan yang saluran induk dapat mengekspresikan melalui entri `envVars`.

400* **[`awsPairs` dan `sigv4`](/docs/id/sandboxing#re-sign-aws-requests)**: diteruskan pembatasan saja. Dari `sigv4`, hanya nilai `deny` yang disimpan, dan induk yang mendefinisikan blok `sigv4` sama sekali menyematkan ketiga bentuk permintaan, `streaming`, `presigned`, dan `sigv4a`, ke `deny`. Pasangan `awsPairs` tidak pernah diteruskan dalam bentuk yang dapat menandatangani ulang; pasangan yang menamai salah satu variabel AWS konvensional diganti dengan entri inert yang menjaga pemasangan otomatis `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, dan `AWS_SESSION_TOKEN` ditekan.402* **[`awsPairs` dan `sigv4`](/docs/id/sandboxing#re-sign-aws-requests)**: diteruskan pembatasan saja. Dari `sigv4`, hanya nilai `deny` yang disimpan, dan induk yang mendefinisikan blok `sigv4` sama sekali menyematkan ketiga bentuk permintaan, `streaming`, `presigned`, dan `sigv4a`, ke `deny`. Pasangan `awsPairs` tidak pernah diteruskan dalam bentuk yang dapat menandatangani ulang; pasangan yang menyebutkan salah satu variabel AWS konvensional diganti dengan entri inert yang menjaga pasangan otomatis `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, dan `AWS_SESSION_TOKEN` ditekan.

401 403 

402<h4 id="deploy-the-locks">404<h4 id="deploy-the-locks">

403 Terapkan kunci405 Terapkan kunci


428}430}

429```431```

430 432 

431Kebijakan OS, seperti kebijakan registri HKLM atau plist preferensi yang dikelola, melampaui file ini, jadi kirimkan seluruh cuplikan melaluinya daripada file. Pengaturan yang dikelola jarak jauh gateway melampaui sumber kebijakan OS dan file tetapi hanya menjangkau klien yang terhubung. Cerminkan kunci, daftar izin, dan opt-in penggabungan ke dalam [blok `cli`](/docs/id/claude-apps-gateway-config#managed) kebijakan dan jaga file ini tetap diterapkan, karena mesin yang tidak pernah terhubung, termasuk yang hanya menjalankan Claude Desktop, mendapatkan kebijakan mereka dari file saja.433Kebijakan OS, seperti kebijakan registri HKLM atau plist preferensi yang dikelola, melampaui file ini, jadi kirimkan seluruh cuplikan melaluinya daripada file. Pengaturan yang dikelola jarak jauh gateway melampaui sumber kebijakan OS dan file tetapi hanya menjangkau klien yang terhubung. Cerminkan kunci, daftar izin, dan opt-in penggabungan ke dalam [blok `cli`](/docs/id/claude-apps-gateway-config#managed) kebijakan dan jaga file ini diterapkan, karena mesin yang tidak pernah terhubung, termasuk yang hanya menjalankan Claude Desktop, mendapatkan kebijakan mereka dari file saja.

432 434 

433<h4 id="lock-behavior-across-sources">435<h4 id="lock-behavior-across-sources">

434 Perilaku kunci di seluruh sumber436 Perilaku kunci di seluruh sumber


436 438 

437Menetapkan satu kunci tidak membatasi yang lain; setiap kunci didokumentasikan dalam [referensi pengaturan](/docs/id/settings-reference#all-settings).439Menetapkan satu kunci tidak membatasi yang lain; setiap kunci didokumentasikan dalam [referensi pengaturan](/docs/id/settings-reference#all-settings).

438 440 

439Dari sumber admin di bawah pemenang, dua kunci sandbox masih berlaku, dan `allowManagedPermissionRulesOnly` masih memblokir aturan izin yang disuplai induk dan `additionalDirectories`. Pada Claude Code v2.1.273 atau lebih baru, kunci server MCP juga berlaku dari sumber di bawah pemenang, dan sementara itu aktif, daftar `allowedMcpServers` yang dikelola berasal dari sumber admin prioritas tertinggi yang menetapkan satu.441Dari sumber admin di bawah pemenang, dua kunci sandbox masih berlaku, dan `allowManagedPermissionRulesOnly` masih memblokir aturan izin yang disediakan induk dan `additionalDirectories`. Pada Claude Code v2.1.273 atau lebih baru, kunci server MCP juga berlaku dari sumber di bawah pemenang, dan sementara itu aktif, daftar `allowedMcpServers` yang dikelola berasal dari sumber admin dengan prioritas tertinggi yang menetapkan satu.

440 442 

441Kunci hooks dan efek `allowManagedPermissionRulesOnly` pada aturan pengembang sendiri memerlukan sumber pemenang secara default; di bawah opt-in penggabungan `managedSourcesBehavior` dalam [bagaimana Claude Code menggabungkan sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources), Claude Code menerapkan nilai paling ketat yang ditetapkan sumber apa pun untuk setiap kunci. Pada armada [`policyHelper`](/docs/id/settings-reference#policyhelper), Claude Code membaca kunci dari output helper saja.443Kunci hooks dan efek `allowManagedPermissionRulesOnly` pada aturan pengembang sendiri memerlukan sumber pemenang secara default; di bawah opt-in penggabungan `managedSourcesBehavior` dalam [bagaimana Claude Code menggabungkan sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources), Claude Code menerapkan nilai paling ketat yang sumber apa pun tetapkan untuk setiap kunci. Pada armada [`policyHelper`](/docs/id/settings-reference#policyhelper), Claude Code membaca kunci dari output helper saja.

442 444 

443Setiap kunci membuat Claude Code mengabaikan entri pengembang sendiri untuk pengaturan itu, jadi sertakan daftar izin organisasi Anda di sebelah kunci:445Setiap kunci membuat Claude Code mengabaikan entri pengembang sendiri untuk pengaturan itu, jadi sertakan daftar izin organisasi Anda di sebelah kunci:

444 446 

445* **Domain jaringan**: mengunci dengan daftar domain yang dikelola kosong memblokir semua lalu lintas keluar sandbox.447* **Domain jaringan**: mengunci dengan daftar domain yang dikelola kosong memblokir semua lalu lintas keluar yang di-sandbox.

446* **Server MCP**: mengunci tanpa `allowedMcpServers` yang dikelola dalam sumber admin apa pun atau dalam pengaturan yang disuplai induk memuat setiap server yang tidak diblokir `deniedMcpServers`.448* **Server MCP**: mengunci tanpa `allowedMcpServers` dalam sumber admin apa pun atau dalam pengaturan yang disediakan induk memuat setiap server yang `deniedMcpServers` tidak blokir.

447* **Jalur baca**: entri `allowRead` hanya mengizinkan ulang jalur di dalam wilayah `denyRead`, jadi pasangkan dengan `denyRead` yang dikelola.449* **Jalur baca**: entri `allowRead` hanya mengizinkan ulang jalur di dalam wilayah `denyRead`, jadi pasangkan dengan `denyRead` yang dikelola.

448 450 

449<h4 id="settings-the-locks-don’t-cover">451<h4 id="settings-the-locks-don’t-cover">

450 Pengaturan yang tidak dicakup kunci452 Pengaturan yang tidak dicakup kunci

451</h4>453</h4>

452 454 

453Enam pengaturan yang disuplai induk melewati filter bahkan dengan semua lima kunci yang ditetapkan. Di bawah pengaturan pertama-menang default, nilai admin yang memblokir induk adalah yang ada di sumber admin prioritas tertinggi, kecuali untuk `allowedMcpServers` sementara [kunci server MCP](#lock-behavior-across-sources) aktif. Di bawah opt-in penggabungan `managedSourcesBehavior`, [bagaimana Claude Code menggabungkan sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan nilai sumber mana yang berlaku sebagai gantinya.455Enam pengaturan yang disediakan induk melewati filter bahkan dengan semua lima kunci yang ditetapkan. Di bawah pengaturan first-wins default, nilai admin memblokir milik induk hanya ketika itu berada di sumber admin dengan prioritas tertinggi, kecuali untuk `allowedMcpServers` sementara [kunci server MCP](#lock-behavior-across-sources) aktif. Di bawah opt-in penggabungan `managedSourcesBehavior`, [bagaimana Claude Code menggabungkan sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan nilai sumber mana yang berlaku sebagai gantinya.

454 456 

455* **`forceLoginOrgUUID`**: Claude Code menghormati nilai yang disuplai induk ketika sumber admin prioritas tertinggi tidak menetapkan UUID organisasi. Masuk gateway tidak memeriksa kunci ini, jadi itu penting hanya untuk armada yang juga menggunakan masuk Anthropic pihak pertama. UUID organisasi dalam sumber admin prioritas tertinggi memblokir nilai induk dan adalah yang ditegakkan Claude Code, jadi atur `forceLoginOrgUUID` di sana.457* **`forceLoginOrgUUID`**: Claude Code menghormati nilai yang disediakan induk ketika sumber admin dengan prioritas tertinggi tidak menetapkan UUID organisasi. Masuk gateway tidak memeriksa kunci ini. UUID organisasi dalam sumber admin dengan prioritas tertinggi memblokir nilai induk dan adalah yang ditegakkan Claude Code.

456* **`allowedMcpServers`**: Claude Code menghormati daftar izin yang disuplai induk ketika sumber admin prioritas tertinggi tidak menetapkan satu. `allowManagedMcpServersOnly` tidak memblokirnya, karena kunci menegakkan daftar mana pun yang menang sebagai nilai yang dikelola, termasuk daftar yang disuplai induk ketika sumber admin prioritas tertinggi tidak menetapkan satu. Daftar dalam sumber admin prioritas tertinggi memblokir induk dan adalah daftar yang ditegakkan Claude Code, jadi atur `allowedMcpServers` di sana, di sebelah kunci. Sebelum v2.1.223, nilai untuk salah satu kunci dalam sumber admin apa pun memblokir induk.458* **`allowedMcpServers`**: Claude Code menghormati daftar izin yang disediakan induk ketika tidak ada daftar admin yang berlaku. `allowManagedMcpServersOnly` tidak memblokirnya, karena kunci menerapkan daftar mana pun yang menang sebagai nilai yang dikelola, termasuk yang disediakan induk ketika tidak ada sumber admin yang menyediakan daftar. Daftar dalam sumber admin dengan prioritas tertinggi memblokir milik induk dan adalah daftar yang ditegakkan Claude Code, jadi atur `allowedMcpServers` di sana, di sebelah kunci. Sebelum v2.1.223, nilai untuk salah satu kunci dalam sumber admin apa pun memblokir milik induk.

457* **`availableModels`**: Claude Code menghormati daftar model yang disuplai induk ketika sumber yang dikelola pemenang tidak menetapkan satu. Jika armada Anda membatasi model, atur `availableModels` dalam sumber pemenang.459* **`availableModels`**: Claude Code menghormati daftar model yang disediakan induk ketika sumber yang dikelola pemenang tidak menetapkan satu. Jika armada Anda membatasi model, atur `availableModels` dalam sumber pemenang.

458* **`strictKnownMarketplaces`**: Claude Code menghormati daftar izin marketplace plugin yang disuplai induk ketika sumber yang dikelola pemenang tidak menetapkan satu. Jika armada Anda membatasi marketplace, atur `strictKnownMarketplaces` dalam sumber pemenang. Memerlukan Claude Code v2.1.282 atau lebih baru.460* **`strictKnownMarketplaces`**: Claude Code menghormati daftar izin pasar plugin yang disediakan induk ketika sumber yang dikelola pemenang tidak menetapkan satu. Claude Desktop 2.16120.0 atau lebih baru mengirimkan satu ketika konfigurasi yang dikelolanya mematikan pasar plugin yang ditambahkan pengguna. Jika armada Anda membatasi pasar, atur `strictKnownMarketplaces` dalam sumber pemenang. Memerlukan Claude Code v2.1.282 atau lebih baru.

459* **`blockedMarketplaces`**: daftar blokir marketplace yang disuplai induk melewati dan menambah ke daftar blokir apa pun yang ditetapkan sumber yang dikelola, karena daftar blokir hanya dapat membatasi lebih lanjut. Memerlukan Claude Code v2.1.282 atau lebih baru.461* **`blockedMarketplaces`**: daftar blokir pasar yang disediakan induk melewati dan menambah daftar blokir apa pun yang sumber yang dikelola tetapkan, karena daftar blokir hanya dapat membatasi lebih lanjut. Memerlukan Claude Code v2.1.282 atau lebih baru.

460* **`strictPluginOnlyCustomization`**: kunci ini melewati filter terlepas dari kunci apa pun, dan itu membuat Claude Code mengabaikan kustomisasi pengembang sendiri, termasuk hooks pelindung. Tidak ada kunci yang memblokirnya.462* **`strictPluginOnlyCustomization`**: kunci ini melewati filter terlepas dari kunci apa pun, dan itu membuat Claude Code mengabaikan kustomisasi pengembang sendiri, termasuk hooks pelindung. Tidak ada kunci yang memblokirnya.

461 463 

462<h3 id="connect-claude-desktop">464<h3 id="connect-claude-desktop">


467 469 

468Claude Desktop menandatangani pengembang melalui penyedia identitas gateway dengan langkah SSO browser yang sama, kemudian mengambil konfigurasinya dari gateway daripada dari Anthropic. Akses model dan kebijakan mengikuti aturan per-grup yang sama dengan CLI. Pengembang yang menggunakan CLI dan Claude Desktop keduanya masuk ke masing-masing secara terpisah; sesi gateway tidak dibagikan di antara mereka.470Claude Desktop menandatangani pengembang melalui penyedia identitas gateway dengan langkah SSO browser yang sama, kemudian mengambil konfigurasinya dari gateway daripada dari Anthropic. Akses model dan kebijakan mengikuti aturan per-grup yang sama dengan CLI. Pengembang yang menggunakan CLI dan Claude Desktop keduanya masuk ke masing-masing secara terpisah; sesi gateway tidak dibagikan di antara mereka.

469 471 

470Setelah terhubung, Claude Desktop mengirimkan permintaan model dari setiap tab yang diaktifkan melalui gateway. Ini menampilkan tab Cowork dan Code secara default. Untuk mengaktifkan tab Chat juga, atur `chatTabEnabled` ke `true` dalam [konfigurasi yang dikelola](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop, atau dalam [blok `desktop`](/docs/id/claude-apps-gateway-config#claude-desktop-overlay) kebijakan pada gateway yang menjalankan Claude Code v2.1.227 atau lebih baru.472Setelah terhubung, Claude Desktop mengirimkan permintaan model dari setiap tab yang diaktifkan melalui gateway. Ini menampilkan tab Cowork dan Code secara default. Untuk mengaktifkan tab Chat juga, atur `chatTabEnabled` ke `true` dalam [konfigurasi yang dikelola](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop, atau dalam [blok `desktop`](/docs/id/claude-apps-gateway-config#claude-desktop-overlay) kebijakan di gateway yang menjalankan Claude Code v2.1.227 atau lebih baru.

471 473 

472<h3 id="ci-pipelines-and-remote-machines">474<h3 id="ci-pipelines-and-remote-machines">

473 Pipa CI dan mesin jarak jauh475 Pipa CI dan mesin jarak jauh

474</h3>476</h3>

475 477 

476Tidak ada alur token layanan untuk pipa yang tidak diawasi. Masuk gateway selalu menjalankan alur perangkat browser, jadi pekerjaan CI tanpa pengembang untuk menyetujui masuk tidak dapat mengautentikasi; konfigurasikan yang terhadap penyedia Anda secara langsung.478Tidak ada alur token layanan untuk pipa yang tidak diawasi. Masuk gateway selalu menjalankan alur perangkat browser, jadi pekerjaan CI tanpa pengembang untuk menyetujui masuk tidak dapat mengautentikasi; konfigurasikan itu terhadap penyedia Anda secara langsung.

477 479 

478Setelah pengembang masuk, setiap sesi Claude Code di mesin itu menggunakan sesi gateway, termasuk `claude -p` berjalan non-interaktif dan sesi yang dimulai oleh Agent SDK. Claude Code menerapkan [kebijakan gateway](/docs/id/claude-apps-gateway-config#managed) ke masing-masing.480Setelah pengembang masuk, setiap sesi Claude Code di mesin itu menggunakan sesi gateway, termasuk jalankan `claude -p` non-interaktif dan sesi yang dimulai oleh SDK Agent. Claude Code menerapkan [kebijakan gateway](/docs/id/claude-apps-gateway-config#managed) ke masing-masing.

479 481 

480Alur perangkat memisahkan CLI polling dari browser yang menyetujui, jadi kotak pengembangan jarak jauh tanpa tampilan masih berfungsi: pengembang menjalankan `/login` melalui SSH di mesin jarak jauh dan membuka tautan verifikasi di browser di laptop mereka.482Alur perangkat memisahkan CLI polling dari browser yang menyetujui, jadi kotak pengembangan jarak jauh tanpa tampilan masih berfungsi: pengembang menjalankan `/login` melalui SSH di mesin jarak jauh dan membuka tautan verifikasi di browser di laptop mereka.

481 483 


483 Apa yang ditegakkan pada pengembang485 Apa yang ditegakkan pada pengembang

484</h3>486</h3>

485 487 

486Jaminan ini berlaku untuk setiap sesi yang masuk melalui `/login`. Sesi tertanam yang diluncurkan Claude Desktop mendapatkan kebijakan mereka seperti yang dijelaskan dalam [Kirimkan kebijakan ke sesi Claude Desktop](#deliver-policy-to-claude-desktop-sessions), dan poin telemetri mengatakan ke mana ekspor mereka pergi.488Jaminan ini berlaku untuk setiap sesi yang masuk melalui `/login`. Sesi yang tertanam yang diluncurkan Claude Desktop mendapatkan kebijakan mereka seperti dijelaskan dalam [Kirimkan kebijakan ke sesi Claude Desktop](#deliver-policy-to-claude-desktop-sessions), dan poin telemetri mengatakan ke mana ekspor mereka pergi.

487 489 

488* **Akses model**: permintaan untuk model yang tidak diizinkan kebijakan mengembalikan 400, dan pemilih `/model` disaring ke daftar izin `availableModels` kebijakan. Atur [`enforceAvailableModels: true`](/docs/id/model-config#default-model-behavior) dalam kebijakan sehingga opsi Default diselesaikan ke model dalam `availableModels` daripada ke default bawaan Claude Code; tanpanya, Default tetap dapat dipilih dan ditolak pada waktu permintaan jika model itu tidak diizinkan.490* **Akses model**: permintaan untuk model yang tidak diizinkan kebijakan mengembalikan 400, dan pemilih `/model` disaring ke daftar izin `availableModels` kebijakan. Atur [`enforceAvailableModels: true`](/docs/id/model-config#default-model-behavior) dalam kebijakan sehingga opsi Default diselesaikan ke model di dalam `availableModels` daripada ke default bawaan Claude Code; tanpanya, Default tetap dapat dipilih dan ditolak pada waktu permintaan jika model itu tidak diizinkan.

489* **Tujuan telemetri**: dalam sesi yang masuk melalui `/login`, CLI mengirimkan ekspor OTLP/HTTP-nya ke gateway daripada ke `OTEL_EXPORTER_OTLP_ENDPOINT` yang ditetapkan secara lokal, kecuali kebijakan [menamai kolektor Anda sebagai titik akhir](/docs/id/claude-apps-gateway-config#export-directly-to-your-collector). Gateway meneruskan ekspor yang diterimanya ke tujuan dalam [`telemetry.forward_to`](/docs/id/claude-apps-gateway-config#telemetry).491* **Tujuan telemetri**: dalam sesi yang masuk melalui `/login`, CLI mengirimkan ekspor OTLP/HTTP-nya ke gateway daripada ke `OTEL_EXPORTER_OTLP_ENDPOINT` yang ditetapkan secara lokal, kecuali kebijakan [menyebutkan kolektor Anda sebagai titik akhir](/docs/id/claude-apps-gateway-config#export-directly-to-your-collector). Gateway meneruskan ekspor yang diterimanya ke tujuan dalam [`telemetry.forward_to`](/docs/id/claude-apps-gateway-config#telemetry).

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.492 * Dalam sesi yang tertanam [yang diluncurkan Claude Desktop](#connect-claude-desktop), CLI mengirimkan ekspor-nya ke `OTEL_EXPORTER_OTLP_ENDPOINT` yang dikonfigurasi. CLI melampirkan token sesi gateway ke ekspor itu hanya ketika titik akhir itu menunjuk ke gateway itu sendiri.

491 * Tanpa tujuan yang dikonfigurasi untuk sinyal, gateway menerima dan membuangnya.493 * 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.494 * Jika Anda sudah mengumpulkan telemetri Claude Code secara langsung, tambahkan kolektor Anda sebagai tujuan `forward_to`, atau sebutkan 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, 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).495* **Kredensial**: token gateway adalah satu-satunya kredensial sesi. [Profil Anthropic](/docs/id/authentication#anthropic-profiles-and-federation-credentials) dan masuk claude.ai sebelumnya diabaikan saat masuk, jadi pengembang tidak perlu keluar dari claude.ai terlebih dahulu. Untuk `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau kredensial `apiKeyHelper` yang dikonfigurasi, atau kunci API yang disimpan oleh masuk Claude Console sebelumnya, lihat [Kebijakan administrator memerlukan masuk Cloud gateway](/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in).

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).496* **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.497* **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`.498* **Startup setelah gateway mengakhiri sesi**: lihat [Tegakkan startup fail-closed](/docs/id/server-managed-settings#enforce-fail-closed-startup) untuk peluncuran yang membuka keluar dari gateway dan yang keluar ketika gateway menjawab dengan `401`.

497* **Pemberhentian**: sesi yang pengguna-nya dinonaktifkan dalam IdP kedaluwarsa dalam `ttl_hours` ketika penyegaran berikutnya gagal.499* **Pemberhentian**: sesi yang penggunanya dinonaktifkan di IdP kedaluwarsa dalam `ttl_hours` ketika penyegaran berikutnya gagal.

498* **Keluar**: `/logout` menghapus kredensial gateway dari mesin pengembang.500* **Keluar**: `/logout` menghapus kredensial gateway dari mesin pengembang.

499 * Ketika dokumen penemuan gateway mengiklankan `revocation_endpoint` pada skema, host, dan port URL gateway sendiri, `/logout` juga mengirimkan token yang disimpan ke titik akhir itu sehingga gateway dapat mengakhiri sesi di sisinya. Permintaan adalah upaya terbaik, jadi keluar selesai di mesin pengembang terlepas dari apakah titik akhir menjawab. Pencabutan memerlukan Claude Code v2.1.275 atau lebih baru di mesin pengembang.501 * Ketika dokumen penemuan gateway mengiklankan `revocation_endpoint` pada skema, host, dan port URL gateway sendiri, `/logout` juga mengirimkan token yang disimpan ke titik akhir itu sehingga gateway dapat mengakhiri sesi di sisinya. Permintaan adalah upaya terbaik, jadi keluar selesai di mesin pengembang apakah atau tidak titik akhir menjawab. Pencabutan memerlukan Claude Code v2.1.275 atau lebih baru di mesin pengembang.

500 * Server gateway dalam biner `claude` tidak mengiklankan apa pun, jadi keluar darinya mengakhiri sesi di mesin pengembang saja. Untuk memaksa sesi keluar server-side, lihat [Rotasi rahasia JWT](/docs/id/claude-apps-gateway-deploy#jwt-secret-rotation).502 * Server gateway dalam biner `claude` tidak mengiklankan apa pun, jadi keluar darinya mengakhiri sesi di mesin pengembang saja. Untuk memaksa sesi keluar server-side, lihat [Rotasi rahasia JWT](/docs/id/claude-apps-gateway-deploy#jwt-secret-rotation).

501 503 

502<h3 id="what-the-organization-can-see">504<h3 id="what-the-organization-can-see">

Details

314| Tempat lain | Lewatkan credentials via `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, dan `AWS_SESSION_TOKEN` env vars, atau atur secara eksplisit di `auth:` dengan `${VAR}` expansion |314| Tempat lain | Lewatkan credentials via `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, dan `AWS_SESSION_TOKEN` env vars, atau atur secara eksplisit di `auth:` dengan `${VAR}` expansion |

315| Region | `region:` adalah API endpoint region. Cross-region inference profiles route across geo (US, EU, APAC) terlepas dari mana Anda memilih. Untuk non-US regions atau provisioned-throughput ARNs, tambahkan [`models:`](#models) block dengan per-upstream IDs yang benar. |315| Region | `region:` adalah API endpoint region. Cross-region inference profiles route across geo (US, EU, APAC) terlepas dari mana Anda memilih. Untuk non-US regions atau provisioned-throughput ARNs, tambahkan [`models:`](#models) block dengan per-upstream IDs yang benar. |

316 316 

317<h5 id="apply-an-amazon-bedrock-guardrail">

318 Apply an Amazon Bedrock guardrail

319</h5>

320 

321Untuk menerapkan Amazon Bedrock guardrail ke setiap inference request yang gateway kirim melalui Bedrock upstream, tambahkan blok `guardrail` ke upstream itu. Memerlukan Claude Code v2.1.281 atau lebih baru di server gateway.

322 

323```yaml theme={null}

324upstreams:

325 - provider: bedrock

326 region: us-east-1

327 auth: {}

328 guardrail:

329 id: gr-abc123 # guardrail ID or full ARN

330 version: "1" # a published version number, or DRAFT

331 # keep the quotes: a bare 1 fails at boot

332```

333 

334<Warning>

335 Gateway tidak mendukung guardrail input tags. Ini tidak menambahkan guard content tags ke prompts, jadi guardrail filter yang Amazon Bedrock terapkan hanya ke tagged input tidak berjalan pada traffic melalui gateway. Untuk filter mana yang bergantung pada input tags, lihat [input tags](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html) dalam dokumentasi Amazon Bedrock.

336</Warning>

337 

338Juga berikan gateway's AWS principal `bedrock:ApplyGuardrail` pada guardrail.

339 

340Atur `guardrail` pada setiap `bedrock` upstream atau pada tidak ada. Gateway menolak untuk memulai pada mix, karena [failover](#multiple-upstreams) dapat mengirim request ke Bedrock upstream yang tidak memiliki guardrail.

341 

342Guardrail mencakup Bedrock upstreams saja. Jika Anda mendaftar provider lain di `upstreams`, gateway mengirim requests ke provider itu tanpa guardrail.

343 

344Ketika `/v1/messages` request yang body-nya membawa field `amazon-bedrock-*`, seperti `amazon-bedrock-guardrailConfig`, mencapai Bedrock upstream yang memiliki `guardrail` diatur, gateway menjawab 400 daripada meneruskannya.

345 

317<h4 id="claude-platform-on-aws">346<h4 id="claude-platform-on-aws">

318 Claude Platform on AWS347 Claude Platform on AWS

319</h4>348</h4>


530 `admin`559 `admin`

531</h3>560</h3>

532 561 

533Opsional. Mengaktifkan `/v1/organizations/spend_limits`, yang mencerminkan Anthropic's public Admin API, dan per-developer spend enforcement pada `/v1/messages`. Lihat [Spend limits](/docs/id/claude-apps-gateway-spend-limits) untuk bagaimana caps ditetapkan dan ditegakkan; bagian ini mencakup `gateway.yaml` keys yang mengaktifkan fitur dan menyetelnya.562Opsional. Mengaktifkan `/v1/organizations/spend_limits`, yang mencerminkan Admin API publik Anthropic, dan penegakan pengeluaran per-pengembang di `/v1/messages`. Lihat [Batas pengeluaran](/docs/id/claude-apps-gateway-spend-limits) untuk cara batas ditetapkan dan diterapkan; bagian ini mencakup kunci `gateway.yaml` yang mengaktifkan fitur dan menyetelnya.

534 563 

535```yaml theme={null}564```yaml theme={null}

536admin:565admin:

537 # Named static API keys for the admin endpoints, sent as x-api-key.566 # Named static API keys untuk admin endpoints, dikirim sebagai x-api-key.

538 # The id appears in the audit log as admin-key:<id> so each key is567 # id muncul dalam audit log sebagai admin-key:<id> sehingga setiap kunci dapat

539 # attributable. Array for rotation: add the new key, roll clients,568 # dilacak. Array untuk rotasi: tambahkan kunci baru, gulirkan klien,

540 # remove the old.569 # hapus yang lama.

541 write_keys:570 write_keys:

542 - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }571 - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

543 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }572 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }

544 read_keys:573 read_keys:

545 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }574 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

546 # IdP groups granted full admin via the normal gateway JWT (no API key).575 # IdP groups yang diberikan akses admin penuh melalui gateway JWT normal (tanpa API key).

547 admin_groups: [platform-finops]576 admin_groups: [platform-finops]

548 blocked_message: request an increase at https://go.example.com/claude-limits577 blocked_message: request an increase at https://go.example.com/claude-limits

549```578```

550 579 

551| Field | Diperlukan | Deskripsi |580| Field | Diperlukan | Deskripsi |

552| - | - | - |581| - | - | - |

553| `write_keys` | Tidak | Array dari `{id, key}`. `x-api-key` yang cocok dengan salah satu ini dapat list, set, dan delete spend limits. Nilai key harus minimal 32 karakter; `id`s harus unik di seluruh `read_keys` dan `write_keys`. |582| `write_keys` | Tidak | Array dari `{id, key}`. `x-api-key` yang cocok dengan salah satu dari ini dapat mendaftar, menetapkan, dan menghapus batas pengeluaran. Nilai kunci harus setidaknya 32 karakter; `id` harus unik di seluruh `read_keys` dan `write_keys`. |

554| `read_keys` | Tidak | Array dari `{id, key}`. Read-only: setiap endpoint `GET`, termasuk listing caps, mengambil satu berdasarkan ID, dan membaca [`/effective`](/docs/id/claude-apps-gateway-spend-limits#%2Feffective) dan [`/audit`](/docs/id/claude-apps-gateway-spend-limits#%2Faudit). |583| `read_keys` | Tidak | Array dari `{id, key}`. Hanya baca: setiap endpoint `GET`, termasuk mendaftar batas, mengambil satu berdasarkan ID, dan membaca [`/effective`](/docs/id/claude-apps-gateway-spend-limits#%2Feffective) dan [`/audit`](/docs/id/claude-apps-gateway-spend-limits#%2Faudit). |

555| `admin_groups` | Tidak | Nama grup IdP. JWT gateway yang klaim `groups`-nya mencakup salah satu ini memiliki akses admin penuh, read dan write, dan audit sebagai `oidc:<sub>`. Gunakan ini untuk admin manusia; gunakan API keys untuk mesin. Entri kosong dalam daftar ini menghentikan gateway saat boot. Lihat [Matcher values that stop the gateway at boot](#matcher-values-that-stop-the-gateway-at-boot). |584| `admin_groups` | Tidak | Nama grup IdP. Gateway JWT yang klaim `groups` mencakup salah satu dari ini memiliki akses admin penuh, baca dan tulis, dan audit sebagai `oidc:<sub>`. Gunakan ini untuk admin manusia; gunakan API keys untuk mesin. Entri kosong dalam daftar ini menghentikan gateway saat boot. Lihat [Nilai matcher yang menghentikan gateway saat boot](#matcher-values-that-stop-the-gateway-at-boot). |

556| `blocked_message` | Tidak | Ditambahkan verbatim ke `429 billing_error` yang dilihat developer yang diblokir. Tulis seluruh instruksi, seperti URL atau saluran Slack. Jika tidak diatur, gateway mengirimkan hanya pesan default. Lihat [How enforcement works](/docs/id/claude-apps-gateway-spend-limits#how-enforcement-works). |585| `blocked_message` | Tidak | Ditambahkan verbatim ke `429 billing_error` yang dilihat pengembang yang diblokir. Tulis seluruh instruksi, seperti URL atau saluran Slack. Jika tidak diatur, gateway mengirim hanya pesan default. Lihat [Cara kerja penegakan](/docs/id/claude-apps-gateway-spend-limits#how-enforcement-works). |

557| `audit_retention_days` | Tidak | Default `365`. Baris `admin_audit` yang lebih lama disapu. |586| `audit_retention_days` | Tidak | Default `365`. Baris `admin_audit` yang lebih lama disapu. |

558| `spend_retention_months` | Tidak | Default `13`. Baris counter `spend` yang lebih tua dari ini disapu. Default menyimpan tahun penuh ditambah bulan parsial saat ini untuk pelaporan year-over-year. |587| `spend_retention_months` | Tidak | Default `13`. Baris penghitung `spend` yang lebih lama dari ini disapu. Default menjaga tahun penuh ditambah bulan parsial saat ini untuk pelaporan tahun-ke-tahun. |

559| `identity_retention_days` | Tidak | Default `90`. Last-seen TTL untuk baris `principal_emails`, yang menyimpan email, nama tampilan, dan grup setiap developer (PII). Sengaja lebih pendek dari spend retention sehingga identitas yang dihapus provisioning-nya berusia keluar sementara counter spend anonimnya tetap ada. |588| `identity_retention_days` | Tidak | Default `90`. TTL terakhir dilihat untuk baris `principal_emails`, yang menyimpan email, nama tampilan, dan grup setiap pengembang (PII). Sengaja lebih pendek dari retensi pengeluaran sehingga identitas yang dihapus provisioning habis masa berlaku sementara penghitung pengeluaran anonimnya tetap ada. |

560| `group_limit_mode` | Tidak | `min` (default) atau `max`. Ketika developer ada di beberapa grup dengan caps, `min` memberlakukan yang paling ketat dan `max` yang paling longgar. Digunakan oleh enforcement dan `/effective`. |589| `group_limit_mode` | Tidak | `min` (default) atau `max`. Ketika pengembang berada di beberapa grup dengan batas, `min` menegakkan yang paling ketat dan `max` yang paling longgar. Digunakan oleh penegakan dan `/effective`. |

561 590 

562<h3 id="enforcement">591<h3 id="enforcement">

563 `enforcement`592 `enforcement`

564</h3>593</h3>

565 594 

566Blok `enforcement` mengontrol bagaimana pemeriksaan spend-limit berperilaku ketika store tidak tersedia.595Blok `enforcement` mengontrol bagaimana pemeriksaan batas pengeluaran berperilaku ketika penyimpanan tidak tersedia.

567 596 

568| Field | Diperlukan | Deskripsi |597| Field | Diperlukan | Deskripsi |

569| - | - | - |598| - | - | - |

570| `fail_closed_on_error` | Tidak | Default `false`. Enforcement spend gagal terbuka pada pemadaman Postgres, jadi inference tetap aktif. Atur `true` untuk gagal tertutup: developer yang over-cap diblokir, tetapi begitu juga semua orang jika store tidak dapat dijangkau. Memerlukan blok [`admin:`](#admin): enforcement spend hanya berjalan ketika `admin` dikonfigurasi, dan gateway menolak untuk memulai jika Anda mengatur ini `true` tanpa satu. |599| `fail_closed_on_error` | Tidak | Default `false`. Penegakan pengeluaran gagal terbuka pada pemadaman Postgres, sehingga inferensi tetap aktif. Atur `true` untuk gagal tertutup: pengembang yang melebihi batas diblokir, tetapi begitu juga semua orang jika penyimpanan tidak dapat dijangkau. Memerlukan blok [`admin:`](#admin): penegakan pengeluaran hanya berjalan ketika `admin` dikonfigurasi, dan gateway menolak untuk memulai jika Anda menetapkan ini `true` tanpa satu. |

571 600 

572<h3 id="pricing">601<h3 id="pricing">

573 `pricing`602 `pricing`

574</h3>603</h3>

575 604 

576Blok `pricing` memberi tahu spend meter apa yang harus dikenakan alih-alih harga list USD, jadi caps dan [`/effective`](/docs/id/claude-apps-gateway-spend-limits#%2Feffective) mencerminkan tarif kontrak Anda. Jumlah tetap dalam USD dan tetap merupakan estimasi, bukan invoice. Dua prasyarat:605Blok `pricing` memberi tahu meter pengeluaran apa yang harus dikenakan alih-alih harga daftar USD, sehingga batas dan [`/effective`](/docs/id/claude-apps-gateway-spend-limits#%2Feffective) mencerminkan tarif kontrak Anda. Jumlah tetap dalam USD dan tetap merupakan perkiraan, bukan faktur. Dua prasyarat:

577 606 

578* Claude Code v2.1.227 atau lebih baru di server gateway. Versi sebelumnya menolak kunci yang tidak dikenal saat boot.607* Claude Code v2.1.227 atau lebih baru di server gateway. Versi sebelumnya menolak kunci yang tidak dikenal saat boot.

579* Blok [`admin:`](#admin) atau, dalam v2.1.268 atau lebih baru, blok [`managed:`](#managed) dengan setidaknya satu kebijakan. Gateway menolak untuk memulai dengan `pricing` diatur dan tidak ada blok, karena tidak ada yang akan membacanya.608* Blok [`admin:`](#admin) atau, di v2.1.268 atau lebih baru, blok [`managed:`](#managed) dengan setidaknya satu kebijakan. Gateway menolak untuk memulai dengan `pricing` diatur dan tidak ada blok, karena tidak ada yang akan membacanya.

580 609 

581```yaml theme={null}610```yaml theme={null}

582pricing:611pricing:


592 621 

593| Field | Diperlukan | Deskripsi |622| Field | Diperlukan | Deskripsi |

594| - | - | - |623| - | - | - |

595| `multiplier` | Tidak | Default `1`. Meter mengalikan setiap jumlah yang diukur dengan ini, baik harga list atau override, jadi `0.85` menagih 85% dari harga. Harus lebih besar dari 0 dan paling banyak 10, dan nilai di atas 1 adalah [markup](#mark-prices-up). |624| `multiplier` | Tidak | Default `1`. Meter mengalikan setiap jumlah yang diukur dengan ini, baik harga daftar atau ditimpa, jadi `0.85` menagih 85% dari harga. Harus lebih besar dari 0 dan paling banyak 10, dan nilai di atas 1 adalah [markup](#mark-prices-up). |

596| `overrides` | Tidak | Baris dari `{upstream, model, input, output, cache_read, cache_write}` dalam USD per juta token. Keempat tarif diperlukan. Masing-masing harus lebih besar dari 0 dan paling banyak 10000. |625| `overrides` | Tidak | Baris dari `{upstream, model, input, output, cache_read, cache_write}` dalam USD per juta token. Keempat tarif diperlukan. Masing-masing harus lebih besar dari 0 dan paling banyak 10000. |

597 626 

598Bagaimana meter mencocokkan baris override:627Bagaimana meter mencocokkan baris override:

599 628 

600* Baris menggantikan harga list untuk permintaan yang `upstream`, [`upstreams[].name`](#upstreams), layani untuk `model`. Itu termasuk tarif [fast mode](/docs/id/fast-mode#understand-the-cost-tradeoff) yang lebih tinggi, jadi permintaan fast dan standard meter pada tarif empat yang sama.629* Baris menggantikan harga daftar untuk permintaan yang `upstream`, [`upstreams[].name`](#upstreams), layani untuk `model`. Itu termasuk tarif [fast mode](/docs/id/fast-mode#understand-the-cost-tradeoff) yang lebih tinggi, jadi permintaan fast dan standard diukur dengan tarif yang sama empat.

601* ID bawaan seperti `claude-sonnet-4-6`, dicocokkan seperti [`models[].id`](#models), mencakup setiap bentuk bertanggal, bentuk Amazon Bedrock regional, atau bentuk Google Cloud's Agent Platform yang meter hargai sebagai model itu. String lain apa pun, seperti alias atau ARN profil inference, cocok dengan ID yang klien kirim atau string yang dikirim upstream, case-insensitively.630* ID bawaan seperti `claude-sonnet-4-6`, dicocokkan seperti [`models[].id`](#models), mencakup setiap bentuk tertanggal, bentuk Amazon Bedrock regional, atau bentuk Google Cloud's Agent Platform yang meter hargai sebagai model itu. String lain apa pun, seperti alias atau ARN profil inferensi, cocok dengan ID yang dikirim klien atau string yang dikirim upstream, tidak peka huruf besar-kecil.

602* Di mana baris tumpang tindih, meter memilih baris yang paling spesifik daripada baris pertama: baris yang `model`-nya adalah string model yang tepat dikirim upstream, kemudian baris yang cocok dengan ID yang tepat yang klien kirim, kemudian baris yang menamai model bawaan.631* Di mana baris tumpang tindih, meter memilih baris yang paling spesifik daripada baris pertama: baris yang `model` adalah string model yang tepat dikirim upstream, kemudian baris yang cocok dengan ID yang tepat yang dikirim klien, kemudian baris yang menamai model bawaan.

603* Nama upstream yang tidak dikenal gagal boot, dan begitu juga dua baris untuk satu upstream yang menamai model yang sama, termasuk dua ejaan dari satu model bawaan. Gateway memperingatkan saat boot tentang baris yang tidak ada model yang dapat diminta yang dapat menggunakannya.632* Nama upstream yang tidak dikenal gagal boot, begitu juga dua baris untuk satu upstream yang menamai model yang sama, termasuk dua ejaan dari satu model bawaan. Gateway memperingatkan saat boot tentang baris yang tidak ada model yang dapat diminta yang dapat menggunakannya.

604* Permintaan web-search tetap pada harga list \$0.01; multiplier masih berlaku untuk mereka.633* Permintaan pencarian web tetap pada harga daftar \$0.01; pengali masih berlaku untuk mereka.

605 634 

606Untuk tarif per-region, berikan setiap region upstream bernama sendiri dan satu baris per upstream.635Untuk tarif per-region, berikan setiap region upstream bernama sendiri dan satu baris per upstream.

607 636 


609 Tandai harga naik638 Tandai harga naik

610</h4>639</h4>

611 640 

612Dengan v2.1.271 atau lebih baru di server gateway, Anda dapat mengatur `multiplier` di atas 1, hingga 10, untuk meter lebih dari yang penyedia kenakan, misalnya tarif chargeback internal. Contoh ini meter setiap permintaan pada 120% dari harga:641Dengan v2.1.271 atau lebih baru di server gateway, Anda dapat menetapkan `multiplier` di atas 1, hingga 10, untuk mengukur lebih dari yang dikenakan penyedia, misalnya tarif chargeback internal. Contoh ini mengukur setiap permintaan pada 120% dari harga:

613 642 

614```yaml theme={null}643```yaml theme={null}

615pricing:644pricing:

616 multiplier: 1.2645 multiplier: 1.2

617```646```

618 647 

619Dengan blok [`admin:`](#admin), markup juga berlaku untuk spend limits. Meter menghitung 120% dari harga, jadi developer mencapai caps mereka lebih cepat. Gateway mencatat peringatan saat boot yang mengatakan demikian.648Dengan blok [`admin:`](#admin), markup juga berlaku untuk batas pengeluaran. Meter menghitung 120% dari harga, sehingga pengembang mencapai batas mereka lebih cepat. Gateway mencatat peringatan saat boot yang mengatakan demikian.

620 649 

621Multiplier tidak mengubah apa yang penyedia upstream kenakan untuk permintaan.650Pengali tidak mengubah apa yang dikenakan penyedia upstream untuk permintaan.

622 651 

623Jika gateway juga [mengirimkan tarif ke klien yang masuk](#send-the-rates-to-signed-in-clients), developer memerlukan Claude Code v2.1.271 atau lebih baru untuk melihat markup. Klien sebelumnya mengabaikan `multiplier` di atas 1 dan menampilkan biaya tanpanya.652Jika gateway juga [mengirim tarif ke klien yang masuk](#send-the-rates-to-signed-in-clients), pengembang memerlukan Claude Code v2.1.271 atau lebih baru untuk melihat markup. Klien sebelumnya mengabaikan `multiplier` di atas 1 dan menunjukkan biaya tanpanya.

624 653 

625Server gateway sebelumnya dari v2.1.271 menolak untuk memulai jika Anda mengatur `multiplier` di atas 1.654Server gateway sebelumnya dari v2.1.271 menolak untuk memulai jika Anda menetapkan `multiplier` di atas 1.

626 655 

627<h4 id="send-the-rates-to-signed-in-clients">656<h4 id="send-the-rates-to-signed-in-clients">

628 Kirim tarif ke klien yang masuk657 Kirim tarif ke klien yang masuk

629</h4>658</h4>

630 659 

631Dengan v2.1.268 atau lebih baru di server gateway, gateway juga menempatkan tarif dari `pricing` ke dalam kebijakan [`managed`](#managed) yang disajikannya, sebagai pengaturan terkelola [`modelPricing`](/docs/id/settings-reference#modelpricing). Developer yang cocok dengan kebijakan kemudian melihat tarif `pricing` untuk upstream pertama yang melayani setiap ID model dalam `/usage`, baris status, dan OpenTelemetry. Developer yang tidak cocok dengan kebijakan apa pun menerima tidak ada pengaturan terkelola, jadi angka mereka tetap pada harga list. Klien menerapkan pengaturan dalam Claude Code v2.1.242 atau lebih baru.660Dengan v2.1.268 atau lebih baru di server gateway, gateway juga menempatkan tarif dari `pricing` ke dalam kebijakan [`managed`](#managed) yang disajikannya, sebagai pengaturan [`modelPricing`](/docs/id/settings-reference#modelpricing) yang dikelola. Pengembang yang cocok dengan kebijakan kemudian melihat tarif `pricing` untuk upstream pertama yang melayani setiap ID model di `/usage`, baris status, dan OpenTelemetry. Pengembang yang tidak cocok dengan kebijakan apa pun tidak menerima pengaturan yang dikelola, sehingga angka mereka tetap pada harga daftar. Klien menerapkan pengaturan di Claude Code v2.1.242 atau lebih baru.

632 661 

633* Apa yang ditambahkan gateway: kecuali blok `cli` kebijakan sudah mengatur `modelPricing`, gateway menambahkan `multiplier` dan, untuk setiap ID model yang dapat diminta klien, baris override dari upstream pertama yang melayani ID itu. Tarif yang hanya upstream failover yang mengenakan tetap di gateway.662* Apa yang ditambahkan gateway: kecuali blok `cli` kebijakan sudah menetapkan `modelPricing`, gateway menambahkan `multiplier` dan, untuk setiap ID model yang dapat diminta klien, baris override dari upstream pertama yang melayani ID itu. Tarif yang hanya upstream failover yang mengenakan tetap di gateway.

634* Opt satu kebijakan keluar: atur `modelPricing` ke `{}` dalam blok `cli` kebijakan itu, dan developer-nya tetap pada harga list.663* Opt satu kebijakan keluar: atur `modelPricing` ke `{}` dalam blok `cli` kebijakan itu, dan pengembangnya tetap pada harga daftar.

635* Pertahankan tarif kebijakan sendiri: kebijakan yang blok `cli`-nya mengatur `modelPricing` dengan `multiplier` atau `overrides` sendiri menyimpan `modelPricing` itu utuh, dan gateway menambahkan tidak ada tarif sendiri ke dalamnya.664* Pertahankan tarif kebijakan sendiri: kebijakan yang blok `cli` menetapkan `modelPricing` dengan `multiplier` atau `overrides` sendiri menyimpan `modelPricing` itu utuh, dan gateway tidak menambahkan tarif sendiri ke dalamnya.

636 665 

637<h3 id="models">666<h3 id="models">

638 `models`667 `models`

639</h3>668</h3>

640 669 

641Blok `models` adalah daftar model yang dikurasi admin opsional, disajikan di `/v1/models` dan digunakan untuk menerjemahkan ID model per upstream. Ini diperlukan untuk wilayah Amazon Bedrock non-US, ARN throughput provisioned Amazon Bedrock, dan nama deployment Microsoft Foundry.670Blok `models` adalah daftar model yang dikurasi admin opsional, disajikan di `/v1/models` dan digunakan untuk menerjemahkan ID model per upstream. Diperlukan untuk region Amazon Bedrock non-AS, ARN throughput-provisioned Amazon Bedrock, dan nama deployment Microsoft Foundry.

642 671 

643```yaml theme={null}672```yaml theme={null}

644auto_include_builtin_models: true # false: expose only the list below673auto_include_builtin_models: true # false: expose only the list below


652 foundry: your-opus-deployment-name681 foundry: your-opus-deployment-name

653```682```

654 683 

655Setiap kunci di bawah `upstream_model` harus cocok dengan `name` dari upstream yang dikonfigurasi, yang default ke nama penyedia. Kunci yang tidak cocok dengan upstream apa pun gagal boot, jadi hilangkan baris untuk penyedia yang tidak Anda gunakan.684Setiap kunci di bawah `upstream_model` harus cocok dengan `name` dari upstream yang dikonfigurasi, yang default ke nama penyedia. Kunci yang tidak cocok dengan upstream apa pun gagal boot, jadi abaikan baris untuk penyedia yang tidak Anda gunakan.

656 685 

657<h3 id="managed">686<h3 id="managed">

658 `managed`687 `managed`

659</h3>688</h3>

660 689 

661Blok `managed` mendefinisikan kebijakan akses berbasis peran yang dikunci pada grup IdP atau domain email. Kebijakan dievaluasi secara berurutan; kecocokan pertama dipilih, kemudian digabungkan ke basis catch-all `match: {}`. Mereka disajikan per-user di `GET /managed/settings` dengan caching ETag/304.690Blok `managed` mendefinisikan kebijakan akses berbasis peran yang dikunci pada grup IdP atau domain email. Kebijakan dievaluasi secara berurutan; kecocokan pertama dipilih, kemudian digabungkan ke basis catch-all `match: {}`. Mereka disajikan per-pengguna di `GET /managed/settings` dengan caching ETag/304.

662 691 

663```yaml theme={null}692```yaml theme={null}

664managed:693managed:


674 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]703 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

675```704```

676 705 

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

678 707 

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

680* **Deny-lists dan hook arrays**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces`, dan setiap array jenis event `hooks`. Ini mengambil union dari dasar dan kebijakan, jadi deny org-wide atau audit hook tidak dapat secara tidak sengaja dijatuhkan oleh override per-peran.709* **Deny-lists dan hook arrays**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces`, dan setiap array jenis acara `hooks`. Ini mengambil gabungan dasar dan kebijakan, sehingga hook deny atau audit di seluruh org tidak dapat secara tidak sengaja dijatuhkan oleh override per-peran.

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

682 711 

683`availableModels` juga ditegakkan server-side di `/v1/messages`, jadi model yang ditolak mengembalikan `400` terlepas dari apa yang dikirim klien.712`availableModels` juga diterapkan server-side di `/v1/messages`, jadi model yang ditolak mengembalikan `400` terlepas dari apa yang dikirim klien.

684 713 

685Gateway memvalidasi nilai `model` itu sendiri sebelum meneruskan permintaan, jadi nilai yang salah bentuk tidak pernah mencapai upstream. Ini menolak permintaan dengan `400` dalam dua kasus:714Gateway memvalidasi nilai `model` itu sendiri sebelum meneruskan permintaan, sehingga nilai yang salah format tidak pernah mencapai upstream. Ini menolak permintaan dengan `400` dalam dua kasus:

686 715 

687* Ketika nilai hilang atau kosong, gateway menolak permintaan dengan pesan `model is required`. Pemeriksaan itu memerlukan gateway yang menjalankan Claude Code v2.1.228 atau lebih baru.716* Ketika nilai hilang atau kosong, gateway menolak permintaan dengan pesan `model is required`. Pemeriksaan itu memerlukan gateway yang menjalankan Claude Code v2.1.228 atau lebih baru.

688* Ketika nilai ada tetapi bukan string, gateway menolak permintaan dengan pesan `model must be a string`. Memerlukan gateway yang menjalankan Claude Code v2.1.221 atau lebih baru.717* Ketika nilai ada tetapi bukan string, gateway menolak permintaan dengan pesan `model must be a string`. Memerlukan gateway yang menjalankan Claude Code v2.1.221 atau lebih baru.

689 718 

690| Matcher | Perilaku |719| Matcher | Perilaku |

691| - | - |720| - | - |

692| `match: {}` | Cocok dengan setiap pengguna yang terautentikasi. Mulai dengan satu ini dan tambahkan kebijakan yang dibatasi grup di atasnya nanti. |721| `match: {}` | Cocok dengan setiap pengguna yang diautentikasi. Mulai dengan salah satu dari ini dan tambahkan kebijakan yang dibatasi grup di atasnya nanti. |

693| `match: { groups: [a, b] }` | Cocok jika klaim `groups` JWT berisi salah satu grup yang terdaftar. Case-sensitive: grup harus cocok dengan casing yang tepat dari IdP. |722| `match: { groups: [a, b] }` | Cocok jika klaim `groups` JWT berisi salah satu grup yang terdaftar. Peka huruf besar-kecil: grup harus cocok dengan casing yang tepat dari IdP. |

694| `match: { email_domain: example.com }` | Cocok dengan bagian setelah `@` terakhir dalam klaim `email` JWT, case-insensitive. Menerima satu domain per kebijakan. |723| `match: { email_domain: example.com }` | Cocok dengan bagian setelah `@` terakhir dalam klaim `email` JWT, tidak peka huruf besar-kecil. Menerima satu domain per kebijakan. |

695| `match: { groups: [a], email_domain: example.com }` | Kedua kondisi harus cocok |724| `match: { groups: [a], email_domain: example.com }` | Kedua kondisi harus cocok |

696 725 

697Pengguna yang terautentikasi yang tidak cocok dengan kebijakan apa pun mendapat default gateway, yang berarti setiap model dalam katalog dan tidak ada pengaturan terkelola. Tambahkan catch-all `match: {}` terakhir jika Anda menginginkan kebijakan default yang dijamin.726Pengguna yang diautentikasi yang tidak cocok dengan kebijakan apa pun mendapatkan default gateway, yang berarti setiap model dalam katalog dan tidak ada pengaturan yang dikelola. Tambahkan catch-all `match: {}` terakhir jika Anda menginginkan kebijakan default yang dijamin.

698 727 

699<Note>728<Note>

700 Gateway tidak menyimpan direktori pengguna sendiri. Ini mengotorisasi setiap permintaan dari token IdP pengguna, membaca keanggotaan grup dari klaim `groups` token dan mengevaluasi kebijakan terhadapnya. Tidak ada roster untuk dihitung dan tidak ada akun untuk dibuat sebelumnya, dan oleh karena itu tidak ada endpoint SCIM, karena tidak ada apa pun untuk SCIM sinkronkan ke.729 Gateway tidak menyimpan direktori pengguna sendiri. Ini mengotorisasi setiap permintaan dari token IdP pengguna, membaca keanggotaan grup dari klaim `groups` token dan mengevaluasi kebijakan terhadapnya. Tidak ada roster untuk menghitung dan tidak ada akun untuk dibuat sebelumnya, dan oleh karena itu tidak ada endpoint SCIM, karena tidak ada yang dapat disinkronkan SCIM ke dalamnya.

701 730 

702 Jalankan manajemen siklus hidup pengguna dan grup di sumber kebenaran, yang merupakan penyediaan SCIM asli IdP atau platform tata kelola identitas khusus. Keanggotaan dan deprovisioning yang diatur di sana mengalir ke gateway secara otomatis melalui token. Jika Anda menginginkan penyediaan SCIM dari akun Claude itu sendiri, itu adalah kemampuan [Claude for Enterprise](/docs/id/admin-setup).731 Jalankan manajemen siklus hidup pengguna dan grup di sumber kebenaran, yang merupakan penyediaan SCIM asli IdP Anda atau platform tata kelola identitas khusus. Keanggotaan dan deprovisioning yang diatur di sana mengalir ke gateway secara otomatis melalui token. Jika Anda menginginkan penyediaan SCIM dari akun Claude itu sendiri, itu adalah kemampuan [Claude for Enterprise](/docs/id/admin-setup).

703 732 

704 Dua jam propagasi berlaku:733 Dua jam propagasi berlaku:

705 734 

706 * **Konten kebijakan**: mengedit kebijakan dan redeploy mencapai klien yang terhubung pada polling managed-settings berikutnya mereka, dalam satu jam, terlepas dari [perubahan yang berlaku hanya pada peluncuran berikutnya](/docs/id/server-managed-settings#fetch-and-caching-behavior)735 * **Konten kebijakan**: mengedit kebijakan dan menyebarkan ulang mencapai klien yang terhubung pada polling pengaturan yang dikelola berikutnya, dalam satu jam, terlepas dari [perubahan yang hanya berlaku pada peluncuran berikutnya](/docs/id/server-managed-settings#fetch-and-caching-behavior)

707 * **Keanggotaan grup**: mengubah keanggotaan grup pengguna mengubah kebijakan mana yang cocok dengan mereka. Ini berlaku pada re-mint sesi berikutnya, berarti refresh senyap berikutnya, dibatasi oleh `session.ttl_hours`.736 * **Keanggotaan grup**: mengubah keanggotaan grup pengguna mengubah kebijakan mana yang cocok dengan mereka. Ini berlaku pada pembaruan sesi berikutnya, yang berarti penyegaran senyap berikutnya, dibatasi oleh `session.ttl_hours`.

708</Note>737</Note>

709 738 

710<h4 id="matcher-values-that-stop-the-gateway-at-boot">739<h4 id="matcher-values-that-stop-the-gateway-at-boot">

711 Matcher values that stop the gateway at boot740 Nilai matcher yang menghentikan gateway saat boot

712</h4>741</h4>

713 742 

714Saat boot, gateway memeriksa blok `match` dari setiap kebijakan dan daftar [`admin_groups`](#admin). Salah satu dari nilai ini menghentikan gateway dengan error yang menamai field:743Saat boot, gateway memeriksa blok `match` dari setiap kebijakan dan daftar [`admin_groups`](#admin). Salah satu dari nilai ini menghentikan gateway dengan kesalahan yang menamai bidang:

715 744 

716* Daftar `groups` kosong745* Daftar `groups` kosong

717* Entri kosong dalam `groups` atau dalam `admin_groups`746* Entri kosong dalam `groups` atau dalam `admin_groups`

718* `email_domain` kosong747* `email_domain` kosong

719* `email_domain` yang berisi `@`, whitespace, atau koma. Gateway memotong nilai dan menghilangkan satu `@` terkemuka sebelum pemeriksaan ini. Tulis satu domain telanjang, seperti `example.com`.748* `email_domain` yang berisi `@`, whitespace, atau koma. Gateway memangkas nilai dan menghapus satu `@` terkemuka sebelum pemeriksaan ini. Tulis satu domain telanjang, seperti `example.com`.

720 749 

721Sebelum v2.1.232, gateway dimulai dengan nilai-nilai ini. Setiap nilai memiliki efek ini:750Sebelum v2.1.232, gateway dimulai dengan nilai-nilai ini. Setiap nilai memiliki efek ini:

722 751 

723* `email_domain` kosong: gateway melewati pemeriksaan domain, jadi kebijakan dengan `email_domain` kosong dan tidak ada daftar `groups` cocok dengan setiap pengguna yang terautentikasi752* `email_domain` kosong: gateway melewati pemeriksaan domain, jadi kebijakan dengan `email_domain` kosong dan tidak ada daftar `groups` cocok dengan setiap pengguna yang diautentikasi

724* Daftar `groups` kosong: kebijakan tidak cocok dengan siapa pun753* Daftar `groups` kosong: kebijakan tidak cocok dengan siapa pun

725* `email_domain` berisi `@`, whitespace, atau koma: kebijakan tidak cocok dengan siapa pun754* `email_domain` berisi `@`, whitespace, atau koma: kebijakan tidak cocok dengan siapa pun

726* Entri kosong dalam `groups` atau dalam `admin_groups`: entri cocok dengan pengguna hanya ketika klaim IdP `groups` pengguna itu juga berisi entri kosong. Dalam `admin_groups`, kecocokan itu memberikan akses admin. Jika daftar `admin_groups` Anda tidak pernah berisi entri kosong, tidak ada yang mendapatkan akses admin dengan cara ini.755* Entri kosong dalam `groups` atau dalam `admin_groups`: entri cocok dengan pengguna hanya ketika klaim IdP `groups` pengguna itu juga berisi entri kosong. Dalam `admin_groups`, kecocokan itu memberikan akses admin. Jika daftar `admin_groups` Anda tidak pernah berisi entri kosong, tidak ada yang mendapatkan akses admin dengan cara ini.

727 756 

728<h4 id="what-goes-in-cli">757<h4 id="what-goes-in-cli">

729 What goes in `cli`758 Apa yang masuk dalam `cli`

730</h4>759</h4>

731 760 

732Setiap nilai `cli` adalah dokumen `managed-settings.json` Claude Code yang lengkap, skema yang sama yang akan Anda deploy melalui MDM atau `/etc/claude-code/managed-settings.json`, diekspresikan di sini sebagai YAML. CLI menerapkan dokumen yang dikirimkan pada tingkat terkelola, di atas pengaturan pengguna dan proyek, sebagai pengganti pengaturan yang dikelola server. Oleh karena itu, ini mengabaikan pengaturan [terbatas pada sumber kebijakan tingkat OS](/docs/id/server-managed-settings#current-limitations), seperti `policyHelper` dan `wslInheritsWindowsSettings`.761Setiap nilai `cli` adalah dokumen `managed-settings.json` Claude Code lengkap, skema yang sama yang akan Anda sebarkan melalui MDM atau `/etc/claude-code/managed-settings.json`, diekspresikan di sini sebagai YAML. CLI menerapkan dokumen yang dikirimkan di tingkat yang dikelola, di atas pengaturan pengguna dan proyek, menggantikan pengaturan yang dikelola server. Oleh karena itu, ini mengabaikan pengaturan [dibatasi untuk sumber kebijakan tingkat OS](/docs/id/server-managed-settings#current-limitations), seperti `policyHelper` dan `wslInheritsWindowsSettings`.

733 762 

734Gateway memvalidasi setiap dokumen terhadap skema pengaturan CLI saat boot, jadi kunci tingkat atas yang tidak dikenali gagal boot dengan error yang menamai setiap kunci yang bermasalah. Bagian skema yang sengaja terbuka masih menerima nilai arbitrer, karena klien yang lebih baru mungkin mengenali entri yang skema gateway tidak. Kunci terbuka ini adalah `env`, `pluginConfigs`, dan kunci yang bersarang di bawah `permissions`.763Gateway memvalidasi setiap dokumen terhadap skema pengaturan CLI saat boot, jadi kunci tingkat atas yang tidak dikenali gagal boot dengan kesalahan yang menamai setiap kunci yang menyinggung. Bagian skema yang sengaja terbuka masih menerima nilai arbitrer, karena klien yang lebih baru mungkin mengenali entri yang skema gateway tidak. Kunci terbuka ini termasuk `env`, `pluginConfigs`, dan kunci bersarang di bawah `permissions`.

735 764 

736Karena validasi menggunakan skema yang disertakan dengan versi gateway yang terinstal, menempatkan kunci pengaturan tingkat atas yang diperkenalkan oleh rilis Claude Code yang lebih baru ke konfigurasi terkelola memerlukan upgrade gateway terlebih dahulu. Smoke-test kebijakan baru pada satu klien sebelum meluncurkannya.765Karena validasi menggunakan skema yang disertakan dengan versi gateway yang diinstal, menempatkan kunci pengaturan tingkat atas yang diperkenalkan oleh rilis Claude Code yang lebih baru ke dalam konfigurasi yang dikelola memerlukan upgrade gateway terlebih dahulu. Smoke-test kebijakan baru pada satu klien sebelum menggulirnya.

737 766 

738Referensi kunci lengkap ada di [Claude Code settings](/docs/id/settings-reference#all-settings). Kunci yang paling sering dicari operator:767Referensi kunci lengkap ada di [Pengaturan Claude Code](/docs/id/settings-reference#all-settings). Kunci yang paling sering digunakan operator:

739 768 

740```yaml theme={null}769```yaml theme={null}

741managed:770managed:


769 - { type: command, command: /usr/local/bin/audit-edit.sh }798 - { type: command, command: /usr/local/bin/audit-edit.sh }

770```799```

771 800 

772| Key | Ditegakkan oleh | Efek |801| Kunci | Diterapkan oleh | Efek |

773| - | - | - |802| - | - | - |

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

775| `permissions.allow` / `.deny` | CLI | Aturan tool dan command. Lihat [Permissions](/docs/id/permissions). |804| `permissions.allow` / `.deny` | CLI | Aturan alat dan perintah. Lihat [Permissions](/docs/id/permissions). |

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

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

778| `env` | CLI | Variabel lingkungan yang digabungkan ke proses CLI. Gunakan untuk telemetry, auto-update, dan model-name overrides. |807| `env` | CLI | Variabel lingkungan digabungkan ke dalam proses CLI. Gunakan untuk telemetri, auto-update, dan override nama model. |

779| `hooks` | CLI | Org-wide [hooks](/docs/id/hooks) |808| `hooks` | CLI | Org-wide [hooks](/docs/id/hooks) |

780| `managedMcpServers` | CLI | Remote MCP servers [disediakan ke setiap developer yang cocok](/docs/id/managed-mcp#provide-servers-through-managed-settings) bersama server yang mereka tambahkan sendiri, `http` dan `sse` saja. Lihat [MCP servers in a policy](#mcp-servers-in-a-policy). Memerlukan Claude Code v2.1.259 atau lebih baru di server gateway dan pada klien. Klien sebelumnya mengabaikan kunci. |809| `managedMcpServers` | CLI | Remote MCP servers [disediakan untuk setiap pengembang yang cocok](/docs/id/managed-mcp#provide-servers-through-managed-settings) bersama server yang mereka tambahkan sendiri, `http` dan `sse` hanya. Lihat [MCP servers dalam kebijakan](#mcp-servers-in-a-policy). Memerlukan Claude Code v2.1.259 atau lebih baru di server gateway dan pada klien. Klien sebelumnya mengabaikan kunci. |

781 810 

782Karena pengaturan ini tiba melalui jaringan, CLI menunjukkan setiap developer dialog persetujuan keamanan sebelum menerapkan pengaturan yang tercantum di bawah:811Karena pengaturan ini tiba melalui jaringan, CLI menunjukkan kepada setiap pengembang dialog persetujuan keamanan sebelum menerapkan pengaturan yang tercantum di bawah:

783 812 

784* `hooks`813* `hooks`

785* Variabel `env` yang memerlukan persetujuan developer, seperti proxy dan base-URL variables814* Variabel `env` yang memerlukan persetujuan pengembang, seperti proxy dan variabel URL dasar

786* pengaturan eksekusi shell seperti `apiKeyHelper` dan `statusLine`815* pengaturan eksekusi shell seperti `apiKeyHelper` dan `statusLine`

787* pengaturan binary sandbox `sandbox.bwrapPath`, `sandbox.socatPath`, dan `sandbox.ripgrep`816* pengaturan biner sandbox `sandbox.bwrapPath`, `sandbox.socatPath`, dan `sandbox.ripgrep`

788* Pengaturan Sandbox yang mengintersepsi traffic, menyuntikkan kredensial, atau melemahkan isolasi, seperti `sandbox.network.tlsTerminate` dan pengaturan port proxy. [Security approval dialogs](/docs/id/server-managed-settings#security-approval-dialogs) mencantumkan semuanya.817* Pengaturan Sandbox yang mencegat lalu lintas, menyuntikkan kredensial, atau melemahkan isolasi, seperti `sandbox.network.tlsTerminate` dan pengaturan port proxy. [Dialog persetujuan keamanan](/docs/id/server-managed-settings#security-approval-dialogs) mencantumkan semuanya.

789 818 

790[Approval memory](/docs/id/server-managed-settings#approval-memory) mencakup berapa lama persetujuan berlangsung dan kapan dialog muncul lagi.819[Memori persetujuan](/docs/id/server-managed-settings#approval-memory) mencakup berapa lama persetujuan berlangsung dan kapan dialog muncul lagi.

791 820 

792Claude Code menerapkan beberapa variabel `env` yang dikirimkan tanpa menunjukkan developer dialog persetujuan, seperti pengaturan pemilihan model dan batas numerik. Variabel yang dikirimkan lainnya dapat memerlukan persetujuan developer sebelum berlaku; nilai proxy, base-URL, atau `OTEL_EXPORTER_OTLP_ENDPOINT` yang tidak kosong selalu melakukannya. Ketika variabel yang dikirimkan memerlukan persetujuan, dialog menamakannya.821Claude Code menerapkan beberapa variabel `env` yang dikirimkan tanpa menunjukkan dialog persetujuan kepada pengembang, seperti pengaturan pemilihan model dan batas numerik. Variabel yang dikirimkan lainnya dapat memerlukan persetujuan pengembang sebelum berlaku; nilai proxy, URL dasar, atau `OTEL_EXPORTER_OTLP_ENDPOINT` yang tidak kosong selalu demikian. Ketika variabel yang dikirimkan memerlukan persetujuan, dialog menamakannya.

793 822 

794[Environment variables and the approval dialog](/docs/id/server-managed-settings#environment-variables-and-the-approval-dialog) memiliki detail, termasuk empat privacy toggles yang nilai yang dikirimkan menentukan apakah mereka memerlukan persetujuan. Sebelum v2.1.218, Claude Code menerapkan lebih sedikit variabel tanpa bertanya kepada developer, jadi lebih banyak variabel yang dikirimkan memicu dialog.823[Variabel lingkungan dan dialog persetujuan](/docs/id/server-managed-settings#environment-variables-and-the-approval-dialog) memiliki detail, termasuk empat toggle privasi yang nilai yang dikirimkan memutuskan apakah mereka memerlukan persetujuan. Sebelum v2.1.218, Claude Code menerapkan lebih sedikit variabel tanpa bertanya kepada pengembang, jadi lebih banyak variabel yang dikirimkan memicu dialog.

795 824 

796Konfigurasi [telemetry](#telemetry) gateway mendorong `OTEL_EXPORTER_OTLP_ENDPOINT`, jadi pengaturan `telemetry.forward_to` memicu dialog pada setiap klien interaktif. Dialog melindungi mesin developer dari gateway yang dikompromikan atau bermusuhan, bukan organisasi dari developer.825Konfigurasi [telemetri](#telemetry) gateway mendorong `OTEL_EXPORTER_OTLP_ENDPOINT`, jadi menetapkan `telemetry.forward_to` memicu dialog pada setiap klien interaktif. Dialog melindungi mesin pengembang dari gateway yang dikompromikan atau bermusuhan, bukan organisasi dari pengembang.

797 826 

798Run non-interaktif dengan flag `-p` tidak dapat menampilkan dialog. Ini menerapkan pengaturan yang didorong untuk run itu saja dan tidak merekamnya sebagai disetujui, jadi sesi interaktif berikutnya developer masih menampilkan dialog. Sebelum v2.1.207, run non-interaktif menyimpan pengaturan sebagai disetujui dan tidak ada sesi interaktif yang lebih baru menampilkan dialog untuk mereka.827Jalankan [non-interaktif](/docs/id/server-managed-settings#security-approval-dialogs), seperti `claude -p` atau sesi Agent SDK, tidak dapat menunjukkan dialog. Ini menerapkan pengaturan yang didorong untuk jalankan itu saja dan tidak merekamnya sebagai disetujui, jadi sesi interaktif pengembang berikutnya masih menunjukkan dialog untuk mereka. Sebelum v2.1.207, jalankan non-interaktif menyimpan pengaturan sebagai disetujui dan tidak ada sesi interaktif nanti yang menunjukkan dialog untuk mereka.

799 828 

800Jika developer menolak, Claude Code keluar dari sesi itu daripada menerapkan kebijakan. Ketika Anda mendorong hook baru, atau variabel env apa pun yang memicu dialog, ke kebijakan yang luas, Claude Code oleh karena itu menampilkan dialog kepada setiap developer yang cocok. Ini menampilkan dialog dalam sesi yang berjalan pada polling per jam berikutnya, dan sebaliknya pada startup developer berikutnya.829Jika pengembang menolak, Claude Code keluar dari sesi itu daripada menerapkan kebijakan. Ketika Anda mendorong hook baru, atau variabel env apa pun yang memicu dialog, ke kebijakan yang luas, setiap pengembang yang cocok oleh karena itu melihat dialog dalam sesi interaktif mereka. Sesi interaktif yang berjalan menunjukkannya pada polling per jam berikutnya, dan sebaliknya muncul pada startup interaktif pengembang berikutnya.

801 830 

802Kunci `cli` dinamai `settings` dalam rilis sebelumnya. Ejaan itu masih diterima sebagai alias, tetapi deployment baru harus menggunakan `cli`.831Kunci `cli` dinamai `settings` dalam rilis sebelumnya. Ejaan itu masih diterima sebagai alias, tetapi deployment baru harus menggunakan `cli`.

803 832 

804<h4 id="mcp-servers-in-a-policy">833<h4 id="mcp-servers-in-a-policy">

805 MCP servers in a policy834 MCP servers dalam kebijakan

806</h4>835</h4>

807 836 

808Untuk menyediakan MCP servers ke klien Claude Code yang cocok dengan kebijakan, atur [`managedMcpServers`](/docs/id/managed-mcp#provide-servers-through-managed-settings) dalam blok `cli` kebijakan itu. Anda memerlukan Claude Code v2.1.259 atau lebih baru di server gateway dan pada klien.837Untuk menyediakan MCP servers ke klien Claude Code yang cocok dengan kebijakan, atur [`managedMcpServers`](/docs/id/managed-mcp#provide-servers-through-managed-settings) dalam blok `cli` kebijakan itu. Anda memerlukan Claude Code v2.1.259 atau lebih baru di server gateway dan pada klien.

809 838 

810Gateway memeriksa setiap entri saat boot dengan [aturan yang sama yang Claude Code terapkan pada klien](/docs/id/managed-mcp#what-an-entry-can-contain), dan jika entri gagal pemeriksaan, gateway menolak untuk memulai dan menamai entri.839Gateway memeriksa setiap entri saat boot dengan [aturan yang sama yang diterapkan Claude Code pada klien](/docs/id/managed-mcp#what-an-entry-can-contain), dan jika entri gagal pemeriksaan, gateway menolak untuk memulai dan menamai entri.

811 840 

812Jika Anda menulis referensi `${VAR}` dalam `gateway.yaml`, gateway menyelesaikannya dari lingkungannya saat boot melalui [secret expansion](#secret-expansion) sebelum menjalankan pemeriksaan entri, jadi setiap klien yang cocok menerima nilai literal dan dapat membacanya. [Header guidance untuk server yang disediakan](/docs/id/managed-mcp#provide-servers-through-managed-settings) berlaku untuk nilai yang diperluas.841Jika Anda menulis referensi `${VAR}` dalam `gateway.yaml`, gateway menyelesaikannya dari lingkungannya saat boot melalui [ekspansi rahasia](#secret-expansion) sebelum menjalankan pemeriksaan entri, sehingga setiap klien yang cocok menerima nilai literal dan dapat membacanya. [Panduan header untuk server yang disediakan](/docs/id/managed-mcp#provide-servers-through-managed-settings) berlaku untuk nilai yang diperluas.

813 842 

814Gateway menolak ejaan `.mcp.json` `mcpServers` dalam blok `cli`, dan error boot-nya menamai `managedMcpServers` sebagai kunci yang digunakan. Sebelum v2.1.259, gateway menolak definisi MCP server apa pun dalam blok `cli`.843Gateway menolak ejaan `.mcp.json` `mcpServers` dalam blok `cli`, dan kesalahan bootnya menamai `managedMcpServers` sebagai kunci yang digunakan. Sebelum v2.1.259, gateway menolak definisi MCP server apa pun dalam blok `cli`.

815 844 

816<h4 id="claude-desktop-overlay">845<h4 id="claude-desktop-overlay">

817 Claude Desktop overlay846 Overlay Claude Desktop

818</h4>847</h4>

819 848 

820Jika organisasi Anda juga menerapkan [Claude Desktop](/docs/id/desktop), gateway yang sama melayani kedua klien. Arahkan `bootstrapUrl`, dalam [managed configuration](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop, ke `<listen.public_url>/user/bootstrap`. Claude Desktop menurunkan issuer OAuth dari URL itu, menjalankan sign-in device-code yang sama terhadap gateway ini, dan mengambil konfigurasinya dari respons.849Jika organisasi Anda juga menyebarkan [Claude Desktop](/docs/id/desktop), gateway yang sama melayani kedua klien. Arahkan `bootstrapUrl`, dalam [konfigurasi yang dikelola](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop, ke `<listen.public_url>/user/bootstrap`. Claude Desktop menurunkan penerbit OAuth dari URL itu, menjalankan sign-in kode perangkat yang sama terhadap gateway ini, dan mengambil konfigurasinya dari respons.

821 850 

822<Note>851<Note>

823 Memerlukan Claude Code v2.1.203 atau lebih baru di server gateway, dan opt-in eksplisit: `/user/bootstrap` mengembalikan 404 kecuali kebijakan yang cocok dengan pengguna membawa kunci `desktop`. `desktop: {}` kosong opt-in kebijakan, dan kunci `desktop` pada lapisan dasar `match: {}` opt-in setiap kebijakan yang mewarisnya. Log audit merekam setiap permintaan sebagai `desktop_bootstrap.serve` atau `desktop_bootstrap.denied`.852 Memerlukan Claude Code v2.1.203 atau lebih baru di server gateway, dan opt-in eksplisit: `/user/bootstrap` mengembalikan 404 kecuali kebijakan yang cocok dengan pengguna membawa kunci `desktop`. `desktop: {}` kosong memilih kebijakan, dan kunci `desktop` pada lapisan dasar `match: {}` memilih setiap kebijakan yang mewarisnya. Log audit merekam setiap permintaan sebagai `desktop_bootstrap.serve` atau `desktop_bootstrap.denied`.

824</Note>853</Note>

825 854 

826Gateway menurunkan banyak respons dari blok `cli` kebijakan yang cocok dan dari konfigurasi gateway tingkat atas:855Gateway menurunkan banyak respons dari blok `cli` kebijakan yang cocok dan dari konfigurasi gateway tingkat atas:

827 856 

828* Daftar model, dari `availableModels`857* Daftar model, dari `availableModels`

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

830* Allowlist egress, dari `sandbox.network.allowedDomains`. Jika Anda mengatur `coworkEgressAllowedHosts` dalam blok `desktop` kebijakan, gateway menggunakan nilai itu alih-alih daftar yang diturunkan859* Allowlist egress, dari `sandbox.network.allowedDomains`. Jika Anda menetapkan `coworkEgressAllowedHosts` dalam blok `desktop` kebijakan, gateway menggunakan nilai itu alih-alih daftar yang diturunkan

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

832 861 

833 Claude Desktop mengekspor setiap signal dengan satu encoding: `http/protobuf`, atau `http/json` ketika Anda mengatur `OTEL_EXPORTER_OTLP_PROTOCOL` atau salah satu varian per-signal-nya ke `http/json` dalam `env` kebijakan. Sebelum Claude Code v2.1.261 di server gateway, respons mengatur `http/json` terlepas, jadi kolektor yang hanya menerima protobuf menolak export Claude Desktop862 Claude Desktop mengekspor setiap sinyal dengan satu pengkodean: `http/protobuf`, atau `http/json` ketika Anda menetapkan `OTEL_EXPORTER_OTLP_PROTOCOL` atau salah satu varian per-sinyal ke `http/json` dalam `env` kebijakan. Sebelum Claude Code v2.1.261 di server gateway, respons menetapkan `http/json` terlepas, jadi kolektor yang hanya menerima protobuf menolak ekspor Claude Desktop

834 863 

835Untuk mengatur `disabledBuiltinTools`, `coworkEgressAllowedHosts`, atau pengaturan `managedMcpServers` Claude Desktop sendiri dalam blok `desktop` kebijakan, Anda memerlukan Claude Code v2.1.232 atau lebih baru di server gateway. `managedMcpServers` Claude Desktop mengambil nilai array daripada objek.864Untuk menetapkan `disabledBuiltinTools`, `coworkEgressAllowedHosts`, atau pengaturan `managedMcpServers` Claude Desktop sendiri dalam blok `desktop` kebijakan, Anda memerlukan Claude Code v2.1.232 atau lebih baru di server gateway. `managedMcpServers` Claude Desktop mengambil nilai array daripada objek.

836 865 

837Gateway menghilangkan kunci tanpa padanan Claude Desktop, seperti `hooks` dan aturan permission yang dibatasi seperti `Bash(npm *)`, dari respons bootstrap.866Gateway menghilangkan kunci tanpa padanan Claude Desktop, seperti `hooks` dan aturan izin yang dibatasi seperti `Bash(npm *)`, dari respons bootstrap.

838 867 

839Tambahkan blok `desktop` opsional bersama `cli` untuk mengatur pengaturan Claude Desktop secara langsung. Tulis pengaturan dari [managed configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop sebagai nama kunci datar. Tinggalkan kunci yang Claude Desktop baca hanya dari MDM atau file lokal, seperti `bootstrapUrl`; gateway menolaknya saat boot. Sebelum v2.1.232, gateway menerima daftar tetap dari 11 kunci feature-gate, seperti `chatTabEnabled` dan `disableAutoUpdates`, dan menolak setiap kunci lainnya saat boot. Sebelum v2.1.227, gateway juga menolak `chatTabEnabled` dan `chatAdvancedFileAnalysisEnabled` saat boot.868Tambahkan blok `desktop` opsional bersama `cli` untuk menetapkan pengaturan Claude Desktop secara langsung. Tulis pengaturan dari [referensi konfigurasi yang dikelola](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop sebagai nama kunci datar. Tinggalkan kunci yang Claude Desktop baca hanya dari MDM atau file lokal, seperti `bootstrapUrl`; gateway menolaknya saat boot. Sebelum v2.1.232, gateway menerima daftar tetap 11 kunci gerbang fitur, seperti `chatTabEnabled` dan `disableAutoUpdates`, dan menolak setiap kunci lain saat boot. Sebelum v2.1.227, gateway juga menolak `chatTabEnabled` dan `chatAdvancedFileAnalysisEnabled` saat boot.

840 869 

841```yaml theme={null}870```yaml theme={null}

842managed:871managed:


850 banner: { text: "Contractor build: internal use only" }879 banner: { text: "Contractor build: internal use only" }

851```880```

852 881 

853Setiap kunci opsional; Claude Desktop menerapkan default-nya sendiri untuk kunci apa pun yang Anda hilangkan. Gateway memvalidasi setiap blok `desktop` saat boot terhadap skema konfigurasi yang Claude Desktop itu sendiri gunakan, jadi kesalahan muncul saat startup gateway sebagai error yang menamai kunci daripada mencapai setiap desktop yang terhubung. Gateway gagal saat boot ketika blok berisi:882Setiap kunci opsional; Claude Desktop menerapkan default sendiri untuk kunci apa pun yang Anda abaikan. Gateway memvalidasi setiap blok `desktop` saat boot terhadap skema konfigurasi yang Claude Desktop itu sendiri gunakan, jadi kesalahan muncul di startup gateway sebagai kesalahan yang menamai kunci daripada mencapai setiap desktop yang terhubung. Gateway gagal saat boot ketika blok berisi:

854 883 

855* Kunci yang tidak dikenal884* Kunci yang tidak dikenal

856* Kunci yang dikenali yang nilai-nya Claude Desktop akan menolak atau diam-diam jatuhkan, seperti nilai kosong atau sub-kunci yang salah eja di dalam entri bersarang. Sebelum v2.1.260, gateway diam-diam menjatuhkan field yang salah eja di dalam objek bersarang dari entri `managedMcpServers` atau `orgPluginSettings` alih-alih gagal saat boot.885* Kunci yang dikenali yang nilainya Claude Desktop akan menolak atau diam-diam jatuhkan, seperti nilai kosong atau sub-kunci yang salah eja di dalam entri bersarang. Sebelum v2.1.260, gateway diam-diam menjatuhkan bidang yang salah eja di dalam objek bersarang dari entri `managedMcpServers` atau `orgPluginSettings` alih-alih gagal saat boot.

857* Kunci yang gateway hitung sendiri: koneksi inference, daftar model, dan relay OTLP. Konfigurasikan ini melalui [`upstreams`](#upstreams), [`models`](#models), dan bagian [`telemetry`](#telemetry) `forward_to`.886* Kunci yang gateway hitung sendiri: koneksi inferensi, daftar model, dan relay OTLP. Konfigurasikan melalui [`upstreams`](#upstreams), [`models`](#models), dan bagian [`telemetry`](#telemetry) `forward_to`.

858* Alias legacy dari kunci saat ini. Dalam error boot, gateway menamai kunci kanonis untuk ditulis.887* Alias warisan dari kunci saat ini. Dalam kesalahan boot, gateway menamai kunci kanonis untuk ditulis.

859 888 

860Jika Anda menggunakan nilai atau bentuk entri yang sudah usang, seperti entri `managedMcpServers` tanpa `transport`, gateway dimulai dan mencatat peringatan yang menamai pengganti.889Jika Anda menggunakan nilai atau bentuk entri yang sudah usang, seperti entri `managedMcpServers` tanpa `transport`, gateway dimulai dan mencatat peringatan yang menamai pengganti.

861 890 

862Gateway memvalidasi blok `desktop` terhadap skema yang disertakan dengan versi yang terinstal, seperti yang dilakukannya pada blok `cli`. Untuk mengirimkan pengaturan yang diperkenalkan oleh rilis Claude Desktop yang lebih baru, upgrade gateway terlebih dahulu. Misalnya, `userPluginMarketplacesEnabled` dan `userPluginUploadsEnabled` memerlukan Claude Code v2.1.260 atau lebih baru di server gateway dan Claude Desktop 1.37937.0 atau lebih baru pada mesin anggota.891Gateway memvalidasi blok `desktop` terhadap skema yang disertakan dengan versi yang diinstal, seperti yang dilakukannya pada blok `cli`. Untuk mengirimkan pengaturan yang diperkenalkan oleh rilis Claude Desktop yang lebih baru, upgrade gateway terlebih dahulu. Misalnya, `userPluginMarketplacesEnabled` dan `userPluginUploadsEnabled` memerlukan Claude Code v2.1.260 atau lebih baru di server gateway dan Claude Desktop 1.37937.0 atau lebih baru di mesin anggota.

892 

893`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes`, dan `sshClientPath` memerlukan Claude Code v2.1.281 atau lebih baru di server gateway. Begitu juga nilai `required` dari `microsoftAuthBroker` dan bidang `continuousAccessEvaluation` dari entri `managedMcpServers` Microsoft 365. Rilis Claude Desktop yang mendahului nilai `required` membacanya sebagai `disabled`, jadi atur `required` hanya setelah setiap anggota Claude Desktop mendukungnya. [Referensi konfigurasi yang dikelola](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop mencantumkan rilis yang pertama kali membaca setiap kunci.

863 894 

864Jika Anda mengatur `orgPluginSettings` dalam blok `desktop` kebijakan, gateway melayaninya dalam bentuk array yang Claude Desktop 1.15200.0 dan lebih baru baca. Desktop yang lebih lama mengabaikan array dan tidak memberlakukan kebijakan tool plugin, jadi perbarui anggota ke 1.15200.0 atau lebih baru sebelum Anda mengandalkannya.895Jika Anda menetapkan `orgPluginSettings` dalam blok `desktop` kebijakan, gateway melayaninya dalam bentuk array yang Claude Desktop 1.15200.0 dan lebih baru baca. Desktop yang lebih lama mengabaikan array dan tidak menerapkan kebijakan alat plugin, jadi perbarui anggota ke 1.15200.0 atau lebih baru sebelum Anda mengandalkannya.

865 896 

866Gateway mengisi kunci yang blok `desktop` kebijakan tidak atur dari blok `desktop` catch-all `match: {}`, dengan cara yang sama mengisi blok `cli` kebijakan dari dasar. Jika Anda mengatur `disabledBuiltinTools` atau `builtinToolPolicy` dalam dasar dan kebijakan peran, gateway menyimpan pembatasan dasar:897Gateway mengisi kunci yang blok `desktop` kebijakan tidak ditetapkan dari blok `desktop` catch-all `match: {}`, dengan cara yang sama mengisi blok `cli` kebijakan dari dasar. Jika Anda menetapkan `disabledBuiltinTools` atau `builtinToolPolicy` dalam dasar dan kebijakan peran, gateway menyimpan pembatasan dasar:

867 898 

868* `disabledBuiltinTools`: gateway menggunakan union dari daftar dasar dan daftar kebijakan899* `disabledBuiltinTools`: gateway menggunakan gabungan daftar dasar dan daftar kebijakan

869* `builtinToolPolicy`: jika Anda mengatur tool ke nilai selain `allow` dalam dasar, gateway menyimpan nilai itu bahkan jika Anda mengatur `allow` untuk tool yang sama dalam kebijakan peran900* `builtinToolPolicy`: jika Anda menetapkan alat ke nilai selain `allow` dalam dasar, gateway menyimpan nilai itu bahkan jika Anda menetapkan `allow` untuk alat yang sama dalam kebijakan peran

870 901 

871Untuk setiap kunci lainnya, jika Anda mengaturnya dalam kebijakan peran, gateway menggunakan nilai kebijakan peran. Gateway mengganti array atau objek bersarang seperti `banner` secara keseluruhan, jadi jika Anda mengatur `banner.text` dalam kebijakan peran, gateway menjatuhkan `banner.backgroundColor` dasar.902Untuk setiap kunci lain, jika Anda menetapkannya dalam kebijakan peran, gateway menggunakan nilai kebijakan peran. Gateway mengganti array atau objek bersarang seperti `banner` secara keseluruhan, jadi jika Anda menetapkan `banner.text` dalam kebijakan peran, gateway menjatuhkan `banner.backgroundColor` dasar.

872 903 

873Jika Anda tidak menerapkan Claude Desktop, tinggalkan `desktop` sepenuhnya dari kebijakan Anda; gateway kemudian mengembalikan 404 dari `/user/bootstrap` untuk setiap pengguna.904Jika Anda tidak menyebarkan Claude Desktop, tinggalkan `desktop` sepenuhnya dari kebijakan Anda; gateway kemudian mengembalikan 404 dari `/user/bootstrap` untuk setiap pengguna.

874 905 

875<h4 id="precedence-with-other-managed-sources">906<h4 id="precedence-with-other-managed-sources">

876 Precedence dengan sumber terkelola lainnya907 Preseden dengan sumber yang dikelola lainnya

877</h4>908</h4>

878 909 

879Jika perangkat juga memiliki kebijakan yang dikirimkan MDM atau `managed-settings.json` lokal, pengaturan yang dikirimkan gateway mendapat peringkat pertama. [Precedence within the managed tier](/docs/id/managed-settings#precedence-within-the-managed-tier) di halaman pengaturan terkelola mengatakan kapan sumber lokal berlaku, dan memiliki [kunci yang Claude Code baca dari setiap sumber admin](/docs/id/managed-settings#keys-read-from-every-admin-source) terlepas dari sumber mana yang dipilihnya, seperti kunci sandbox lock, `forceRemoteSettingsRefresh`, dan per-variabel `env` merge. [`policyHelper`](/docs/id/settings-reference#policyhelper) yang dikonfigurasi dalam profil MDM atau file pengaturan terkelola berjalan hanya ketika gateway tidak mengirimkan pengaturan; entri mengatakan apa yang outputnya gantikan.910Jika perangkat juga memiliki kebijakan yang dikirimkan MDM atau `managed-settings.json` lokal, pengaturan yang dikirimkan gateway mendapat peringkat pertama. [Preseden dalam tingkat yang dikelola](/docs/id/managed-settings#precedence-within-the-managed-tier) di halaman pengaturan yang dikelola mengatakan kapan sumber lokal berlaku, dan memiliki [kunci yang Claude Code baca dari setiap sumber admin](/docs/id/managed-settings#keys-read-from-every-admin-source) terlepas dari sumber mana yang dipilihnya, seperti kunci kunci sandbox, `forceRemoteSettingsRefresh`, dan per-variabel `env` merge. [`policyHelper`](/docs/id/settings-reference#policyhelper) yang dikonfigurasi dalam profil MDM atau file pengaturan yang dikelola hanya berjalan ketika gateway tidak mengirimkan pengaturan; entri mengatakan apa yang digantikannya.

880 911 

881Host embedding seperti [Claude Desktop](/docs/id/desktop) dapat menyediakan kebijakan melalui opsi SDK `managedSettings`. [Parent settings from embedding hosts](/docs/id/managed-settings#parent-settings-from-embedding-hosts) mengatakan kapan Claude Code menerapkannya, dan [Restrict parent settings](/docs/id/claude-apps-gateway#restrict-parent-settings) mencantumkan pengaturan arah allow mana yang masih berlaku tanpa kunci `allowManaged*Only`.912Host penyematan seperti [Claude Desktop](/docs/id/desktop) dapat memasok kebijakan melalui opsi SDK `managedSettings`. [Pengaturan induk dari host penyematan](/docs/id/managed-settings#parent-settings-from-embedding-hosts) mengatakan kapan Claude Code menerapkannya, dan [Batasi pengaturan induk](/docs/id/claude-apps-gateway#restrict-parent-settings) mencantumkan pengaturan arah allow mana yang masih berlaku tanpa kunci `allowManaged*Only`.

882 913 

883Kebijakan gateway berlaku untuk setiap invokasi Claude Code pada mesin, termasuk run non-interaktif `claude -p` dan sesi yang dihasilkan oleh Agent SDK. Jika gateway tidak dapat dijangkau saat startup, sesi yang masuk keluar dengan error daripada menjalankan tanpa kebijakan mereka.914Kebijakan gateway berlaku untuk setiap invokasi Claude Code pada mesin, termasuk jalankan `claude -p` non-interaktif dan sesi yang dihasilkan oleh Agent SDK. Jika gateway tidak dapat dijangkau saat startup, sesi yang masuk keluar dengan kesalahan daripada berjalan tanpa kebijakan mereka.

884 915 

885<h3 id="telemetry">916<h3 id="telemetry">

886 `telemetry`917 `telemetry`

887</h3>918</h3>

888 919 

889CLI mengirim metrik, log, dan, ketika diaktifkan, trace ke gateway, yang meneruskan mereka verbatim ke setiap tujuan yang dikonfigurasi. Export menggunakan OpenTelemetry Protocol (OTLP) melalui HTTP. Untuk melewati relay dan memiliki sesi mengekspor langsung ke kolektor Anda, [namai kolektor dalam kebijakan](#export-directly-to-your-collector). Lihat [Monitoring usage](/docs/id/monitoring-usage) untuk metrik dan event yang CLI emit.920CLI mengirim metrik, log, dan, ketika diaktifkan, jejak ke gateway, yang meneruskannya verbatim ke setiap tujuan yang dikonfigurasi. Ekspor menggunakan OpenTelemetry Protocol (OTLP) melalui HTTP. Untuk melewati relay dan memiliki sesi ekspor langsung ke kolektor Anda, [namai kolektor dalam kebijakan](#export-directly-to-your-collector). Lihat [Monitoring usage](/docs/id/monitoring-usage) untuk metrik dan acara yang CLI pancarkan.

890 921 

891CLI memberi stempel setiap export dengan identitas pengguna yang terautentikasi, dibaca dari JWT yang diterbitkan gateway: atribut `user.id`, `user.email`, dan `user.groups`. Atribusi biaya dan penggunaan per-developer oleh karena itu bekerja tanpa konfigurasi sisi developer.922Dalam sesi yang masuk melalui `/login`, CLI memberi stempel setiap ekspor dengan identitas pengguna yang diautentikasi, dibaca dari JWT yang diterbitkan gateway: atribut `user.id`, `user.email`, dan `user.groups`. Atribusi biaya dan penggunaan per-pengembang oleh karena itu bekerja tanpa konfigurasi sisi pengembang.

892 923 

893[Claude Desktop](#claude-desktop-overlay) dan sesi Cowork yang masuk melalui gateway memberi stempel telemetry mereka dengan `user.email` dan `user.groups` bersama `enduser.id`, jadi Anda dapat mencakup penggunaan terminal, Desktop, dan Cowork dengan satu query pada `user.email` atau `user.groups`. `user.groups` adalah daftar grup IdP yang dipisahkan koma.924Sesi [Claude Desktop](#claude-desktop-overlay) dan Cowork yang masuk melalui gateway memberi stempel telemetri mereka dengan `user.email` dan `user.groups` bersama `enduser.id`, sehingga Anda dapat mencakup penggunaan terminal, Desktop, dan Cowork dengan satu kueri di `user.email` atau `user.groups`. `user.groups` adalah daftar grup IdP yang dipisahkan koma.

894 925 

895Desktop dan Cowork telemetry juga membawa `enduser.sub`, klaim `sub` yang penyedia identitas Anda terbitkan untuk pengguna, yang tetap sama ketika email pengguna berubah. Sesi terminal memberi stempel nilai yang sama di bawah `user.id`, jadi query yang cocok `enduser.sub` terhadap terminal `user.id` mencakup penggunaan terminal, Desktop, dan Cowork satu pengguna bersama-sama. Pada export Desktop dan Cowork, `user.id` adalah identifier anonim, bukan subject.926Telemetri Desktop dan Cowork juga membawa `enduser.sub`, klaim `sub` yang penyedia identitas Anda keluarkan untuk pengguna, yang tetap sama ketika email pengguna berubah. Sesi terminal memberi stempel nilai yang sama di bawah `user.id`, jadi kueri yang cocok `enduser.sub` terhadap terminal `user.id` mencakup penggunaan terminal, Desktop, dan Cowork satu pengguna bersama-sama. Pada ekspor Desktop dan Cowork, `user.id` adalah pengidentifikasi anonim, bukan subjek.

896 927 

897Seperti semua data OpenTelemetry dari Claude Code, atribut ini hanya pergi ke tujuan yang organisasi Anda konfigurasikan, tidak pernah ke Anthropic.928Seperti semua data OpenTelemetry dari Claude Code, atribut ini hanya pergi ke tujuan yang dikonfigurasi organisasi Anda, tidak pernah ke Anthropic.

898 929 

899Jika daftar grup pengguna lebih panjang dari 255 karakter setelah percent-encoded, atau nama grup berisi koma atau tanda sama dengan, gateway meninggalkan `user.groups` dari telemetry Desktop dan Cowork pengguna itu daripada memotongnya. Sesi terminal pengguna itu masih membawa daftar lengkap.930Jika daftar grup pengguna lebih panjang dari 255 karakter setelah dikodekan persen, atau nama grup berisi koma atau tanda sama dengan, gateway meninggalkan `user.groups` dari telemetri Desktop dan Cowork pengguna itu daripada memotongnya. Sesi terminal pengguna itu masih membawa daftar lengkap.

900 931 

901Gateway meninggalkan `enduser.sub` ketika subject lebih panjang dari 255 karakter setelah percent-encoded, atau berisi spasi, karakter di luar printable ASCII, atau salah satu dari `,` `;` `=` `\` `"` `%`. Telemetry Desktop dan Cowork pengguna itu menyimpan atribut lainnya.932Gateway meninggalkan `enduser.sub` ketika subjek lebih panjang dari 255 karakter setelah dikodekan persen, atau berisi spasi, karakter di luar ASCII yang dapat dicetak, atau salah satu dari `,` `;` `=` `\` `"` `%`. Telemetri Desktop dan Cowork pengguna itu menyimpan atribut lainnya.

902 933 

903Anda memerlukan Claude Code v2.1.265 atau lebih baru di server gateway untuk `user.email` dan `user.groups` pada telemetry Desktop dan Cowork, dan Claude Desktop 1.24012 atau lebih baru pada mesin setiap developer untuk `user.groups`.934Anda memerlukan Claude Code v2.1.265 atau lebih baru di server gateway untuk `user.email` dan `user.groups` pada telemetri Desktop dan Cowork, dan Claude Desktop 1.24012 atau lebih baru di mesin setiap pengembang untuk `user.groups`.

904 935 

905Anda memerlukan Claude Code v2.1.274 atau lebih baru di server gateway untuk `enduser.sub`.936Anda memerlukan Claude Code v2.1.274 atau lebih baru di server gateway untuk `enduser.sub`.

906 937 


920```951```

921 952 

922<Warning>953<Warning>

923 Setiap tujuan opt into `metrics`, `logs`, dan `traces` secara independen, dan default adalah metrics saja. Signal berbeda dalam sensitivitas:954 Setiap tujuan memilih `metrics`, `logs`, dan `traces` secara independen, dan default adalah metrik saja. Sinyal berbeda dalam sensitivitas:

924 955 

925 * **Metrics**: counter agregat seperti token counts, request counts, dan latency956 * **Metrik**: penghitung agregat seperti jumlah token, jumlah permintaan, dan latensi

926 * **Logs dan traces**: dapat membawa perintah bash lengkap, tool inputs, dan jalur file, mencakup apa pun yang Claude Code lakukan pada mesin developer957 * **Log dan jejak**: dapat membawa perintah Bash lengkap, input alat, dan jalur file, mencakup apa pun yang Claude Code lakukan di mesin pengembang

927 958 

928 Aktifkan logs dan traces hanya pada tujuan dengan kontrol akses dan kebijakan retensi yang data jamin.959 Aktifkan log dan jejak hanya pada tujuan dengan kontrol akses dan kebijakan retensi yang data itu jamin.

929</Warning>960</Warning>

930 961 

931Setiap URL `forward_to` harus menggunakan `https://`, dengan satu pengecualian untuk kolektor di interface loopback gateway itu sendiri:962Setiap URL `forward_to` harus menggunakan `https://`, dengan satu pengecualian untuk kolektor di antarmuka loopback gateway itu sendiri:

932 963 

933* `http://localhost:<port>` melewati validasi konfigurasi, tetapi [SSRF guard](/docs/id/claude-apps-gateway-deploy#threat-model-summary) memblokir setiap export dengan `ECONNREFUSED_SSRF` kecuali Anda mengatur `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` dalam lingkungan gateway964* `http://localhost:<port>` melewati validasi konfigurasi, tetapi [penjaga SSRF](/docs/id/claude-apps-gateway-deploy#threat-model-summary) memblokir setiap ekspor dengan `ECONNREFUSED_SSRF` kecuali Anda menetapkan `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` dalam lingkungan gateway

934* `http://127.0.0.1:<port>` atau `http://[::1]:<port>` gagal boot kecuali variabel itu diatur965* `http://127.0.0.1:<port>` atau `http://[::1]:<port>` gagal boot kecuali variabel itu ditetapkan

935 966 

936Untuk kolektor in-cluster, paparkan melalui HTTPS di alamat internal-nya sendiri, atau jalankan sebagai sidecar dengan variabel diatur.967Untuk kolektor dalam kluster, paparkan melalui HTTPS di alamat internalnya sendiri, atau jalankan sebagai sidecar dengan variabel yang ditetapkan.

937 968 

938Ketika `HTTPS_PROXY` diatur, gateway mengirimkan export melalui proxy itu.969Ketika `HTTPS_PROXY` ditetapkan, gateway mengirim ekspor melalui proxy itu.

939 970 

940Untuk menjangkau kolektor internal secara langsung, tambahkan ke `NO_PROXY` berdasarkan hostname atau berdasarkan domain dengan titik terkemuka seperti `.internal.example.com`, yang memerlukan Claude Code v2.1.277 atau lebih baru di server gateway. Pastikan gateway dapat menjangkau kolektor tanpa proxy. Entri tanpa titik terkemuka cocok hanya dengan nama yang tepat itu, bukan nama di bawahnya. Rentang CIDR tidak cocok.971Untuk mencapai kolektor internal secara langsung, tambahkan ke `NO_PROXY` berdasarkan nama host atau domain dengan titik terkemuka seperti `.internal.example.com`, yang memerlukan Claude Code v2.1.277 atau lebih baru di server gateway. Pastikan gateway dapat mencapai kolektor tanpa proxy. Entri tanpa titik terkemuka cocok hanya dengan nama yang tepat itu, bukan nama di bawahnya. Rentang CIDR tidak cocok.

941 972 

942Dengan [proxy-only egress](#proxy-only-egress) diaktifkan, izinkan kolektor dalam proxy alih-alih, karena entri `NO_PROXY` apa pun menjaga proxy-only egress tetap mati.973Dengan [proxy-only egress](#proxy-only-egress) diaktifkan, izinkan kolektor dalam proxy sebagai gantinya, karena entri `NO_PROXY` apa pun menjaga proxy-only egress tetap mati.

943 974 

944Telemetry off dalam CLI secara default. Ketika Anda mengatur `telemetry.forward_to` dan `listen.public_url`, gateway mengaktifkannya untuk klien yang terhubung dengan mendorong enam variabel lingkungan melalui `/managed/settings`:975Telemetri dimatikan dalam CLI secara default. Ketika Anda menetapkan `telemetry.forward_to` dan `listen.public_url`, gateway mengaktifkannya untuk klien yang terhubung dengan mendorong enam variabel lingkungan melalui `/managed/settings`:

945 976 

946* `CLAUDE_CODE_ENABLE_TELEMETRY=1`977* `CLAUDE_CODE_ENABLE_TELEMETRY=1`

947* `OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, dan `OTEL_TRACES_EXPORTER`, masing-masing diatur ke `otlp` jika setidaknya satu tujuan `forward_to` mengaktifkan signal itu dan ke `none` sebaliknya978* `OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, dan `OTEL_TRACES_EXPORTER`, masing-masing ditetapkan ke `otlp` jika setidaknya satu tujuan `forward_to` mengaktifkan sinyal itu dan ke `none` sebaliknya

948* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`979* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

949* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`980* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`

950 981 

951Ketika Anda [menambahkan label Anda sendiri](#add-your-own-labels), gateway juga mendorong `OTEL_RESOURCE_ATTRIBUTES`.982Ketika Anda [menambahkan label Anda sendiri](#add-your-own-labels), gateway juga mendorong `OTEL_RESOURCE_ATTRIBUTES`.

952 983 

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.984Sebelum Claude Code v2.1.265 di server gateway, gateway mendorong ketiga pemilih eksportir sebagai `otlp`, termasuk untuk sinyal yang tidak ada tujuan yang memilih.

954 985 

955Endpoint yang didorong dibangun dari URL publik, jadi metrik dan log tidak memerlukan konfigurasi OTEL dari developer atau kebijakan.986Endpoint yang didorong dibangun dari URL publik, jadi metrik dan log tidak memerlukan konfigurasi OTEL dari pengembang atau kebijakan.

956 987 

957Developer yang masuk melalui `/login` tidak dapat mengalihkan export dengan konfigurasi OTEL mereka sendiri:988Pengembang yang masuk melalui `/login` tidak dapat mengalihkan ekspor dengan konfigurasi OTEL mereka sendiri:

958 989 

959* **Variabel yang diatur secara lokal**: Claude Code menerapkan variabel yang didorong pada tingkat terkelola, jadi masing-masing menimpa nilai yang developer atur untuk itu secara lokal.990* **Variabel yang ditetapkan secara lokal**: Claude Code menerapkan variabel yang didorong di tingkat yang dikelola, jadi masing-masing menimpa nilai yang ditetapkan pengembang untuk itu secara lokal.

960* **Endpoint yang dikonfigurasi secara lokal**: dengan export OTLP/HTTP diaktifkan, CLI mengabaikan endpoint yang dikonfigurasi secara lokal apa pun, terlepas dari apakah gateway mendorong variabel telemetry. Export-nya pergi ke gateway kecuali kebijakan [menamai kolektor Anda sebagai endpoint](#export-directly-to-your-collector).991* **Endpoint yang dikonfigurasi secara lokal**: dengan ekspor OTLP/HTTP diaktifkan, CLI mengabaikan endpoint yang dikonfigurasi secara lokal apa pun, terlepas dari apakah gateway mendorong variabel telemetri. Ekspornya pergi ke gateway kecuali kebijakan [menamai kolektor Anda sebagai endpoint](#export-directly-to-your-collector).

961 992 

962Tanpa tujuan `forward_to` untuk signal, gateway menerima dan membuangnya. Jika developer sudah mengekspor telemetry Claude Code ke salah satu kolektor Anda, tambahkan sebagai tujuan `forward_to`, dengan logs atau traces diaktifkan jika mereka mengekspor itu, jadi terus menerima data mereka setelah mereka masuk. Untuk melewati relay alih-alih, [namai kolektor dalam kebijakan](#export-directly-to-your-collector).993Tanpa tujuan `forward_to` untuk sinyal, gateway menerima dan membuangnya. Jika pengembang sudah mengekspor telemetri Claude Code ke salah satu kolektor Anda, tambahkan sebagai tujuan `forward_to`, dengan log atau jejak diaktifkan jika mereka mengekspor itu, sehingga terus menerima data mereka setelah mereka masuk. Untuk melewati relay sebagai gantinya, [namai kolektor dalam kebijakan](#export-directly-to-your-collector).

963 994 

964[Traces](/docs/id/monitoring-usage#traces-beta) juga memerlukan `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` pada setiap klien. Atur dalam blok `env` kebijakan terkelola, karena gateway tidak mendorongnya. Developer menyetujuinya dalam dialog [security approval](#managed) yang sama yang endpoint yang didorong sudah trigger.995[Jejak](/docs/id/monitoring-usage#traces-beta) juga memerlukan `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` pada setiap klien. Atur dalam blok `env` kebijakan yang dikelola, karena gateway tidak mendorongnya. Pengembang menyetujuinya dalam [dialog persetujuan keamanan](#managed) yang sama yang endpoint yang didorong sudah memicu.

965 996 

966Atur ke `1` hanya dalam kebijakan yang grup-nya Anda ingin trace. Kebijakan yang tidak mengaturnya mewarisi nilai dari kebijakan catch-all `match: {}` Anda jika kebijakan itu mengatur satu, per [merge rules](#managed). Untuk menjaga klien grup dari mengirim trace bahkan ketika developer mengatur variabel secara lokal, atur ke `0` dalam kebijakan grup itu.997Atur ke `1` hanya dalam kebijakan yang grup Anda ingin dilacak. Kebijakan yang tidak menetapkannya mewarisi nilai dari kebijakan catch-all `match: {}` Anda jika kebijakan itu menetapkan satu, per [aturan penggabungan](#managed). Untuk menjaga klien grup dari mengirim jejak bahkan ketika pengembang menetapkan variabel secara lokal, atur ke `0` dalam kebijakan grup itu.

967 998 

968Kedua encoding OTLP protobuf dan JSON direlai, dan backend apa pun yang kompatibel dengan OpenTelemetry bekerja sebagai tujuan.999Kedua pengkodean OTLP protobuf dan JSON diteruskan, dan backend yang kompatibel OpenTelemetry apa pun bekerja sebagai tujuan.

969 1000 

970<h4 id="add-your-own-labels">1001<h4 id="add-your-own-labels">

971 Add your own labels1002 Tambahkan label Anda sendiri

972</h4>1003</h4>

973 1004 

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.1005Untuk menempatkan label tetap seperti `service.namespace` atau `deployment.environment.name` pada telemetri sesi yang masuk melalui gateway, atur `telemetry.resource_attributes`. Setiap label adalah atribut sumber OpenTelemetry, dan setiap tujuan menerima label yang sama.

975 1006 

976Sesi mendapat label hanya ketika Anda juga mengatur `telemetry.forward_to` dan `listen.public_url`. Contoh ini menambahkan dua label:1007Sesi mendapatkan label hanya ketika Anda juga menetapkan `telemetry.forward_to` dan `listen.public_url`. Contoh ini menambahkan dua label:

977 1008 

978```yaml theme={null}1009```yaml theme={null}

979telemetry:1010telemetry:


984 deployment.environment.name: prod1015 deployment.environment.name: prod

985```1016```

986 1017 

987Gateway menolak untuk memulai ketika label melanggar salah satu aturan ini, dan error startup menamai label:1018Gateway menolak untuk memulai ketika label melanggar salah satu aturan ini, dan kesalahan startup menamai label:

988 1019 

989* Nama menggunakan hanya huruf, digit, `.`, `_`, dan `-`1020* 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`1021* 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 `, ; = \ " %`1022* Nilai adalah ASCII yang dapat dicetak 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 tiga1023* Nilai paling banyak 255 karakter saat gateway menghitungnya setelah pengkodean persen, jadi `/`, `:`, dan `@` masing-masing menghitung sebagai tiga

993* Nilai adalah teks, jadi kutip angka, `true`, atau `false`1024* Nilai adalah teks, jadi kutip angka, `true`, atau `false`

994 1025 

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.1026Anda memerlukan Claude Code v2.1.281 atau lebih baru di server gateway untuk menetapkan `telemetry.resource_attributes`. Gateway sebelumnya menolak untuk memulai ketika menemukan kunci. Upgrade setiap replika sebelum Anda menambahkan kunci, dan hapus kunci sebelum Anda kembali ke versi sebelumnya.

996 1027 

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.1028Sesi terminal yang masuk melalui `/login` menerima label sebagai `OTEL_RESOURCE_ATTRIBUTES`, didorong dengan [variabel telemetri](#telemetry) lainnya. Jika Anda menetapkan `OTEL_RESOURCE_ATTRIBUTES` dalam blok `env` kebijakan, sesi terminal yang cocok dengan kebijakan itu mendapatkan nilai itu alih-alih label. Claude Desktop menerima label dari gateway bersama `user.email` dan atribut identitas lainnya.

998 1029 

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).1030Claude Code juga menyalin setiap label ke setiap titik data metrik, sehingga Anda dapat memfilter metrik berdasarkannya di backend yang tidak mengindeks atribut sumber. Untuk mematikan salinan itu, lihat [Kontrol kardinalitas metrik](/docs/id/monitoring-usage#metrics-cardinality-control).

1000 1031 

1001<h4 id="export-directly-to-your-collector">1032<h4 id="export-directly-to-your-collector">

1002 Export directly to your collector1033 Ekspor langsung ke kolektor Anda

1003</h4>1034</h4>

1004 1035 

1005Untuk memiliki sesi yang masuk melalui `/login` mengirim telemetry langsung ke kolektor Anda alih-alih melalui relay, atur `OTEL_EXPORTER_OTLP_ENDPOINT` ke URL dasar `https://` kolektor dalam blok `env` [kebijakan terkelola](#managed). Claude Code menambahkan `/v1/metrics`, `/v1/logs`, atau `/v1/traces` ke URL yang Anda atur, seperti `https://otel-collector.example.com:4318`, dan mengekspor setiap signal di sana melalui OTLP/HTTP. Memerlukan Claude Code v2.1.265 atau lebih baru pada mesin setiap developer. Klien sebelumnya mengekspor melalui relay.1036Untuk memiliki sesi yang masuk melalui `/login` mengirim telemetri langsung ke kolektor Anda alih-alih melalui relay, atur `OTEL_EXPORTER_OTLP_ENDPOINT` ke URL dasar `https://` kolektor dalam blok `env` dari [kebijakan yang dikelola](#managed). Claude Code menambahkan `/v1/metrics`, `/v1/logs`, atau `/v1/traces` ke URL yang Anda atur, seperti `https://otel-collector.example.com:4318`, dan mengekspor setiap sinyal di sana melalui OTLP/HTTP. Memerlukan Claude Code v2.1.265 atau lebih baru di setiap mesin pengembang. Klien sebelumnya mengekspor melalui relay.

1006 1037 

1007Untuk mengautentikasi ke kolektor, atur `OTEL_EXPORTER_OTLP_HEADERS` dalam blok `env` yang sama. Sesi tidak pernah mengirim token sesi gateway developer ke kolektor yang dinamai dengan cara ini.1038Untuk mengautentikasi ke kolektor, atur `OTEL_EXPORTER_OTLP_HEADERS` dalam blok `env` yang sama. Sesi tidak pernah mengirim token sesi gateway pengembang ke kolektor yang dinamai dengan cara ini.

1008 1039 

1009Ketika Anda menambah atau mengubah endpoint ini dalam kebijakan, Claude Code meminta setiap developer untuk menyetujuinya dalam [security approval dialog](#managed) sebelum menerapkannya dalam sesi interaktif.1040Ketika Anda menambah atau mengubah endpoint ini dalam kebijakan, Claude Code meminta setiap pengembang untuk menyetujuinya dalam [dialog persetujuan keamanan](#managed) sebelum menerapkannya dalam sesi interaktif.

1010 1041 

1011Claude Code memeriksa endpoint sebelum mengekspor signal langsung, dan menyimpan signal itu di relay ketika pemeriksaan gagal. Pemeriksaan termasuk:1042Claude Code memeriksa endpoint sebelum mengekspor sinyal secara langsung, dan menyimpan sinyal itu di relay ketika pemeriksaan gagal. Pemeriksaan termasuk:

1012 1043 

1013* Endpoint berasal dari gateway itu sendiri. Jika Anda mengatur variabel yang sama dalam profil MDM atau `managed-settings.json` lokal, export tetap di relay.1044* Endpoint berasal dari gateway itu sendiri. Jika Anda menetapkan variabel yang sama dalam profil MDM atau `managed-settings.json` lokal, ekspor tetap di relay.

1014* URL menggunakan `https://`, atau `http://` ke alamat loopback1045* URL menggunakan `https://`, atau `http://` ke alamat loopback

1015* URL menyelesaikan ke path yang berakhir dalam `/v1/<signal>`, tanpa query atau fragment. Claude Code membangun path itu sendiri dari variabel generik. Ini menggunakan variabel per-signal seperti `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` seperti yang ditulis, jadi sertakan path lengkap di sana.1046* URL diselesaikan ke jalur yang berakhir di `/v1/<signal>`, tanpa kueri atau fragmen. Claude Code membangun jalur itu sendiri dari variabel generik. Ini menggunakan variabel per-sinyal seperti `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` seperti yang ditulis, jadi sertakan jalur lengkap di sana.

1016* URL bukan host gateway itu sendiri. Endpoint yang ditujukan ke gateway menyimpan path relay dan token sesi-nya.1047* URL bukan host gateway itu sendiri. Endpoint yang ditujukan ke gateway menyimpan jalur relay dan token sesinya.

1017* Baik Anda maupun developer tidak mengonfigurasi [`otelHeadersHelper`](/docs/id/settings-reference#otelheadershelper) dalam sumber pengaturan apa pun. Dengan helper yang dikonfigurasi, setiap signal tetap di relay.1048* Baik Anda maupun pengembang telah mengonfigurasi [`otelHeadersHelper`](/docs/id/settings-reference#otelheadershelper) dalam sumber pengaturan apa pun. Dengan helper yang dikonfigurasi, setiap sinyal tetap di relay.

1018 1049 

1019Endpoint yang Anda namai mengubah hanya di mana export pergi. Anda masih memilih signal mana yang mengekspor sama sekali dengan selector `OTEL_*_EXPORTER`.1050Endpoint yang Anda namai mengubah hanya di mana ekspor pergi. Anda masih memilih sinyal mana yang mengekspor sama sekali dengan pemilih `OTEL_*_EXPORTER`.

1020 1051 

1021Endpoint saja tidak mengaktifkan export, jadi juga atur variabel yang melakukannya, kecuali gateway sudah mendorongnya:1052Endpoint saja tidak mengaktifkan ekspor, jadi juga atur variabel yang melakukannya, kecuali gateway sudah mendorongnya:

1022 1053 

1023* Jika gateway sudah [mendorong variabel telemetry](#telemetry), mereka mencakup enablement, selector, dan protokol, dan endpoint eksplisit Anda menimpa nilai `<public_url>` yang didorong. Atur selector `OTEL_*_EXPORTER` ke `otlp` sendiri hanya untuk signal yang tidak ada tujuan `forward_to` yang mengaktifkan.1054* Jika gateway sudah [mendorong variabel telemetri](#telemetry), mereka mencakup enablement, pemilih, dan protokol, dan endpoint eksplisit Anda menimpa nilai `<public_url>` yang didorong. Atur pemilih `OTEL_*_EXPORTER` ke `otlp` sendiri hanya untuk sinyal yang tidak ada tujuan `forward_to` yang mengaktifkan.

1024* Jika tidak, juga atur `CLAUDE_CODE_ENABLE_TELEMETRY=1`, selector `OTEL_*_EXPORTER`, dan `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`.1055* Jika tidak, juga atur `CLAUDE_CODE_ENABLE_TELEMETRY=1`, pemilih `OTEL_*_EXPORTER`, dan `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`.

1025 1056 

1026Ketika developer masuk keluar, atau masuk ke gateway yang berbeda, export ke kolektor berhenti dan Claude Code menjatuhkan setiap batch yang tersisa daripada mengirimkannya.1057Ketika pengembang keluar, atau masuk ke gateway yang berbeda, ekspor ke kolektor berhenti dan Claude Code menjatuhkan setiap batch yang tersisa daripada mengirimkannya.

1027 1058 

1028<h4 id="when-a-destination-fails">1059<h4 id="when-a-destination-fails">

1029 When a destination fails1060 Ketika tujuan gagal

1030</h4>1061</h4>

1031 1062 

1032Gateway tidak buffer, retry, atau menyimpan telemetry, jadi itu menjatuhkan export yang tidak mencapai tujuan daripada mengirimkannya terlambat. Setiap tujuan berhasil atau gagal sendiri, dan klien yang mengekspor menerima respons sukses baik cara, jadi pengiriman yang gagal muncul hanya dalam log gateway.1063Gateway tidak membuffer, mencoba ulang, atau menyimpan telemetri, jadi itu menjatuhkan ekspor yang tidak mencapai tujuan daripada mengirimkannya terlambat. Setiap tujuan berhasil atau gagal sendiri, dan klien yang mengekspor menerima respons sukses bagaimanapun, jadi pengiriman yang gagal muncul hanya dalam log gateway.

1033 1064 

1034Setelah lima pengiriman berturut-turut yang gagal ke tujuan, gateway menjeda penerusan ke dalamnya dalam peregangan 30 detik, mencatat setiap jeda, sampai pengiriman berhasil. Respons error apa pun, timeout, atau error koneksi dihitung sebagai pengiriman yang gagal, kecuali `400`, `413`, `415`, `422`, dan `431`, yang berarti kolektor menolak payload export itu sebagai salah bentuk atau terlalu besar.1065Setelah lima pengiriman berturut-turut yang gagal ke tujuan, gateway menjeda penerusan ke dalamnya dalam peregangan 30 detik, mencatat setiap jeda, sampai pengiriman berhasil. Respons kesalahan apa pun, timeout, atau kesalahan koneksi menghitung sebagai pengiriman yang gagal, kecuali `400`, `413`, `415`, `422`, dan `431`, yang berarti kolektor menolak muatan ekspor itu sebagai salah format atau terlalu besar.

1035 1066 

1036Payload yang ditolak tidak memajukan atau mereset failure count: gateway terus meneruskan ke tujuan dan mencatat peringatan yang menamakannya dan status, pada penolakan pertama tujuan dan setiap seratus setelah.1067Muatan yang ditolak tidak memajukan atau mengatur ulang penghitung kegagalan: gateway terus meneruskan ke tujuan dan mencatat peringatan yang menamakannya dan status, pada penolakan pertama tujuan dan setiap seratus setelahnya.

1037 1068 

1038<h3 id="http-tuning">1069<h3 id="http-tuning">

1039 HTTP tuning1070 Penyetelan HTTP

1040</h3>1071</h3>

1041 1072 

1042Empat blok tingkat atas opsional, `access_control`, `limits`, `timeouts`, dan `rate_limits`, menyetel permukaan HTTP. Default cocok untuk sebagian besar deployment.1073Empat blok tingkat atas opsional, `access_control`, `limits`, `timeouts`, dan `rate_limits`, menyetel permukaan HTTP. Default cocok untuk sebagian besar deployment.

1043 1074 

1044| Block | Key | Default | Deskripsi |1075| Blok | Kunci | Default | Deskripsi |

1045| - | - | - | - |1076| - | - | - | - |

1046| `access_control` | `allow_cidrs` / `deny_cidrs` | empty | Inbound IP allow/deny berdasarkan alamat klien, setelah resolusi `trusted_proxies`. `deny_cidrs` diperiksa terlebih dahulu; klien yang cocok ditolak bahkan jika `allow_cidrs` juga cocok. Jika `allow_cidrs` non-empty gateway adalah default-deny. `/healthz` dan `/readyz` dikecualikan dari `allow_cidrs`. Ketika proxy terpercaya mengirim entri `X-Forwarded-For` yang bukan alamat IP, klien nyata tidak diketahui dan gateway mencatat peringatan sekali yang menamai apa yang harus diperiksa. Di mana daftar apa pun berlaku untuk permintaan, itu menolaknya dengan `403` dan alasan audit `xff_unparseable`. Di mana tidak ada yang berlaku, itu melayani permintaan dan menggunakan alamat proxy sendiri sebagai IP klien untuk rate limits per-IP dan audit. |1077| `access_control` | `allow_cidrs` / `deny_cidrs` | kosong | Inbound IP allow/deny berdasarkan alamat klien, setelah resolusi `trusted_proxies`. `deny_cidrs` diperiksa terlebih dahulu; klien yang cocok ditolak bahkan jika `allow_cidrs` juga cocok. Jika `allow_cidrs` tidak kosong gateway adalah default-deny. `/healthz` dan `/readyz` dikecualikan dari `allow_cidrs`. Ketika proxy tepercaya mengirim entri `X-Forwarded-For` yang bukan alamat IP, klien nyata tidak diketahui dan gateway mencatat peringatan sekali yang menamai apa yang harus diperiksa. Di mana daftar apa pun berlaku untuk permintaan, itu menolaknya dengan `403` dan alasan audit `xff_unparseable`. Di mana tidak ada yang berlaku, itu melayani permintaan dan menggunakan alamat proxy sendiri sebagai IP klien untuk batas laju per-IP dan audit. |

1047| `limits` | `max_request_bytes` | 32 MiB | Max inbound request body; permintaan yang terlalu besar mendapat `413` sebelum body dibuffer. Naikkan untuk permintaan file atau gambar besar. |1078| `limits` | `max_request_bytes` | 32 MiB | Badan permintaan inbound maksimal; permintaan yang terlalu besar mendapatkan `413` sebelum badan dibuffer. Naikkan untuk permintaan file atau gambar besar. |

1048| `limits` | `max_request_header_bytes` | unset | Ketika diatur, header yang terlalu besar mengembalikan `431` |1079| `limits` | `max_request_header_bytes` | tidak diatur | Ketika diatur, header yang terlalu besar mengembalikan `431` |

1049| `limits` | `max_url_length` | unset | Ketika diatur, URL yang terlalu panjang mengembalikan `414` |1080| `limits` | `max_url_length` | tidak diatur | Ketika diatur, URL yang terlalu panjang mengembalikan `414` |

1050| `timeouts` | `upstream_ttfb_ms` | 120000 | Max wait untuk header respons upstream (time to first byte). Response body kemudian stream tanpa wall-clock cap. Berlaku ke jalur upstream Anthropic langsung; pada setiap penyedia lainnya, gateway menunggu hingga satu jam untuk respons mulai. |1081| `timeouts` | `upstream_ttfb_ms` | 120000 | Tunggu maksimal untuk header respons upstream (waktu ke byte pertama). Badan respons kemudian streaming tanpa batas jam dinding. Berlaku untuk jalur upstream Anthropic langsung; di setiap penyedia lain gateway menunggu hingga satu jam untuk respons dimulai. |

1051| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Per-IP rate limit pada endpoint device-authorization yang tidak terautentikasi. Naikkan untuk org besar di belakang IP egress bersama atau NAT. [Large rollouts](/docs/id/claude-apps-gateway-deploy#large-rollouts) menunjukkan cara mengukurnya. Limit ini berlaku hanya ke alur sign-in device-grant, bukan ke inference `/v1/messages`. Lihat [User-code brute-force resistance](/docs/id/claude-apps-gateway-deploy#user-code-brute-force-resistance). |1082| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Batas laju per-IP pada endpoint otorisasi perangkat yang tidak diautentikasi. Naikkan untuk org besar di belakang IP egress bersama atau NAT. [Peluncuran besar](/docs/id/claude-apps-gateway-deploy#large-rollouts) menunjukkan cara mengukurnya. Batas ini hanya berlaku untuk alur sign-in hibah perangkat, bukan untuk inferensi `/v1/messages`. Lihat [Resistensi brute-force kode pengguna](/docs/id/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

1052| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Per-IP rate limit pada pengajuan `user_code` di `/device`. Ini adalah apa yang menghentikan seseorang dari menebak kode developer lain. [Large rollouts](/docs/id/claude-apps-gateway-deploy#large-rollouts) menunjukkan seberapa jauh untuk menaikkannya. |1083| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Batas laju per-IP pada pengajuan `user_code` di `/device`. Ini adalah apa yang menghentikan seseorang dari menebak kode pengembang lain. [Peluncuran besar](/docs/id/claude-apps-gateway-deploy#large-rollouts) menunjukkan seberapa jauh untuk menaikkannya. |

1053 1084 

1054Jika Anda meninggalkan kedua daftar `access_control` kosong, yang merupakan default, gateway melayani alamat klien apa pun, jadi hanya jaringan Anda yang membatasi siapa yang dapat menjangkaunya. Itu penting karena gateway dapat mendorong [pengaturan terkelola](#managed) yang menjalankan perintah pada mesin developer.1085Jika Anda meninggalkan kedua daftar `access_control` kosong, yang merupakan default, gateway melayani alamat klien apa pun, jadi hanya jaringan Anda yang membatasi siapa yang dapat mencapainya. Itu penting karena gateway dapat mendorong [pengaturan yang dikelola](#managed) yang menjalankan perintah di mesin pengembang.

1055 1086 

1056Sementara `allow_cidrs` kosong, gateway memperingatkan di dua tempat, tanpa mengubah cara itu menjawab permintaan apa pun:1087Sementara `allow_cidrs` kosong, gateway memperingatkan di dua tempat, tanpa mengubah cara itu menjawab permintaan apa pun:

1057 1088 

1058* **Saat boot**: peringatan dalam log operasional merekomendasikan hanya mengizinkan rentang pribadi `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128`, dan `fc00::/7`, ditambah rentang internal lainnya yang developer Anda terhubung dari. Jika Anda mengikat gateway ke alamat loopback dan tidak mengatur `trusted_proxies` atau `public_url`, seperti dalam pengembangan lokal, peringatan tidak muncul.1089* **Saat boot**: peringatan dalam log operasional merekomendasikan hanya mengizinkan rentang pribadi `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128`, dan `fc00::/7`, ditambah rentang internal lainnya yang pengembang Anda terhubung dari. Jika Anda mengikat gateway ke alamat loopback dan tidak menetapkan `trusted_proxies` atau `public_url`, seperti dalam pengembangan lokal, peringatan tidak muncul.

1059* **Saat runtime**: pertama kali permintaan tiba dari alamat di luar rentang pribadi itu, gateway mencatat peringatan dan memancarkan event audit [`access.public_client`](/docs/id/claude-apps-gateway-deploy#logs) yang membawa IP klien. Keduanya tembak sekali per proses. Alamat link-local, `169.254.0.0/16` dan `fe80::/10`, tidak dihitung sebagai publik. Gateway menjawab `/healthz` dan `/readyz` sebelum pemeriksaan ini berjalan, jadi probe kesehatan dari rentang publik tidak memicunya.1090* **Saat runtime**: pertama kali permintaan tiba dari alamat di luar rentang pribadi itu, gateway mencatat peringatan dan memancarkan acara audit [`access.public_client`](/docs/id/claude-apps-gateway-deploy#logs) yang membawa IP klien. Keduanya menyala sekali per proses. Alamat link-lokal, `169.254.0.0/16` dan `fe80::/10`, tidak dihitung sebagai publik. Gateway menjawab `/healthz` dan `/readyz` sebelum pemeriksaan ini berjalan, jadi probe kesehatan dari rentang publik tidak memicunya.

1060 1091 

1061Kedua sinyal menggunakan alamat klien seperti gateway menyelesaikannya. Jika load balancer, port-forward, atau tunnel meneruskan traffic dan tidak terdaftar dalam `listen.trusted_proxies`, gateway melihat alamat relay, yang biasanya pribadi, jadi baik peringatan runtime maupun daftar allow pribadi menangkapnya.1092Kedua sinyal menggunakan alamat klien saat gateway menyelesaikannya. Jika load balancer, port-forward, atau tunnel meneruskan lalu lintas dan tidak terdaftar dalam `listen.trusted_proxies`, gateway melihat alamat relay, yang biasanya pribadi, jadi baik peringatan runtime maupun daftar allow pribadi menangkapnya.

1062 1093 

1063Di belakang front end seperti itu, atur [`listen.trusted_proxies`](#listen) terlebih dahulu sehingga gateway melihat alamat klien nyata, dan jaga gateway dan segalanya di depannya tidak dapat dijangkau dari internet publik terlepas.1094Di belakang front end seperti itu, atur [`listen.trusted_proxies`](#listen) terlebih dahulu sehingga gateway melihat alamat klien nyata, dan jaga gateway dan semua yang di depannya tidak dapat dijangkau dari internet publik terlepas.

1064 1095 

1065<h3 id="load_test_mode">1096<h3 id="load_test_mode">

1066 `load_test_mode`1097 `load_test_mode`

1067</h3>1098</h3>

1068 1099 

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.1100Blok `load_test_mode` memungkinkan Anda untuk load test gateway tanpa memanggil penyedia model. Sementara itu aktif, gateway membangun dan menandatangani setiap permintaan penyedia seperti biasa, membuangnya alih-alih mengirimkannya, dan streaming respons kalengan kembali melalui jalur respons normalnya. Respons adalah teks pengisi yang dimulai dengan kalimat yang mengatakan itu kalengan.

1070 1101 

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.1102Memerlukan Claude Code v2.1.282 atau lebih baru di server gateway. Gateway sebelumnya menolak untuk memulai ketika menemukan kunci. Upgrade setiap replika sebelum Anda menambahkan blok, dan hapus blok sebelum Anda kembali.

1072 1103 

1073Contoh di bawah mengaktifkan mode dengan default, respons kira-kira 750 token teks yang di-stream selama sekitar 10 detik:1104Contoh di bawah mengaktifkan mode dengan default, respons sekitar 750 token teks yang streaming selama sekitar 10 detik:

1074 1105 

1075```yaml theme={null}1106```yaml theme={null}

1076load_test_mode:1107load_test_mode:


1081 1112 

1082| Field | Diperlukan | Deskripsi |1113| Field | Diperlukan | Deskripsi |

1083| - | - | - |1114| - | - | - |

1084| `enabled` | Ya | `true` mengaktifkan mode. `false` menyimpan angka Anda dalam file dengan mode off. Gateway menolak untuk memulai jika blok ada tanpa itu. |1115| `enabled` | Ya | `true` mengaktifkan mode. `false` menyimpan angka Anda dalam file dengan mode mati. Gateway menolak untuk memulai jika blok ada tanpa itu. |

1085| `reply_tokens` | Tidak | Default `750`. Kira-kira berapa banyak token teks yang setiap respons kaleng bawa, angka bulat dari 1 hingga 100000. |1116| `reply_tokens` | Tidak | Default `750`. Kira-kira berapa banyak token teks yang dibawa setiap respons kalengan, angka bulat dari 1 hingga 100000. |

1086| `reply_seconds` | Tidak | Default `9.5`. Berapa lama respons yang di-stream memakan waktu, dari 0 hingga 600. `0` mengirimkan seluruh respons sekaligus. Respons terhadap permintaan non-streaming selalu kembali sekaligus. |1117| `reply_seconds` | Tidak | Default `9.5`. Berapa lama respons yang streaming, dari 0 hingga 600. `0` mengirim seluruh respons sekaligus. Respons terhadap permintaan non-streaming selalu datang sekaligus. |

1087 1118 

1088Load test dalam mode ini mencakup gateway, Postgres Anda, dan segalanya di depan gateway. Ini tidak mencakup batas, kecepatan, atau jalur jaringan penyedia.1119Tes beban dalam mode ini mencakup gateway, Postgres Anda, dan semua yang di depan gateway. Itu tidak mencakup batas, kecepatan, atau jalur jaringan penyedia.

1089 1120 

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.1121Tidak ada permintaan model yang dikirim ke penyedia, jadi CPU replika per permintaan adalah perkiraan dan membaca lebih rendah dari produksi, yang juga mengenkripsi lalu lintasnya ke penyedia. Konfirmasi jumlah replika dengan pilot kecil terhadap penyedia nyata. Sebelum v2.1.283, perkiraan membaca jauh lebih rendah.

1091 1122 

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.1123Sementara mode aktif, permintaan dapat membawa header `x-load-test-user` yang menyimpan angka bulat hingga tujuh digit. Gateway menghitung setiap angka sebagai pengembang terpisah, dengan email dan grup pengembang yang tokennya datang dengan permintaan.

1093 1124 

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.1125Berikan deployment load-test database kosongnya sendiri, karena gateway menolak untuk memulai dengan mode aktif terhadap database di mana pengembang apa pun sudah menghabiskan apa pun.

1095 1126 

1096<Warning>1127<Warning>

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.1128 Jangan pernah mengaktifkan ini untuk gateway yang digunakan pengembang. Setiap permintaan mendapatkan respons kalengan dan tidak ada model yang dipanggil. Gateway mencatat peringatan `load_test_mode is on` saat boot dan menandai setiap acara audit `inference` [](/docs/id/claude-apps-gateway-deploy#logs) dengan `load_test: true` sementara mode aktif.

1098</Warning>1129</Warning>

1099 1130 

1100<h2 id="complete-example">1131<h2 id="complete-example">

Details

303| - | - | - |303| - | - | - |

304| Inferensi (prompt, penyelesaian) | CLI → gateway → upstream Anda | Hanya jika API Anthropic adalah upstream yang dikonfigurasi |304| Inferensi (prompt, penyelesaian) | CLI → gateway → upstream Anda | Hanya jika API Anthropic adalah upstream yang dikonfigurasi |

305| Telemetri (metrik OTLP, ditambah [log dan jejak opt-in](/docs/id/claude-apps-gateway-config#telemetry)) | CLI → gateway → kolektor Anda | Tidak pernah |305| Telemetri (metrik OTLP, ditambah [log dan jejak opt-in](/docs/id/claude-apps-gateway-config#telemetry)) | CLI → gateway → kolektor Anda | Tidak pernah |

306| Identitas (email, grup, sub) | IdP → gateway → JWT → CLI; CLI memberi stempel pada ekspor OTLP. Jika Anda mengaktifkan [`forward_user_identity`](/docs/id/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), gateway juga mengirimkan email pengembang dan subjek IdP sebagai header ke proxy Anda | Tidak pernah |306| Identitas (email, grup, sub) | IdP → gateway → CLI; CLI memberi stempel pada ekspor OTLP. Jika Anda mengaktifkan [`forward_user_identity`](/docs/id/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), gateway juga mengirimkan email pengembang dan subjek IdP sebagai header ke proxy Anda | Tidak pernah |

307| Pengaturan terkelola | YAML gateway Anda → CLI | Tidak pernah |307| Pengaturan terkelola | YAML gateway Anda → CLI | Tidak pernah |

308| Log audit | Stderr gateway → agregator Anda | Tidak pernah |308| Log audit | Stderr gateway → agregator Anda | Tidak pernah |

309 309 

Details

516 Telemetri516 Telemetri

517</h2>517</h2>

518 518 

519Gateway memberi Anda metrik penggunaan per-pengembang tanpa konfigurasi OTEL per-mesin. Claude Code memancarkan metrik OpenTelemetry (OTLP), log, dan jejak opt-in; [Monitoring usage](/docs/id/monitoring-usage) mencakup semua yang dilaporkan CLI. Pada sesi gateway CLI memberi stempel setiap ekspor dengan atribut identitas IdP yang terauthentikasi `user.id`, `user.email`, dan `user.groups`, jadi penggunaan bergulir per pengembang tanpa pipa `OTEL_RESOURCE_ATTRIBUTES`.519Gateway memberi Anda metrik penggunaan per-pengembang tanpa konfigurasi OTEL per-mesin. Claude Code memancarkan metrik OpenTelemetry (OTLP), log, dan jejak opt-in; [Monitoring usage](/docs/id/monitoring-usage) mencakup semua yang dilaporkan CLI. Dalam sesi yang masuk melalui `/login`, CLI memberi stempel setiap ekspor dengan atribut identitas IdP yang terauthentikasi `user.id`, `user.email`, dan `user.groups`, jadi penggunaan bergulir per pengembang.

520 520 

521Gateway sendiri adalah relai OTLP yang terauthentikasi. Atur [`telemetry.forward_to`](/docs/id/claude-apps-gateway-config#telemetry) bersama dengan `listen.public_url`, dan itu mendorong pengaturan pengekspor OTEL ke setiap klien yang terhubung dan meneruskan lalu lintas OTLP mereka verbatim ke setiap tujuan yang Anda daftarkan. Setiap tujuan memilih metrik, log, dan jejak secara independen, dan default adalah metrik saja; lihat [referensi `telemetry`](/docs/id/claude-apps-gateway-config#telemetry) untuk bidang per-sinyal dan tradeoff sensitivitas mereka. Gateway tidak membuffer, mengagregasi, atau menyimpan telemetri, jadi di mana data mendarat sepenuhnya adalah konfigurasi pengekspor pengumpul.521Gateway sendiri adalah relai OTLP yang terauthentikasi. Atur [`telemetry.forward_to`](/docs/id/claude-apps-gateway-config#telemetry) bersama dengan `listen.public_url`, dan itu mendorong pengaturan pengekspor OTEL ke setiap klien yang terhubung dan meneruskan lalu lintas OTLP mereka verbatim ke setiap tujuan yang Anda daftarkan. Setiap tujuan memilih metrik, log, dan jejak secara independen, dan default adalah metrik saja; lihat [referensi `telemetry`](/docs/id/claude-apps-gateway-config#telemetry) untuk bidang per-sinyal dan tradeoff sensitivitas mereka. Gateway tidak membuffer, mengagregasi, atau menyimpan telemetri, jadi di mana data mendarat sepenuhnya adalah konfigurasi pengekspor pengumpul.

522 522 

Details

150* Direktori harus berupa repositori git dengan setidaknya satu commit150* Direktori harus berupa repositori git dengan setidaknya satu commit

151* Repositori bundel harus di bawah 100 MB. Repositori yang lebih besar kembali ke bundling hanya cabang saat ini, kemudian ke snapshot pohon kerja yang dikompres tunggal, dan gagal jika snapshot masih terlalu besar151* Repositori bundel harus di bawah 100 MB. Repositori yang lebih besar kembali ke bundling hanya cabang saat ini, kemudian ke snapshot pohon kerja yang dikompres tunggal, dan gagal jika snapshot masih terlalu besar

152* File yang tidak dilacak tidak disertakan; jalankan `git add` pada file yang ingin dilihat sesi cloud152* File yang tidak dilacak tidak disertakan; jalankan `git add` pada file yang ingin dilihat sesi cloud

153* Di macOS, Linux, dan WSL, Claude Code menolak unggahan ketika tidak dapat mengikuti pengaturan git yang mempengaruhi aturan atribut mana yang berlaku untuk file Anda, seperti `core.attributesFile` yang ditetapkan dalam file konfigurasi yang disertakan. [Pesan penolakan](/docs/id/errors#the-repository-upload-cant-follow-a-git-setting) menyebutkan pengaturan dan perbaikannya

153* Sesi yang dibuat dari bundle dapat mendorong kembali ke remote GitHub hanya ketika [koneksi GitHub](#github-authentication-options) Anda memiliki akses push ke repositori itu154* Sesi yang dibuat dari bundle dapat mendorong kembali ke remote GitHub hanya ketika [koneksi GitHub](#github-authentication-options) Anda memiliki akses push ke repositori itu

154 155 

155<h3 id="send-follow-ups-from-the-cli">156<h3 id="send-follow-ups-from-the-cli">

Details

1569| `feedback/drafts/` | Antrian [umpan balik yang dirancang Claude](/docs/id/tools-reference#sendfeedback-tool-behavior) menunggu ulasan Anda di `/feedback`. Disapu setelah `cleanupPeriodDays` atau 30 hari, mana yang lebih pendek. Saat antrian mencapai batas 10 draft, Claude Code menghapus draft tertua untuk membuat ruang. |1569| `feedback/drafts/` | Antrian [umpan balik yang dirancang Claude](/docs/id/tools-reference#sendfeedback-tool-behavior) menunggu ulasan Anda di `/feedback`. Disapu setelah `cleanupPeriodDays` atau 30 hari, mana yang lebih pendek. Saat antrian mencapai batas 10 draft, Claude Code menghapus draft tertua untuk membuat ruang. |

1570| `usage-data/` | `report.html` dan salinan laporan bertanda waktu yang ditulis oleh [`/insights`](/docs/id/costs#analyze-your-usage-patterns), ditambah data analisis per-sesi yang disimpan dalam cache yang digunakan untuk membangunnya |1570| `usage-data/` | `report.html` dan salinan laporan bertanda waktu yang ditulis oleh [`/insights`](/docs/id/costs#analyze-your-usage-patterns), ditambah data analisis per-sesi yang disimpan dalam cache yang digunakan untuk membangunnya |

1571| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/id/skills#how-synced-skills-behave) dan [plugins](/docs/id/plugins/loading#synced-plugins) yang sinkronisasi claude.ai hapus, seperti setelah Anda mematikannya di claude.ai atau berhenti menyinkronkan. File tetap di sini sehingga Anda dapat memulihkannya sampai sweep menghapusnya |1571| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/id/skills#how-synced-skills-behave) dan [plugins](/docs/id/plugins/loading#synced-plugins) yang sinkronisasi claude.ai hapus, seperti setelah Anda mematikannya di claude.ai atau berhenti menyinkronkan. File tetap di sini sehingga Anda dapat memulihkannya sampai sweep menghapusnya |

1572| `plugins/installed_plugins.set-aside.<date>.<hash>.json`, `plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Salinan bertanggal yang Claude Code buat sebelum menulis ulang [`installed_plugins.json`](/docs/id/plugins/loading#find-plugins-on-disk): catatan pemasangan yang dihapusnya, dan konten file yang tidak dapat dibacanya. |

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

1573 1574 

1574File sesi di `sessions/`, memori otomatis, dan transkrip Claude Desktop dan Cowork masing-masing mengikuti aturan retensi mereka sendiri:1575File sesi di `sessions/`, memori otomatis, dan transkrip Claude Desktop dan Cowork masing-masing mengikuti aturan retensi mereka sendiri:


1715| `~/.claude/policy-limits.json` | Tidak ada. Disegarkan secara otomatis. |1716| `~/.claude/policy-limits.json` | Tidak ada. Disegarkan secara otomatis. |

1716| `~/.claude/tasks/` | Daftar tugas yang akan diambil sesi yang dilanjutkan |1717| `~/.claude/tasks/` | Daftar tugas yang akan diambil sesi yang dilanjutkan |

1717| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Kesempatan untuk memulihkan [skills yang disinkronkan](/docs/id/skills#how-synced-skills-behave) dan [plugins yang disinkronkan](/docs/id/plugins/loading#synced-plugins) yang Claude Code hapus |1718| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Kesempatan untuk memulihkan [skills yang disinkronkan](/docs/id/skills#how-synced-skills-behave) dan [plugins yang disinkronkan](/docs/id/plugins/loading#synced-plugins) yang Claude Code hapus |

1719| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Salinan catatan pemasangan plugin yang Claude Code hapus atau tidak dapat dibaca. Tidak ada yang membacanya kembali |

1718| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Tidak ada yang menghadap pengguna |1720| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Tidak ada yang menghadap pengguna |

1719| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Tidak ada. Direktori warisan tidak ditulis oleh versi saat ini. |1721| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Tidak ada. Direktori warisan tidak ditulis oleh versi saat ini. |

1720 1722 

claude-projects.md +30 −16

Details

4 4 

5# Biarkan Claude mengoordinasikan pekerjaan berkelanjutan dengan Projects5# Biarkan Claude mengoordinasikan pekerjaan berkelanjutan dengan Projects

6 6 

7> Berikan Claude sekumpulan pekerjaan terkait dalam satu percakapan dan biarkan ia mengoordinasikan sesi cloud paralel yang berbagi repositori, instruksi, dan memori.7> Berikan Claude sekumpulan pekerjaan terkait dalam satu percakapan dan biarkan ia menjalankannya sebagai sesi cloud paralel yang berbagi repositori, instruksi, dan memori.

8 8 

9<Note>9<Note>

10 Projects sedang dalam beta publik di paket Pro dan Max dan diluncurkan secara bertahap, dimulai dengan akun yang telah menggunakan [sesi cloud](/docs/id/claude-code-on-the-web) dan tidak memiliki projects yang ada di claude.ai chat atau Cowork. Mereka belum tersedia di paket Team atau Enterprise. Jika **Projects** tidak muncul di sidebar di [claude.ai/code](https://claude.ai/code) atau di tab Code dari [aplikasi desktop](/docs/id/desktop), peluncuran belum mencapai akun Anda, dan Anda dapat [bergabung dengan daftar tunggu](https://claude.com/form/projects). [Jalankan agen secara paralel](/docs/id/agents) mencantumkan apa yang dapat Anda gunakan sementara itu.10 Projects sedang dalam beta publik di paket Pro dan Max dan diluncurkan secara bertahap, dimulai dengan akun yang telah menggunakan [sesi cloud](/docs/id/claude-code-on-the-web) dan tidak memiliki projects yang ada di claude.ai chat atau Cowork. Mereka belum tersedia di paket Team atau Enterprise. Jika **Projects** tidak muncul di sidebar di [claude.ai/code](https://claude.ai/code) atau di tab Code dari [aplikasi desktop](/docs/id/desktop), peluncuran belum mencapai akun Anda, dan Anda dapat [bergabung dengan daftar tunggu](https://claude.com/form/projects). [Jalankan agen secara paralel](/docs/id/agents) mencantumkan apa yang dapat Anda gunakan sementara itu.


80Anda membuat dan menggunakan projects di [claude.ai/code](https://claude.ai/code), di tab Code dari aplikasi desktop, atau di aplikasi mobile 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). Di browser dan aplikasi desktop ada dua cara untuk memulai project:80Anda membuat dan menggunakan projects di [claude.ai/code](https://claude.ai/code), di tab Code dari aplikasi desktop, atau di aplikasi mobile 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). Di browser dan aplikasi desktop ada dua cara untuk memulai project:

81 81 

82* **Dari awal**, ketika Anda tahu aliran pekerjaan yang ingin dijalankan Claude: buka dialog **New project** dan beri nama. [Mulai project baru dari awal](#start-a-new-project-from-scratch) memandu melalui dialog.82* **Dari awal**, ketika Anda tahu aliran pekerjaan yang ingin dijalankan Claude: buka dialog **New project** dan beri nama. [Mulai project baru dari awal](#start-a-new-project-from-scratch) memandu melalui dialog.

83* **Dari sesi cloud yang sudah melakukan pekerjaan**: pilih **Continue as a project** dari menu sesi itu, dan Claude mengusulkan setup project dari apa yang dilakukan sesi. Lihat [Mulai dari sesi cloud yang ada](#start-from-an-existing-cloud-session).83* **Dari sesi cloud yang sudah melakukan pekerjaan**: pilih **Continue as project** dari menu sesi itu, dan Claude mengusulkan setup project dari apa yang dilakukan sesi. Lihat [Mulai dari sesi cloud yang ada](#start-from-an-existing-cloud-session).

84 84 

85Bagaimanapun, [periksa prasyarat](#check-the-prerequisites) terlebih dahulu.85Bagaimanapun, [periksa prasyarat](#check-the-prerequisites) terlebih dahulu.

86 86 


131 Mulai dari sesi cloud yang ada131 Mulai dari sesi cloud yang ada

132</h3>132</h3>

133 133 

134Jika Anda sudah memiliki sesi cloud yang melakukan pekerjaan yang seharusnya ada di project, buka menu sesi di sidebar dan pilih **Continue as a project** atau **Move to project**:134Jika Anda sudah memiliki sesi cloud yang melakukan pekerjaan yang seharusnya ada di project, buka menu sesi di sidebar dan pilih **Continue as project** atau **Move to project**:

135 135 

136* **Continue as a project** membuat project baru bernama sesuai sesi dan membukanya. Claude membaca sesi dan memposting **Setup recommendations** dalam percakapan untuk Anda konfirmasi. Sesi asli tetap ada di daftar sesi Anda, dan jika sedang dalam giliran, terus berjalan, jadi hentikan sendiri jika Anda tidak ingin keduanya bekerja sekaligus. Jika Anda menggunakan banner **Set up project** yang dapat muncul di atas kotak pesan sesi cloud, hasilnya sama, kecuali giliran sesi yang sedang berjalan berhenti setelah project terbuka.136* **Continue as project** membuat project baru bernama sesuai sesi dan membukanya. Claude membaca sesi dan memposting **Setup recommendations** dalam percakapan untuk Anda konfirmasi. Sesi asli tetap ada di daftar sesi Anda, dan jika sedang dalam giliran, terus berjalan, jadi hentikan sendiri jika Anda tidak ingin keduanya bekerja sekaligus. Jika Anda menggunakan banner **Set up project** yang dapat muncul di atas kotak pesan sesi cloud, hasilnya sama, kecuali giliran sesi yang sedang berjalan berhenti setelah project terbuka.

137* **Move to project** membawa pekerjaan sesi ke project yang ada. Ini memposting pesan di percakapan project itu meminta Claude untuk membaca sesi dan melanjutkan dari mana ia berhenti, dan pekerjaan baru berlanjut di thread project sendiri. Sesi asli tetap ada di daftar sesi Anda, tidak berubah.137* **Move to project** membawa pekerjaan sesi ke project yang ada. Ini memposting pesan di percakapan project itu meminta Claude untuk membaca sesi dan melanjutkan dari mana ia berhenti, dan pekerjaan baru berlanjut di thread project sendiri. Sesi asli tetap ada di daftar sesi Anda, tidak berubah.

138 138 

139Sesi lokal tidak memiliki opsi ini. Untuk melanjutkan pekerjaannya di project, deskripsikan pekerjaan dalam percakapan project, atau push branch-nya, tambahkan repositori itu ke project, dan beri nama branch dalam tugas.

140 

139<h3 id="set-up-github-access">141<h3 id="set-up-github-access">

140 Atur akses GitHub142 Atur akses GitHub

141</h3>143</h3>


275 277 

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

277 279 

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).280Setiap 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). Dalam project dengan beberapa repositori, tidak ada permission rules repositori yang mencapai thread cloud, jadi Anda mengandalkan auto mode dan pada persetujuan yang Anda berikan di dalam setiap thread.

279 281 

280<h3 id="run-a-thread-on-your-own-computer">282<h3 id="run-a-thread-on-your-own-computer">

281 Jalankan thread di komputer Anda sendiri283 Jalankan thread di komputer Anda sendiri


283 285 

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:286Ketika 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 287 

286* Bekerja dengan file, alat, server MCP, dan pengaturan Claude Code di mesin itu alih-alih lingkungan cloud project288* Bekerja dengan file, alat, server MCP, dan pengaturan Claude Code di mesin itu, termasuk hooks dan permission rules-nya, alih-alih lingkungan cloud project

287* Dimulai dengan instruksi project, tetapi tidak dengan file memori yang dimuat289* Dimulai dengan instruksi project, tetapi tidak dengan file memori yang dimuat

288* Berjalan hanya saat komputer itu terjaga dengan Remote Control diaktifkan290* Berjalan hanya saat komputer itu terjaga dengan Remote Control diaktifkan

289 291 


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.294 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 295 

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.296 * **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.297 * **Di terminal**: jalankan `claude remote-control` di folder dan biarkan berjalan. Dalam repositori git, tambahkan `--spawn worktree` untuk memberikan setiap thread di sana [worktree](/docs/id/worktrees)-nya sendiri alih-alih folder itu sendiri.

296 </Step>298 </Step>

297 299 

298 <Step title="Minta tugas dengan Work locally">300 <Step title="Minta tugas dengan Work locally">


300 </Step>302 </Step>

301 303 

302 <Step title="Izinkan di kartu">304 <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**.305 Claude menjawab dengan kartu **Allow Claude to work in a folder on your device**. Pilih folder jika Anda menghubungkan beberapa. Dua thread bekerja di satu folder pada waktu yang sama dapat menimpa perubahan satu sama lain, jadi jika folder adalah repositori git, Anda dapat mengaktifkan **Worktree** di opsi folder untuk memberikan thread ini worktree-nya sendiri alih-alih. Kemudian klik **Allow once**.

304 </Step>306 </Step>

305</Steps>307</Steps>

306 308 


320| :- | :- | :- |322| :- | :- | :- |

321| Project memory | Catatan yang disimpan Claude tentang project, seperti persyaratan, keputusan, dan jebakan, disimpan sebagai file. Setiap thread cloud membaca file indeks `MEMORY.md` ketika dimulai dan membuka file lain ketika membutuhkannya | Minta Claude dalam percakapan project atau thread cloud apa pun untuk mengingat persyaratan, keputusan, atau jebakan, atau untuk melupakannya. Baca, edit, dan hapus file di **Project settings > Memory** |323| Project memory | Catatan yang disimpan Claude tentang project, seperti persyaratan, keputusan, dan jebakan, disimpan sebagai file. Setiap thread cloud membaca file indeks `MEMORY.md` ketika dimulai dan membuka file lain ketika membutuhkannya | Minta Claude dalam percakapan project atau thread cloud apa pun untuk mengingat persyaratan, keputusan, atau jebakan, atau untuk melupakannya. Baca, edit, dan hapus file di **Project settings > Memory** |

322| Project instructions | Teks yang dikirim ke setiap thread baru dan ke Claude dalam percakapan project, hingga 16.000 karakter. [Tulis project instructions](#write-project-instructions) mencakup apa yang harus dimasukkan | **Project settings > Memory > Project instructions**, atau minta Claude untuk mengubah instruksi |324| Project instructions | Teks yang dikirim ke setiap thread baru dan ke Claude dalam percakapan project, hingga 16.000 karakter. [Tulis project instructions](#write-project-instructions) mencakup apa yang harus dimasukkan | **Project settings > Memory > Project instructions**, atau minta Claude untuk mengubah instruksi |

323| Repositori, file, dan environment | Repositori yang dikloning setiap thread cloud, folder dan file yang dapat dibaca setiap thread di bawah `/mnt/project-files`, dan cloud environment yang dijalankan thread | Repositori dan environment di **Project settings > Environment**, atau minta Claude dalam percakapan untuk menambahkan repositori ke project. File dan folder dari **Add** di tab **Library** di **Overview** |325| Repositori, file, dan environment | Repositori yang dikloning setiap thread cloud, folder dan file yang dapat dibaca setiap thread di bawah `/mnt/project-files`, dan cloud environment yang dijalankan thread | Repositori dan environment di **Project settings > Environment**, atau minta Claude dalam percakapan untuk menambahkan repositori ke project. [File dan folder](#add-files-and-folders) dari **Add** di tab **Library** di **Overview** |

324 326 

325**Project settings > Memory** mencantumkan file-file ini di bawah **Auto memory**, karena Claude menulisnya sendiri saat bekerja di project. Mereka terpisah dari [auto memory](/docs/id/memory) yang disimpan Claude Code di mesin Anda, meskipun keduanya menggunakan indeks `MEMORY.md`. Project memory juga terpisah dari file `CLAUDE.md` di repositori project. Setiap thread cloud masih membaca file `CLAUDE.md` itu dari klonnya ketika dimulai, jadi masukkan instruksi tentang repositori di `CLAUDE.md`-nya dan catatan tentang project di project memory.327**Project settings > Memory** mencantumkan file-file ini di bawah **Auto memory**, karena Claude menulisnya sendiri saat bekerja di project. Mereka terpisah dari [auto memory](/docs/id/memory) yang disimpan Claude Code di mesin Anda, meskipun keduanya menggunakan indeks `MEMORY.md`. Project memory juga terpisah dari file `CLAUDE.md` di repositori project. Setiap thread cloud masih membaca file `CLAUDE.md` itu dari klonnya ketika dimulai, jadi masukkan instruksi tentang repositori di `CLAUDE.md`-nya dan catatan tentang project di project memory.

326 328 


353 Tentukan repositori mana yang akan ditambahkan355 Tentukan repositori mana yang akan ditambahkan

354</h3>356</h3>

355 357 

356Repositori yang Anda tambahkan ke project datang dengan semua yang ada di dalamnya, kode, `CLAUDE.md`, dan skills, di setiap thread. Repositori yang tidak Anda tambahkan masih dalam jangkauan: thread dapat menambahkan satu ke dirinya sendiri ketika tugasnya membutuhkannya. Sebagian besar project menggunakan keduanya:358Repositori yang Anda tambahkan ke project datang dengan semua yang ada di dalamnya, kode, `CLAUDE.md`, dan skills, di setiap thread cloud. Repositori yang tidak Anda tambahkan masih dalam jangkauan: thread cloud dapat menambahkan satu ke dirinya sendiri ketika tugasnya membutuhkannya. Sebagian besar project menggunakan keduanya:

357 359 

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

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

360 362 

361Project tidak membutuhkan repositori sama sekali. Thread-nya masih dapat meneliti, menulis dokumen, dan menulis dan menjalankan kode di sandbox mereka sendiri, dan mereka memberikan file ke tab **Library**. Thread di sana juga dapat menambahkan repositori ke dirinya sendiri ketika tugas memanggilnya.363Project tidak membutuhkan repositori sama sekali. Thread-nya masih dapat meneliti, menulis dokumen, dan menulis dan menjalankan kode di sandbox mereka sendiri, dan mereka memberikan file ke tab **Library**. Thread di sana juga dapat menambahkan repositori ke dirinya sendiri ketika tugas memanggilnya.

362 364 


364 366 

365Untuk project yang mencakup banyak repositori, seperti satu fitur dengan kode server, web, mobile, dan desktop, tambahkan satu atau dua repositori yang hampir setiap tugas sentuh dan beri nama yang lain di [project instructions](#write-project-instructions) sehingga Claude tahu di mana sisa kode berada. Thread kemudian dimulai kecil dan menarik repositori lain hanya untuk tugas yang membutuhkannya.367Untuk project yang mencakup banyak repositori, seperti satu fitur dengan kode server, web, mobile, dan desktop, tambahkan satu atau dua repositori yang hampir setiap tugas sentuh dan beri nama yang lain di [project instructions](#write-project-instructions) sehingga Claude tahu di mana sisa kode berada. Thread kemudian dimulai kecil dan menarik repositori lain hanya untuk tugas yang membutuhkannya.

366 368 

369<h3 id="add-files-and-folders">

370 Tambahkan file dan folder

371</h3>

372 

373Tambahkan file dan folder yang ingin dibaca thread di field **Context** dialog **New project**, atau setelahnya dengan **Add** di tab **Library** di **Overview**. Batas-batas ini berlaku untuk apa yang Anda tambahkan:

374 

375* **Library tab**: hingga 100 file dan 2 GB dalam satu pick, dengan satu file hingga 480 MB.

376* **New project dialog**: file di atas 30 MB dilewati, jadi tambahkan file yang lebih besar dari tab **Library** setelah Anda membuat project.

377* **Folders**: ketika Anda menambahkan folder dari salah satu tempat, project menerima salinan dari 100 file pertamanya hingga 200 MB, tanpa file apa pun di atas 30 MB, file tersembunyi, atau `node_modules`. Project menyimpan hingga 10 folder dan folder Google Drive gabungan, dan file tunggal tidak dihitung terhadap batas itu.

378* **Changes after upload**: upload adalah salinan, jadi perubahan yang Anda buat di komputer Anda setelahnya tidak mencapai project sampai Anda mengunggah file lagi dan memilih **Replace** ketika ditanya tentang nama yang ada.

379 

367<h3 id="what-threads-pick-up-from-your-repositories">380<h3 id="what-threads-pick-up-from-your-repositories">

368 Apa yang diambil thread dari repositori Anda381 Apa yang diambil thread dari repositori Anda

369</h3>382</h3>


383 Pilih environment untuk thread396 Pilih environment untuk thread

384</h3>397</h3>

385 398 

386Setiap thread baru dimulai dalam [cloud environment](/docs/id/cloud-environments) project. Environment menetapkan domain mana yang dapat dijangkau thread, variabel lingkungan mana yang mereka miliki, kredensial API mana yang ditambahkan ke permintaan mereka, dan apa yang diinstal skrip setup sebelum Claude dimulai. Thread menggunakan environment default yang dihosting Anthropic sampai Anda memilih satu di **Project settings > Environment**.399Setiap thread cloud baru dimulai dalam [cloud environment](/docs/id/cloud-environments) project. Environment menetapkan domain mana yang dapat dijangkau thread, variabel lingkungan mana yang mereka miliki, kredensial API mana yang ditambahkan ke permintaan mereka, dan apa yang diinstal skrip setup sebelum Claude dimulai. Thread cloud menggunakan environment default yang dihosting Anthropic sampai Anda memilih satu di **Project settings > Environment**.

387 400 

388Jika thread perlu menjangkau API internal atau registri paket pribadi, atau membutuhkan token yang biasanya disimpan mesin Anda, ubah environment daripada project: lihat [Network access](/docs/id/cloud-environments#network-access), [Add API credentials](/docs/id/cloud-environments#add-api-credentials), dan [Setup scripts](/docs/id/cloud-environments#setup-scripts).401Jika thread cloud perlu menjangkau API internal atau registri paket pribadi, atau membutuhkan token yang biasanya disimpan mesin Anda, ubah environment daripada project: lihat [Network access](/docs/id/cloud-environments#network-access), [Add API credentials](/docs/id/cloud-environments#add-api-credentials), dan [Setup scripts](/docs/id/cloud-environments#setup-scripts).

389 402 

390<h3 id="get-skills-plugins-connectors-and-tools-into-threads">403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

391 Dapatkan skills, plugins, connectors, dan tools ke dalam threads404 Dapatkan skills, plugins, connectors, dan tools ke dalam threads


472Beberapa fitur Claude Code memungkinkan lebih dari satu sesi bekerja pada waktu yang sama, jadi menjalankan pekerjaan secara paralel bukan dengan sendirinya apa yang dimaksudkan project. Dalam project, Claude memulai dan melacak sesi alih-alih Anda, dan masing-masing dimulai dari instruksi yang sama. Inilah cara setiap fitur tetangga terhubung ke project:485Beberapa fitur Claude Code memungkinkan lebih dari satu sesi bekerja pada waktu yang sama, jadi menjalankan pekerjaan secara paralel bukan dengan sendirinya apa yang dimaksudkan project. Dalam project, Claude memulai dan melacak sesi alih-alih Anda, dan masing-masing dimulai dari instruksi yang sama. Inilah cara setiap fitur tetangga terhubung ke project:

473 486 

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.487* **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.

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).488* **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 project** atau **Move to project**](#start-from-an-existing-cloud-session).

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.489* **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.

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).490* **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.491* **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.

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.492* **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.

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.493* **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.

494* **Subagents**: [subagent](/docs/id/sub-agents) berjalan di dalam satu sesi, melakukan tugas sampingan dalam jendela konteks sendiri, dan mengembalikan ringkasan ke sesi itu. Thread project adalah sesi utuh yang Claude mulai dan yang melaporkan kembali ke percakapan project, dan thread masih dapat menggunakan subagents untuk tugas sampingannya sendiri.

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.495* **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.

482 496 

483[Jalankan agen secara paralel](/docs/id/agents) membandingkan opsi ini berdampingan.497[Jalankan agen secara paralel](/docs/id/agents) membandingkan opsi ini berdampingan.


486 Keterbatasan500 Keterbatasan

487</h2>501</h2>

488 502 

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.503* Project tersedia di claude.ai/code, di aplikasi desktop, dan di aplikasi mobile Claude, bukan di CLI terminal, ekstensi VS Code, atau plugin JetBrains, dan bukan 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.

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.504* 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.

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.505* 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.

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.506* 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.

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.507* 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.

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.508* 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. Anda tidak dapat menggabungkan dua project menjadi satu.

495 509 

496<h2 id="troubleshooting">510<h2 id="troubleshooting">

497 Troubleshooting511 Troubleshooting

Details

8 8 

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

10 10 

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

12 12 

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

14 14 

15<h2 id="prerequisites">15<h2 id="prerequisites">

16 Prasyarat16 Prasyarat


18 18 

19Untuk menjalankan plugin, Anda memerlukan:19Untuk menjalankan plugin, Anda memerlukan:

20 20 

21* Paket berbayar, untuk [dynamic workflows](/docs/id/workflows) yang digunakan pemindaian untuk mengorkestrasi agennya. Di Pro, aktifkan dari baris Dynamic workflows di `/config`.21* Paket berbayar, akses API Anthropic, atau [penyedia pihak ketiga](#models-and-providers), untuk [alur kerja dinamis](/docs/id/workflows) yang digunakan pemindaian untuk mengorkestrasi agennya. Di Pro, aktifkan dari baris Dynamic workflows di `/config`.

22* Python 3.9 atau lebih baru tersedia di `PATH` Anda sebagai `python3`. Periksa dengan `python3 --version`. Alat plugin hanya menggunakan pustaka standar Python, jadi tidak ada yang diinstal.22* Python 3.9 atau lebih baru tersedia di `PATH` Anda sebagai `python3`. Periksa dengan `python3 --version`. Peralatan plugin hanya menggunakan pustaka standar Python, jadi tidak ada yang diinstal.

23* Linux, macOS, atau Windows.23* Linux, macOS, atau Windows.

24* Git, untuk pemindaian perubahan dan untuk mengubah temuan menjadi patch; pekerjaan tersebut tidak mendukung sistem kontrol versi lainnya. Pemindaian penuh berfungsi di direktori apa pun, dengan atau tanpa kontrol versi.24* Git, untuk pemindaian perubahan dan untuk mengubah temuan menjadi patch; pekerjaan tersebut tidak mendukung sistem kontrol versi lainnya. Pemindaian lengkap berfungsi di direktori apa pun, dengan atau tanpa kontrol versi.

25 

26<h2 id="models-and-providers">

27 Models and providers

28</h2>

29 

30Pemindaian berjalan di dalam sesi Claude Code Anda. Plugin tidak melakukan panggilan model sendiri, jadi tidak ada kunci API terpisah atau pengaturan penyedia yang perlu dikonfigurasi.

31 

32* **Model**: agen yang mencari kerentanan, memverifikasi temuan, dan menulis serta meninjau patch berjalan pada [model sesi Anda](/docs/id/sub-agents#choose-a-model). Untuk mengubahnya, jalankan [`/model`](/docs/id/model-config#setting-your-model) dalam sesi Anda sebelum memulai pemindaian. Beberapa langkah pendukung, seperti pemetaan repositori, menggunakan [alias `sonnet`](/docs/id/model-config#model-aliases) sebagai gantinya.

33* **Provider**: pemindaian berjalan pada paket berbayar, dengan akses API Anthropic, atau pada [penyedia pihak ketiga](/docs/id/third-party-integrations) seperti [Amazon Bedrock](/docs/id/amazon-bedrock), [Google Cloud's Agent Platform](/docs/id/google-vertex-ai), atau [Microsoft Foundry](/docs/id/microsoft-foundry).

34 

35Pada penyedia pihak ketiga, alias `sonnet` dapat diselesaikan ke versi yang berbeda daripada yang ada di API Anthropic. Jika akun Anda tidak dapat menggunakan versi tersebut, [pin versi model Anda](/docs/id/model-config#pin-models-for-third-party-deployments), termasuk `ANTHROPIC_DEFAULT_SONNET_MODEL`.

36 

37[Fallback model otomatis](/docs/id/model-config#automatic-model-fallback) menjalankan kembali permintaan yang ditandai oleh penjaga model. Pada Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, permintaan dapat berakhir dengan pesan penolakan sebagai gantinya, tergantung pada [cara penyebaran Anda diatur](/docs/id/model-config#enable-fallback-on-bedrock-agent-platform-and-foundry).

25 38 

26<h2 id="install-the-plugin">39<h2 id="install-the-plugin">

27 Instal plugin40 Instal plugin


156 169 

157**Menu `/claude-security` terbuka dengan peringatan Python.** Plugin memerlukan `python3` 3.9 atau lebih baru di `PATH` Anda. Ketika tidak dapat menemukan `python3` sama sekali, menu memperingatkan bahwa Claude Security tidak akan berfungsi sampai satu diinstal; ketika `python3` pertama di `PATH` Anda lebih lama, peringatan menyebutkan versi yang ditemukannya. Instal Python 3, atau letakkan `python3` yang lebih baru terlebih dahulu di `PATH` Anda, kemudian mulai sesi baru.170**Menu `/claude-security` terbuka dengan peringatan Python.** Plugin memerlukan `python3` 3.9 atau lebih baru di `PATH` Anda. Ketika tidak dapat menemukan `python3` sama sekali, menu memperingatkan bahwa Claude Security tidak akan berfungsi sampai satu diinstal; ketika `python3` pertama di `PATH` Anda lebih lama, peringatan menyebutkan versi yang ditemukannya. Instal Python 3, atau letakkan `python3` yang lebih baru terlebih dahulu di `PATH` Anda, kemudian mulai sesi baru.

158 171 

159**Anda mungkin melihat pemberitahuan "safeguards flagged this message" saat memindai pada model Fable.** Pesan menyebutkan model, misalnya "Fable 5.1's safeguards flagged this message". Pengklasifikasi keamanan siber Fable menandai permintaan tertentu, dan Claude Code menjalankan kembali permintaan yang ditandai pada model Opus melalui [automatic model fallback](/docs/id/model-config#automatic-model-fallback). Ini diharapkan, dan pemindaian harus tetap selesai dengan sukses.172**Anda mungkin melihat pemberitahuan "safeguards flagged this message" saat memindai pada model Fable.** Pesan menyebutkan model yang sedang Anda jalankan. Pengklasifikasi keamanan siber Fable menandai permintaan tertentu, dan Claude Code menjalankan kembali permintaan yang ditandai pada model Opus melalui [automatic model fallback](/docs/id/model-config#automatic-model-fallback). Ini diharapkan. Ketika permintaan dijalankan kembali, pemindaian harus tetap selesai dengan sukses.

160 173 

161<h2 id="related-resources">174<h2 id="related-resources">

162 Sumber daya terkait175 Sumber daya terkait

Details

22| `claude -c -p "query"` | Lanjutkan melalui SDK | `claude -c -p "Check for type errors"` |22| `claude -c -p "query"` | Lanjutkan melalui SDK | `claude -c -p "Check for type errors"` |

23| `claude -r "<session>" "query"` | Lanjutkan sesi berdasarkan ID atau nama | `claude -r "auth-refactor" "Finish this PR"` |23| `claude -r "<session>" "query"` | Lanjutkan sesi berdasarkan ID atau nama | `claude -r "auth-refactor" "Finish this PR"` |

24| `claude update` | Perbarui ke versi terbaru | `claude update` |24| `claude update` | Perbarui ke versi terbaru | `claude update` |

25| `claude gateway` | Mulai server [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang di-host sendiri, untuk administrator yang menerapkan SSO dan kebijakan di depan Claude Code di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Memerlukan `--config` yang menunjuk ke [`gateway.yaml`](/docs/id/claude-apps-gateway-config). Tersedia di Claude Code v2.1.195 dan lebih baru. | `claude gateway --config gateway.yaml` |25| `claude gateway` | Mulai server [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang di-host sendiri, untuk administrator yang menerapkan SSO dan kebijakan di depan Claude Code di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Memerlukan `--config` yang menunjuk ke [`gateway.yaml`](/docs/id/claude-apps-gateway-config). | `claude gateway --config gateway.yaml` |

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

Details

78DATABASE_URL=postgres://localhost:5432/myapp78DATABASE_URL=postgres://localhost:5432/myapp

79```79```

80 80 

81Setiap sesi menyalin nilai lingkungan sekali, saat startup, ke dalam variabel lingkungan biasa yang dapat dibaca oleh perintah apa pun yang dijalankan Claude, kecuali variabel `OTEL_*`. Claude Code menggunakan variabel tersebut untuk [ekspor telemetri](/docs/id/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) miliknya sendiri dan tidak meneruskannya ke perintah yang dijalankannya. Karena sesi yang berjalan tidak membaca ulang konfigurasi, mengedit atau menambahkan variabel mempengaruhi sesi yang Anda mulai setelahnya; sesi yang sudah berjalan menyimpan nilai yang mereka mulai.81Sebuah sesi membaca nilai lingkungan ke dalam variabel lingkungan biasa yang dapat dibaca oleh perintah apa pun yang dijalankan Claude, kecuali variabel `OTEL_*`. Claude Code menggunakan variabel tersebut untuk [ekspor telemetri](/docs/id/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) miliknya sendiri dan tidak meneruskannya ke perintah yang dijalankannya.

82 

83Dalam lingkungan yang di-host Anthropic, sebuah sesi membaca nilai lingkungan ketika Anda membuatnya dan lagi setiap kali Claude Code dimulai di VM sesi setelahnya, yang terjadi dalam dua kasus:

84 

85* **VM dipulihkan setelah menganggur**: setelah beberapa menit tanpa aktivitas, VM sesi dijeda dengan file-filenya disimpan. Pesan Anda berikutnya memulihkan VM yang sama dan memulai Claude Code lagi.

86* **VM telah dirampas dan dibangun kembali**: jika VM yang dijeda telah [dirampas](/docs/id/claude-code-on-the-web#environment-expired), membuka kembali sesi menyediakan VM baru.

87 

88Setelah Anda mengedit, menambahkan, atau menghapus variabel, sesi yang ada di lingkungan yang di-host Anthropic menyimpan nilai yang terakhir dibacanya sampai VM-nya dipulihkan atau dibangun kembali, dan menggunakan perubahan Anda sejak saat itu. VM-nya dijeda dengan sendirinya setelah sesi menganggur, dan Anda tidak dapat menjeda sendiri. Untuk menggunakan nilai baru segera, minta Claude menetapkannya pada perintah yang dijalankannya, misalnya `LOG_LEVEL=trace npm test`, atau mulai sesi baru.

82 89 

83Sesi cloud juga menetapkan beberapa variabel sendiri ketika memulai. Untuk [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/id/claude-code-on-the-web#manage-context), nilai yang ditetapkan sesi menimpa nilai yang Anda tambahkan di sini, jadi menambahkan kunci itu di sini tidak berpengaruh.90Sesi cloud juga menetapkan beberapa variabel sendiri ketika memulai. Untuk [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/id/claude-code-on-the-web#manage-context), nilai yang ditetapkan sesi menimpa nilai yang Anda tambahkan di sini, jadi menambahkan kunci itu di sini tidak berpengaruh.

84 91 


208 215 

209Untuk mengubah akses jaringan lingkungan, [buka untuk diedit](#configure-your-environment) dan gunakan pemilih **Network access** di dialog. Lingkungan [bersama](#organization-shared-environments) membuka read-only di sana, jadi Owner mengubah akses jaringannya dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings) sebagai gantinya. Ikon cloud yang membuka pemilih muncul di permukaan aplikasi yang tercantum di bawah [Lingkungan Default](#the-default-environment) dan di [editor routine](/docs/id/routines#environments-and-network-access); lingkungan pribadi tidak memiliki halaman terpisah di pengaturan akun claude.ai Anda.216Untuk mengubah akses jaringan lingkungan, [buka untuk diedit](#configure-your-environment) dan gunakan pemilih **Network access** di dialog. Lingkungan [bersama](#organization-shared-environments) membuka read-only di sana, jadi Owner mengubah akses jaringannya dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings) sebagai gantinya. Ikon cloud yang membuka pemilih muncul di permukaan aplikasi yang tercantum di bawah [Lingkungan Default](#the-default-environment) dan di [editor routine](/docs/id/routines#environments-and-network-access); lingkungan pribadi tidak memiliki halaman terpisah di pengaturan akun claude.ai Anda.

210 217 

218Ketika Anda mengubah akses jaringan lingkungan yang di-host Anthropic, sesi yang ada mengikuti pengaturan baru dalam waktu sekitar satu menit, untuk permintaan yang melewati [allowlist jaringan](#access-levels) sesi. Anda tidak perlu memulai sesi baru.

219 

211<Note>220<Note>

212 Konektor MCP yang Anda aktifkan pada sesi atau routine bekerja tanpa menambahkan host mereka ke **Allowed domains**, karena lalu lintas konektor berjalan melalui server Anthropic daripada jaringan sesi. Ini bergantung pada saluran yang terikat Anthropic yang sama yang dicatat di bawah [Security and isolation](/docs/id/claude-code-on-the-web#security-and-isolation). Matikan konektor apa pun yang tidak Anda butuhkan untuk membatasi alat mana yang dapat dijangkau Claude.221 Konektor MCP yang Anda aktifkan pada sesi atau routine bekerja tanpa menambahkan host mereka ke **Allowed domains**, karena lalu lintas konektor berjalan melalui server Anthropic daripada jaringan sesi. Ini bergantung pada saluran yang terikat Anthropic yang sama yang dicatat di bawah [Security and isolation](/docs/id/claude-code-on-the-web#security-and-isolation). Matikan konektor apa pun yang tidak Anda butuhkan untuk membatasi alat mana yang dapat dijangkau Claude.

213</Note>222</Note>


428 437 

429Di 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.438Di 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.

430 439 

431* **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`.440* **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.

441 

442 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`. Perintah yang dipindahkan dengan cara ini dapat terus berjalan selama 30 menit lagi sebelum Claude Code menghentikannya di [batas waktu latar belakangnya](/docs/id/tools-reference#background-commands). Menetapkan `BASH_DEFAULT_TIMEOUT_MS` di atas `1800000` milidetik memanjangkan batas itu serta default latar depan.

432* **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).443* **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).

433* **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.444* **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.

434* **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.445* **Sesi idle**: setelah beberapa menit tanpa aktivitas, VM sesi sesi dijeda dengan file-filenya disimpan, dan VM yang dijeda dapat kemudian diambil kembali. [Set environment variables](#set-environment-variables) menjelaskan apa yang diambil sesi dalam setiap kasus, dan [Environment expired](/docs/id/claude-code-on-the-web#environment-expired) mencakup cara membuka kembali sesi yang VM-nya diambil kembali.

435 446 

436Untuk 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.447Untuk 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.

437 448 


470 481 

471Cache 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).482Cache 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).

472 483 

473Skrip setup berjalan lagi untuk membangun ulang cache ketika Anda mengubah skrip setup lingkungan atau host jaringan yang diizinkan, dan ketika cache mencapai kedaluwarsa setelah kira-kira tujuh hari. Melanjutkan sesi yang ada tidak pernah menjalankan kembali skrip setup.484Skrip setup berjalan lagi untuk membangun ulang cache ketika Anda mengubah skrip setup lingkungan atau host jaringan yang diizinkan, dan ketika cache mencapai kedaluwarsa setelah kira-kira tujuh hari. Di lingkungan yang dihosting Anthropic, skrip setup tidak berjalan ketika VM sesi [dipulihkan setelah menganggur](#set-environment-variables), jadi perubahan pada skrip mencapai sesi yang ada hanya ketika VM-nya [dirampas](/docs/id/claude-code-on-the-web#environment-expired) dan dibangun ulang. Untuk menerapkan perubahan segera, jalankan perintah dalam sesi atau mulai sesi baru.

474 485 

475Anda tidak perlu mengaktifkan caching atau mengelola snapshot sendiri.486Anda tidak perlu mengaktifkan caching atau mengelola snapshot sendiri.

476 487 


566 * platform.claude.com577 * platform.claude.com

567 * code.claude.com578 * code.claude.com

568 * claude.ai579 * claude.ai

580 * claude.com

581 * support.claude.com

582 * anthropic.com

583 * [www.anthropic.com](http://www.anthropic.com)

569 </Accordion>584 </Accordion>

570 585 

571 <Accordion title="Kontrol versi">586 <Accordion title="Kontrol versi">


596 * hub.docker.com611 * hub.docker.com

597 * [www.docker.com](http://www.docker.com)612 * [www.docker.com](http://www.docker.com)

598 * production.cloudflare.docker.com613 * production.cloudflare.docker.com

614 * production.cloudfront.docker.com

599 * download.docker.com615 * download.docker.com

600 * gcr.io616 * gcr.io

601 * \*.gcr.io617 * \*.gcr.io

commands.md +55 −52

Details

45 45 

46Untuk menambahkan perintah Anda sendiri, lihat [skills](/docs/id/skills).46Untuk menambahkan perintah Anda sendiri, lihat [skills](/docs/id/skills).

47 47 

48Dalam tabel di bawah, `<arg>` menunjukkan argumen yang diperlukan dan `[arg]` menunjukkan argumen opsional.48Dalam tabel di bawah, `<arg>` menunjukkan argumen yang diperlukan dan `[arg]` menunjukkan argumen yang opsional.

49 49 

50<Note>50<Note>

51 Tidak setiap perintah muncul untuk setiap pengguna. Ketersediaan tergantung pada platform, paket, dan lingkungan Anda. Misalnya, `/desktop` hanya muncul di macOS dan Windows x64 ketika masuk dengan langganan Claude, dan `/upgrade` tidak muncul di paket Enterprise.51 Tidak setiap perintah muncul untuk setiap pengguna. Ketersediaan tergantung pada platform, paket, dan lingkungan Anda. Misalnya, `/desktop` hanya muncul di macOS dan Windows x64 ketika masuk dengan langganan Claude, dan `/upgrade` tidak muncul di paket Enterprise.


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

56| `/add-dir <path>` | Tambahkan direktori kerja untuk akses file selama sesi saat ini. Ketik jalur sebagian untuk melihat saran direktori yang cocok; tekan `Tab` untuk menerima satu. Sebagian besar konfigurasi `.claude/` [tidak ditemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori yang ditambahkan. Anda tidak dapat menambahkan sebagian besar [jalur jaringan](/docs/id/errors#working-directory-is-a-network-path), seperti `\\server\share`. Setelah penambahan yang berhasil, [hook `DirectoryAdded`](/docs/id/hooks#directoryadded) Anda berjalan. Ketika Anda menjalankannya saat Claude merespons, Claude Code meminta Anda untuk mengonfirmasi direktori segera, dan setelah Anda mengonfirmasi, panggilan alat berikutnya Claude dalam giliran yang sama dapat mengaksesnya. Sebelum v2.1.234, Claude Code mengantrikan perintah sampai giliran selesai |56| `/add-dir <path>` | Tambahkan direktori kerja untuk akses file selama sesi saat ini. Ketik jalur sebagian untuk melihat saran direktori yang cocok; tekan `Tab` untuk menerima satu. Sebagian besar konfigurasi `.claude/` [tidak ditemukan](/docs/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori yang ditambahkan. Anda tidak dapat menambahkan sebagian besar [jalur jaringan](/docs/id/errors#working-directory-is-a-network-path), seperti `\\server\share`. Setelah penambahan yang berhasil, [hook `DirectoryAdded`](/docs/id/hooks#directoryadded) Anda berjalan. Ketika Anda menjalankannya saat Claude merespons, Claude Code meminta Anda untuk mengonfirmasi direktori segera, dan setelah Anda mengonfirmasi, panggilan alat berikutnya Claude dalam giliran yang sama dapat mengaksesnya. Sebelum v2.1.234, Claude Code mengantrikan perintah sampai giliran selesai |

57| `/advisor [model\|off]` | Aktifkan atau nonaktifkan [alat advisor](/docs/id/advisor), yang berkonsultasi dengan model kedua untuk panduan di momen-momen kunci selama tugas. Menerima `fable`, `opus`, `sonnet`, atau ID model lengkap. `fable` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model). Tanpa argumen, membuka pemilih. Dalam sesi tanpa terminal interaktif, atau melalui [Remote Control](/docs/id/remote-control#limitations), berikan model atau `off` sebagai argumen; tanpa argumen di sana, perintah mencetak advisor saat ini sebagai teks. Bentuk-bentuk ini memerlukan Claude Code v2.1.260 atau lebih baru |57| `/advisor [model\|off]` | Aktifkan atau nonaktifkan [alat advisor](/docs/id/advisor), yang berkonsultasi dengan model kedua untuk panduan di momen-momen kunci selama tugas. Menerima `fable`, `opus`, `sonnet`, atau ID model lengkap. `fable` memerlukan [akses Fable](/docs/id/advisor#choose-an-advisor-model). Tanpa argumen, membuka pemilih. Dalam sesi tanpa terminal interaktif, atau melalui [Remote Control](/docs/id/remote-control#limitations), berikan model atau `off` sebagai argumen; tanpa argumen di sana, perintah mencetak advisor saat ini sebagai teks. Bentuk-bentuk ini memerlukan Claude Code v2.1.260 atau lebih baru |

58| `/agents` | Mulai v2.1.198, menjalankan `/agents` mencetak pengingat untuk meminta Claude membuat atau mengelola [subagent](/docs/id/sub-agents), atau untuk mengedit `.claude/agents/` atau `~/.claude/agents/` secara langsung. Di v2.1.197 dan lebih awal, membuka antarmuka interaktif untuk membuat dan mengelola konfigurasi subagent |58| `/agents` | Mulai dari v2.1.198, menjalankan `/agents` mencetak pengingat untuk meminta Claude membuat atau mengelola [subagent](/docs/id/sub-agents), atau untuk mengedit `.claude/agents/` atau `~/.claude/agents/` secara langsung. Pada v2.1.197 dan lebih awal, membuka antarmuka interaktif untuk membuat dan mengelola konfigurasi subagent |

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

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

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

60| `/auto-mode-setup` | [Buat draf entri `autoMode.environment`](/docs/id/auto-mode-config#generate-environment-entries) dari proyek dan sesi terbaru Anda, kemudian tinjau draf dan simpan ke pengaturan pengguna Anda. Memerlukan paket Pro, Max, atau Team dan Claude Code v2.1.228 atau lebih baru. Di Windows asli, memerlukan v2.1.233 atau lebih baru |62| `/auto-mode-setup` | [Buat entri `autoMode.environment`](/docs/id/auto-mode-config#generate-environment-entries) dari proyek dan sesi terbaru Anda, kemudian tinjau draf dan simpan ke pengaturan pengguna Anda. Memerlukan paket Pro, Max, atau Team dan Claude Code v2.1.228 atau lebih baru. Di Windows asli, memerlukan v2.1.233 atau lebih baru |

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

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

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

64| `/batch <instruction>` | **[Skill](/docs/id/skills#bundled-skills).** Orkestrasi perubahan skala besar di seluruh basis kode secara paralel. Meneliti basis kode, menguraikan pekerjaan menjadi 5 hingga 30 unit independen, dan menyajikan rencana. Setelah disetujui, spawn satu [subagent latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) per unit dalam [worktree](/docs/id/worktrees) terisolasi. Setiap subagent mengimplementasikan unitnya, menjalankan tes, dan membuka permintaan tarik. Memerlukan repositori git atau [hook `WorktreeCreate`](/docs/id/worktrees#non-git-version-control) yang membuat worktree. Di luar repositori git, `/batch` memerlukan Claude Code v2.1.281 atau lebih baru. Contoh: `/batch migrate src/ from JavaScript to TypeScript` |66| `/batch <instruction>` | **[Skill](/docs/id/skills#bundled-skills).** Orkestrasi perubahan skala besar di seluruh basis kode secara paralel. Meneliti basis kode, menguraikan pekerjaan menjadi 5 hingga 30 unit independen, dan menyajikan rencana. Setelah disetujui, spawn satu [subagent latar belakang](/docs/id/sub-agents#run-subagents-in-foreground-or-background) per unit dalam [worktree](/docs/id/worktrees) terisolasi. Setiap subagent mengimplementasikan unitnya, menjalankan tes, dan menerbitkan perubahannya. Memerlukan repositori git atau [hook `WorktreeCreate`](/docs/id/worktrees#non-git-version-control) yang membuat worktree. Di luar repositori git, `/batch` memerlukan Claude Code v2.1.281 atau lebih baru. Contoh: `/batch migrate src/ from JavaScript to TypeScript` |

65| `/branch [name]` | Buat cabang percakapan saat ini pada titik ini, sehingga Anda dapat mencoba arah berbeda tanpa kehilangan percakapan seperti adanya. Beralih Anda ke cabang dan menyimpan yang asli, yang dapat Anda kembali dengan `/resume`. Untuk menjalankan salinan sebagai [sesi latar belakang](/docs/id/agent-view) terpisah alih-alih beralih ke dalamnya, gunakan `/fork`; untuk menyerahkan tugas sampingan ke [subagent](/docs/id/sub-agents) yang melaporkan kembali ke percakapan ini, gunakan `/subtask` |67| `/branch [name]` | Buat cabang percakapan saat ini pada titik ini, sehingga Anda dapat mencoba arah berbeda tanpa kehilangan percakapan seperti adanya. Beralih ke cabang dan menyimpan yang asli, yang dapat Anda kembali dengan `/resume`. Untuk menjalankan salinan sebagai [sesi latar belakang](/docs/id/agent-view) terpisah alih-alih beralih ke dalamnya, gunakan `/fork`; untuk menyerahkan tugas sampingan ke [subagent](/docs/id/sub-agents) yang melaporkan kembali ke percakapan ini, gunakan `/subtask` |

66| `/btw [question]` | Tanyakan [pertanyaan sampingan](/docs/id/interactive-mode#side-questions-with-%2Fbtw) tentang sesi saat ini tanpa menambahkan ke percakapan. Jika Anda menjalankan `/btw` tanpa pertanyaan, Claude Code menunjukkan pertanyaan sampingan terbaru Anda sehingga Anda dapat menelusuri jawaban sebelumnya; jika Anda belum mengajukan satu pun, Claude Code mencetak baris penggunaan. Sebelum v2.1.212, `/btw` memerlukan pertanyaan |68| `/btw [question]` | Tanyakan [pertanyaan sampingan](/docs/id/interactive-mode#side-questions-with-%2Fbtw) tentang sesi saat ini tanpa menambahkan ke percakapan. Jika Anda menjalankan `/btw` tanpa pertanyaan, Claude Code menunjukkan pertanyaan sampingan terbaru Anda sehingga Anda dapat menelusuri jawaban sebelumnya; jika Anda belum menanyakan satu pun, Claude Code mencetak baris penggunaan. Sebelum v2.1.212, `/btw` memerlukan pertanyaan |

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

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

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

70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[Skill](/docs/id/skills#bundled-skills).** Muat materi referensi [Claude API](https://platform.claude.com/docs/en/api/overview) dan [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) untuk bahasa proyek Anda. Juga diaktifkan secara otomatis ketika kode Anda mengimpor `anthropic` atau `@anthropic-ai/sdk`. Jalankan `migrate` untuk memperbarui kode Claude API yang ada ke model yang lebih baru. Jalankan `upgrade` untuk memindahkan dependensi SDK Anthropic proyek Anda di seluruh versi utama, saat ini paket Python `anthropic` dari 0.x ke 1.x. Jalankan `managed-agents-onboard` untuk panduan yang membuat Managed Agent baru. Jalankan `prompt-audit` untuk menandai instruksi yang ditulis untuk model yang lebih lama dalam prompt, skill, dan deskripsi alat Anda dan usulkan perbaikan sebagai diff. Jalankan `cost-optimize` untuk memprofilkan ke mana pengeluaran Claude API proyek Anda pergi dan usulkan penghematan dari opsi seperti prompt caching, pemangkasan token input dan output yang tidak perlu, pemrosesan batch, upaya, dan pilihan model, satu perubahan pada satu waktu. Jalankan `build-eval` untuk membangun set eval untuk aplikasi bertenaga Claude Anda, dan `hillclimb` untuk secara iteratif meningkatkan aplikasi terhadap eval yang ada. Subperintah `prompt-audit` memerlukan Claude Code v2.1.221 atau lebih baru, `upgrade` memerlukan v2.1.236 atau lebih baru, `cost-optimize` memerlukan v2.1.247 atau lebih baru, dan `build-eval` dan `hillclimb` memerlukan v2.1.259 atau lebih baru |72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/id/skills#bundled-skills).** Muat materi referensi [Claude API](https://platform.claude.com/docs/en/api/overview) dan [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) untuk bahasa proyek Anda. Juga diaktifkan secara otomatis ketika kode Anda mengimpor `anthropic` atau `@anthropic-ai/sdk`. Untuk apa yang dilakukan setiap subperintah dan versi yang diperlukan, lihat [Bekerja pada proyek Claude API](/docs/id/skills#work-on-claude-api-projects) |

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

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

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

73| `/color [color\|default]` | Atur warna bilah prompt untuk sesi saat ini. Warna tersedia: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Gunakan `default` untuk mengatur ulang, atau jalankan tanpa argumen untuk memilih warna acak. Ketika [Remote Control](/docs/id/remote-control) terhubung, warna disinkronkan ke claude.ai/code. Juga tersedia dalam mode non-interaktif (`-p`); memerlukan Claude Code v2.1.205 atau lebih baru |76| `/color [color\|default]` | Atur warna bilah prompt untuk sesi saat ini. Warna tersedia: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Gunakan `default` untuk mengatur ulang, atau jalankan tanpa argumen untuk memilih warna acak. Ketika [Remote Control](/docs/id/remote-control) terhubung, warna disinkronkan ke claude.ai/code. Juga tersedia dalam mode non-interaktif (`-p`); memerlukan Claude Code v2.1.205 atau lebih baru |

74| `/compact [instructions]` | Bebaskan konteks dengan merangkum percakapan sejauh ini. Secara opsional berikan instruksi fokus untuk ringkasan. Lihat [bagaimana pemadatan menangani aturan, skill, dan file memori](/docs/id/context-window#what-survives-compaction) |77| `/compact [instructions]` | Bebaskan konteks dengan merangkum percakapan sejauh ini. Secara opsional berikan instruksi fokus untuk ringkasan. Lihat [bagaimana pemadatan menangani aturan, skill, dan file memori](/docs/id/context-window#what-survives-compaction) |

75| `/config [key=value ...]` | Buka antarmuka [Settings](/docs/id/settings) untuk menyesuaikan tema, model, [gaya output](/docs/id/output-styles), dan preferensi lainnya. Berikan satu atau lebih pasangan `key=value` untuk mengatur pengaturan secara langsung tanpa membuka antarmuka, misalnya `/config thinking=false`, `/config theme=dark`, atau `/config model=sonnet`. Bentuk `key=value` juga berfungsi dalam mode non-interaktif (`-p`) dan dari aplikasi mobile Claude melalui [Remote Control](/docs/id/remote-control). Bentuk `key=value` tidak dapat mengaktifkan pengaturan yang memerlukan konfirmasi Anda di panel, seperti [`autoContinueAtUsageLimit`](/docs/id/interactive-mode#turn-automatic-continue-off), meskipun dapat mematikannya. Jalankan `/config --help` untuk mencantumkan kunci yang diterimanya. Alias: `/settings` |78| `/config [key=value ...]` | Buka antarmuka [Pengaturan](/docs/id/settings) untuk menyesuaikan tema, model, [gaya output](/docs/id/output-styles), dan preferensi lainnya. Berikan satu atau lebih pasangan `key=value` untuk mengatur pengaturan secara langsung tanpa membuka antarmuka, misalnya `/config thinking=false`, `/config theme=dark`, atau `/config model=sonnet`. Bentuk `key=value` juga berfungsi dalam mode non-interaktif (`-p`) dan dari aplikasi mobile Claude melalui [Remote Control](/docs/id/remote-control). Bentuk `key=value` tidak dapat mengaktifkan pengaturan yang memerlukan konfirmasi Anda di panel, seperti [`autoContinueAtUsageLimit`](/docs/id/interactive-mode#turn-automatic-continue-off), meskipun dapat mengatasinya. Jalankan `/config --help` untuk mencantumkan kunci yang diterima. Alias: `/settings` |

76| `/context [all]` | Visualisasikan penggunaan konteks saat ini sebagai grid berwarna. Menunjukkan saran optimasi untuk alat yang berat konteks, bloat memori, dan peringatan kapasitas. Ketika percakapan melebihi jendela konteks, output mencakup [peringatan](/docs/id/errors#context-exceeds-the-token-limit) yang menunjukkan seberapa jauh Anda melampaui batas dan perintah mana yang membebaskan ruang. Dalam [mode layar penuh](/docs/id/fullscreen), `/context` meruntuhkan rincian per-item untuk menjaga grid tetap terlihat. Berikan `all` untuk meluaskannya |79| `/context [all]` | Visualisasikan penggunaan konteks saat ini sebagai grid berwarna. Menunjukkan saran optimasi untuk alat yang berat konteks, bloat memori, dan peringatan kapasitas. Ketika percakapan melebihi jendela konteks, output mencakup [peringatan](/docs/id/errors#context-exceeds-the-token-limit) yang menunjukkan seberapa jauh Anda melampaui batas dan perintah mana yang membebaskan ruang. Dalam [mode layar penuh](/docs/id/fullscreen), `/context` meruntuhkan rincian per-item untuk menjaga grid tetap terlihat. Berikan `all` untuk meluaskannya |

77| `/copy [N]` | Salin respons asisten terakhir ke clipboard. Berikan angka `N` untuk menyalin respons ke-N terbaru: `/copy 2` menyalin yang kedua terakhir. Ketika blok kode ada, menunjukkan pemilih interaktif untuk memilih blok individual atau respons lengkap. Tekan `w` di pemilih untuk menulis pilihan ke file alih-alih clipboard, yang berguna melalui SSH |80| `/copy [N]` | Salin respons asisten terakhir ke clipboard. Berikan angka `N` untuk menyalin respons ke-N terbaru: `/copy 2` menyalin yang kedua terakhir. Ketika blok kode ada, menunjukkan pemilih interaktif untuk memilih blok individual atau respons lengkap. Tekan `w` di pemilih untuk menulis pilihan ke file alih-alih clipboard, yang berguna melalui SSH |

78| `/cost` | Alias untuk `/usage` |81| `/cost` | Alias untuk `/usage` |

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

83| `/design-login` | Otorisasi akses sistem desain untuk `/design-sync` dengan akun claude.ai Anda |86| `/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 |87| `/design-sync [hint]` | **[Skill](/docs/id/skills#bundled-skills).** Konversi sistem desain React repo Anda dan unggah ke [Claude Design](https://claude.ai/design), sehingga desain yang dihasilkan menggunakan komponen nyata Anda. Secara opsional beri nama sistem desain, misalnya `/design-sync Acme DS`. Sinkronisasi pertama kali memverifikasi setiap komponen dan dapat memakan waktu beberapa jam di repo besar. Tersedia di Anthropic API. Memerlukan claude.ai, yang CLI tidak hubungi di Amazon Bedrock, Platform Agen Google Cloud, Microsoft Foundry, atau Claude Platform di AWS, atau melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway#availability-and-limitations), jadi perintah tidak tersedia di sana |

85| `/desktop` | Lanjutkan sesi saat ini di aplikasi Claude Code Desktop. Memerlukan macOS atau Windows x64 dan langganan Claude. Alias: `/app` |88| `/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) |89| `/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 [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 |90| `/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, server MCP, dan plugin yang tidak digunakan versus biaya konteks mereka, menandai [hook](/docs/id/hooks) yang lambat, dan memeriksa versi 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#audit-your-instruction-files) untuk instruksi usang 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\|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` |91| `/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 level saat ini, dan `ultracode off` mematikannya; kunci [`ultracode`](/docs/id/settings-reference#ultracode) bertahan. `max` hanya sesi. Argumen `on` dan `off` dan mempertahankan level 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 level baru ke permintaan berikutnya dalam giliran itu. Sebelum v2.1.242, Claude Code memutuskan dari bendera fitur yang diambil 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 pada [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` |92| `/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 |93| `/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 |94| `/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 pada kecepatan aslinya. Sebelum v2.1.242, Claude Code memutuskan dari bendera fitur yang diambil 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 |

92| `/feedback [report]` | Kirim umpan balik produk tentang Claude Code. Membuka dialog yang sama seperti [`/bug`](#all-commands), dengan langkah persetujuan yang sama, aturan pengiriman, dan perilaku di tengah giliran. Dalam sesi dengan [umpan balik yang dirancang Claude](/docs/id/tools-reference#sendfeedback-tool-behavior), `/feedback` tanpa argumen membuka antrian draf sebagai gantinya, di mana Anda meninjau, mengedit, mengirim, atau membuang draf yang Claude antrikan; antrian mencakup opsi untuk menulis laporan baru dalam dialog. Dengan argumen, dan untuk `/bug` selalu, dialog membuka langsung |95| `/feedback [report]` | Kirim umpan balik produk tentang Claude Code. Membuka dialog yang sama seperti [`/bug`](#all-commands), dengan langkah persetujuan yang sama, aturan pengiriman, dan perilaku di tengah giliran. Dalam sesi dengan [umpan balik yang dirancang Claude](/docs/id/tools-reference#sendfeedback-tool-behavior), `/feedback` tanpa argumen membuka antrian draf sebagai gantinya, di mana Anda meninjau, mengedit, mengirim, atau membuang draf yang Claude antrikan; antrian mencakup opsi untuk menulis laporan baru dalam dialog. Dengan argumen, dan untuk `/bug` selalu, dialog membuka langsung |

93| `/fewer-permission-prompts` | **[Skill](/docs/id/skills#bundled-skills).** Pindai transkrip Anda untuk panggilan alat Bash dan MCP baca-saja yang umum, kemudian tambahkan daftar izin yang diprioritaskan ke `.claude/settings.json` proyek untuk mengurangi prompt izin |96| `/fewer-permission-prompts` | **[Skill](/docs/id/skills#bundled-skills).** Pindai transkrip Anda untuk panggilan alat Bash dan MCP baca-saja umum, kemudian tambahkan daftar izin yang diprioritaskan ke `.claude/settings.json` proyek untuk mengurangi prompt izin |

94| `/focus` | Alihkan tampilan fokus, yang menunjukkan hanya prompt terakhir Anda, ringkasan panggilan alat satu baris dengan edit diffstat, dan respons akhir. Ringkasan panggilan alat juga menghitung subagent yang diluncurkan dalam giliran dan meruntuhkan notifikasi tugas latar belakang yang selesai menjadi satu hitungan. Pilihan bertahan di seluruh sesi; atur [`viewMode`](/docs/id/settings-reference#viewmode) dalam pengaturan untuk menimpanya. Hanya tersedia dalam [rendering layar penuh](/docs/id/fullscreen). [Ekstensi VS Code](/docs/id/vs-code#use-the-prompt-box) menawarkan tampilan Focus sendiri sebagai toggle menu perintah, disimpan sebagai pengaturan ekstensi, independen dari `viewMode` |97| `/focus` | Alihkan tampilan fokus, yang menunjukkan hanya prompt terakhir Anda, ringkasan panggilan alat satu baris dengan diffstat edit, dan respons akhir. Ringkasan panggilan alat juga menghitung subagent yang diluncurkan dalam giliran dan meruntuhkan notifikasi tugas latar belakang yang selesai menjadi satu hitungan. Pilihan bertahan di seluruh sesi; atur [`viewMode`](/docs/id/settings-reference#viewmode) dalam pengaturan untuk menimpanya. Hanya tersedia dalam [rendering layar penuh](/docs/id/fullscreen). Dari klien [Remote Control](/docs/id/remote-control), jalankan `/focus [on\|off]` untuk mengaktifkan atau menonaktifkan tampilan fokus untuk sesi saat ini saja, tanpa mengubah pilihan yang disimpan; ini memerlukan Claude Code v2.1.281 atau lebih baru. [Ekstensi VS Code](/docs/id/vs-code#use-the-prompt-box) menawarkan tampilan Focus sendiri sebagai toggle menu perintah, disimpan sebagai pengaturan ekstensi, independen dari `viewMode` |

95| `/fork [prompt]` | [Salin percakapan saat ini](/docs/id/agent-view#copy-the-session-with-%2Ffork) ke sesi latar belakang baru dan terus bekerja di sini. Berikan prompt dan salinan mulai bekerja padanya segera; tanpa satu menunggu di tampilan agen untuk prompt pertamanya. Kecuali ketika salinan [mengedit di tempat](/docs/id/agent-view#how-file-edits-are-isolated), Claude Code menginstruksikannya untuk membuat worktree sendiri sebelum membuat perubahan kode; instruksi isolasi memerlukan Claude Code v2.1.221 atau lebih baru. Untuk menyerahkan tugas sampingan ke subagent yang hasilnya kembali ke percakapan ini, gunakan `/subtask`; untuk beralih ke salinan sendiri, gunakan `/branch`. Memerlukan Claude Code v2.1.212 atau lebih baru; di v2.1.161 melalui v2.1.211, dan kapan pun [tampilan agen dimatikan](/docs/id/agent-view#turn-off-agent-view), `/fork` memulai [subagent bercabang](/docs/id/sub-agents#fork-the-current-conversation) sebagai gantinya |98| `/fork [prompt]` | [Salin percakapan saat ini](/docs/id/agent-view#copy-the-session-with-%2Ffork) ke sesi latar belakang baru dan terus bekerja di sini. Berikan prompt dan salinan mulai bekerja padanya segera; tanpa salinan menunggu di tampilan agen untuk prompt pertamanya. Kecuali ketika salinan [mengedit di tempat](/docs/id/agent-view#how-file-edits-are-isolated), Claude Code menginstruksikannya untuk membuat worktree sendiri sebelum membuat perubahan kode; instruksi isolasi memerlukan Claude Code v2.1.221 atau lebih baru. Untuk menyerahkan tugas sampingan ke subagent yang hasilnya kembali ke percakapan ini, gunakan `/subtask`; untuk beralih ke salinan sendiri, gunakan `/branch`. Memerlukan Claude Code v2.1.212 atau lebih baru; pada v2.1.161 melalui v2.1.211, dan kapan pun [tampilan agen dimatikan](/docs/id/agent-view#turn-off-agent-view), `/fork` memulai [subagent yang bercabang](/docs/id/sub-agents#fork-the-current-conversation) sebagai gantinya |

96| `/goal [condition\|clear]` | Atur [tujuan](/docs/id/goal): Claude terus bekerja di seluruh giliran sampai kondisi terpenuhi atau tujuan [jelas untuk alasan lain](/docs/id/goal#how-evaluation-works). Tanpa argumen, menunjukkan tujuan saat ini atau yang paling baru dicapai. `clear`, `stop`, `off`, `reset`, `none`, atau `cancel` menghapus tujuan aktif lebih awal |99| `/goal [condition\|clear]` | Atur [tujuan](/docs/id/goal): Claude terus bekerja di seluruh giliran sampai kondisi terpenuhi atau tujuan [jelas untuk alasan lain](/docs/id/goal#how-evaluation-works). Tanpa argumen, menunjukkan tujuan saat ini atau yang paling baru dicapai. `clear`, `stop`, `off`, `reset`, `none`, atau `cancel` menghapus tujuan aktif lebih awal |

97| `/heapdump` | Tulis snapshot heap JavaScript dan rincian memori ke `~/Desktop`, atau direktori home Anda di Linux tanpa folder Desktop, untuk mendiagnosis penggunaan memori tinggi. Lampirkan hanya file `-diagnostics.json` saat melaporkan masalah memori; `.heapsnapshot` berisi percakapan lengkap dan kredensial Anda, jadi jangan bagikan. [Tersembunyi dari menu perintah](#how-the-command-menu-matches-what-you-type); ketik sepenuhnya. Lihat [apa yang harus dilakukan dengan output](/docs/id/troubleshooting#high-cpu-or-memory-usage) |100| `/heapdump` | Tulis snapshot heap JavaScript dan rincian memori ke `~/Desktop`, atau direktori home Anda di Linux tanpa folder Desktop, untuk mendiagnosis penggunaan memori tinggi. Lampirkan hanya file `-diagnostics.json` saat melaporkan masalah memori; `.heapsnapshot` berisi percakapan lengkap dan kredensial Anda, jadi jangan bagikan. [Tersembunyi dari menu perintah](#how-the-command-menu-matches-what-you-type); ketik sepenuhnya. Lihat [apa yang harus dilakukan dengan output](/docs/id/troubleshooting#high-cpu-or-memory-usage) |

98| `/help` | Tampilkan bantuan dan perintah tersedia |101| `/help` | Tampilkan bantuan dan perintah tersedia |

99| `/hooks` | Lihat konfigurasi [hook](/docs/id/hooks) untuk acara alat |102| `/hooks` | Lihat konfigurasi [hook](/docs/id/hooks) untuk acara alat |

100| `/ide` | Kelola integrasi IDE dan tampilkan status |103| `/ide` | Kelola integrasi IDE dan tampilkan status |

101| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Bawa konfigurasi dari OpenAI Codex, Google Gemini CLI, atau Cursor di mesin Anda ke Claude Code, termasuk file instruksi, server MCP, perintah, subagent, dan skill. Dalam [mode non-interaktif](/docs/id/headless) dengan `-p`, `/import` mencantumkan apa yang ditemukannya dan memberikan Anda perintah yang mengonfirmasi impor. Tambahkan `--dry-run` untuk pratinjau tanpa menulis apa pun, atau `--yes` untuk melewati pemilih interaktif. Tidak tersedia 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). Juga tidak tersedia ketika Anda mematikan [pengambilan bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching). Memerlukan Claude Code v2.1.213 atau lebih baru. Mengimpor dari Cursor memerlukan v2.1.265 atau lebih baru |104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Bawa konfigurasi dari OpenAI Codex, Google Gemini CLI, atau Cursor di mesin Anda ke Claude Code, termasuk file instruksi, server MCP, perintah, subagent, dan skill. Dalam [mode non-interaktif](/docs/id/headless) dengan `-p`, `/import` mencantumkan apa yang ditemukan dan memberikan perintah yang mengonfirmasi impor. Tambahkan `--dry-run` untuk pratinjau tanpa menulis apa pun, atau `--yes` untuk melewati pemilih interaktif. Tidak tersedia di Amazon Bedrock, Platform Agen Google Cloud, Microsoft Foundry, atau Claude Platform di AWS, atau melalui [gateway aplikasi Claude](/docs/id/claude-apps-gateway#availability-and-limitations). Juga tidak tersedia ketika Anda mematikan [pengambilan bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching). Memerlukan Claude Code v2.1.213 atau lebih baru. Mengimpor dari Cursor memerlukan v2.1.265 atau lebih baru |

102| `/init` | Inisialisasi proyek dengan panduan `CLAUDE.md`. Atur `CLAUDE_CODE_NEW_INIT=1` untuk alur interaktif yang juga memandu melalui skill, hook, dan file memori pribadi. Jika `/init` menemukan konfigurasi OpenAI Codex atau Google Gemini CLI, ia menawarkan untuk membawanya dengan `/import` |105| `/init` | Inisialisasi proyek dengan panduan `CLAUDE.md`. Atur `CLAUDE_CODE_NEW_INIT=1` untuk alur interaktif yang juga memandu melalui skill, hook, dan file memori pribadi. Jika `/init` menemukan konfigurasi OpenAI Codex atau Google Gemini CLI, ia menawarkan untuk membawanya dengan `/import` |

103| `/insights` | Hasilkan laporan HTML yang menganalisis sesi terbaru Anda di mesin ini: proyek mana yang Anda kerjakan, bagaimana Anda menggunakan Claude Code, di mana hal-hal salah, dan fitur untuk dicoba. Tidak tersedia dalam [sesi cloud](/docs/id/claude-code-on-the-web). Lihat [Analisis pola penggunaan Anda](/docs/id/costs#analyze-your-usage-patterns) untuk lokasi laporan, retensi, dan biaya |106| `/insights` | Hasilkan laporan HTML yang menganalisis sesi terbaru Anda di mesin ini: proyek mana yang Anda kerjakan, bagaimana Anda menggunakan Claude Code, di mana hal-hal salah, dan fitur untuk dicoba. Tidak tersedia dalam [sesi cloud](/docs/id/claude-code-on-the-web). Lihat [Analisis pola penggunaan Anda](/docs/id/costs#analyze-your-usage-patterns) untuk lokasi laporan, retensi, dan biaya |

104| `/install-github-app` | Instal Aplikasi GitHub Claude untuk repositori, dengan langkah opsional untuk menyiapkan alur kerja [GitHub Actions](/docs/id/github-actions) dan rahasia. Memandu Anda melalui pemilihan repo dan konfigurasi integrasi. Bekerja hanya dengan repositori github.com. Ketika remote git repositori Anda berada di gitlab.com atau bitbucket.org, perintah mencetak pemberitahuan dan keluar alih-alih memulai pengaturan. Untuk menjalankan Claude Code dari pipeline GitLab, lihat [GitLab CI/CD](/docs/id/gitlab-ci-cd) |107| `/install-github-app` | Pasang Aplikasi GitHub Claude untuk repositori, dengan langkah opsional untuk menyiapkan alur kerja [GitHub Actions](/docs/id/github-actions) dan rahasia. Memandu Anda melalui pemilihan repo dan konfigurasi integrasi. Hanya bekerja dengan repositori github.com. Ketika remote git repositori Anda berada di gitlab.com atau bitbucket.org, perintah mencetak pemberitahuan dan keluar alih-alih memulai pengaturan. Untuk menjalankan Claude Code dari pipeline GitLab, lihat [GitLab CI/CD](/docs/id/gitlab-ci-cd) |

105| `/install-slack-app` | Instal aplikasi Claude Slack. Membuka browser untuk menyelesaikan alur OAuth |108| `/install-slack-app` | Pasang aplikasi Claude Slack. Membuka browser untuk menyelesaikan alur OAuth |

106| `/keybindings` | Buka file [pintasan keyboard](/docs/id/keybindings) Anda |109| `/keybindings` | Buka file [pintasan keyboard](/docs/id/keybindings) Anda |

107| `/list-agents` | Daftar subagent, rekan [tim agen](/docs/id/agent-teams), dan sesi Claude Code lainnya yang dapat dikomunikasikan Claude, dengan nama yang digunakan untuk masing-masing. Lihat [pesan lintas sesi](/docs/id/cross-session-messaging). Juga tersedia sebagai `/peers`. Memerlukan Claude Code v2.1.224 atau lebih baru; versi sebelumnya melaporkan `Unknown command: /list-agents`. Baris rekan dan baris pertama yang menunjukkan nama sesi ini sendiri memerlukan v2.1.239 atau lebih baru. Hanya tersedia dalam sesi di mana [pesan lintas sesi diaktifkan](/docs/id/cross-session-messaging#availability) |110| `/list-agents` | Daftar subagent, rekan [tim agen](/docs/id/agent-teams), dan sesi Claude Code lainnya yang dapat dikomunikasikan Claude, dengan nama yang digunakan untuk masing-masing. Lihat [pesan lintas sesi](/docs/id/cross-session-messaging). Juga tersedia sebagai `/peers`. Memerlukan Claude Code v2.1.224 atau lebih baru; versi sebelumnya melaporkan `Unknown command: /list-agents`. Baris rekan dan baris pertama yang menunjukkan nama sesi sendiri memerlukan v2.1.239 atau lebih baru. Hanya tersedia dalam sesi di mana [pesan lintas sesi diaktifkan](/docs/id/cross-session-messaging#availability) |

108| `/login` | Masuk ke akun Anthropic Anda |111| `/login` | Masuk ke akun Anthropic Anda |

109| `/logout` | Keluar dari akun Anthropic Anda |112| `/logout` | Keluar dari akun Anthropic Anda |

110| `/loop [interval] [prompt]` | **[Skill](/docs/id/skills#bundled-skills).** Jalankan prompt berulang kali saat sesi tetap terbuka. Hilangkan interval dan Claude [mengatur kecepatan sendiri di antara iterasi](/docs/id/scheduled-tasks#let-claude-choose-the-interval). Hilangkan prompt dan Claude menjalankan [prompt pemeliharaan bawaan](/docs/id/scheduled-tasks#run-the-built-in-maintenance-prompt) atau [`loop.md`](/docs/id/scheduled-tasks#customize-the-default-prompt-with-loop-md) Anda. Contoh: `/loop 5m check if the deploy finished`. Lihat [Jalankan prompt sesuai jadwal](/docs/id/scheduled-tasks). Alias: `/proactive` |113| `/loop [interval] [prompt]` | **[Skill](/docs/id/skills#bundled-skills).** Jalankan prompt berulang kali saat sesi tetap terbuka. Hilangkan interval dan Claude [mengatur kecepatan sendiri di antara iterasi](/docs/id/scheduled-tasks#let-claude-choose-the-interval). Hilangkan prompt dan Claude menjalankan [prompt pemeliharaan bawaan](/docs/id/scheduled-tasks#run-the-built-in-maintenance-prompt) atau [`loop.md`](/docs/id/scheduled-tasks#customize-the-default-prompt-with-loop-md) Anda. Contoh: `/loop 5m check if the deploy finished`. Lihat [Jalankan prompt sesuai jadwal](/docs/id/scheduled-tasks). Alias: `/proactive` |

111| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Kelola koneksi server MCP dan autentikasi OAuth. Jalankan tanpa argumen untuk membuka daftar interaktif, berikan `reconnect <server>` untuk menghubungkan kembali satu server yang terputus, atau berikan `enable`/`disable` dengan nama server atau `all` untuk mengubah status koneksi tanpa membuka dialog. Juga tersedia dalam mode non-interaktif (`-p`), di mana menjalankannya tanpa argumen mencetak ringkasan teks status server alih-alih membuka daftar; memerlukan Claude Code v2.1.205 atau lebih baru |114| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Kelola koneksi server MCP dan autentikasi OAuth. Jalankan tanpa argumen untuk membuka daftar interaktif, berikan `reconnect <server>` untuk menghubungkan kembali satu server yang terputus, atau berikan `enable`/`disable` dengan nama server atau `all` untuk mengubah status koneksi tanpa membuka dialog. Juga tersedia dalam mode non-interaktif (`-p`), di mana menjalankannya tanpa argumen mencetak ringkasan teks status server alih-alih membuka daftar; memerlukan Claude Code v2.1.205 atau lebih baru |

112| `/memory` | Edit file `CLAUDE.md`, aktifkan atau nonaktifkan [memori otomatis](/docs/id/memory#auto-memory), dan lihat entri memori otomatis |115| `/memory` | Edit file `CLAUDE.md`, aktifkan atau nonaktifkan [memori otomatis](/docs/id/memory#auto-memory), dan lihat entri memori otomatis |

113| `/mobile` | Tampilkan kode QR untuk mengunduh aplikasi mobile Claude. Alias: `/ios`, `/android` |116| `/mobile` | Tampilkan kode QR untuk mengunduh aplikasi mobile Claude. Alias: `/ios`, `/android` |

114| `/model [model]` | Alihkan model AI dan simpan sebagai default Anda untuk sesi baru. Untuk model yang mendukungnya, gunakan panah kiri/kanan untuk [menyesuaikan tingkat upaya](/docs/id/model-config#adjust-effort-level). Tanpa argumen, membuka pemilih; tekan `s` pada baris untuk beralih hanya untuk sesi saat ini. Lihat [kapan Claude Code meminta Anda untuk mengonfirmasi switch](/docs/id/prompt-caching#switching-models). Setelah Anda mengonfirmasi switch, jika Claude Code bertanya, Claude Code menerapkan perubahan tanpa menunggu respons saat ini selesai. 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). Juga tersedia dalam mode non-interaktif (`-p`) dengan argumen model alih-alih pemilih, di mana ia berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda; memerlukan Claude Code v2.1.205 atau lebih baru |117| `/model [model]` | Alihkan model AI dan simpan sebagai default Anda untuk sesi baru. Untuk model yang mendukungnya, gunakan panah kiri/kanan untuk [menyesuaikan tingkat upaya](/docs/id/model-config#adjust-effort-level). Tanpa argumen, membuka pemilih; tekan `s` pada baris untuk beralih hanya untuk sesi saat ini. Lihat [kapan Claude Code meminta Anda untuk mengonfirmasi switch](/docs/id/prompt-caching#switching-models). Setelah Anda mengonfirmasi switch, jika Claude Code meminta, Claude Code menerapkan perubahan tanpa menunggu respons saat ini selesai. Sebelum v2.1.242, Claude Code memutuskan dari bendera fitur yang diambil 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 pada [penyedia pihak ketiga](/docs/id/third-party-integrations). Juga tersedia dalam mode non-interaktif (`-p`) dengan argumen model alih-alih pemilih, di mana berlaku hanya untuk sesi saat ini dan tidak disimpan sebagai default Anda; memerlukan Claude Code v2.1.205 atau lebih baru |

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

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

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

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

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

120| `/powerup` | Temukan fitur Claude Code melalui pelajaran interaktif cepat dengan demo animasi |123| `/powerup` | Temukan fitur Claude Code melalui pelajaran interaktif cepat dengan demo animasi |

121| `/pr-comments [PR]` | Dihapus di v2.1.91. Tanyakan Claude secara langsung untuk melihat komentar permintaan tarik sebagai gantinya. Di versi sebelumnya, mengambil dan menampilkan komentar dari permintaan tarik GitHub; secara otomatis mendeteksi PR untuk cabang saat ini, atau berikan URL atau nomor PR. Memerlukan CLI `gh` |124| `/pr-comments [PR]` | Dihapus di v2.1.91. Tanyakan Claude secara langsung untuk melihat komentar permintaan tarik sebagai gantinya. Pada versi sebelumnya, mengambil dan menampilkan komentar dari permintaan tarik GitHub; secara otomatis mendeteksi PR untuk cabang saat ini, atau berikan URL atau nomor PR. Memerlukan CLI `gh` |

122| `/privacy-settings` | Lihat dan perbarui pengaturan privasi Anda. Hanya tersedia untuk pelanggan paket Pro dan Max |125| `/privacy-settings` | Lihat dan perbarui pengaturan privasi Anda. Hanya tersedia untuk pelanggan paket Pro dan Max |

123| `/radio` | Buka radio lo-fi Claude FM di browser Anda. Mencetak URL aliran ketika tidak ada browser yang tersedia |126| `/radio` | Buka radio lo-fi Claude FM di browser Anda. Mencetak URL aliran ketika tidak ada browser yang tersedia |

124| `/rate-limit-options` | Tampilkan cara untuk terus bekerja ketika batas penggunaan claude.ai memblokir permintaan: tunggu dan [lanjutkan secara otomatis ketika batas direset](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset), tambahkan [kredit penggunaan](/docs/id/costs#add-usage-credits-to-your-subscription), atau tingkatkan paket Anda. Claude Code juga dapat membuka menu ini dengan sendirinya ketika Anda mencapai batas di terminal Anda sendiri. Lihat [Matikan lanjutan otomatis](/docs/id/interactive-mode#turn-automatic-continue-off). Memerlukan langganan claude.ai. Tidak muncul dalam menu perintah; ketik sepenuhnya. Baris tunggu-dan-lanjutkan memerlukan Claude Code v2.1.234 atau lebih baru |127| `/rate-limit-options` | Tampilkan cara untuk terus bekerja ketika batas penggunaan claude.ai memblokir permintaan: tunggu dan [lanjutkan secara otomatis ketika batas direset](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset), tambahkan [kredit penggunaan](/docs/id/costs#add-usage-credits-to-your-subscription), atau tingkatkan paket Anda. Claude Code juga dapat membuka menu ini dengan sendirinya ketika Anda mencapai batas di terminal Anda sendiri. Lihat [Matikan lanjutan otomatis](/docs/id/interactive-mode#turn-automatic-continue-off). Memerlukan langganan claude.ai. Baris tunggu-dan-lanjutkan memerlukan Claude Code v2.1.234 atau lebih baru |

125| `/recap` | Hasilkan ringkasan satu baris dari sesi saat ini sesuai permintaan. Lihat [Ringkasan sesi](/docs/id/interactive-mode#session-recap) untuk ringkasan otomatis yang muncul setelah Anda pergi |128| `/recap` | Hasilkan ringkasan satu baris dari sesi saat ini sesuai permintaan. Lihat [Ringkasan sesi](/docs/id/interactive-mode#session-recap) untuk ringkasan otomatis yang muncul setelah Anda pergi |

126| `/release-notes` | Lihat changelog dalam pemilih versi interaktif. Pilih versi tertentu untuk melihat catatan rilisnya, atau pilih untuk menampilkan semua versi. Catatan muncul dalam transkrip Anda tanpa memasukkan percakapan yang Claude lihat |129| `/release-notes` | Lihat changelog dalam pemilih versi interaktif. Pilih versi spesifik untuk melihat catatan rilisnya, atau pilih untuk menampilkan semua versi. Catatan muncul dalam transkrip Anda tanpa memasukkan percakapan yang Claude lihat |

127| `/reload-plugins [--force]` | Muat ulang semua [plugin](/docs/id/plugins/overview) aktif untuk menerapkan perubahan yang tertunda tanpa memulai ulang. Laporan hitungan untuk setiap komponen yang dimuat ulang dan menandai kesalahan pemuatan apa pun. Ketika pemuatan ulang akan mengubah alat MCP mana yang dimuat dan membatalkan cache prompt, perintah memperingatkan dan melewati kecuali Anda berikan `--force`. Juga tersedia dalam mode non-interaktif (`-p`), Agent SDK, dan aplikasi desktop, di mana ia berjalan hanya pada input yang diketik langsung ke dalam sesi dan tidak menerapkan perubahan server MCP plugin; memerlukan Claude Code v2.1.260 atau lebih baru. Lihat [Terapkan perubahan plugin tanpa memulai ulang](/docs/id/plugins/cli-reference#reload-plugins) |130| `/reload-plugins [--force]` | Muat ulang semua [plugin](/docs/id/plugins/overview) aktif untuk menerapkan perubahan yang tertunda tanpa memulai ulang. Laporan hitungan untuk setiap komponen yang dimuat ulang dan menandai kesalahan pemuatan apa pun. Ketika pemuatan ulang akan mengubah alat MCP mana yang dimuat dan membatalkan cache prompt, perintah memperingatkan dan melewati kecuali Anda berikan `--force`. Juga tersedia dalam mode non-interaktif (`-p`), Agent SDK, dan aplikasi desktop, di mana hanya berjalan pada input yang diketik langsung ke sesi dan tidak menerapkan perubahan MCP server plugin; memerlukan Claude Code v2.1.260 atau lebih baru. Lihat [Terapkan perubahan plugin tanpa memulai ulang](/docs/id/plugins/cli-reference#reload-plugins) |

128| `/reload-skills` | Pindai ulang direktori [skill](/docs/id/skills) dan perintah sehingga skill yang ditambahkan atau diubah di disk selama sesi menjadi tersedia tanpa memulai ulang. Laporan berapa banyak skill yang tersedia dan berapa banyak yang ditambahkan atau dihapus |131| `/reload-skills` | Pindai ulang direktori [skill](/docs/id/skills) dan perintah sehingga skill yang ditambahkan atau diubah di disk selama sesi menjadi tersedia tanpa memulai ulang. Laporan berapa banyak skill yang tersedia dan berapa banyak yang ditambahkan atau dihapus |

129| `/remote-control` | Buat sesi ini tersedia untuk [Remote Control](/docs/id/remote-control) dari claude.ai. Menjalankannya saat keluar mencetak bahwa Remote Control memerlukan langganan claude.ai dan memberi tahu Anda cara masuk; sebelum v2.1.206 itu melaporkan `Unknown command: /remote-control`. Alias: `/rc` |132| `/remote-control` | Buat sesi ini tersedia untuk [Remote Control](/docs/id/remote-control) dari claude.ai. Menjalankannya saat keluar mencetak bahwa Remote Control memerlukan langganan claude.ai dan memberi tahu Anda cara masuk; sebelum v2.1.206 melaporkan `Unknown command: /remote-control`. Alias: `/rc` |

130| `/remote-env` | Pilih lingkungan cloud default untuk [sesi cloud](/docs/id/cloud-environments#select-an-environment-from-the-cli) yang Anda mulai dari CLI |133| `/remote-env` | Pilih [lingkungan cloud](/docs/id/cloud-environments#select-an-environment-from-the-cli) default untuk sesi cloud yang Anda mulai dari CLI |

131| `/rename [name]` | Ubah nama sesi saat ini dan tampilkan nama di bilah prompt. Tanpa nama, auto-generate satu dari riwayat percakapan. Juga tersedia dalam mode non-interaktif (`-p`); memerlukan Claude Code v2.1.205 atau lebih baru. Dari setiap permukaan rename, termasuk claude.ai dan aplikasi desktop, Claude Code mengganti karakter kontrol dan tidak terlihat dalam nama baru dengan spasi dan membatasi nama pada 200 karakter. Jika nama kosong setelah karakter tidak terlihat dihapus, Claude Code menolaknya dan menunjukkan `That name is empty once invisible characters are removed. Usage: /rename <name>`. Penggantian karakter dan batas panjang memerlukan Claude Code v2.1.221 atau lebih baru. Jika sesi langsung lain di mesin ini sudah menggunakan nama yang Anda berikan, Claude Code menerapkan [varian darinya](/docs/id/sessions#name-your-sessions) sebagai gantinya |134| `/rename [name]` | Ganti nama sesi saat ini dan tampilkan nama di bilah prompt. Tanpa nama, auto-generate dari riwayat percakapan. Juga tersedia dalam mode non-interaktif (`-p`); memerlukan Claude Code v2.1.205 atau lebih baru. Dari setiap permukaan penggantian nama, termasuk claude.ai dan aplikasi desktop, Claude Code mengganti karakter kontrol dan tidak terlihat dalam nama baru dengan spasi dan membatasi nama pada 200 karakter. Jika nama kosong setelah karakter tidak terlihat dihapus, Claude Code menolaknya dan menunjukkan `That name is empty once invisible characters are removed. Usage: /rename <name>`. Penggantian karakter dan batas panjang memerlukan Claude Code v2.1.221 atau lebih baru. Jika sesi langsung lain di mesin ini sudah menggunakan nama yang Anda berikan, Claude Code menerapkan [varian darinya](/docs/id/sessions#name-your-sessions) sebagai gantinya |

132| `/resume [session]` | Lanjutkan percakapan berdasarkan ID atau nama, atau buka pemilih sesi. [Sesi latar belakang](/docs/id/agent-view) muncul di pemilih ditandai dengan `bg`; satu yang masih berjalan tidak dapat dilanjutkan di sini, jadi lampirkan dari `claude agents` atau hentikan di sana terlebih dahulu. Alias: `/continue` |135| `/resume [session]` | Lanjutkan percakapan berdasarkan ID atau nama, atau buka pemilih sesi. [Sesi latar belakang](/docs/id/agent-view) muncul di pemilih ditandai dengan `bg`; satu yang masih berjalan tidak dapat dilanjutkan di sini, jadi lampirkan dari `claude agents` atau hentikan di sana terlebih dahulu. Alias: `/continue` |

133| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias dari [`/code-review`](/docs/id/code-review#review-a-diff-locally): meninjau diff saat ini, atau nomor PR, cabang, atau jalur yang Anda berikan, seperti `/review 1234`, dan mengambil tingkat upaya dan bendera yang sama. Tanpa level yang diberikan, ulasan menggunakan kembali tingkat `low` hingga `max` terakhir yang Anda ketik; lihat [Tinjau diff secara lokal](/docs/id/code-review#review-a-diff-locally) untuk aturan yang tepat. Untuk ulasan cloud mendalam, gunakan [`/code-review ultra`](/docs/id/ultrareview). Sebelum v2.1.223, `/review` adalah perintah terpisah yang menjalankan ulasan satu-pass, baca-saja dari nomor permintaan tarik GitHub, mencantumkan PR terbuka untuk dipilih saat dijalankan tanpa argumen; dari v2.1.186 melalui v2.1.201, itu menjalankan mesin multi-agen yang sama seperti `/code-review medium` |136| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias dari [`/code-review`](/docs/id/code-review#review-a-diff-locally): meninjau diff saat ini, atau nomor PR, cabang, atau jalur yang Anda berikan, seperti `/review 1234`, dan mengambil tingkat upaya dan bendera yang sama. Tanpa level yang diberikan, tinjauan menggunakan kembali level `low` hingga `max` terakhir yang Anda ketik; lihat [Tinjau diff secara lokal](/docs/id/code-review#review-a-diff-locally) untuk aturan yang tepat. Untuk tinjauan cloud mendalam, gunakan [`/code-review ultra`](/docs/id/ultrareview). Sebelum v2.1.223, `/review` adalah perintah terpisah yang menjalankan tinjauan baca-saja satu lintasan dari permintaan tarik GitHub berdasarkan nomor, mencantumkan PR terbuka untuk dipilih saat dijalankan tanpa argumen; dari v2.1.186 melalui v2.1.201, itu menjalankan mesin multi-agen yang sama seperti `/code-review medium` |

134| `/rewind` | Putar ulang percakapan dan/atau kode ke titik sebelumnya, atau ringkas dari pesan yang dipilih. Lihat [checkpointing](/docs/id/checkpointing). Alias: `/checkpoint`, `/undo` |137| `/rewind` | Putar ulang percakapan dan/atau kode ke titik sebelumnya, atau ringkas dari pesan yang dipilih. Lihat [checkpointing](/docs/id/checkpointing). Alias: `/checkpoint`, `/undo` |

135| `/run` | **[Skill](/docs/id/skills#bundled-skills).** Luncurkan dan jalankan aplikasi proyek Anda untuk melihat perubahan bekerja, bukan hanya lulus tes. Lihat [Jalankan dan verifikasi aplikasi Anda](/docs/id/skills#run-and-verify-your-app) |138| `/run` | **[Skill](/docs/id/skills#bundled-skills).** Luncurkan dan jalankan aplikasi proyek Anda untuk melihat perubahan bekerja, bukan hanya lulus tes. Lihat [Jalankan dan verifikasi aplikasi Anda](/docs/id/skills#run-and-verify-your-app) |

136| `/run-skill-generator` | **[Skill](/docs/id/skills#bundled-skills).** Ajarkan `/run` dan `/verify` cara membangun, meluncurkan, dan menjalankan aplikasi proyek Anda dari lingkungan bersih dengan menulis [skill](/docs/id/skills#run-and-verify-your-app) per-proyek |139| `/run-skill-generator` | **[Skill](/docs/id/skills#bundled-skills).** Ajarkan `/run` dan `/verify` cara membangun, meluncurkan, dan menjalankan aplikasi proyek Anda dari lingkungan bersih dengan menulis [skill](/docs/id/skills#run-and-verify-your-app) per-proyek |

137| `/sandbox` | Alihkan [mode sandbox](/docs/id/sandboxing). Tersedia hanya di platform yang didukung |140| `/sandbox` | Alihkan [mode sandbox](/docs/id/sandboxing). Hanya tersedia di platform yang didukung |

138| `/schedule [description]` | Buat, perbarui, daftar, atau jalankan [rutinitas](/docs/id/routines), yang dieksekusi di cloud. Claude memandu Anda melalui pengaturan secara percakapan. Anda juga dapat menanyakan tentang [jalankan terbaru rutinitas](/docs/id/routines#manage-routines-from-the-cli). Alias: `/routines` |141| `/schedule [description]` | Buat, perbarui, daftar, atau jalankan [rutinitas](/docs/id/routines), yang dieksekusi di cloud. Claude memandu Anda melalui pengaturan secara percakapan. Anda juga dapat menanyakan tentang [jalankan terbaru rutinitas](/docs/id/routines#manage-routines-from-the-cli). Alias: `/routines` |

139| `/scroll-speed` | Sesuaikan [kecepatan scroll](/docs/id/fullscreen#mouse-wheel-scrolling) roda mouse secara interaktif, dengan penggaris yang dapat Anda gulir saat dialog terbuka untuk pratinjau perubahan. Tersedia dalam [rendering layar penuh](/docs/id/fullscreen) hanya dan bukan di terminal IDE JetBrains |142| `/scroll-speed` | Sesuaikan [kecepatan scroll](/docs/id/fullscreen#mouse-wheel-scrolling) roda mouse secara interaktif, dengan penggaris yang dapat Anda gulir saat dialog terbuka untuk melihat pratinjau perubahan. Hanya tersedia dalam [rendering layar penuh](/docs/id/fullscreen) dan bukan di terminal IDE JetBrains |

140| `/security-review` | Analisis perubahan di cabang saat ini untuk kerentanan keamanan. Meninjau diff antara cabang Anda dan cabang default asal, mengidentifikasi risiko seperti injeksi, masalah auth, dan paparan data. Memerlukan remote `origin`; jika ulasan gagal dengan kesalahan `ambiguous argument`, lihat [referensi kesalahan](/docs/id/errors#security-review-fails-without-origin-head) |143| `/security-review` | Analisis perubahan di cabang saat ini untuk kerentanan keamanan. Meninjau diff antara cabang dan cabang default asal, mengidentifikasi risiko seperti injeksi, masalah auth, dan paparan data. Memerlukan remote `origin`; jika tinjauan gagal dengan kesalahan `ambiguous argument`, lihat [referensi kesalahan](/docs/id/errors#security-review-fails-without-origin-head) |

141| `/setup-bedrock` | Konfigurasi autentikasi [Amazon Bedrock](/docs/id/amazon-bedrock), wilayah, dan pin model melalui wizard interaktif. [Tersembunyi dari menu perintah](#how-the-command-menu-matches-what-you-type) sampai `CLAUDE_CODE_USE_BEDROCK=1` diatur; ketik sepenuhnya. Pengguna Amazon Bedrock pertama kali juga dapat mengakses wizard ini dari layar login |144| `/setup-bedrock` | Konfigurasi autentikasi [Amazon Bedrock](/docs/id/amazon-bedrock), wilayah, dan pin model melalui wizard interaktif. [Tersembunyi dari menu perintah](#how-the-command-menu-matches-what-you-type) sampai `CLAUDE_CODE_USE_BEDROCK=1` diatur; ketik sepenuhnya. Pengguna Amazon Bedrock pertama kali juga dapat mengakses wizard ini dari layar login |

142| `/setup-vertex` | Konfigurasi autentikasi [Platform Agent Google Cloud](/docs/id/google-vertex-ai), proyek, wilayah, dan pin model melalui wizard interaktif. [Tersembunyi dari menu perintah](#how-the-command-menu-matches-what-you-type) sampai `CLAUDE_CODE_USE_VERTEX=1` diatur; ketik sepenuhnya. Pengguna Platform Agent Google Cloud pertama kali juga dapat mengakses wizard ini dari layar login |145| `/setup-vertex` | Konfigurasi autentikasi [Platform Agen Google Cloud](/docs/id/google-vertex-ai), proyek, wilayah, dan pin model melalui wizard interaktif. [Tersembunyi dari menu perintah](#how-the-command-menu-matches-what-you-type) sampai `CLAUDE_CODE_USE_VERTEX=1` diatur; ketik sepenuhnya. Pengguna Platform Agen Google Cloud pertama kali juga dapat mengakses wizard ini dari layar login |

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 |146| `/simplify [target]` | **[Skill](/docs/id/skills#bundled-skills).** Tinjau kode yang diubah untuk peluang pembersihan dan terapkan perbaikan. Empat [agen](/docs/id/sub-agents) tinjauan berjalan secara paralel, mencakup penggunaan kembali pembantu yang ada, penyederhanaan, efisiensi, dan apakah perubahan berada pada tingkat abstraksi yang tepat. Tinjauan tidak mencari bug kebenaran. Gunakan `/code-review` untuk menemukan bug. Berikan jalur atau referensi PR untuk meninjau target spesifik |

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) |147| `/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` |148| `/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 |149| `/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 Agen Google Cloud, Microsoft Foundry, dan Claude Platform di AWS, artifact tidak tersedia, jadi perintah tidak tersedia di sana |

147| `/stats` | Alias untuk `/usage`. Membuka di tab Stats |150| `/stats` | Alias untuk `/usage`. Membuka di tab Stats |

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 |151| `/status` | Buka antarmuka Pengaturan 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 |

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 |152| `/statusline` | Konfigurasi [baris status](/docs/id/statusline) Claude Code. Jelaskan apa yang Anda inginkan, atau jalankan tanpa argumen untuk auto-konfigurasi dari prompt shell Anda |

150| `/stickers` | Pesan stiker Claude Code |153| `/stickers` | Pesan stiker Claude Code |

151| `/stop` | Hentikan [sesi latar belakang](/docs/id/agent-view) saat ini. Hanya tersedia saat terlampir ke sesi latar belakang; transkrip dan worktree apa pun disimpan. Untuk melepaskan tanpa menghentikan, gunakan `/exit` atau tekan `←` |154| `/stop` | Hentikan [sesi latar belakang](/docs/id/agent-view) saat ini. Hanya tersedia saat terlampir ke sesi latar belakang; transkrip dan worktree apa pun disimpan. Untuk melepaskan tanpa menghentikan, gunakan `/exit` atau tekan `←` |

152| `/subtask <task>` | Spawn [subagent bercabang](/docs/id/sub-agents#fork-the-current-conversation): subagent latar belakang yang mewarisi percakapan lengkap dan bekerja pada tugas saat Anda terus bekerja. Hasilnya kembali ke percakapan ini ketika selesai. Untuk menyalin percakapan ke sesi latar belakang terpisah sebagai gantinya, gunakan `/fork`. Memerlukan Claude Code v2.1.212 atau lebih baru; di v2.1.161 melalui v2.1.211 perintah ini adalah `/fork`. Ketika [tampilan agen dimatikan](/docs/id/agent-view#turn-off-agent-view), `/subtask` tidak tersedia dan `/fork` mempertahankan perilaku subagent bercabang |155| `/subtask <task>` | Spawn [subagent yang bercabang](/docs/id/sub-agents#fork-the-current-conversation): subagent latar belakang yang mewarisi percakapan lengkap dan bekerja pada tugas saat Anda terus bekerja. Hasilnya kembali ke percakapan ini ketika selesai. Untuk menyalin percakapan ke sesi latar belakang terpisah sebagai gantinya, gunakan `/fork`. Memerlukan Claude Code v2.1.212 atau lebih baru; pada v2.1.161 melalui v2.1.211 perintah ini adalah `/fork`. Ketika [tampilan agen dimatikan](/docs/id/agent-view#turn-off-agent-view), `/subtask` tidak tersedia dan `/fork` mempertahankan perilaku subagent yang bercabang |

153| `/tasks` | Lihat dan kelola pekerjaan latar belakang dalam sesi saat ini, termasuk subagent yang telah selesai. Juga tersedia sebagai `/bashes` |156| `/tasks` | Lihat dan kelola pekerjaan latar belakang dalam sesi saat ini, termasuk subagent yang telah selesai. Juga tersedia sebagai `/bashes` |

154| `/team-onboarding` | Hasilkan panduan onboarding tim dari riwayat penggunaan Claude Code Anda. Claude menganalisis sesi, perintah, dan penggunaan server MCP Anda dari 30 hari terakhir dan menghasilkan panduan markdown yang dapat ditempel rekan kerja sebagai pesan pertama untuk pengaturan cepat. Untuk pelanggan claude.ai di paket Pro, Max, Team, dan Enterprise, juga mengembalikan tautan bagikan yang dapat dibuka rekan kerja langsung di Claude Code |157| `/team-onboarding` | Hasilkan panduan onboarding tim dari riwayat penggunaan Claude Code Anda. Claude menganalisis sesi, perintah, dan penggunaan server MCP Anda dari 30 hari terakhir dan menghasilkan panduan markdown yang dapat ditempel rekan kerja sebagai pesan pertama untuk pengaturan cepat. Untuk pelanggan claude.ai di paket Pro, Max, Team, dan Enterprise, juga mengembalikan tautan bagikan yang dapat dibuka rekan kerja langsung di Claude Code |

155| `/teleport` | Tarik sesi [cloud](/docs/id/claude-code-on-the-web#from-cloud-to-terminal) ke terminal ini. Membuka pemilih, kemudian mengambil cabang dan percakapan. Juga tersedia sebagai `/tp`. Memerlukan langganan claude.ai |158| `/teleport` | Tarik [sesi cloud](/docs/id/claude-code-on-the-web#from-cloud-to-terminal) ke terminal ini. Membuka pemilih, kemudian mengambil cabang dan percakapan. Juga tersedia sebagai `/tp`. Memerlukan langganan claude.ai |

156| `/terminal-setup` | [Instal pintasan keyboard Shift+Enter untuk baris baru](/docs/id/terminal-config#enter-multiline-prompts) di VS Code, Cursor, Devin Desktop, Alacritty, atau Zed. Di Apple Terminal, [aktifkan Option+Enter untuk baris baru dan matikan bel audibel](/docs/id/terminal-config#enable-option-key-shortcuts-on-macos) sebagai gantinya. Di iTerm2, [aktifkan akses clipboard sehingga `/copy` berfungsi](/docs/id/terminal-config#enable-option-key-shortcuts-on-macos) |159| `/terminal-setup` | [Pasang pintasan keyboard Shift+Enter untuk baris baru](/docs/id/terminal-config#enter-multiline-prompts) di VS Code, Cursor, Devin Desktop, Alacritty, atau Zed. Di Apple Terminal, [aktifkan Option+Enter untuk baris baru dan matikan bel audibel](/docs/id/terminal-config#enable-option-key-shortcuts-on-macos) sebagai gantinya. Di iTerm2, [aktifkan akses clipboard sehingga `/copy` berfungsi](/docs/id/terminal-config#enable-option-key-shortcuts-on-macos) |

157| `/theme` | Ubah tema warna. Mencakup opsi `auto` yang cocok dengan latar belakang terang atau gelap terminal Anda, varian terang dan gelap, tema yang dapat diakses buta warna (daltonized), tema ANSI yang menggunakan palet warna terminal Anda, dan [tema kustom](/docs/id/terminal-config#create-a-custom-theme) apa pun dari `~/.claude/themes/` atau plugin. Pilih **Tema kustom baru…** untuk membuat satu |160| `/theme` | Ubah tema warna. Mencakup opsi `auto` yang cocok dengan latar belakang terang atau gelap terminal Anda, varian terang dan gelap, tema yang dapat diakses buta warna (daltonized), tema ANSI yang menggunakan palet warna terminal Anda, dan [tema kustom](/docs/id/terminal-config#create-a-custom-theme) apa pun dari `~/.claude/themes/` atau plugin. Pilih **Tema kustom baru…** untuk membuat satu |

158| `/tui [default\|fullscreen]` | Atur renderer UI terminal dan luncurkan ulang ke dalamnya dengan percakapan Anda tetap utuh. `fullscreen` mengaktifkan [renderer alt-screen bebas flicker](/docs/id/fullscreen). Tanpa argumen, mencetak renderer aktif |161| `/tui [default\|fullscreen]` | Atur renderer UI terminal dan luncurkan ulang ke dalamnya dengan percakapan Anda tetap utuh. `fullscreen` mengaktifkan [renderer alt-screen bebas flicker](/docs/id/fullscreen). Tanpa argumen, mencetak renderer aktif |

159| `/ultraplan <prompt>` | Dihapus. Gunakan [mode rencana](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) sebagai gantinya. Sebelumnya mengirim tugas perencanaan ke sesi [cloud](/docs/id/claude-code-on-the-web) untuk ditinjau di browser Anda |162| `/ultraplan <prompt>` | Dihapus. Gunakan [mode rencana](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) sebagai gantinya. Sebelumnya mengirim tugas perencanaan ke [sesi cloud](/docs/id/claude-code-on-the-web) untuk ditinjau di browser Anda |

160| `/ultrareview [PR or branch]` | Jalankan ulasan kode mendalam, multi-agen dalam sandbox cloud dengan [ultrareview](/docs/id/ultrareview). Berikan referensi PR untuk meninjau permintaan tarik itu, atau nama cabang atau commit untuk mengubah basis perbandingan. Invokasi yang disukai adalah `/code-review ultra`, dan `/ultrareview` adalah alias. Mencakup 3 jalankan gratis di Pro dan Max, kemudian memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |163| `/ultrareview [PR or branch]` | Jalankan tinjauan kode mendalam multi-agen dalam sandbox cloud dengan [ultrareview](/docs/id/ultrareview). Berikan referensi PR untuk meninjau permintaan tarik itu, atau cabang dasar atau commit untuk mengubah basis perbandingan. Invokasi yang disukai adalah `/code-review ultra`, dan `/ultrareview` adalah alias. Mencakup 3 jalankan gratis di Pro dan Max, kemudian memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

161| `/update-config [request]` | **[Skill](/docs/id/skills#bundled-skills).** Jelaskan perubahan pengaturan, seperti mengizinkan perintah, menetapkan variabel lingkungan, atau menambahkan [hook](/docs/id/hooks), dan Claude mengedit file [`settings.json`](/docs/id/settings) yang cocok. Untuk opsi seperti tema dan model, gunakan `/config` sebagai gantinya |164| `/update-config [request]` | **[Skill](/docs/id/skills#bundled-skills).** Jelaskan perubahan pengaturan, seperti mengizinkan perintah, menetapkan variabel lingkungan, atau menambahkan [hook](/docs/id/hooks), dan Claude mengedit file [`settings.json`](/docs/id/settings) yang cocok. Untuk opsi seperti tema dan model, gunakan `/config` sebagai gantinya |

162| `/upgrade` | Buka halaman upgrade di browser Anda untuk beralih ke tingkat paket yang lebih tinggi. Ketika browser gagal membuka, perintah menampilkan prompt masuk tanpa mencetak URL |165| `/upgrade` | Buka halaman upgrade di browser Anda untuk beralih ke tingkat paket yang lebih tinggi. Ketika browser gagal membuka, perintah menampilkan prompt masuk tanpa mencetak URL |

163| `/usage` | Tampilkan biaya sesi, batas penggunaan paket, dan statistik aktivitas. Di paket Pro, Max, Team, atau Enterprise, mencakup [rincian apa yang dihitung terhadap batas paket Anda](/docs/id/costs#plan-usage-breakdown). `/cost` dan `/stats` adalah alias |166| `/usage` | Tampilkan biaya sesi, batas penggunaan paket, dan statistik aktivitas. Pada paket Pro, Max, Team, atau Enterprise, mencakup [rincian apa yang dihitung terhadap batas paket Anda](/docs/id/costs#plan-usage-breakdown). `/cost` dan `/stats` adalah alias |

164| `/usage-credits` | Konfigurasi kredit penggunaan, atau minta dari admin Anda, ketika Anda mencapai batas. Membuka [pengaturan penagihan kredit penggunaan](/docs/id/costs#add-usage-credits-to-your-subscription) Anda di browser, kecuali anggota Team dan Enterprise tanpa akses penagihan malah mengirim permintaan kredit penggunaan ke admin mereka dari CLI, setelah mengonfirmasi dalam dialog bahwa permintaan memberi tahu admin mereka. Ketika tidak ada browser yang dapat membuka halaman penagihan, misalnya melalui SSH, perintah mencetak URL untuk dikunjungi sebagai gantinya; ini memerlukan Claude Code v2.1.205 atau lebih baru, dan versi sebelumnya tidak menunjukkan apa pun dalam kasus itu. Sebelumnya `/extra-usage` |167| `/usage-credits` | Konfigurasi kredit penggunaan, atau minta dari admin Anda, ketika Anda mencapai batas. Membuka [pengaturan penagihan kredit penggunaan](/docs/id/costs#add-usage-credits-to-your-subscription) Anda di browser, kecuali anggota Team dan Enterprise tanpa akses penagihan malah mengirim permintaan kredit penggunaan ke admin mereka dari CLI, setelah mengonfirmasi dalam dialog bahwa permintaan memberi tahu admin mereka. Ketika tidak ada browser yang dapat membuka halaman penagihan, misalnya melalui SSH, perintah mencetak URL untuk dikunjungi sebagai gantinya; ini memerlukan Claude Code v2.1.205 atau lebih baru, dan versi sebelumnya tidak menunjukkan apa pun dalam kasus itu. Sebelumnya `/extra-usage` |

165| `/verify` | **[Skill](/docs/id/skills#bundled-skills).** Konfirmasi perubahan kode melakukan apa yang seharusnya dengan membangun aplikasi proyek Anda, menjalankannya, dan mengamati hasilnya, daripada mengandalkan tes atau pemeriksaan tipe. Lihat [Jalankan dan verifikasi aplikasi Anda](/docs/id/skills#run-and-verify-your-app) |168| `/verify` | **[Skill](/docs/id/skills#bundled-skills).** Konfirmasi perubahan kode melakukan apa yang seharusnya dengan membangun aplikasi proyek Anda, menjalankannya, dan mengamati hasilnya, daripada mengandalkan tes atau pemeriksaan tipe. Lihat [Jalankan dan verifikasi aplikasi Anda](/docs/id/skills#run-and-verify-your-app) |

166| `/vim` | Dihapus di v2.1.92. Untuk beralih antara mode pengeditan Vim dan Normal, gunakan `/config` → Editor mode |169| `/vim` | Dihapus di v2.1.92. Untuk beralih antara mode pengeditan Vim dan Normal, gunakan `/config` → Mode editor |

167| `/voice [hold\|tap\|off]` | Alihkan [dikte suara](/docs/id/voice-dictation), atau aktifkan dalam mode tertentu. Memerlukan akun Claude.ai |170| `/voice [hold\|tap\|off]` | Alihkan [dikte suara](/docs/id/voice-dictation), atau aktifkan dalam mode spesifik. Memerlukan akun Claude.ai |

168| `/web-setup` | Hubungkan akun GitHub Anda ke [sesi cloud](/docs/id/web-quickstart#connect-from-your-terminal) menggunakan kredensial CLI `gh` lokal Anda |171| `/web-setup` | Hubungkan akun GitHub Anda untuk [sesi cloud](/docs/id/web-quickstart#connect-from-your-terminal) menggunakan kredensial CLI `gh` lokal Anda |

169| `/workflow-authoring` | **[Skill](/docs/id/skills#bundled-skills).** Muat referensi untuk menulis skrip [dynamic workflow](/docs/id/workflows): API skrip, perilaku resume, pola kualitas, dan contoh yang dikerjakan. Claude biasanya memuatnya sendiri sebelum menulis skrip; jalankan sendiri sebelum [mengedit skrip yang disimpan dengan tangan](/docs/id/workflows#edit-a-saved-script). Tersedia ketika alur kerja dinamis diaktifkan, dan memerlukan Claude Code v2.1.248 atau lebih baru |172| `/workflow-authoring` | **[Skill](/docs/id/skills#bundled-skills).** Muat referensi untuk menulis skrip [dynamic workflow](/docs/id/workflows): API skrip, perilaku resume, pola kualitas, dan contoh yang dikerjakan. Claude biasanya memuatnya dengan sendirinya sebelum menulis skrip; jalankan sendiri sebelum [mengedit skrip yang disimpan dengan tangan](/docs/id/workflows#edit-a-saved-script). Tersedia ketika alur kerja dinamis diaktifkan, dan memerlukan Claude Code v2.1.248 atau lebih baru |

170| `/workflows` | Buka tampilan [workflow](/docs/id/workflows#watch-the-run) untuk menonton, menjeda, melanjutkan, atau menyimpan alur kerja yang berjalan dan selesai |173| `/workflows` | Buka tampilan [workflow](/docs/id/workflows#watch-the-run) untuk menonton, menjeda, melanjutkan, atau menyimpan alur kerja yang berjalan dan selesai |

171 174 

172<h2 id="how-the-command-menu-matches-what-you-type">175<h2 id="how-the-command-menu-matches-what-you-type">

costs.md +2 −0

Details

96 96 

97Jalankan [`/insights`](/docs/id/commands#all-commands) untuk laporan tentang cara Anda bekerja daripada berapa banyak token yang telah Anda gunakan. Ini menganalisis sesi terbaru Anda di mesin ini dan menulis laporan HTML yang mencakup apa yang Anda kerjakan, titik gesekan seperti permintaan yang salah dipahami atau kode yang bermasalah, dan saran untuk menggunakan Claude Code lebih efektif. Satu kali jalankan menganalisis hingga 200 sesi yang belum pernah dilihat sebelumnya dan melewati yang sangat pendek. Ketika sesi ditinggalkan, header laporan menampilkan jumlah yang dianalisis dengan total dalam tanda kurung, misalnya `200 sessions (412 total)`.97Jalankan [`/insights`](/docs/id/commands#all-commands) untuk laporan tentang cara Anda bekerja daripada berapa banyak token yang telah Anda gunakan. Ini menganalisis sesi terbaru Anda di mesin ini dan menulis laporan HTML yang mencakup apa yang Anda kerjakan, titik gesekan seperti permintaan yang salah dipahami atau kode yang bermasalah, dan saran untuk menggunakan Claude Code lebih efektif. Satu kali jalankan menganalisis hingga 200 sesi yang belum pernah dilihat sebelumnya dan melewati yang sangat pendek. Ketika sesi ditinggalkan, header laporan menampilkan jumlah yang dianalisis dengan total dalam tanda kurung, misalnya `200 sessions (412 total)`.

98 98 

99Ketika [mode otomatis](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) tersedia untuk sesi dan sesi terbaru Anda sebagian besar berjalan tanpanya, laporan juga dapat menyertakan perkiraan berapa banyak prompt izin yang dapat ditangani mode otomatis di seluruh sesi tersebut.

100 

99Claude Code menulis laporan terbaru ke `~/.claude/usage-data/report.html` dan menyimpan salinan dengan stempel waktu dari setiap jalankan di direktori yang sama, jadi laporan sebelumnya tidak ditimpa. Claude Code menghapus laporan sesuai jadwal yang sama dengan sisa data sesi Anda: saat startup, ia menghapus file yang lebih lama dari [`cleanupPeriodDays`](/docs/id/claude-directory#cleaned-up-automatically), 30 hari secara default.101Claude Code menulis laporan terbaru ke `~/.claude/usage-data/report.html` dan menyimpan salinan dengan stempel waktu dari setiap jalankan di direktori yang sama, jadi laporan sebelumnya tidak ditimpa. Claude Code menghapus laporan sesuai jadwal yang sama dengan sisa data sesi Anda: saat startup, ia menghapus file yang lebih lama dari [`cleanupPeriodDays`](/docs/id/claude-directory#cleaned-up-automatically), 30 hari secara default.

100 102 

101Anda dapat menjalankan `/insights` pada paket apa pun dan dengan penyedia apa pun. Analisis berjalan melalui penyedia dan akun yang sama dengan sesi reguler Anda, dan token diperhitungkan terhadap penggunaan paket atau API Anda. Sesi dari perangkat lain dan claude.ai tidak disertakan.103Anda dapat menjalankan `/insights` pada paket apa pun dan dengan penyedia apa pun. Analisis berjalan melalui penyedia dan akun yang sama dengan sesi reguler Anda, dan token diperhitungkan terhadap penggunaan paket atau API Anda. Sesi dari perangkat lain dan claude.ai tidak disertakan.

desktop.md +9 −3

Details

89| **Manual** | `default` | Claude meminta izin sebelum mengedit file atau menjalankan perintah. Anda melihat diff dan dapat menerima atau menolak setiap perubahan. |89| **Manual** | `default` | Claude meminta izin sebelum mengedit file atau menjalankan perintah. Anda melihat diff dan dapat menerima atau menolak setiap perubahan. |

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

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

92| **Auto** | `auto` | Claude mengeksekusi semua tindakan dengan pemeriksaan keamanan latar belakang yang memverifikasi keselarasan dengan permintaan Anda. Mengurangi prompt izin sambil mempertahankan pengawasan. Muncul ketika [auto mode tersedia](#auto-mode-availability); tidak ada toggle Settings terpisah untuk itu. |92| **Auto** | `auto` | Claude berjalan tanpa prompt rutin; sebelum tindakan seperti perintah shell dan permintaan jaringan berjalan, classifier latar belakang memeriksa bahwa mereka selaras dengan permintaan Anda. Muncul ketika [auto mode tersedia](#auto-mode-availability); tidak ada toggle Settings terpisah untuk itu. |

93| **Bypass permissions** | `bypassPermissions` | Claude berjalan tanpa prompt izin, kecuali untuk [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves), safety classifiers ketika Claude [bertindak di situs eksternal](#browse-external-sites), atau tindakan desktop di mana Claude selalu meminta terlebih dahulu, seperti [mengarsipkan sesi](#work-across-sessions). Setara dengan `--dangerously-skip-permissions` di CLI. Di paket Pro dan Max, aktifkan di Settings → Claude Code Anda di bawah "Allow bypass permissions mode"; di paket Team dan Enterprise tidak ada toggle Settings, dan kebijakan organisasi mengontrolnya sebagai gantinya. Hanya gunakan ini di kontainer atau VM yang disandbox. |93| **Bypass permissions** | `bypassPermissions` | Claude berjalan tanpa prompt izin, kecuali untuk [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves), safety classifiers ketika Claude [bertindak di situs eksternal](#browse-external-sites), atau tindakan desktop di mana Claude selalu meminta terlebih dahulu, seperti [mengarsipkan sesi](#work-across-sessions). Setara dengan `--dangerously-skip-permissions` di CLI. Di paket Pro dan Max, aktifkan di Settings → Claude Code Anda di bawah "Allow bypass permissions mode"; di paket Team dan Enterprise tidak ada toggle Settings, dan kebijakan organisasi mengontrolnya sebagai gantinya. Hanya gunakan ini di kontainer atau VM yang disandbox. |

94 94 

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


496 496 

497Sesi lokal memuat personal skills Anda dari `~/.claude/skills/`. Sesi [SSH](#ssh-sessions) membaca `~/.claude/skills/` dari direktori home host jarak jauh, bukan dari mesin Anda.497Sesi lokal memuat personal skills Anda dari `~/.claude/skills/`. Sesi [SSH](#ssh-sessions) membaca `~/.claude/skills/` dari direktori home host jarak jauh, bukan dari mesin Anda.

498 498 

499Sesi lokal dan cloud juga memuat skills yang diaktifkan untuk akun claude.ai Anda. Sesi cloud memuatnya alih-alih `~/.claude/skills/`, seperti yang dijelaskan dalam [Skills in Cowork and cloud sessions](/docs/id/skills#skills-in-cowork-and-cloud-sessions).499Sesi lokal dan cloud juga memuat skills yang diaktifkan untuk akun claude.ai Anda, kecuali sesi lokal ketika organisasi Anda menetapkan [`disableSideloadFlags`](/docs/id/settings-reference#disablesideloadflags). Sesi cloud memuatnya alih-alih `~/.claude/skills/`, seperti yang dijelaskan dalam [Skills in Cowork and cloud sessions](/docs/id/skills#skills-in-cowork-and-cloud-sessions).

500 500 

501<h3 id="install-plugins">501<h3 id="install-plugins">

502 Instal plugins502 Instal plugins


506 506 

507Untuk sesi lokal dan [SSH](#ssh-sessions), klik tombol **+** di sebelah kotak prompt dan pilih **Plugins** untuk melihat plugins yang diinstal dan skills mereka. Untuk menambahkan plugin, pilih **Add plugin** dari submenu untuk membuka plugin browser, yang menampilkan plugins yang tersedia dari [marketplaces](/docs/id/plugins/overview) yang dikonfigurasi termasuk marketplace Anthropic resmi. Pilih **Manage plugins** untuk mengaktifkan, menonaktifkan, atau mencopot plugins.507Untuk sesi lokal dan [SSH](#ssh-sessions), klik tombol **+** di sebelah kotak prompt dan pilih **Plugins** untuk melihat plugins yang diinstal dan skills mereka. Untuk menambahkan plugin, pilih **Add plugin** dari submenu untuk membuka plugin browser, yang menampilkan plugins yang tersedia dari [marketplaces](/docs/id/plugins/overview) yang dikonfigurasi termasuk marketplace Anthropic resmi. Pilih **Manage plugins** untuk mengaktifkan, menonaktifkan, atau mencopot plugins.

508 508 

509Anda dapat membatasi plugins ke akun pengguna Anda, proyek tertentu, atau lokal saja. Jika organisasi Anda mengelola plugins secara terpusat, plugins tersebut tersedia di sesi desktop dengan cara yang sama seperti di CLI.509Anda dapat membatasi plugins ke akun pengguna Anda, proyek tertentu, atau lokal saja. Jika organisasi Anda mengelola plugins secara terpusat, plugins tersebut tersedia di sesi desktop dengan cara yang sama seperti di CLI, kecuali yang [ditahan aplikasi desktop di bawah `disableSideloadFlags`](/docs/id/settings-reference#disablesideloadflags).

510 510 

511Plugin browser tidak tersedia di sesi cloud, dan plugins yang Anda instal dari aplikasi desktop tidak tersedia untuk sesi cloud. Sesi cloud juga tidak memasang plugins yang dideklarasikan oleh `.claude/settings.json` repository, seperti yang dijelaskan dalam [What carries over from your setup](/docs/id/cloud-environments#what-carries-over-from-your-setup). Plugins tidak tersedia di sesi WSL. Untuk referensi plugin lengkap termasuk membuat plugins Anda sendiri, lihat [plugins](/docs/id/plugins/overview).511Plugin browser tidak tersedia di sesi cloud, dan plugins yang Anda instal dari aplikasi desktop tidak tersedia untuk sesi cloud. Sesi cloud juga tidak memasang plugins yang dideklarasikan oleh `.claude/settings.json` repository, seperti yang dijelaskan dalam [What carries over from your setup](/docs/id/cloud-environments#what-carries-over-from-your-setup). Plugins tidak tersedia di sesi WSL. Untuk referensi plugin lengkap termasuk membuat plugins Anda sendiri, lihat [plugins](/docs/id/plugins/overview).

512 512 


834* **Remote Control**: aktifkan atau nonaktifkan [Remote Control](/docs/id/remote-control) untuk organisasi Anda834* **Remote Control**: aktifkan atau nonaktifkan [Remote Control](/docs/id/remote-control) untuk organisasi Anda

835* **Disable Bypass permissions mode**: cegah pengguna di organisasi Anda dari mengaktifkan bypass permissions mode835* **Disable Bypass permissions mode**: cegah pengguna di organisasi Anda dari mengaktifkan bypass permissions mode

836 836 

837<Note>

838 Formulir OpenTelemetry untuk Cowork di bawah **Monitoring** dalam [Data and privacy settings](https://claude.ai/admin-settings/data-privacy-controls) konsol admin berlaku untuk sesi Cowork saja. Dalam sesi Cowork di mesin ini, aplikasi desktop meneruskan kolektor tersebut ke Claude Code sebagai variabel lingkungan `OTEL_*`, sehingga formulir berlaku meskipun Claude Code dalam sesi tersebut [tidak pernah mengambil pengaturan konsol admin](#managed-settings).

839 

840 Untuk mengekspor telemetri dari sesi Code tab, atur `CLAUDE_CODE_ENABLE_TELEMETRY` dan variabel `OTEL_*` dalam blok `env` dari pengaturan Claude Code yang dikelola Anda, seperti yang ditunjukkan dalam [administrator configuration for monitoring](/docs/id/monitoring-usage#administrator-configuration). Sesi lokal, cloud, dan SSH masing-masing membaca [managed settings dari sumber yang berbeda](#managed-settings). Untuk host yang dapat dijangkau sesi cloud, lihat [network access](/docs/id/cloud-environments#network-access). Untuk `service.name` yang dilaporkan sesi Code tab, lihat [service information](/docs/id/monitoring-usage#service-information).

841</Note>

842 

837<h3 id="managed-settings">843<h3 id="managed-settings">

838 Pengaturan yang dikelola844 Pengaturan yang dikelola

839</h3>845</h3>

Details

135 135 

136**Letakkan Claude sesuai jadwal.** Atur [scheduled tasks](/docs/id/desktop-scheduled-tasks) untuk menjalankan Claude secara otomatis secara berulang: tinjauan kode harian setiap pagi, audit dependensi mingguan, atau briefing yang menarik dari alat yang terhubung Anda.136**Letakkan Claude sesuai jadwal.** Atur [scheduled tasks](/docs/id/desktop-scheduled-tasks) untuk menjalankan Claude secara otomatis secara berulang: tinjauan kode harian setiap pagi, audit dependensi mingguan, atau briefing yang menarik dari alat yang terhubung Anda.

137 137 

138**Skalakan ketika Anda siap.** Buka [parallel sessions](/docs/id/desktop#work-in-parallel-with-sessions) dari sidebar untuk mengerjakan beberapa tugas sekaligus, masing-masing di worktree Git-nya sendiri, dan buka [tasks pane](/docs/id/desktop#watch-background-tasks) untuk menonton subagents dan perintah latar belakang yang sedang dijalankan sesi. Buka [side chat](/docs/id/desktop#ask-a-side-question-without-derailing-the-session) untuk mengajukan pertanyaan tanpa mengganggu thread utama. Kirim [long-running work to the cloud](/docs/id/desktop#run-long-running-tasks-in-the-cloud) sehingga terus berjalan bahkan jika Anda menutup aplikasi, atau [continue a session on the web or in your IDE](/docs/id/desktop#continue-in-another-surface) jika tugas memakan waktu lebih lama dari yang diharapkan. [Connect external tools](/docs/id/desktop#extend-claude-code) seperti GitHub, Slack, dan Linear untuk menyatukan alur kerja Anda.138**Skalakan ketika Anda siap.** Buka [sesi paralel](/docs/id/desktop#work-in-parallel-with-sessions) dari sidebar untuk mengerjakan beberapa tugas sekaligus, secara opsional masing-masing di worktree Git-nya sendiri, dan buka [pane tasks](/docs/id/desktop#watch-background-tasks) untuk menonton subagents dan perintah latar belakang yang sedang dijalankan sesi. Buka [side chat](/docs/id/desktop#ask-a-side-question-without-derailing-the-session) untuk mengajukan pertanyaan tanpa mengganggu thread utama. Kirim [pekerjaan jangka panjang ke cloud](/docs/id/desktop#run-long-running-tasks-in-the-cloud) sehingga terus berjalan bahkan jika Anda menutup aplikasi, atau [lanjutkan sesi di web atau di IDE Anda](/docs/id/desktop#continue-in-another-surface) jika tugas memakan waktu lebih lama dari yang diharapkan. [Hubungkan alat eksternal](/docs/id/desktop#extend-claude-code) seperti GitHub, Slack, dan Linear untuk menyatukan alur kerja Anda.

139 139 

140<h2 id="what’s-next">140<h2 id="what’s-next">

141 Apa selanjutnya141 Apa selanjutnya

env-vars.md +2 −2

Details

110 110 

111Beberapa perilaku memiliki baik variabel lingkungan maupun kunci pengaturan khusus, dan mana yang dibaca Claude Code terlebih dahulu berbeda per kunci. Untuk `ANTHROPIC_MODEL` dan `CLAUDE_CODE_AUTO_CONNECT_IDE`, Claude Code membaca variabel terlebih dahulu dan hanya menggunakan pengaturan `model` atau `autoConnectIde` ketika variabel tidak diatur. Untuk pasangan yang Anda atur, periksa baris variabel di bawah ini dan entri kunci pada [referensi pengaturan](/docs/id/settings-reference).111Beberapa perilaku memiliki baik variabel lingkungan maupun kunci pengaturan khusus, dan mana yang dibaca Claude Code terlebih dahulu berbeda per kunci. Untuk `ANTHROPIC_MODEL` dan `CLAUDE_CODE_AUTO_CONNECT_IDE`, Claude Code membaca variabel terlebih dahulu dan hanya menggunakan pengaturan `model` atau `autoConnectIde` ketika variabel tidak diatur. Untuk pasangan yang Anda atur, periksa baris variabel di bawah ini dan entri kunci pada [referensi pengaturan](/docs/id/settings-reference).

112 112 

113Ketika variabel yang sama diatur di shell Anda dan blok `env` file pengaturan, nilai file pengaturan berlaku. Claude Code menulis setiap entri `env` ke dalam lingkungan proses, menggantikan nilai yang diwarisi dari shell. [Pengaturan `env`](/docs/id/settings-reference#when-claude-code-applies-env-values) mengatakan kapan pengaturan tersebut diterapkan. Beberapa variabel adalah kasus khusus; [pengaturan `env`](/docs/id/settings-reference#env) mencantumkan pengecualiannya.113Ketika variabel yang sama diatur di shell Anda dan blok `env` file pengaturan, nilai file pengaturan berlaku di sebagian besar sesi. Claude Code menulis setiap entri `env` ke dalam lingkungan proses, menggantikan nilai yang diwarisi dari shell. [Bagaimana nilai `env` berinteraksi dengan shell Anda](/docs/id/settings-reference#how-env-values-interact-with-your-shell) mencakup sesi yang mempertahankan nilai yang diwarisi sebagai gantinya, dan [pengaturan `env`](/docs/id/settings-reference#when-claude-code-applies-env-values) mengatakan kapan pengaturan tersebut diterapkan. Beberapa variabel adalah kasus khusus; [pengaturan `env`](/docs/id/settings-reference#env) mencantumkan pengecualiannya.

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 


189| `ANTHROPIC_VERTEX_BASE_URL` | Ganti URL endpoint Google Cloud's Agent Platform. Gunakan untuk endpoint Google Cloud's Agent Platform khusus atau saat merutekan melalui [gateway LLM](/docs/id/llm-gateway). Lihat [Google Cloud's Agent Platform](/docs/id/google-vertex-ai) |189| `ANTHROPIC_VERTEX_BASE_URL` | Ganti URL endpoint Google Cloud's Agent Platform. Gunakan untuk endpoint Google Cloud's Agent Platform khusus atau saat merutekan melalui [gateway LLM](/docs/id/llm-gateway). Lihat [Google Cloud's Agent Platform](/docs/id/google-vertex-ai) |

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

191| `ANTHROPIC_WORKSPACE_ID` | ID Workspace untuk [federasi identitas beban kerja](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Atur ini ketika aturan federasi Anda mencakup lebih dari satu workspace sehingga pertukaran token tahu workspace mana yang ditargetkan |191| `ANTHROPIC_WORKSPACE_ID` | ID Workspace untuk [federasi identitas beban kerja](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Atur ini ketika aturan federasi Anda mencakup lebih dari satu workspace sehingga pertukaran token tahu workspace mana yang ditargetkan |

192| `API_FORCE_IDLE_TIMEOUT` | Ganti timeout idle badan 5 menit yang menghentikan respons model streaming ketika tidak ada byte yang tiba. Atur ke `0` untuk menonaktifkan timeout, misalnya ketika [gateway](/docs/id/llm-gateway) lambat atau model lokal berhenti lebih lama dari 5 menit antara chunk, atau `1` untuk menyimpannya untuk setiap penyedia. Ketika tidak diatur, timeout aktif di penyedia selain API Anthropic langsung dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws). [Watchdog aliran](/docs/id/network-config#streaming-idle-watchdogs) berjalan independen darinya dan menghentikan jeda senyap yang panjang bahkan ketika Anda menetapkan `0` di sini |192| `API_FORCE_IDLE_TIMEOUT` | Ganti timeout idle badan 5 menit yang menghentikan respons model streaming ketika tidak ada byte yang tiba. Atur ke `0` untuk menonaktifkan timeout, misalnya ketika [gateway](/docs/id/llm-gateway) lambat atau model lokal berhenti lebih lama dari 5 menit antara chunk, atau `1` untuk menyimpannya untuk setiap penyedia. Ketika tidak diatur, timeout aktif di penyedia selain API Anthropic langsung, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan Amazon Bedrock dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` diatur. [Watchdog aliran](/docs/id/network-config#streaming-idle-watchdogs) berjalan independen darinya dan menghentikan jeda senyap yang panjang bahkan ketika Anda menetapkan `0` di sini |

193| `API_TIMEOUT_MS` | Timeout untuk permintaan API dalam milidetik (default: 600000, atau 10 menit; maksimum: 2147483647). Tingkatkan ini ketika permintaan timeout di jaringan lambat atau saat merutekan melalui proxy. Nilai di atas maksimum meluap timer yang mendasar dan menyebabkan permintaan gagal segera |193| `API_TIMEOUT_MS` | Timeout untuk permintaan API dalam milidetik (default: 600000, atau 10 menit; maksimum: 2147483647). Tingkatkan ini ketika permintaan timeout di jaringan lambat atau saat merutekan melalui proxy. Nilai di atas maksimum meluap timer yang mendasar dan menyebabkan permintaan gagal segera |

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

195| `BASH_DEFAULT_TIMEOUT_MS` | Timeout default untuk perintah bash yang berjalan lama (default: 120000, atau 2 menit) |195| `BASH_DEFAULT_TIMEOUT_MS` | Timeout default untuk perintah bash yang berjalan lama (default: 120000, atau 2 menit) |

errors.md +239 −89

Details

96| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |96| `rejected the credential from its headersHelper` / `rejected the Authorization header in its config` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

97| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |97| `MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

98| `MCP server "<name>" requires re-authorization (token expired)` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |98| `MCP server "<name>" requires re-authorization (token expired)` | [Authentication](#mcp-server-needs-you-to-sign-in-again) |

99| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Authentication](#mcp-server-url-is-missing-or-not-a-valid-url) |

99| `Issuer mismatch in authorization response (RFC 9207)` | [Authentication](#issuer-mismatch-in-authorization-response) |100| `Issuer mismatch in authorization response (RFC 9207)` | [Authentication](#issuer-mismatch-in-authorization-response) |

101| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [Authentication](#refusing-to-send-credentials-to-non-https-token-endpoint) |

100| `Cloud gateway session expired — run /login to reconnect.` | [Authentication](#cloud-gateway-session-expired) |102| `Cloud gateway session expired — run /login to reconnect.` | [Authentication](#cloud-gateway-session-expired) |

101| `Cloud gateway <url> no longer accepts this session` | [Authentication](#cloud-gateway-session-expired) |103| `Cloud gateway <url> no longer accepts this session` | [Authentication](#cloud-gateway-session-expired) |

102| `Sign-in timed out while waiting for you to continue. Try again.` | [Authentication](#sign-in-timed-out-while-waiting-for-you-to-continue) |104| `Sign-in timed out while waiting for you to continue. Try again.` | [Authentication](#sign-in-timed-out-while-waiting-for-you-to-continue) |


152| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |154| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |

153| `Model ... is not a recognized model id` | [Request errors](#model-is-not-a-recognized-model-id) |155| `Model ... is not a recognized model id` | [Request errors](#model-is-not-a-recognized-model-id) |

154| `Model ... not found` | [Request errors](#model-not-found) |156| `Model ... not found` | [Request errors](#model-not-found) |

157| `Couldn't confirm model ... with the API` | [Request errors](#couldnt-confirm-model-with-the-api) |

155| `API error: ... · model not changed` | [Request errors](#api-error-model-not-changed) |158| `API error: ... · model not changed` | [Request errors](#api-error-model-not-changed) |

156| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |159| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |

157| `Claude Code ... does not support this model; version ... or newer is required` | [Request errors](#claude-code-does-not-support-this-model) |160| `Claude Code ... does not support this model; version ... or newer is required` | [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) |161| `Claude Code ... is older than the minimum version required by your organization's policy` | [Request errors](#claude-code-does-not-support-this-model) |

159| `Model ... is restricted by your organization's settings` | [Request errors](#model-is-restricted-by-your-organizations-settings) |162| `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) |163| `Model ... is not available. Your organization restricts model selection.` | [Request errors](#model-is-restricted-by-your-organizations-settings) |

164| `Can't switch to the default model` | [Request errors](#cant-switch-to-the-default-model) |

161| `Model switch ... blocked by a PreModelSwitch hook` | [Request errors](#model-switch-was-blocked-by-a-premodelswitch-hook) |165| `Model switch ... blocked by a PreModelSwitch hook` | [Request errors](#model-switch-was-blocked-by-a-premodelswitch-hook) |

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) |166| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Request errors](#couldnt-save-it-as-your-default) |

163| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |167| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |


201| `Cannot add MCP server to scope: managed` | [Command-line errors](#cannot-add-mcp-server-to-the-managed-scope) |205| `Cannot add MCP server to scope: managed` | [Command-line errors](#cannot-add-mcp-server-to-the-managed-scope) |

202| `is Anthropic-hosted and doesn't support local OAuth` | [Command-line errors](#anthropic-hosted-and-doesnt-support-local-oauth) |206| `is Anthropic-hosted and doesn't support local OAuth` | [Command-line errors](#anthropic-hosted-and-doesnt-support-local-oauth) |

203| `Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes` | [Command-line errors](#cant-read-mcp-json) |207| `Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes` | [Command-line errors](#cant-read-mcp-json) |

208| `MCP server "<name>" was not saved to` / `was not removed from` | [Command-line errors](#mcp-server-was-not-saved-or-removed) |

209| `MCP server "<name>" may not have been saved` / `may not have been removed` | [Command-line errors](#mcp-server-may-not-have-been-saved-or-removed) |

204| `Server rejected the Authorization header minted by the configured headersHelper` | [Command-line errors](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |210| `Server rejected the Authorization header minted by the configured headersHelper` | [Command-line errors](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |

205| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Command-line errors](#mcp-permission-prompt-tool-not-found) |211| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Command-line errors](#mcp-permission-prompt-tool-not-found) |

206| `OAuth callback port <port> is already in use — another process may be holding it` | [Command-line errors](#oauth-callback-port-is-already-in-use) |212| `OAuth callback port <port> is already in use — another process may be holding it` | [Command-line errors](#oauth-callback-port-is-already-in-use) |


219| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Command-line errors](#no-github-account-is-connected-to-your-claude-account) |225| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Command-line errors](#no-github-account-is-connected-to-your-claude-account) |

220| `Your connected GitHub account can't see <owner>/<repo>` | [Command-line errors](#your-connected-github-account-cant-see-the-repository) |226| `Your connected GitHub account can't see <owner>/<repo>` | [Command-line errors](#your-connected-github-account-cant-see-the-repository) |

221| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Command-line errors](#the-github-app-preflight-failed-transiently) |227| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Command-line errors](#the-github-app-preflight-failed-transiently) |

228| `Not uploading this working tree` dengan `the upload cannot follow that setting` | [Command-line errors](#the-repository-upload-cant-follow-a-git-setting) |

222| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Command-line errors](#github-isnt-connected-to-your-claude-account) |229| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Command-line errors](#github-isnt-connected-to-your-claude-account) |

223| `Single sign-on authorization needed` | [Command-line errors](#single-sign-on-authorization-needed) |230| `Single sign-on authorization needed` | [Command-line errors](#single-sign-on-authorization-needed) |

224| `Failed to resume the conversation` | [Command-line errors](#failed-to-resume-the-conversation) |231| `Failed to resume the conversation` | [Command-line errors](#failed-to-resume-the-conversation) |


252| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Plugin errors](#plugin-is-required-by-your-organization) |259| `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) |260| `"<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) |261| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Plugin errors](#plugin-was-not-uninstalled) |

262| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Plugin troubleshooting](/docs/id/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |

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

256| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |264| `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) |265| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |


727 The prompt to confirm went unanswered735 The prompt to confirm went unanswered

728</h3>736</h3>

729 737 

730Jika akun Anda memerlukan [Fable usage-credits consent](/docs/id/model-config#fable-and-usage-credits), Claude Code meminta Anda untuk mengonfirmasi sebelum permintaan Fable menagih usage credits. Ketika tidak ada yang menjawab prompt persetujuan itu dalam sesi yang mungkin tidak memiliki siapa pun di terminalnya, Claude Code menutup prompt dan mengakhiri giliran dengan salah satu pesan ini:738Jika akun Anda memerlukan [Fable usage-credits consent](/docs/id/model-config#fable-and-usage-credits), Claude Code meminta Anda untuk mengonfirmasi sebelum permintaan Fable menagih usage credits. Ketika prompt persetujuan ditutup tanpa ada yang menjawabnya, Claude Code mengakhiri giliran dengan salah satu pesan ini:

731 739 

732```text theme={null}740```text theme={null}

733Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change741Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change


736 744 

737Pesan menyebutkan model Fable sesi, jadi di Fable 5 mereka membaca `continuing on Fable 5` dan `Fable 5 now uses usage credits`. Sebelum v2.1.257, pesan pertama dimulai dengan `Fable 5 limit reached`.745Pesan menyebutkan model Fable sesi, jadi di Fable 5 mereka membaca `continuing on Fable 5` dan `Fable 5 now uses usage credits`. Sebelum v2.1.257, pesan pertama dimulai dengan `Fable 5 limit reached`.

738 746 

739Ini terjadi dalam sesi [Remote Control](/docs/id/remote-control), [background sessions](/docs/id/agent-view), dan sesi rekan tim [agent team](/docs/id/agent-teams). Claude Code menampilkan prompt persetujuan hanya dalam tampilan interaktif sesi sendiri: terminal tempat ia berjalan, atau, untuk sesi latar belakang, [agents view](/docs/id/agent-view) setelah Anda melampirkan. Klien Remote Control tidak dapat menampilkannya. Claude Code menutup prompt pada batas waktu [`dialogExpiry`](/docs/id/settings-reference#dialogexpiry), lima menit secara default, atau segera setelah prompt baru tiba sementara tidak ada yang mengetik di terminal itu, seperti prompt yang dikirim dari klien Remote Control. Mengetik di terminal tempat sesi berjalan membatalkan batas waktu, dan Claude Code menunggu jawaban Anda. Dalam tampilan terlampir sesi latar belakang, mengetik tidak membatalkan batas waktu, dan prompt baru masih menutup prompt persetujuan, jadi jawab sebelum salah satu terjadi. Claude Code tidak mengirim apa pun dan menjaga model Anda, jadi ketika Anda mengirim prompt berikutnya, Claude Code menampilkan prompt persetujuan lagi.747Ini terjadi dalam sesi [Remote Control](/docs/id/remote-control), [background sessions](/docs/id/agent-view), [agent team](/docs/id/agent-teams) sesi rekan tim, dan sesi yang aplikasi lain menghosting melalui Agent SDK. Untuk kapan Claude Code menutup prompt, lihat [Fable and usage credits](/docs/id/model-config#fable-and-usage-credits).

740 748 

741**Yang harus dilakukan:**749**Yang harus dilakukan:**

742 750 

743* Di terminal tempat sesi berjalan, kirim prompt lain dan jawab prompt persetujuan ketika muncul kembali. Untuk sesi latar belakang, lampirkan terlebih dahulu dari [agents view](/docs/id/agent-view). Mengirim ulang dari klien Remote Control menampilkan pesan ini lagi, karena klien tidak dapat menampilkan prompt.751* Di mana sesi berjalan, di terminal atau di aplikasi yang menghosting, kirim prompt lain dan jawab prompt persetujuan ketika muncul kembali. Untuk sesi latar belakang, lampirkan terlebih dahulu dari [agents view](/docs/id/agent-view). Mengirim ulang dari klien Remote Control menampilkan pesan ini lagi, karena klien tidak dapat menampilkan prompt.

744* Jalankan `/model` untuk beralih ke model yang tidak menagih usage credits752* Jalankan `/model` untuk beralih ke model yang tidak menagih usage credits

745* Untuk memberi diri Anda lebih banyak waktu untuk mencapai terminal itu, atur [`dialogExpiry`](/docs/id/settings-reference#dialogexpiry) ke nilai yang lebih lama atau `"never"`753* Untuk memberi diri Anda lebih banyak waktu, atur [`dialogExpiry`](/docs/id/settings-reference#dialogexpiry) ke nilai yang lebih lama atau `"never"`

746 754 

747Sebelum v2.1.236, pesan ini tidak muncul: sementara klien Remote Control terhubung, Claude Code menunggu 60 detik untuk jawaban dan kemudian melanjutkan giliran pada model default Anda.755Sebelum v2.1.236, pesan ini tidak muncul: sementara klien Remote Control terhubung, Claude Code menunggu 60 detik untuk jawaban dan kemudian melanjutkan giliran pada model default Anda.

748 756 


1495 1503 

1496Sebelum 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.1504Sebelum 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.

1497 1505 

1506<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">

1507 URL server MCP hilang atau bukan URL yang valid

1508</h3>

1509 

1510Claude Code menolak untuk memulai masuk OAuth untuk server MCP jarak jauh karena `url` server yang dikonfigurasi tidak diuraikan sebagai URL. Kecuali Claude Code memiliki masalah konfigurasi yang lebih spesifik untuk dilaporkan untuk server, menjalankan [`claude mcp login <name>`](/docs/id/mcp#authenticate-from-the-command-line) di shell Anda mencetak penolakan sebagai:

1511 

1512```text theme={null}

1513Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.

1514```

1515 

1516**Yang harus dilakukan:**

1517 

1518* Atur entri `url` ke titik akhir server yang sebenarnya tempat server dikonfigurasi, atau atur variabel lingkungan yang dirujuk [`${VAR}`](/docs/id/mcp#environment-variable-expansion-in-mcp-json)-nya, kemudian jalankan masuk lagi.

1519 

1498<h3 id="issuer-mismatch-in-authorization-response">1520<h3 id="issuer-mismatch-in-authorization-response">

1499 Ketidaksesuaian penerbit dalam respons otorisasi1521 Ketidaksesuaian penerbit dalam respons otorisasi

1500</h3>1522</h3>


1515 1537 

1516Sebelum v2.1.232, Claude Code menggunakan runtime v2 hanya dalam peluncuran bertahap atau ketika Anda menetapkan `MCP_SDK_GENERATION=v2`.1538Sebelum v2.1.232, Claude Code menggunakan runtime v2 hanya dalam peluncuran bertahap atau ketika Anda menetapkan `MCP_SDK_GENERATION=v2`.

1517 1539 

1540<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">

1541 Menolak mengirim kredensial ke titik akhir token non-https

1542</h3>

1543 

1544Pada [runtime v2](/docs/id/mcp#mcp-client-runtimes), Claude Code mengirim permintaan token [OAuth MCP](/docs/id/mcp#authenticate-with-remote-mcp-servers) hanya ke titik akhir token yang disajikan melalui HTTPS atau di `localhost`, `127.0.0.1`, atau `::1`. Pesan ini berarti titik akhir token server bukan keduanya, jadi Claude Code berhenti sebelum mengirim permintaan. Itu terjadi setelah masuk browser, jadi langkah browser berhasil terlebih dahulu, dan lagi setiap kali Claude Code menyegarkan token server.

1545 

1546Dalam bentuk lengkapnya, pesan berasal dari MCP SDK dan mengutip titik akhir token yang ditolaknya. Dalam log debug, itu mengikuti `Error during auth completion:` untuk masuk atau `Token refresh failed:` untuk penyegaran. Di shell Anda, `claude mcp login <name>` mencetaknya setelah `Couldn't complete authentication for "<name>":`, dan dalam sesi, `/mcp` menampilkannya di bawah menu server:

1547 

1548```text theme={null}

1549Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).

1550```

1551 

1552Claude Code memperlakukan URL server yang memiliki string kueri atau segmen jalur panjang yang terlihat acak sebagai kemungkinan rahasia. Untuk server seperti itu, itu menyunting kesalahan masuk yang dimunculkan MCP SDK sebelum ditampilkan atau dicatat. Kesalahan ini kemudian berbunyi sebagai nama pendek yang dapat berubah antar rilis, seperti `io`, diikuti oleh `from the MCP SDK for` dan URL server yang disunting. Kesalahan lain dari MCP SDK mengambil bentuk yang sama di sana. Pesan yang disunting hanya dapat menjadi kesalahan ini ketika titik akhir token server adalah `http://` biasa di alamat selain `localhost`, `127.0.0.1`, atau `::1`.

1553 

1554**Yang harus dilakukan:**

1555 

1556* Sajikan titik akhir token itu melalui HTTPS, misalnya dengan menempatkan server di belakang proxy terbalik atau terowongan yang menghentikan TLS dan mengonfigurasi server untuk mengiklankan alamat `https://`

1557* Untuk terhubung tanpa mengubah server, mulai Claude Code dengan [`MCP_SDK_GENERATION=v1`](/docs/id/env-vars), yang [runtime](/docs/id/mcp#mcp-client-runtimes)-nya tidak menerapkan aturan ini dan mengirim permintaan token melalui HTTP biasa. Pilihan itu berlangsung sampai Anda keluar dan berlaku untuk setiap server. Runtime v1 juga melewati [pemeriksaan penerbit](#issuer-mismatch-in-authorization-response), jadi lebih suka menyajikan titik akhir melalui HTTPS

1558 

1518<h3 id="aws-credentials-expired-or-invalid">1559<h3 id="aws-credentials-expired-or-invalid">

1519 Kredensial AWS kedaluwarsa atau tidak valid1560 Kredensial AWS kedaluwarsa atau tidak valid

1520</h3>1561</h3>


1937 1978 

1938* Buka rutinitas untuk pengeditan, atau mulai sesi cloud. Pilih ikon cloud yang menampilkan nama lingkungan Anda, seperti **Default**, untuk membuka pemilih. Arahkan ke lingkungan Anda dan klik ikon pengaturan.1979* Buka rutinitas untuk pengeditan, atau mulai sesi cloud. Pilih ikon cloud yang menampilkan nama lingkungan Anda, seperti **Default**, untuk membuka pemilih. Arahkan ke lingkungan Anda dan klik ikon pengaturan.

1939* Dalam dialog **Update cloud environment**, ubah **Network access** dari **Trusted** ke **Custom**, kemudian tambahkan domain yang diblokir ke **Allowed domains**. Masukkan satu domain per baris. Periksa **Also include default list of common package managers** untuk menyimpan [daftar izin default](/docs/id/cloud-environments#default-allowed-domains) bersama domain kustom Anda. Pilih **Full** sebagai gantinya jika Anda menginginkan akses tanpa batas.1980* Dalam dialog **Update cloud environment**, ubah **Network access** dari **Trusted** ke **Custom**, kemudian tambahkan domain yang diblokir ke **Allowed domains**. Masukkan satu domain per baris. Periksa **Also include default list of common package managers** untuk menyimpan [daftar izin default](/docs/id/cloud-environments#default-allowed-domains) bersama domain kustom Anda. Pilih **Full** sebagai gantinya jika Anda menginginkan akses tanpa batas.

1940* Klik **Save changes**. Jalankan berikutnya menggunakan daftar izin yang diperbarui.1981* Klik **Save changes**. Jalankan berikutnya menggunakan daftar izin yang diperbarui. Untuk sesi cloud yang sudah terbuka, lihat [kapan perubahan akses jaringan mencapai sesi yang ada](/docs/id/cloud-environments#network-access).

1941 1982 

1942Lihat [Akses jaringan](/docs/id/cloud-environments#network-access) untuk tingkat akses dan daftar izin default. Sesi CLI lokal tidak terpengaruh oleh kebijakan ini.1983Lihat [Akses jaringan](/docs/id/cloud-environments#network-access) untuk tingkat akses dan daftar izin default. Sesi CLI lokal tidak terpengaruh oleh kebijakan ini.

1943 1984 


2097 2138 

2098Amazon 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.2139Amazon 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.

2099 2140 

2100Gateway [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.2141Gateway [Claude apps](/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 yang sama dengan `Prompt is too long`. Sebelum v2.1.228, Claude Code tidak mengenali token, jadi auto-compact tidak dipicu.

2101 2142 

2102Ketika 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:2143Ketika 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:

2103 2144 


2112* Ketika tidak dapat merangkum seluruh pertukaran, Claude Code menyimpan prompt terbaru Anda kata demi kata dan merangkum semuanya sebelumnya.2153* Ketika tidak dapat merangkum seluruh pertukaran, Claude Code menyimpan prompt terbaru Anda kata demi kata dan merangkum semuanya sebelumnya.

2113* Dalam hal itu, ketika percakapan tidak berakhir dengan prompt Anda, Claude Code merangkum seluruh percakapan sebagai gantinya.2154* Dalam hal itu, ketika percakapan tidak berakhir dengan prompt Anda, Claude Code merangkum seluruh percakapan sebagai gantinya.

2114 2155 

2115Claude 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 mengalami kesalahan ini lagi di setiap giliran.2156Claude 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 mengalami kesalahan ini lagi pada setiap giliran.

2116 2157 

2117Percakapan 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:2158Percakapan 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:

2118 2159 


2120Prompt 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.2161Prompt 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.

2121```2162```

2122 2163 

2123Ketika API melaporkan jumlah token dalam kesalahannya, Claude Code membandingkannya dengan estimasi ukuran percakapannya sendiri 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:2164Ketika 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:

2124 2165 

2125```text theme={null}2166```text theme={null}

2126Prompt 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).2167Prompt 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).


2154Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.2195Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.

2155```2196```

2156 2197 

2157Ketika batas yang Anda lampaui adalah jendela pemadatan, seperti batas 200K pada model konteks 1M, peringatan berbunyi berbeda. Jendela pemadatan dapat berada di bawah jendela konteks model, jadi permintaan melampaui itu masih dapat berhasil.2198Ketika 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.

2158 2199 

2159```text theme={null}2200```text theme={null}

2160Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.2201Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.


2179Request 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.2220Request 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.

2180```2221```

2181 2222 

2182Ketika permintaan langsung ke API Claude 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:2223Ketika permintaan langsung ke Claude API 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:

2183 2224 

2184* `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 dihapus.2225* `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 dihapus.

2185* `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.2226* `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.

2186 2227 

2187Sebelum v2.1.212, percakapan dengan cukup banyak 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 pemadatan tidak dapat membantu.2228Sebelum v2.1.212, percakapan dengan cukup banyak 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.

2188 2229 

2189**Yang harus dilakukan:**2230**Yang harus dilakukan:**

2190 2231 


2204API Error: 400 ... image dimensions exceed max allowed size2245API Error: 400 ... image dimensions exceed max allowed size

2205```2246```

2206 2247 

2207Claude 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 di setiap pesan berikutnya. Untuk pulih pada versi tersebut, tekan Esc dua kali dan mundur melampaui giliran tempat gambar ditambahkan.2248Claude 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.

2208 2249 

2209**Yang harus dilakukan:**2250**Yang harus dilakukan:**

2210 2251 

2211* 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.2252* 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.

2212* Ambil tangkapan layar yang lebih ketat dari wilayah yang relevan bukan layar penuh2253* Ambil tangkapan layar lebih ketat dari wilayah yang relevan bukan layar penuh

2213 2254 

2214<h3 id="unable-to-resize-image">2255<h3 id="unable-to-resize-image">

2215 Tidak dapat mengubah ukuran gambar2256 Tidak dapat mengubah ukuran gambar


2233 2274 

2234* 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.2275* 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.

2235* Jika pesan melaporkan batas dimensi atau ukuran, ubah ukuran atau kompres ulang gambar di bawah batas itu sebelum melampirkan.2276* Jika pesan melaporkan batas dimensi atau ukuran, ubah ukuran atau kompres ulang gambar di bawah batas itu sebelum melampirkan.

2236* 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.2277* Jika pesan menyebutkan penyebab, seperti JPEG CMYK, WebP animasi, atau file yang mungkin rusak, simpan ulang gambar dalam format yang pesan sarankan dan lampirkan lagi.

2237 2278 

2238<h3 id="pdf-errors">2279<h3 id="pdf-errors">

2239 Kesalahan PDF2280 Kesalahan PDF

2240</h3>2281</h3>

2241 2282 

2242PDF yang Anda lampirkan tidak dapat diproses. Pesan ditampilkan di sini dalam bentuk non-interaktif mereka; dalam sesi interaktif mereka malah meminta Anda untuk tekan esc dua kali dan coba lagi.2283PDF yang Anda lampirkan tidak dapat diproses. Pesan ditampilkan di sini dalam bentuk non-interaktif mereka; dalam sesi interaktif mereka malah meminta Anda untuk menekan esc dua kali dan coba lagi.

2243 2284 

2244```text theme={null}2285```text theme={null}

2245PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).2286PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).


2258pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.2299pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.

2259```2300```

2260 2301 

2261Pembacaan rentang halaman merender halaman dengan `pdftoppm`. Instal poppler-utils dengan perintah yang diberikan pesan, atau pada platform lain build poppler yang menempatkan `pdftoppm` di `PATH` Anda. Lihat [Perilaku alat Read](/docs/id/tools-reference#read-tool-behavior) untuk PDF mana yang dibaca berdasarkan rentang halaman.2302Pembacaan rentang halaman merender halaman dengan `pdftoppm`. Instal poppler-utils dengan perintah yang pesan berikan, atau pada platform lain bangun poppler yang menempatkan `pdftoppm` di `PATH` Anda. Lihat [Perilaku alat Read](/docs/id/tools-reference#read-tool-behavior) untuk PDF mana yang dibaca berdasarkan rentang halaman.

2262 2303 

2263<h3 id="extra-inputs-are-not-permitted">2304<h3 id="extra-inputs-are-not-permitted">

2264 Input tambahan tidak diizinkan2305 Input tambahan tidak diizinkan


2288API Error: 400 ... tools.N.custom.input_schema.properties: Property keys should match pattern '^[a-zA-Z0-9_.-]{1,64}$'2329API Error: 400 ... tools.N.custom.input_schema.properties: Property keys should match pattern '^[a-zA-Z0-9_.-]{1,64}$'

2289```2330```

2290 2331 

2291Bentuk pertama berarti skema bukan JSON Schema draft 2020-12 yang valid. Bentuk kedua berarti nama properti tingkat atas tidak cocok dengan pola yang dikutip pesan.2332Bentuk pertama berarti skema bukan JSON Schema draft 2020-12 yang valid. Bentuk kedua berarti nama properti tingkat atas tidak cocok dengan pola yang pesan kutip.

2292 2333 

2293Claude Code [mengecualikan alat MCP yang skema inputnya akan gagal validasi ini](/docs/id/mcp#tools-with-invalid-input-schemas) ketika memuat alat server, jadi permintaan biasanya tidak pernah menyertakan satu.2334Claude 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.

2294 2335 

2295Pada [deployment tempat 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.2336Pada [penerapan 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.

2296 2337 

2297Kesalahan 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.2338Kesalahan 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.

2298 2339 

2299Sebelum v2.1.216, tidak ada deployment yang menjalankan pemeriksaan pengecualian.2340Sebelum v2.1.216, tidak ada penerapan yang menjalankan pemeriksaan pengecualian.

2300 2341 

2301**Yang harus dilakukan:**2342**Yang harus dilakukan:**

2302 2343 

2303* Jika versi Claude Code Anda lebih awal dari v2.1.216, jalankan `claude update`.2344* Jika versi Claude Code Anda lebih awal dari v2.1.216, jalankan `claude update`.

2304* 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 inputnya akan ditolak. Jika tidak ada log yang menyebutkan satu, nonaktifkan server satu per satu.2345* 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.

2305* 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).2346* Jika Anda memelihara server, perbaiki `input_schema` alat. Skema harus berupa JSON Schema yang valid, dan nama properti tingkat atas harus panjang 1 hingga 64 karakter dan hanya menggunakan huruf ASCII dan angka, `_`, `.`, dan `-`. Lihat [Alat dengan skema input tidak valid](/docs/id/mcp#tools-with-invalid-input-schemas).

2306 2347 

2307<h3 id="tool-use-name-over-200-characters">2348<h3 id="tool-use-name-over-200-characters">

2308 tool\_use.name lebih dari 200 karakter2349 tool\_use.name lebih dari 200 karakter

2309</h3>2350</h3>

2310 2351 

2311Panggilan alat dalam riwayat percakapan membawa nama lebih panjang dari 200 karakter yang diterima API dalam permintaan:2352Panggilan alat dalam riwayat percakapan membawa nama yang lebih panjang dari 200 karakter yang API terima dalam permintaan:

2312 2353 

2313```text theme={null}2354```text theme={null}

2314API Error: 400 ... tool_use.name: String should have at most 200 characters2355API Error: 400 ... tool_use.name: String should have at most 200 characters

2315```2356```

2316 2357 

2317Claude 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.2358Claude Code memotong nama tersebut 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.

2318 2359 

2319**Yang harus dilakukan:**2360**Yang harus dilakukan:**

2320 2361 


2334 2375 

2335**Yang harus dilakukan:**2376**Yang harus dilakukan:**

2336 2377 

2337* **CLI interaktif**: jalankan `/model` untuk memilih dari model yang tersedia untuk akun Anda.2378* **CLI Interaktif**: jalankan `/model` untuk memilih dari model yang tersedia untuk akun Anda.

2338* **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.2379* **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.

2339* **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 model Anda sendiri.2380* **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 model Anda sendiri.

2340* 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).2381* 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).

2341* 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.2382* 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.

2342* 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.2383* Claude Code melaporkan login claude.ai yang kedaluwarsa sebagai [Login kedaluwarsa](#login-expired), bukan sebagai kesalahan ini. Sebelum v2.1.206, login yang kedaluwarsa yang tidak lagi dapat disegarkan gagal di setiap model dengan kesalahan ini; jalankan `/login` jika Anda melihat itu pada versi yang lebih lama.

2343* Untuk deployment Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](/docs/id/google-vertex-ai#troubleshooting).2384* Untuk penerapan Google Cloud's Agent Platform, lihat [Pemecahan masalah Google Cloud's Agent Platform](/docs/id/google-vertex-ai#troubleshooting).

2344 2385 

2345<h3 id="model-is-not-a-recognized-model-id">2386<h3 id="model-is-not-a-recognized-model-id">

2346 Model bukan ID model yang dikenali2387 Model bukan ID model yang dikenali

2347</h3>2388</h3>

2348 2389 

2349String model yang Anda teruskan ke sakelar model bukan alias model, ID model yang diketahui versi Claude Code ini, atau ID yang dimulai dengan `claude-`. Penyebab biasanya adalah kesalahan ketik dalam ID, nama tampilan seperti `Sonnet 5` di mana ID `claude-sonnet-5` diharapkan, atau alias yang hanya dikenali versi Claude Code yang lebih baru. Claude Code menolak sakelar segera. Sebelum v2.1.200, Claude Code menyimpan string dan gagal pada permintaan berikutnya dengan [Ada masalah dengan model yang dipilih](#theres-an-issue-with-the-selected-model).2390String yang Anda teruskan ke sakelar model bukan yang dapat Claude Code gunakan sebagai model, jadi menolak sakelar tanpa mengirim permintaan dan sesi menyimpan model saat ini. Anda dapat mendapatkan kesalahan ini ketika model diatur melalui metode [`setModel()`](/docs/id/agent-sdk/typescript) Agent SDK, oleh aplikasi yang menjalankan Claude Code CLI untuk Anda, seperti [Aplikasi Desktop](/docs/id/desktop), atau ketika Anda memilih model dari perangkat yang terhubung melalui [Remote Control](/docs/id/remote-control). Sebelum v2.1.200, Claude Code menyimpan string dan gagal pada permintaan berikutnya dengan [Ada masalah dengan model yang dipilih](#theres-an-issue-with-the-selected-model).

2350 2391 

2351```text theme={null}2392```text theme={null}

2352Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?2393Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'?

2353```2394```

2354 2395 

2355Petunjuk 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 no-match berbunyi `Switch to a different model.`2396Dalam contoh ini aplikasi mengirim nama tampilan `Sonnet 5`, yang pesan ulangi tanpa spasi-nya. Petunjuk 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 [Aplikasi Desktop](/docs/id/desktop) mulai untuk Anda, petunjuk no-match berbunyi `Switch to a different model.`

2356 2397 

2357Claude 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).2398Ketika Anda beralih melalui Agent SDK atau aplikasi di Anthropic API, hanya string yang tidak dapat menjadi ID model mendapatkan kesalahan ini, seperti nama tampilan atau string kosong.

2399 

2400Ketika Anda memilih model dari perangkat Remote Control, Claude Code memeriksa string secara lokal. String apa pun yang bukan alias model, model yang Claude Code daftar atau Anda konfigurasikan, atau ID yang dimulai dengan `claude-` mendapatkan kesalahan ini, ID yang salah ketik seperti `claud-sonnet-5` disertakan. Sebelum v2.1.260, pemeriksaan ini tidak mencakup pilihan Remote Control, jadi string yang tidak dikenali diterapkan dan gagal pada permintaan berikutnya.

2358 2401 

2359**Yang harus dilakukan:**2402**Yang harus dilakukan:**

2360 2403 

2361* Jalankan `/model` tanpa argumen untuk membuka pemilih dan pilih dari model yang tersedia untuk akun Anda, lalu teruskan alias atau ID yang ditampilkan di sana2404* Jalankan `/model` tanpa argumen untuk membuka pemilih dan pilih dari model yang tersedia untuk akun Anda, lalu teruskan alias atau ID yang ditampilkan di sana

2362* 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).2405* Jika Anda menggunakan alias yang hanya versi Claude Code yang lebih baru dukung, jalankan `claude update`, atau teruskan ID model lengkap sebagai gantinya. Server masih dapat memerlukan versi Claude Code minimum untuk model itu; lihat [Claude Code tidak mendukung model ini](#claude-code-does-not-support-this-model).

2363* 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).2406* 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).

2364* Pemeriksaan hanya berjalan pada 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 tidak dikenali](#unrecognized-model-id-on-a-request) pada waktu permintaan, pada setiap penyedia.2407* Pada penyedia apa pun selain Anthropic API, atau di belakang gateway atau `ANTHROPIC_BASE_URL` kustom, hanya string kosong yang mendapatkan kesalahan ini. Claude Code masih dapat menulis [baris diagnostik model yang tidak dikenali](#unrecognized-model-id-on-a-request) pada waktu permintaan, di setiap penyedia.

2365 2408 

2366<h3 id="model-not-found">2409<h3 id="model-not-found">

2367 Model tidak ditemukan2410 Model tidak ditemukan

2368</h3>2411</h3>

2369 2412 

2370Anda 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 diterima Claude Code 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.2413Anda beralih ke model berdasarkan nama 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, Claude Code memverifikasinya dengan permintaan API minimal, dan kesalahan ini biasanya jawaban titik akhir API Anda. Dengan `/model <name>`, nama yang tidak dapat menjadi ID model sama sekali, seperti yang berisi spasi, mendapatkan pesan yang sama.

2371 2414 

2372```text theme={null}2415```text theme={null}

2373Model 'claude-opus-9' not found2416Model 'claude-opus-9' not found


2378**Yang harus dilakukan:**2421**Yang harus dilakukan:**

2379 2422 

2380* 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 dipertahankan2423* 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

2381* Jika Anda mengetik ID lengkap, periksakan terhadap katalog model penyedia Anda. Model yang baru diluncurkan dapat tersedia di API Anthropic sebelum penyedia atau wilayah Anda menawarkannya.2424* Jika Anda mengetik ID lengkap, periksakan terhadap katalog model penyedia Anda. Model yang baru diluncurkan dapat tersedia di Anthropic API sebelum penyedia atau wilayah Anda menawarkannya.

2382* Sebelum v2.1.265, `/model` juga menolak ejaan alias `opusplan[1m]` dengan kesalahan ini. Pada versi tersebut, perbarui Claude Code, atau atur model dalam [pengaturan](/docs/id/model-config#setting-your-model) atau dengan `--model` sebagai gantinya.2425* Dalam Agent SDK, `setModel()` gagal dengan pesan ini dan sesi terus berjalan pada model sebelumnya. Dalam SDK TypeScript, panggil [`supportedModels()`](/docs/id/agent-sdk/typescript#query-object) untuk membuat daftar model yang dapat Anda alihkan.

2426* 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.

2427 

2428<h3 id="couldnt-confirm-model-with-the-api">

2429 Tidak dapat mengkonfirmasi model dengan API

2430</h3>

2431 

2432Anda beralih model melalui metode [`setModel()`](/docs/id/agent-sdk/typescript) Agent SDK atau aplikasi yang menjalankan Claude Code CLI untuk Anda, seperti [Aplikasi Desktop](/docs/id/desktop), dan permintaan yang mengkonfirmasi ID model dengan titik akhir API Anda tidak mendapat jawaban dalam lima detik. Sesi menyimpan model saat ini.

2433 

2434```text theme={null}

2435Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models.

2436```

2437 

2438Dalam sesi yang [Aplikasi Desktop](/docs/id/desktop) mulai untuk Anda, pesan berakhir di `Try again.`

2439 

2440**Yang harus dilakukan:**

2441 

2442* Alihkan ke model lagi

2443* Jika sakelar terus gagal, periksa bahwa Claude Code dapat menjangkau titik akhir API Anda; lihat [Kesalahan jaringan dan koneksi](#network-and-connection-errors)

2383 2444 

2384<h3 id="api-error-model-not-changed">2445<h3 id="api-error-model-not-changed">

2385 Kesalahan API saat memeriksa model yang dipilih2446 Kesalahan API saat memeriksa model yang dipilih

2386</h3>2447</h3>

2387 2448 

2388Anda memilih model dengan `/model <name>`, atau aplikasi yang terhubung ke sesi meminta sakelar. API menolak permintaan minimal yang Claude Code kirim untuk memverifikasi model, karena alasan yang tidak memiliki entri sendiri, seperti batas laju atau kesalahan server. Sesi menyimpan model saat ini, dan pesan berakhir dengan mengatakan demikian:2449Anda 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:

2389 2450 

2390```text theme={null}2451```text theme={null}

2391API error: 429 <the server's explanation> · model not changed2452API error: 429 <the server's explanation> · model not changed


2408Claude 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.2469Claude 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.

2409```2470```

2410 2471 

2411Dalam sesi yang dijalankan Claude Desktop app, pesan mengatakan untuk `sign out and sign in again` bukan menyebutkan perintah.2472Dalam sesi yang aplikasi Claude Desktop jalankan, pesan mengatakan untuk `sign out and sign in again` bukan menyebutkan perintah.

2412 2473 

2413**Yang harus dilakukan:**2474**Yang harus dilakukan:**

2414 2475 

2415* Jalankan `/model` dan pilih model yang disertakan paket Anda2476* Jalankan `/model` dan pilih model yang paket Anda sertakan

2416* Jika Anda baru-baru ini meningkatkan paket dan masih melihat ini, jalankan `/logout` lalu `/login`. Token yang disimpan mencerminkan paket Anda pada saat Anda masuk, jadi meningkatkan di claude.ai tidak berlaku dalam sesi yang ada sampai Anda mengotentikasi ulang.2477* Jika Anda baru-baru ini meningkatkan paket dan masih melihat ini, jalankan `/logout` lalu `/login`. Token yang disimpan mencerminkan paket Anda pada saat Anda masuk, jadi meningkatkan di claude.ai tidak berlaku dalam sesi yang ada sampai Anda autentikasi ulang.

2417* Lihat [claude.com/pricing](https://claude.com/pricing) untuk model mana yang disertakan setiap paket2478* Lihat [claude.com/pricing](https://claude.com/pricing) untuk model mana yang setiap paket sertakan

2418 2479 

2419<h3 id="claude-code-does-not-support-this-model">2480<h3 id="claude-code-does-not-support-this-model">

2420 Claude Code tidak mendukung model ini2481 Claude Code tidak mendukung model ini

2421</h3>2482</h3>

2422 2483 

2423API 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.2484API 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.

2424 2485 

2425```text theme={null}2486```text theme={null}

2426API 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.2487API 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.


2432API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.2493API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.

2433```2494```

2434 2495 

2496Versi yang API periksa adalah yang dilaporkan oleh biner Claude Code yang membuat permintaan.

2497 

2435**Yang harus dilakukan:**2498**Yang harus dilakukan:**

2436 2499 

2437* Jalankan `claude update`, atau perbarui Claude desktop app, lalu mulai sesi baru2500Perbarui biner itu, lalu mulai sesi baru. Tempat biner berasal menentukan bagaimana, kecuali dalam [lingkungan yang di-host sendiri](/docs/id/self-hosted-environments-deploy#pin-the-version):

2438* Untuk pesan per-model, Anda dapat terus bekerja dalam sesi saat ini dengan beralih ke model lain dengan `/model`2501 

2502| Biner yang membuat permintaan | Cara memperbarui |

2503| :- | :- |

2504| Claude Code yang Anda instal | Jalankan `claude update` |

2505| Aplikasi desktop Claude | Perbarui aplikasi |

2506| Biner yang [ekstensi VS Code](/docs/id/vs-code) bundel | Perbarui ekstensi |

2507| Biner yang paket Agent SDK bundel | [Tingkatkan paket SDK](/docs/id/agent-sdk/hosting#runtime-dependencies), lalu mulai ulang aplikasi Anda. Dalam [executable file tunggal yang dikompilasi](/docs/id/agent-sdk/typescript#compile-to-a-single-executable), bangun ulang |

2508 

2509* Untuk pesan per-model, Anda dapat terus bekerja dalam sesi saat ini dengan beralih ke model lain: jalankan `/model` di CLI, panggil [`setModel()`](/docs/id/agent-sdk/typescript#query-object) pada objek `Query` SDK TypeScript dalam mode input streaming, atau panggil [`set_model()`](/docs/id/agent-sdk/python#claudesdkclient) pada `ClaudeSDKClient` SDK Python

2439* Untuk pesan kebijakan organisasi, perbarui sebelum Anda melanjutkan2510* Untuk pesan kebijakan organisasi, perbarui sebelum Anda melanjutkan

2440 2511 

2441<h3 id="model-is-restricted-by-your-organizations-settings">2512<h3 id="model-is-restricted-by-your-organizations-settings">

2442 Model dibatasi oleh pengaturan organisasi Anda2513 Model dibatasi oleh pengaturan organisasi Anda

2443</h3>2514</h3>

2444 2515 

2445Admin 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 itu 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.2516Admin 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 sesi jalankan di konsol admin claude.ai.

2446 2517 

2447```text theme={null}2518```text theme={null}

2448Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.2519Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.

2449```2520```

2450 2521 

2451Mengetik `/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 dikecualikan pengaturan terkelola, itu berbunyi `Model '<name>' is not available. Your organization restricts model selection.`2522Mengetik `/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.`

2452 2523 

2453Pemberitahuan dengan awalan nama agen, skill, atau perintah berarti pembatasan diterapkan pada [model yang diminta subagent](/docs/id/sub-agents#choose-a-model): subagent berjalan pada model yang disubstitusi dan model sesi Anda tidak berubah. Sebelum v2.1.223, Claude Code menampilkan pemberitahuan hanya untuk subagent yang diluncurkan dengan alat Agent.2524Pemberitahuan 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.

2454 2525 

2455Claude Code memperlakukan alias keluarga model, salah satu dari `opus`, `sonnet`, `haiku`, atau `fable`, sebagai permintaan untuk keluarga itu bukan untuk versi terbarunya. Pada 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 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 yang lebih lama dari keluarga yang sama diizinkan.2526Claude 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 pengaturan organisasi Anda izinkan, 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 yang lebih lama dari keluarga yang sama diizinkan.

2456 2527 

2457**Yang harus dilakukan:**2528**Yang harus dilakukan:**

2458 2529 

2459* Jalankan `/model` untuk memilih dari model yang diizinkan organisasi Anda. Model yang dibatasi disembunyikan dari pemilih.2530* Jalankan `/model` untuk memilih dari model yang organisasi Anda izinkan. Model yang dibatasi disembunyikan dari pemilih.

2460* Jika model yang dibatasi diatur dalam `--model`, `ANTHROPIC_MODEL`, bidang `model` file pengaturan, atau frontmatter `model` dari [subagent](/docs/id/sub-agents#choose-a-model), skill, atau perintah, hapus atau perbarui nilai itu sehingga pemberitahuan tidak berulang2531* 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

2461* 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).2532* 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).

2462 2533 

2534<h3 id="cant-switch-to-the-default-model">

2535 Tidak dapat beralih ke model default

2536</h3>

2537 

2538Anda memilih model Default, misalnya dengan memilih baris Default di pemilih `/model` atau mengetik `/model default`. Claude Code menolak sakelar, jadi sesi menyimpan model saat ini.

2539 

2540```text theme={null}

2541Can't switch to the default model: your organization's managed settings block it (claude-opus-4-6) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".

2542```

2543 

2544Pesan setelah titik dua menyebutkan apa yang memblokir sakelar:

2545 

2546* **`your organization's managed settings block it ... in "deniedModels"`**: daftar deny terkelola memblokir model yang opsi Default selesaikan

2547* **`your organization allows only the models listed in "availableModels"`**: daftar allowlist [`availableModels`](/docs/id/model-config#restrict-model-selection) terkelola dengan [`availableModelsMatch`](/docs/id/settings-reference#availablemodelsmatch) diatur ke `"exact"` meninggalkan model yang opsi Default selesaikan

2548* **`Claude Code couldn't read your organization's managed settings to check which models they allow`**: [pengaturan terkelola](/docs/id/managed-settings) tidak dapat dibaca, dan Claude Code menolak sakelar bukan menerapkannya tanpa diperiksa

2549 

2550**Yang harus dilakukan:**

2551 

2552* Untuk pesan [`deniedModels`](/docs/id/settings-reference#deniedmodels) dan `availableModels`, jalankan `/model` dan pilih model yang organisasi Anda izinkan berdasarkan nama

2553* Minta administrator Anda untuk memperbarui pengaturan terkelola yang pesan sebutkan

2554* Untuk pesan `couldn't read`, mulai ulang Claude Code; jika terus terjadi, minta administrator Anda untuk memeriksa pengaturan terkelola

2555 

2556Jika sesi malah gagal dimulai dengan pesan `Claude Code can't start` di bawah pengaturan terkelola ini, lihat [Pengaturan terkelola memblokir model default](#managed-settings-block-the-default-model).

2557 

2463<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">2558<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">

2464 Sakelar model diblokir oleh hook PreModelSwitch2559 Sakelar model diblokir oleh hook PreModelSwitch

2465</h3>2560</h3>


2472 2567 

2473Alasan setelah titik dua mengatakan apa yang menolak sakelar:2568Alasan setelah titik dua mengatakan apa yang menolak sakelar:

2474 2569 

2475* **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.2570* **Alasan yang hook tulis**: hook PreModelSwitch memasok alasan itu ketika [menolak sakelar atau meminta konfirmasi](/docs/id/hooks#premodelswitch-decision-control). Tangani apa yang dimintanya, atau pilih model yang hook Anda izinkan.

2476* **`PreModelSwitch hook <name> did not respond before its timeout`**: hook yang tidak menjawab sebelum [timeout](/docs/id/hooks#timeouts) memblokir sakelar. Perbaiki perintah yang menggantung atau naikkan `timeout` hook itu, lalu sakelar lagi.2571* **`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, lalu alihkan lagi.

2477* **`confirmation required, and this session cannot ask`**: hook menjawab `ask` tanpa alasan, dan permintaan kontrol tidak memiliki cara untuk menampilkan prompt konfirmasi. Sesi [`-p` run](/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.2572* **`confirmation required, and this session cannot ask`**: hook menjawab `ask` tanpa alasan, dan permintaan kontrol tidak memiliki cara untuk menampilkan prompt konfirmasi. Jalankan `/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.

2478* **`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, lalu perbaiki plugin atau minta admin Anda memperbaikinya.2573* **`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 tanpa 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 alihkan lagi untuk menangkap detail, lalu perbaiki plugin atau minta admin Anda memperbaikinya.

2479* **`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, lalu sakelar lagi.2574* **`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, lalu alihkan lagi.

2480 2575 

2481Sebelum 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 lalu 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.2576Sebelum 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 lalu menolak sakelar kemudian dalam sesi, bahkan ketika organisasi Anda tidak mengelola plugin. Mulai ulang sesi untuk menjalankan pemuatan plugin lagi pada versi tersebut.

2482 2577 

2483<h3 id="couldnt-save-it-as-your-default">2578<h3 id="couldnt-save-it-as-your-default">

2484 Tidak dapat menyimpannya sebagai default Anda2579 Tidak dapat menyimpannya sebagai default Anda


2492 2587 

2493Alasan setelah jalur file mengatakan apa yang gagal:2588Alasan setelah jalur file mengatakan apa yang gagal:

2494 2589 

2495* **`can't be written (<code>)`**: penulisan gagal dengan kode kesalahan sistem operasi dalam tanda kurung, seperti `EROFS` ketika file, atau file yang ditautkannya, berada di sistem file yang menolak penulisan. Buat file dapat ditulis dan sakelar lagi. Jika alat lain menghasilkan file, atur kunci `model` dalam 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).2590* **`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 alihkan 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).

2496* **`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, lalu sakelar lagi; lihat [Perbaiki file pengaturan yang rusak](/docs/id/settings#fix-a-broken-settings-file).2591* **`isn't valid JSON`**: file di disk tidak diurai, dan Claude Code meninggalkannya tanpa sentuhan bukan menimpa konten yang tidak dapat dibaca kembali. Perbaiki kesalahan sintaks, lalu alihkan lagi; lihat [Perbaiki file pengaturan yang rusak](/docs/id/settings#fix-a-broken-settings-file).

2497 2592 

2498Pemberitahuan berakhir `couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)` berarti penulisan belum selesai setelah tiga detik. Itu berlanjut di latar belakang, jadi default mungkin masih disimpan; periksa model mana yang dimulai sesi berikutnya Anda, atau jalankan `/model <name>` lagi.2593Pemberitahuan 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. Itu berlanjut di latar belakang, jadi default mungkin masih disimpan; periksa model mana yang sesi berikutnya mulai, atau jalankan `/model <name>` lagi.

2499 2594 

2500Sebelum v2.1.265, pemberitahuan mengatakan model itu `saved as your default for new sessions` bahkan ketika penulisan gagal.2595Sebelum v2.1.265, pemberitahuan mengatakan model itu `saved as your default for new sessions` bahkan ketika penulisan gagal.

2501 2596 


2519 Effort tidak tersedia dengan pemikiran dimatikan2614 Effort tidak tersedia dengan pemikiran dimatikan

2520</h3>2615</h3>

2521 2616 

2522Anda 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.2617Anda mematikan [pemikiran diperpanjang](/docs/id/model-config#extended-thinking) dan berjalan pada [tingkat effort](/docs/id/model-config#adjust-effort-level) di atas `high`. Model tidak menerima kombinasi itu, jadi API menolak permintaan.

2523 2618 

2524```text theme={null}2619```text theme={null}

2525API 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)2620API 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)

2526```2621```

2527 2622 

2528Petunjuk setelah `·` bervariasi menurut sesi: dalam sesi non-interaktif itu berbunyi `use --effort high (or the effortLevel setting)`, dan dalam sesi yang dijalankan Claude Desktop app itu berbunyi `you can lower effort to High`.2623Petunjuk setelah `·` bervariasi menurut sesi: dalam sesi non-interaktif itu berbunyi `use --effort high (or the effortLevel setting)`, dan dalam sesi yang aplikasi Claude Desktop jalankan itu berbunyi `you can lower effort to High`.

2529 2624 

2530**Yang harus dilakukan:**2625**Yang harus dilakukan:**

2531 2626 

2532* [Turunkan level effort](/docs/id/model-config#set-the-effort-level) ke `high` atau di bawah.2627* [Turunkan tingkat effort](/docs/id/model-config#set-the-effort-level) ke `high` atau di bawah.

2533* Aktifkan pemikiran kembali, misalnya dengan membatalkan [`MAX_THINKING_TOKENS`](/docs/id/env-vars) atau menghapus [`"alwaysThinkingEnabled": false`](/docs/id/settings-reference#alwaysthinkingenabled) dari pengaturan Anda.2628* Aktifkan pemikiran kembali, misalnya dengan membatalkan [`MAX_THINKING_TOKENS`](/docs/id/env-vars) atau menghapus [`"alwaysThinkingEnabled": false`](/docs/id/settings-reference#alwaysthinkingenabled) dari pengaturan Anda.

2534 2629 

2535Sebelum 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.2630Sebelum 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 tingkat 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 diketahui menolak kombinasi, seperti Opus 5.

2536 2631 

2537<h3 id="thinking-budget-exceeds-output-limit">2632<h3 id="thinking-budget-exceeds-output-limit">

2538 Anggaran pemikiran melebihi batas output2633 Anggaran pemikiran melebihi batas output

2539</h3>2634</h3>

2540 2635 

2541Anggaran extended thinking yang dikonfigurasi melebihi panjang respons maksimum, jadi tidak ada ruang yang tersisa untuk jawaban sebenarnya.2636Anggaran pemikiran diperpanjang yang dikonfigurasi melebihi panjang respons maksimum, jadi tidak ada ruang yang tersisa untuk jawaban sebenarnya.

2542 2637 

2543```text theme={null}2638```text theme={null}

2544API Error: 400 ... max_tokens must be greater than thinking.budget_tokens2639API Error: 400 ... max_tokens must be greater than thinking.budget_tokens


2547**Yang harus dilakukan:**2642**Yang harus dilakukan:**

2548 2643 

2549* Naikkan [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/id/env-vars) di atas anggaran pemikiran2644* Naikkan [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/id/env-vars) di atas anggaran pemikiran

2550* Lihat [Extended thinking](/docs/id/model-config#extended-thinking) untuk bagaimana anggaran berinteraksi dengan panjang output2645* Lihat [Pemikiran diperpanjang](/docs/id/model-config#extended-thinking) untuk bagaimana anggaran berinteraksi dengan panjang output

2551 2646 

2552<h3 id="tool-use-or-thinking-block-mismatch">2647<h3 id="tool-use-or-thinking-block-mismatch">

2553 Ketidakcocokan blok penggunaan alat atau pemikiran2648 Ketidakcocokan blok penggunaan alat atau pemikiran


2563API Error: 400 ... thinking blocks ... cannot be modified2658API Error: 400 ... thinking blocks ... cannot be modified

2564```2659```

2565 2660 

2566Semua varian berarti hal yang sama: urutan blok `tool_use`, `tool_result`, dan `thinking` dalam riwayat tidak lagi cocok dengan apa yang diharapkan API.2661Semua varian berarti hal yang sama: urutan blok `tool_use`, `tool_result`, dan `thinking` dalam riwayat tidak lagi cocok dengan apa yang API harapkan.

2567 2662 

2568**Yang harus dilakukan:**2663**Yang harus dilakukan:**

2569 2664 


2574 Data tidak valid dalam blok redacted\_thinking2669 Data tidak valid dalam blok redacted\_thinking

2575</h3>2670</h3>

2576 2671 

2577API menolak permintaan dengan 400 karena tidak dapat menerima blok `redacted_thinking` yang dibawa giliran sebelumnya dalam riwayat percakapan.2672API menolak permintaan dengan 400 karena tidak dapat menerima blok `redacted_thinking` yang giliran sebelumnya dalam riwayat percakapan bawa.

2578 2673 

2579```text theme={null}2674```text theme={null}

2580API Error: 400 ... Invalid `data` in `redacted_thinking` block2675API Error: 400 ... Invalid `data` in `redacted_thinking` block

2581```2676```

2582 2677 

2583Claude Code mengeluarkan pemikiran percakapan sebelumnya 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.2678Claude Code meninggalkan pemikiran percakapan sebelumnya 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.

2584 2679 

2585**Yang harus dilakukan:**2680**Yang harus dilakukan:**

2586 2681 

2587* Jika Anda berada di v2.1.281 atau lebih awal dan setiap giliran gagal dengan kesalahan ini, jalankan `claude update` dan lanjutkan sesi2682* Jika Anda di v2.1.281 atau lebih awal dan setiap giliran gagal dengan kesalahan ini, jalankan `claude update` dan lanjutkan sesi

2588* Jika kesalahan berlanjut, jalankan `/clear` untuk memulai percakapan yang tidak membawa blok2683* Jika kesalahan berlanjut, jalankan `/clear` untuk memulai percakapan yang tidak membawa blok

2589 2684 

2590<h3 id="unsupported-tool-content-removed">2685<h3 id="unsupported-tool-content-removed">

2591 Konten alat yang tidak didukung dihapus2686 Konten alat yang tidak didukung dihapus

2592</h3>2687</h3>

2593 2688 

2594Ketika Claude Code terhubung langsung ke API Anthropic dan memuat atau melihat pratinjau sesi yang disimpan, itu menghapus konten alat yang API Anthropic tidak terima dan meninggalkan baris ini di mana konten yang dihapus duduk di antara dua blok pemikiran:2689Ketika Claude Code terhubung langsung ke Anthropic API dan memuat atau melihat pratinjau sesi yang disimpan, itu menghapus konten alat yang Anthropic API tidak terima dan meninggalkan baris ini di mana konten yang dihapus duduk antara dua blok pemikiran:

2595 2690 

2596```text theme={null}2691```text theme={null}

2597[Unsupported tool content removed]2692[Unsupported tool content removed]

2598```2693```

2599 2694 

2600Konten 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 pada 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', ...`.2695Konten seperti itu mencapai file sesi ketika sesuatu selain Anthropic API 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 apa 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', ...`.

2601 2696 

2602**Yang harus dilakukan:**2697**Yang harus dilakukan:**

2603 2698 


2614API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...2709API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...

2615```2710```

2616 2711 

2617Claude 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.2712Claude Code mengirim beberapa teks pengingat dan lampiran-nya 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 saudara API yang ditolak, seperti `use the top-level 'system' parameter for the initial system prompt`, mendapatkan pemulihan yang sama.

2618 2713 

2619Ketika 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.2714Ketika kesalahan muncul, pesan sistem yang ditolak bukan yang Claude Code dapat hapus. Itu biasanya berarti proxy atau [gateway LLM](/docs/id/llm-gateway) antara Claude Code dan API menambahkan pesan sistem mereka sendiri.

2620 2715 

2621**Yang harus dilakukan:**2716**Yang harus dilakukan:**

2622 2717 

2623* Jika kesalahan berulang di setiap giliran di balik 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 mengoperasikannya2718* 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 mengoperasikannya

2624* Jalankan `/clear` untuk memulai percakapan segar. Jika kesalahan kembali di sana juga, penyebabnya ada di jalur permintaan, bukan dalam percakapan yang disimpan.2719* Jalankan `/clear` untuk memulai percakapan segar. Jika kesalahan kembali di sana juga, penyebabnya ada di jalur permintaan, bukan di percakapan yang disimpan.

2625 2720 

2626Sebelum 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.2721Sebelum v2.1.280, Claude Code tidak mengenali pesan ini, jadi kesalahan juga muncul ketika pesan sistem yang ditolak adalah yang Claude Code sendiri kirim, dan setiap giliran kemudian percakapan gagal dengan cara yang sama.

2627 2722 

2628<h3 id="invalid-encrypted-content-in-search-result-block">2723<h3 id="invalid-encrypted-content-in-search-result-block">

2629 encrypted\_content tidak valid dalam blok search\_result2724 Encrypted\_content tidak valid dalam blok search\_result

2630</h3>2725</h3>

2631 2726 

2632API menolak permintaan dengan 400 karena riwayat percakapan menyimpan konten pencarian web yang dihosting yang tidak dapat didekripsi. Pesan menyebutkan bidang yang tidak dapat dibacanya:2727API menolak permintaan dengan 400 karena riwayat percakapan menyimpan konten pencarian web yang dihosting yang tidak dapat didekripsi. Pesan menyebutkan bidang yang tidak dapat dibacanya:


2638API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block2733API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block

2639```2734```

2640 2735 

2641Hasil dari [alat pencarian web yang dihosting](/docs/id/tools-reference#websearch-tool-behavior) API membawa bidang terenkripsi yang hanya dapat dibaca API. Pesan `encrypted_stdout` menyebutkan output program eksekusi kode yang dihosting yang membaca hasil seperti itu, yang juga dienkripsi API. API menolak permintaan yang memutar ulang konten yang tidak dapat didekripsi, seperti konten yang diproduksi untuk organisasi berbeda.2736Hasil dari [alat pencarian web yang dihosting](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) API membawa bidang terenkripsi yang hanya API dapat baca. Pesan `encrypted_stdout` 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.

2642 2737 

2643Alat [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.2738[Alat 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.

2644 2739 

2645Untuk tiga pesan pencarian web, Claude Code mengeluarkan 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 juga menyimpan blok pencarian web yang ditolak, dan setiap giliran kemudian dan `/compact` gagal dengan cara yang sama.2740Untuk 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.

2646 2741 

2647**Yang harus dilakukan:**2742**Yang harus dilakukan:**

2648 2743 

2649* 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 sesi2744* Jika Anda di v2.1.281 atau lebih awal dan setiap giliran gagal dengan salah satu pesan pencarian web, jalankan `claude update` dan lanjutkan sesi

2650* 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 membawanya2745* 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

2651* Jika Anda menjalankan Claude Code di balik proxy atau gateway, laporkan kesalahan ke siapa pun yang mengoperasikannya2746* Jika Anda menjalankan Claude Code di belakang proxy atau gateway, laporkan kesalahan ke siapa pun yang mengoperasikannya

2652 2747 

2653<h3 id="usage-policy-refusal">2748<h3 id="usage-policy-refusal">

2654 Penolakan Kebijakan Penggunaan2749 Penolakan Kebijakan Penggunaan


2666 2761 

2667Pesan menyebutkan model yang menolak, atau `Claude` ketika tidak ada model yang dicatat.2762Pesan menyebutkan model yang menolak, atau `Claude` ketika tidak ada model yang dicatat.

2668 2763 

2669Pemeriksaan 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. Pada [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 ditandai oleh langkah-langkah keselamatan model sebagai topik keamanan siber. Lihat [Langkah-langkah keselamatan menandai topik keamanan siber](#safety-measures-flagged-a-cybersecurity-topic).2764Pemeriksaan 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).

2670 2765 

2671Sebelum 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.`2766Sebelum 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.`

2672 2767 


2674 2769 

2675* Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke checkpoint sebelum giliran yang memicu penolakan, lalu rephrase atau ambil pendekatan berbeda. Lihat [Checkpointing](/docs/id/checkpointing).2770* Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke checkpoint sebelum giliran yang memicu penolakan, lalu rephrase atau ambil pendekatan berbeda. Lihat [Checkpointing](/docs/id/checkpointing).

2676* 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`.2771* 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`.

2677* Dalam [mode non-interaktif](/docs/id/headless) (`-p`), di mana rewind tidak tersedia, coba ulang dengan prompt yang dirumuskan 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.2772* Dalam [mode non-interaktif](/docs/id/headless) (`-p`), di mana rewind tidak tersedia, coba ulang dengan prompt yang diubah dalam sesi baru tanpa `--continue`. Pemeriksaan kebijakan bervariasi menurut model, jadi beralih ke model berbeda dengan `--model` juga dapat menyelesaikan penolakan dalam beberapa kasus.

2678 2773 

2679<h3 id="safety-measures-flagged-a-cybersecurity-topic">2774<h3 id="safety-measures-flagged-a-cybersecurity-topic">

2680 Langkah-langkah keselamatan menandai topik keamanan siber2775 Langkah-langkah keselamatan menandai topik keamanan siber


2686API 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-claude2781API 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

2687```2782```

2688 2783 

2689Pesan 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.2784Pesan 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 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.

2690 2785 

2691Pada [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.2786Di [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.

2692 2787 

2693Pengaman itu sendiri adalah server-side dan mendahului v2.1.203; rilis klien sejak itu hanya mengubah pesan pesan.2788Penjaga itu sendiri adalah server-side dan mendahului v2.1.203; rilis klien sejak itu hanya mengubah pesan-nya.

2694Dari 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 menambahkan `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`2789Dari 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 help-center yang sama, dan sesi interaktif menambahkan `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`

2695Sebelum 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.2790Sebelum 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.

2696 2791 

2697**Yang harus dilakukan:**2792**Yang harus dilakukan:**


3066 3161 

3067* Periksa apa yang duduk di `.mcp.json` di direktori saat ini. Ganti dengan file JSON biasa dalam [format project-scope](/docs/id/mcp#project-scope), atau hapus, kemudian jalankan command lagi.3162* Periksa apa yang duduk di `.mcp.json` di direktori saat ini. Ganti dengan file JSON biasa dalam [format project-scope](/docs/id/mcp#project-scope), atau hapus, kemudian jalankan command lagi.

3068 3163 

3164<h3 id="mcp-server-was-not-saved-or-removed">

3165 Server MCP tidak disimpan atau dihapus

3166</h3>

3167 

3168Anda menjalankan `claude mcp add`, `claude mcp add-json`, atau `claude mcp remove` untuk server dalam scope `user` atau `local` [scope](/docs/id/mcp#mcp-installation-scopes). Kedua scope disimpan di `~/.claude.json`, dan perubahan tidak ada dalam file itu ketika Claude Code membacanya kembali setelah menulis. Command keluar dengan kesalahan ini alih-alih baris suksesnya.

3169 

3170```text theme={null}

3171MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.

3172```

3173 

3174Setelah remove, pesan membaca `was not removed from` dan berakhir dengan `then remove the server again`. Untuk server scope `local`, path diikuti oleh direktori project yang entri milik, sebagai `(local scope for /path/to/project)`.

3175 

3176Sebelum v2.1.283, `claude mcp add`, `claude mcp add-json`, dan `claude mcp remove` melaporkan kesuksesan bahkan ketika perubahan tidak mencapai file.

3177 

3178**Yang harus dilakukan:**

3179 

3180* Buat file yang pesan namakan dapat ditulis, atau jalankan command di luar sandbox, kemudian jalankan command add atau remove yang sama lagi.

3181 

3182<h3 id="mcp-server-may-not-have-been-saved-or-removed">

3183 Server MCP mungkin tidak disimpan atau dihapus

3184</h3>

3185 

3186Anda menjalankan `claude mcp add`, `claude mcp add-json`, atau `claude mcp remove` untuk server dalam scope `user` atau `local` [scope](/docs/id/mcp#mcp-installation-scopes), dan Claude Code tidak dapat membaca `~/.claude.json` kembali untuk mengkonfirmasi perubahan. Perubahan mungkin atau mungkin tidak ada di disk. Teks dalam tanda kurung adalah kesalahan dari pembacaan itu.

3187 

3188```text theme={null}

3189MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.

3190```

3191 

3192Setelah remove, pesan membaca `may not have been removed` dan berakhir dengan `then remove the server again if it is still listed`.

3193 

3194Sebelum v2.1.283, command melaporkan kesuksesan bahkan ketika perubahan tidak dapat dikonfirmasi.

3195 

3196**Yang harus dilakukan:**

3197 

3198* Jalankan `claude mcp get <name>` untuk memeriksa apakah perubahan ada di disk. Untuk server scope `local`, jalankan dari direktori project yang server milik, karena scope lokal per project.

3199* Jika server hilang setelah add, atau masih terdaftar setelah remove, jalankan command add atau remove yang sama lagi.

3200 

3069<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3201<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

3070 Server adalah Anthropic-hosted dan tidak mendukung OAuth lokal3202 Server adalah Anthropic-hosted dan tidak mendukung OAuth lokal

3071</h3>3203</h3>


3376 3508 

3377Sebelum v2.1.251, Claude Code mengakhiri pesan dengan `Please set up GitHub on https://claude.ai/code` bahkan ketika pemeriksaan GitHub hanya gagal secara sementara, dan saran setup tidak dapat menghapus kegagalan sementara.3509Sebelum v2.1.251, Claude Code mengakhiri pesan dengan `Please set up GitHub on https://claude.ai/code` bahkan ketika pemeriksaan GitHub hanya gagal secara sementara, dan saran setup tidak dapat menghapus kegagalan sementara.

3378 3510 

3511<h3 id="the-repository-upload-cant-follow-a-git-setting">

3512 Repository upload tidak dapat mengikuti pengaturan git

3513</h3>

3514 

3515Anda memulai [sesi cloud yang mengunggah repository lokal Anda](/docs/id/claude-code-on-the-web#send-local-repositories-without-github), atau [ultrareview](/docs/id/ultrareview) dari branch, dan unggahan tidak dapat mengikuti salah satu pengaturan git yang memutuskan aturan atribut mana yang berlaku untuk file Anda. Jika unggahan berlanjut dan melewatkan aturan, file yang git ubah sebelum menyimpannya, seperti yang filter bersih enkripsi, dapat mencapai cloud seperti di disk. Claude Code menolak unggahan sebagai gantinya, dan tidak ada yang diunggah:

3516 

3517```text theme={null}

3518Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository's .git/config or directly into your ~/.gitconfig, then retry.

3519```

3520 

3521Pesan menamai pengaturan dan di mana diatur, dan berakhir dengan perbaikan untuk kasus yang Anda tekan. Penolakan yang sama muncul untuk `core.attributesFile` dan `attr.tree`, masing-masing dengan perbaikannya sendiri.

3522 

3523Pesan dapat menamai file konfigurasi yang konfigurasi git Anda tarik melalui direktif `include` atau `includeIf`, bahkan ketika kondisi direktif itu tidak berlaku untuk repository ini.

3524 

3525**Yang harus dilakukan:**

3526 

3527* Terapkan perbaikan dalam kalimat terakhir pesan

3528 

3379<h3 id="github-isnt-connected-to-your-claude-account">3529<h3 id="github-isnt-connected-to-your-claude-account">

3380 GitHub tidak terhubung ke akun Claude Anda3530 GitHub tidak terhubung ke akun Claude Anda

3381</h3>3531</h3>


3888 Plugin was not uninstalled4038 Plugin was not uninstalled

3889</h3>4039</h3>

3890 4040 

3891Anda 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:`.4041Anda 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:`. Jika teks setelah titik dua itu dimulai dengan `installed_plugins.json` daripada menamai file pengaturan, penyebabnya adalah konten dalam `installed_plugins.json` yang versi Claude Code ini tidak dapat dibaca. Untuk bentuk itu, lihat [`installed_plugins.json` holds a record this version can't read](/docs/id/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read).

3892 4042 

3893Ketika 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.4043Ketika 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.

3894 4044 

fast-mode.md +2 −0

Details

72 72 

73Ketik `/fast on` dalam sesi untuk mengaktifkan mode cepat. Itu tetap aktif hanya untuk sesi itu dan tidak disimpan sebagai default Anda. [Persyaratan](#requirements) juga berlaku dalam sesi cloud.73Ketik `/fast on` dalam sesi untuk mengaktifkan mode cepat. Itu tetap aktif hanya untuk sesi itu dan tidak disimpan sebagai default Anda. [Persyaratan](#requirements) juga berlaku dalam sesi cloud.

74 74 

75Di browser di [claude.ai/code](https://claude.ai/code), Anda juga dapat mengaktifkan dan menonaktifkan mode cepat dari menu model di kotak pesan. Menu menampilkan switch ketika paket Anda mencakup mode cepat dan model yang dipilih mendukungnya.

76 

75<h2 id="understand-the-cost-tradeoff">77<h2 id="understand-the-cost-tradeoff">

76 Pahami pertukaran biaya78 Pahami pertukaran biaya

77</h2>79</h2>

Details

312| [Computer use](/docs/id/computer-use) | ✓ | ✓ | ✗ | ✗ |312| [Computer use](/docs/id/computer-use) | ✓ | ✓ | ✗ | ✗ |

313| Dispatch ([Desktop](/docs/id/desktop#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |313| Dispatch ([Desktop](/docs/id/desktop#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |

314| [Code Review](/docs/id/code-review) | ✗ | ✗ | ✓ | ✓ |314| [Code Review](/docs/id/code-review) | ✗ | ✗ | ✓ | ✓ |

315| [Artifacts](/docs/id/artifacts) | ✓ | ✓ | ✓ | Admin-enabled |315| [Artifacts](/docs/id/artifacts) | ✓ | ✓ | ✓ | ✓ |

316| [Dashboard analitik dan metrik kontribusi](/docs/id/analytics) | ✗ | ✗ | ✓ | ✓ |316| [Dashboard analitik dan metrik kontribusi](/docs/id/analytics) | ✗ | ✗ | ✓ | ✓ |

317| [Enterprise Analytics API](/docs/id/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |317| [Enterprise Analytics API](/docs/id/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |

318| [Pengaturan terkelola server](/docs/id/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |318| [Pengaturan terkelola server](/docs/id/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |

fullscreen.md +1 −1

Details

294 294 

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

296 296 

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.297Untuk mempertahankan pengguliran roda tetapi mematikan penanganan klik, seret, dan hover, atur `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1` sebagai gantinya. `CLAUDE_CODE_DISABLE_MOUSE` memiliki prioritas ketika kedua variabel diatur.

298 298 

299Dengan klik dinonaktifkan, Claude Code masih menangkap mouse, jadi roda dan touchpad menggulir percakapan tetapi klik kiri tidak melakukan apa pun di dalam Claude Code. Anda masih perlu menahan kunci terminal Anda untuk pemilihan klik-dan-seret asli. Klik kanan dan tempel tengah-klik terus berfungsi di terminal yang mendukungnya.299Dengan klik dinonaktifkan, Claude Code masih menangkap mouse, jadi roda dan touchpad menggulir percakapan tetapi klik kiri tidak melakukan apa pun di dalam Claude Code. Anda masih perlu menahan kunci terminal Anda untuk pemilihan klik-dan-seret asli. Klik kanan dan tempel tengah-klik terus berfungsi di terminal yang mendukungnya.

300 300 

Details

43 43 

44Claude Code kemudian push branch dengan file alur kerja yang Anda pilih, sudah diatur untuk menggunakan rahasia tersebut, dan membuka GitHub di browser Anda dengan pull request siap dibuat. Buat dan merge pull request tersebut, dan `@claude` bekerja di repositori.44Claude Code kemudian push branch dengan file alur kerja yang Anda pilih, sudah diatur untuk menggunakan rahasia tersebut, dan membuka GitHub di browser Anda dengan pull request siap dibuat. Buat dan merge pull request tersebut, dan `@claude` bekerja di repositori.

45 45 

46Untuk menghentikan penyiapan di tengah jalan, tekan Esc. Langkah yang sudah sedang berlangsung selesai, dan tidak ada langkah selanjutnya yang dimulai. Pesan penutup mencantumkan apa yang sudah terjadi di repositori, seperti branch yang di-push atau rahasia yang disimpan.

47 

46Jika Anda memilih alur kerja ulasan, Claude memposting setiap ulasan di pull request itu sendiri, sebagai komentar inline pada setiap issue yang ditemukannya atau sebagai satu komentar ringkasan ketika tidak menemukan apa pun. Claude melewati beberapa pull request, seperti draft. Contoh [alur kerja ulasan](#run-a-skill) menggunakan skill yang sama dan mencantumkannya. Sebelum v2.1.229, Claude menulis ulasannya hanya ke log run alur kerja.48Jika Anda memilih alur kerja ulasan, Claude memposting setiap ulasan di pull request itu sendiri, sebagai komentar inline pada setiap issue yang ditemukannya atau sebagai satu komentar ringkasan ketika tidak menemukan apa pun. Claude melewati beberapa pull request, seperti draft. Contoh [alur kerja ulasan](#run-a-skill) menggunakan skill yang sama dan mencantumkannya. Sebelum v2.1.229, Claude menulis ulasannya hanya ke log run alur kerja.

47 49 

48Untuk memperbarui alur kerja ulasan yang dihasilkan versi sebelumnya, lakukan salah satu dari berikut:50Untuk memperbarui alur kerja ulasan yang dihasilkan versi sebelumnya, lakukan salah satu dari berikut:

Details

95 Persyaratan jaringan95 Persyaratan jaringan

96</h3>96</h3>

97 97 

98Untuk sesi yang dihosting Anthropic, instans GHES Anda harus dapat dijangkau dari infrastruktur Anthropic sehingga Claude dapat mengkloning repositori dan memposting komentar tinjauan. Jika instans GHES Anda berada di belakang firewall, daftarkan [alamat IP keluar Anthropic](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Sesi di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments-deploy#configure-git) mengkloning dari dalam jaringan Anda, kecuali runner memilih [proxy git Anthropic](/docs/id/self-hosted-environments-deploy#use-the-anthropic-git-proxy), yang mengambil dari sisi Anthropic dan memerlukan jangkauan yang sama; [konektor SCM](/docs/id/self-hosted-environments-reference#scm-connector-flags) mencakup alur pra-sesi yang dihosting, seperti pemilih repositori, untuk host GHES yang hanya dapat dirutekan secara internal.98Untuk sesi yang dihosting Anthropic, instans GHES Anda harus dapat dijangkau dari infrastruktur Anthropic sehingga Claude dapat mengkloning repositori dan memposting komentar tinjauan. Jika instans GHES Anda berada di belakang firewall, daftarkan [alamat IP keluar Anthropic](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Sesi di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments-deploy#configure-git) mengkloning dari dalam jaringan Anda, kecuali runner memilih [proxy git Anthropic](/docs/id/self-hosted-environments-deploy#use-the-anthropic-git-proxy), yang mengambil dari sisi Anthropic dan memerlukan jangkauan yang sama. Alur pra-sesi yang dihosting, seperti pemilih repositori, berjalan di sisi Anthropic sebelum sesi dimulai. Mereka memerlukan instans GHES Anda dapat dijangkau dari infrastruktur Anthropic bahkan ketika sesi berjalan di lingkungan yang dihosting sendiri. [Konektor SCM](/docs/id/self-hosted-environments-reference#scm-connector-flags) tidak tersedia, jadi alur tersebut tidak dapat menjangkau host GHES yang hanya dapat dirutekan secara internal.

99 99 

100<h2 id="developer-workflow">100<h2 id="developer-workflow">

101 Alur kerja pengembang101 Alur kerja pengembang


246 Instans GHES tidak dapat dijangkau246 Instans GHES tidak dapat dijangkau

247</h3>247</h3>

248 248 

249Jika tinjauan atau sesi cloud habis waktu, instans GHES Anda mungkin tidak dapat dijangkau dari infrastruktur Anthropic. Konfirmasi firewall Anda memungkinkan koneksi masuk dari [outbound IP addresses](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Sesi dalam [self-hosted environment](/docs/id/self-hosted-environments) mencapai GHES dari dalam jaringan Anda, jadi untuk mereka periksa jalur jaringan runner sendiri dan [SCM connector](/docs/id/self-hosted-environments-reference#scm-connector-flags) sebagai gantinya.249Jika tinjauan atau sesi cloud habis waktu, instans GHES Anda mungkin tidak dapat dijangkau dari infrastruktur Anthropic. Konfirmasi firewall Anda memungkinkan koneksi masuk dari [outbound IP addresses](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Sesi dalam [self-hosted environment](/docs/id/self-hosted-environments) mencapai GHES dari dalam jaringan Anda, jadi ketika salah satu dari mereka tidak dapat mengkloning, periksa jalur jaringan runner sendiri sebagai gantinya. Untuk pemilih repositori dan alur pra-sesi yang dihosting lainnya, lihat [Network requirements](#network-requirements).

250 250 

251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">

252 Awal sesi gagal dengan `Unable to get organization UUID`252 Awal sesi gagal dengan `Unable to get organization UUID`

glossary.md +9 −1

Details

56 Artifact56 Artifact

57</h3>57</h3>

58 58 

59Halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai, sehingga Anda dapat melihat output secara visual atau membagikannya daripada membaca teks terminal. Halaman diperbarui di tempat ketika sesi menerbitkan ulang. Artifact yang Anda buat dari Claude Code muncul di galeri yang sama dengan artifact yang dibuat dalam percakapan claude.ai. Berbagi tergantung pada paket Anda: di Pro dan Max, tautan publik yang dapat dibuka siapa saja; di Team dan Enterprise, berbagi dalam organisasi Anda, ditambah tautan publik setelah Pemilik mengaktifkannya.59Halaman web interaktif langsung yang Claude Code terbitkan dari sesi Anda ke URL pribadi di claude.ai, sehingga Anda dapat melihat output secara visual atau membagikannya daripada membaca teks terminal. Halaman diperbarui di tempat ketika sesi menerbitkan ulang. Artifact yang Anda buat dari Claude Code muncul di galeri yang sama dengan artifact yang dibuat dalam percakapan claude.ai. Opsi berbagi tergantung pada paket Anda: lihat [Share an artifact](/docs/id/artifacts#share-an-artifact).

60 60 

61Pelajari lebih lanjut: [Share session output as artifacts](/docs/id/artifacts)61Pelajari lebih lanjut: [Share session output as artifacts](/docs/id/artifacts)

62 62 


475 475 

476Pelajari lebih lanjut: [Tools available to Claude](/docs/id/tools-reference)476Pelajari lebih lanjut: [Tools available to Claude](/docs/id/tools-reference)

477 477 

478<h3 id="transcript">

479 Transcript

480</h3>

481 

482Catatan tersimpan dari [session](#session). Percakapan adalah apa yang Anda dan Claude tukarkan; transcript adalah percakapan tersebut yang disimpan sebagai file, secara default di `~/.claude/projects/<project>/<session-id>.jsonl`. Claude Code membaca file kembali ketika Anda melanjutkan, yang merupakan cara percakapan berlanjut setelah session berakhir. Untuk tampilan di layar dari percakapan yang sama, lihat [transcript viewer](/docs/id/interactive-mode#transcript-viewer).

483 

484Pelajari lebih lanjut: [Where transcripts are stored](/docs/id/sessions#where-transcripts-are-stored)

485 

478<h3 id="turn">486<h3 id="turn">

479 Turn487 Turn

480</h3>488</h3>

Details

315 315 

316Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) di Platform Agent Google Cloud. Sonnet 5 selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.316Claude Sonnet 5, Opus 4.6 dan yang lebih baru, serta Sonnet 4.6 mendukung [jendela konteks token 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) di Platform Agent Google Cloud. Sonnet 5 selalu berjalan dengan jendela 1M, tanpa varian `[1m]` untuk dipilih. Untuk model lainnya, Claude Code secara otomatis mengaktifkan jendela konteks yang diperluas ketika Anda memilih varian model 1M.

317 317 

318[Wizard pengaturan](#sign-in-with-agent-platform) menawarkan opsi konteks 1M ketika mempinkan model. Untuk mengaktifkannya untuk model yang dipinkan secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/docs/id/model-config#pin-models-for-third-party-deployments) untuk detail.318[Wizard pengaturan](#sign-in-with-agent-platform) menawarkan opsi konteks 1M ketika mempinkan model. Untuk mengaktifkannya untuk model yang dipinkan secara manual, tambahkan `[1m]` ke ID model. Lihat [Pin models for third-party deployments](/docs/id/model-config#pin-models-for-third-party-deployments) untuk detail, termasuk cara menggunakan jendela 1M tanpa mengubah pin.

319 319 

320<h2 id="troubleshooting">320<h2 id="troubleshooting">

321 Pemecahan masalah321 Pemecahan masalah

hooks-guide.md +1 −1

Details

196| `elicitation_url_dialog` | Server MCP meminta Anda untuk membuka URL browser dan Anda belum mengetik selama sekitar enam detik |196| `elicitation_url_dialog` | Server MCP meminta Anda untuk membuka URL browser dan Anda belum mengetik selama sekitar enam detik |

197| `elicitation_complete` | Server MCP melaporkan bahwa [elicitation mode URL](/docs/id/hooks#elicitation-input) selesai |197| `elicitation_complete` | Server MCP melaporkan bahwa [elicitation mode URL](/docs/id/hooks#elicitation-input) selesai |

198| `elicitation_response` | Respons elicitation MCP dikirim kembali ke server |198| `elicitation_response` | Respons elicitation MCP dikirim kembali ke server |

199| `agent_needs_input` | Sesi latar belakang mulai menunggu input Anda saat [agent view](/docs/id/agent-view) terbuka, atau sesi saat ini menanyakan [pertanyaan terminal setup teammate tim agent](/docs/id/agent-teams#choose-a-display-mode) Anda dan Anda belum mengetik selama sekitar enam detik |199| `agent_needs_input` | Sesi latar belakang mulai menunggu input Anda saat [agent view](/docs/id/agent-view) terbuka. Juga aktif ketika sesi terminal menunjukkan Anda [pertanyaan terminal setup teammate tim agent](/docs/id/agent-teams#choose-a-display-mode) atau pemberitahuan mode otomatis tentang [biaya permintaan classifier](/docs/id/auto-mode-classifier-billing) dan Anda belum mengetik selama sekitar enam detik |

200| `agent_completed` | Sesi latar belakang selesai atau gagal. Hanya aktif saat [agent view](/docs/id/agent-view) terbuka |200| `agent_completed` | Sesi latar belakang selesai atau gagal. Hanya aktif saat [agent view](/docs/id/agent-view) terbuka |

201| `quota_auto_resume_fired` | Claude Code melanjutkan tugas Anda setelah batas penggunaan claude.ai menjeda: saat reset, atau lebih cepat ketika sesuatu yang Anda lakukan di Claude Code selama menunggu, seperti menambahkan kredit penggunaan, meningkatkan paket, atau beralih model, membuat penggunaan tersedia lagi, dengan [pengecualian pengaturan model](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset) |201| `quota_auto_resume_fired` | Claude Code melanjutkan tugas Anda setelah batas penggunaan claude.ai menjeda: saat reset, atau lebih cepat ketika sesuatu yang Anda lakukan di Claude Code selama menunggu, seperti menambahkan kredit penggunaan, meningkatkan paket, atau beralih model, membuat penggunaan tersedia lagi, dengan [pengecualian pengaturan model](/docs/id/interactive-mode#wait-for-a-usage-limit-to-reset) |

202| `quota_auto_resume_stale` | Batas penggunaan claude.ai reset saat komputer Anda tidur selama lebih dari sekitar 30 menit. Claude Code menunggu Anda menekan `Enter` daripada melanjutkan. Setelah tidur yang lebih singkat, Claude Code melanjutkan dan menampilkan `quota_auto_resume_fired` sebagai gantinya |202| `quota_auto_resume_stale` | Batas penggunaan claude.ai reset saat komputer Anda tidur selama lebih dari sekitar 30 menit. Claude Code menunggu Anda menekan `Enter` daripada melanjutkan. Setelah tidur yang lebih singkat, Claude Code melanjutkan dan menampilkan `quota_auto_resume_fired` sebagai gantinya |

Details

358* Di macOS dan Linux, Claude Code menghentikan tugas latar belakang yang berjalan ketika sistem operasi melaporkan tekanan memori kritis, asalkan sesi telah menganggur selama minimal 30 menit dan tidak ada putaran atau subagen yang berjalan. Memerlukan Claude Code v2.1.193 atau lebih baru358* Di macOS dan Linux, Claude Code menghentikan tugas latar belakang yang berjalan ketika sistem operasi melaporkan tekanan memori kritis, asalkan sesi telah menganggur selama minimal 30 menit dan tidak ada putaran atau subagen yang berjalan. Memerlukan Claude Code v2.1.193 atau lebih baru

359 * [Log debug](/docs/id/debug-your-config) mengatakan mengapa tugas dihentikan, atau mengapa peristiwa tekanan meninggalkan mereka tetap berjalan359 * [Log debug](/docs/id/debug-your-config) mengatakan mengapa tugas dihentikan, atau mengapa peristiwa tekanan meninggalkan mereka tetap berjalan

360 * Atur [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/docs/id/env-vars) ke `1` untuk mematikan penghentian tekanan memori360 * Atur [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/docs/id/env-vars) ke `1` untuk mematikan penghentian tekanan memori

361* Perintah latar belakang yang dimiliki oleh [subagen](/docs/id/sub-agents) tidak memiliki batas waktu, kecuali bahwa perintah yang dimiliki oleh subagen yang berjalan di latar depan berakhir ketika subagen tersebut memberikan respons finalnya; lihat [Perintah latar belakang](/docs/id/tools-reference#background-commands) dalam referensi alat. Sebelum v2.1.218, baik reap tekanan memori maupun batas 60 menit sebelumnya pada perintah subagen tidak mencakup perintah yang dipindahkan ke latar belakang dengan `Ctrl+B`361* Perintah Bash dan PowerShell latar belakang memiliki batas waktu, dihitung dari saat perintah memasuki latar belakang: 30 menit, atau `timeout` yang Claude minta ketika memulai perintah di latar belakang, hingga maksimal 2 jam. Perintah yang pindah ke latar belakang saat berjalan, misalnya dengan `Ctrl+B`, mendapat 30 menit dari perpindahan. Ketika perintah mencapai batasnya, Claude Code menghentikannya dan memberi tahu Claude mengapa, dan Claude dapat memulainya lagi dengan `timeout` yang lebih lama jika pekerjaan masih membutuhkannya. Dua variabel lingkungan menaikkan batasnya, dalam milidetik, dan keduanya tidak dapat mempersingkatnya:

362 * Atur [`BASH_DEFAULT_TIMEOUT_MS`](/docs/id/env-vars) di atas `1800000` untuk mengganti default 30 menit dengan nilai tersebut, untuk perintah yang dipindahkan juga

363 * Atur [`BASH_MAX_TIMEOUT_MS`](/docs/id/env-vars) di atas `7200000` untuk menaikkan maksimal 2 jam. Mengatur `BASH_DEFAULT_TIMEOUT_MS` di atas `7200000` menaikkannya dengan cara yang sama

364* Perintah latar belakang yang dimulai oleh [subagen](/docs/id/sub-agents#run-subagents-in-foreground-or-background) di latar depan berakhir ketika subagen tersebut selesai, gagal, atau dihentikan; lihat [Perintah latar belakang](/docs/id/tools-reference#background-commands) dalam referensi alat

362 365 

363Untuk menonaktifkan semua fungsi tugas latar belakang, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Variabel lingkungan](/docs/id/env-vars) untuk detail.366Untuk menonaktifkan semua fungsi tugas latar belakang, atur variabel lingkungan `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` ke `1`. Lihat [Variabel lingkungan](/docs/id/env-vars) untuk detail.

364 367 

keybindings.md +5 −2

Details

301| `footer:down` | Down | Navigasi ke bawah di footer |301| `footer:down` | Down | Navigasi ke bawah di footer |

302| `footer:openSelected` | Enter | Buka item footer yang dipilih |302| `footer:openSelected` | Enter | Buka item footer yang dipilih |

303| `footer:clearSelection` | Escape | Bersihkan pilihan footer |303| `footer:clearSelection` | Escape | Bersihkan pilihan footer |

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 |304| `footer:dismiss` | (unbound) | Mengikat kunci ke tindakan ini tidak berpengaruh, dan `keybindings.json` yang menyebutkannya tetap valid. Sebelum v2.1.281, Backspace dan Delete terikat ke tindakan ini dan menghapus tautan artefak yang dipilih dari footer. |

305 305 

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

307 307 


417| `select:accept` | Enter | Terima pilihan |417| `select:accept` | Enter | Terima pilihan |

418| `select:cancel` | Escape | Batalkan pilihan |418| `select:cancel` | Escape | Batalkan pilihan |

419 419 

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.420Dalam panel daftar seperti `/skills`, `/mcp`, dan `/tasks`, 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.

421 421 

422Sebelum 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.

423 423 

424Sebelum v2.1.283, daftar alat `/mcp` halaman dengan kunci PageUp dan PageDown tetap terlepas dari binding Anda.

425 

424<h3 id="plugin-actions">426<h3 id="plugin-actions">

425 Tindakan plugin427 Tindakan plugin

426</h3>428</h3>


692Claude Code memvalidasi pintasan keyboard Anda dan menulis peringatan ke log debug untuk:694Claude Code memvalidasi pintasan keyboard Anda dan menulis peringatan ke log debug untuk:

693 695 

694* Parse errors (JSON atau struktur tidak valid)696* Parse errors (JSON atau struktur tidak valid)

697* Modifier yang salah eja, seperti `ctl+k`. Claude Code menghapus bagian yang tidak dikenalinya dan menerapkan binding ke keystroke yang tersisa, `k` dalam contoh ini.

695* Nama konteks tidak valid698* Nama konteks tidak valid

696* Nilai action tidak valid, seperti action yang bukan string atau `null`699* Nilai action tidak valid, seperti action yang bukan string atau `null`

697* Nama action yang tidak dikenal, seperti typo dari action yang terdaftar. Claude Code melewati binding dan mempertahankan binding default apa pun untuk kunci tersebut. Sebelum v2.1.246, binding dengan nama action yang tidak dikenal secara diam-diam menonaktifkan kunci tersebut700* Nama action yang tidak dikenal, seperti typo dari action yang terdaftar. Claude Code melewati binding dan mempertahankan binding default apa pun untuk kunci tersebut. Sebelum v2.1.246, binding dengan nama action yang tidak dikenal secara diam-diam menonaktifkan kunci tersebut

Details

79 79 

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).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).

81 81 

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).82Teruskan ping keep-alive juga, karena Claude Code membatalkan respons streaming setelah tidak ada byte yang mencapainya selama [lima menit secara default](/docs/id/network-config#streaming-idle-watchdogs). Selama jeda pemikiran panjang, event SSE `ping` upstream dapat menjadi satu-satunya byte pada aliran. Jika gateway Anda menghapus atau membuffer mereka, Claude Code membatalkan respons di tengah jeda. Ketika Anda menerjemahkan dari upstream yang tidak mengirim ping sama sekali, seperti event-stream biner Amazon Bedrock, keluarkan event `ping` Anda sendiri selama celah senyap.

83 83 

84<h3 id="format-mismatch-with-the-upstream">84<h3 id="format-mismatch-with-the-upstream">

85 Format mismatch dengan upstream85 Format mismatch dengan upstream

managed-mcp.md +23 −6

Details

31 31 

32| Pola | Apa yang dilakukan | Konfigurasi |32| Pola | Apa yang dilakukan | Konfigurasi |

33| :- | :- | :- |33| :- | :- | :- |

34| **Nonaktifkan MCP** | Tidak ada server yang dimuat, kecuali [server dalam proses yang didaftarkan oleh aplikasi yang memulai sesi](#exclusive-control-with-managed-mcp-json) dan yang [Anda sediakan melalui `managedMcpServers`](#provide-servers-through-managed-settings) | `managed-mcp.json` dengan peta server kosong |34| **Nonaktifkan MCP** | Tidak ada server yang dimuat kecuali beberapa yang [dimuat di bawah kontrol eksklusif](#exclusive-control-with-managed-mcp-json) | `managed-mcp.json` dengan peta server kosong |

35| **Penerapan tetap** | Setiap pengguna mendapatkan server yang sama dan tidak dapat menambah server lain | `managed-mcp.json` dengan server yang Anda inginkan |35| **Penerapan tetap** | Setiap pengguna mendapatkan server yang sama dan tidak dapat menambah server lain | `managed-mcp.json` dengan server yang Anda inginkan |

36| **Server yang disediakan** | Setiap pengguna mendapatkan server jarak jauh yang Anda daftarkan dan mempertahankan server mereka sendiri | `managedMcpServers` dalam pengaturan terkelola |36| **Server yang disediakan** | Setiap pengguna mendapatkan server jarak jauh yang Anda daftarkan dan mempertahankan server mereka sendiri | `managedMcpServers` dalam pengaturan terkelola |

37| **Katalog yang disetujui** | Publikasikan daftar server yang disetujui; pengguna menambahkan yang mereka inginkan, yang lain diblokir | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |37| **Katalog yang disetujui** | Publikasikan daftar server yang disetujui; pengguna menambahkan yang mereka inginkan, yang lain diblokir | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |


53* Server yang didefinisikan file53* Server yang didefinisikan file

54* Server yang Anda [sediakan melalui `managedMcpServers`](#provide-servers-through-managed-settings)54* Server yang Anda [sediakan melalui `managedMcpServers`](#provide-servers-through-managed-settings)

55* Server dalam proses yang aplikasi yang memulai sesi mendaftarkan, seperti server Claude Code sendiri dari ekstensi VS Code atau [konektor yang dikirimkan aplikasi desktop](/docs/id/mcp#how-connectors-reach-claude-code)55* Server dalam proses yang aplikasi yang memulai sesi mendaftarkan, seperti server Claude Code sendiri dari ekstensi VS Code atau [konektor yang dikirimkan aplikasi desktop](/docs/id/mcp#how-connectors-reach-claude-code)

56* Server [Claude in Chrome](/docs/id/chrome) bawaan, jika Anda [mengizinkannya bersama set yang dikelola](#allow-claude-in-chrome-alongside-the-managed-set)

56 57 

57Pengguna tidak dapat menambah, memodifikasi, atau menggunakan server MCP lainnya, termasuk server yang disediakan plugin dan server yang diteruskan dengan [flag CLI `--mcp-config`](/docs/id/cli-reference#cli-flags). File ini juga menekan konektor claude.ai yang Claude Code ambil sendiri kecuali Anda [mengizinkannya bersama set yang dikelola](#allow-claude-ai-connectors-alongside-the-managed-set).58Pengguna tidak dapat menambah, memodifikasi, atau menggunakan server MCP lainnya, termasuk server yang disediakan plugin dan server yang diteruskan dengan [flag CLI `--mcp-config`](/docs/id/cli-reference#cli-flags). File ini juga menekan konektor claude.ai yang Claude Code ambil sendiri kecuali Anda [mengizinkannya bersama set yang dikelola](#allow-claude-ai-connectors-alongside-the-managed-set).

58 59 


144 Nonaktifkan MCP sepenuhnya145 Nonaktifkan MCP sepenuhnya

145</h3>146</h3>

146 147 

147Terapkan `managed-mcp.json` yang berisi peta server kosong untuk memblokir setiap server MCP selain [server dalam proses yang aplikasi yang memulai sesi mendaftarkan](#exclusive-control-with-managed-mcp-json):148Terapkan `managed-mcp.json` yang berisi peta server kosong untuk memblokir setiap server MCP selain yang [memuat di bawah kontrol eksklusif](#exclusive-control-with-managed-mcp-json):

148 149 

149```json theme={null}150```json theme={null}

150{151{


152}153}

153```154```

154 155 

155`claude mcp add` gagal dengan kesalahan kebijakan perusahaan di atas. Server yang pengguna konfigurasi sebelumnya berhenti dimuat saat mereka memulai sesi berikutnya, tanpa peringatan bahwa kebijakan adalah alasannya. Server yang Anda sediakan melalui `managedMcpServers` masih dimuat di bawah peta kosong, jadi biarkan kunci itu tidak diatur juga untuk menonaktifkan MCP sepenuhnya.156`claude mcp add` gagal dengan kesalahan kebijakan perusahaan di atas. Server yang pengguna konfigurasi sebelumnya berhenti dimuat saat mereka memulai sesi berikutnya, tanpa peringatan bahwa kebijakan adalah alasannya. Server yang Anda sediakan melalui `managedMcpServers`, dan apa pun yang Anda izinkan bersama set yang dikelola, masih dimuat di bawah peta kosong, jadi biarkan kunci itu tidak diatur untuk menonaktifkan MCP sepenuhnya.

156 157 

157<h3 id="allow-claude-ai-connectors-alongside-the-managed-set">158<h3 id="allow-claude-ai-connectors-alongside-the-managed-set">

158 Izinkan konektor claude.ai bersama set yang dikelola159 Izinkan konektor claude.ai bersama set yang dikelola


166 167 

167Claude Code membaca `allowAllClaudeAiMcps` hanya dari tingkat kebijakan yang dikendalikan admin: pengaturan yang dikelola server, kunci plist yang diterapkan MDM atau kunci registri HKLM, atau file `managed-settings.json` sistem. Menempatkannya dalam pengaturan pengguna atau proyek tidak berpengaruh, jadi pengguna tidak dapat mengaktifkan kembali konektor yang kontrol eksklusif tekan.168Claude Code membaca `allowAllClaudeAiMcps` hanya dari tingkat kebijakan yang dikendalikan admin: pengaturan yang dikelola server, kunci plist yang diterapkan MDM atau kunci registri HKLM, atau file `managed-settings.json` sistem. Menempatkannya dalam pengaturan pengguna atau proyek tidak berpengaruh, jadi pengguna tidak dapat mengaktifkan kembali konektor yang kontrol eksklusif tekan.

168 169 

170<h3 id="allow-claude-in-chrome-alongside-the-managed-set">

171 Izinkan Claude in Chrome bersama set yang dikelola

172</h3>

173 

174Secara default, ketika Anda menerapkan `managed-mcp.json`, Claude Code memblokir server [Claude in Chrome](/docs/id/chrome) bawaan dalam sesi terminal. Pengguna tidak mendapatkan [prompt instalasi ekstensi](/docs/id/chrome#install-the-extension-when-claude-asks), dan sesi tempat pengguna [mengaktifkan Chrome secara default](/docs/id/chrome#enable-chrome-by-default) dimulai tanpa Chrome dan tidak mencetak peringatan. Ketika pengguna yang dapat menjalankan Claude in Chrome memulainya dengan `claude --chrome` atau `CLAUDE_CODE_ENABLE_CFC=1`, Claude Code keluar saat startup dengan kesalahan yang menyebutkan pengaturan `allowClaudeInChromeWithManagedMcp`.

175 

176Untuk membiarkan pengguna menjalankan Claude in Chrome bersama server di `managed-mcp.json`, atur `"allowClaudeInChromeWithManagedMcp": true` dalam pengaturan yang dikelola perangkat itu sendiri. Letakkan dalam kunci plist yang diterapkan MDM atau kunci registri HKLM, atau file `managed-settings.json` sistem, mana pun dari yang Claude Code [pilih](/docs/id/managed-settings#precedence-within-the-managed-tier) pada perangkat itu. Memerlukan Claude Code v2.1.282 atau lebih baru. Sebelum v2.1.282, Claude Code mengabaikan pengaturan, dan kesalahan startup berbunyi `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

177 

178Claude Code membaca pengaturan dari sumber perangkat itu bahkan ketika [pengaturan yang dikelola server](/docs/id/server-managed-settings) mengirimkan sisa kebijakan Anda. Ini mengabaikan pengaturan dalam pengaturan yang dikelola server itu sendiri, dalam registri HKCU yang dapat ditulis pengguna, dan dalam pengaturan pengguna atau proyek. Entri [`deniedMcpServers`](#policy-based-control-with-allowlists-and-denylists) untuk `claude-in-chrome` masih memblokir server dengan pengaturan itu.

179 

169<h2 id="provide-servers-through-managed-settings">180<h2 id="provide-servers-through-managed-settings">

170 Sediakan server melalui pengaturan terkelola181 Sediakan server melalui pengaturan terkelola

171</h2>182</h2>


303 314 

304| Pengaturan | Tidak diatur (default) | Array kosong `[]` | Diisi |315| Pengaturan | Tidak diatur (default) | Array kosong `[]` | Diisi |

305| :- | :- | :- | :- |316| :- | :- | :- | :- |

306| `allowedMcpServers` | Semua server diizinkan | Tidak ada server yang diizinkan, terlepas dari [milik organisasi](#how-a-server-is-evaluated) | Hanya server yang cocok diizinkan, terlepas dari [milik organisasi](#how-a-server-is-evaluated) |317| `allowedMcpServers` | Semua server diizinkan | Tidak ada server yang diizinkan, terlepas dari [yang melewati pemeriksaan allowlist](#how-a-server-is-evaluated) | Hanya server yang cocok diizinkan, terlepas dari [yang melewati pemeriksaan allowlist](#how-a-server-is-evaluated) |

307| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |318| `deniedMcpServers` | Tidak ada server yang diblokir | Tidak ada server yang diblokir | Server yang cocok diblokir |

308 319 

309Lihat [Entri tidak valid dalam pengaturan terkelola](/docs/id/managed-settings#invalid-entries-in-managed-settings) untuk mengetahui apa yang terjadi ketika entri gagal validasi skema.320Lihat [Entri tidak valid dalam pengaturan terkelola](/docs/id/managed-settings#invalid-entries-in-managed-settings) untuk mengetahui apa yang terjadi ketika entri gagal validasi skema.


3292. **Periksa denylist.** Server yang cocok dengan entri denylist apa pun, berdasarkan URL, perintah, atau nama, diblokir. Tidak ada yang menggantikan kecocokan denylist.3402. **Periksa denylist.** Server yang cocok dengan entri denylist apa pun, berdasarkan URL, perintah, atau nama, diblokir. Tidak ada yang menggantikan kecocokan denylist.

3303. **Periksa allowlist.** Jika `allowedMcpServers` tidak diatur di mana pun, setiap server yang melewati denylist dimuat. Jika diatur, apa yang harus cocok dengan server tergantung pada jenisnya, ditampilkan dalam tabel di bawah.3413. **Periksa allowlist.** Jika `allowedMcpServers` tidak diatur di mana pun, setiap server yang melewati denylist dimuat. Jika diatur, apa yang harus cocok dengan server tergantung pada jenisnya, ditampilkan dalam tabel di bawah.

331 342 

332 Server organisasi sendiri melewati pemeriksaan ini: setiap entri `managedMcpServers`, dan entri `managed-mcp.json` apa pun yang nilainya tidak menggunakan ekspansi `${VAR}`. Server bawaan juga melewatinya, seperti Claude di Chrome, server `ide` yang Claude Code sambungkan ke IDE VS Code atau JetBrains yang sedang berjalan, dan server yang CLI sendiri konfigurasi.343 Tiga kelompok server melewati pemeriksaan ini:

344 

345 * Server organisasi sendiri: setiap entri `managedMcpServers`, dan entri `managed-mcp.json` apa pun yang nilainya tidak menggunakan ekspansi `${VAR}`.

346 * Server bawaan, seperti Claude di Chrome, server `ide` yang Claude Code sambungkan ke IDE VS Code atau JetBrains yang sedang berjalan, dan server yang CLI sendiri konfigurasi.

347 * Alat Slack sesi [Claude Tag](/docs/id/claude-tag): server yang digunakan untuk membaca thread dan memposting balasannya dimuat tanpa entri allowlist.

333 348 

334 Server `managed-mcp.json` yang menggunakan ekspansi `${VAR}` dalam perintah, argumen, `env`, URL, atau header masih diperiksa, seperti halnya setiap server yang ditambahkan pengguna, plugin, `--mcp-config`, atau claude.ai.349 Server `managed-mcp.json` yang menggunakan ekspansi `${VAR}` dalam perintah, argumen, `env`, URL, atau header masih diperiksa. Begitu juga setiap server yang ditambahkan pengguna, plugin, atau claude.ai, dan setiap server yang dilewatkan pengguna dengan `--mcp-config`.

335 350 

336| Jenis server | Diizinkan ketika cocok |351| Jenis server | Diizinkan ketika cocok |

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


514| Pembatasan | Apa yang dilihat pengguna |529| Pembatasan | Apa yang dilihat pengguna |

515| :- | :- |530| :- | :- |

516| `managed-mcp.json` ada dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |531| `managed-mcp.json` ada dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |

532| `managed-mcp.json` ada dan pengguna yang sebaliknya dapat menjalankan Claude di Chrome menjalankan `claude --chrome` | Claude Code keluar saat startup dengan `Claude in Chrome is blocked by your organization's managed MCP configuration (managed-mcp.json). An administrator can allow it with allowClaudeInChromeWithManagedMcp in device policy.` |

517| Server ada di daftar penolakan dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |533| Server ada di daftar penolakan dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

518| Server tidak ada di daftar izin dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |534| Server tidak ada di daftar izin dan pengguna menjalankan `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |

519| Pengguna menjalankan `claude mcp remove` pada server dari `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |535| Pengguna menjalankan `claude mcp remove` pada server dari `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |


541| `allowedMcpServers` | Daftar izin server yang diizinkan | Cakupan [pengaturan](/docs/id/settings#where-settings-live) apa pun; [Cara server dievaluasi](#how-a-server-is-evaluated) menjelaskan bagaimana daftar dari beberapa cakupan dan sumber yang dikelola digabungkan | Untuk penegakan, [sumber pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices): pengaturan yang dikelola server, `managed-settings.json`, profil MDM, atau registri |557| `allowedMcpServers` | Daftar izin server yang diizinkan | Cakupan [pengaturan](/docs/id/settings#where-settings-live) apa pun; [Cara server dievaluasi](#how-a-server-is-evaluated) menjelaskan bagaimana daftar dari beberapa cakupan dan sumber yang dikelola digabungkan | Untuk penegakan, [sumber pengaturan yang dikelola](/docs/id/admin-setup#decide-how-settings-reach-devices): pengaturan yang dikelola server, `managed-settings.json`, profil MDM, atau registri |

542| `deniedMcpServers` | Daftar penolakan server yang diblokir | Cakupan pengaturan apa pun; [Cara server dievaluasi](#how-a-server-is-evaluated) menjelaskan bagaimana daftar dari beberapa cakupan dan sumber yang dikelola digabungkan | Sama seperti `allowedMcpServers` |558| `deniedMcpServers` | Daftar penolakan server yang diblokir | Cakupan pengaturan apa pun; [Cara server dievaluasi](#how-a-server-is-evaluated) menjelaskan bagaimana daftar dari beberapa cakupan dan sumber yang dikelola digabungkan | Sama seperti `allowedMcpServers` |

543| `allowManagedMcpServersOnly` | Mengunci daftar izin ke sumber yang dikelola saja | Hanya sumber pengaturan yang dikelola; [Kunci yang dibaca dari setiap sumber admin](/docs/id/managed-settings#keys-read-from-every-admin-source) menjelaskan sumber yang dikelola mana yang dapat mengaktifkannya. Pengaturan tidak berpengaruh di cakupan lain | Sama seperti `allowedMcpServers` |559| `allowManagedMcpServersOnly` | Mengunci daftar izin ke sumber yang dikelola saja | Hanya sumber pengaturan yang dikelola; [Kunci yang dibaca dari setiap sumber admin](/docs/id/managed-settings#keys-read-from-every-admin-source) menjelaskan sumber yang dikelola mana yang dapat mengaktifkannya. Pengaturan tidak berpengaruh di cakupan lain | Sama seperti `allowedMcpServers` |

560| `allowClaudeInChromeWithManagedMcp` | Memungkinkan server Claude bawaan di Chrome berjalan bersama `managed-mcp.json` | Pengaturan yang dikelola di perangkat saja: profil MDM, registri HKLM, atau `managed-settings.json`. Pengaturan yang dikelola server dan sumber yang dapat ditulis pengguna tidak berpengaruh | MDM, GPO, manajemen armada, atau proses apa pun dengan hak istimewa administrator |

544| `allowAllClaudeAiMcps` | Memuat konektor claude.ai yang Claude Code ambil sendiri bersama `managed-mcp.json`. [File `managed-mcp.json` di host yang menjalankan sesi cloud masih menekan konektor sesi tersebut](#allow-claude-ai-connectors-alongside-the-managed-set) | Hanya sumber pengaturan yang dikelola; pengaturan tidak berpengaruh di tempat lain | Sama seperti `allowedMcpServers` |561| `allowAllClaudeAiMcps` | Memuat konektor claude.ai yang Claude Code ambil sendiri bersama `managed-mcp.json`. [File `managed-mcp.json` di host yang menjalankan sesi cloud masih menekan konektor sesi tersebut](#allow-claude-ai-connectors-alongside-the-managed-set) | Hanya sumber pengaturan yang dikelola; pengaturan tidak berpengaruh di tempat lain | Sama seperti `allowedMcpServers` |

545 562 

546<h2 id="related-resources">563<h2 id="related-resources">

mcp.md +13 −6

Details

265 Status server265 Status server

266</h4>266</h4>

267 267 

268`claude mcp add` mengonfirmasi penambahan yang berhasil dengan mencetak baris `Added ...`, yang berarti konfigurasi ditulis. `claude mcp list` kemudian menunjukkan status kesehatan di sebelah setiap server yang dicantumkannya, seperti `✔ Connected`, `! Needs authentication`, atau `✘ Failed to connect`. Status kegagalan berarti Claude Code tidak dapat terhubung ke server itu, bukan bahwa perintah list gagal.268`claude mcp add` mengonfirmasi penambahan yang berhasil dengan mencetak baris `Added ...`, yang berarti konfigurasi ditulis. Jika perintah mencetak pesan `was not saved` sebagai gantinya, lihat [MCP server was not saved or removed](/docs/id/errors#mcp-server-was-not-saved-or-removed); untuk pesan `may not have been saved`, lihat [MCP server may not have been saved or removed](/docs/id/errors#mcp-server-may-not-have-been-saved-or-removed).

269 

270`claude mcp list` menunjukkan status kesehatan di sebelah setiap server yang dicantumkannya, seperti `✔ Connected`, `! Needs authentication`, atau `✘ Failed to connect`. Status kegagalan berarti Claude Code tidak dapat terhubung ke server itu, bukan bahwa perintah list gagal.

269 271 

270Status dalam daftar ini melaporkan keputusan konfigurasi daripada upaya koneksi, jadi Claude Code mencetaknya tanpa terhubung ke server:272Status dalam daftar ini melaporkan keputusan konfigurasi daripada upaya koneksi, jadi Claude Code mencetaknya tanpa terhubung ke server:

271 273 


371* Menerima notifikasi `list_changed` dari server pada revisi yang lebih baru melalui [aliran yang dipegang terbuka](#notification-streams-on-the-v2-runtime).373* Menerima notifikasi `list_changed` dari server pada revisi yang lebih baru melalui [aliran yang dipegang terbuka](#notification-streams-on-the-v2-runtime).

372* Tidak mendaftarkan server [channel](#push-messages-with-channels) yang terhubung pada revisi yang lebih baru, karena revisi itu tidak dapat membawa pesan channel.374* Tidak mendaftarkan server [channel](#push-messages-with-channels) yang terhubung pada revisi yang lebih baru, karena revisi itu tidak dapat membawa pesan channel.

373* Gagal [login OAuth MCP](#authenticate-with-remote-mcp-servers) yang respons otorisasinya menamai penerbit yang tidak terduga.375* Gagal [login OAuth MCP](#authenticate-with-remote-mcp-servers) yang respons otorisasinya menamai penerbit yang tidak terduga.

376* Mengirim [kredensial OAuth MCP](#authenticate-with-remote-mcp-servers) hanya ke endpoint token yang disajikan melalui HTTPS atau di `localhost`, `127.0.0.1`, atau `::1`. Masuk gagal untuk server yang endpoint tokennya adalah `http://` biasa di tempat lain, seperti perangkat di jaringan lokal Anda. Lihat [Refusing to send credentials to non-https token endpoint](/docs/id/errors#refusing-to-send-credentials-to-non-https-token-endpoint).

374 377 

375Anthropic dapat menyimpan server tertentu pada protokol sebelumnya, atau di luar aliran itu, dengan flag fitur yang Claude Code ambil.378Anthropic dapat menyimpan server tertentu pada protokol sebelumnya, atau di luar aliran itu, dengan flag fitur yang Claude Code ambil.

376 379 


475 478 

476Panggilan 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.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.

477 480 

478Tugas 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).481Tugas muncul di [`/tasks`](/docs/id/commands#all-commands), tempat Anda juga dapat menghentikannya, dan tidak bertahan keluar dari sesi. Entri tugas menunjukkan kemajuan terbaru yang telah dilaporkan server.

482 

483Batas 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).

479 484 

480Atur 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.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.

481 486 


542 * 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

543* **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:

544 * server `stdio`: `command`, `args`, `env`549 * server `stdio`: `command`, `args`, `env`

545 * server `http`, `sse`, dan `ws`: `url`, `headers`, dan `headersHelper`. Sebelum v2.1.195, `headersHelper` melewatkan placeholder sebagai string literal550 * server `http`, `sse`, dan `ws`: `url`, `headers`, dan `headersHelper`

546* **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

547* **Jenis transport berganda**: dukungan untuk transport stdio, SSE, HTTP, dan WebSocket, meskipun dukungan transport mungkin bervariasi menurut server552* **Jenis transport berganda**: dukungan untuk transport stdio, SSE, HTTP, dan WebSocket, meskipun dukungan transport mungkin bervariasi menurut server

548 553 


1101 1106 

1102| Di mana Anda mengonfigurasi server | Direktori kerja |1107| Di mana Anda mengonfigurasi server | Direktori kerja |

1103| :- | :- |1108| :- | :- |

1104| [Plugin](/docs/id/plugins/components#mcp-servers) | Direktori root plugin. Memerlukan Claude Code v2.1.195 atau lebih baru |1109| [Plugin](/docs/id/plugins/components#mcp-servers) | Direktori root plugin |

1105| `.mcp.json` proyek atau server [cakupan lokal](#local-scope) | Direktori proyek tempat server dideklarasikan |1110| `.mcp.json` proyek atau server [cakupan lokal](#local-scope) | Direktori proyek tempat server dideklarasikan |

1106| File agen di proyek Anda, server dari opsi `mcpServers` SDK atau metode `setMcpServers()`, atau [`--mcp-config`](/docs/id/cli-reference) | [Direktori kerja utama](/docs/id/permissions#working-directories) sesi |1111| File agen di proyek Anda, server dari opsi `mcpServers` SDK atau metode `setMcpServers()`, atau [`--mcp-config`](/docs/id/cli-reference) | [Direktori kerja utama](/docs/id/permissions#working-directories) sesi |

1107| [Cakupan pengguna](#user-scope), [MCP terkelola](/docs/id/managed-mcp), [konektor claude.ai](#use-mcp-servers-from-claude-ai), atau file agen dari luar proyek Anda, termasuk dari direktori `--add-dir` | Direktori konfigurasi Anda, `~/.claude` kecuali Anda menetapkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars) |1112| [Cakupan pengguna](#user-scope), [MCP terkelola](/docs/id/managed-mcp), [konektor claude.ai](#use-mcp-servers-from-claude-ai), atau file agen dari luar proyek Anda, termasuk dari direktori `--add-dir` | Direktori konfigurasi Anda, `~/.claude` kecuali Anda menetapkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars) |


1288Organisasi Anda dapat menetapkan kontrol per-alat pada [connector claude.ai](https://claude.com/docs/connectors). Claude Code membaca pengaturan ini saat startup dan memberlakukannya secara lokal, kecuali di [sesi lokal dan SSH](#how-connectors-reach-claude-code) aplikasi desktop. Di sana, aplikasi desktop menahan alat `blocked` sebelum mengirimkan connector, dan pengaturan `ask` tidak mencapai Claude Code, jadi ia menerapkan [aturan izin](/docs/id/permissions) biasa sesi ke alat tersebut alih-alih meminta pada setiap panggilan. Di sesi tempat Claude Code mengambil connector sendiri, jalankan `/mcp` untuk melihat pengaturan mana yang berlaku untuk setiap alat pada connector.1293Organisasi Anda dapat menetapkan kontrol per-alat pada [connector claude.ai](https://claude.com/docs/connectors). Claude Code membaca pengaturan ini saat startup dan memberlakukannya secara lokal, kecuali di [sesi lokal dan SSH](#how-connectors-reach-claude-code) aplikasi desktop. Di sana, aplikasi desktop menahan alat `blocked` sebelum mengirimkan connector, dan pengaturan `ask` tidak mencapai Claude Code, jadi ia menerapkan [aturan izin](/docs/id/permissions) biasa sesi ke alat tersebut alih-alih meminta pada setiap panggilan. Di sesi tempat Claude Code mengambil connector sendiri, jalankan `/mcp` untuk melihat pengaturan mana yang berlaku untuk setiap alat pada connector.

1289 1294 

1290* **Alat diatur ke `ask`**: Claude Code meminta pada setiap panggilan dengan alasan `Your organization requires approval for this tool`. Prompt muncul bahkan dalam [mode izin](/docs/id/permissions#permission-modes) `acceptEdits`, `auto`, dan `bypassPermissions`, dan tidak pernah menawarkan opsi untuk mengingat pilihan Anda. [Aturan Allow](/docs/id/permissions) yang cocok dengan alat tidak melewati prompt juga. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya.1295* **Alat diatur ke `ask`**: Claude Code meminta pada setiap panggilan dengan alasan `Your organization requires approval for this tool`. Prompt muncul bahkan dalam [mode izin](/docs/id/permissions#permission-modes) `acceptEdits`, `auto`, dan `bypassPermissions`, dan tidak pernah menawarkan opsi untuk mengingat pilihan Anda. [Aturan Allow](/docs/id/permissions) yang cocok dengan alat tidak melewati prompt juga. Dalam mode `dontAsk`, yang tidak pernah meminta, Claude Code menolak panggilan sebagai gantinya.

1291* **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 Claude. Di sesi tempat Claude Code mengambil connector sendiri, daftar alat `/mcp` masih menunjukkan alat, ditandai `disabled by your organization`.

1297 

1298Aplikasi desktop dan chat claude.ai menerapkan pengaturan `blocked` yang sama, jadi Claude tidak dapat menggunakan alat yang diblokir 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.

1292 1299 

1293<h3 id="disable-claude-ai-connectors">1300<h3 id="disable-claude-ai-connectors">

1294 Nonaktifkan connectors claude.ai1301 Nonaktifkan connectors claude.ai


1440 1447 

1441Server Anda menerima argumen apa pun yang dipilih Claude, jadi terus validasi kombinasi di sisi server.1448Server Anda menerima argumen apa pun yang dipilih Claude, jadi terus validasi kombinasi di sisi server.

1442 1449 

1443Ketika Claude Code tidak dapat menghasilkan skema yang diterima API, atau pada deployment yang tidak menerima konfigurasi jarak jauh yang mengaktifkan penulisan ulang, Claude Code melewati satu tool tersebut, mencatat alasannya dalam log server, dan membiarkan tool server lainnya tetap tersedia. Versi lebih awal dari v2.1.195 melewati setiap tool yang skema input-nya memiliki root-level `anyOf`, `oneOf`, atau `allOf`.1450Ketika Claude Code tidak dapat menghasilkan skema yang diterima API, atau pada deployment yang tidak menerima konfigurasi jarak jauh yang mengaktifkan penulisan ulang, Claude Code melewati satu tool tersebut, mencatat alasannya dalam log server, dan membiarkan tool server lainnya tetap tersedia.

1444 1451 

1445<h2 id="tools-with-invalid-input-schemas">1452<h2 id="tools-with-invalid-input-schemas">

1446 Tools dengan skema input yang tidak valid1453 Tools dengan skema input yang tidak valid

memory.md +20 −10

Details

89 Tulis instruksi yang efektif89 Tulis instruksi yang efektif

90</h3>90</h3>

91 91 

92File CLAUDE.md dimuat ke jendela konteks di awal setiap sesi, mengonsumsi token bersama percakapan Anda. [Visualisasi jendela konteks](/docs/id/context-window) menunjukkan di mana CLAUDE.md dimuat relatif terhadap sisa konteks startup. Karena mereka adalah konteks daripada konfigurasi yang ditegakkan, cara Anda menulis instruksi mempengaruhi seberapa andal Claude mengikutinya. Instruksi yang spesifik, ringkas, dan terstruktur dengan baik bekerja paling baik.92Claude memperlakukan file CLAUDE.md sebagai konteks, bukan konfigurasi yang ditegakkan, jadi cara Anda menulis instruksi mempengaruhi seberapa andal Claude mengikutinya. Tulis instruksi yang cukup konkret untuk diverifikasi:

93 

94**Ukuran**: targetkan di bawah 200 baris per file CLAUDE.md. File yang lebih panjang mengonsumsi lebih banyak konteks dan mengurangi kepatuhan. Jika instruksi Anda berkembang besar, gunakan [aturan dengan cakupan path](#path-specific-rules) sehingga instruksi hanya dimuat ketika Claude bekerja dengan file yang cocok. Anda juga dapat membagi konten menjadi [impor](#import-additional-files) untuk organisasi, meskipun file yang diimpor masih dimuat dan memasuki jendela konteks saat peluncuran.

95 

96**Struktur**: gunakan header markdown dan bullet untuk mengelompokkan instruksi terkait. Claude memindai struktur dengan cara yang sama seperti pembaca: bagian yang terorganisir lebih mudah diikuti daripada paragraf padat.

97 

98**Spesifisitas**: tulis instruksi yang cukup konkret untuk diverifikasi. Sebagai contoh:

99 93 

100* "Gunakan indentasi 2 spasi" daripada "Format kode dengan benar"94* "Gunakan indentasi 2 spasi" daripada "Format kode dengan benar"

101* "Jalankan `npm test` sebelum commit" daripada "Uji perubahan Anda"95* "Jalankan `npm test` sebelum commit" daripada "Uji perubahan Anda"

102* "Handler API berada di `src/api/handlers/`" daripada "Jaga file tetap terorganisir"96* "Handler API berada di `src/api/handlers/`" daripada "Jaga file tetap terorganisir"

103 97 

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.98Jaga file Anda tetap pendek, terorganisir, dan konsisten:

99 

100* **Ukuran**: targetkan di bawah 200 baris per file CLAUDE.md. File yang lebih panjang mengonsumsi lebih banyak konteks dan mengurangi kepatuhan. Pindahkan instruksi yang penting hanya untuk bagian dari basis kode ke [aturan dengan cakupan path](#path-specific-rules), yang dimuat hanya ketika Claude bekerja dengan file yang cocok. [Impor](#import-additional-files) membantu Anda mengatur file yang panjang tetapi tidak mengurangi biaya konteksnya, karena file yang diimpor juga dimuat saat peluncuran.

101* **Struktur**: kelompokkan instruksi terkait di bawah header markdown dan bullet. Bagian yang terorganisir lebih mudah diikuti Claude daripada paragraf padat.

102* **Konsistensi**: jika dua instruksi 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. Untuk membuat Claude menemukannya untuk Anda, [jalankan audit prompt](#audit-your-instruction-files).

103 

104<h4 id="audit-your-instruction-files">

105 Audit file instruksi Anda

106</h4>

105 107 

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.108Untuk membuat Claude memeriksa file instruksi Anda untuk konten yang ketinggalan zaman atau bertentangan, jalankan `/doctor prompt-audit` dalam sesi. Claude 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 dengan edit yang diusulkan, dan tidak ada yang berubah dalam file Anda sampai Anda meminta Claude untuk menerapkannya.

107 109 

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.110Secara default, audit mencakup file CLAUDE.md, CLAUDE.local.md, dan AGENTS.md Anda, ditambah aturan, skills, perintah, subagent, dan gaya output di bawah `.claude/` dan `~/.claude/`. Untuk mengaudit satu file atau direktori sebagai gantinya, berikan jalurnya, misalnya `/doctor prompt-audit .claude/skills/deploy`.

111 

112Audit berjalan melalui skill `/claude-api` yang disertakan. Ini 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 113 

110<h3 id="import-additional-files">114<h3 id="import-additional-files">

111 Impor file tambahan115 Impor file tambahan


115 119 

116Jalur relatif dan absolut diizinkan. Jalur relatif diselesaikan relatif terhadap file yang berisi impor, bukan direktori kerja. File yang diimpor dapat secara rekursif mengimpor file lain, dengan kedalaman maksimal empat hop.120Jalur relatif dan absolut diizinkan. Jalur relatif diselesaikan relatif terhadap file yang berisi impor, bukan direktori kerja. File yang diimpor dapat secara rekursif mengimpor file lain, dengan kedalaman maksimal empat hop.

117 121 

122Untuk mengimpor file yang jalurnya berisi spasi, letakkan garis miring terbalik sebelum setiap spasi. Tanpa garis miring terbalik, jalur berakhir pada spasi pertama, bahkan ketika impor berada di baris tersendiri. Jalur yang dibungkus dalam tanda kutip tidak diimpor sama sekali, dengan atau tanpa garis miring terbalik. Impor ini memuat file dari folder bernama `Design Docs`:

123 

124```text theme={null}

125- Konvensi API @Design\ Docs/api-conventions.md

126```

127 

118Penguraian impor melewati rentang kode Markdown dan blok kode yang dibatasi. Untuk menyebutkan jalur di CLAUDE.md Anda tanpa mengimpornya, bungkus dalam backtick: menulis `` `@README` `` membuat teks literal, sementara `@README` di luar backtick mengimpor file.128Penguraian impor melewati rentang kode Markdown dan blok kode yang dibatasi. Untuk menyebutkan jalur di CLAUDE.md Anda tanpa mengimpornya, bungkus dalam backtick: menulis `` `@README` `` membuat teks literal, sementara `@README` di luar backtick mengimpor file.

119 129 

120Untuk menarik README, package.json, dan panduan alur kerja, referensikan dengan sintaks `@` di mana saja di CLAUDE.md Anda:130Untuk menarik README, package.json, dan panduan alur kerja, referensikan dengan sintaks `@` di mana saja di CLAUDE.md Anda:

model-config.md +11 −11

Details

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 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.68 Sonnet 5.5 memerlukan Claude Code v2.1.284 atau lebih baru, dan Opus 5.5 memerlukan v2.1.280 atau lebih baru. Jika permintaan untuk salah satunya dari versi yang lebih lama gagal, lihat [Claude Code tidak mendukung model ini](/docs/id/errors#claude-code-does-not-support-this-model). Jalankan `claude update` untuk upgrade.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


164 164 

165Ketika Claude Code tidak dapat mengetahui hook PreModelSwitch mana yang dikirimkan [plugin terkelola](/docs/id/settings-reference#enabledplugins) organisasi Anda, misalnya karena plugin terkelola gagal dimuat, itu menolak switch daripada menerapkannya tanpa diperiksa, dan itu memeriksa lagi pada setiap upaya baru. Lihat [Model switch diblokir oleh hook PreModelSwitch](/docs/id/errors#model-switch-was-blocked-by-a-premodelswitch-hook) untuk pesan dan pemulihan.165Ketika Claude Code tidak dapat mengetahui hook PreModelSwitch mana yang dikirimkan [plugin terkelola](/docs/id/settings-reference#enabledplugins) organisasi Anda, misalnya karena plugin terkelola gagal dimuat, itu menolak switch daripada menerapkannya tanpa diperiksa, dan itu memeriksa lagi pada setiap upaya baru. Lihat [Model switch diblokir oleh hook PreModelSwitch](/docs/id/errors#model-switch-was-blocked-by-a-premodelswitch-hook) untuk pesan dan pemulihan.

166 166 

167Ketika Anda beralih model melalui metode [`setModel()`](/docs/id/agent-sdk/overview) Agent SDK atau dari perangkat yang terhubung melalui [Remote Control](/docs/id/remote-control), atau aplikasi seperti [Desktop app](/docs/id/desktop) yang menjalankan Claude Code CLI beralih untuk Anda, Claude Code memeriksa bahwa string adalah yang dikenalinya sebelum menyimpannya. Pemeriksaan ini memerlukan Claude Code v2.1.200 atau lebih baru. Memeriksa pilihan Remote Control memerlukan Claude Code v2.1.260 atau lebih baru di mesin Anda. Di Anthropic API, Claude Code mengenali:167Ketika Anda beralih model melalui metode [`setModel()`](/docs/id/agent-sdk/overview) Agent SDK, melalui aplikasi seperti [Desktop app](/docs/id/desktop), atau dari perangkat yang terhubung melalui [Remote Control](/docs/id/remote-control), Claude Code memeriksa nilai pada switch:

168 168 

169* alias model169* **Agent SDK atau aplikasi**: dengan Claude Code v2.1.268 atau lebih baru, kecuali Claude Code menerima ID model secara lokal, seperti yang dilakukannya untuk [opsi model kustom](#add-a-custom-model-option) Anda, itu mengonfirmasi ID dengan penyedia Anda pertama kali sesi beralih ke sana. Konfirmasi berjalan di setiap penyedia, dan ID yang tidak ditawarkan penyedia Anda ditolak pada switch daripada gagal pada permintaan berikutnya Anda.

170* entri dari pemilih `/model`170* **Remote Control**: di Anthropic API, Claude Code memeriksa nilai secara lokal dan tidak mengirim permintaan.

171* nama apa pun yang dimulai dengan `claude-`

172* nilai yang Anda konfigurasi sendiri sebagai [opsi model kustom](#add-a-custom-model-option) atau dalam [`modelOverrides`](#override-model-ids-per-version)

173 171 

174Claude Code menolak string yang tidak dikenali dengan `Model "<name>" is not a recognized model id.` dan sesi menyimpan model saat ini, alih-alih menyimpan string dan gagal pada permintaan berikutnya. Lihat [referensi kesalahan](/docs/id/errors#model-is-not-a-recognized-model-id) untuk langkah pemulihan.172Lihat [Model bukan ID model yang dikenali](/docs/id/errors#model-is-not-a-recognized-model-id) dan [Model tidak ditemukan](/docs/id/errors#model-not-found) untuk pesan.

175 173 

176Pemeriksaan hanya berjalan di Anthropic API. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan di balik [gateway LLM](/docs/id/llm-gateway) atau `ANTHROPIC_BASE_URL` kustom, penyedia atau gateway Anda mendefinisikan nama model, jadi Claude Code melewatkan string apa pun tanpa memeriksanya. Pemeriksaan juga tidak mencakup flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau pengaturan `model`; nilai yang salah ketik di sana menghasilkan [Ada masalah dengan model yang dipilih](/docs/id/errors#theres-an-issue-with-the-selected-model) pada permintaan pertama. Claude Code masih dapat menulis [baris diagnostik model yang tidak dikenali](/docs/id/errors#unrecognized-model-id-on-a-request) pada waktu permintaan, di setiap penyedia.174Jika Anda menetapkan model dengan flag `--model`, variabel lingkungan `ANTHROPIC_MODEL`, atau pengaturan `model`, Claude Code tidak memeriksanya di muka, dan nilai yang salah ketik menghasilkan [Ada masalah dengan model yang dipilih](/docs/id/errors#theres-an-issue-with-the-selected-model) pada permintaan pertama.

177 175 

178Ketika model yang diminta memiliki tanggal pensiun terjadwal atau secara otomatis dipetakan ulang ke versi yang lebih baru, Claude Code menampilkan peringatan yang menyebutkan model yang diminta. Sesi interaktif menampilkannya sebagai pemberitahuan startup. Dari v2.1.182, peringatan yang sama ditulis ke stderr dalam [mode non-interaktif](/docs/id/headless) ketika menggunakan format output teks default. Pemeriksaan juga mencakup `model` yang ditetapkan dalam [frontmatter subagent](/docs/id/sub-agents). Peringatan stderr ditekan untuk `--output-format json` dan `stream-json`; baca model aktual dari bidang `modelUsage` dari [pesan hasil](/docs/id/headless#get-structured-output) sebagai gantinya.176Ketika model yang diminta memiliki tanggal pensiun terjadwal atau secara otomatis dipetakan ulang ke versi yang lebih baru, Claude Code menampilkan peringatan yang menyebutkan model yang diminta. Sesi interaktif menampilkannya sebagai pemberitahuan startup. Dari v2.1.182, peringatan yang sama ditulis ke stderr dalam [mode non-interaktif](/docs/id/headless) ketika menggunakan format output teks default. Pemeriksaan juga mencakup `model` yang ditetapkan dalam [frontmatter subagent](/docs/id/sub-agents). Peringatan stderr ditekan untuk `--output-format json` dan `stream-json`; baca model aktual dari bidang `modelUsage` dari [pesan hasil](/docs/id/headless#get-structured-output) sebagai gantinya.

179 177 


241 Batasi pemilihan model239 Batasi pemilihan model

242</h2>240</h2>

243 241 

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).242Administrator 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).

245 243 

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.244Pada 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.

247 245 


751| Atur default global | Jalankan `/config` dan alihkan Thinking Mode. Disimpan sebagai `alwaysThinkingEnabled` dalam `~/.claude/settings.json` |749| Atur default global | Jalankan `/config` dan alihkan Thinking Mode. Disimpan sebagai `alwaysThinkingEnabled` dalam `~/.claude/settings.json` |

752| 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) |750| 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) |

753 751 

754Pemikiran 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.752Pemikiran tidak dapat dimatikan pada Opus 5.5, Sonnet 5.5, atau model Fable. Alihan sesi dan `/config` row menampilkan `Thinking can't be turned off` untuk model ini alih-alih menawarkan switch, dan `alwaysThinkingEnabled: false` atau `MAX_THINKING_TOKENS=0` yang disimpan tidak berpengaruh di sana. Pada model ini, model memutuskan per langkah berapa banyak untuk berpikir berdasarkan tingkat usaha. Pengaturan yang disimpan berlaku lagi ketika Anda beralih ke model yang menerimanya.

755 753 

756Claude 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.754Claude 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.

757 755 


784 782 

785Jendela konteks 1M menggunakan harga model standar tanpa premium untuk token di luar 200K. Untuk paket di mana konteks diperpanjang disertakan dengan langganan Anda, penggunaan tetap tercakup oleh langganan Anda. Untuk paket yang mengakses konteks diperpanjang melalui kredit penggunaan, token ditagih ke kredit penggunaan.783Jendela konteks 1M menggunakan harga model standar tanpa premium untuk token di luar 200K. Untuk paket di mana konteks diperpanjang disertakan dengan langganan Anda, penggunaan tetap tercakup oleh langganan Anda. Untuk paket yang mengakses konteks diperpanjang melalui kredit penggunaan, token ditagih ke kredit penggunaan.

786 784 

787Jika akun Anda mendukung konteks 1M, opsi muncul dalam pengambil `/model` dalam versi terbaru Claude Code. Jika Anda tidak melihatnya, coba mulai ulang sesi Anda.785Jika akun Anda mendukung konteks 1M, opsi muncul dalam pengambil `/model` dalam versi terbaru Claude Code. Jika Anda tidak melihatnya, coba mulai ulang sesi Anda, dan pada penyedia pihak ketiga periksa apakah penerapan Anda [menyematkan model](#pin-models-for-third-party-deployments) dengan variabel `ANTHROPIC_DEFAULT_*_MODEL`.

788 786 

789Anda juga dapat menggunakan sufiks `[1m]` dengan alias model atau nama model lengkap:787Anda juga dapat menggunakan sufiks `[1m]` dengan alias model atau nama model lengkap:

790 788 


956* Hanya tambahkan `[1m]` ketika model yang mendasar [mendukung konteks 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model).954* Hanya tambahkan `[1m]` ketika model yang mendasar [mendukung konteks 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model).

957* Akhiran dibaca per variabel, bukan per model. Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, ID model tanpa `[1m]` dalam satu variabel menggunakan konteks 200K bahkan jika variabel lain menetapkan model yang sama dengan akhiran. Sonnet 5 selalu berjalan dengan jendela 1M pada penyedia ini dan tidak pernah memerlukan akhiran.955* Akhiran dibaca per variabel, bukan per model. Di Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, ID model tanpa `[1m]` dalam satu variabel menggunakan konteks 200K bahkan jika variabel lain menetapkan model yang sama dengan akhiran. Sonnet 5 selalu berjalan dengan jendela 1M pada penyedia ini dan tidak pernah memerlukan akhiran.

958 956 

957Ketika Anda menetapkan variabel `ANTHROPIC_DEFAULT_*_MODEL`, pemilih `/model` menampilkan satu baris untuk model itu menggantikan baris bawaan keluarga, termasuk baris konteks 1M apa pun. Untuk mencapai jendela 1M tanpa menambahkan akhiran ke variabel itu, pengguna Anda menjalankan `/model opus[1m]`, dan Claude Code menerapkan akhiran ke model yang dinamai variabel. `/model sonnet[1m]` bekerja dengan cara yang sama.

958 

959<Note>959<Note>

960 Allowlist `availableModels` yang dikirimkan melalui [MDM atau file pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) masih berlaku saat menggunakan penyedia pihak ketiga; [pengaturan yang dikelola server tidak dikirimkan di sana](/docs/id/server-managed-settings#platform-availability).960 Allowlist `availableModels` yang dikirimkan melalui [MDM atau file pengaturan terkelola](/docs/id/managed-settings#delivery-mechanisms) masih berlaku saat menggunakan penyedia pihak ketiga; [pengaturan yang dikelola server tidak dikirimkan di sana](/docs/id/server-managed-settings#platform-availability).

961 961 

Details

64}64}

65```65```

66 66 

67Dalam aplikasi Claude Desktop, sesi tab Code membaca pengaturan terkelola ini dari sumber yang [menjangkau setiap jenis sesi Desktop](/docs/id/desktop#managed-settings). Formulir OpenTelemetry untuk Cowork di bawah **Monitoring** dalam [pengaturan Data dan privasi](https://claude.ai/admin-settings/data-privacy-controls) konsol admin berlaku hanya untuk sesi Cowork, jadi baik CLI terminal maupun tab Code tidak mengekspor ke kolektor yang Anda tetapkan di sana.

68 

67Claude Code mengabaikan [variabel pengekspor OpenTelemetry](/docs/id/settings-reference#variables-claude-code-ignores-in-env) dalam `.claude/settings.json` dan `.claude/settings.local.json` repositori, jadi repositori tidak dapat menggunakannya untuk menghidupkan telemetri, memilih ke mana telemetri pergi, atau menangkap konten. Atur variabel tersebut dalam pengaturan terkelola, atau biarkan setiap pengembang mengaturnya dalam shell atau `~/.claude/settings.json` mereka. Repositori masih dapat mematikan sinyal dengan menetapkan pemilih pengekspor, seperti `OTEL_LOGS_EXPORTER`, ke `none`, kecuali pengaturan terkelola, file `--settings`, atau lingkungan tempat Anda memulai Claude Code menetapkan variabel tersebut.69Claude Code mengabaikan [variabel pengekspor OpenTelemetry](/docs/id/settings-reference#variables-claude-code-ignores-in-env) dalam `.claude/settings.json` dan `.claude/settings.local.json` repositori, jadi repositori tidak dapat menggunakannya untuk menghidupkan telemetri, memilih ke mana telemetri pergi, atau menangkap konten. Atur variabel tersebut dalam pengaturan terkelola, atau biarkan setiap pengembang mengaturnya dalam shell atau `~/.claude/settings.json` mereka. Repositori masih dapat mematikan sinyal dengan menetapkan pemilih pengekspor, seperti `OTEL_LOGS_EXPORTER`, ke `none`, kecuali pengaturan terkelola, file `--settings`, atau lingkungan tempat Anda memulai Claude Code menetapkan variabel tersebut.

68 70 

69Claude Code tidak meneruskan variabel lingkungan `OTEL_*` ke subproses yang dihasilkannya, termasuk alat Bash, hooks, server MCP, dan language servers. Aplikasi yang diinstrumentasi OpenTelemetry yang Anda jalankan melalui alat Bash tidak mewarisi titik akhir pengekspor atau header Claude Code, jadi atur variabel tersebut langsung dalam perintah jika aplikasi itu perlu mengekspor telemetrinya sendiri.71Claude Code tidak meneruskan variabel lingkungan `OTEL_*` ke subproses yang dihasilkannya, termasuk alat Bash, hooks, server MCP, dan language servers. Aplikasi yang diinstrumentasi OpenTelemetry yang Anda jalankan melalui alat Bash tidak mewarisi titik akhir pengekspor atau header Claude Code, jadi atur variabel tersebut langsung dalam perintah jika aplikasi itu perlu mengekspor telemetrinya sendiri.


582| Kunci dari `OTEL_RESOURCE_ATTRIBUTES` | Atribut kustom yang Anda tetapkan, seperti `department` atau `team.id`. Lihat [Dukungan organisasi multi-tim](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (default: true) |584| Kunci dari `OTEL_RESOURCE_ATTRIBUTES` | Atribut kustom yang Anda tetapkan, seperti `department` atau `team.id`. Lihat [Dukungan organisasi multi-tim](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (default: true) |

583| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | Identitas repositori sesi, berasal dari remote `origin`-nya. Lihat [Atribut repositori](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (default: false). Memerlukan Claude Code v2.1.269 atau lebih baru |585| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | Identitas repositori sesi, berasal dari remote `origin`-nya. Lihat [Atribut repositori](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (default: false). Memerlukan Claude Code v2.1.269 atau lebih baru |

584 586 

585Ketika Claude Code masuk ke [gateway aplikasi Claude](/docs/id/claude-apps-gateway), CLI memberi stempel ekspor dengan identitas terautentikasi dari sesi gateway: `user.id` adalah subjek IdP daripada pengenal instalasi anonim, `user.email` adalah email yang masuk, dan `user.groups` membawa keanggotaan grup IdP sebagai string yang dipisahkan koma. Setiap ekspor juga membawa `identity.source: gateway-oidc`. Identitas gateway diterapkan terakhir, jadi kunci `user.*` dan `identity.*` yang ditetapkan melalui `OTEL_RESOURCE_ATTRIBUTES` diabaikan pada sesi gateway.587Dalam sesi yang masuk ke [gateway aplikasi Claude](/docs/id/claude-apps-gateway) melalui `/login`, CLI memberi stempel ekspor dengan identitas terautentikasi: `user.id` adalah subjek IdP, `user.email` adalah email yang masuk, dan `user.groups` membawa keanggotaan grup IdP sebagai string yang dipisahkan koma. Setiap ekspor juga membawa `identity.source: gateway-oidc`. Identitas gateway diterapkan terakhir, jadi kunci `user.*` dan `identity.*` yang ditetapkan melalui `OTEL_RESOURCE_ATTRIBUTES` diabaikan pada sesi gateway.

588 

589Untuk atribut identitas pada sesi Claude Desktop dan Cowork yang terhubung melalui gateway, lihat [referensi `telemetry` gateway](/docs/id/claude-apps-gateway-config#telemetry).

586 590 

587Peristiwa juga menyertakan atribut berikut. Ini tidak pernah dilampirkan ke metrik karena akan menyebabkan kardinalitas tak terbatas:591Peristiwa juga menyertakan atribut berikut. Ini tidak pernah dilampirkan ke metrik karena akan menyebabkan kardinalitas tak terbatas:

588 592 


1540 Atribut tindakan untuk pengguna1544 Atribut tindakan untuk pengguna

1541</h3>1545</h3>

1542 1546 

1543[Atribut standar](#standard-attributes) pada setiap acara mencakup identitas pengguna yang diautentikasi: `user.email`, `user.account_uuid`, `user.account_id`, dan `organization.id` saat masuk dengan akun Claude atau, dalam [sesi cloud](/docs/id/claude-code-on-the-web), ketika kredensial sesi itu sendiri membawanya, ditambah `user.id` dan `session.id` per-sesi. `user.id` adalah pengidentifikasi berskop instalasi, kecuali pada sesi [Claude apps gateway](/docs/id/claude-apps-gateway), di mana ini adalah subjek IdP dari token yang dikeluarkan gateway.1547[Atribut standar](#standard-attributes) pada setiap acara mencakup identitas pengguna yang diautentikasi: `user.email`, `user.account_uuid`, `user.account_id`, dan `organization.id` saat masuk dengan akun Claude atau, dalam [sesi cloud](/docs/id/claude-code-on-the-web), ketika kredensial sesi itu sendiri membawanya, ditambah `user.id` dan `session.id` per-sesi. `user.id` adalah pengidentifikasi berskop instalasi, kecuali pada sesi yang masuk ke [Claude apps gateway](/docs/id/claude-apps-gateway) melalui `/login`, di mana ini adalah subjek IdP dari token yang dikeluarkan gateway.

1544 1548 

1545Dalam sesi yang dimulai pengembang, panggilan alat MCP, perintah Bash, dan pengeditan file oleh karena itu dikaitkan dengan pengembang tersebut. Claude Code tidak bertindak di bawah akun layanan terpisah di sana; identitas yang dicatat pada setiap acara adalah akun Claude pengembang itu sendiri, atau identitas IdP pengembang pada sesi [Claude apps gateway](/docs/id/claude-apps-gateway). Dalam sesi saluran Claude Tag, Claude bekerja sebagai [identitas bersama](/docs/id/cloud-environments#set-the-environment-a-claude-tag-channel-uses) organisasi Anda.1549Dalam sesi yang dimulai pengembang, panggilan alat MCP, perintah Bash, dan pengeditan file oleh karena itu dikaitkan dengan pengembang tersebut. Claude Code tidak bertindak di bawah akun layanan terpisah di sana; identitas yang dicatat pada setiap acara adalah akun Claude pengembang itu sendiri, atau identitas IdP pengembang pada sesi [Claude apps gateway](/docs/id/claude-apps-gateway). Dalam sesi saluran Claude Tag, Claude bekerja sebagai [identitas bersama](/docs/id/cloud-environments#set-the-environment-a-claude-tag-channel-uses) organisasi Anda.

1546 1550 

1547Saat Claude Code diautentikasi dengan kunci API langsung, atau terhadap Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry, tidak ada akun Claude dalam sesi dan hanya `user.id` dan `session.id` yang diisi. Dalam penerapan ini, lampirkan identitas pengguna sendiri dengan `OTEL_RESOURCE_ATTRIBUTES`, atur per pengguna melalui file [pengaturan terkelola](#administrator-configuration) atau pembungkus peluncuran. Sesi Claude apps gateway tidak memerlukan apa pun dari ini: CLI mencap identitas IdP secara otomatis, seperti yang dijelaskan dalam [Atribut standar](#standard-attributes).1551Saat Claude Code diautentikasi dengan kunci API langsung, atau terhadap Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry, tidak ada akun Claude dalam sesi dan hanya `user.id` dan `session.id` yang diisi. Dalam penerapan ini, lampirkan identitas pengguna sendiri dengan `OTEL_RESOURCE_ATTRIBUTES`, atur per pengguna melalui file [pengaturan terkelola](#administrator-configuration) atau pembungkus peluncuran. Sesi Claude apps gateway tidak memerlukan apa pun dari ini: lihat [Atribut standar](#standard-attributes) untuk identitas yang diekspor mereka.

1548 1552 

1549```bash theme={null}1553```bash theme={null}

1550export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1554export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."

Details

200</Note>200</Note>

201 201 

202<h2 id="streaming-idle-watchdogs">202<h2 id="streaming-idle-watchdogs">

203 Watchdog idle streaming203 Streaming idle watchdogs

204</h2>204</h2>

205 205 

206Claude Code menjalankan empat timer independen yang menghentikan respons model streaming ketika diam, sehingga koneksi yang mati gagal dan mencoba ulang alih-alih menggantung. Tenggat waktu byte pertama mencakup penantian header respons, sebelum ada respons yang tiba. Masing-masing dari tiga lainnya memantau respons langsung untuk sinyal yang berbeda.206Claude Code menjalankan empat timer independen yang menghentikan respons model streaming ketika diam, sehingga koneksi yang mati gagal dan mencoba ulang alih-alih menggantung. Tenggat waktu byte pertama mencakup penantian header respons, sebelum ada respons yang tiba. Masing-masing dari tiga lainnya memantau respons langsung untuk sinyal yang berbeda.


208| Timer | Menghentikan ketika | Berjalan pada | Tenggat waktu default |208| Timer | Menghentikan ketika | Berjalan pada | Tenggat waktu default |

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

210| First-byte deadline | Tidak ada header respons yang tiba setelah Claude Code mengirim permintaan | Direct Anthropic API dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), termasuk melalui proxy HTTPS, tetapi tidak ketika `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL` merutekannya melalui [gateway](/docs/id/gateways). Opt-in pada Amazon Bedrock dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; tidak berjalan pada Google Cloud's Agent Platform atau Microsoft Foundry | 180 detik pada direct Anthropic API, 300 detik di tempat lain, ditambah satu detik per 32KB badan permintaan |210| First-byte deadline | Tidak ada header respons yang tiba setelah Claude Code mengirim permintaan | Direct Anthropic API dan [Claude Platform on AWS](/docs/id/claude-platform-on-aws), termasuk melalui proxy HTTPS, tetapi tidak ketika `ANTHROPIC_BASE_URL` atau `ANTHROPIC_AWS_BASE_URL` merutekannya melalui [gateway](/docs/id/gateways). Opt-in pada Amazon Bedrock dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; tidak berjalan pada Google Cloud's Agent Platform atau Microsoft Foundry | 180 detik pada direct Anthropic API, 300 detik di tempat lain, ditambah satu detik per 32KB badan permintaan |

211| Event-level watchdog | Tidak ada event respons yang diurai. Pada koneksi di mana byte-level watchdog berjalan, byte yang tiba, termasuk keep-alive pings, juga mengatur ulang watchdog ini, selama sekitar lima menit tanpa event yang diurai | Setiap penyedia | 300 detik |211| Event-level watchdog | Tidak ada event respons yang diurai. Pada koneksi di mana byte-level watchdog berjalan selain Amazon Bedrock, byte yang tiba, termasuk keep-alive pings, juga mengatur ulang watchdog ini, selama sekitar lima menit tanpa event yang diurai | Setiap penyedia | 300 detik |

212| Byte-level watchdog | Tidak ada byte yang tiba di wire, termasuk SSE keep-alive pings | Direct Anthropic API, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan [gateway](/docs/id/gateways) koneksi, termasuk `ANTHROPIC_BASE_URL` kustom. Opt-in pada Amazon Bedrock `vnd.amazon.eventstream` respons dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; tidak berjalan pada Google Cloud's Agent Platform atau Microsoft Foundry | 180 detik pada direct Anthropic API, 300 detik di tempat lain |212| Byte-level watchdog | Tidak ada byte yang tiba di wire, termasuk SSE keep-alive pings | Direct Anthropic API, [Claude Platform on AWS](/docs/id/claude-platform-on-aws), dan [gateway](/docs/id/gateways) koneksi, termasuk `ANTHROPIC_BASE_URL` kustom. Opt-in pada respons Amazon Bedrock `vnd.amazon.eventstream` dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; tidak berjalan pada Google Cloud's Agent Platform atau Microsoft Foundry | 180 detik pada direct Anthropic API, 300 detik di tempat lain |

213| Body idle timeout | Tidak ada byte yang tiba selama 5 menit | Penyedia selain direct Anthropic API dan Claude Platform on AWS, kecuali [`API_FORCE_IDLE_TIMEOUT`](/docs/id/env-vars) mengubahnya | 5 menit |213| Body idle timeout | Tidak ada byte yang tiba selama 5 menit | Penyedia selain direct Anthropic API, Claude Platform on AWS, dan Amazon Bedrock dengan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` diatur, kecuali [`API_FORCE_IDLE_TIMEOUT`](/docs/id/env-vars) mengubahnya | 5 menit |

214 

215Jika Anda menetapkan `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, byte-level watchdog menggantikan body idle timeout pada Bedrock daripada berjalan bersama dengannya. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` kemudian juga mengatur berapa lama aliran Bedrock dapat tetap diam sebelum Claude Code memperlakukan koneksi sebagai mati, dalam batas yang tercantum di bawah. Byte yang tiba masih tidak mengatur ulang event-level watchdog pada Bedrock. Dengan debug logging aktif, setiap aliran Bedrock kemudian mencatat pesan debug yang dimulai dengan `wire-heartbeat: _chunkTimes absent`.

214 216 

215Konfigurasikan timer dengan variabel-variabel ini, masing-masing dirinci dalam [referensi variabel lingkungan](/docs/id/env-vars):217Konfigurasikan timer dengan variabel-variabel ini, masing-masing dirinci dalam [referensi variabel lingkungan](/docs/id/env-vars):

216 218 


218* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` menetapkan tenggat waktu kedua watchdog. Claude Code menaikkan nilai di bawah 5 menit menjadi 5 menit, dan membatasi nilai pada 30 menit untuk byte-level watchdog.220* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` menetapkan tenggat waktu kedua watchdog. Claude Code menaikkan nilai di bawah 5 menit menjadi 5 menit, dan membatasi nilai pada 30 menit untuk byte-level watchdog.

219* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` menetapkan tenggat waktu byte-level watchdog tanpa mengubah event-level watchdog, diklem antara 10 detik dan 30 menit, dan mengambil prioritas atas `CLAUDE_STREAM_IDLE_TIMEOUT_MS` untuk watchdog itu.221* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` menetapkan tenggat waktu byte-level watchdog tanpa mengubah event-level watchdog, diklem antara 10 detik dan 30 menit, dan mengambil prioritas atas `CLAUDE_STREAM_IDLE_TIMEOUT_MS` untuk watchdog itu.

220* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` menetapkan first-byte deadline secara langsung. Biarkan tidak diatur dan Claude Code menggunakan tenggat waktu byte-level watchdog, sehingga `CLAUDE_STREAM_IDLE_TIMEOUT_MS` dan `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` juga mengubah deadline. Untuk klem, tunjangan unggah, batas `API_TIMEOUT_MS`, dan berapa lama percobaan ulang menunggu setelah penghentian tanpa respons, lihat [No response from API](/docs/id/errors#no-response-from-api).222* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` menetapkan first-byte deadline secara langsung. Biarkan tidak diatur dan Claude Code menggunakan tenggat waktu byte-level watchdog, sehingga `CLAUDE_STREAM_IDLE_TIMEOUT_MS` dan `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` juga mengubah deadline. Untuk klem, tunjangan unggah, batas `API_TIMEOUT_MS`, dan berapa lama percobaan ulang menunggu setelah penghentian tanpa respons, lihat [No response from API](/docs/id/errors#no-response-from-api).

221* `API_FORCE_IDLE_TIMEOUT` diatur ke `0` mematikan body idle timeout, dan diatur ke `1` menghidupkannya untuk setiap penyedia. Watchdog berjalan independen darinya, jadi untuk membiarkan stream berhenti lebih lama dari ambang batas mereka, juga naikkan atau nonaktifkan mereka.223* `API_FORCE_IDLE_TIMEOUT` diatur ke `0` mematikan body idle timeout, dan diatur ke `1` menghidupkannya untuk setiap penyedia. Watchdog berjalan independen darinya, jadi untuk membiarkan aliran berhenti lebih lama dari ambang batas mereka, juga naikkan atau nonaktifkan mereka.

222 224 

223Ketika watchdog menghentikan stream yang macet, Claude Code memperlakukan penghentian sebagai kegagalan mid-stream, dan apa yang Anda lihat tergantung pada seberapa jauh respons telah sampai. Claude Code mencoba ulang permintaan atau mengakhiri giliran dengan kesalahan, menyimpan output yang selesai dan menampilkan [pemberitahuan respons tidak lengkap](/docs/id/errors#the-response-above-may-be-incomplete), atau mengakhiri giliran secara normal. [Percobaan ulang otomatis](/docs/id/errors#automatic-retries) mengatakan di mana setiap hasil berlaku.225Ketika watchdog menghentikan aliran yang macet, Claude Code memperlakukan penghentian sebagai kegagalan mid-stream, dan apa yang Anda lihat tergantung pada seberapa jauh respons telah sampai. Claude Code mencoba ulang permintaan atau mengakhiri giliran dengan kesalahan, menyimpan output yang selesai dan menampilkan [pemberitahuan respons tidak lengkap](/docs/id/errors#the-response-above-may-be-incomplete), atau mengakhiri giliran secara normal. [Percobaan ulang otomatis](/docs/id/errors#automatic-retries) mengatakan di mana setiap hasil berlaku.

224 226 

225Dalam [sesi non-interaktif](/docs/id/headless), dan untuk respons subagent dalam sesi apa pun, Claude Code mungkin terlebih dahulu meminta Claude untuk melanjutkan respons yang dipotong; [entri pemberitahuan itu](/docs/id/errors#the-response-above-may-be-incomplete) mengatakan kapan itu terjadi dan kapan Anda masih melihat pemberitahuan.227Dalam [sesi non-interaktif](/docs/id/headless), dan untuk respons subagent dalam sesi apa pun, Claude Code mungkin terlebih dahulu meminta Claude untuk melanjutkan respons yang dipotong; [entri pemberitahuan itu](/docs/id/errors#the-response-above-may-be-incomplete) mengatakan kapan itu terjadi dan kapan Anda masih melihat pemberitahuan.

226 228 


277 279 

278Jika organisasi GitHub Enterprise Cloud Anda membatasi akses berdasarkan alamat IP, aktifkan [IP allow list inheritance untuk GitHub Apps yang diinstal](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) dan juga [tambahkan entri daftar putih](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) untuk [alamat IP keluar](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Warisan mencakup hanya permintaan yang dibuat Claude GitHub App sebagai instalasi, bukan permintaan yang dibuat atas nama pengguna Anda. Untuk firewall lain, lihat [Anthropic API IP addresses](https://platform.claude.com/docs/en/api/ip-addresses).280Jika organisasi GitHub Enterprise Cloud Anda membatasi akses berdasarkan alamat IP, aktifkan [IP allow list inheritance untuk GitHub Apps yang diinstal](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) dan juga [tambahkan entri daftar putih](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) untuk [alamat IP keluar](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Warisan mencakup hanya permintaan yang dibuat Claude GitHub App sebagai instalasi, bukan permintaan yang dibuat atas nama pengguna Anda. Untuk firewall lain, lihat [Anthropic API IP addresses](https://platform.claude.com/docs/en/api/ip-addresses).

279 281 

280Untuk instans [GitHub Enterprise Server](/docs/id/github-enterprise-server) yang dihosting sendiri di belakang firewall, daftarkan putih [alamat IP keluar](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic sehingga infrastruktur Anthropic dapat menjangkau host GHES Anda untuk mengkloning repositori dan memposting komentar ulasan. Sesi di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments-deploy#configure-git) menjangkau host GHES Anda dari dalam jaringan Anda sebagai gantinya, jadi paparan itu hanya berlaku untuk sesi yang dihosting Anthropic, untuk alur pra-sesi yang dihosting seperti pemilih repositori, dan untuk runner yang dihosting sendiri yang memilih [Anthropic git proxy](/docs/id/self-hosted-environments-deploy#use-the-anthropic-git-proxy), yang mengambil dari sisi Anthropic. Untuk host GHES yang hanya dapat dirutekan di dalam jaringan Anda, [SCM connector](/docs/id/self-hosted-environments-reference#scm-connector-flags) membawa alur pra-sesi yang dihosting melalui koneksi keluar sebagai gantinya, jadi daftar putih tidak diperlukan untuk mereka.282Untuk instans [GitHub Enterprise Server](/docs/id/github-enterprise-server) yang dihosting sendiri di belakang firewall, daftarkan putih [alamat IP keluar](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic sehingga infrastruktur Anthropic dapat menjangkau host GHES Anda untuk mengkloning repositori dan memposting komentar ulasan. Sesi di [lingkungan yang dihosting sendiri](/docs/id/self-hosted-environments) menjangkau host GHES Anda dari dalam jaringan Anda sebagai gantinya, jadi paparan itu hanya berlaku untuk sesi yang dihosting Anthropic, untuk alur pra-sesi yang dihosting seperti pemilih repositori, dan untuk runner yang dihosting sendiri yang memilih [Anthropic git proxy](/docs/id/self-hosted-environments-deploy#use-the-anthropic-git-proxy), yang mengambil dari sisi Anthropic. [SCM connector](/docs/id/self-hosted-environments-reference#scm-connector-flags) tidak tersedia, jadi alur pra-sesi yang dihosting tidak dapat menjangkau host GHES yang hanya dapat dirutekan di dalam jaringan Anda.

281 283 

282<h3 id="desktop-and-claude-ai">284<h3 id="desktop-and-claude-ai">

283 Desktop dan claude.ai285 Desktop dan claude.ai

Details

297 297 

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

299 299 

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.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 di setiap mode izin.

301 301 

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

303 303 


309 309 

310* **Paket**: Semua paket.310* **Paket**: Semua paket.

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).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).

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.312* **Model**: pada API Anthropic 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, Platform Agen 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.

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.313* **Penyedia**: tersedia secara default pada API Anthropic, Claude Platform di AWS, Amazon Bedrock, Platform Agen Google Cloud, Microsoft Foundry, dan sesi gateway aplikasi Claude yang masuk.

314 314 

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.315Jika Claude Code melaporkan mode otomatis sebagai 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 membuat mode otomatis tetap mati sampai sesi berakhir, jadi mulai sesi baru nanti.

316 316 

317Pesan terpisah yang menyebutkan model dan mengatakan mode otomatis "tidak dapat menentukan keamanan" tindakan berarti permintaan pengklasifikasi gagal. Kegagalan itu biasanya bersifat sementara, tetapi di Amazon Bedrock dapat berulang sampai akun Anda dapat memanggil model yang disebutkan. Lihat [referensi kesalahan](/docs/id/errors#auto-mode-cannot-determine-the-safety-of-an-action) untuk penyebab dan apa yang harus dilakukan.317Pesan terpisah yang menyebutkan model dan mengatakan mode otomatis "tidak dapat menentukan keamanan" tindakan berarti permintaan pengklasifikasi gagal. Kegagalan itu biasanya bersifat sementara, tetapi di Amazon Bedrock dapat berulang sampai akun Anda dapat memanggil model yang disebutkan. Lihat [referensi kesalahan](/docs/id/errors#auto-mode-cannot-determine-the-safety-of-an-action) untuk penyebab dan apa yang harus dilakukan.

318 318 

319Jika Anda menetapkan `defaultMode: "auto"` dalam [pengaturan](/docs/id/settings-reference#all-settings) dan sesi terminal dimulai dalam mode Manual tanpa kesalahan, pengaturan kemungkinan berada di `.claude/settings.json` atau `.claude/settings.local.json`. `auto` tidak berlaku dari file tersebut. Pindahkan ke `~/.claude/settings.json`. Untuk percakapan yang dimulai ekstensi VS Code, periksa daftar ekstensi sendiri dalam [Beralih mode izin](#switch-permission-modes) sebagai gantinya.319Jika Anda menetapkan `defaultMode: "auto"` dalam [pengaturan](/docs/id/settings-reference#all-settings) dan sesi terminal dimulai dalam mode Manual tanpa kesalahan, pengaturan kemungkinan ada di `.claude/settings.json` atau `.claude/settings.local.json`. `auto` tidak berlaku dari file tersebut. Pindahkan ke `~/.claude/settings.json`. Untuk percakapan yang dimulai ekstensi VS Code, periksa daftar ekstensi sendiri dalam [Beralih mode izin](#switch-permission-modes) sebagai gantinya.

320 320 

321<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">321<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">

322 Mode otomatis di Bedrock, Agent Platform, atau Foundry322 Mode otomatis di Bedrock, Platform Agen, atau Foundry

323</h3>323</h3>

324 324 

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.325Di [Amazon Bedrock](/docs/id/amazon-bedrock), [Platform Agen 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 yang dijelaskan [Mulai dalam mode izin berbeda](#start-in-a-different-mode), atau pilih mode izin dari indikator mode ekstensi VS Code.

326 326 

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

328 328 

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.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 menyimpan mode otomatis sampai berakhir.

330 330 

331Dalam v2.1.158 hingga v2.1.206, mode otomatis mati di penyedia ini sampai Anda menetapkan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, dan Claude Code mengabaikan `defaultMode: "auto"` di penyedia ini kecuali variabel juga ditetapkan. Variabel masih diterima untuk kompatibilitas dan tidak berpengaruh dari v2.1.207 ke depan.331Dalam v2.1.158 hingga v2.1.206, mode otomatis dimatikan di penyedia ini sampai Anda menetapkan `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, dan Claude Code mengabaikan `defaultMode: "auto"` di penyedia ini kecuali variabel juga ditetapkan. Variabel masih diterima untuk kompatibilitas dan tidak berpengaruh dari v2.1.207 ke depan.

332 332 

333<h3 id="server-side-classifier-review">333<h3 id="server-side-classifier-review">

334 Tinjauan pengklasifikasi sisi server334 Tinjauan pengklasifikasi di sisi server

335</h3>335</h3>

336 336 

337Dalam mode otomatis, Claude Code dapat meminta server untuk memeriksa tindakan yang [urutan keputusan](#how-the-classifier-evaluates-actions) mengirim untuk tinjauan, sebagai bagian dari permintaan model sesi, sebagai pengganti mengirim permintaan pengklasifikasi sendiri. Sesi ini bertanya:337Dalam mode otomatis, Claude Code dapat meminta server untuk memeriksa tindakan yang [urutan keputusan](#how-the-classifier-evaluates-actions) mengirimkan untuk tinjauan, sebagai bagian dari permintaan model sesi, sebagai pengganti mengirim permintaan pengklasifikasi sendiri. Sesi ini bertanya:

338 338 

339* **Koneksi langsung ke Anthropic API**: dalam sesi terminal interaktif, pada setiap paket claude.ai dan pada akun yang menggunakan Claude API, saat Anthropic meluncurkannya. Memerlukan Claude Code v2.1.271 atau lebih baru pada paket Pro, Max, dan Team, dan v2.1.278 atau lebih baru pada paket Enterprise dan akun Claude API. Dari v2.1.282, sesi yang [tidak mengambil bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), misalnya karena Anda mematikan telemetri, meminta server secara default dalam sesi apa pun.339* **Koneksi langsung ke API Anthropic**: dalam sesi terminal interaktif, di setiap paket claude.ai dan di akun yang menggunakan Claude API, saat Anthropic meluncurkannya. Memerlukan Claude Code v2.1.271 atau lebih baru pada paket Pro, Max, dan Team, dan v2.1.278 atau lebih baru pada paket Enterprise dan akun Claude API. Dari v2.1.282, sesi yang [tidak mengambil bendera fitur](/docs/id/env-vars#features-that-need-feature-flag-fetching), misalnya karena Anda mematikan telemetri, meminta server secara default dalam sesi apa pun.

340* **Penyedia cloud, atau gateway LLM atau proxy**: di [Claude Platform di AWS](/docs/id/claude-platform-on-aws), Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry, dan kapan pun Anda menunjuk `ANTHROPIC_BASE_URL` ke [gateway LLM atau proxy](/docs/id/llm-gateway), apa pun paket Anda. Meminta secara default memerlukan Claude Code v2.1.278 atau lebih baru.340* **Penyedia cloud, atau gateway LLM atau proxy**: di [Claude Platform di AWS](/docs/id/claude-platform-on-aws), Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry, dan kapan pun Anda menunjuk `ANTHROPIC_BASE_URL` ke [gateway LLM atau proxy](/docs/id/llm-gateway), apa pun paket Anda. Meminta secara default memerlukan Claude Code v2.1.278 atau lebih baru.

341* **Sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk**: memerlukan Claude Code v2.1.280 atau lebih baru341* **Sesi [gateway aplikasi Claude](/docs/id/claude-apps-gateway) yang masuk**: memerlukan Claude Code v2.1.280 atau lebih baru

342 342 

343Di mana server meninjau tindakan, vonis mereka memutuskannya. Dua hasil lain dimungkinkan:343Di mana server meninjau tindakan, putusannya menentukan mereka. Dua hasil lain dimungkinkan:

344 344 

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.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) di akun di mana permintaan tersebut ditagih.

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.346* **Server tidak memberikan putusan 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 API Anthropic, ini juga terjadi ketika pemeriksaan server gagal untuk tindakan, misalnya dengan waktu habis. [Server tidak mengembalikan putusan keamanan](/docs/id/errors#the-server-returned-no-safety-verdict) mencakup pesan penolakan, apa yang terjadi ketika penolakan berulang, dan apa yang harus dilakukan.

347 347 

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.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 API Anthropic, 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 yang dijelaskan [Nonaktifkan kemampuan pra-rilis](/docs/id/llm-gateway-protocol#disable-pre-release-capabilities).

349 349 

350<h3 id="what-the-classifier-blocks-by-default">350<h3 id="what-the-classifier-blocks-by-default">

351 Apa yang diblokir pengklasifikasi secara default351 Apa yang diblokir pengklasifikasi secara default

352</h3>352</h3>

353 353 

354Pengklasifikasi mempercayai direktori kerja Anda dan remote yang dikonfigurasi untuknya ketika sesi dimulai. Remote yang ditambahkan atau ditunjuk ulang selama sesi dengan `git remote add` atau `git remote set-url` tidak dipercaya, dan semuanya diperlakukan sebagai eksternal sampai Anda [mengonfigurasi infrastruktur terpercaya](/docs/id/auto-mode-config). Sebelum v2.1.200, remote yang ditambahkan pertengahan sesi juga dipercaya.354Pengklasifikasi mempercayai direktori kerja Anda dan remote yang dikonfigurasi untuknya ketika sesi dimulai. Remote yang ditambahkan atau ditunjuk ulang selama sesi dengan `git remote add` atau `git remote set-url` tidak dipercaya, dan semuanya diperlakukan sebagai eksternal sampai Anda [mengonfigurasi infrastruktur terpercaya](/docs/id/auto-mode-config). Sebelum v2.1.200, remote yang ditambahkan di tengah sesi juga dipercaya.

355 355 

356**Diblokir secara default**:356**Diblokir secara default**:

357 357 


363* Memodifikasi infrastruktur bersama363* Memodifikasi infrastruktur bersama

364* Menghancurkan file secara tidak dapat dibalikkan yang ada sebelum sesi364* Menghancurkan file secara tidak dapat dibalikkan yang ada sebelum sesi

365* Dorong paksa365* Dorong paksa

366* Melakukan komit atau mendorong perubahan yang akan mengirim rahasia atau data sensitif di luar repositori saat dijalankan, atau memperluas apa yang diekspos penerapan. Ini mencakup alur kerja CI atau konfigurasi penerapan yang meneruskan rahasia ke tujuan yang tidak sudah menerimanya, skrip atau langkah penyiapan yang membaca penyimpanan rahasia dan mengirim data keluar, dan perubahan konfigurasi yang memperluas apa yang dipublikasikan penerapan, seperti pengaturan registri, visibilitas, artefak, atau sourcemap. Pemeriksaan berlaku di cabang apa pun, berlaku bahkan ketika repositori bersifat publik, dan terbang ketika perubahan dilakukan komit atau didorong, terlepas dari apakah komit atau dorong itu memicu pipeline; menghapusnya memerlukan penamaan efek eksekusi, bukan hanya komit atau dorong. Sebelum v2.1.211, pemeriksaan ini dibatasi pada cabang default sebagai gantinya: dorong di sana diblokir ketika membawa konten sensitif, perubahan tersembunyi atau salah dideskripsikan relatif terhadap apa yang Anda minta, konten yang diportasi dari luar repositori, atau dirutekan di sekitar tinjauan yang Anda minta366* Melakukan komit atau mendorong perubahan yang akan mengirim rahasia atau data sensitif di luar repositori saat dijalankan, atau memperluas apa yang diekspos penerapan. Ini mencakup alur kerja CI atau konfigurasi penerapan yang meneruskan rahasia ke tujuan yang belum menerimanya, skrip atau langkah penyiapan yang membaca penyimpanan rahasia dan mengirim data keluar, dan perubahan konfigurasi yang memperluas apa yang dipublikasikan penerapan, seperti pengaturan registri, visibilitas, artefak, atau sourcemap. Pemeriksaan berlaku di cabang apa pun, berlaku bahkan ketika repositori bersifat publik, dan terbang ketika perubahan dilakukan komit atau didorong, terlepas dari apakah komit atau dorong itu memicu pipeline; menghapusnya memerlukan penamaan efek eksekusi, bukan hanya komit atau dorong. Sebelum v2.1.211, pemeriksaan ini dibatasi pada cabang default sebagai gantinya: dorong di sana diblokir ketika membawa konten sensitif, perubahan tersembunyi atau salah dideskripsikan relatif terhadap apa yang Anda minta, konten yang diportasi dari luar repositori, atau dirutekan di sekitar tinjauan yang Anda minta

367* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop`, atau `git stash clear`, yang pengklasifikasi asumsikan akan membuang perubahan yang tidak dilakukan komit367* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop`, atau `git stash clear`, yang pengklasifikasi asumsikan akan membuang perubahan yang tidak dilakukan komit

368* `git commit --amend` ketika komit di HEAD tidak dibuat dalam sesi ini368* `git commit --amend` ketika komit di HEAD tidak dibuat dalam sesi ini

369* Dari v2.1.198, `git commit --amend` ketika komit di HEAD sudah didorong. Penulisan ulang pesan saja tidak diblokir: `--amend -m` tanpa apa pun yang baru dipentaskan, pada komit yang dibuat Claude selama sesi ini369* Dari v2.1.198, `git commit --amend` ketika komit di HEAD sudah didorong. Reword hanya pesan tidak diblokir: `--amend -m` tanpa apa pun yang baru dipentaskan, pada komit yang dibuat Claude selama sesi ini

370* `terraform destroy`, `pulumi destroy`, `cdk destroy`, atau `terragrunt destroy`, dan menerapkan rencana yang menghancurkan sumber daya370* `terraform destroy`, `pulumi destroy`, `cdk destroy`, atau `terragrunt destroy`, dan menerapkan rencana yang menghancurkan sumber daya

371 

372Claude Code v2.1.195 dan lebih baru memblokir lebih banyak kategori secara default. Beberapa bergantung pada entri [lingkungan](/docs/id/auto-mode-config#define-trusted-infrastructure), seperti target remote sensitif dan cakupan IaC yang dilindungi, yang dapat Anda sempit ke nama konkret.

373 

374* Menulis ke pengelola rahasia, atau mengubah catatan DNS atau sertifikat TLS371* Menulis ke pengelola rahasia, atau mengubah catatan DNS atau sertifikat TLS

375* Menggabungkan permintaan tarik yang tidak ada manusia yang menyetujui, menyetujui permintaan tarik Claude sendiri, atau menonaktifkan pemeriksaan CI372* Menggabungkan permintaan tarik yang tidak ada manusia yang menyetujui, menyetujui permintaan tarik Claude sendiri, atau menonaktifkan pemeriksaan CI

376* Memposting komentar yang dengan sendirinya adalah perintah untuk otomasi, seperti `atlantis apply` atau `/deploy` atau `/merge` bot373* Memposting komentar yang merupakan perintah itu sendiri untuk otomasi, seperti `atlantis apply` atau `/deploy` atau `/merge` bot

377* Mengalihkan, merampingkan, atau menghapus bendera fitur produksi374* Mengalihkan, merampingkan, atau menghapus bendera fitur produksi

378* Menerapkan perubahan infrastruktur ke cakupan IaC yang dilindungi, atau mengalirkan dan menghapus node kluster375* Menerapkan perubahan infrastruktur ke cakupan IaC yang dilindungi, atau mengalirkan dan menghapus node cluster

379* Penulisan ke kluster komputasi bersama yang melampaui sumber daya yang Anda beri nama, seperti pemilih label atau `--all` yang menangkap pekerjaan pengguna lain376* Menulis ke cluster komputasi bersama yang melampaui sumber daya yang Anda beri nama, seperti pemilih label atau `--all` yang menangkap pekerjaan pengguna lain

380* Membuat sumber daya Kubernetes yang berjalan di setiap node atau mencegat lalu lintas kluster, seperti DaemonSets dan webhook penerimaan377* Membuat sumber daya Kubernetes yang berjalan di setiap node atau mencegat lalu lintas cluster, seperti DaemonSets dan webhook penerimaan

381* Shell interaktif atau port-forward ke target remote sensitif378* Shell interaktif atau port-forward ke target jarak jauh sensitif

382* Membuka terowongan atau shell terbalik yang membuat layanan lokal dapat diakses dari internet publik379* Membuka terowongan atau shell terbalik yang membuat layanan lokal dapat diakses dari internet publik

383* Mencetak kredensial atau token langsung ke transkrip atau file380* Mencetak kredensial atau token langsung ke transkrip atau file

384* Mengakses lokasi yang tercantum sebagai lokasi data sensitif dalam [lingkungan](/docs/id/auto-mode-config#define-trusted-infrastructure) Anda, atau menyalin data keluar dari satu. Sejak v2.1.198 ini juga memblokir pengiriman data dari satu ke audiens yang dikecualikan entri381* Mengakses lokasi yang tercantum sebagai lokasi data sensitif dalam [lingkungan](/docs/id/auto-mode-config#define-trusted-infrastructure) Anda, atau menyalin data keluar dari satu. Mulai dari v2.1.198 ini juga memblokir pengiriman data dari satu ke audiens yang dikecualikan entri

385* Merutekan instalasi paket di sekitar registri paket internal Anda ke registri publik. Sejak v2.1.198, ini juga berlaku ketika Anda telah memberi tahu Claude bahwa registri internal atau cermin ada dalam percakapan, bukan hanya ketika satu tercantum dalam lingkungan Anda382* Merutekan instalasi paket di sekitar registri paket internal Anda ke registri publik. Mulai dari v2.1.198, ini juga berlaku ketika Anda telah memberi tahu Claude bahwa registri internal atau cermin ada dalam percakapan, bukan hanya ketika satu tercantum dalam lingkungan Anda

386* Menjalankan perintah dengan bendera yang melucuti penjaga keamanan, seperti `--insecure`383* Menjalankan perintah dengan bendera yang melucuti penjaga keamanan, seperti `--insecure`

387* Meluncurkan loop agen otonom yang berjalan tanpa persetujuan manusia atau sandbox, seperti yang dimulai dengan `--dangerously-skip-permissions` atau `--no-sandbox`. Sejak v2.1.198 ini juga mencakup menjalankan agen pihak ketiga atau harness eval dengan isolasi dan persetujuan per-tindakan dinonaktifkan, seperti runner yang dimulai dengan `--yes-always`384* Meluncurkan loop agen otonom yang berjalan tanpa persetujuan manusia atau sandbox, seperti yang dimulai dengan `--dangerously-skip-permissions` atau `--no-sandbox`. Mulai dari v2.1.198 ini juga mencakup menjalankan agen pihak ketiga atau harness eval dengan isolasi dan persetujuan per-tindakan dinonaktifkan, seperti runner yang dimulai dengan `--yes-always`

388* Tindakan browser [Claude di Chrome](/docs/id/chrome) yang dapat mengirim konten halaman, cookie, atau kredensial off-origin385* Tindakan browser [Claude di Chrome](/docs/id/chrome) yang dapat mengirim konten halaman, cookie, atau kredensial off-origin

389 386 

387Beberapa kategori ini bergantung pada entri [lingkungan](/docs/id/auto-mode-config#define-trusted-infrastructure), seperti target jarak jauh sensitif dan cakupan IaC yang dilindungi, yang dapat Anda sempit ke nama konkret.

388 

390Claude Code v2.1.198 dan lebih baru juga memblokir ini secara default:389Claude Code v2.1.198 dan lebih baru juga memblokir ini secara default:

391 390 

392* Menghapus file di `/tmp`, `$TMPDIR`, atau direktori goresan atau cache bersama lainnya dengan wildcard, glob, atau filter usia daripada dengan jalur bernama spesifik391* Menghapus file di `/tmp`, `$TMPDIR`, atau direktori goresan atau cache bersama lainnya dengan wildcard, glob, atau filter usia daripada jalur bernama spesifik

393* Termasuk detail sensitif dalam konten yang dikirim, diunggah, dipublikasikan, atau ditulis ke orang lain atau sistem bersama, ketika pesan Anda sendiri tidak mengotorisasi detail tersebut untuk penerima itu. Badan PR dan masalah, pesan komit, dan komentar dihitung sebagai jenis konten keluar ini ketika repositori berada di luar batas kepercayaan atau publik, termasuk repositori publik organisasi Anda sendiri; jalur file internal, nama kode, data respons API langsung seperti email atau pengidentifikasi akun, dan pengidentifikasi infrastruktur dihitung sebagai detail sensitif. Cakupan PR, masalah, dan pesan komit memerlukan Claude Code v2.1.200 atau lebih baru. Data pribadi langsung dari respons API dalam badan PR atau masalah, seperti alamat email, pengidentifikasi akun atau organisasi, atau metrik penggunaan, memerlukan Anda untuk menyebutkan detail tersebut dan penerima terlepas dari visibilitas atau batas kepercayaan repositori. Pemeriksaan itu memerlukan Claude Code v2.1.203 atau lebih baru392* Termasuk detail sensitif dalam konten yang dikirim, diunggah, dipublikasikan, atau ditulis ke orang lain atau sistem bersama, ketika pesan Anda sendiri tidak mengotorisasi detail tersebut untuk penerima itu. Badan PR dan masalah, pesan komit, dan komentar dihitung sebagai jenis konten keluar ini ketika repositori berada di luar batas kepercayaan atau publik, termasuk repositori publik organisasi Anda sendiri; jalur file internal, nama kode, data respons API langsung seperti email atau pengidentifikasi akun, dan pengidentifikasi infrastruktur dihitung sebagai detail sensitif. Cakupan PR, masalah, dan pesan komit memerlukan Claude Code v2.1.200 atau lebih baru. Data pribadi langsung dari respons API dalam badan PR atau masalah, seperti alamat email, pengidentifikasi akun atau organisasi, atau metrik penggunaan, memerlukan Anda untuk menyebutkan detail tersebut dan penerima terlepas dari visibilitas repositori atau batas kepercayaan. Pemeriksaan itu memerlukan Claude Code v2.1.203 atau lebih baru

394* Mengirim keystroke ke pane tmux Claude Code sendiri untuk mendorong antarmukanya sendiri, yang pengklasifikasi perlakukan sebagai Claude mengubah izinnya sendiri atau pengawasan393* Mengirim keystroke ke pane tmux Claude Code sendiri untuk mendorong antarmukanya sendiri, yang pengklasifikasi perlakukan sebagai Claude mengubah izin atau pengawasannya sendiri

395 394 

396Claude Code v2.1.200 dan lebih baru juga memblokir ini secara default:395Claude Code v2.1.200 dan lebih baru juga memblokir ini secara default:

397 396 


399* Menghapus atau merobohkan sumber daya stateful yang tidak dibuat Claude dalam sesi, ketika tidak ada aturan penghapusan yang lebih spesifik berlaku dan Anda tidak menyebutkan sumber daya itu398* Menghapus atau merobohkan sumber daya stateful yang tidak dibuat Claude dalam sesi, ketika tidak ada aturan penghapusan yang lebih spesifik berlaku dan Anda tidak menyebutkan sumber daya itu

400* Menunjuk ulang URL dasar API, titik akhir proxy, penerima webhook, atau cermin registri ke host pihak ketiga yang tidak sesuai dengan tugas, termasuk dalam file contoh seperti `.env.example`399* Menunjuk ulang URL dasar API, titik akhir proxy, penerima webhook, atau cermin registri ke host pihak ketiga yang tidak sesuai dengan tugas, termasuk dalam file contoh seperti `.env.example`

401* Mengubah ke mana dorong pergi dengan `git remote set-url` atau `git remote add`, kecuali Anda menyebutkan remote baru400* Mengubah ke mana dorong pergi dengan `git remote set-url` atau `git remote add`, kecuali Anda menyebutkan remote baru

402* Mendorong rahasia atau data pribadi atau terpercaya ke repositori yang diketahui publik, atau mendorong materi rahasia di sana yang bukan bagian dari pekerjaan repositori itu sendiri. Materi pelajaran repositori dotfiles sendiri adalah satu-satunya pengecualian untuk data pribadi atau terpercaya, dan konten dari repositori pribadi mencapai permukaan publik apa pun diblokir dengan cara yang sama; kedua penyempurnaan memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, data pribadi dikelompokkan dengan materi rahasia dan diblokir hanya ketika bukan bagian dari pekerjaan repositori itu sendiri. Ketika visibilitas repositori tidak ditetapkan, pengklasifikasi tidak memblokir itu saja; itu menilai konten terhadap aturan lain sebagai gantinya401* Mendorong rahasia atau data pribadi atau terpercaya ke repositori yang diketahui publik, atau mendorong materi rahasia di sana yang bukan bagian dari pekerjaan repositori itu sendiri. Subjek materi repositori dotfiles itu sendiri adalah satu-satunya pengecualian untuk data pribadi atau terpercaya, dan konten dari repositori pribadi mencapai permukaan publik apa pun diblokir dengan cara yang sama; kedua penyempurnaan memerlukan Claude Code v2.1.203 atau lebih baru. Sebelum v2.1.203, data pribadi dikelompokkan dengan materi rahasia dan diblokir hanya ketika bukan bagian dari pekerjaan repositori itu sendiri. Ketika visibilitas repositori tidak ditetapkan, pengklasifikasi tidak memblokir itu saja; itu menilai konten terhadap aturan lain sebagai gantinya

403* Membuka permintaan tarik terhadap repositori atau organisasi yang berbeda, bercabang dengan `gh repo fork`, atau mendorong ke repositori pihak ketiga, kecuali Anda menyebutkan target eksternal itu402* Membuka permintaan tarik terhadap repositori atau organisasi berbeda, bercabang dengan `gh repo fork`, atau mendorong ke repositori pihak ketiga, kecuali Anda menyebutkan target eksternal itu

404 403 

405Claude Code v2.1.203 dan lebih baru juga memblokir ini secara default:404Claude Code v2.1.203 dan lebih baru juga memblokir ini secara default:

406 405 


408 407 

409Claude Code v2.1.205 dan lebih baru juga memblokir ini secara default:408Claude Code v2.1.205 dan lebih baru juga memblokir ini secara default:

410 409 

411* 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 diblokir410* 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 ditambahkan Claude Code ke setiap entri transkrip untuk pemeriksaannya sendiri. Membaca transkrip tidak diblokir

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.411* Penghapusan paksa rekursif seperti `rm -rf "$VAR"` atau `Remove-Item -Recurse -Force $dir` yang targetnya adalah variabel shell yang tidak ditetapkan di mana pun dalam percakapan yang dilihat pengklasifikasi, atau glob berakar pada variabel tersebut. 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 412 

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).413 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).

415 414 

416Claude Code v2.1.257 dan lebih baru juga memblokir ini secara default:415Claude Code v2.1.257 dan lebih baru juga memblokir ini secara default:

417 416 

418* Meminta kredensial dari titik akhir metadata instans cloud, seperti `169.254.169.254`, atau secara eksplisit mengautentikasi panggilan cloud, kluster, atau registri dengan identitas akun layanan atau node mesin itu sendiri417* Meminta kredensial dari titik akhir metadata instans cloud, seperti `169.254.169.254`, atau secara eksplisit mengautentikasi panggilan cloud, cluster, atau registri dengan identitas akun layanan atau node mesin itu sendiri

419* Mencapai host publik dengan rute selain permintaan langsung, seperti terowongan, shell terbalik, atau konfigurasi resolver atau proxy yang ditulis ulang untuk menunjuk ke luar418* Menjangkau host publik dengan rute selain permintaan langsung, seperti terowongan, shell terbalik, atau konfigurasi resolver atau proxy yang ditulis ulang untuk menunjuk ke luar

420* Membaca kredensial yang dimiliki host daripada tugas Anda, seperti sertifikat node atau auth registri kontainer node419* Membaca kredensial yang dimiliki host daripada tugas Anda, seperti sertifikat node atau auth registri kontainer node

421* Menghubungkan ke atau memindai kontainer, pod, atau VM saudara yang tidak dimulai Claude, atau node di bawah kontainer420* Menghubungkan ke atau memindai kontainer, pod, atau VM saudara yang tidak dimulai Claude, atau node di bawah kontainer

422 421 


429**Diizinkan secara default**:428**Diizinkan secara default**:

430 429 

431* Operasi file lokal di direktori kerja Anda430* Operasi file lokal di direktori kerja Anda

432* Menginstal dependensi yang dideklarasikan dalam file kunci atau manifes Anda431* Memasang dependensi yang dideklarasikan dalam file kunci atau manifes Anda

433* Membaca `.env` dan mengirim kredensial ke API yang cocok432* Membaca `.env` dan mengirim kredensial ke API yang cocok

434* Permintaan HTTP hanya-baca433* Permintaan HTTP hanya-baca

435* Mendorong ke cabang apa pun dari repositori yang Anda kerjakan, termasuk cabang default. Cabang non-default yang nama menandainya sebagai target penerapan atau publikasi, seperti `production` atau `gh-pages`, tidak tercakup: pengklasifikasi menilai dorong di sana berdasarkan istilahnya sendiri. Konten dorong masih diperiksa terhadap aturan lain, [aturan `permissions.deny`](/docs/id/permissions#manage-permissions) masih dapat memblokir perintah dorong [seperti yang ditulis](/docs/id/permissions#bash-rule-limits) dalam setiap mode, dan perlindungan cabang remote itu sendiri masih berlaku. Sebelum v2.1.211, hanya dorong ke cabang yang Anda mulai, cabang yang dibuat Claude, dan dorong rutin ke cabang default yang diizinkan secara default, dan sebelum v2.1.203 dorong langsung apa pun ke cabang default diblokir434* Mendorong ke cabang apa pun dari repositori yang Anda kerjakan, termasuk cabang default. Cabang non-default yang nama menandainya sebagai target penerapan atau publikasi, seperti `production` atau `gh-pages`, tidak tercakup: pengklasifikasi menilai dorong di sana berdasarkan istilahnya sendiri. Konten dorong masih diperiksa terhadap aturan lain, [`permissions.deny` rules](/docs/id/permissions#manage-permissions) masih dapat memblokir perintah push [seperti yang ditulis](/docs/id/permissions#bash-rule-limits) dalam setiap mode, dan perlindungan cabang remote itu sendiri masih berlaku. Sebelum v2.1.211, hanya dorong ke cabang yang Anda mulai, cabang yang dibuat Claude, dan dorong rutin ke cabang default yang diizinkan secara default, dan sebelum v2.1.203 dorong langsung apa pun ke cabang default diblokir

436 

437Claude Code v2.1.195 dan lebih baru juga memungkinkan ini secara default:

438 

439* Menghapus pekerjaan pasti yang dibuat Claude sebelumnya dalam sesi yang sama435* Menghapus pekerjaan pasti yang dibuat Claude sebelumnya dalam sesi yang sama

440* Membaca, meninjau, atau menulis kode, konfigurasi, dan model ancaman terkait keamanan sebagai bagian dari tugas Anda436* Membaca, meninjau, atau menulis kode, konfigurasi, dan model ancaman terkait keamanan sebagai bagian dari tugas Anda

441* Pesan antara agen yang bekerja bersama dalam sesi multi-agen yang sama437* Pesan antara agen yang bekerja bersama dalam sesi multi-agen yang sama


446 442 

447Jalankan `claude auto-mode defaults` untuk mencetak daftar aturan lengkap sebagai JSON. Jika tindakan rutin diblokir, administrator dapat menambahkan repo terpercaya, bucket, dan layanan melalui pengaturan `autoMode.environment`: lihat [Konfigurasi mode otomatis](/docs/id/auto-mode-config).443Jalankan `claude auto-mode defaults` untuk mencetak daftar aturan lengkap sebagai JSON. Jika tindakan rutin diblokir, administrator dapat menambahkan repo terpercaya, bucket, dan layanan melalui pengaturan `autoMode.environment`: lihat [Konfigurasi mode otomatis](/docs/id/auto-mode-config).

448 444 

449Mendorong ke cabang apa pun dari repositori yang Anda kerjakan dan membuat permintaan tarik yang cocok dengan permintaan Anda berjalan tanpa permintaan, kecuali dorong atau permintaan tarik jatuh di bawah [daftar diblokir](#what-the-classifier-blocks-by-default), seperti rahasia atau data sensitif meninggalkan repositori, atau permintaan tarik yang menargetkan repositori atau organisasi yang berbeda. Untuk memerlukan checkpoint manusia sebelum perintah ini sambil tetap dalam mode otomatis, tambahkan aturan `permissions.ask`, yang cocok dengan perintah [seperti yang ditulis](/docs/id/permissions#bash-rule-limits): lihat [Batas umum](/docs/id/auto-mode-config#common-boundaries).445Mendorong ke cabang apa pun dari repositori yang Anda kerjakan dan membuat permintaan tarik yang cocok dengan permintaan Anda berjalan tanpa permintaan, kecuali dorong atau permintaan tarik jatuh di bawah [daftar diblokir](#what-the-classifier-blocks-by-default), seperti rahasia atau data sensitif meninggalkan repositori, atau permintaan tarik yang menargetkan repositori atau organisasi berbeda. Untuk memerlukan checkpoint manusia sebelum perintah ini sambil tetap dalam mode otomatis, tambahkan aturan `permissions.ask`, yang cocok dengan perintah [seperti yang ditulis](/docs/id/permissions#bash-rule-limits): lihat [Batas umum](/docs/id/auto-mode-config#common-boundaries).

450 446 

451<h3 id="first-read-outside-the-working-directories">447<h3 id="first-read-outside-the-working-directories">

452 Pembacaan pertama di luar direktori kerja448 Pembacaan pertama di luar direktori kerja

453</h3>449</h3>

454 450 

455Sementara [`permissions.blockReadsOutsideWorkingDirectories`](/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) mati, pembacaan file berjalan tanpa permintaan dalam mode otomatis, termasuk pembacaan di luar [direktori kerja](/docs/id/permissions#working-directories). Pertama kali Claude menggunakan alat Read, Grep, atau Glob pada jalur di luar mereka, Claude Code menanyakan Anda apakah akan terus memungkinkan pembacaan tersebut.451Sementara [`permissions.blockReadsOutsideWorkingDirectories`](/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) dimatikan, pembacaan file berjalan tanpa permintaan dalam mode otomatis, termasuk pembacaan di luar [direktori kerja](/docs/id/permissions#working-directories). Pertama kali Claude menggunakan alat Read, Grep, atau Glob pada jalur di luar mereka, Claude Code menanyakan apakah akan memungkinkan pembacaan itu.

456 452 

457Permintaan tidak muncul dalam `-p` non-interaktif berjalan atau sesi latar belakang; pembacaan di sana berjalan seperti sebelumnya.453Permintaan tidak muncul dalam `-p` non-interaktif berjalan atau sesi latar belakang; pembacaan di sana berjalan seperti sebelumnya.

458 454 

459Apa pun yang Anda jawab, Claude terus bekerja:455Apa pun yang Anda jawab, Claude terus bekerja:

460 456 

461* **Terus izinkan**: pembacaan berjalan, pembacaan kemudian di luar direktori kerja berjalan seperti sebelumnya, dan Claude Code mencatat jawaban Anda sehingga permintaan tidak muncul lagi457* **Ya, dan terus izinkan pembacaan apa pun di luar direktori kerja**: pembacaan berjalan, pembacaan kemudian di luar direktori kerja berjalan seperti sebelumnya, dan Claude Code mencatat jawaban Anda sehingga permintaan tidak muncul lagi

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.458* **Tidak, dan blokir pembacaan di luar direktori kerja 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 pengaturan.

463* **Tanya lagi lain kali**: pembacaan ditolak, dan pembacaan berikutnya di luar direktori kerja meminta lagi459* **Tidak, dan 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 lagi460* **Ya, tetapi tanya lagi lain kali**: pembacaan berjalan, tidak ada yang disimpan, dan pembacaan berikutnya di luar direktori kerja meminta lagi

465 461 

466<h3 id="boundaries-you-state-in-conversation">462<h3 id="boundaries-you-state-in-conversation">

467 Batas yang Anda nyatakan dalam percakapan463 Batas yang Anda nyatakan dalam percakapan

468</h3>464</h3>

469 465 

470Pengklasifikasi memperlakukan batas yang Anda nyatakan dalam percakapan sebagai sinyal blok. Jika Anda memberi tahu Claude "jangan dorong" atau "tunggu sampai saya meninjau sebelum menerapkan", pengklasifikasi memblokir tindakan yang cocok bahkan ketika aturan default akan memungkinkannya. Batas tetap berlaku sampai Anda mengangkatnya dalam pesan kemudian. Penilaian Claude sendiri bahwa kondisi terpenuhi tidak mengangkatnya.466Pengklasifikasi memperlakukan batas yang Anda nyatakan dalam percakapan sebagai sinyal blok. Jika Anda memberi tahu Claude "jangan dorong" atau "tunggu sampai saya meninjau sebelum menerapkan", pengklasifikasi memblokir tindakan yang cocok bahkan ketika aturan default akan memungkinkan mereka. Batas tetap berlaku sampai Anda mengangkatnya dalam pesan kemudian. Penilaian Claude sendiri bahwa kondisi terpenuhi tidak mengangkatnya.

471 467 

472Batas tidak disimpan sebagai aturan. Pengklasifikasi membaca ulang mereka dari transkrip pada setiap pemeriksaan, jadi batas dapat hilang jika [pemadatan konteks](/docs/id/costs#reduce-token-usage) menghapus pesan yang menyatakannya. Untuk jaminan keras, tambahkan [aturan deny](/docs/id/permissions#permission-rule-syntax) sebagai gantinya.468Batas tidak disimpan sebagai aturan. Pengklasifikasi membaca ulang mereka dari transkrip pada setiap pemeriksaan, jadi batas dapat hilang jika [pemadatan konteks](/docs/id/costs#reduce-token-usage) menghapus pesan yang menyatakannya. Untuk jaminan keras, tambahkan [aturan deny](/docs/id/permissions#permission-rule-syntax) sebagai gantinya.

473 469 


475 Persetujuan yang Anda nyatakan dalam percakapan471 Persetujuan yang Anda nyatakan dalam percakapan

476</h3>472</h3>

477 473 

478Jika Anda memberi tahu Claude bahwa tindakan yang diblokir diizinkan, pengklasifikasi membaca itu sebagai persetujuan Anda dan dapat menghapus blok. Cara Anda merumuskannya memutuskan apakah tindakan berjalan, dan seberapa jauh persetujuan mencapai:474Jika Anda memberi tahu Claude bahwa tindakan yang diblokir diizinkan, pengklasifikasi membaca itu sebagai persetujuan Anda dan dapat menghapus blok. Cara Anda merumuskannya menentukan apakah tindakan berjalan, dan seberapa jauh persetujuan mencapai:

479 475 

480* **Beri nama tindakan dan spesifikasinya**: pesan Anda harus menyebutkan tindakan dan hal spesifik yang membuatnya berbahaya, seperti cabang dorong paksa. Menyebutkan verba saja tidak menghapus apa pun, jadi "Anda dapat dorong paksa" membiarkan blok tetap ada.476* **Beri nama tindakan dan spesifikasinya**: pesan Anda harus menyebutkan tindakan dan hal spesifik yang membuatnya berbahaya, seperti cabang dorong paksa. Menyebutkan verba saja tidak menghapus apa pun, jadi "Anda dapat dorong paksa" membiarkan blok tetap ada.

481* **Harapkan itu mencakup satu tindakan**: persetujuan mencakup tindakan destruktif yang Anda beri nama, jadi tindakan kemudian diblokir lagi kecuali Anda memberikan persetujuan sebagai berdiri. Untuk berhenti menyetujui pola rutin satu tindakan pada satu waktu, tambahkan ke [`autoMode.allow`](/docs/id/auto-mode-config#override-the-block-and-allow-rules).477* **Harapkan itu mencakup satu tindakan**: persetujuan mencakup tindakan destruktif yang Anda beri nama, jadi tindakan kemudian diblokir lagi kecuali Anda memberikan persetujuan sebagai berdiri. Untuk berhenti menyetujui pola rutin satu tindakan pada satu waktu, tambahkan ke [`autoMode.allow`](/docs/id/auto-mode-config#override-the-block-and-allow-rules).

482* **Beberapa blok tetap ada**: [urutan preseden pengklasifikasi](/docs/id/auto-mode-config#override-the-block-and-allow-rules) menetapkan blok mana yang dapat dicapai persetujuan Anda. Untuk menjalankan langkah yang tidak akan dihapusnya, [tinggalkan mode otomatis](#switch-permission-modes) dan jawab permintaan izin.478* **Beberapa blok tetap ada**: [urutan preseden pengklasifikasi](/docs/id/auto-mode-config#override-the-block-and-allow-rules) menetapkan blok mana yang dapat dicapai persetujuan Anda. Untuk menjalankan langkah yang tidak akan dihapus, [tinggalkan mode otomatis](#switch-permission-modes) dan jawab permintaan izin.

483 479 

484<h3 id="when-auto-mode-falls-back">480<h3 id="when-auto-mode-falls-back">

485 Ketika mode otomatis kembali481 Ketika mode otomatis kembali


487 483 

488Ketika mode otomatis tidak dapat menyetujui tindakan sesi Anda, apa yang terjadi tergantung pada kasusnya:484Ketika mode otomatis tidak dapat menyetujui tindakan sesi Anda, apa yang terjadi tergantung pada kasusnya:

489 485 

490* **Tindakan yang diblokir**: Claude Code menampilkan pemberitahuan dan mencantumkan tindakan dalam `/permissions` di bawah tab **Recently denied**, di mana Anda dapat menekan `r` untuk mencoba ulang dengan persetujuan manual.486* **Tindakan yang diblokir**: Claude Code menampilkan pemberitahuan dan mencantumkan tindakan dalam `/permissions` di bawah tab **Recently denied**, di mana Anda dapat menekan `r` untuk mencoba lagi dengan persetujuan manual.

491* **Blok berulang**: jika pengklasifikasi memblokir tindakan 3 kali berturut-turut atau 20 kali total, mode otomatis berhenti dan Claude Code melanjutkan permintaan. Menyetujui tindakan yang diminta melanjutkan mode otomatis. Lihat [Ambang batas blok berulang](#repeated-block-thresholds) untuk cara blok dihitung.487* **Blok berulang**: jika pengklasifikasi memblokir tindakan 3 kali berturut-turut atau 20 kali total, mode otomatis berhenti dan Claude Code melanjutkan permintaan. Menyetujui tindakan yang diminta melanjutkan mode otomatis. Lihat [Ambang blok berulang](#repeated-block-thresholds) untuk cara blok dihitung.

492* **Tidak ada vonis dari pengklasifikasi**: ketika pemeriksaan keamanan terpisah dari mode otomatis menolak permintaan pengklasifikasi sendiri, atau respons pengklasifikasi tidak diuraikan, Claude Code menolak tindakan tanpa pemberitahuan atau entri **Recently denied**. Lihat [Mode otomatis tidak dapat menentukan keamanan tindakan](/docs/id/errors#auto-mode-cannot-determine-the-safety-of-an-action) untuk pesan setiap kasus menunjukkan dan apa yang harus dilakukan.488* **Tidak ada putusan dari pengklasifikasi**: ketika pemeriksaan keamanan terpisah dari mode otomatis menolak permintaan pengklasifikasi sendiri, atau respons pengklasifikasi tidak diuraikan, Claude Code menolak tindakan tanpa pemberitahuan atau entri **Recently denied**. Lihat [Mode otomatis tidak dapat menentukan keamanan tindakan](/docs/id/errors#auto-mode-cannot-determine-the-safety-of-an-action) untuk pesan setiap kasus menunjukkan dan apa yang harus dilakukan.

493* **Tidak ada vonis dari server**: di bawah [tinjauan pengklasifikasi sisi server](#server-side-classifier-review), Claude Code menolak tindakan yang server tidak memberikan vonis, dan menghentikan giliran setelah sepuluh respons berturut-turut tanpa vonis. Lihat [Server tidak mengembalikan vonis keamanan](/docs/id/errors#the-server-returned-no-safety-verdict).489* **Tidak ada putusan dari server**: di bawah [tinjauan pengklasifikasi sisi server](#server-side-classifier-review), Claude Code menolak tindakan yang server tidak memberikan putusan, dan menghentikan giliran setelah sepuluh respons berturut-turut tanpa putusan. Lihat [Server tidak mengembalikan putusan keamanan](/docs/id/errors#the-server-returned-no-safety-verdict).

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

495 491 

496<h4 id="repeated-block-thresholds">492<h4 id="repeated-block-thresholds">

497 Ambang batas blok berulang493 Ambang blok berulang

498</h4>494</h4>

499 495 

500Ambang batas 3 blok berturut-turut dan 20 blok total tidak dapat dikonfigurasi. Penghitung total bertahan untuk sesi dan mengatur ulang hanya ketika batasnya sendiri memicu fallback. Claude Code tidak menghitung penolakan terhadap ambang batas apa pun ketika pemeriksaan keamanan terpisah dari mode otomatis menolak permintaan pengklasifikasi sendiri.496Ambang 3 blok berturut-turut dan 20 blok total tidak dapat dikonfigurasi. Penghitung total bertahan untuk sesi dan direset hanya ketika batasnya sendiri memicu fallback. Claude Code tidak menghitung penolakan terhadap ambang mana pun ketika pemeriksaan keamanan terpisah dari mode otomatis menolak permintaan pengklasifikasi sendiri.

501 497 

502Lari `-p` [non-interaktif](/docs/id/headless) tanpa [`--permission-prompt-tool`](/docs/id/cli-reference#cli-flags) tidak memiliki permintaan untuk kembali. Ketika blok berulang mencapai ambang batas, tindakan tidak berjalan dan Claude terus bekerja. Claude Code tidak menghentikan lari.498Jalankan `-p` [non-interaktif](/docs/id/headless) tanpa [`--permission-prompt-tool`](/docs/id/cli-reference#cli-flags) tidak memiliki permintaan untuk kembali. Ketika blok berulang mencapai ambang, tindakan tidak berjalan dan Claude terus bekerja. Claude Code tidak menghentikan jalankan.

503 499 

504Blok berulang biasanya berarti pengklasifikasi kehilangan konteks tentang infrastruktur Anda. Gunakan `/feedback` untuk melaporkan positif palsu, atau biarkan administrator [mengonfigurasi infrastruktur terpercaya](/docs/id/auto-mode-config).500Blok berulang biasanya berarti pengklasifikasi kehilangan konteks tentang infrastruktur Anda. Gunakan `/feedback` untuk melaporkan positif palsu, atau biarkan administrator [mengonfigurasi infrastruktur terpercaya](/docs/id/auto-mode-config).

505 501 


507 Bagaimana mode otomatis mengevaluasi tindakan503 Bagaimana mode otomatis mengevaluasi tindakan

508</h3>504</h3>

509 505 

510Bagian berikut mencakup urutan Claude Code mengevaluasi tindakan, bagaimana pengklasifikasi meninjau pekerjaan subagen, dan apa yang ditambahkan panggilan pengklasifikasi dalam biaya dan latensi.506Bagian berikut mencakup urutan Claude Code mengevaluasi tindakan, bagaimana pengklasifikasi meninjau pekerjaan subagen, dan apa panggilan pengklasifikasi tambahkan dalam biaya dan latensi.

511 507 

512<span id="how-the-classifier-evaluates-actions" />508<span id="how-the-classifier-evaluates-actions" />

513 509 


521 * 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 Code517 * 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

522 * 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 hostnya518 * 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

523 * Aturan ask yang cocok pada konten perintah, seperti `Bash(git push *)`, kembali ke permintaan izin519 * Aturan ask yang cocok pada konten perintah, seperti `Bash(git push *)`, kembali ke permintaan izin

524 * Penulisan yang [pemeriksaan symlink](/docs/id/permissions#symlinks) selesaikan ke jalur yang dilindungi meminta Anda ketika jalur yang diminta Claude bukan sendiri yang dilindungi520 * Penulisan yang [pemeriksaan symlink](/docs/id/permissions#symlinks) selesaikan ke jalur yang dilindungi meminta Anda ketika jalur yang diminta Claude bukan itu sendiri dilindungi

525 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 Anda521 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

526 * 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 menandainya522 * 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

527 * Penulisan di dalam direktori kerja Anda yang [pemeriksaan symlink](/docs/id/permissions#symlinks) selesaikan ke lokasi di luar itu meminta Anda523 * Penulisan di dalam direktori kerja Anda yang [pemeriksaan symlink](/docs/id/permissions#symlinks) selesaikan ke lokasi di luar itu meminta Anda

528 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 otomatis524 3. Semuanya yang lain pergi ke pengklasifikasi, terlepas dari [penghapusan jalur kritis](#critical-paths) di bawah penanganan default mereka. Alat konektor dan `requiresUserInteraction` alat MCP yang meminta Anda langsung dalam langkah 1 tidak pernah mencapai pengklasifikasi baik, jadi baik persetujuan yang diperlukan org maupun langkah persetujuan tidak disetujui otomatis

529 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)525 4. Jika pengklasifikasi memblokir, Claude menerima alasan. 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)

530 526 

531 Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode arbitrer dijatuhkan:527 Saat memasuki mode otomatis, aturan allow luas yang memberikan eksekusi kode sewenang-wenang dijatuhkan:

532 528 

533 * Blanket `Bash(*)` atau `PowerShell(*)`529 * Blanket `Bash(*)` atau `PowerShell(*)`

534 * Interpreter yang diberi wildcard seperti `Bash(python*)`530 * Interpreter yang diberi wildcard seperti `Bash(python*)`

535 * Perintah jalankan pengelola paket531 * Perintah jalankan pengelola paket

536 * Aturan allow `Agent`532 * Aturan `Agent` allow

537 * Aturan allow [`Monitor`](/docs/id/tools-reference#monitor-tool), karena Claude Code menjalankan perintah Monitor melalui shell533 * [`Monitor`](/docs/id/tools-reference#monitor-tool) aturan allow, karena Claude Code menjalankan perintah Monitor melalui shell

538 534 

539 Aturan sempit seperti `Bash(npm test)` tetap berlaku. Claude Code mengembalikan aturan yang dijatuhkan ketika Anda meninggalkan mode otomatis. Sebelum v2.1.236, Claude Code membiarkan aturan allow `Monitor` berlaku dalam mode otomatis, jadi aturan yang cocok dengan seluruh alat menyetujui perintah Monitor tanpa tinjauan pengklasifikasi.535 Aturan sempit seperti `Bash(npm test)` tetap berlaku. Claude Code mengembalikan aturan yang dijatuhkan ketika Anda meninggalkan mode otomatis. Sebelum v2.1.236, Claude Code meninggalkan aturan `Monitor` allow berlaku dalam mode otomatis, jadi aturan yang cocok dengan seluruh alat menyetujui perintah Monitor tanpa tinjauan pengklasifikasi.

540 536 

541 Claude Code juga menjalankan `git status` itu sendiri sebelum perintah yang akan membuang pekerjaan yang tidak dilakukan komit, seperti `git reset --hard` atau `rm -rf`, dan menunjukkan pengklasifikasi apakah pekerjaan yang dipentaskan, dimodifikasi, atau tidak dilacak ada. Claude Code melaporkan file yang tidak dilacak dalam pemeriksaan itu bahkan ketika konfigurasi git repositori menetapkan `status.showUntrackedFiles=no`.537 Claude Code juga menjalankan `git status` itu sendiri sebelum perintah yang akan membuang pekerjaan yang tidak dilakukan komit, seperti `git reset --hard` atau `rm -rf`, dan menunjukkan pengklasifikasi apakah pekerjaan bertahap, dimodifikasi, atau tidak dilacak ada. Claude Code melaporkan file yang tidak dilacak dalam pemeriksaan itu bahkan ketika konfigurasi git repositori menetapkan `status.showUntrackedFiles=no`.

542 538 

543 Dalam permintaan pengklasifikasi yang dikirim Claude Code itu sendiri, pengklasifikasi melihat pesan pengguna, panggilan alat selain pencarian hanya-baca seperti pembacaan file dan pencarian, dan konten CLAUDE.md Anda. Hasil alat dilepas dari permintaan tersebut, jadi konten bermusuhan dalam file atau halaman web tidak dapat memanipulasi pengklasifikasi secara langsung.539 Dalam permintaan pengklasifikasi yang dikirim oleh Claude Code itu sendiri, pengklasifikasi melihat pesan pengguna, panggilan alat selain pencarian hanya-baca seperti pembacaan file dan pencarian, dan konten CLAUDE.md Anda. Hasil alat dilepas dari permintaan tersebut, jadi konten bermusuhan dalam file atau halaman web tidak dapat memanipulasi pengklasifikasi secara langsung.

544 540 

545 Anda dapat memberi anotasi hasil panggilan dengan [field `classifierContext` hook PostToolUse](/docs/id/hooks#annotate-a-result-for-the-auto-mode-classifier), yang dibaca pengklasifikasi sebagai konteks yang disediakan aplikasi. Field memerlukan Claude Code v2.1.236 atau lebih baru.541 Anda dapat memberi anotasi hasil panggilan dengan [field `classifierContext` hook PostToolUse](/docs/id/hooks#annotate-a-result-for-the-auto-mode-classifier), yang dibaca pengklasifikasi sebagai konteks yang disediakan aplikasi. Field memerlukan Claude Code v2.1.236 atau lebih baru.

546 542 


551 Pengklasifikasi memeriksa pekerjaan [subagen](/docs/id/sub-agents) di tiga titik:547 Pengklasifikasi memeriksa pekerjaan [subagen](/docs/id/sub-agents) di tiga titik:

552 548 

553 1. Sebelum subagen dimulai, deskripsi tugas yang didelegasikan dievaluasi, jadi tugas yang terlihat berbahaya diblokir pada waktu spawn.549 1. Sebelum subagen dimulai, deskripsi tugas yang didelegasikan dievaluasi, jadi tugas yang terlihat berbahaya diblokir pada waktu spawn.

554 2. Saat subagen berjalan, setiap tindakannya melalui pengklasifikasi dengan aturan yang sama seperti sesi induk, dan `permissionMode` apa pun dalam frontmatter subagen diabaikan.550 2. Saat subagen berjalan, setiap tindakannya melalui [urutan keputusan](#how-the-classifier-evaluates-actions) yang sama seperti dalam sesi induk, dengan aturan blok dan allow yang sama. Setiap `permissionMode` dalam frontmatter subagen diabaikan.

555 3. Ketika subagen selesai, pengklasifikasi meninjau pekerjaannya dan laporan akhirnya sebelum induk membaca laporan. Ketika pengklasifikasi menandai pekerjaan atau laporan subagen, atau pemeriksaan API keamanan terpisah menolak tinjauan, laporan masih disampaikan, diawali dengan peringatan keamanan. Ketika pengklasifikasi tidak tersedia untuk tinjauan, laporan tiba dengan catatan untuk memverifikasi pekerjaan subagen sebelum bertindak atas dasar itu.551 3. Ketika subagen selesai, pengklasifikasi meninjau pekerjaannya dan laporan akhirnya sebelum induk membaca laporan. Ketika pengklasifikasi menandai pekerjaan atau laporan subagen, atau pemeriksaan keamanan API terpisah menolak tinjauan, laporan masih disampaikan, diawali dengan peringatan keamanan. Ketika pengklasifikasi tidak tersedia untuk tinjauan, laporan tiba dengan catatan untuk memverifikasi pekerjaan subagen sebelum bertindak atas itu.

556 </Accordion>552 </Accordion>

557 553 

558 <Accordion title="Biaya dan latensi">554 <Accordion title="Biaya dan latensi">

559 Pengklasifikasi berjalan pada Claude Sonnet 5 secara default daripada pada pilihan `/model` Anda. Model pengklasifikasi yang dikonfigurasi Anthropic sisi server mengambil preseden atas default itu. Ketika model sesi Anda adalah Claude Sonnet 4.6, atau ketika [`availableModels`](/docs/id/model-config#restrict-model-selection) mengecualikan Sonnet 5, pengklasifikasi berjalan pada model sesi sebagai gantinya, atau pada model Opus ketika sesi berjalan pada [model Fable](/docs/id/model-config#work-with-fable); di penyedia selain Anthropic API, fallback Opus itu adalah model Opus default penyedia.555 Pengklasifikasi berjalan pada Claude Sonnet 5 secara default daripada pada pilihan `/model` Anda. Model pengklasifikasi yang dikonfigurasi Anthropic sisi server mengambil alih default itu. Ketika model sesi Anda adalah Claude Sonnet 4.6, atau ketika [`availableModels`](/docs/id/model-config#restrict-model-selection) mengecualikan Sonnet 5, pengklasifikasi berjalan pada model sesi sebagai gantinya, atau pada model Opus ketika sesi berjalan pada [model Fable](/docs/id/model-config#work-with-fable); di penyedia selain API Anthropic, fallback Opus itu adalah model Opus default penyedia.

560 556 

561 Permintaan mode otomatis pertama sesi memvalidasi default Sonnet 5: jika permintaan berhasil, Sonnet 5 tetap model pengklasifikasi sesi, dan jika gagal karena model tidak tersedia, sesi menggunakan fallback sebagai gantinya. Setelah validasi itu diselesaikan, model pengklasifikasi tidak berubah untuk sesi.557 Permintaan mode otomatis pertama sesi memvalidasi default Sonnet 5: jika permintaan berhasil, Sonnet 5 tetap model pengklasifikasi sesi, dan jika gagal karena model tidak tersedia, sesi menggunakan fallback sebagai gantinya. Setelah validasi itu diselesaikan, model pengklasifikasi tidak berubah untuk sesi.

562 558 

563 Pada paket Enterprise dan pada akun yang menggunakan Claude API, [Claude Platform di AWS](/docs/id/claude-platform-on-aws), Amazon Bedrock, Agent Platform Google Cloud, atau Microsoft Foundry, panggilan pengklasifikasi dihitung terhadap penggunaan token Anda. Setiap pemeriksaan mengirim sebagian dari transkrip ditambah tindakan yang tertunda, menambahkan putaran perjalanan pulang sebelum eksekusi. Pembacaan dan pengeditan direktori kerja di luar jalur yang dilindungi melewati pengklasifikasi, jadi overhead datang terutama dari perintah shell dan operasi jaringan. Di mana server meninjau tindakan sebagai bagian dari permintaan model sesi, tidak ada permintaan pengklasifikasi terpisah untuk dihitung; lihat [Tinjauan pengklasifikasi sisi server](#server-side-classifier-review).559 Pada paket Enterprise dan di akun yang menggunakan Claude API, [Claude Platform di AWS](/docs/id/claude-platform-on-aws), Amazon Bedrock, Platform Agen Google Cloud, atau Microsoft Foundry, panggilan pengklasifikasi dihitung terhadap penggunaan token Anda. Setiap pemeriksaan mengirim sebagian dari transkrip ditambah tindakan yang tertunda, menambahkan putaran perjalanan pulang sebelum eksekusi. Pembacaan dan pengeditan direktori kerja di luar jalur yang dilindungi melewati pengklasifikasi, jadi overhead datang terutama dari perintah shell dan operasi jaringan. Di mana server meninjau tindakan sebagai bagian dari permintaan model sesi, tidak ada panggilan pengklasifikasi terpisah untuk dihitung; lihat [Tinjauan pengklasifikasi sisi server](#server-side-classifier-review).

564 560 

565 Akses jaringan sandboxed tidak menambahkan permintaan pengklasifikasi per-koneksi. Pengklasifikasi menilai [host yang dinamai perintah](/docs/id/sandboxing#per-command-allowed-domains-in-auto-mode) bersama dengan perintah dalam satu tinjauan, dan Claude Code memeriksa setiap koneksi terhadap daftar yang disetujui tanpa memanggil pengklasifikasi lagi.561 Akses jaringan sandboxed tidak menambahkan permintaan pengklasifikasi per-koneksi. Pengklasifikasi menilai [host yang dinamai perintah](/docs/id/sandboxing#per-command-allowed-domains-in-auto-mode) bersama dengan perintah dalam satu tinjauan, dan Claude Code memeriksa setiap koneksi terhadap daftar yang disetujui tanpa memanggil pengklasifikasi lagi.

566 </Accordion>562 </Accordion>

permissions.md +24 −22

Details

80| `default` | Meminta izin pada penggunaan pertama setiap alat. Berlabel Manual di CLI, ekstensi VS Code dan JetBrains, dan aplikasi desktop, dan Claude Code menerima `manual` sebagai alias. Label dan alias memerlukan Claude Code v2.1.200 atau lebih baru. Label aplikasi desktop tidak bergantung pada versi CLI Anda |80| `default` | Meminta izin pada penggunaan pertama setiap alat. Berlabel Manual di CLI, ekstensi VS Code dan JetBrains, dan aplikasi desktop, dan Claude Code menerima `manual` sebagai alias. Label dan alias memerlukan Claude Code v2.1.200 atau lebih baru. Label aplikasi desktop tidak bergantung pada versi CLI Anda |

81| `acceptEdits` | Secara otomatis menerima edit file dan perintah sistem file umum seperti `mkdir`, `touch`, `mv`, dan `cp` untuk jalur di direktori kerja atau `additionalDirectories` |81| `acceptEdits` | Secara otomatis menerima edit file dan perintah sistem file umum seperti `mkdir`, `touch`, `mv`, dan `cp` untuk jalur di direktori kerja atau `additionalDirectories` |

82| `plan` | Claude membaca file dan menjalankan perintah shell hanya-baca untuk menjelajahi tetapi tidak mengedit file sumber Anda; dengan [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) tersedia, perintah yang disetujui classifier juga berjalan. Berlabel Plan di CLI dan ekstensi VS Code |82| `plan` | Claude membaca file dan menjalankan perintah shell hanya-baca untuk menjelajahi tetapi tidak mengedit file sumber Anda; dengan [mode auto](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) tersedia, perintah yang disetujui classifier juga berjalan. Berlabel Plan di CLI dan ekstensi VS Code |

83| `auto` | Secara otomatis menyetujui panggilan alat dengan pemeriksaan keamanan latar belakang yang memverifikasi tindakan selaras dengan permintaan Anda |83| `auto` | Berjalan tanpa prompt rutin; sebelum tindakan seperti perintah shell dan permintaan jaringan berjalan, [classifier](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) latar belakang memeriksa bahwa tindakan tersebut selaras dengan permintaan Anda |

84| `dontAsk` | Secara otomatis menolak setiap panggilan yang sebaliknya akan meminta; pembacaan file di direktori kerja Anda dan tindakan lain yang tidak memerlukan persetujuan masih berjalan, begitu juga dengan alat yang telah disetujui sebelumnya melalui `/permissions` atau aturan `permissions.allow`. `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 |84| `dontAsk` | Secara otomatis menolak setiap panggilan yang sebaliknya akan meminta; pembacaan file di direktori kerja Anda dan tindakan lain yang tidak memerlukan persetujuan masih berjalan, begitu juga dengan alat yang telah disetujui sebelumnya melalui `/permissions` atau aturan `permissions.allow`. `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 |

85| `bypassPermissions` | Melewati prompt izin, kecuali untuk [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves) |85| `bypassPermissions` | Melewati prompt izin, kecuali untuk [tindakan yang tidak ada mode auto-approve](/docs/id/permission-modes#actions-no-mode-auto-approves) |

86 86 


105| Aturan | Efek |105| Aturan | Efek |

106| :- | :- |106| :- | :- |

107| `Bash` | Mencocokkan semua perintah Bash |107| `Bash` | Mencocokkan semua perintah Bash |

108| `WebFetch` | Mencocokkan semua permintaan pengambilan web |108| `WebFetch` | Mencocokkan semua permintaan web fetch |

109| `Read` | Mencocokkan semua pembacaan file |109| `Read` | Mencocokkan semua pembacaan file |

110 110 

111`Bash(*)` setara dengan `Bash` dan mencocokkan semua perintah Bash. Sebagai aturan penolakan, kedua bentuk menghapus alat dari konteks Claude.111`Bash(*)` setara dengan `Bash` dan mencocokkan semua perintah Bash. Sebagai aturan deny, kedua bentuk menghapus alat dari konteks Claude.

112 112 

113<h3 id="use-specifiers-for-fine-grained-control">113<h3 id="use-specifiers-for-fine-grained-control">

114 Gunakan specifier untuk kontrol terperinci114 Gunakan specifier untuk kontrol yang lebih terperinci

115</h3>115</h3>

116 116 

117Tambahkan specifier dalam tanda kurung untuk mencocokkan penggunaan alat tertentu:117Tambahkan specifier dalam tanda kurung untuk mencocokkan penggunaan alat tertentu:


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

121| `Bash(npm run build)` | Mencocokkan perintah yang tepat `npm run build` |121| `Bash(npm run build)` | Mencocokkan perintah yang tepat `npm run build` |

122| `Read(./.env)` | Mencocokkan pembacaan file `.env` di direktori saat ini |122| `Read(./.env)` | Mencocokkan pembacaan file `.env` di direktori saat ini |

123| `WebFetch(domain:example.com)` | Mencocokkan permintaan pengambilan ke example.com |123| `WebFetch(domain:example.com)` | Mencocokkan permintaan fetch ke example.com |

124 124 

125<h3 id="match-by-input-parameter">125<h3 id="match-by-input-parameter">

126 Cocokkan berdasarkan parameter input126 Cocokkan berdasarkan parameter input

127</h3>127</h3>

128 128 

129Aturan penolakan dan tanya dapat mencocokkan parameter input tingkat atas pada alat apa pun yang dibangun dengan `Tool(param:value)`.129Aturan deny dan ask dapat mencocokkan parameter input tingkat atas pada alat bawaan apa pun dengan `Tool(param:value)`.

130 130 

131Untuk mencocokkan parameter pada alat MCP, berikan aturan penolakan dengan [`--disallowedTools`](/docs/id/cli-reference#cli-flags). Ketika Claude Code memuat file pengaturan, aturan `mcp__` apa pun yang memiliki tanda kurung akan dilewati. Claude Code mencantumkan aturan yang dilewati dalam dialog pengaturan tidak valid ketika sesi interaktif dimulai, dan dalam output [`claude doctor`](/docs/id/debug-your-config#check-resolved-settings).131Untuk mencocokkan parameter pada alat MCP, berikan aturan deny dengan [`--disallowedTools`](/docs/id/cli-reference#cli-flags). Ketika Claude Code memuat file pengaturan, ia melewati aturan `mcp__` apa pun yang memiliki tanda kurung. Claude Code mencantumkan aturan yang dilewati dalam dialog invalid-settings ketika sesi interaktif dimulai, dan dalam output [`claude doctor`](/docs/id/debug-your-config#check-resolved-settings).

132 132 

133Aturan parameter cocok ketika Claude memanggil alat dengan parameter tersebut diatur ke nilai yang tepat. Aturan izin untuk satu nilai parameter tidak akan menetapkan bahwa panggilan aman secara keseluruhan, jadi aturan izin terus menggunakan sintaks specifier masing-masing alat. Ini berfungsi untuk parameter skalar apa pun yang diterima alat:133Aturan parameter cocok ketika Claude memanggil alat dengan parameter tersebut diatur ke nilai yang tepat. Aturan allow untuk satu nilai parameter tidak akan menetapkan bahwa panggilan aman secara keseluruhan, jadi aturan allow terus menggunakan sintaks specifier masing-masing alat. Ini berfungsi untuk parameter skalar apa pun yang diterima alat:

134 134 

135| Aturan | Cocok |135| Aturan | Cocok |

136| :- | :- |136| :- | :- |


144* Setiap aturan menamai satu parameter. Untuk membatasi pada `model` dan `isolation`, tulis dua aturan, `Agent(model:opus)` dan `Agent(isolation:worktree)`, daripada menggabungkannya dalam satu aturan144* Setiap aturan menamai satu parameter. Untuk membatasi pada `model` dan `isolation`, tulis dua aturan, `Agent(model:opus)` dan `Agent(isolation:worktree)`, daripada menggabungkannya dalam satu aturan

145* Nilai mendukung `*` sebagai wildcard yang mencocokkan urutan karakter apa pun, jadi `Agent(isolation:*)` mencocokkan nilai isolasi eksplisit apa pun. Tanpa `*` pencocokan bersifat tepat145* Nilai mendukung `*` sebagai wildcard yang mencocokkan urutan karakter apa pun, jadi `Agent(isolation:*)` mencocokkan nilai isolasi eksplisit apa pun. Tanpa `*` pencocokan bersifat tepat

146* Parameter yang dihilangkan model tidak pernah dicocokkan, jadi `Agent(model:*)` tidak mencocokkan panggilan yang membiarkan `model` tidak diatur146* Parameter yang dihilangkan model tidak pernah dicocokkan, jadi `Agent(model:*)` tidak mencocokkan panggilan yang membiarkan `model` tidak diatur

147* Nilai dibandingkan dengan input literal yang dikirim Claude, sebelum normalisasi apa pun. `Agent(model:opus)` mencocokkan alias `opus` tetapi bukan ID model lengkap. Jalankan dengan [`--verbose`](/docs/id/cli-reference) untuk melihat nama dan nilai parameter yang tepat dalam setiap panggilan alat147* Nilai dibandingkan dengan input literal yang dikirim Claude, sebelum normalisasi apa pun. `Agent(model:opus)` mencocokkan alias `opus` tetapi bukan ID model lengkap

148* Aturan deny `Skill(skill:<name>)` sebagai gantinya [mencocokkan skill di bawah salah satu namanya](/docs/id/skills#restrict-claude%E2%80%99s-skill-access), seperti alias atau nama tampilannya

149* Jalankan dengan [`--verbose`](/docs/id/cli-reference) untuk melihat nama dan nilai parameter yang tepat dalam setiap panggilan alat

148* Spasi di sekitar titik dua diabaikan150* Spasi di sekitar titik dua diabaikan

149 151 

150Anda tidak dapat mencocokkan bidang konten utama alat dengan cara ini: `command` untuk Bash dan PowerShell, `file_path` untuk Read, Edit, dan Write, `path` untuk Grep dan Glob, `notebook_path` untuk NotebookEdit, dan `url` untuk WebFetch. Aturan seperti `Bash(command:rm *)` dapat dilewati oleh perintah gabungan, jadi Claude Code mengabaikannya dan mengeluarkan peringatan startup. Gunakan `Bash(rm *)`, `Read(./path)`, atau `WebFetch(domain:host)` sebagai gantinya.152Anda tidak dapat mencocokkan bidang konten utama alat dengan cara ini: `command` untuk Bash dan PowerShell, `file_path` untuk Read, Edit, dan Write, `path` untuk Grep dan Glob, `notebook_path` untuk NotebookEdit, dan `url` untuk WebFetch. Aturan seperti `Bash(command:rm *)` akan dapat dilewati oleh perintah gabungan, jadi Claude Code mengabaikannya dan mengeluarkan peringatan startup. Gunakan `Bash(rm *)`, `Read(./path)`, atau `WebFetch(domain:host)` sebagai gantinya.

151 153 

152<h3 id="wildcard-patterns">154<h3 id="wildcard-patterns">

153 Pola wildcard155 Pola wildcard


156`*` dalam aturan Bash mencocokkan teks apa pun, termasuk spasi, jadi satu aturan mencakup keluarga perintah. Aturan tanpa `*` mencocokkan satu perintah yang tepat.158`*` dalam aturan Bash mencocokkan teks apa pun, termasuk spasi, jadi satu aturan mencakup keluarga perintah. Aturan tanpa `*` mencocokkan satu perintah yang tepat.

157 159 

158<Warning>160<Warning>

159 Letakkan `*` setelah subperintah. Dalam `git log --oneline main`, `git` adalah program dan `log` adalah subperintah, kata yang menentukan apa yang dilakukan program. Claude Code mencocokkan semua yang sebelum `*` pertama seperti yang ditulis, jadi kata-kata tersebut adalah yang membatasi aturan: `Bash(git log *)` hanya memungkinkan perintah `git log`, dan `Bash(git *)` memungkinkan setiap perintah git. Claude Code [memperingatkan saat startup](/docs/id/errors#has-a-wildcard-before-the-rest-of-the-command) tentang aturan izin dengan `*` sebelum subperintah, seperti `Bash(git * main)`.161 Letakkan `*` setelah subperintah. Dalam `git log --oneline main`, `git` adalah program dan `log` adalah subperintah, kata yang menentukan apa yang dilakukan program. Claude Code mencocokkan semuanya sebelum `*` pertama seperti yang ditulis, jadi kata-kata itu adalah yang membatasi aturan: `Bash(git log *)` hanya memungkinkan perintah `git log`, dan `Bash(git *)` memungkinkan setiap perintah git. Claude Code [memperingatkan pada startup](/docs/id/errors#has-a-wildcard-before-the-rest-of-the-command) tentang aturan allow dengan `*` sebelum subperintah, seperti `Bash(git * main)`.

160</Warning>162</Warning>

161 163 

162Tulis perintah yang ingin Anda jalankan Claude tanpa bertanya, dan ganti bagian yang bervariasi dengan `*`. Dengan konfigurasi ini, Claude Code menjalankan skrip npm dan git commit tanpa bertanya dan menolak perintah yang dimulai dengan `git push`. Push yang ditulis dengan cara lain, seperti `git -C . push`, tidak cocok; lihat [apa yang tidak cocok dengan aturan Bash](#bash-rule-limits).164Tulis perintah yang ingin Anda jalankan Claude tanpa bertanya, dan ganti bagian yang bervariasi dengan `*`. Dengan konfigurasi ini, Claude Code menjalankan skrip npm dan komit git tanpa bertanya dan menolak perintah yang dimulai dengan `git push`. Push yang ditulis dengan cara lain, seperti `git -C . push`, tidak dicocokkan; lihat [apa yang tidak dicocokkan aturan Bash](#bash-rule-limits).

163 165 

164```json theme={null}166```json theme={null}

165{167{


175}177}

176```178```

177 179 

178`*` dapat berada di mana saja dalam aturan: di awal, di tengah, atau di akhir. Setiap baris menunjukkan aturan, perintah yang cocok, dan perintah terdekat yang tidak cocok:180`*` dapat berada di mana saja dalam aturan: di awal, di tengah, atau di akhir. Setiap baris menunjukkan aturan, perintah yang dicocokkan, dan perintah terdekat yang tidak dicocokkan:

179 181 

180| Anda tulis | Cocok | Tidak cocok |182| Anda tulis | Cocok | Tidak cocok |

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


190 192 

191Tiga aturan pencocokan menghasilkan baris-baris tersebut:193Tiga aturan pencocokan menghasilkan baris-baris tersebut:

192 194 

193* **`*` mewakili teks apa pun yang ada di tempatnya.** Dalam `Bash(git * main)`, itu mewakili subperintah, jadi Claude Code mencocokkan setiap subperintah git dan setiap opsi sebelumnya. Itu termasuk `-c`, yang membuat git menjalankan program yang Anda beri nama. Dalam `Bash(* --version)`, `*` mewakili program, jadi program apa pun cocok.195* **`*` mewakili teks apa pun yang ada di tempatnya.** Dalam `Bash(git * main)`, ia mewakili subperintah, jadi Claude Code mencocokkan setiap subperintah git dan setiap opsi sebelumnya. Itu termasuk `-c`, yang membuat git menjalankan program yang Anda beri nama. Dalam `Bash(* --version)`, `*` mewakili program, jadi program apa pun cocok.

194* **`*` di akhir, dengan spasi sebelumnya, juga mencocokkan perintah telanjang.** `Bash(ls *)` mencocokkan `ls`, dan `Bash(git log *)` mencocokkan `git log`. Itu hanya berlaku ketika `*` trailing adalah satu-satunya wildcard aturan: `Bash(* --help *)` mencocokkan `npm --help x` tetapi bukan `npm --help`.196* **`*` di akhir, dengan spasi sebelumnya, juga mencocokkan perintah bare.** `Bash(ls *)` mencocokkan `ls`, dan `Bash(git log *)` mencocokkan `git log`. Itu hanya berlaku ketika trailing `*` adalah satu-satunya wildcard aturan: `Bash(* --help *)` mencocokkan `npm --help x` tetapi bukan `npm --help`.

195* **Spasi sebelum `*` trailing adalah bagian dari aturan.** `Bash(ls *)` memerlukan spasi setelah `ls`, jadi `lsof` tidak cocok. `Bash(ls*)` tidak memiliki spasi, jadi itu juga mencocokkan `lsof`.197* **Spasi sebelum trailing `*` adalah bagian dari aturan.** `Bash(ls *)` memerlukan spasi setelah `ls`, jadi `lsof` tidak cocok. `Bash(ls*)` tidak memiliki spasi, jadi ia juga mencocokkan `lsof`.

196 198 

197Akhiran `:*` adalah cara setara untuk menulis wildcard trailing, jadi `Bash(ls:*)` mencocokkan perintah yang sama dengan `Bash(ls *)`.199Sufiks `:*` adalah cara setara untuk menulis trailing wildcard, jadi `Bash(ls:*)` mencocokkan perintah yang sama dengan `Bash(ls *)`.

198 200 

199Dialog izin menulis bentuk yang dipisahkan spasi ketika Anda memilih "Ya, jangan tanya lagi" untuk awalan perintah. Bentuk `:*` hanya dikenali di akhir pola. Dalam pola seperti `Bash(git:* push)`, titik dua diperlakukan sebagai karakter literal dan tidak akan mencocokkan perintah git.201Dialog izin menulis bentuk yang dipisahkan spasi ketika Anda memilih "Yes, and don't ask again" untuk awalan perintah. Bentuk `:*` hanya dikenali di akhir pola. Dalam pola seperti `Bash(git:* push)`, titik dua diperlakukan sebagai karakter literal dan tidak akan mencocokkan perintah git.

200 202 

201<h3 id="tool-name-wildcards">203<h3 id="tool-name-wildcards">

202 Wildcard nama alat204 Wildcard nama alat

203</h3>205</h3>

204 206 

205Aturan penolakan dan tanya juga menerima pola glob dalam posisi nama alat. Pola harus cocok dengan nama alat lengkap: `"*"` cocok dengan setiap alat, dan `"mcp__*"` cocok dengan setiap alat MCP di semua server. Alat yang cocok dengan aturan penolakan nama telanjang dihapus dari konteks Claude, sama seperti nama alat telanjang, termasuk pengecualian [`EndConversation`](/docs/id/tools-reference#endconversation-tool-behavior): penolakan glob tidak dapat menghapusnya sementara alat lain tetap ada, dan tanya glob tidak pernah memintanya. Konfigurasi ini menolak setiap alat MCP:207Aturan deny dan ask juga menerima pola glob dalam posisi nama alat. Pola harus mencocokkan nama alat lengkap: `"*"` mencocokkan setiap alat, dan `"mcp__*"` mencocokkan setiap alat MCP di semua server. Alat yang dicocokkan oleh aturan deny nama bare-name glob dihapus dari konteks Claude, sama seperti nama alat bare, termasuk pengecualian [`EndConversation`](/docs/id/tools-reference#endconversation-tool-behavior): glob deny tidak dapat menghapusnya sementara alat lain tetap ada, dan glob ask tidak pernah memintanya. Konfigurasi ini menolak setiap alat MCP:

206 208 

207```json theme={null}209```json theme={null}

208{210{


214}216}

215```217```

216 218 

217Aturan izin menerima glob nama alat hanya setelah awalan literal `mcp__<server>__`. Segmen server harus bebas glob sehingga aturan menamai server spesifik yang Anda konfigurasi. `mcp__puppeteer__*` cocok dengan setiap alat dari server `puppeteer`, dan `mcp__github__get_*` cocok dengan alat `get_` miliknya. Glob izin yang tidak berlabuh seperti `"*"`, `"B*"`, atau `"mcp__*"` dilewati dengan peringatan dan tidak secara otomatis menyetujui apa pun.219Aturan allow menerima glob nama alat hanya setelah awalan `mcp__<server>__` literal. Segmen server harus bebas glob sehingga aturan menamai server spesifik yang Anda konfigurasi. `mcp__puppeteer__*` mencocokkan setiap alat dari server `puppeteer`, dan `mcp__github__get_*` mencocokkan alat `get_` miliknya. Glob allow yang tidak berlabuh seperti `"*"`, `"B*"`, atau `"mcp__*"` dilewati dengan peringatan dan tidak auto-approve apa pun.

218 220 

219Aturan penolakan atau tanya yang nama alatnya tidak cocok dengan alat yang dikenal menghasilkan peringatan startup untuk menangkap kesalahan ketik. Nama alat yang berisi `_` atau `*` dikecualikan dari pemeriksaan, dan begitu juga nama alat yang telah dihapus Claude Code, seperti `TaskOutput`.221Aturan deny atau ask yang nama alatnya tidak cocok dengan alat yang diketahui menghasilkan peringatan startup untuk menangkap typo. Nama alat yang berisi `_` atau `*` dikecualikan dari pemeriksaan, begitu juga nama alat yang telah dihapus Claude Code, seperti `TaskOutput`.

220 222 

221Label yang ditampilkan untuk alat dalam transkrip dan dialog izin dapat berbeda dari nama kanoniknya. Misalnya, alat yang diberi label `Stop Task` dalam transkrip memiliki nama kanonik `TaskStop`. Aturan izin dan [pencocokan hook](/docs/id/hooks) tidak cocok dengan label, jadi aturan yang ditulis sebagai `Stop Task` tidak cocok. Untuk aturan penolakan dan tanya, peringatan startup di atas menangkap ketidaksesuaian. Gunakan nama kanonik yang tercantum dalam [referensi alat](/docs/id/tools-reference).223Label yang ditampilkan untuk alat dalam transkrip dan dialog izin dapat berbeda dari nama kanoniknya. Misalnya, alat berlabel `Stop Task` dalam transkrip memiliki nama kanonik `TaskStop`. Aturan izin dan [pencocokan hook](/docs/id/hooks) tidak mencocokkan label, jadi aturan yang ditulis sebagai `Stop Task` tidak cocok. Untuk aturan deny dan ask, peringatan startup di atas menangkap ketidaksesuaian. Gunakan nama kanonik yang tercantum dalam [referensi alat](/docs/id/tools-reference).

222 224 

223<h2 id="tool-specific-permission-rules">225<h2 id="tool-specific-permission-rules">

224 Aturan izin khusus alat226 Aturan izin khusus alat

plugin-evals.md +35 −29

Details

57 Baseline tanpa plugin57 Baseline tanpa plugin

58</h3>58</h3>

59 59 

60Skor tinggi sendiri tidak memberi tahu Anda plugin membantu, karena Claude mungkin melakukan hal yang sama tanpanya. Untuk memisahkan keduanya, setiap run kasus diulang tanpa plugin yang dimuat secara default, dan Anda mendapatkan dua skor, `WITH` dan `W/OUT`. Perbedaan mereka, `Δ`, adalah apa yang dikontribusikan plugin. Jika kasus mencetak 1.0 baik dengan maupun tanpa plugin, plugin bukan yang membuatnya lulus.60Skor tinggi sendiri tidak memberi tahu Anda plugin membantu, karena Claude mungkin melakukan hal yang sama tanpanya. Untuk memisahkan keduanya, setiap run kasus diulang tanpa plugin yang dimuat, dan Anda mendapatkan dua skor, `WITH` dan `W/OUT`. Perbedaan mereka, `Δ`, adalah apa yang dikontribusikan plugin. Jika kasus mencetak 1.0 baik dengan maupun tanpa plugin, plugin bukan yang membuatnya lulus.

61 61 

62Dua set run disebut with-arm dan without-arm; [Bandingkan dengan baseline tanpa plugin](#compare-against-a-no-plugin-baseline) mencakup cara grader dinilai di seluruh mereka dan cara mematikan baseline.62Dua set run disebut with-arm dan without-arm; [Bandingkan dengan baseline tanpa plugin](#compare-against-a-no-plugin-baseline) mencakup kasus mana yang menjalankan with-arm saja dan bagaimana grader dinilai di seluruh dua arm.

63 63 

64<h2 id="create-your-first-eval-suite">64<h2 id="create-your-first-eval-suite">

65 Buat suite eval pertama Anda65 Buat suite eval pertama Anda


132 Tulis dan perbaiki kasus132 Tulis dan perbaiki kasus

133</h2>133</h2>

134 134 

135Kasus yang ditulis `claude plugin eval init` adalah file biasa yang dapat Anda buka, ubah, dan tambahkan. Kasus adalah direktori di bawah direktori eval plugin yang berisi `prompt.md`, `case.yaml`, atau keduanya. Untuk mengelompokkan kasus, bersarangkan mereka di bawah direktori yang bukan kasus itu sendiri; apa pun di dalam direktori kasus, seperti `graders/` dan file fixture, milik kasus itu.135Kasus yang ditulis `claude plugin eval init` adalah file biasa yang dapat Anda buka, ubah, dan tambahkan. Kasus adalah direktori di bawah direktori eval plugin yang berisi `prompt.md`, `case.yaml`, atau keduanya. Berikan setiap kasus setidaknya satu grader, sebagai file `graders/<name>.md` atau entri `graders:` di `case.yaml`, karena kasus tanpa satu gagal dimuat. Untuk mengelompokkan kasus, bersarangkan mereka di bawah direktori yang bukan kasus itu sendiri; apa pun di dalam direktori kasus, seperti `graders/` dan file fixture, milik kasus itu.

136 136 

137Ini adalah tata letak yang ditulis `claude plugin eval init` dan yang digunakan untuk suite baru. [Referensi suite eval](#eval-suite-reference) memiliki pohon lengkap, termasuk mock dan hasil:137Ini adalah tata letak yang ditulis `claude plugin eval init` dan yang digunakan untuk suite baru. [Referensi suite eval](#eval-suite-reference) memiliki pohon lengkap, termasuk mock dan hasil:

138 138 


246 Nilai terhadap baseline tanpa plugin246 Nilai terhadap baseline tanpa plugin

247</h3>247</h3>

248 248 

249Ketika plugin sedang diuji, setiap kasus berjalan di dua arm secara default. With-arm adalah runnya dengan plugin dimuat, dan without-arm adalah jumlah run yang sama tanpa plugin sama sekali. Ringkasan dan laporan menunjukkan kedua skor dan `Δ`, skor with-arm minus skor without-arm.249Ketika plugin sedang diuji, kasus biasanya berjalan di dua arm. With-arm adalah runnya dengan plugin dimuat, dan without-arm adalah jumlah run yang sama tanpa plugin sama sekali. Ringkasan dan laporan menunjukkan kedua skor dan `Δ`, skor with-arm minus skor without-arm.

250 250 

251Lewati `--ablation none` untuk menjalankan hanya with-arm, yang mengurangi biaya setengahnya ketika Anda tidak memerlukan perbandingan, seperti saat mengulangi grader.251Dalam situasi ini kasus berjalan dengan-arm saja, jadi tidak mendapat skor `W/OUT` atau `Δ`:

252 

253* **Anda lewati `--ablation none`**: setiap kasus menjalankan satu arm, yang mengurangi biaya setengahnya ketika Anda tidak memerlukan perbandingan, seperti saat mengulangi grader.

254* **Kasus melanjutkan transkrip dan target adalah jalur**: dengan [target](#choose-what-to-evaluate) seperti `.` daripada nama plugin yang diinstal, kasus [`context.history_file`](#add-setup-or-history-with-case-yaml) menjalankan satu arm secara default, dengan asumsi bahwa percakapan yang tercatat sudah mencerminkan plugin. Run mencetak pemberitahuan `single-arm (no Δ)` di stderr yang menamakan kasus ini. Untuk membandingkan giliran yang dilanjutkan dengan dan tanpa plugin, lewati `--ablation with-without`.

255* **Tidak ada plugin yang ditemukan untuk kasus**: ketika target adalah jalur, kasus yang plugin Claude Code tidak dapat temukan juga menjalankan satu arm secara default. Lihat [baseline arm menunjukkan tidak ada plugin](#the-baseline-arm-shows-no-plugin-or-delta-is-zero) untuk memperbaikinya.

252 256 

253Dalam run dua-arm, beberapa grader dilaporkan dengan `scored: false`. Pemeriksaan seperti "skill dipanggil" tidak pernah dapat lulus tanpa plugin, jadi menghitungnya akan mendorong without-arm menuju nol dan menginflasi `Δ`. Untuk menjaga kedua arm dapat dibandingkan, Claude Code mengecualikan grader tersebut dari skor di kedua arm dan melaporkannya di with-arm sebagai indikator lulus/gagal saja. Itu termasuk:257Dalam run dua-arm, beberapa grader dilaporkan dengan `scored: false`. Pemeriksaan seperti "skill dipanggil" tidak pernah dapat lulus tanpa plugin, jadi menghitungnya akan mendorong without-arm menuju nol dan menginflasi `Δ`. Untuk menjaga kedua arm dapat dibandingkan, Claude Code mengecualikan grader tersebut dari skor di kedua arm dan melaporkannya di with-arm sebagai indikator lulus/gagal saja. Itu termasuk:

254 258 


286Setiap run dimulai di workspace kosong. Ketika kasus memerlukan lebih dari prompt, tambahkan `case.yaml` di samping `prompt.md` dengan blok `context`:290Setiap run dimulai di workspace kosong. Ketika kasus memerlukan lebih dari prompt, tambahkan `case.yaml` di samping `prompt.md` dengan blok `context`:

287 291 

288* **File fixture atau repositori git**: tulis skrip Bash di direktori kasus dan namai di `context.scaffold_script`. Skrip berjalan sebagai Anda, di luar sandbox agen, dan hanya ketika Anda lewati `--scaffold`, jadi lewati flag itu hanya untuk suite yang Anda atau organisasi Anda tulis.292* **File fixture atau repositori git**: tulis skrip Bash di direktori kasus dan namai di `context.scaffold_script`. Skrip berjalan sebagai Anda, di luar sandbox agen, dan hanya ketika Anda lewati `--scaffold`, jadi lewati flag itu hanya untuk suite yang Anda atau organisasi Anda tulis.

289* **Percakapan sebelumnya untuk dilanjutkan**: simpan transkrip sebagai file `.jsonl` dan namai di `context.history_file`, dan prompt kasus menjadi turn pengguna berikutnya.293* **Percakapan sebelumnya untuk dilanjutkan**: simpan transkrip sebagai file `.jsonl` dan namai di `context.history_file`, dan prompt kasus menjadi turn pengguna berikutnya. Ketika target adalah path, kasus seperti itu berjalan [tanpa baseline arm](#compare-against-a-no-plugin-baseline) secara default.

290* **Direktori fixture yang dapat dibaca Claude selama run**: cantumkan di `context.add_dirs`.294* **Direktori fixture yang dapat dibaca Claude selama run**: cantumkan di `context.add_dirs`.

291 295 

292`case.yaml` juga memerlukan `schema_version: "1.1"` dan `name`; referensi [case.yaml fields](#case-yaml-fields) memiliki daftar lengkap.296`case.yaml` juga memerlukan `schema_version: "1.1"` dan `name`; referensi [case.yaml fields](#case-yaml-fields) memiliki daftar lengkap.


302 add_dirs: [resources]306 add_dirs: [resources]

303```307```

304 308 

309Skrip scaffold dimulai di workspace kosong dengan lingkungan tetap kecil: `PATH` shell Anda, `HOME` diatur ke direktori home sementara run, `TMPDIR`, dan beberapa konstanta seperti `TERM=dumb`. Tidak ada yang lain dari shell Anda yang mencapainya, dan juga tidak ada variabel `EVAL_*` kasus. Jika skrip keluar non-zero atau berjalan lebih lama dari 120 detik, run itu mendapat skor 0 dengan kesalahan `scaffold failed`. Gunakan skrip hanya untuk file dan state git, karena konfigurasi proyek yang ditulisnya [tidak dimuat](#how-runs-are-isolated).

310 

305<h3 id="mock-mcp-servers">311<h3 id="mock-mcp-servers">

306 Mock server MCP312 Mock server MCP

307</h3>313</h3>


398| `-j`, `--concurrency <n>` | `1` | Jalankan hingga banyak agent run sekaligus, dari 1 hingga 8. Mereka berbagi batas laju akun Anda, jadi ini mempersingkat waktu dinding daripada meningkatkan throughput melampaui batas itu. Hasil menjaga urutan kasus |404| `-j`, `--concurrency <n>` | `1` | Jalankan hingga banyak agent run sekaligus, dari 1 hingga 8. Mereka berbagi batas laju akun Anda, jadi ini mempersingkat waktu dinding daripada meningkatkan throughput melampaui batas itu. Hasil menjaga urutan kasus |

399| `--model <model>` | `model` setiap kasus, atau `ANTHROPIC_MODEL` jika diatur, atau default Claude Code | Model untuk agent yang diuji. Pasangnya di CI sehingga rollout model tidak disalahartikan sebagai regresi plugin |405| `--model <model>` | `model` setiap kasus, atau `ANTHROPIC_MODEL` jika diatur, atau default Claude Code | Model untuk agent yang diuji. Pasangnya di CI sehingga rollout model tidak disalahartikan sebagai regresi plugin |

400| `--judge-model <model>` | Model kecil cepat | Model untuk grader `llm` dan `baseline` |406| `--judge-model <model>` | Model kecil cepat | Model untuk grader `llm` dan `baseline` |

401| `--ablation <mode>` | `with-without` ketika plugin diselesaikan, atau `none` | Apakah juga menjalankan setiap kasus tanpa plugin untuk mengukur apa yang ditambahkannya. `none` menjalankan satu arm; `with-without` menambahkan baseline tanpa plugin |407| `--ablation <mode>` | Diputuskan per kasus; lihat [Skor terhadap baseline tanpa plugin](#compare-against-a-no-plugin-baseline) | Apakah juga menjalankan setiap kasus tanpa plugin untuk mengukur apa yang ditambahkannya. `none` menjalankan satu arm; `with-without` menambahkan baseline tanpa plugin |

402| `--threshold <0..1>` | `1.0` | Kasus lulus ketika skor with-arm-nya setidaknya ini. Kasus apa pun di bawahnya membuat perintah keluar 1 |408| `--threshold <0..1>` | `1.0` | Kasus lulus ketika skor with-arm-nya setidaknya ini. Kasus apa pun di bawahnya membuat perintah keluar 1 |

403| `--max-cost-usd <usd>` | Tidak ada batas | Batas pada estimasi biaya harga daftar run, bukan pada penggunaan rencana. Diperiksa sebelum setiap run dimulai. Setelah dihabiskan, tidak ada yang dimulai lebih lanjut; run yang sudah dalam penerbangan selesai, jadi pengeluaran dapat melampaui batas oleh run tersebut. Jika ada run yang tidak dimulai, perintah keluar 2 dengan hasil parsial |409| `--max-cost-usd <usd>` | Tidak ada batas | Batas pada estimasi biaya harga daftar run, bukan pada penggunaan rencana. Diperiksa sebelum setiap run dimulai. Setelah dihabiskan, tidak ada yang dimulai lebih lanjut; run yang sudah dalam penerbangan selesai, jadi pengeluaran dapat melampaui batas oleh run tersebut. Jika ada run yang tidak dimulai, perintah keluar 2 dengan hasil parsial |

404| `--allow-tools <tools...>` | Tidak ada | Berikan alat di luar set read-only. Lihat [Berikan alat](#grant-tools) |410| `--allow-tools <tools...>` | Tidak ada | Berikan alat di luar set read-only. Lihat [Berikan alat](#grant-tools) |


455 Baca hasilnya461 Baca hasilnya

456</h2>462</h2>

457 463 

458Setiap run dengan setidaknya satu kasus menulis direktori `results/<timestamp>/` di dalam direktori eval, berisi `aggregate-result.json` dan `report.html`. Untuk target jalur yang berada di bawah plugin; untuk plugin yang Anda namai, itu di bawah direktori saat ini, seperti yang ditunjukkan [tabel target](#choose-what-to-evaluate). Tabel ringkasan, JSON, dan laporan semuanya merender data hasil yang sama.464Setiap run dengan setidaknya satu kasus menulis direktori `results/<timestamp>/` di dalam direktori eval, berisi `aggregate-result.json` dan `report.html`. Untuk target path yang berada di bawah plugin; untuk plugin yang Anda beri nama, itu berada di direktori saat ini, seperti yang ditunjukkan [tabel target](#choose-what-to-evaluate). Tabel ringkasan, JSON, dan laporan semuanya merender data hasil yang sama.

459 465 

460<h3 id="html-report">466<h3 id="html-report">

461 Laporan HTML467 Laporan HTML

462</h3>468</h3>

463 469 

464`report.html` adalah file mandiri tunggal yang tidak membuat permintaan eksternal, jadi Anda dapat melampirkannya ke pekerjaan CI atau membukanya dari disk. Contoh ini adalah bagian atas laporan untuk run suite tiga kasus dengan `--threshold 0.8`; biaya yang ditampilkan adalah perkiraan harga daftar dan bervariasi dengan model dan jumlah kasus:470`report.html` adalah file tunggal yang mandiri dan tidak membuat permintaan eksternal, sehingga Anda dapat melampirkannya ke pekerjaan CI atau membukanya dari disk. Contoh ini adalah bagian atas laporan untuk run suite tiga kasus dengan `--threshold 0.8`; biaya yang ditampilkan adalah perkiraan harga daftar dan bervariasi dengan model dan jumlah kasus:

465 471 

466<img src="https://mintcdn.com/claude-code/qq7LHDi_F0aeFHgk/images/plugin-eval-report.png?fit=max&auto=format&n=qq7LHDi_F0aeFHgk&q=85&s=106eb6e6a70a6565f891ea3a4564f87d" alt="Bagian atas laporan eval: baris putusan yang berbunyi &#x22;Plugin effect: +33.3 pts vs baseline, improved 2, flat 1, regressed 0 of 3 cases&#x22;, lima ubin ringkasan untuk skor suite, delta ablasi, skor baseline, kasus yang melewati threshold, dan run sempurna, kemudian kasus pertama dengan delta, batang skor, dan satu run yang kedua grader-nya menunjukkan lulus" width="1360" height="1032" data-path="images/plugin-eval-report.png" />472<img src="https://mintcdn.com/claude-code/qq7LHDi_F0aeFHgk/images/plugin-eval-report.png?fit=max&auto=format&n=qq7LHDi_F0aeFHgk&q=85&s=106eb6e6a70a6565f891ea3a4564f87d" alt="Bagian atas laporan eval: baris putusan yang berbunyi &#x22;Plugin effect: +33.3 pts vs baseline, improved 2, flat 1, regressed 0 of 3 cases&#x22;, lima ubin ringkasan untuk skor suite, delta ablasi, skor baseline, kasus yang melewati threshold, dan run sempurna, kemudian kasus pertama dengan delta, batang skor, dan satu run yang kedua grader-nya menunjukkan pass" width="1360" height="1032" data-path="images/plugin-eval-report.png" />

467 473 

468Bacanya dari atas ke bawah:474Bacanya dari atas ke bawah:

469 475 

470* **Baris putusan dan ubin** menjawab apakah plugin membantu di seluruh suite. Skor suite adalah rata-rata skor with-plugin per-kasus, Ablation Δ adalah seberapa jauh itu berada di atas atau di bawah skor baseline, dan Cases menghitung berapa banyak yang memenuhi threshold. Perfect runs adalah bagian dari run with-plugin di mana setiap grader lulus.476* **Baris putusan dan ubin** menjawab apakah plugin membantu di seluruh suite. Skor suite adalah rata-rata skor dengan-plugin per-kasus, Ablation Δ adalah seberapa jauh itu di atas atau di bawah skor baseline, dan Cases menghitung berapa banyak yang memenuhi threshold. Perfect runs adalah bagian dari run dengan-plugin di mana setiap grader lulus.

471* **Setiap kartu kasus** menunjukkan `Δ` kasus sendiri dan skor with-plugin, dengan tanda centang pada batang di threshold. Kasus yang `Δ`-nya negatif mendapat tepi kiri merah, jadi regresi menonjol saat Anda menggulir.477* **Setiap kartu kasus** menunjukkan `Δ` kasus sendiri dan skor dengan-plugin, dengan tanda centang pada batang di threshold. Kasus yang `Δ`-nya negatif mendapat tepi kiri merah, sehingga regresi menonjol saat Anda menggulir.

472* **Di dalam kasus**, run with-plugin datang terlebih dahulu dan run baseline setelahnya. Setiap run mencantumkan grader-nya dengan chip lulus atau gagal. Grader yang gagal sudah diperluas dengan penjelasannya, dan grader `llm` juga menunjukkan suara hakim dan bukti yang ditampilkannya, di mana Anda menemukan alasan mengapa run mendapat skor rendah. Grader yang tidak diperhitungkan terhadap skor, seperti `tool_used: Skill`, membawa lencana `plugin-fired indicator`.478* **Di dalam kasus**, run dengan-plugin datang terlebih dahulu dan run baseline setelahnya. Setiap run mencantumkan grader-nya dengan chip pass atau fail. Grader yang gagal sudah diperluas dengan penjelasannya, dan grader `llm` juga menunjukkan suara hakim dan bukti yang ditampilkannya, di mana Anda menemukan alasan mengapa run mendapat skor rendah. Grader yang tidak diperhitungkan dalam skor, seperti `tool_used: Skill`, membawa lencana `plugin-fired indicator`.

473* **Prompt dan Graders**, di bawah run, menunjukkan prompt kasus dan rubrik atau pola setiap grader, sehingga seseorang yang membaca laporan tanpa suite dapat melihat apa yang ditanyakan dan apa yang dihitung sebagai baik.479* **Prompt dan Graders**, di bawah run, menunjukkan prompt kasus dan rubrik atau pola setiap grader, sehingga seseorang yang membaca laporan tanpa suite dapat melihat apa yang ditanyakan dan apa yang dihitung sebagai baik.

474 480 

475Jika Anda masuk dengan langganan claude.ai dan [artifacts](/docs/id/artifacts) tersedia untuk akun Anda, Claude Code juga menerbitkan laporan sebagai artifact pribadi dan mencetak `Published: <url>`. Lewati `--no-publish` untuk menyimpannya lokal. Jika tidak ada baris `Published:` yang muncul, seperti dengan autentikasi kunci API, file lokal adalah laporan.481Jika Anda masuk dengan langganan claude.ai dan [artifacts](/docs/id/artifacts) tersedia untuk akun Anda, Claude Code juga menerbitkan laporan sebagai artifact pribadi dan mencetak `Published: <url>`. Lewatkan `--no-publish` untuk menyimpannya secara lokal. Jika tidak ada baris `Published:` yang muncul, seperti dengan autentikasi kunci API, file lokal adalah laporan.

476 482 

477Run yang dimulai sesi Claude Code, seperti ketika Anda meminta Claude menjalankan suite untuk Anda, juga tetap lokal, dan baris `Report:`-nya mengatakan `kept local`. Tambahkan `--publish-report` ke perintah itu untuk menerbitkannya.483Run yang dimulai sesi Claude Code, seperti ketika Anda meminta Claude menjalankan suite untuk Anda, juga tetap lokal, dan baris `Report:`-nya mengatakan `kept local`. Tambahkan `--publish-report` ke perintah itu untuk menerbitkannya.

478 484 


480 Hasil JSON486 Hasil JSON

481</h3>487</h3>

482 488 

483`aggregate-result.json`, dan output `--json`, adalah dokumen versi dengan `schemaVersion: 1` untuk skrip CI untuk diurai. Nama field adalah camelCase dan field baru ditambahkan tanpa mengganti nama yang ada, jadi tulis skrip Anda untuk mengabaikan field yang tidak dikenalinya.489`aggregate-result.json`, dan output `--json`, adalah dokumen berversi dengan `schemaVersion: 1` untuk skrip CI untuk diurai. Nama field adalah camelCase dan field baru ditambahkan tanpa mengganti nama yang sudah ada, jadi tulis skrip Anda untuk mengabaikan field yang tidak dikenalinya.

484 490 

485Ini adalah field yang biasanya dibaca skrip gating. Dokumen juga membawa konfigurasi suite, setiap definisi grader, dan hasil grader per-run dengan penjelasan dan bukti:491Ini adalah field yang biasanya dibaca skrip gating. Dokumen juga membawa konfigurasi suite, setiap definisi grader, dan hasil grader per-run dengan penjelasan dan bukti:

486 492 

487| Field | Arti |493| Field | Arti |

488| :- | :- |494| :- | :- |

489| `partial`, `partialReason` | `true` dengan `cost_ceiling`, `interrupted`, atau `auth_failed` ketika suite tidak selesai. Tinggalkan hasil parsial dari tren bagan |495| `partial`, `partialReason` | `true` dengan `cost_ceiling`, `interrupted`, atau `auth_failed` ketika suite tidak selesai. Tinggalkan hasil parsial dari bagan tren |

490| `aggregates.overallScore` | Skor kasus rata-rata di seluruh suite |496| `aggregates.overallScore` | Skor kasus rata-rata di seluruh suite |

491| `aggregates.casesPassed`, `aggregates.casesTotal` | Kasus pada atau di atas `--threshold`, dan totalnya |497| `aggregates.casesPassed`, `aggregates.casesTotal` | Kasus pada atau di atas `--threshold`, dan totalnya |

492| `aggregates.meanDelta` | Rata-rata `Δ` di seluruh kasus, di bawah mode dua-arm |498| `aggregates.meanDelta` | Rata-rata `Δ` di seluruh kasus, dalam mode dua-arm |

493| `cases[].name` | Nama kasus |499| `cases[].name` | Nama kasus |

494| `cases[].aggregates.score` | Skor run with-arm rata-rata untuk kasus |500| `cases[].aggregates.score` | Skor run dengan-arm rata-rata untuk kasus |

495| `cases[].aggregates.delta` | Skor with-arm minus skor without-arm. Dihilangkan ketika arm tidak dapat dibandingkan |501| `cases[].aggregates.delta` | Skor dengan-arm dikurangi skor tanpa-arm. Dihilangkan ketika kasus menjalankan satu arm atau arm tidak dapat dibandingkan |

496| `cases[].arms.with[].error` | `null`, atau mengapa run berakhir abnormal, seperti `timed out after 300s`. Run yang dimulai tetapi berakhir buruk masih dinilai pada apa yang dihasilkannya, jadi kesalahan non-null tidak menyiratkan skor 0 |502| `cases[].arms.with[].error` | `null`, atau mengapa run berakhir secara abnormal, seperti `timed out after 300s`. Run yang dimulai tetapi berakhir buruk masih dinilai pada apa yang dihasilkannya, jadi error non-null tidak menyiratkan skor 0 |

497| `cases[].arms.with[].aborted` | Hadir ketika [mock](#mock-mcp-servers) `expect:` atau `abort_when` menghentikan run, dengan `server`, `tool`, dan `reason`. Run mencetak 0 dan `error` tetap `null` |503| `cases[].arms.with[].aborted` | Hadir ketika [mock](#mock-mcp-servers) `expect:` atau `abort_when` menghentikan run, dengan `server`, `tool`, dan `reason`. Run mendapat skor 0 dan `error` tetap `null` |

498| `cases[].arms.with[].skippedPaidGraders` | `true` ketika batas biaya melewati grader judge run ini, jadi skornya tidak dapat dibandingkan |504| `cases[].arms.with[].skippedPaidGraders` | `true` ketika ceiling biaya melewatkan grader hakim run ini, sehingga skornya tidak dapat dibandingkan |

499| `costUsd`, `durationSeconds`, `claudeVersion` | Biaya perkiraan pada harga daftar termasuk panggilan judge, detik dinding-jam, dan versi Claude Code yang menjalankan suite |505| `costUsd`, `durationSeconds`, `claudeVersion` | Biaya perkiraan pada harga daftar termasuk panggilan hakim, detik dinding, dan versi Claude Code yang menjalankan suite |

500 506 

501<h2 id="security">507<h2 id="security">

502 Apa yang dapat diakses run508 Apa yang dapat diakses run


510 Percayai direktori plugin516 Percayai direktori plugin

511</h3>517</h3>

512 518 

513Pertama kali Anda menjalankan `claude plugin eval` terhadap direktori, Claude Code menanyakan `Trust this plugin directory?` sebelum memuat apa pun darinya, kecuali Anda sudah menerima prompt kepercayaan di sana dalam sesi `claude` interaktif. Di dalam repositori git, menjawab ya mempercayai seluruh repositori, untuk sesi interaktif juga. Ketika stdin atau stdout bukan terminal, di bawah `--json`, atau ketika variabel lingkungan `CI` diatur ke nilai true seperti `true`, run tidak dapat bertanya dan ditolak dengan keluar 1; lewati `--trust-plugin` untuk menegaskan kepercayaan sendiri, hanya untuk plugin yang akan Anda jalankan di mesin Anda sendiri. Target yang Anda namai daripada berikan sebagai jalur, berarti plugin yang diinstal atau plugin direktori skills, melewati prompt.519Pertama kali Anda menjalankan `claude plugin eval` terhadap direktori, Claude Code menanyakan `Trust this plugin directory?` sebelum memuat apa pun darinya, kecuali Anda sudah menerima prompt kepercayaan di sana dalam sesi `claude` interaktif. Di dalam repositori git, menjawab ya mempercayai seluruh repositori, untuk sesi interaktif juga. Ketika stdin atau stdout bukan terminal, atau di bawah `--json`, run tidak dapat bertanya dan ditolak dengan keluar 1; lewati `--trust-plugin` untuk menegaskan kepercayaan sendiri, hanya untuk plugin yang akan Anda jalankan di mesin Anda sendiri. Target yang Anda namai daripada berikan sebagai jalur, berarti plugin yang diinstal atau plugin direktori skills, melewati prompt.

514 520 

515Beberapa bagian dari plugin dan suite berjalan hanya ketika Anda melewati flag mereka untuk run itu:521Beberapa bagian dari plugin dan suite berjalan hanya ketika Anda melewati flag mereka untuk run itu:

516 522 


528 534 

529Setiap run mendapat direktori home, direktori kerja, dan konfigurasi Claude Code yang dapat dibuang, dan agen yang diuji berjalan di sana sebagai proses anak `claude -p` dengan hanya plugin Anda dimuat. Ingat konsekuensi ini saat menulis kasus:535Setiap run mendapat direktori home, direktori kerja, dan konfigurasi Claude Code yang dapat dibuang, dan agen yang diuji berjalan di sana sebagai proses anak `claude -p` dengan hanya plugin Anda dimuat. Ingat konsekuensi ini saat menulis kasus:

530 536 

531* **Tidak ada yang pribadi atau tingkat proyek yang dimuat.** Pengaturan pengguna, hook, file `CLAUDE.md`, server MCP, plugin yang diinstal lainnya, memori, dan skill Anda tidak ada, dan tidak ada proyek-scoped `.claude/` atau `.mcp.json` di atas sandbox yang dibaca. Sebagian besar lingkungan shell Anda juga ditahan; hanya [daftar izin](#prompt-md-fields) dan variabel `EVAL_*` mencapai run. Jika plugin memerlukan setup, kirimkan di plugin, buat di `scaffold_script`, atau lewati variabel `EVAL_*`.537* **Tidak ada yang pribadi atau tingkat proyek yang dimuat.** Pengaturan pengguna, hook, file `CLAUDE.md`, server MCP, plugin yang diinstal lainnya, memori, dan skill Anda tidak ada. Konfigurasi yang dibatasi proyek tidak dibaca di mana pun: tidak ada direktori `.claude/`, `CLAUDE.md`, atau `.mcp.json` yang dimuat dari atas workspace atau di dalamnya, bahkan yang ditulis `scaffold_script`, dan direktori `add_dirs` memberikan akses baca saja. Sebagian besar lingkungan shell Anda juga ditahan; hanya [daftar izin](#prompt-md-fields) dan variabel `EVAL_*` mencapai run. Kirimkan skill, agent, hook, atau server MCP apa pun yang bergantung pada kasus dalam plugin yang diuji, karena [`scaffold_script`](#add-setup-or-history-with-case-yaml) hanya dapat menyediakan file dan status git.

532* **Kebijakan terkelola masih dapat membatasi run.** Pembatasan di [pengaturan terkelola](/docs/id/managed-settings) yang diterapkan administrator ke mesin berlaku di dalam run, jadi hasil pada mesin terkelola dapat berbeda dari yang tidak terkelola oleh kebijakan itu.538* **Kebijakan terkelola masih dapat membatasi run.** Pembatasan di [pengaturan terkelola](/docs/id/managed-settings) yang diterapkan administrator ke mesin berlaku di dalam run, jadi hasil pada mesin terkelola dapat berbeda dari yang tidak terkelola oleh kebijakan itu.

533* **Alat Artifact mati.** Skill yang menerbitkan [artifact](/docs/id/artifacts) dapat dinilai hanya pada apa yang dihasilkannya sebelum langkah itu.539* **Alat Artifact mati.** Skill yang menerbitkan [artifact](/docs/id/artifacts) dapat dinilai hanya pada apa yang dihasilkannya sebelum langkah itu.

534* **Definisi kasus disembunyikan dari agen.** Run tidak dapat membaca direktori eval, jadi Claude tidak dapat melihat prompt kasus, grader, atau kasus saudara.540* **Definisi kasus disembunyikan dari agen.** Run tidak dapat membaca direktori eval, jadi Claude tidak dapat melihat prompt kasus, grader, atau kasus saudara.


538 Referensi suite eval544 Referensi suite eval

539</h2>545</h2>

540 546 

541Semuanya yang dapat berisi suite eval hidup di bawah direktori eval plugin, `evals/` kecuali Anda [mengonfigurasi yang lain](#use-a-different-eval-directory). Pohon ini menunjukkan setiap file yang dibaca atau ditulis `claude plugin eval` di sana; hanya `prompt.md` atau `case.yaml` yang diperlukan untuk kasus ada:547Semuanya yang dapat berisi suite eval hidup di bawah direktori eval plugin, `evals/` kecuali Anda [mengonfigurasi yang lain](#use-a-different-eval-directory). Sebuah direktori dihitung sebagai kasus ketika menyimpan `prompt.md` atau `case.yaml`, dan kasus tanpa setidaknya satu grader gagal dimuat dengan kesalahan `invalid case.yaml` yang menyebutkan `graders`. Pohon ini menunjukkan setiap file yang dibaca atau ditulis `claude plugin eval` di direktori eval:

542 548 

543```text theme={null}549```text theme={null}

544evals/550evals/


594 600 

595| Field | Tujuan |601| Field | Tujuan |

596| :- | :- |602| :- | :- |

597| `context.scaffold_script` | Skrip Bash di direktori kasus yang berjalan di workspace kosong sebelum Claude dimulai, untuk membuat file fixture atau repositori git. Ini berjalan hanya ketika Anda lewati [`--scaffold`](#add-setup-or-history-with-case-yaml) |603| `context.scaffold_script` | Skrip Bash di direktori kasus yang berjalan di workspace kosong sebelum Claude dimulai, untuk membuat file fixture atau repositori git. Ini berjalan hanya ketika Anda lewati [`--scaffold`](#add-setup-or-history-with-case-yaml), dengan lingkungan minimal dan batas 120 detik, dan keluar non-zero gagal run |

598| `context.history_file` | Transkrip `.jsonl` di direktori kasus untuk dilanjutkan. Prompt kasus menjadi turn pengguna berikutnya |604| `context.history_file` | Transkrip `.jsonl` di direktori kasus untuk dilanjutkan. Prompt kasus menjadi turn pengguna berikutnya |

599| `context.add_dirs` | Direktori di dalam direktori kasus yang dapat dibaca Claude selama run, diberikan read-only |605| `context.add_dirs` | Direktori di dalam direktori kasus yang dapat dibaca Claude selama run, diberikan read-only |

600| `execution.prompt` | Prompt, ketika Anda menyimpan seluruh kasus di `case.yaml` dan menghilangkan `prompt.md` |606| `execution.prompt` | Prompt, ketika Anda menyimpan seluruh kasus di `case.yaml` dan menghilangkan `prompt.md` |


683 "is not a trusted plugin directory, and this run cannot stop to ask you about it"689 "is not a trusted plugin directory, and this run cannot stop to ask you about it"

684</h3>690</h3>

685 691 

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).692Ini adalah run pertama terhadap direktori yang Claude Code belum percayai, dan tidak dapat bertanya karena stdin atau stdout bukan terminal atau Anda melewati `--json`. 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).

687 693 

688<h3 id="git-is-too-old-for-claude-plugin-eval">694<h3 id="git-is-too-old-for-claude-plugin-eval">

689 "is too old for claude plugin eval"695 "is too old for claude plugin eval"


709 The baseline arm shows no plugin, or delta is zero715 The baseline arm shows no plugin, or delta is zero

710</h3>716</h3>

711 717 

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.718Jika ringkasan tidak memiliki kolom `W/OUT`, atau kasus gagal dengan "ablation requested but no plugin resolved", penyebab umum adalah tidak ada plugin yang ditemukan untuk kasus. Jika setiap kasus melanjutkan transkrip melalui `context.history_file`, kolom yang hilang diharapkan sebagai gantinya, karena kasus-kasus itu berjalan [satu arm secara default](#compare-against-a-no-plugin-baseline). Jika tidak, tambahkan `plugins: ["../.."]` ke kasus, memberikan jalur dari direktori kasus ke direktori plugin.

713 719 

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.720Jika 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.

715 721 

Details

92| `--accept-command <sha256>` | Terima perintah instal yang ditampilkan yang `sha256` sebelumnya [`--json` run](#plugin-json-result) dilaporkan dalam `shownCommand`, sebagai pengganti `-y`. Tidak dapat digabungkan dengan `-y`. Lihat [Terima perintah instal yang ditampilkan](#accept-a-displayed-install-command). Memerlukan Claude Code v2.1.271 atau lebih baru |92| `--accept-command <sha256>` | Terima perintah instal yang ditampilkan yang `sha256` sebelumnya [`--json` run](#plugin-json-result) dilaporkan dalam `shownCommand`, sebagai pengganti `-y`. Tidak dapat digabungkan dengan `-y`. Lihat [Terima perintah instal yang ditampilkan](#accept-a-displayed-install-command). Memerlukan Claude Code v2.1.271 atau lebih baru |

93| `--json` | Cetak hasil sebagai satu objek JSON pada baris terakhir stdout alih-alih pesan yang dapat dibaca manusia, untuk digunakan dalam skrip. Lihat [Format hasil JSON](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau lebih baru |93| `--json` | Cetak hasil sebagai satu objek JSON pada baris terakhir stdout alih-alih pesan yang dapat dibaca manusia, untuk digunakan dalam skrip. Lihat [Format hasil JSON](#plugin-json-result). Memerlukan Claude Code v2.1.268 atau lebih baru |

94 94 

95Jalankan `claude plugin install --help` di shell Anda untuk melihat setiap opsi yang didukung versi Anda.

96 

95Lewatkan `-y` dari terminal Anda sendiri untuk menerima perintah yang ditampilkan tanpa prompt. Berikut yang terjadi tanpa TTY dan ketika Claude menjalankan perintah:97Lewatkan `-y` dari terminal Anda sendiri untuk menerima perintah yang ditampilkan tanpa prompt. Berikut yang terjadi tanpa TTY dan ketika Claude menjalankan perintah:

96 98 

97* **stdin atau stdout bukan TTY, dan Anda tidak melewatkan `-y` atau `--accept-command`**: instalasi ditolak. Output mengatakan perintah hanya ditampilkan, dan kode keluar adalah `1`99* **stdin atau stdout bukan TTY, dan Anda tidak melewatkan `-y` atau `--accept-command`**: instalasi ditolak. Output mengatakan perintah hanya ditampilkan, dan kode keluar adalah `1`


163 165 

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`.166Claude 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 167 

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.168Jika baris kegagalan berlanjut dengan `"formatter" was not uninstalled:` dan menyebutkan file pengaturan, 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 169 

168<h4 id="what-an-uninstall-deletes-and-keeps">170<h4 id="what-an-uninstall-deletes-and-keeps">

169 Apa yang dihapus dan disimpan uninstall171 Apa yang dihapus dan disimpan uninstall


436| `-j, --concurrency <n>` | Sesi agen untuk dijalankan sekaligus, 1 hingga 8. Mereka berbagi batas laju Anda | `1` |438| `-j, --concurrency <n>` | Sesi agen untuk dijalankan sekaligus, 1 hingga 8. Mereka berbagi batas laju Anda | `1` |

437| `--model <model>` | Model untuk agen di bawah pengujian | `model` setiap kasus, atau `ANTHROPIC_MODEL` jika diatur, atau default Claude Code |439| `--model <model>` | Model untuk agen di bawah pengujian | `model` setiap kasus, atau `ANTHROPIC_MODEL` jika diatur, atau default Claude Code |

438| `--judge-model <model>` | Model untuk grader `llm` dan `baseline` | Model kecil cepat |440| `--judge-model <model>` | Model untuk grader `llm` dan `baseline` | Model kecil cepat |

439| `--ablation <mode>` | `none` atau `with-without`. Lihat [Bandingkan dengan baseline tanpa plugin](/docs/id/plugin-evals#compare-against-a-no-plugin-baseline) | `with-without` ketika plugin diselesaikan, atau `none` |441| `--ablation <mode>` | `none` atau `with-without`. Lihat [Bandingkan dengan baseline tanpa plugin](/docs/id/plugin-evals#compare-against-a-no-plugin-baseline) | Diputuskan per kasus, seperti bagian itu menjelaskan |

440| `--threshold <0..1>` | Keluar 1 jika kasus apa pun mencetak di bawah ini | `1.0` |442| `--threshold <0..1>` | Keluar 1 jika kasus apa pun mencetak di bawah ini | `1.0` |

441| `--max-cost-usd <usd>` | Berhenti sebelum run berikutnya setelah pengeluaran mencapai ini, keluar 2, dan laporkan hasil parsial | Tidak ada batas |443| `--max-cost-usd <usd>` | Berhenti sebelum run berikutnya setelah pengeluaran mencapai ini, keluar 2, dan laporkan hasil parsial | Tidak ada batas |

442| `--allow-tools <tools...>` | Berikan alat di luar set hanya baca, seperti `Bash`, `Write`, `Edit`, atau `"mcp__plugin_<plugin>_<server>__*"`. Lihat [Berikan alat](/docs/id/plugin-evals#grant-tools) | |444| `--allow-tools <tools...>` | Berikan alat di luar set hanya baca, seperti `Bash`, `Write`, `Edit`, atau `"mcp__plugin_<plugin>_<server>__*"`. Lihat [Berikan alat](/docs/id/plugin-evals#grant-tools) | |


467claude plugin eval init [name] [options]469claude plugin eval init [name] [options]

468```470```

469 471 

472Jalankan perintah dari folder root plugin, direktori yang memegang `.claude-plugin/plugin.json` atau `SKILL.md` skill. Untuk rangka kerja suite di direktori lain dengan sengaja, lewatkan `--eval-dir`.

473 

470Di terminal, perintah membuka sesi Claude Code interaktif untuk wawancara penulisan. Dalam wawancara, Claude melakukan hal berikut:474Di terminal, perintah membuka sesi Claude Code interaktif untuk wawancara penulisan. Dalam wawancara, Claude melakukan hal berikut:

471 475 

4721. Membaca plugin4761. Membaca plugin


477 481 

478Dengan `--bare`, atau tanpa terminal, perintah menulis template kasus tunggal kosong. Ketika Claude menjalankan perintah dari dalam sesi Claude Code, perintah mencetak instruksi wawancara untuk sesi itu ikuti daripada menulis template.482Dengan `--bare`, atau tanpa terminal, perintah menulis template kasus tunggal kosong. Ketika Claude menjalankan perintah dari dalam sesi Claude Code, perintah mencetak instruksi wawancara untuk sesi itu ikuti daripada menulis template.

479 483 

480`name` opsional adalah nama kasus. Diperlukan dengan `--bare` atau tanpa terminal, karena perintah menulis template kosong untuk kasus itu. Wawancara tidak memerlukan.484`name` opsional adalah nama kasus. Diperlukan dengan `--bare` atau tanpa terminal, karena perintah menulis template kosong untuk kasus itu. Nama kasus dimulai dengan huruf atau digit dan berisi hanya huruf, digit, `.`, `_`, dan `-`. Di setiap platform, perintah juga menolak nama yang tidak dapat disimpan Windows, seperti `con` atau nama yang berakhir dengan `.`.

481 485 

482Perintah menerima opsi ini:486Perintah menerima opsi ini:

483 487 


634| :- | :- | :- |638| :- | :- | :- |

635| `owner/repo`, `owner/repo#ref`, atau `owner/repo@ref` | `github` | Mengkloning repositori GitHub, disematkan ke `ref` ketika diberikan. Pemilik dan repo harus mengikuti aturan penamaan GitHub |639| `owner/repo`, `owner/repo#ref`, atau `owner/repo@ref` | `github` | Mengkloning repositori GitHub, disematkan ke `ref` ketika diberikan. Pemilik dan repo harus mengikuti aturan penamaan GitHub |

636| `user@host:path[.git][#ref]` | `git` | Mengkloning melalui SSH |640| `user@host:path[.git][#ref]` | `git` | Mengkloning melalui SSH |

637| `https://example.com/repo.git[#ref]`, atau URL yang berisi `/_git/` | `git` | Mengkloning melalui HTTPS, termasuk URL Azure DevOps |641| URL `http://` atau `https://` yang berakhir dengan `.git[#ref]` atau berisi `/_git/`, seperti `https://example.com/repo.git` | `git` | Mengkloning URL, termasuk URL Azure DevOps |

638| `https://github.com/owner/repo` atau `https://gitlab.com/namespace/project` | `git` | Mengkloning melalui HTTPS setelah menambahkan `.git` |642| `https://github.com/owner/repo` atau `https://gitlab.com/namespace/project`, atau yang sama melalui `http://` | `git` | Mengkloning URL setelah menambahkan `.git` |

639| URL `http://` atau `https://` lain, termasuk host git yang dihosting sendiri tanpa `.git` | `url` | Mengambil URL sebagai `marketplace.json`. Untuk mengkloning repositori di sana, tambahkan `.git` |643| URL `http://` atau `https://` lain, termasuk host git yang dihosting sendiri tanpa `.git` | `url` | Mengambil URL sebagai `marketplace.json`. Untuk mengkloning repositori di sana, tambahkan `.git` |

640| `./path`, `../path`, `/path`, atau `~/path` ke direktori | `directory` | Membaca direktori di tempat. Di Windows, bentuk `.\`, `..\`, dan `C:\` juga berfungsi |644| `./path`, `../path`, `/path`, atau `~/path` ke direktori | `directory` | Membaca direktori di tempat. Di Windows, bentuk `.\`, `..\`, dan `C:\` juga berfungsi |

641| Bentuk jalur yang sama, ke file `.json` | `file` | Membaca file di tempat |645| Bentuk jalur yang sama, ke file `.json` | `file` | Membaca file di tempat |


707Hapus deklarasi marketplace dari pengaturan Anda. `rm` adalah alias untuk `remove`.711Hapus deklarasi marketplace dari pengaturan Anda. `rm` adalah alias untuk `remove`.

708 712 

709<Warning>713<Warning>

710 Ketika Anda menghapus marketplace dari cakupan terakhir yang mendeklarasikannya, Claude Code juga menghapus cache dan mencopot setiap plugin yang Anda instal darinya. Tanpa `--scope`, perintah menghapus deklarasi dari setiap cakupan. Untuk menyegarkan marketplace tanpa kehilangan plugin, jalankan `plugin marketplace update`.714 Ketika Anda menghapus marketplace dari cakupan terakhir yang mendeklarasikannya, Claude Code juga menghapus cache dan mencopot setiap plugin yang Anda instal darinya. Juga menghapus [opsi dan rahasia](/docs/id/plugins/manifest-reference#user-configuration) yang disimpan dan [data](/docs/id/plugins/components#path-variables-and-persistent-data) di mana pun dapat.

715 

716 Untuk menyegarkan marketplace tanpa kehilangan plugin, jalankan `plugin marketplace update` sebagai gantinya.

711</Warning>717</Warning>

712 718 

713```bash theme={null}719```bash theme={null}


726claude plugin marketplace remove your-marketplace732claude plugin marketplace remove your-marketplace

727```733```

728 734 

729Claude Code mencetak `Successfully removed marketplace: your-marketplace`, menambahkan `(from project settings)` ketika Anda membatasi cakupannya. Jika Anda membatasi ke file pengaturan yang tidak mendeklarasikan marketplace, perintah gagal dengan `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`735Claude Code mencetak `Successfully removed marketplace: your-marketplace`. Ketika perintah mencopot plugin, output mencantumkan mereka di bawah baris seperti `Also uninstalled 2 plugins from this marketplace:`. Untuk menggunakan salah satu dari mereka lagi, tambahkan marketplace kembali dan instal ulang plugin.

736 

737Jika Anda membatasi ke file pengaturan yang tidak mendeklarasikan marketplace, perintah gagal dengan `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`

730 738 

731<h3 id="plugin-marketplace-update">739<h3 id="plugin-marketplace-update">

732 plugin marketplace update740 plugin marketplace update


769| `/plugin list [--enabled\|--disabled]` | `ls` | Mencetak plugin yang diinstal marketplace Anda inline, dengan versi, cakupan, dan status. Flag filter menampilkan hanya status itu. Plugin yang status aktifnya belum diterapkan ditandai `— run /reload-plugins to apply`. Memerlukan Claude Code v2.1.163 atau lebih baru |777| `/plugin list [--enabled\|--disabled]` | `ls` | Mencetak plugin yang diinstal marketplace Anda inline, dengan versi, cakupan, dan status. Flag filter menampilkan hanya status itu. Plugin yang status aktifnya belum diterapkan ditandai `— run /reload-plugins to apply`. Memerlukan Claude Code v2.1.163 atau lebih baru |

770| `/plugin install` | `i` | Membuka tab **Discover** |778| `/plugin install` | `i` | Membuka tab **Discover** |

771| `/plugin install <plugin>` | `i` | Membuka detail plugin di tab **Discover**. Dengan `name@marketplace`, membukanya dalam daftar marketplace itu |779| `/plugin install <plugin>` | `i` | Membuka detail plugin di tab **Discover**. Dengan `name@marketplace`, membukanya dalam daftar marketplace itu |

780| `/plugin install <source>` | `i` | Melaporkan kesalahan [marketplace not found](/docs/id/plugins/troubleshooting#marketplace-not-found) dan tidak menginstal apa pun ketika target adalah path, URL, atau `owner/repo`, bahkan sumber yang sudah Anda tambahkan. Untuk menginstal dari sumber, lihat [Tambahkan marketplace dan instal dalam satu perintah](/docs/id/plugins/install#add-a-marketplace-and-install-in-one-command) |

772| `/plugin install <plugin> --marketplace <source>` | `i` | Menambahkan marketplace di `<source>` ketika Anda belum menambahkannya, meminta Anda mengonfirmasi terlebih dahulu, kemudian membuka detail plugin. Lihat [Tambahkan marketplace dan instal dalam satu perintah](/docs/id/plugins/install#add-a-marketplace-and-install-in-one-command). Memerlukan Claude Code v2.1.275 atau lebih baru |781| `/plugin install <plugin> --marketplace <source>` | `i` | Menambahkan marketplace di `<source>` ketika Anda belum menambahkannya, meminta Anda mengonfirmasi terlebih dahulu, kemudian membuka detail plugin. Lihat [Tambahkan marketplace dan instal dalam satu perintah](/docs/id/plugins/install#add-a-marketplace-and-install-in-one-command). Memerlukan Claude Code v2.1.275 atau lebih baru |

773| `/plugin manage` | | Membuka tab **Installed** |782| `/plugin manage` | | Membuka tab **Installed** |

774| `/plugin stats` | | Membuka tab **Stats**, dalam sesi di mana [`/skill-doctor`](/docs/id/skills#find-unused-skills) tersedia. Di tempat lain membuka panel di tab **Discover** |783| `/plugin stats` | | Membuka tab **Stats**, dalam sesi di mana [`/skill-doctor`](/docs/id/skills#find-unused-skills) tersedia. Di tempat lain membuka panel di tab **Discover** |


841| `--plugin-dir <path>` | Muat plugin dari direktori atau arsip `.zip` darinya. Folder plugin memuat setiap folder anak yang memegang `.claude-plugin/plugin.json`. Setiap flag mengambil satu jalur | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |850| `--plugin-dir <path>` | Muat plugin dari direktori atau arsip `.zip` darinya. Folder plugin memuat setiap folder anak yang memegang `.claude-plugin/plugin.json`. Setiap flag mengambil satu jalur | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |

842| `--plugin-url <url>` | Ambil arsip plugin `.zip` dari URL. Ulangi flag, atau lewatkan beberapa URL yang dipisahkan spasi dalam satu nilai yang dikutip | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |851| `--plugin-url <url>` | Ambil arsip plugin `.zip` dari URL. Ulangi flag, atau lewatkan beberapa URL yang dipisahkan spasi dalam satu nilai yang dikutip | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |

843 852 

844Plugin yang dimuat flag apa pun adalah plugin hanya sesi. `claude plugin list` menampilkannya sebagai `<name>@inline` dengan cakupan `session`, tetapi hanya ketika flag yang sama mendahului subperintah. Misalnya, jalankan `claude --plugin-dir ./my-plugin plugin list`.853Plugin yang dimuat flag apa pun adalah plugin hanya sesi. [`claude plugin list`](#plugin-list) menampilkannya hanya ketika flag yang sama mendahului subperintah, seperti dalam `claude --plugin-dir ./my-plugin plugin list`. Plugin muncul sebagai `<name>@inline` di bawah judul yang dimulai dengan `Session-only plugins`, dan `--json` melaporkan `scope` sebagai `session`.

845 854 

846Ketika plugin hanya sesi berbagi nama dengan plugin yang diinstal, Claude Code memuat salinan hanya sesi untuk sesi itu dan melewati yang diinstal. Salinan yang diinstal memuat sebagai gantinya jika Anda menonaktifkan salinan hanya sesi dengan `claude plugin disable <name>@inline`, atau jika pengaturan terkelola mengunci nama plugin itu. Untuk prioritas, lihat [Referensi pemuatan plugin](/docs/id/plugins/loading).855Ketika plugin hanya sesi berbagi nama dengan plugin yang diinstal, Claude Code memuat salinan hanya sesi untuk sesi itu dan melewati yang diinstal. Salinan yang diinstal memuat sebagai gantinya jika Anda menonaktifkan salinan hanya sesi dengan `claude plugin disable <name>@inline`, atau jika pengaturan terkelola mengunci nama plugin itu. Untuk prioritas, lihat [Referensi pemuatan plugin](/docs/id/plugins/loading).

847 856 

Details

676 676 

677Untuk menyertakan instruksi dalam plugin, tulislah sebagai skill. Claude Code tidak memuat `CLAUDE.md` di root plugin, dan `claude plugin validate` memperingatkan `CLAUDE.md at the plugin root is not loaded as project context`.677Untuk menyertakan instruksi dalam plugin, tulislah sebagai skill. Claude Code tidak memuat `CLAUDE.md` di root plugin, dan `claude plugin validate` memperingatkan `CLAUDE.md at the plugin root is not loaded as project context`.

678 678 

679Jika aturan harus berlaku setiap saat, seperti [memblokir pengeditan ke file yang dilindungi](/docs/id/hooks-guide#block-edits-to-protected-files), tambahkan ke plugin sebagai [hook](#hooks) daripada skill. Untuk memilih di antara keduanya, lihat tab Hook vs Skill di bawah [Bandingkan fitur serupa](/docs/id/features-overview#compare-similar-features).

680 

679Untuk field frontmatter dan file pendukung, lihat [Skills](/docs/id/skills).681Untuk field frontmatter dan file pendukung, lihat [Skills](/docs/id/skills).

680 682 

681<h3 id="commands">683<h3 id="commands">

Details

126 126 

127Setiap plugin yang Anda distribusikan adalah satu objek dalam array `plugins` dari `marketplace.json`. Untuk menambahkan plugin kedua, tambahkan objek kedua. Bidang-bidang ini mencakup sebagian besar entri:127Setiap plugin yang Anda distribusikan adalah satu objek dalam array `plugins` dari `marketplace.json`. Untuk menambahkan plugin kedua, tambahkan objek kedua. Bidang-bidang ini mencakup sebagian besar entri:

128 128 

129* `name`: pengidentifikasi yang diketik orang sebelum `@` saat mereka menginstal. Tidak dapat berisi spasi.129* `name`: pengidentifikasi yang diketik orang sebelum `@` saat mereka menginstal. [Entri plugin](/docs/id/plugins/marketplace-reference#plugin-entries) memberikan karakter yang dapat digunakan nama.

130* `source`: tempat Claude Code mengambil plugin. Tulis string jalur relatif untuk plugin di dalam direktori marketplace, seperti dalam [panduan walkthrough](#create-a-marketplace), atau objek sumber untuk plugin di luar. Lihat [Pilih sumber plugin](#choose-a-plugin-source).130* `source`: tempat Claude Code mengambil plugin. Tulis string jalur relatif untuk plugin di dalam direktori marketplace, seperti dalam [panduan walkthrough](#create-a-marketplace), atau objek sumber untuk plugin di luar. Lihat [Pilih sumber plugin](#choose-a-plugin-source).

131* `description`: baris yang dilihat orang di sebelah plugin saat mereka menjelajahi marketplace Anda di `/plugin`.131* `description`: baris yang dilihat orang di sebelah plugin saat mereka menjelajahi marketplace Anda di `/plugin`.

132 132 


199 199 

200* Kesalahan sintaks JSON, sebagai `json: Invalid JSON syntax: <reason>`200* Kesalahan sintaks JSON, sebagai `json: Invalid JSON syntax: <reason>`

201* Bidang yang diperlukan hilang, seperti `owner: Invalid input`201* Bidang yang diperlukan hilang, seperti `owner: Invalid input`

202* Nama marketplace dengan spasi, karakter non-ASCII, atau bentuk yang meniru marketplace Anthropic resmi, seperti `claude-official`202* Nama marketplace atau plugin yang melanggar aturan penamaan dalam [referensi marketplace](/docs/id/plugins/marketplace-reference#top-level-fields)

203* `source` relatif yang berisi `..`203* `source` relatif yang berisi `..`

204* Bidang yang tidak dikenal di tingkat atas atau dalam entri plugin, sebagai peringatan204* Bidang yang tidak dikenal di tingkat atas atau dalam entri plugin, sebagai peringatan

205* Masalah dalam `plugin.json` dari setiap plugin jalur-relatif, sebagai `plugins[N] plugin.json → <field>: <message>`205* Masalah dalam `plugin.json` dari setiap plugin jalur-relatif, sebagai `plugins[N] plugin.json → <field>: <message>`

Details

50 50 

51Ketika pengguna menambahkan marketplace Anda sebagai URL `marketplace.json` bare, Claude Code hanya mengunduh file itu. Entri di array `plugins` Anda yang `source`-nya adalah path relatif seperti `./plugins/formatter` kemudian gagal saat instalasi dengan [`its marketplace entry path does not stay inside the marketplace directory`](/docs/id/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces). Berikan setiap entri source yang dapat diambil sendiri, seperti repositori `github` atau URL `archive`, atau host marketplace di repositori git sehingga Claude Code mengkloning seluruh pohon.51Ketika pengguna menambahkan marketplace Anda sebagai URL `marketplace.json` bare, Claude Code hanya mengunduh file itu. Entri di array `plugins` Anda yang `source`-nya adalah path relatif seperti `./plugins/formatter` kemudian gagal saat instalasi dengan [`its marketplace entry path does not stay inside the marketplace directory`](/docs/id/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces). Berikan setiap entri source yang dapat diambil sendiri, seperti repositori `github` atau URL `archive`, atau host marketplace di repositori git sehingga Claude Code mengkloning seluruh pohon.

52 52 

53<h3 id="stay-within-the-download-limits-for-hosted-files">

54 Stay within the download limits for hosted files

55</h3>

56 

57Ketika pengguna menambahkan marketplace Anda sebagai URL `marketplace.json`, atau memasang entri dengan source [`archive`](/docs/id/plugins/marketplace-reference#archive-plugin-source), Claude Code mengunduh file dari server Anda. Unduhan gagal melampaui batas dalam tabel ini, jadi ukuran file Anda dan konfigurasi server Anda untuk tetap berada di dalamnya.

58 

59| File | Unduhan terbesar | Waktu server Anda untuk merespons | Pengalihan |

60| :- | :- | :- | :- |

61| `marketplace.json` dari source marketplace `url` | 5 MiB | 10 detik | Pengalihan ke origin yang berbeda harus menggunakan `https://` dan tidak dapat menunjuk ke host loopback, link-local, atau cloud-metadata, jadi pengalihan dari `https://` ke `http://` gagal |

62| Zip dari source plugin `archive` | 256 MiB | 120 detik | Paling banyak lima. Setiap target pengalihan harus menggunakan `https://` dan tidak dapat menunjuk ke host loopback, link-local, atau cloud-metadata |

63 

64Permintaan yang pengalihan kirim ke origin yang berbeda tidak membawa header apa pun yang Anda konfigurasi pada source marketplace atau entri plugin.

65 

66Setelah archive diunduh, instalasi gagal ketika zip melebihi salah satu batas ekstraksi ini:

67 

68* **Entries**: 100.000 file dan direktori

69* **Ukuran file**: 512 MiB untuk file apa pun, tidak dikompres

70* **Ukuran total**: 1 GiB tidak dikompres

71* **Rasio kompresi**: konten tidak dikompres 50 kali ukuran zip

72 

53<h3 id="edit-plugins-in-place-on-a-shared-directory">73<h3 id="edit-plugins-in-place-on-a-shared-directory">

54 Edit plugins in place on a shared directory74 Edit plugins in place on a shared directory

55</h3>75</h3>

Details

121 121 

122Di terminal Anda, plugin disinkronkan hanya dalam sesi di mana Anda masuk dengan akun claude.ai Anda.122Di terminal Anda, plugin disinkronkan hanya dalam sesi di mana Anda masuk dengan akun claude.ai Anda.

123 123 

124Claude Code tidak mengunduh atau memuat plugin yang disinkronkan dalam sesi terminal ini, bahkan setelah Anda masuk dengan `/login`:

125 

126* Sesi di mana `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN`, atau skrip `apiKeyHelper` menyediakan kredensial sebagai pengganti masuk itu

127* Sesi yang tidak [mengambil flag fitur dari Anthropic](/docs/id/env-vars#features-that-need-feature-flag-fetching), seperti sesi di mana Anda mengatur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

128* Sesi dalam [mode bare](/docs/id/headless#start-faster-with-bare-mode) atau sesi yang Anda mulai dengan `--safe-mode`

129* Sesi yang Anda mulai dengan daftar [`--setting-sources`](/docs/id/cli-reference#cli-flags) yang menghilangkan `user`

130 

124Jika Anda masuk pada versi Claude Code yang lebih awal, masuk itu tidak mencakup plugin sampai Claude Code memperbarui di latar belakang. Untuk mendapatkan akses lebih cepat, jalankan `/login` lagi. Sinkronisasi plugin kemudian dimulai lain kali Anda memulai Claude Code.131Jika Anda masuk pada versi Claude Code yang lebih awal, masuk itu tidak mencakup plugin sampai Claude Code memperbarui di latar belakang. Untuk mendapatkan akses lebih cepat, jalankan `/login` lagi. Sinkronisasi plugin kemudian dimulai lain kali Anda memulai Claude Code.

125 132 

126<h4 id="control-which-synced-plugins-load">133<h4 id="control-which-synced-plugins-load">


190| `.trash/` | Plugin yang sinkronisasi claude.ai hapus, seperti setelah Anda mematikannya di claude.ai atau berhenti menyinkronkan |197| `.trash/` | Plugin yang sinkronisasi claude.ai hapus, seperti setelah Anda mematikannya di claude.ai atau berhenti menyinkronkan |

191| `installed_plugins.json` dan `known_marketplaces.json` | Catatan tentang apa yang telah Claude Code instal dan marketplace mana yang telah diambilnya, dijelaskan di bawah [Check which stage a plugin reached](#check-which-stage-a-plugin-reached). [Marketplace yang dihosting di claude.ai](/docs/id/plugins/install#add-from-claude-ai) dicatat dalam `known_marketplaces_claudeai.json` sebagai gantinya |198| `installed_plugins.json` dan `known_marketplaces.json` | Catatan tentang apa yang telah Claude Code instal dan marketplace mana yang telah diambilnya, dijelaskan di bawah [Check which stage a plugin reached](#check-which-stage-a-plugin-reached). [Marketplace yang dihosting di claude.ai](/docs/id/plugins/install#add-from-claude-ai) dicatat dalam `known_marketplaces_claudeai.json` sebagai gantinya |

192| `flagged-plugins.json` | Plugin yang Claude Code copot karena marketplace mereka menghapus daftarnya. Mereka muncul di bagian **Flagged** dari `/plugin`; lihat [Host a marketplace](/docs/id/plugins/host-marketplace) |199| `flagged-plugins.json` | Plugin yang Claude Code copot karena marketplace mereka menghapus daftarnya. Mereka muncul di bagian **Flagged** dari `/plugin`; lihat [Host a marketplace](/docs/id/plugins/host-marketplace) |

200| `installed_plugins.set-aside.<date>.<hash>.json` dan `installed_plugins.unreadable.<date>.<hash>.kept` | Salinan bertanggal yang Claude Code simpan sebelum menghapus catatan instalasi yang tidak dapat digunakan oleh versi Claude Code apa pun atau membangun kembali `installed_plugins.json` yang tidak dapat dibaca. Lihat [catatan pemulihan](/docs/id/plugins/troubleshooting#installed-plugins-json-could-not-be-read-and-was-rebuilt). Mereka habis pada jadwal [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays) |

193 201 

194Karena `${CLAUDE_PLUGIN_ROOT}` menunjuk ke direktori versi, path root plugin berubah dengan setiap versi. Simpan file tahan lama plugin dalam `${CLAUDE_PLUGIN_DATA}` sebagai gantinya.202Karena `${CLAUDE_PLUGIN_ROOT}` menunjuk ke direktori versi, path root plugin berubah dengan setiap versi. Simpan file tahan lama plugin dalam `${CLAUDE_PLUGIN_DATA}` sebagai gantinya.

195 203 

Details

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`. Marketplace yang sudah terdaftar di bawah nama seperti itu berhenti dimuat, bersama dengan pluginnya.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`. 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`.


63 63 

64| Field | Tipe | Deskripsi |64| Field | Tipe | Deskripsi |

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

66| `name` | string | Pengenal marketplace. Tanpa spasi, karakter kontrol, atau karakter pemformatan bidirectional, tanpa `/` atau `\`, tanpa `..`, dan bukan `.`. Lihat [Nama yang dicadangkan](#reserved-names). Pengguna mengetiknya setelah `@` ketika mereka memasang plugin |66| `name` | string | Pengenal marketplace: huruf, digit, `.`, `_`, dan `-`, dimulai dengan huruf atau digit, dan tidak ada `..`. Ini membentuk bagian setelah `@` dari setiap [ID plugin](/docs/id/plugins/loading#find-where-a-plugin-came-from) yang dipasang dari marketplace, jadi `claude plugin validate` gagal untuk nama lain. Lihat [Nama yang dicadangkan](#reserved-names) |

67| `owner` | object | Informasi pengelola. `name` diperlukan; `email` dan `url` opsional |67| `owner` | object | Informasi pengelola. `name` diperlukan; `email` dan `url` opsional |

68| `plugins` | array | [Entri plugin](#plugin-entries). Setiap entri divalidasi sendiri, jadi satu entri yang tidak valid tidak gagal marketplace |68| `plugins` | array | [Entri plugin](#plugin-entries). Setiap entri divalidasi sendiri, jadi satu entri yang tidak valid tidak gagal marketplace |

69| `$schema` | string | URL JSON Schema untuk pelengkapan otomatis editor. Diabaikan saat waktu muat |69| `$schema` | string | URL JSON Schema untuk pelengkapan otomatis editor. Diabaikan saat waktu muat |


79 Entri plugin79 Entri plugin

80</h2>80</h2>

81 81 

82Setiap objek dalam array `plugins` tingkat atas dari `marketplace.json` menamai plugin dan mengatakan di mana mengambilnya. `name` dan `source` diperlukan.82Setiap objek dalam array `plugins` tingkat atas dari `marketplace.json` memberi nama plugin dan menunjukkan di mana mengambilnya. `name` dan `source` diperlukan.

83 83 

84Entri juga menerima setiap [field `plugin.json`](/docs/id/plugins/manifest-reference), seperti `description`, `version`, `author`, `commands`, dan `hooks`. Untuk kapan field tersebut berlaku, lihat [Bagaimana entri menggabungkan dengan plugin.json](#entry-and-plugin-json).84Sebuah entri juga menerima setiap [field `plugin.json`](/docs/id/plugins/manifest-reference), seperti `description`, `version`, `author`, `commands`, dan `hooks`. Untuk mengetahui kapan field tersebut berlaku, lihat [Bagaimana entri menggabungkan dengan plugin.json](#entry-and-plugin-json).

85 85 

86Tabel mencantumkan field entri sendiri dan field manifest yang maknanya berubah dalam entri.86Tabel mencantumkan field entri sendiri dan field manifest yang maknanya berubah dalam entri.

87 87 

88| Field | Tipe | Deskripsi |88| Field | Type | Description |

89| :- | :- | :- |89| :- | :- | :- |

90| `name` | string | Pengenal plugin, tanpa spasi, karakter kontrol, atau karakter pemformatan bidirectional. Pengguna mengetiknya sebelum `@` ketika mereka memasang, bahkan ketika `plugin.json` plugin sendiri menetapkan `name` yang berbeda |90| `name` | string | Pengidentifikasi plugin: huruf, digit, `.`, `_`, dan `-`, dimulai dengan huruf atau digit. `claude plugin validate` gagal untuk nama lain, yang tidak dapat diinstal oleh Claude Code. Pengguna mengetiknya sebelum `@` saat mereka menginstal, bahkan ketika `plugin.json` plugin sendiri menetapkan `name` yang berbeda |

91| `source` | string or object | Di mana mengambil plugin. Lihat [Sumber plugin](#plugin-sources) |91| `source` | string or object | Di mana mengambil plugin. Lihat [Sumber plugin](#plugin-sources) |

92| `description` | string | Ditampilkan dalam daftar [`/plugin`](/docs/id/plugins/install) dan detail |92| `description` | string | Ditampilkan dalam daftar dan detail [`/plugin`](/docs/id/plugins/install) |

93| `version` | string | String versi untuk plugin. Ketika `plugin.json` juga menetapkan `version`, `plugin.json` mengambil prioritas dan `claude plugin validate` memperingatkan. Lihat [Referensi pemuatan plugin](/docs/id/plugins/loading) |93| `version` | string | String versi untuk plugin. Ketika `plugin.json` juga menetapkan `version`, `plugin.json` mengambil prioritas dan `claude plugin validate` memberikan peringatan. Lihat [Referensi pemuatan plugin](/docs/id/plugins/loading) |

94| `category` | string | Kategori bentuk bebas untuk mengorganisir katalog |94| `category` | string | Kategori bentuk bebas untuk mengorganisir katalog |

95| `tags` | array of strings | Tag bentuk bebas untuk pencarian |95| `tags` | array of strings | Tag bentuk bebas untuk pencarian |

96| `strict` | boolean | Default `true`. Apakah `plugin.json` adalah sumber definitif untuk komponen plugin. Lihat [Mode ketat](#strict-mode) |96| `strict` | boolean | Default `true`. Apakah `plugin.json` adalah sumber definitif untuk komponen plugin. Lihat [Mode ketat](#strict-mode) |

97| `relevance` | object | Sinyal yang memberi tahu Claude Code kapan menyarankan plugin. Lihat [Rekomendasikan plugin untuk organisasi Anda](/docs/id/plugins/relevance) |97| `relevance` | object | Sinyal yang memberi tahu Claude Code kapan menyarankan plugin. Lihat [Rekomendasikan plugin untuk organisasi Anda](/docs/id/plugins/relevance) |

98| `dependencies` | array | Plugin yang harus diaktifkan agar yang ini berfungsi. Setiap item adalah `"name"`, `"name@marketplace"`, atau objek. Lihat [Dependensi plugin](/docs/id/plugins/dependencies) |98| `dependencies` | array | Plugin yang harus diaktifkan agar plugin ini berfungsi. Setiap item adalah `"name"`, `"name@marketplace"`, atau objek. Lihat [Dependensi plugin](/docs/id/plugins/dependencies) |

99| `defaultEnabled` | boolean | Default `true`. Apakah plugin dimulai diaktifkan ketika pengguna belum menetapkannya dalam [`enabledPlugins`](/docs/id/settings-reference#enabledplugins). Nilai entri mengambil prioritas atas `plugin.json` |99| `defaultEnabled` | boolean | Default `true`. Apakah plugin dimulai diaktifkan ketika pengguna belum menetapkannya dalam [`enabledPlugins`](/docs/id/settings-reference#enabledplugins). Nilai entri mengambil prioritas atas `plugin.json` |

100| `displayName` | string | Nama yang dapat dibaca manusia ditampilkan di UI. Ketika baik entri maupun `plugin.json` plugin tidak menetapkan satu, pengguna melihat `name` plugin |100| `displayName` | string | Nama yang dapat dibaca manusia ditampilkan di UI. Ketika baik entri maupun `plugin.json` plugin tidak menetapkan satu, pengguna melihat `name` plugin |

101| `metadata` | object | Objek bentuk bebas untuk field Anda sendiri. Claude Code tidak membacanya. Memerlukan Claude Code v2.1.222 atau lebih baru |101| `metadata` | object | Objek bentuk bebas untuk field Anda sendiri. Claude Code tidak membacanya. Memerlukan Claude Code v2.1.222 atau lebih baru |

102| `headers` | object | Header HTTP yang Claude Code kirim ketika mengunduh [arsip](#archive-plugin-source) entri ini. Header yang ditetapkan di sini menggantikan header dengan nama yang sama dari [`headers`](#fields-by-type) sumber marketplace. Memerlukan Claude Code v2.1.238 atau lebih baru |102| `headers` | object | Header HTTP yang dikirim Claude Code saat mengunduh [arsip](#archive-plugin-source) entri ini. Header yang ditetapkan di sini menggantikan header dengan nama yang sama dari [`headers`](#fields-by-type) sumber marketplace. Memerlukan Claude Code v2.1.238 atau lebih baru |

103| `headersHelper` | string | Perintah yang mencetak header unduhan arsip entri ini sebagai satu objek JSON, untuk kredensial yang kedaluwarsa. Entri juga harus menetapkan [`"strict": false`](#strict-mode). Memerlukan Claude Code v2.1.238 atau lebih baru. Lihat [Autentikasi unduhan arsip](/docs/id/plugins/host-marketplace#authenticate-archive-downloads) |103| `headersHelper` | string | Perintah yang mencetak header unduhan arsip entri ini sebagai satu objek JSON, untuk kredensial yang kedaluwarsa. Entri juga harus menetapkan [`"strict": false`](#strict-mode). Memerlukan Claude Code v2.1.238 atau lebih baru. Lihat [Autentikasi unduhan arsip](/docs/id/plugins/host-marketplace#authenticate-archive-downloads) |

104 104 

105<h3 id="entry-and-plugin-json">105<h3 id="entry-and-plugin-json">


109Field entri berlaku berbeda untuk plugin yang diambil yang memiliki `.claude-plugin/plugin.json` sendiri dan untuk yang tidak:109Field entri berlaku berbeda untuk plugin yang diambil yang memiliki `.claude-plugin/plugin.json` sendiri dan untuk yang tidak:

110 110 

111* **Tidak ada `plugin.json`**: entri adalah manifest terlepas dari `strict`. Setiap field manifest dalam entri berlaku, termasuk [`mcpServers`, `lspServers`, `userConfig`, dan `channels`](/docs/id/plugins/manifest-reference).111* **Tidak ada `plugin.json`**: entri adalah manifest terlepas dari `strict`. Setiap field manifest dalam entri berlaku, termasuk [`mcpServers`, `lspServers`, `userConfig`, dan `channels`](/docs/id/plugins/manifest-reference).

112* **`plugin.json` hadir**: `plugin.json` adalah manifest. [Mode ketat](#strict-mode) memutuskan apakah enam field komponen entri, `commands`, `agents`, `skills`, `hooks`, `outputStyles`, dan `themes`, digabungkan dengannya atau ditolak sebagai konflik. Entri `mcpServers`, `lspServers`, `userConfig`, dan `channels` tidak berlaku. Deklarasikan mereka di `plugin.json`.112* **`plugin.json` ada**: `plugin.json` adalah manifest. [Mode ketat](#strict-mode) memutuskan apakah enam field komponen entri, `commands`, `agents`, `skills`, `hooks`, `outputStyles`, dan `themes`, digabungkan dengannya atau ditolak sebagai konflik. Entry `mcpServers`, `lspServers`, `userConfig`, dan `channels` tidak berlaku. Deklarasikan mereka dalam `plugin.json`.

113 113 

114<h4 id="hooks-in-an-entry">114<h4 id="hooks-in-an-entry">

115 Hooks dalam entri115 Hooks dalam entri

116</h4>116</h4>

117 117 

118Tulis entri `hooks` sebagai objek inline yang memetakan nama acara hook ke array matcher. Jika Anda menulis jalur file atau array sebagai gantinya, `claude plugin validate` melewatinya. Hook tersebut tidak pernah berjalan, dan Claude Code melaporkan kesalahan `not yet supported in a marketplace entry` untuk plugin. Letakkan hook berbasis file di [`hooks/hooks.json`](/docs/id/plugins/components) plugin sendiri atau `plugin.json`.118Tulis entry `hooks` sebagai objek inline yang memetakan nama event hook ke array matcher. Jika Anda menulis jalur file atau array sebagai gantinya, `claude plugin validate` menerimanya. Hook tersebut tidak akan pernah berjalan, dan Claude Code melaporkan error `not yet supported in a marketplace entry` untuk plugin. Letakkan hook berbasis file dalam [`hooks/hooks.json`](/docs/id/plugins/components) plugin sendiri atau `plugin.json`.

119 119 

120<h4 id="display-fields">120<h4 id="display-fields">

121 Field tampilan121 Field tampilan

122</h4>122</h4>

123 123 

124Baik entri maupun `plugin.json` plugin sendiri dapat menetapkan field tampilan `displayName`, `description`, `author`, `homepage`, `repository`, `license`, dan `keywords`. Pengguna melihat nilai-nilai ini dalam daftar dan detail plugin, sebelum dan sesudah pemasangan:124Baik entri maupun `plugin.json` plugin sendiri dapat menetapkan field tampilan `displayName`, `description`, `author`, `homepage`, `repository`, `license`, dan `keywords`. Pengguna melihat nilai-nilai ini dalam daftar dan detail plugin, sebelum dan sesudah instalasi:

125 125 

126* Untuk field yang Anda tetapkan pada entri, pengguna melihat nilai entri, bahkan ketika `plugin.json` menetapkan yang berbeda.126* Untuk field yang Anda tetapkan pada entri, pengguna melihat nilai entri, bahkan ketika `plugin.json` menetapkan yang berbeda.

127* Untuk field yang entri biarkan tidak diatur, pengguna melihat nilai `plugin.json`.127* Untuk field yang entri biarkan tidak ditetapkan, pengguna melihat nilai `plugin.json`.

128 128 

129Sebelum pemasangan, Claude Code hanya dapat membaca `plugin.json` untuk entri dengan [sumber jalur relatif](#relative-path-plugin-source), yang file pluginnya berada di dalam marketplace itu sendiri. Untuk entri dengan tipe sumber apa pun, pengguna hanya melihat field entri sendiri sampai mereka memasang plugin.129Sebelum instalasi, Claude Code hanya dapat membaca `plugin.json` untuk entri dengan [sumber jalur relatif](#relative-path-plugin-source), yang file pluginnya berada di dalam marketplace itu sendiri. Untuk entri dengan jenis sumber lain apa pun, pengguna hanya melihat field entri sendiri sampai mereka menginstal plugin.

130 130 

131<h3 id="strict-mode">131<h3 id="strict-mode">

132 Mode ketat132 Mode ketat

133</h3>133</h3>

134 134 

135`strict` memutuskan apa yang terjadi ketika plugin yang diambil memiliki `plugin.json` sendiri dan entri juga mendeklarasikan salah satu [field komponen](#entry-and-plugin-json): `commands`, `agents`, `skills`, `hooks`, `outputStyles`, atau `themes`. Dengan `strict: true`, default, Claude Code menambahkan field komponen entri ke `plugin.json`, kecuali `hooks`, yang matcher-nya menggantikan manifest per acara. Dengan `strict: false`, entri yang mendeklarasikan field komponen apa pun adalah konflik, dan plugin gagal dimuat. Tabel menunjukkan setiap kombinasi `strict`, `plugin.json`, dan field komponen entri.135`strict` memutuskan apa yang terjadi ketika plugin yang diambil memiliki `plugin.json` sendiri dan entri juga mendeklarasikan salah satu dari [field komponen](#entry-and-plugin-json): `commands`, `agents`, `skills`, `hooks`, `outputStyles`, atau `themes`. Dengan `strict: true`, default, Claude Code menambahkan field komponen entri ke `plugin.json`, kecuali `hooks`, yang matcher-nya menggantikan manifest per event. Dengan `strict: false`, entri yang mendeklarasikan field komponen apa pun adalah konflik, dan plugin gagal dimuat. Tabel menunjukkan setiap kombinasi `strict`, `plugin.json`, dan field komponen entri.

136 136 

137| `strict` | `plugin.json` | Field komponen entri | Hasil |137| `strict` | `plugin.json` | Entry component fields | Result |

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

139| any | absent | any | Entri adalah manifest |139| any | absent | any | Entri adalah manifest |

140| `true`, default | present | any | `plugin.json` adalah otoritas. Claude Code menambahkan field komponen entri ke dalamnya, kecuali `hooks`, yang matcher-nya [menggantikan manifest per acara](/docs/id/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |140| `true`, default | present | any | `plugin.json` adalah otoritas. Claude Code menambahkan field komponen entri ke dalamnya, kecuali `hooks`, yang matcher-nya [menggantikan manifest per event](/docs/id/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |

141| `false` | present | none | `plugin.json` adalah manifest, seperti dengan `true` |141| `false` | present | none | `plugin.json` adalah manifest, seperti dengan `true` |

142| `false` | present | one or more | Konflik. Plugin gagal dimuat dengan `Plugin <name> has conflicting manifests: both plugin.json and marketplace entry specify components` |142| `false` | present | one or more | Konflik. Plugin gagal dimuat dengan `Plugin <name> has conflicting manifests: both plugin.json and marketplace entry specify components` |

143 143 


280 Sumber plugin archive280 Sumber plugin archive

281</h3>281</h3>

282 282 

283`url` harus menggunakan `https://` dan tidak dapat menunjuk ke host loopback, link-local, atau cloud-metadata.283`url` harus menggunakan `https://` dan tidak dapat menunjuk ke host loopback, link-local, atau cloud-metadata. Untuk ukuran, timeout, redirect, dan batas ekstraksi pada unduhan, lihat [Tetap dalam batas unduhan untuk file yang dihosting](/docs/id/plugins/host-marketplace#stay-within-the-download-limits-for-hosted-files).

284 284 

285Akar plugin mungkin berada di atas zip atau satu direktori ke bawah.285Akar plugin mungkin berada di atas zip atau satu direktori ke bawah.

286 286 


385| :- | :- | :- | :- | :- | :- |385| :- | :- | :- | :- | :- | :- |

386| `url` | `url`, `headers`, `headersHelper` | URL `http://` atau `https://` yang tidak cocok dengan bentuk git | Dimuat | Memungkinkan URL yang sama | Memblokir URL yang sama |386| `url` | `url`, `headers`, `headersHelper` | URL `http://` atau `https://` yang tidak cocok dengan bentuk git | Dimuat | Memungkinkan URL yang sama | Memblokir URL yang sama |

387| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref`, atau `owner/repo#ref` | Dimuat | Memungkinkan `repo`, `ref`, dan `path` yang sama. `repo` mungkin `owner/*` | Memblokir yang sama, dan URL `git` ke repositori yang sama |387| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref`, atau `owner/repo#ref` | Dimuat | Memungkinkan `repo`, `ref`, dan `path` yang sama. `repo` mungkin `owner/*` | Memblokir yang sama, dan URL `git` ke repositori yang sama |

388| `git` | `url`, `ref`, `path`, `sparsePaths` | URL `user@host:path`, atau URL `https://` yang berakhir dengan `.git`, berisi `/_git/`, atau menamai repositori github.com atau gitlab.com. `#ref` menyematkan ref | Dimuat | Memungkinkan URL, `ref`, dan `path` yang sama | Memblokir yang sama, dan ejaan lain dari repositori github.com yang sama |388| `git` | `url`, `ref`, `path`, `sparsePaths` | URL `user@host:path`, atau URL `http://` atau `https://` yang berakhir dengan `.git`, berisi `/_git/`, atau menamai repositori github.com atau gitlab.com. `#ref` menyematkan ref | Dimuat | Memungkinkan URL, `ref`, dan `path` yang sama | Memblokir yang sama, dan ejaan lain dari repositori github.com yang sama |

389| `npm` | `package` | Tidak diproduksi | Gagal dimuat: `NPM marketplace sources not yet implemented` | Diuraikan tetapi tidak cocok dengan apa pun, karena tidak ada yang mendaftarkan marketplace `npm` | Diuraikan tetapi tidak cocok dengan apa pun |389| `npm` | `package` | Tidak diproduksi | Gagal dimuat: `NPM marketplace sources not yet implemented` | Diuraikan tetapi tidak cocok dengan apa pun, karena tidak ada yang mendaftarkan marketplace `npm` | Diuraikan tetapi tidak cocok dengan apa pun |

390| `file` | `path` | Jalur ke file `.json` | Dimuat | Memungkinkan jalur yang sama | Memblokir jalur yang sama |390| `file` | `path` | Jalur ke file `.json` | Dimuat | Memungkinkan jalur yang sama | Memblokir jalur yang sama |

391| `directory` | `path` | Jalur ke direktori | Dimuat | Memungkinkan jalur yang sama | Memblokir jalur yang sama |391| `directory` | `path` | Jalur ke direktori | Dimuat | Memungkinkan jalur yang sama | Memblokir jalur yang sama |


402 402 

403| Field | Tipe | Deskripsi |403| Field | Tipe | Deskripsi |

404| :- | :- | :- |404| :- | :- | :- |

405| `url` | `url` | Tautan ke file `marketplace.json`. Claude Code hanya mengunduh file itu, jadi plugin marketplace tidak dapat menggunakan [sumber jalur relatif](#relative-path-plugin-source) |405| `url` | `url` | Tautan ke file `marketplace.json`. Claude Code hanya mengunduh file itu, jadi plugin marketplace tidak dapat menggunakan [sumber jalur relatif](#relative-path-plugin-source). Lihat [Tetap dalam batas unduhan untuk file yang dihosting](/docs/id/plugins/host-marketplace#stay-within-the-download-limits-for-hosted-files) untuk batas ukuran, timeout, dan pengalihan |

406| `url` | `git` | Repositori git untuk diklon |406| `url` | `git` | Repositori git untuk diklon |

407| `headers` | `url` | Peta header HTTP yang Claude Code kirim dengan pengambilan, untuk host yang diautentikasi |407| `headers` | `url` | Peta header HTTP yang Claude Code kirim dengan pengambilan, untuk host yang diautentikasi |

408| `headersHelper` | `url` | Perintah yang mencetak header yang nilai-nilainya terlalu pendek untuk didaftar dalam `headers`. Memerlukan Claude Code v2.1.238 atau lebih baru. Lihat [Autentikasi unduhan arsip](/docs/id/plugins/host-marketplace#authenticate-archive-downloads) |408| `headersHelper` | `url` | Perintah yang mencetak header yang nilai-nilainya terlalu pendek untuk didaftar dalam `headers`. Memerlukan Claude Code v2.1.238 atau lebih baru. Lihat [Autentikasi unduhan arsip](/docs/id/plugins/host-marketplace#authenticate-archive-downloads) |


469 469 

470Pesan yang diawali dengan indeks entri dan `plugin.json →`, seperti `plugins[2] plugin.json →`, adalah tentang file plugin itu sendiri. [`claude plugin validate` melaporkan kesalahan](/docs/id/plugins/troubleshooting#claude-plugin-validate-reports-errors) mencantumkan pesan tersebut dengan perbaikannya.470Pesan yang diawali dengan indeks entri dan `plugin.json →`, seperti `plugins[2] plugin.json →`, adalah tentang file plugin itu sendiri. [`claude plugin validate` melaporkan kesalahan](/docs/id/plugins/troubleshooting#claude-plugin-validate-reports-errors) mencantumkan pesan tersebut dengan perbaikannya.

471 471 

472Peringatan yang menyebutkan nama flag Claude Desktop menandai nama yang Claude Code terima tetapi Claude Desktop tolak, karena aturan nama Claude Desktop lebih ketat.472Peringatan yang menyebutkan nama flag Claude Desktop menandai nama yang Claude Desktop tolak.

473 473 

474Tabel memetakan pesan tingkat marketplace ke field yang masing-masing tentang.474Tabel memetakan pesan tingkat marketplace ke field yang masing-masing tentang.

475 475 


484| `Author name cannot be empty` | Error | `owner.name` |484| `Author name cannot be empty` | Error | `owner.name` |

485| `Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")` | Error | `plugins[i].name` |485| `Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")` | Error | `plugins[i].name` |

486| `Plugin name cannot contain control or bidirectional-formatting characters` | Error | `plugins[i].name` |486| `Plugin name cannot contain control or bidirectional-formatting characters` | Error | `plugins[i].name` |

487| `Claude Code cannot install plugins from marketplace "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change the marketplace's "name".` | Error | `name` |

488| `Claude Code cannot install plugin "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | Error | `plugins[i].name` |

487| `Duplicate plugin name "x" found in marketplace` | Error | Dua entri berbagi `name` |489| `Duplicate plugin name "x" found in marketplace` | Error | Dua entri berbagi `name` |

488| `plugins.i.source: Invalid input` | Error | `source` entri tidak cocok dengan tipe apa pun. Lihat [Invalid input pada sumber](#invalid-input-on-a-source) |490| `plugins.i.source: Invalid input` | Error | `source` entri tidak cocok dengan tipe apa pun. Lihat [Invalid input pada sumber](#invalid-input-on-a-source) |

489| `plugins[i].source: Path contains "..": <path>` | Error | `source` relatif yang melarikan diri dari akar marketplace |491| `plugins[i].source: Path contains "..": <path>` | Error | `source` relatif yang melarikan diri dari akar marketplace |

Details

145 `Marketplace "<name>" not found`145 `Marketplace "<name>" not found`

146</h3>146</h3>

147 147 

148Anda menjalankan `/plugin install <plugin>@<name>` dalam sesi, sering kali dari baris instalasi yang dikirim seseorang kepada Anda, dan Claude Code melaporkan bahwa tidak memiliki marketplace dengan nama itu.148Anda menjalankan `/plugin install` dalam sesi dan Claude Code melaporkan bahwa tidak memiliki marketplace dengan nama itu. Dua bentuk command mencapai pesan ini:

149 

150* **`/plugin install <plugin>@<name>`**: baris instalasi, sering kali yang dikirim seseorang kepada Anda, menyebutkan marketplace yang belum Anda tambahkan. Sisa entri ini mencakup menemukan dan menambahkannya.

151* **`/plugin install <source>` dengan path, URL, atau `owner/repo`**: bentuk ini melaporkan pesan alih-alih menginstal, bahkan untuk sumber yang sudah Anda tambahkan. Untuk menginstal dari sumber dalam satu command, lihat [Add a marketplace and install in one command](/docs/id/plugins/install#add-a-marketplace-and-install-in-one-command).

149 152 

150Jika nama dimulai dengan `claudeai-`, marketplace dihosting di claude.ai, dan Anda menambahkannya berdasarkan nama dari shell Anda dengan `claude plugin marketplace add --claudeai <name>`. Lihat [Add a marketplace from claude.ai](/docs/id/plugins/install#add-from-claude-ai).153Jika nama dimulai dengan `claudeai-`, marketplace dihosting di claude.ai, dan Anda menambahkannya berdasarkan nama dari shell Anda dengan `claude plugin marketplace add --claudeai <name>`. Lihat [Add a marketplace from claude.ai](/docs/id/plugins/install#add-from-claude-ai).

151 154 


646 649 

647Kemudian jalankan `/reload-plugins` dalam sesi Anda. Entri tab **Errors** menghilang dan plugin kembali di bawah **Installed**.650Kemudian jalankan `/reload-plugins` dalam sesi Anda. Entri tab **Errors** menghilang dan plugin kembali di bawah **Installed**.

648 651 

652<h3 id="installed-plugins-json-holds-a-record-this-version-cannot-read">

653 `installed_plugins.json holds a record under "<id>" that this version of Claude Code cannot read`

654</h3>

655 

656Pesan muncul dalam bentuk-bentuk ini:

657 

658* **`claude plugin list`**: mencetaknya sebagai `Note:`

659* **`claude plugin install`, `uninstall`, dan `update`**: menolak dengan `Plugin "<name>" was not installed:`, `Plugin "<name>" was not uninstalled:`, atau `Plugin "<name>" was not updated:`, diikuti oleh teks yang sama

660* **`--json` pada salah satu dari ketiga command itu**: baris hasil membawa `message` yang sama dan `failureCode: "install_records_unreadable"`

661* **Beberapa catatan seperti itu**: pesan membaca `holds records under`

662* **Seluruh file mendeklarasikan format yang versi ini tidak tahu**: pesan membaca `installed_plugins.json is in a format (version <N>) that this version of Claude Code does not know` sebagai gantinya

663 

664Catatan bernama di `installed_plugins.json` adalah JSON yang valid di bawah id plugin yang valid, tetapi field-nya tidak parse untuk versi ini. Kemungkinan besar versi Claude Code lain menulisnya, mungkin yang lebih baru.

665 

666Sementara catatan ada di sana, versi ini tidak menulis ulang file, jadi catatan tidak hilang.

667 

668Ambil opsi pesan dalam urutan:

669 

6701. Perbarui Claude Code dengan `claude update`.

6712. Jika Anda tidak dapat memperbarui, uninstal plugin bernama dengan versi Claude Code yang menulis catatan.

6723. Jika tidak ada yang membantu, hapus catatan dari `installed_plugins.json` dengan tangan, lalu restart Claude Code atau jalankan `/reload-plugins`.

673 

674<h3 id="installed-plugins-json-could-not-be-read-and-was-rebuilt">

675 `installed_plugins.json could not be read and was rebuilt`

676</h3>

677 

678`claude plugin list` mencetak catatan ini, dengan path file yang disimpan bernama `installed_plugins.unreadable.<date>.<hash>.kept`, selama file itu duduk di samping `installed_plugins.json`.

679 

680`installed_plugins.json` yang bukan JSON yang valid, atau bukan daftar plugin, tidak dapat mengatakan apa yang Anda instal.

681 

682Buka file `.kept` untuk melihat apa yang file lama catat, dan instal ulang plugin yang Anda lewatkan. Claude Code tidak pernah membaca file kembali, dan file itu berusia pada jadwal [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays).

683 

684<h3 id="install-records-under-names-that-no-version-can-use">

685 `install records under names that no version of Claude Code can use were removed from installed_plugins.json`

686</h3>

687 

688`claude plugin list` mencetak catatan ini, dengan path salinan bernama `installed_plugins.set-aside.<date>.<hash>.json`, selama salinan itu duduk di samping `installed_plugins.json`. Catatan berakhir `Nothing needs doing about these copies.`

689 

690Catatan di `installed_plugins.json` duduk di bawah kunci yang bukan id plugin yang valid, jadi tidak ada versi Claude Code yang dapat menggunakannya. Sisa file memuat secara normal.

691 

692Claude Code menyalin catatan yang tidak dapat digunakan ke dalam file `.set-aside` dan menjatuhkannya dari daftar. Claude Code tidak pernah membaca salinan kembali, dan salinan itu berusia pada jadwal [`cleanupPeriodDays`](/docs/id/settings-reference#cleanupperioddays).

693 

649<h3 id="a-plugin-you-disabled-still-loads">694<h3 id="a-plugin-you-disabled-still-loads">

650 `Disabled in ~/.claude/settings.json but still loads`695 `Disabled in ~/.claude/settings.json but still loads`

651</h3>696</h3>


981| `Path contains "..": <path>` di bawah `plugins[N].source` | Kesalahan | Gunakan path relatif terhadap root marketplace tanpa segmen `..`. |1026| `Path contains "..": <path>` di bawah `plugins[N].source` | Kesalahan | Gunakan path relatif terhadap root marketplace tanpa segmen `..`. |

982| `Marketplace name cannot contain control or bidirectional-formatting characters` | Kesalahan | Hapus karakter dari nama, seperti escape atau newline. |1027| `Marketplace name cannot contain control or bidirectional-formatting characters` | Kesalahan | Hapus karakter dari nama, seperti escape atau newline. |

983| `Plugin name cannot contain control or bidirectional-formatting characters` | Kesalahan | Hapus karakter dari plugin `name`. |1028| `Plugin name cannot contain control or bidirectional-formatting characters` | Kesalahan | Hapus karakter dari plugin `name`. |

1029| `Claude Code cannot install plugins from marketplace "<name>". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change the marketplace's "name".` | Kesalahan | Ganti nama marketplace agar sesuai dengan aturan yang dinyatakan pesan. |

1030| `Claude Code cannot install plugin "<name>". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | Kesalahan | Ganti nama entri agar sesuai dengan aturan yang dinyatakan pesan. |

984| `Marketplace has no plugins defined` | Peringatan | Tambahkan setidaknya satu entri ke `plugins`. |1031| `Marketplace has no plugins defined` | Peringatan | Tambahkan setidaknya satu entri ke `plugins`. |

985| `No marketplace description provided` | Peringatan | Tambahkan `description` tingkat atas. |1032| `No marketplace description provided` | Peringatan | Tambahkan `description` tingkat atas. |

986| `Plugin name "<name>" is not kebab-case` di bawah `plugins[N] plugin.json → name` | Peringatan | Ganti nama ke huruf kecil, digit, dan tanda hubung. Claude Code menerima bentuk lain, tetapi sinkronisasi marketplace claude.ai menolaknya. |1033| `Plugin name "<name>" is not kebab-case` di bawah `plugins[N] plugin.json → name` | Peringatan | Ganti nama ke huruf kecil, digit, dan tanda hubung; sinkronisasi marketplace claude.ai memerlukan bentuk itu. |

987| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | Peringatan | Perbarui entri agar cocok dengan `plugin.json`, yang otoritatif pada waktu instalasi. |1034| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | Peringatan | Perbarui entri agar cocok dengan `plugin.json`, yang otoritatif pada waktu instalasi. |

988| `Marketplace name "<name>" is reserved in Claude Desktop` | Peringatan | Ganti nama marketplace. Sinkronisasi marketplace terkelola Claude Desktop menolak `org`, `org-provisioned`, dan `unknown` dalam casing apa pun. |1035| `Marketplace name "<name>" is reserved in Claude Desktop` | Peringatan | Ganti nama marketplace. Sinkronisasi marketplace terkelola Claude Desktop menolak `org`, `org-provisioned`, dan `unknown` dalam casing apa pun. |

989| `Marketplace name "<name>" is not accepted by Claude Desktop` atau `Plugin name "<name>" is not accepted by Claude Desktop` | Peringatan | Ganti nama ke paling banyak 128 karakter huruf, digit, `.`, `_`, dan `-`, dimulai dengan huruf atau digit. |1036| `Marketplace name "<name>" is not accepted by Claude Desktop` atau `Plugin name "<name>" is not accepted by Claude Desktop` | Peringatan | Ganti nama ke paling banyak 128 karakter huruf, digit, `.`, `_`, dan `-`, dimulai dengan huruf atau digit. |

Details

412| - | - |412| - | - |

413| `DISABLE_PROMPT_CACHING` | Nonaktifkan untuk semua model |413| `DISABLE_PROMPT_CACHING` | Nonaktifkan untuk semua model |

414| `DISABLE_PROMPT_CACHING_HAIKU` | Nonaktifkan untuk model Haiku default |414| `DISABLE_PROMPT_CACHING_HAIKU` | Nonaktifkan untuk model Haiku default |

415| `DISABLE_PROMPT_CACHING_SONNET` | Nonaktifkan untuk Sonnet saja |415| `DISABLE_PROMPT_CACHING_SONNET` | Nonaktifkan untuk model Sonnet default |

416| `DISABLE_PROMPT_CACHING_OPUS` | Nonaktifkan untuk Opus saja |416| `DISABLE_PROMPT_CACHING_OPUS` | Nonaktifkan untuk model Opus default |

417| `DISABLE_PROMPT_CACHING_FABLE` | Nonaktifkan untuk Fable saja |417| `DISABLE_PROMPT_CACHING_FABLE` | Nonaktifkan untuk Fable saja |

418 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.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.


422 422 

423Versi Haiku yang berbeda yang Anda pin sebagai model utama Anda tetap mempertahankan caching; atur `DISABLE_PROMPT_CACHING` untuk menonaktifkan caching untuk itu.423Versi Haiku yang berbeda yang Anda pin sebagai model utama Anda tetap mempertahankan caching; atur `DISABLE_PROMPT_CACHING` untuk menonaktifkan caching untuk itu.

424 424 

425`DISABLE_PROMPT_CACHING_SONNET` dan `DISABLE_PROMPT_CACHING_OPUS` masing-masing berlaku untuk model yang alias `sonnet` atau `opus` selesaikan. Jika Anda menetapkan ID model Sonnet atau Opus lain sebagai model utama Anda, model itu tetap mempertahankan caching. Misalnya, sesi pada `claude-sonnet-5` tetap mempertahankan caching sementara `sonnet` selesaikan ke `claude-sonnet-5-5`. Untuk menonaktifkan caching untuk model itu, atur `DISABLE_PROMPT_CACHING`.

426 

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.427Untuk 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.

426 428 

427<h2 id="related-resources">429<h2 id="related-resources">

Details

52 52 

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

54 54 

55 Flag yang tersedia:55 Lewatkan salah satu flag ini setelah `remote-control`:

56 56 

57 | Flag | Deskripsi |57 | Flag | Deskripsi |

58 | - | - |58 | - | - |


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

69 | `--debug-file <path>` | Tulis log debug ke file yang diberikan. |69 | `--debug-file <path>` | Tulis log debug ke file yang diberikan. |

70 | `--verbose` | Tampilkan log koneksi dan sesi terperinci. |70 | `--verbose` | Tampilkan log koneksi dan sesi terperinci. |

71 | `--sandbox` / `--no-sandbox` | Aktifkan atau nonaktifkan [sandboxing](/docs/id/sandboxing) untuk isolasi sistem file dan jaringan. Dimatikan secara default. |

72 

73 Berikan flag ini setelah `remote-control`.

74 71 

75 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.72 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.

76 73 

74 Untuk sandbox sesi yang dimulai server, aktifkan [sandboxing](/docs/id/sandboxing) dalam file pengaturan.

75 

77 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.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.

78 </Tab>77 </Tab>

79 78 


110 109 

111 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.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.

112 111 

113 Flag `--verbose`, `--sandbox`, dan `--no-sandbox` tidak tersedia dengan perintah ini.112 Flag `--verbose` tidak tersedia dengan perintah ini.

114 </Tab>113 </Tab>

115 114 

116 <Tab title="VS Code">115 <Tab title="VS Code">


200 199 

201Toggle yang sama muncul di luar CLI:200Toggle yang sama muncul di luar CLI:

202 201 

203* **Desktop app**: **Settings > Claude Code > Enable remote control by default**.202* **Desktop app**: **Settings > Claude Code > Connect new sessions to Remote Control**.

204* **VS Code extension**: **Enable Remote Control for all sessions** dalam bagian Settings [command menu](/docs/id/vs-code#use-the-prompt-box).203* **VS Code extension**: **Enable Remote Control for all sessions** dalam bagian Settings [command menu](/docs/id/vs-code#use-the-prompt-box).

205 204 

206Untuk 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.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.

routines.md +16 −6

Details

66 66 

67Dalam setiap kasus lain, termasuk menerbitkan artifact baru, Claude bertanya terlebih dahulu. Ketika pekerjaan rutinitas adalah menjaga halaman tetap terkini, berikan artifact yang sudah Anda terbitkan.67Dalam setiap kasus lain, termasuk menerbitkan artifact baru, Claude bertanya terlebih dahulu. Ketika pekerjaan rutinitas adalah menjaga halaman tetap terkini, berikan artifact yang sudah Anda terbitkan.

68 68 

69Rutinitas milik akun claude.ai individual Anda. Mereka tidak dibagikan dengan rekan kerja, dan mereka dihitung terhadap tunjangan jalankan harian akun Anda. Apa pun yang dilakukan rutinitas melalui identitas GitHub yang terhubung atau konektor muncul sebagai Anda: komit dan permintaan tarik membawa pengguna GitHub Anda, dan pesan Slack, tiket Linear, atau tindakan konektor lainnya menggunakan akun tertaut Anda untuk layanan tersebut.69Rutinitas milik akun claude.ai individual Anda. Mereka tidak dibagikan dengan rekan kerja, dan mereka dihitung terhadap tunjangan jalankan akun Anda [usage and limits](#usage-and-limits). Apa pun yang dilakukan rutinitas melalui identitas GitHub yang terhubung atau konektor muncul sebagai Anda: komit dan permintaan tarik membawa pengguna GitHub Anda, dan pesan Slack, tiket Linear, atau tindakan konektor lainnya menggunakan akun tertaut Anda untuk layanan tersebut.

70 70 

71<h3 id="create-from-the-web">71<h3 id="create-from-the-web">

72 Buat dari web72 Buat dari web


174 174 

175Konversi lokal-ke-UTC yang sama seperti jadwal berulang berlaku untuk stempel waktu sekali.175Konversi lokal-ke-UTC yang sama seperti jadwal berulang berlaku untuk stempel waktu sekali.

176 176 

177Jalankan sekali tidak dihitung terhadap batas jalankan rutinitas harian. Lihat [Usage and limits](#usage-and-limits) untuk detail.177Jalankan sekali dihitung terhadap batas per jam yang sama seperti jalankan terjadwal lainnya. Lihat [Usage and limits](#usage-and-limits) untuk detail.

178 178 

179<h3 id="add-an-api-trigger">179<h3 id="add-an-api-trigger">

180 Tambahkan pemicu API180 Tambahkan pemicu API


256Pemicu GitHub memulai sesi baru secara otomatis ketika peristiwa yang cocok terjadi pada repositori yang terhubung. Claude Code tidak menggunakan kembali sesi di seluruh peristiwa, jadi dua pembaruan PR menghasilkan dua sesi independen.256Pemicu GitHub memulai sesi baru secara otomatis ketika peristiwa yang cocok terjadi pada repositori yang terhubung. Claude Code tidak menggunakan kembali sesi di seluruh peristiwa, jadi dua pembaruan PR menghasilkan dua sesi independen.

257 257 

258<Note>258<Note>

259 Selama pratinjau penelitian, peristiwa webhook GitHub tunduk pada batas per jam per-rutinitas dan per-akun. Peristiwa di luar batas dijatuhkan sampai jendela direset. Lihat batas saat ini Anda di [claude.ai/code/routines](https://claude.ai/code/routines).259 Peristiwa webhook GitHub tunduk pada batas per jam per-rutinitas dan per-akun. Peristiwa di luar batas dijatuhkan sampai jendela direset.

260</Note>260</Note>

261 261 

262Aplikasi GitHub Claude harus diinstal pada repositori yang ingin Anda berlangganan, permukaan apa pun yang Anda konfigurasi pemicu darinya.262Aplikasi GitHub Claude harus diinstal pada repositori yang ingin Anda berlangganan, permukaan apa pun yang Anda konfigurasi pemicu darinya.


421 Penggunaan dan batas421 Penggunaan dan batas

422</h2>422</h2>

423 423 

424Rutinitas mengurangi penggunaan langganan dengan cara yang sama seperti sesi interaktif. Selain batas langganan standar, rutinitas memiliki batas harian tentang berapa banyak jalankan yang dapat dimulai per akun. Lihat konsumsi saat ini dan jalankan rutinitas harian yang tersisa di [claude.ai/code/routines](https://claude.ai/code/routines) atau [claude.ai/settings/usage](https://claude.ai/settings/usage).424Rutinitas mengurangi penggunaan langganan dengan cara yang sama seperti sesi interaktif. Lihat konsumsi saat ini Anda di [claude.ai/settings/usage](https://claude.ai/settings/usage).

425 425 

426Ketika rutinitas mencapai batas harian atau batas penggunaan langganan Anda, organisasi dengan kredit penggunaan yang diaktifkan dapat terus menjalankan rutinitas pada overage terukur. Tanpa kredit penggunaan, jalankan tambahan ditolak sampai jendela direset. Aktifkan kredit penggunaan di [claude.ai/settings/usage](https://claude.ai/settings/usage). Pada paket Team dan Enterprise, admin mengaktifkannya untuk organisasi di [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).426Terpisah dari penggunaan langganan, setiap cara memulai jalankan memiliki batas per jam:

427 427 

428Jalankan sekali saja tidak dihitung terhadap batas jalankan rutinitas harian. Mereka mengurangi penggunaan langganan reguler Anda seperti sesi lainnya.428| Tindakan | Batas | Dihitung untuk | Melampaui batas |

429| :- | :- | :- | :- |

430| Jalankan terjadwal, termasuk jalankan sekali saja | 100 per jam | Akun Anda | Jalankan menunggu sampai batas direset |

431| **Jalankan sekarang**, API fires, dan mengatur rutinitas sekali saja untuk dijalankan lagi | 30 per jam | Setiap rutinitas, satu hitungan dibagikan oleh ketiga-tiganya | Tindakan gagal sampai batas direset |

432| **Jalankan sekarang** dan mengatur rutinitas sekali saja untuk dijalankan lagi | 100 per jam | Akun Anda | Sama |

433| API fires | 100 per jam | Akun Anda, dihitung terpisah dari **Jalankan sekarang** | Sama |

434| Peristiwa GitHub | Lihat [Tambahkan pemicu GitHub](#add-a-github-trigger) | | |

435 

436Tidak ada batas per jam ini yang memiliki overage.

437 

438Ketika rutinitas mencapai batas penggunaan langganan Anda, organisasi dengan kredit penggunaan yang diaktifkan dapat terus menjalankan rutinitas pada overage terukur. Tanpa kredit penggunaan, jalankan tambahan ditolak sampai jendela penggunaan Anda direset. Aktifkan kredit penggunaan di [claude.ai/settings/usage](https://claude.ai/settings/usage). Pada paket Team dan Enterprise, admin mengaktifkannya untuk organisasi di [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).

429 439 

430Sementara langganan Anda dijeda, rutinitas Anda ditahan dan tidak berjalan. Setelah langganan Anda aktif kembali, aktifkan kembali.440Sementara langganan Anda dijeda, rutinitas Anda ditahan dan tidak berjalan. Setelah langganan Anda aktif kembali, aktifkan kembali.

431 441 

Details

138* Di akar proyek, runtime menolak `.git/hooks`, menolak `.git/config` kecuali Anda menetapkan `filesystem.allowGitConfig: true`, dan menolak `.mcp.json`, `.claude/commands`, `.claude/agents`, dan file startup shell.138* Di akar proyek, runtime menolak `.git/hooks`, menolak `.git/config` kecuali Anda menetapkan `filesystem.allowGitConfig: true`, dan menolak `.mcp.json`, `.claude/commands`, `.claude/agents`, dan file startup shell.

139* Di macOS, penolakan ini diperiksa ketika penulisan terjadi, jadi mereka juga mencakup file bersarang dan repositori yang dibuat selama sesi.139* Di macOS, penolakan ini diperiksa ketika penulisan terjadi, jadi mereka juga mencakup file bersarang dan repositori yang dibuat selama sesi.

140* Di Linux dan WSL2, runtime membangun daftar penolakan sekali saat peluncuran. Ini secara andal mencakup akar proyek, melakukan pemindaian dangkal upaya terbaik untuk salinan bersarang yang ada pada saat itu, dan tidak mencakup apa pun yang dibuat sesi nanti, seperti `git init`, `git clone`, atau scaffolding. Bagian `mandatoryDenySearchDepth` README menjelaskan semantik pemindaian yang tepat.140* Di Linux dan WSL2, runtime membangun daftar penolakan sekali saat peluncuran. Ini secara andal mencakup akar proyek, melakukan pemindaian dangkal upaya terbaik untuk salinan bersarang yang ada pada saat itu, dan tidak mencakup apa pun yang dibuat sesi nanti, seperti `git init`, `git clone`, atau scaffolding. Bagian `mandatoryDenySearchDepth` README menjelaskan semantik pemindaian yang tepat.

141* Tanpa `~/.srt-settings.json` yang valid, runtime tetap dimulai, memblokir akses jaringan, dan membatasi penulisan ke jalur runtime bawaan seperti `/tmp/claude`, `~/.npm/_logs`, dan `~/.claude/debug`. Jangan anggap awal yang bersih sebagai bukti pengaturan Anda dimuat.141* Jika `~/.srt-settings.json` tidak ada dan Anda tidak melewatkan `--settings`, runtime tetap dimulai. Runtime memblokir akses jaringan dan membatasi penulisan ke jalur runtime bawaan seperti `/tmp/claude`, `~/.npm/_logs`, dan `~/.claude/debug`. Jangan anggap awal yang bersih sebagai bukti pengaturan Anda dimuat.

142* Ketika Anda melewatkan `--settings`, runtime menolak untuk memulai jika file gagal dimuat.142* Jika file pengaturan ada tetapi kosong, tidak dapat dibaca, atau tidak valid, runtime menolak untuk memulai, baik itu `~/.srt-settings.json` atau file yang Anda lewatkan dengan `--settings`. Runtime juga menolak untuk memulai jika file `--settings` tidak ada.

143 143 

144Hibah tulis Anda masih mencakup jalur lain yang dimuat konfigurasi Claude Code, jadi tolak dengan `denyWrite`. Sesi yang disandbox yang dapat menulisnya dapat mempertahankan hook, aturan izin, atau server MCP yang berjalan tanpa sandbox lain kali Anda meluncurkan Claude Code.144Hibah tulis Anda masih mencakup jalur lain yang dimuat konfigurasi Claude Code, jadi tolak dengan `denyWrite`. Sesi yang disandbox yang dapat menulisnya dapat mempertahankan hook, aturan izin, atau server MCP yang berjalan tanpa sandbox lain kali Anda meluncurkan Claude Code.

145 145 

Details

8 8 

9Tugas terjadwal memungkinkan Claude menjalankan kembali prompt secara otomatis pada interval tertentu. Gunakan untuk polling deployment, mengawasi PR, memeriksa build yang berjalan lama, atau mengingatkan diri sendiri untuk melakukan sesuatu nanti dalam sesi. Untuk bereaksi terhadap peristiwa saat terjadi daripada polling, lihat [Channels](/docs/id/channels): CI Anda dapat mendorong kegagalan ke dalam sesi secara langsung. Untuk menjaga sesi tetap bekerja giliran demi giliran sampai kondisi terpenuhi daripada pada interval, lihat [`/goal`](/docs/id/goal).9Tugas terjadwal memungkinkan Claude menjalankan kembali prompt secara otomatis pada interval tertentu. Gunakan untuk polling deployment, mengawasi PR, memeriksa build yang berjalan lama, atau mengingatkan diri sendiri untuk melakukan sesuatu nanti dalam sesi. Untuk bereaksi terhadap peristiwa saat terjadi daripada polling, lihat [Channels](/docs/id/channels): CI Anda dapat mendorong kegagalan ke dalam sesi secara langsung. Untuk menjaga sesi tetap bekerja giliran demi giliran sampai kondisi terpenuhi daripada pada interval, lihat [`/goal`](/docs/id/goal).

10 10 

11Tugas bersifat session-scoped: mereka hidup dalam percakapan saat ini dan berhenti saat Anda memulai yang baru. Saat Anda melanjutkan dengan `--resume` atau `--continue`, Claude Code memulihkan tugas yang belum [kedaluwarsa](#seven-day-expiry), kecuali yang tercantum di bawah [Limitations](#limitations). Untuk penjadwalan yang bertahan secara independen dari sesi apa pun, gunakan [Routines](/docs/id/routines) untuk membuat routine di cloud, atur [Desktop scheduled task](/docs/id/desktop-scheduled-tasks), atau gunakan [GitHub Actions](/docs/id/github-actions).11Tugas bersifat session-scoped. Saat Anda melanjutkan dengan `--resume` atau `--continue`, Claude Code memulihkan tugas yang belum [kedaluwarsa](#seven-day-expiry), kecuali yang tercantum di bawah [Limitations](#limitations). Untuk penjadwalan yang bertahan secara independen dari sesi apa pun, gunakan [Routines](/docs/id/routines) untuk membuat routine di cloud, atur [Desktop scheduled task](/docs/id/desktop-scheduled-tasks), atau gunakan [GitHub Actions](/docs/id/github-actions).

12 12 

13<h2 id="compare-scheduling-options">13<h2 id="compare-scheduling-options">

14 Bandingkan opsi penjadwalan14 Bandingkan opsi penjadwalan


237 237 

238* Tugas hanya berjalan saat Claude Code berjalan dan idle. Menutup terminal atau membiarkan sesi keluar menghentikan semuanya. [Backgrounding sesi](/docs/id/agent-view#from-inside-a-session) membawa tugas `/loop` ke sesi latar belakang, yang terus berjalan tanpa terminal.238* Tugas hanya berjalan saat Claude Code berjalan dan idle. Menutup terminal atau membiarkan sesi keluar menghentikan semuanya. [Backgrounding sesi](/docs/id/agent-view#from-inside-a-session) membawa tugas `/loop` ke sesi latar belakang, yang terus berjalan tanpa terminal.

239* Tidak ada catch-up untuk fire yang terlewat. Jika waktu terjadwal tugas berlalu saat Claude sibuk dengan permintaan yang berjalan lama, itu berjalan sekali saat Claude menjadi idle, bukan sekali per interval yang terlewat.239* Tidak ada catch-up untuk fire yang terlewat. Jika waktu terjadwal tugas berlalu saat Claude sibuk dengan permintaan yang berjalan lama, itu berjalan sekali saat Claude menjadi idle, bukan sekali per interval yang terlewat.

240* Memulai percakapan baru menghapus semua tugas session-scoped. Saat Anda melanjutkan sesi dengan `claude --resume` atau `claude --continue`, Claude Code memulihkan tugas yang dijadwalkan dengan `CronCreate`, kecuali tugas berulang yang telah [kedaluwarsa](#seven-day-expiry) dan tugas sekali jalan yang waktu terjadwalnya telah berlalu. Sebuah `/loop` [yang berjalan sendiri](#let-claude-choose-the-interval) tidak dipulihkan, jadi jalankan `/loop` lagi untuk memulainya kembali. Tugas Bash latar belakang dan monitor tidak pernah dipulihkan pada resume.240* Saat Anda melanjutkan sesi dengan `claude --resume` atau `claude --continue`, Claude Code memulihkan tugas yang dijadwalkan dengan `CronCreate`, kecuali tugas berulang yang telah [kedaluwarsa](#seven-day-expiry) dan tugas sekali jalan yang waktu terjadwalnya telah berlalu. Sebuah `/loop` [yang berjalan sendiri](#let-claude-choose-the-interval) tidak dipulihkan, jadi jalankan `/loop` lagi untuk memulainya kembali. Tugas Bash latar belakang dan monitor tidak pernah dipulihkan pada resume.

241* Dengan [feature-flag fetching off](/docs/id/env-vars#features-that-need-feature-flag-fetching), Claude Code menyimpan tugas yang Anda minta untuk disimpan di seluruh sesi dalam file `.claude/scheduled_tasks.json` proyek. Ketika direktori `.claude` atau file tersebut adalah symlink, Claude Code mengembalikan error alih-alih menjadwalkan tugas. Tugas yang disimpan hanya berjalan di folder proyek tempat Anda membuatnya. Jika Anda menyalin file ke folder lain, seperti worktree baru, sesi di sana menampilkan tugas yang disalin tetapi tidak menjalankannya, jadi buat tugas lagi di folder tersebut.241* Dengan [feature-flag fetching off](/docs/id/env-vars#features-that-need-feature-flag-fetching), Claude Code menyimpan tugas yang Anda minta untuk disimpan di seluruh sesi dalam file `.claude/scheduled_tasks.json` proyek. Ketika direktori `.claude` atau file tersebut adalah symlink, Claude Code mengembalikan error alih-alih menjadwalkan tugas. Tugas yang disimpan hanya berjalan di folder proyek tempat Anda membuatnya. Jika Anda menyalin file ke folder lain, seperti worktree baru, sesi di sana menampilkan tugas yang disalin tetapi tidak menjalankannya, jadi buat tugas lagi di folder tersebut.

242 242 

243Untuk otomasi yang didorong cron yang perlu berjalan tanpa pengawasan:243Untuk otomasi yang didorong cron yang perlu berjalan tanpa pengawasan:

Details

48* **Zero Data Retention**: tidak tersedia untuk organisasi dengan [Zero Data Retention](/docs/id/zero-data-retention) diaktifkan.48* **Zero Data Retention**: tidak tersedia untuk organisasi dengan [Zero Data Retention](/docs/id/zero-data-retention) diaktifkan.

49* **Model inference**: sesi menggunakan Anthropic API, dan inferensi tidak dapat dirutekan melalui [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/id/third-party-integrations), atau [LLM gateway](/docs/id/llm-gateway).49* **Model inference**: sesi menggunakan Anthropic API, dan inferensi tidak dapat dirutekan melalui [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/id/third-party-integrations), atau [LLM gateway](/docs/id/llm-gateway).

50* **Surfaces**: sesi dimulai dari [claude.ai/code](https://claude.ai/code), aplikasi mobile dan desktop, [rutinitas terjadwal](/docs/id/routines), dan terminal, dengan [`claude --cloud`](/docs/id/claude-code-on-the-web#from-terminal-to-cloud) atau [dispatch `--environment`](/docs/id/self-hosted-environments-testing#run-the-test-loop), dapat berjalan di lingkungan yang di-host sendiri. Sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) dapat berjalan di dalamnya juga, tetapi Claude tidak dapat menggunakan [Access bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dalam sesi tersebut belum. Sesi [Claude Security](/docs/id/claude-security) dan [Code Review](/docs/id/code-review) belum dirutekan ke mereka. Dukungan untuk dua permukaan itu mengikuti secara terpisah.50* **Surfaces**: sesi dimulai dari [claude.ai/code](https://claude.ai/code), aplikasi mobile dan desktop, [rutinitas terjadwal](/docs/id/routines), dan terminal, dengan [`claude --cloud`](/docs/id/claude-code-on-the-web#from-terminal-to-cloud) atau [dispatch `--environment`](/docs/id/self-hosted-environments-testing#run-the-test-loop), dapat berjalan di lingkungan yang di-host sendiri. Sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) dapat berjalan di dalamnya juga, tetapi Claude tidak dapat menggunakan [Access bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dalam sesi tersebut belum. Sesi [Claude Security](/docs/id/claude-security) dan [Code Review](/docs/id/code-review) belum dirutekan ke mereka. Dukungan untuk dua permukaan itu mengikuti secara terpisah.

51* **Repositories**: sesi memeriksa repositori dari GitHub; lihat [opsi autentikasi GitHub](/docs/id/claude-code-on-the-web#github-authentication-options).51* **Repositories**: sesi memeriksa repositori dari GitHub; lihat [opsi autentikasi GitHub](/docs/id/claude-code-on-the-web#github-authentication-options). Untuk host GitHub Enterprise Server, lihat [persyaratan jaringannya](/docs/id/github-enterprise-server#network-requirements).

52* **Billing**: sesi dalam lingkungan yang di-host sendiri menggunakan penggunaan Claude Code organisasi Anda dengan cara yang sama seperti sesi dalam lingkungan yang di-host Anthropic.52* **Billing**: sesi dalam lingkungan yang di-host sendiri menggunakan penggunaan Claude Code organisasi Anda dengan cara yang sama seperti sesi dalam lingkungan yang di-host Anthropic.

53 53 

54<h2 id="why-self-host">54<h2 id="why-self-host">

Details

170 170 

171Jika host git Anda menolak kredensial, atau Anda tidak mengonfigurasi satu, runner mencoba beberapa kali dan kemudian gagal persiapan repositori ketika repositori adalah yang didorong sesi untuk hasil. Untuk repositori yang hanya dibaca sesi, [Troubleshooting](#troubleshooting) mencakup kapan runner melewatinya. Runner tidak meneruskan pengaturan ini ke lingkungan sesi.171Jika host git Anda menolak kredensial, atau Anda tidak mengonfigurasi satu, runner mencoba beberapa kali dan kemudian gagal persiapan repositori ketika repositori adalah yang didorong sesi untuk hasil. Untuk repositori yang hanya dibaca sesi, [Troubleshooting](#troubleshooting) mencakup kapan runner melewatinya. Runner tidak meneruskan pengaturan ini ke lingkungan sesi.

172 172 

173Jaga agar program apa pun yang Anda beri nama dalam `GIT_SSH_COMMAND` atau `GIT_ASKPASS` tetap berada di tempat sesi tidak dapat menulisnya, seperti yang diminta [daftar pengerasan](#harden-your-deployment) untuk direktori hooks dan script wrapper. Hal yang sama berlaku untuk kunci atau file apa pun pada baris perintah program itu. Git runner itu sendiri menjalankan program itu ketika klon atau fetch.

174 

173Jika direktori checkout dimiliki oleh uid berbeda dari proses runner, git menolak untuk beroperasi pada mereka; tambahkan `safe.directory`:175Jika direktori checkout dimiliki oleh uid berbeda dari proses runner, git menolak untuk beroperasi pada mereka; tambahkan `safe.directory`:

174 176 

175```dockerfile theme={null}177```dockerfile theme={null}


184 186 

185Proxy memerlukan `--capacity 1` karena URL proxy adalah per-sesi, dan git 2.32 atau lebih baru karena git yang lebih lama mengabaikan mekanisme konfigurasi yang digunakan proxy untuk mengisolasi sesi satu sama lain. Runner menolak untuk memulai jika salah satu persyaratan tidak terpenuhi. Karena proxy mengambil dari sisi Anthropic, host git Anda harus dapat dijangkau dari infrastruktur Anthropic, persyaratan yang sama yang dimiliki sesi yang di-host Anthropic; untuk host git yang hanya dapat dirutekan di dalam jaringan Anda, gunakan [`checkout` lifecycle hook](/docs/id/self-hosted-environments-configuration#checkout). Setiap proses runner menangani satu sesi pada satu waktu, jadi jalankan lebih banyak replika untuk paralelisme. Ketika proxy diaktifkan, `--git-host-rewrite` dan `--git-ssh-rewrite` tidak berpengaruh: URL proxy menunjuk ke `api.anthropic.com`, bukan host git Anda.187Proxy memerlukan `--capacity 1` karena URL proxy adalah per-sesi, dan git 2.32 atau lebih baru karena git yang lebih lama mengabaikan mekanisme konfigurasi yang digunakan proxy untuk mengisolasi sesi satu sama lain. Runner menolak untuk memulai jika salah satu persyaratan tidak terpenuhi. Karena proxy mengambil dari sisi Anthropic, host git Anda harus dapat dijangkau dari infrastruktur Anthropic, persyaratan yang sama yang dimiliki sesi yang di-host Anthropic; untuk host git yang hanya dapat dirutekan di dalam jaringan Anda, gunakan [`checkout` lifecycle hook](/docs/id/self-hosted-environments-configuration#checkout). Setiap proses runner menangani satu sesi pada satu waktu, jadi jalankan lebih banyak replika untuk paralelisme. Ketika proxy diaktifkan, `--git-host-rewrite` dan `--git-ssh-rewrite` tidak berpengaruh: URL proxy menunjuk ke `api.anthropic.com`, bukan host git Anda.

186 188 

189<Warning>

190 Resep [Kubernetes](#kubernetes) dan [Docker Compose](#docker-compose) di halaman ini menggunakan `--capacity 4`. Jika Anda menambahkan `--use-anthropic-git-proxy` atau `CLAUDE_RUNNER_USE_GIT_PROXY=1` ke salah satunya tanpa mengubah kapasitas menjadi `1`, runner keluar pada startup setiap kali orchestrator Anda memulainya kembali. Atur `--capacity 1` dan jalankan lebih banyak replika untuk paralelisme. [When the runner exits](#when-the-runner-exits) menunjukkan baris yang dicetak runner.

191</Warning>

192 

187Runner juga melaporkan opt-in ke Anthropic ketika mendaftar, mencetak `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` pada startup. Melaporkan opt-in memerlukan Claude Code v2.1.267 atau lebih baru, dan versi sebelumnya menerima flag tanpa melaporkannya atau mencetak baris itu. Setiap sesi pada runner yang telah opt-in kemudian menggunakan baik git yang dikelola Anthropic atau URL proxy per-sesi. Ketika sesi menggunakan URL proxy per-sesi, runner mencatat satu baris `[runner:warn]` mengatakan demikian.193Runner juga melaporkan opt-in ke Anthropic ketika mendaftar, mencetak `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` pada startup. Melaporkan opt-in memerlukan Claude Code v2.1.267 atau lebih baru, dan versi sebelumnya menerima flag tanpa melaporkannya atau mencetak baris itu. Setiap sesi pada runner yang telah opt-in kemudian menggunakan baik git yang dikelola Anthropic atau URL proxy per-sesi. Ketika sesi menggunakan URL proxy per-sesi, runner mencatat satu baris `[runner:warn]` mengatakan demikian.

188 194 

195<h4 id="trust-a-private-certificate-authority-with-anthropic-managed-git">

196 Percayai otoritas sertifikat pribadi dengan git yang dikelola Anthropic

197</h4>

198 

199Bagian ini berlaku jika Anda menetapkan `GIT_SSL_CAINFO` atau `GIT_SSL_NO_VERIFY` dalam lingkungan runner yang sesinya menggunakan git yang dikelola Anthropic. Penanganan yang dijelaskannya memerlukan runner untuk menjalankan Claude Code v2.1.283 atau lebih baru.

200 

201Ketika git di runner harus mempercayai otoritas sertifikat pribadi (CA), seperti yang ditandatangani oleh proxy yang menginspeksi TLS, pendekatan biasa bekerja sebagai berikut:

202 

203* **Penyimpanan sertifikat sistem**: instal CA Anda di penyimpanan sertifikat sistem host runner, dan git mempercayainya tanpa variabel apa pun.

204* **`GIT_SSL_CAINFO`**: aturnya ke file PEM dari CA Anda, misalnya `GIT_SSL_CAINFO=/etc/ssl/corp-ca.pem`.

205* **`GIT_SSL_NO_VERIFY`**: tidak membantu di balik proxy yang menandatangani ulang. Klon runner sendiri melalui git yang dikelola Anthropic memeriksa sertifikat bahkan ketika variabel diatur, jadi klon itu gagal sampai git mempercayai CA Anda melalui salah satu dari dua pendekatan lainnya.

206 

207Untuk koneksi git yang membawa token sesi ke git yang dikelola Anthropic, runner menerapkan dua variabel sebagai berikut. Hook [`command`](/docs/id/self-hosted-environments-configuration#command) dimulai dengan lingkungan sesi, jadi itu mendapatkan apa yang git di dalam sesi dapatkan:

208 

209* **`GIT_SSL_CAINFO`**: apa yang git periksa git yang dikelola Anthropic terhadap tergantung di mana git berjalan:

210 * **Klon dan fetch runner sendiri**: berjalan tanpa variabel dan periksa git yang dikelola Anthropic terhadap file sertifikat per-sesi yang ditulis runner. File itu menyimpan bundel CA sistem host runner ditambah sertifikat dari file Anda.

211 * **Git di dalam sesi**: mendapatkan konfigurasi `http.sslCAInfo` yang menamai file Anda sebagai pengganti variabel, ditambah entri `http.<url>.sslCAInfo` yang memeriksa git yang dikelola Anthropic terhadap file per-sesi.

212 * **Hook `checkout` dan `post-session`**: mewarisi variabel tidak berubah.

213* **`GIT_SSL_NO_VERIFY`**: pemeriksaan sertifikat mana yang tetap mati tergantung di mana git berjalan:

214 * **Klon dan fetch runner sendiri**: berjalan tanpa variabel dan periksa sertifikat yang mereka sajikan.

215 * **Git di dalam sesi**: mendapatkan konfigurasi `http.sslVerify=false` sebagai pengganti variabel, jadi pemeriksaan tetap mati untuk host lain. Itu juga mendapatkan entri `http.<url>.sslVerify=true` yang menjaga pemeriksaan tetap aktif untuk git yang dikelola Anthropic.

216 * **Hook `checkout` dan `post-session`**: ketika sesi memiliki repositori di git yang dikelola Anthropic, dapatkan konfigurasi `http.sslVerify=false` sebagai pengganti variabel. Mereka juga mendapatkan entri `http.<url>.sslVerify=true` yang menjaga pemeriksaan tetap aktif untuk git yang dikelola Anthropic.

217 

218File sertifikat per-sesi memerlukan bundel CA sistem di `/etc/ssl/certs/ca-certificates.crt` atau `/etc/pki/tls/certs/ca-bundle.crt` di host runner. Itu juga memerlukan file `GIT_SSL_CAINFO` yang dapat dibaca pengguna runner, yang menyimpan blok `CERTIFICATE` PEM, dan yang paling banyak 1 MiB. Ketika runner tidak dapat membangun file per-sesi, itu mencatat baris `[runner:warn]` yang berisi `did not build the certificate file` dan alasannya. Git kemudian menggunakan file Anda seperti apa adanya untuk git yang dikelola Anthropic. Perbaiki apa yang dinamai baris.

219 

220Untuk setiap sesi yang menggunakan git yang dikelola Anthropic, runner juga mencatat baris `[runner:warn]` yang dimulai dengan `governed git: GIT_SSL_CAINFO is set` atau `governed git: GIT_SSL_NO_VERIFY is set`. Baris mengatakan apa yang dilakukan runner dengan variabel itu untuk git-nya sendiri, untuk git di dalam sesi, dan untuk hook lifecycle Anda. Itu berakhir dengan apakah Anda perlu mengubah apa pun.

221 

189<h3 id="rewrite-git-urls-for-private-networks">222<h3 id="rewrite-git-urls-for-private-networks">

190 Tulis ulang URL git untuk jaringan pribadi223 Tulis ulang URL git untuk jaringan pribadi

191</h3>224</h3>


203 236 

204Anthropic tidak menerbitkan gambar runner yang telah dibangun sebelumnya. Bangun milik Anda sendiri di sekitar biner `claude`, berlapis dengan toolchain apa pun yang dibutuhkan repositori Anda: runtime bahasa, compiler, package manager, dan sidecar [MCP](/docs/id/mcp).237Anthropic tidak menerbitkan gambar runner yang telah dibangun sebelumnya. Bangun milik Anda sendiri di sekitar biner `claude`, berlapis dengan toolchain apa pun yang dibutuhkan repositori Anda: runtime bahasa, compiler, package manager, dan sidecar [MCP](/docs/id/mcp).

205 238 

206Resep di bawah menggunakan `--capacity 4`, jadi satu kontainer melayani hingga empat sesi bersamaan dari pemilik terkunci yang sama. Itu tidak memberikan isolasi kontainer per-sesi dalam [bagian pengerasan](#harden-your-deployment): sebelum menghubungkan lingkungan ke sistem produksi, jalankan resep pada `--capacity 1` dengan satu kontainer per sesi, atau gunakan [runner on-demand](/docs/id/self-hosted-environments-configuration#on-demand-runners), yang juga menjaga rahasia lingkungan dari host yang menjalankan sesi.239Resep di bawah menggunakan `--capacity 4`, jadi satu kontainer melayani hingga empat sesi bersamaan dari pemilik terkunci yang sama. Itu tidak memberikan isolasi kontainer per-sesi dalam [bagian pengerasan](#harden-your-deployment): sebelum menghubungkan lingkungan ke sistem produksi, jalankan resep pada `--capacity 1` dengan satu kontainer per sesi, atau gunakan [runner on-demand](/docs/id/self-hosted-environments-configuration#on-demand-runners), yang juga menjaga rahasia lingkungan dari host yang menjalankan sesi. Jika Anda menambahkan [proxy git Anthropic](#use-the-anthropic-git-proxy) ke salah satu resep ini, juga ubah `--capacity` menjadi `1`.

207 240 

208Dockerfile ini adalah titik awal minimal:241Dockerfile ini adalah titik awal minimal:

209 242 


338 371 

339Layanan Compose di bawah memulai ulang runner kapan pun keluar, yang mencakup crash dan exit normal setelah draining. Kebijakan restart Docker memulai ulang kontainer yang sama dengan lapisan yang dapat ditulisnya utuh, jadi runner kembali pada filesystem yang digunakan kembali daripada yang segar yang [postur pengerasan](#harden-your-deployment) rekomendasikan; gunakan resep ini untuk evaluasi, dan untuk produksi baik buat ulang kontainer per run atau gunakan orchestrator yang melakukannya.372Layanan Compose di bawah memulai ulang runner kapan pun keluar, yang mencakup crash dan exit normal setelah draining. Kebijakan restart Docker memulai ulang kontainer yang sama dengan lapisan yang dapat ditulisnya utuh, jadi runner kembali pada filesystem yang digunakan kembali daripada yang segar yang [postur pengerasan](#harden-your-deployment) rekomendasikan; gunakan resep ini untuk evaluasi, dan untuk produksi baik buat ulang kontainer per run atau gunakan orchestrator yang melakukannya.

340 373 

374Docker menunggu lebih lama sebelum setiap restart kontainer yang terus keluar, hingga batas maksimal, jadi runner yang tidak dapat dimulai tidak terus memulai ulang dalam loop ketat di bawah resep ini. [Ketika runner keluar](#when-the-runner-exits) menjelaskan apa yang harus diperiksa ketika itu terjadi.

375 

341```yaml theme={null}376```yaml theme={null}

342services:377services:

343 claude-runner:378 claude-runner:


451 486 

452Proses Claude Code anak setiap sesi menjalankan biner runner itu sendiri, dan runner mematikan auto-update di dalam sesi yang dihasilkannya, jadi setiap sesi menjalankan versi yang Anda instal di host atau bangun ke gambar. Update tingkat host berlaku waktu berikutnya runner dimulai.487Proses Claude Code anak setiap sesi menjalankan biner runner itu sendiri, dan runner mematikan auto-update di dalam sesi yang dihasilkannya, jadi setiap sesi menjalankan versi yang Anda instal di host atau bangun ke gambar. Update tingkat host berlaku waktu berikutnya runner dimulai.

453 488 

489Model yang digunakan sesi Anda dapat memerlukan versi Claude Code yang lebih baru daripada yang mereka jalankan. Server kemudian menolak permintaan untuk model tersebut dengan [Claude Code does not support this model](/docs/id/errors#claude-code-does-not-support-this-model). Sebelum Anda menyematkan versi, periksa [versi Claude Code yang diperlukan model](/docs/id/model-config#available-models) untuk setiap model yang digunakan sesi Anda.

490 

454* **Untuk menyimpan armada pada satu versi**: bangun gambar dengan versi yang disematkan, atau pada host telanjang instal versi spesifik dan [nonaktifkan auto-update](/docs/id/setup#disable-auto-updates)491* **Untuk menyimpan armada pada satu versi**: bangun gambar dengan versi yang disematkan, atau pada host telanjang instal versi spesifik dan [nonaktifkan auto-update](/docs/id/setup#disable-auto-updates)

455* **Untuk upgrade**: instal versi yang lebih baru atau bangun ulang gambar, kemudian mulai ulang runner492* **Untuk upgrade**: instal versi yang lebih baru atau bangun ulang gambar, kemudian mulai ulang runner

456* **Plugin**: marketplace plugin tidak auto-update juga; atur `FORCE_AUTOUPDATE_PLUGINS=1` dalam lingkungan runner untuk membiarkan plugin auto-update sementara biner tetap disematkan493* **Plugin**: marketplace plugin tidak auto-update juga; atur `FORCE_AUTOUPDATE_PLUGINS=1` dalam lingkungan runner untuk membiarkan plugin auto-update sementara biner tetap disematkan


554 591 

555Setiap proses anak sesi menulis log debug terpisah. Pada kegagalan runner menampilkan ekor log bersama sesi di claude.ai/code. Kecuali Anda memulai runner dengan [`--remove-session-state`](/docs/id/self-hosted-environments-reference#runner-cli-flags), itu juga menyimpan log sesi yang gagal di disk dan mencetak jalurnya dalam log runner.592Setiap proses anak sesi menulis log debug terpisah. Pada kegagalan runner menampilkan ekor log bersama sesi di claude.ai/code. Kecuali Anda memulai runner dengan [`--remove-session-state`](/docs/id/self-hosted-environments-reference#runner-cli-flags), itu juga menyimpan log sesi yang gagal di disk dan mencetak jalurnya dalam log runner.

556 593 

594<h3 id="when-the-runner-exits">

595 When the runner exits

596</h3>

597 

598Jangan mulai ulang [runner on-demand](/docs/id/self-hosted-environments-configuration#on-demand-runners), karena pesanan kerjanya adalah single-use. Runner yang keluar tepat setelah dimulai memerlukan penanganan yang berbeda dari yang keluar karena alasan lain.

599 

600* **Keluar normal**: runner menyelesaikan sesi-sesinya dan mengalirkan, mencapai waktu pensiun-nya, atau diperintahkan untuk berhenti. Mulai ulang sehingga lingkungan memiliki kapasitas lagi. [Runner lifecycle](/docs/id/self-hosted-environments#runner-lifecycle) menjelaskan keluar ini.

601* **Awal yang gagal**: runner tidak dapat dimulai dengan konfigurasi atau host yang diberikan, jadi itu keluar dalam hitungan detik setelah dimulai, dan itu keluar dengan cara yang sama setiap kali Anda memulainya ulang. Memulai ulang lebih cepat tidak membantu. Seseorang perlu membaca output-nya dan memperbaiki penyebabnya.

602 

603Konfigurasikan supervisor Anda untuk memulai ulang runner kapan pun itu keluar, untuk menunggu lebih lama antara restart ketika runner terus keluar tepat setelah dimulai, dan untuk memberitahu seseorang ketika itu terus terjadi.

604 

605<h4 id="recognize-a-failed-start">

606 Recognize a failed start

607</h4>

608 

609Ketika runner tidak dapat dimulai, itu mencetak baris yang mengatakan mengapa, dan kemudian itu keluar. Untuk sebagian besar penyebab baris berisi `[runner:fatal]`. Untuk beberapa penyebab baris dimulai dengan `error:` sebagai gantinya, termasuk ketika runner tidak dapat mengurai flag-nya, tidak dapat membaca rahasia lingkungan, atau tidak dapat membuat atau menulis ke direktori dasar. Baris berikutnya kemudian menunjuk ke `--help`.

610 

611Sebagian besar baris log dimulai dengan timestamp dan `[self-hosted-runner]`, yang sampel di bawah ini tinggalkan. Misalnya, runner yang dimulai dengan proxy git Anthropic dan kapasitas di atas satu mencetak baris seperti ini:

612 

613```text theme={null}

614[runner:fatal] --use-anthropic-git-proxy requires --capacity 1 (the proxy URL is per-session and linked worktrees share origin). Omit --use-anthropic-git-proxy or set --capacity 1.

615```

616 

617Cari baris dalam output standar dan kesalahan standar runner, dalam log kontainer platform Anda, atau dalam file yang Anda atur dengan [`--log-file`](/docs/id/self-hosted-environments-reference#runner-cli-flags). Runner mencetak baris `error:` sebelum membuka file log, jadi cari di terminal atau log kontainer Anda, seperti yang dicatat [Troubleshooting](#troubleshooting).

618 

619Ini juga membantu ketika Anda membaca awal yang gagal:

620 

621* **Tidak ada baris sama sekali**: runner yang host bunuh tidak mencetak keduanya. Jika output berakhir tanpa baris `[runner:fatal]` dan tanpa baris `error:`, periksa apakah host atau orchestrator Anda menghentikan proses, misalnya karena melampaui batas memori.

622* **Kode keluar**: runner tidak menyisihkan kode keluar untuk kesalahan yang berulang pada setiap awal. Itu keluar dengan kode yang sama untuk kesalahan konfigurasi, seperti kombinasi flag yang tidak didukung, dan untuk kegagalan yang dapat menghapus dirinya sendiri, seperti API tetap tidak dapat dijangkau melalui retry runner sendiri. Dasarkan keputusan untuk menunggu lebih lama pada seberapa cepat runner keluar, dan baca output runner untuk mengetahui mengapa.

623* **Lingkungan yang terlihat sehat**: beberapa langkah startup berjalan setelah runner mendaftar dengan lingkungan Anda, seperti [`--configure-git`](#let-the-runner-configure-git) dan penyiapan kredensial proxy git Anthropic. Jika salah satu langkah itu gagal, lingkungan dapat terus mencantumkan runner itu selama beberapa menit setelah proses telah keluar, dan halaman **Cloud environments** dapat membaca **Healthy** sementara tidak ada runner yang mengambil pekerjaan. Jika sesi tetap antri di lingkungan yang terlihat sehat, periksa apakah supervisor Anda memulai ulang runner.

624 

625<h4 id="restart-with-a-wait-that-grows">

626 Restart with a wait that grows

627</h4>

628 

629Bagaimana Anda mendapatkan wait yang tumbuh tergantung pada supervisor Anda.

630 

631* **Kubernetes**: [Deployment](#kubernetes) di halaman ini tidak memerlukan perubahan. Setelah kontainer keluar, kubelet secara default menunggu sebelum memulai ulang kontainer, dan wait tumbuh pada setiap restart hingga batas. Wait dimulai ulang setelah kontainer telah berjalan untuk sementara tanpa keluar.

632 

633 Kubelet menerapkan wait yang sama setelah keluar normal ketika kontainer hanya berjalan sebentar. Runner yang mengalirkan sering dapat menunjukkan status `CrashLoopBackOff` juga, jadi baca output sebelum Anda menyimpulkan bahwa runner tidak dapat dimulai. Perintah di bawah membaca output run terakhir dari satu pod Deployment:

634 

635 ```bash theme={null}

636 kubectl logs --previous -n claude-runners deploy/claude-runner

637 ```

638 

639 Ketika run terakhir adalah awal yang gagal, baris `[runner:fatal]` atau `error:` ada di antara baris terakhir output. Untuk membaca run terakhir pod lain, beri nama pod itu sebagai pengganti `deploy/claude-runner`.

640* **Docker dan Docker Compose**: [Compose recipe](#docker-compose) di halaman ini tidak memerlukan perubahan. Dengan `restart: always`, Docker menunggu lebih lama sebelum setiap restart kontainer yang terus keluar, hingga batas. Ganti `<container>` dengan nama kontainer dalam perintah di bawah, yang membaca berapa kali Docker telah memulai ulang kontainer:

641 

642 ```bash theme={null}

643 docker inspect --format '{{.RestartCount}}' <container>

644 ```

645 

646 Perintah mencetak angka. Angka yang terus meningkat berarti Docker terus memulai ulang runner.

647* **Unit systemd**: secara default systemd menunggu `RestartSec` yang sama sebelum setiap restart dan tidak memanjangkannya, jadi unit dengan `Restart=always` memulai ulang runner yang tidak dapat dimulai pada interval yang sama setiap kali. Ketika awal datang cukup cepat untuk mencapai batas laju awal unit, lima awal dalam 10 detik secara default, systemd berhenti memulai ulang unit. Unit tetap berhenti sampai seseorang memulainya lagi, yang systemd izinkan setelah interval batas laju telah berlalu atau setelah `systemctl reset-failed`. Karena `RestartSec` berlaku untuk setiap restart, nilai yang lebih lama juga menunda restart setelah keluar normal. Pilih nilai yang menyeimbangkan keduanya, dan beri peringatan pada jumlah restart unit.

648* **Loop shell atau supervisor Anda sendiri**: terapkan aturan yang sama sendiri. Mulai dengan wait lima detik. Setelah setiap run yang berakhir dalam satu menit, gandakan wait untuk restart berikutnya, hingga lima menit. Setelah run yang berlangsung satu menit atau lebih, kembali ke lima detik.

649 

650<h4 id="check-why-the-runner-keeps-exiting">

651 Check why the runner keeps exiting

652</h4>

653 

654Ketika runner telah keluar tepat setelah memulai beberapa kali berturut-turut, berhenti dan periksa ini sebelum memulainya ulang lagi.

655 

656* **Baris `[runner:fatal]` atau `error:` terakhir**: itu mengatakan mengapa runner berhenti. [Troubleshooting](#troubleshooting) mencantumkan penyebab umum.

657* **Kombinasi flag**: [proxy git Anthropic](#use-the-anthropic-git-proxy) memerlukan `--capacity 1`. Resep di halaman ini menggunakan kapasitas yang lebih tinggi, jadi turunkan ketika Anda menambahkan proxy ke salah satunya.

658* **Apa yang dapat dijangkau layanan lingkungan**: jika runner dimulai dengan tangan dan gagal di bawah supervisor Anda, bandingkan pengguna, direktori home, `PATH`, dan batas memori. `--configure-git` dan proxy git Anthropic memerlukan git pada `PATH` dan `~/.gitconfig` yang dapat ditulis.

659* **Rahasia lingkungan**: jika Anda mencabut rahasia atau salah mengetik, runner mencetak baris yang berisi `RegisterRunner auth failed`.

660* **Tab Activity lingkungan**: buka lingkungan dan pilih **Activity**. Jika runner baru terus muncul di sana dan tidak ada yang mengambil pekerjaan, supervisor Anda memulai ulang runner.

661 

662Untuk diagnosis terpandu pada host runner, jalankan [subperintah doctor](#troubleshooting).

663 

557<h2 id="what’s-next">664<h2 id="what’s-next">

558 Apa selanjutnya665 Apa selanjutnya

559</h2>666</h2>

Details

105 </Step>105 </Step>

106</Steps>106</Steps>

107 107 

108Runner keluar dengan desain setelah sesi aktifnya selesai; lihat [Runner lifecycle](/docs/id/self-hosted-environments#runner-lifecycle). Untuk produksi, terapkan di bawah orkestrator yang memulai ulang saat keluar. Lihat [Terapkan ke produksi](/docs/id/self-hosted-environments-deploy).108Runner keluar dengan desain setelah sesi aktifnya selesai; lihat [Runner lifecycle](/docs/id/self-hosted-environments#runner-lifecycle). Untuk produksi, terapkan di bawah orkestrator yang memulai ulang saat keluar dan menunggu lebih lama antara restart ketika runner terus keluar tepat setelah dimulai. Lihat [Terapkan ke produksi](/docs/id/self-hosted-environments-deploy) dan [Ketika runner keluar](/docs/id/self-hosted-environments-deploy#when-the-runner-exits).

109 109 

110<h2 id="send-a-follow-up-message-to-a-running-session">110<h2 id="send-a-follow-up-message-to-a-running-session">

111 Kirim pesan lanjutan ke sesi yang berjalan111 Kirim pesan lanjutan ke sesi yang berjalan

Details

80 Flag SCM connector80 Flag SCM connector

81</h3>81</h3>

82 82 

83Orchestrator dapat menahan koneksi WebSocket berdiri ke control plane Anthropic sehingga hosted pre-session flow, seperti repository picker dan branch atau ref resolver, dapat menjangkau host GitHub Enterprise Server yang hanya dapat dirutekan dari dalam jaringan Anda. Connector tetap off kecuali Anda mengatur `--scm-connector-host`.83SCM connector tidak tersedia, jadi biarkan flag di bagian ini tidak diatur. Jika Anda mengatur `--scm-connector-host`, koneksi tidak terbuka, dan orchestrator terus mencoba lagi. Runner masih dimulai saat session queue.

84 

85Connector adalah koneksi WebSocket berdiri dari orchestrator ke control plane Anthropic. Dirancang untuk membiarkan hosted pre-session flows, seperti repository picker dan branch atau ref resolver, menjangkau host GitHub Enterprise Server yang hanya dapat dirutekan dari dalam jaringan Anda. Lihat [Network requirements](/docs/id/github-enterprise-server#network-requirements) di halaman GitHub Enterprise Server untuk apa yang dibutuhkan flows tersebut.

84 86 

85| Flag | Default | Description |87| Flag | Default | Description |

86| :- | :- | :- |88| :- | :- | :- |

87| `--scm-connector-host <host[:port]>` | unset | Hostname GitHub Enterprise Server untuk meneruskan permintaan ke. Port default ke `443`. Mengatur flag ini mengaktifkan connector. |89| `--scm-connector-host <host[:port]>` | unset | Hostname GitHub Enterprise Server untuk meneruskan permintaan ke. Port default ke `443`. |

88| `--scm-connector-id <n>` | required with `--scm-connector-host` | ID numerik koneksi GitHub Enterprise Server organisasi Anda. Hubungi tim akun Anthropic Anda untuk nilai ketika Anda mengaktifkan connector. |90| `--scm-connector-id <n>` | required with `--scm-connector-host` | ID numerik koneksi GitHub Enterprise Server organisasi Anda. |

89| `--scm-connector-provider <slug>` | `ghe` | Segmen path mengidentifikasi provider, cocok dengan `^[a-z0-9-]{1,32}$`. |91| `--scm-connector-provider <slug>` | `ghe` | Segmen path mengidentifikasi provider, cocok dengan `^[a-z0-9-]{1,32}$`. |

90| `--scm-connector-ca-file <path>` | unset | Bundle CA ekstra, dalam format PEM, untuk koneksi TLS ke host GitHub Enterprise Server. |92| `--scm-connector-ca-file <path>` | unset | Bundle CA ekstra, dalam format PEM, untuk koneksi TLS ke host GitHub Enterprise Server. |

91| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | unset | Untuk pengujian end-to-end saja: mengalihkan koneksi TCP sambil menjaga header Host dan TLS SNI sebagai `--scm-connector-host`. |93| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | unset | Untuk pengujian end-to-end saja: mengalihkan koneksi TCP sambil menjaga header Host dan TLS SNI sebagai `--scm-connector-host`. |

92 94 

93Connector mengautentikasi dengan rahasia lingkungan orchestrator yang ada dan reconnect secara otomatis: dengan exponential backoff pada koneksi yang dijatuhkan, atau delay tetap 30-detik ketika control plane menutup koneksi karena replika orchestrator lain sudah memegangnya.95Pada setiap percobaan koneksi orchestrator mengirimkan rahasia lingkungan yang ada, dan itu mencoba lagi secara otomatis dengan exponential backoff, dibatasi pada 30 detik plus jitter.

94 96 

95<h2 id="environment-variable-only-settings">97<h2 id="environment-variable-only-settings">

96 Pengaturan variabel-lingkungan-saja98 Pengaturan variabel-lingkungan-saja

Details

310* **Sesi interaktif yang tidak dapat menampilkan dialog**: Claude Code tidak menerapkan pengaturan yang dikirimkan dan menyimpan pengaturan yang terakhir disetujui. Dialog muncul dalam sesi berikutnya yang dapat menampilkannya. Memerlukan Claude Code v2.1.211 atau lebih baru.310* **Sesi interaktif yang tidak dapat menampilkan dialog**: Claude Code tidak menerapkan pengaturan yang dikirimkan dan menyimpan pengaturan yang terakhir disetujui. Dialog muncul dalam sesi berikutnya yang dapat menampilkannya. Memerlukan Claude Code v2.1.211 atau lebih baru.

311* **`claude install` atau `claude update`**: Claude Code tidak menampilkan dialog selama perintah apa pun. Perintah berjalan dengan pengaturan yang terakhir disetujui, dan dialog muncul dalam sesi interaktif Anda berikutnya. Jika Claude Code menunggu pengambilan pengaturan pada startup, seperti dengan [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) diatur atau pada penyebaran [gateway aplikasi Claude](/docs/id/claude-apps-gateway), itu menampilkan dialog selama perintah sebagai gantinya, dan jalankan install dari pipa gagal; lihat [`Raw mode is not supported` during install](/docs/id/troubleshoot-install#raw-mode-is-not-supported-during-install). Sebelum v2.1.246, Claude Code mencoba menampilkan dialog selama perintah ini juga.311* **`claude install` atau `claude update`**: Claude Code tidak menampilkan dialog selama perintah apa pun. Perintah berjalan dengan pengaturan yang terakhir disetujui, dan dialog muncul dalam sesi interaktif Anda berikutnya. Jika Claude Code menunggu pengambilan pengaturan pada startup, seperti dengan [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) diatur atau pada penyebaran [gateway aplikasi Claude](/docs/id/claude-apps-gateway), itu menampilkan dialog selama perintah sebagai gantinya, dan jalankan install dari pipa gagal; lihat [`Raw mode is not supported` during install](/docs/id/troubleshoot-install#raw-mode-is-not-supported-during-install). Sebelum v2.1.246, Claude Code mencoba menampilkan dialog selama perintah ini juga.

312* **Kesalahan menutup dialog sebelum Anda menjawab**: Claude Code tidak menerapkan pengaturan yang dikirimkan dan menyimpan pengaturan yang terakhir disetujui. Itu menampilkan dialog lagi dalam sesi berikutnya yang dapat menampilkannya.312* **Kesalahan menutup dialog sebelum Anda menjawab**: Claude Code tidak menerapkan pengaturan yang dikirimkan dan menyimpan pengaturan yang terakhir disetujui. Itu menampilkan dialog lagi dalam sesi berikutnya yang dapat menampilkannya.

313* **Jalankan non-interaktif**, seperti `claude -p` atau sesi Agent SDK: Claude Code tidak dapat menampilkan dialog, jadi ketika pengaturan yang dikirimkan memerlukan persetujuan, itu menerapkannya hanya untuk jalankan itu. Itu tidak merekamnya sebagai disetujui atau menulisnya ke [cache lokal](#fetch-and-caching-behavior), dan sesi interaktif berikutnya menampilkan dialog. Sampai pengguna menyetujui dalam sesi interaktif, setiap jalankan non-interaktif mengambil pengaturan lagi pada startup. Sebelum v2.1.207, jalankan non-interaktif menyimpan pengaturan sebagai disetujui, jadi sesi interaktif kemudian tidak pernah menampilkan dialog untuk mereka.313* **Jalankan non-interaktif**, seperti `claude -p`, sesi Agent SDK, atau sesi di panel chat ekstensi VS Code atau tab Code aplikasi desktop: Claude Code tidak dapat menampilkan dialog, jadi ketika pengaturan yang dikirimkan memerlukan persetujuan, itu menerapkannya hanya untuk jalankan itu. Itu tidak merekamnya sebagai disetujui atau menulisnya ke [cache lokal](#fetch-and-caching-behavior), dan sesi interaktif berikutnya menampilkan dialog. Sampai pengguna menyetujui dalam sesi interaktif, setiap jalankan non-interaktif mengambil pengaturan lagi pada startup. Sebelum v2.1.207, jalankan non-interaktif menyimpan pengaturan sebagai disetujui, jadi sesi interaktif kemudian tidak pernah menampilkan dialog untuk mereka.

314 314 

315<h4 id="environment-variables-and-the-approval-dialog">315<h4 id="environment-variables-and-the-approval-dialog">

316 Variabel lingkungan dan dialog persetujuan316 Variabel lingkungan dan dialog persetujuan

Details

595| [`agent`](#agent) | Mulai setiap sesi sebagai [subagent](/docs/id/sub-agents) bernama dengan prompt, alat, dan modelnya | Agents, sessions, and worktrees | Any file |595| [`agent`](#agent) | Mulai setiap sesi sebagai [subagent](/docs/id/sub-agents) bernama dengan prompt, alat, dan modelnya | Agents, sessions, and worktrees | Any file |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Biarkan Claude mengirim [notifikasi push ke ponsel Anda](/docs/id/remote-control#mobile-push-notifications) ketika Claude memutuskan untuk melakukannya | Remote, desktop, and notifications | Any file |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Biarkan Claude mengirim [notifikasi push ke ponsel Anda](/docs/id/remote-control#mobile-push-notifications) ketika Claude memutuskan untuk melakukannya | Remote, desktop, and notifications | Any file |

597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Muat [konektor claude.ai](/docs/id/mcp) yang Claude Code ambil sendiri bersama dengan [`managed-mcp.json`](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) yang diterapkan | MCP | Managed |597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Muat [konektor claude.ai](/docs/id/mcp) yang Claude Code ambil sendiri bersama dengan [`managed-mcp.json`](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) yang diterapkan | MCP | Managed |

598| [`allowClaudeInChromeWithManagedMcp`](#allowclaudeinchromewithmanagedmcp) | Biarkan server [Claude in Chrome](/docs/id/chrome) bawaan berjalan bersama dengan [`managed-mcp.json`](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) yang diterapkan | MCP | Managed |

598| [`allowedChannelPlugins`](#allowedchannelplugins) | Ganti daftar izin default [plugin channel](/docs/id/channels#restrict-which-channel-plugins-can-run) yang dapat mendorong pesan | Plugins and skills | Managed |599| [`allowedChannelPlugins`](#allowedchannelplugins) | Ganti daftar izin default [plugin channel](/docs/id/channels#restrict-which-channel-plugins-can-run) yang dapat mendorong pesan | Plugins and skills | Managed |

599| [`allowedHttpHookUrls`](#allowedhttphookurls) | Batasi URL mana yang dapat ditargetkan oleh [HTTP hooks](/docs/id/hooks) | Hooks and automation | Any file |600| [`allowedHttpHookUrls`](#allowedhttphookurls) | Batasi URL mana yang dapat ditargetkan oleh [HTTP hooks](/docs/id/hooks) | Hooks and automation | Any file |

600| [`allowedMcpServers`](#allowedmcpservers) | Daftar izin server [MCP](/docs/id/mcp) mana yang dapat ditambahkan pengguna | MCP | Any file |601| [`allowedMcpServers`](#allowedmcpservers) | Daftar izin server [MCP](/docs/id/mcp) mana yang dapat ditambahkan pengguna | MCP | Any file |


1744 * `"default"`: Claude Code hanya menjalankan pembacaan tanpa bertanya1745 * `"default"`: Claude Code hanya menjalankan pembacaan tanpa bertanya

1745 * `"acceptEdits"`: Claude Code juga menjalankan pengeditan file dan perintah sistem file umum seperti `mkdir` dan `mv` tanpa bertanya1746 * `"acceptEdits"`: Claude Code juga menjalankan pengeditan file dan perintah sistem file umum seperti `mkdir` dan `mv` tanpa bertanya

1746 * `"plan"`: Claude Code membaca dan merencanakan tetapi memblokir pengeditan sampai Anda menyetujui rencana1747 * `"plan"`: Claude Code membaca dan merencanakan tetapi memblokir pengeditan sampai Anda menyetujui rencana

1747 * `"auto"`: Claude Code menjalankan semuanya, dengan pemeriksaan keamanan latar belakang1748 * `"auto"`: Claude Code menjalankan semuanya tanpa prompt rutin; sebelum tindakan seperti perintah shell dan permintaan jaringan berjalan, pengklasifikasi latar belakang memeriksa bahwa mereka selaras dengan permintaan Anda

1748 * `"dontAsk"`: Claude Code secara otomatis menolak setiap panggilan yang sebaliknya akan meminta; pembacaan, tindakan lain yang tidak memerlukan persetujuan, dan alat yang sudah disetujui sebelumnya masih berjalan1749 * `"dontAsk"`: Claude Code secara otomatis menolak setiap panggilan yang sebaliknya akan meminta; pembacaan, tindakan lain yang tidak memerlukan persetujuan, dan alat yang sudah disetujui sebelumnya masih berjalan

1749 * `"bypassPermissions"`: Claude Code menjalankan semuanya tanpa bertanya1750 * `"bypassPermissions"`: Claude Code menjalankan semuanya tanpa bertanya

1750 * `"manual"`: alias untuk `"default"`, dalam Claude Code v2.1.200 atau lebih baru1751 * `"manual"`: alias untuk `"default"`, dalam Claude Code v2.1.200 atau lebih baru


3064</h4>3065</h4>

3065 3066 

3066* Nilai di sini menimpa variabel yang sama yang diekspor di shell Anda, dan ketika lebih dari satu file pengaturan menetapkan variabel, [yang dengan preseden tertinggi](/docs/id/settings#settings-precedence) berlaku. [Variabel yang Claude Code abaikan dalam `env`](#variables-claude-code-ignores-in-env) mencantumkan pengecualian untuk pengaturan proyek dan lokal.3067* Nilai di sini menimpa variabel yang sama yang diekspor di shell Anda, dan ketika lebih dari satu file pengaturan menetapkan variabel, [yang dengan preseden tertinggi](/docs/id/settings#settings-precedence) berlaku. [Variabel yang Claude Code abaikan dalam `env`](#variables-claude-code-ignores-in-env) mencantumkan pengecualian untuk pengaturan proyek dan lokal.

3068* Ketika aplikasi Claude Desktop atau [lingkungan self-hosted](/docs/id/self-hosted-environments) runner memulai sesi, lingkungan peluncuran yang dibangunnya mengambil alih: Claude Code mengabaikan nilai `env` dari file pengaturan apa pun untuk variabel yang sudah ditetapkan lingkungan peluncuran. [Debug log](/docs/id/debug-your-config) menyebutkan setiap variabel yang diabaikan.

3067* Untuk membatalkan ekspor shell, atur variabel ke `""`. Claude Code memperlakukan nilai kosong sebagai tidak diatur untuk pemilihan penyedia, dan subproses mewarisi nilai kosong.3069* Untuk membatalkan ekspor shell, atur variabel ke `""`. Claude Code memperlakukan nilai kosong sebagai tidak diatur untuk pemilihan penyedia, dan subproses mewarisi nilai kosong.

3068* `NO_COLOR` dan `FORCE_COLOR` yang ditetapkan di sini hanya mencapai subproses. Untuk mengubah warna antarmuka Claude Code sendiri, atur di shell Anda sebelum meluncurkan `claude`.3070* `NO_COLOR` dan `FORCE_COLOR` yang ditetapkan di sini hanya mencapai subproses. Untuk mengubah warna antarmuka Claude Code sendiri, atur di shell Anda sebelum meluncurkan `claude`.

3069* Nilai di sini adalah teks biasa dalam file pengaturan dan mencapai setiap subproses yang dimulai Claude Code. Untuk token pembawa OTLP yang berputar, gunakan [`otelHeadersHelper`](#otelheadershelper); untuk kredensial API, gunakan [`apiKeyHelper`](#apikeyhelper).3071* Nilai di sini adalah teks biasa dalam file pengaturan dan mencapai setiap subproses yang dimulai Claude Code. Untuk token pembawa OTLP yang berputar, gunakan [`otelHeadersHelper`](#otelheadershelper); untuk kredensial API, gunakan [`apiKeyHelper`](#apikeyhelper).


5157 5159 

5158[`allowedMcpServers`](#allowedmcpservers) dan [`deniedMcpServers`](#deniedmcpservers) masih berlaku untuk konektor yang kunci ini muat. Konektor yang dikirimkan ke [sesi cloud](/docs/id/claude-code-on-the-web) yang hostnya membawa `managed-mcp.json`, seperti runner yang di-host sendiri, tetap ditekan. Lihat [Izinkan konektor claude.ai bersama dengan set yang dikelola](/docs/id/managed-mcp#allow-claude-ai-connectors-alongside-the-managed-set).5160[`allowedMcpServers`](#allowedmcpservers) dan [`deniedMcpServers`](#deniedmcpservers) masih berlaku untuk konektor yang kunci ini muat. Konektor yang dikirimkan ke [sesi cloud](/docs/id/claude-code-on-the-web) yang hostnya membawa `managed-mcp.json`, seperti runner yang di-host sendiri, tetap ditekan. Lihat [Izinkan konektor claude.ai bersama dengan set yang dikelola](/docs/id/managed-mcp#allow-claude-ai-connectors-alongside-the-managed-set).

5159 5161 

5162<h3 id="allowclaudeinchromewithmanagedmcp">

5163 `allowClaudeInChromeWithManagedMcp`

5164</h3>

5165 

5166Biarkan server [Claude di Chrome](/docs/id/chrome) bawaan berjalan bersama dengan `managed-mcp.json` yang diterapkan. Tanpa kunci ini, `managed-mcp.json` yang diterapkan memblokir Claude di Chrome dalam sesi terminal. Memerlukan Claude Code v2.1.282 atau lebih baru.

5167 

5168* **Scope**: [`Managed`](#scopes), dari pengaturan yang dikelola perangkat itu sendiri saja: plist yang diterapkan MDM atau kunci registri HKLM, atau file `managed-settings.json` sistem. Claude Code mengabaikannya dalam pengaturan yang dikelola server, dalam registri HKCU yang dapat ditulis pengguna, dan dalam pengaturan pengguna atau proyek.

5169* **Type**: Boolean

5170 * `true`: server Claude di Chrome bawaan dapat berjalan bersama dengan `managed-mcp.json` yang diterapkan

5171 * `false`: `managed-mcp.json` yang diterapkan memblokir Claude di Chrome dalam sesi terminal

5172* **Default**: `false`, jadi `managed-mcp.json` yang diterapkan memblokir Claude di Chrome dalam sesi terminal

5173 

5174```json managed-settings.json theme={null}

5175{

5176 "allowClaudeInChromeWithManagedMcp": true

5177}

5178```

5179 

5180Entri [`deniedMcpServers`](#deniedmcpservers) untuk `claude-in-chrome` masih memblokir server dengan kunci ini aktif. Lihat [Izinkan Claude di Chrome bersama dengan set yang dikelola](/docs/id/managed-mcp#allow-claude-in-chrome-alongside-the-managed-set).

5181 

5160<h3 id="allowedmcpservers">5182<h3 id="allowedmcpservers">

5161 `allowedMcpServers`5183 `allowedMcpServers`

5162</h3>5184</h3>

5163 5185 

5164Daftar putih server MCP yang dapat ditambahkan orang. Claude Code memblokir server apa pun yang tidak cocok dengan entri di mana pun didefinisikan, termasuk server plugin, server yang dilewatkan dengan `--mcp-config`, dan server dari claude.ai.5186Daftar putih server MCP yang dapat ditambahkan orang. Claude Code memblokir server apa pun yang tidak cocok dengan entri di mana pun didefinisikan, termasuk server plugin, server yang dilewatkan dengan `--mcp-config`, dan server dari claude.ai.

5165 5187 

5166Server bawaan seperti Claude di Chrome, server `ide` yang Claude Code terhubung dalam [VS Code](/docs/id/vs-code#the-built-in-ide-mcp-server) atau [JetBrains](/docs/id/jetbrains#the-built-in-ide-mcp-server) IDE yang sedang berjalan, dan server yang CLI sendiri konfigurasi dikecualikan dari daftar putih, dan daftar hitam masih berlaku untuk mereka. Server `type: "sdk"` dalam proses dikecualikan dari kedua daftar; [aplikasi yang memulai sesi](/docs/id/mcp#how-connectors-reach-claude-code) mendaftarkan mereka.5188Server bawaan seperti Claude di Chrome, server `ide` yang Claude Code terhubung dalam [VS Code](/docs/id/vs-code#the-built-in-ide-mcp-server) atau [JetBrains](/docs/id/jetbrains#the-built-in-ide-mcp-server) IDE yang sedang berjalan, dan server yang CLI sendiri konfigurasi dikecualikan dari daftar putih, dan daftar hitam masih berlaku untuk mereka. Pada Claude Code v2.1.268 atau lebih baru, alat Slack sesi [Claude Tag](/docs/id/claude-tag) juga dikecualikan dari daftar putih, dan daftar hitam masih berlaku untuk mereka. Server `type: "sdk"` dalam proses dikecualikan dari kedua daftar; [aplikasi yang memulai sesi](/docs/id/mcp#how-connectors-reach-claude-code) mendaftarkan mereka.

5167 5189 

5168Server yang organisasi Anda berikan juga dikecualikan dari daftar putih, dan daftar hitam masih berlaku untuk mereka. Pengecualian mencakup setiap entri [`managedMcpServers`](#managedmcpservers), dan entri [`managed-mcp.json`](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) apa pun yang nilainya tidak menggunakan ekspansi `${VAR}`. Lihat [Bagaimana server dievaluasi](/docs/id/managed-mcp#how-a-server-is-evaluated) untuk urutan pemeriksaan lengkap. Sebelum v2.1.259, server dari `managed-mcp.json` juga harus cocok.5190Server yang organisasi Anda berikan juga dikecualikan dari daftar putih, dan daftar hitam masih berlaku untuk mereka. Pengecualian mencakup setiap entri [`managedMcpServers`](#managedmcpservers), dan entri [`managed-mcp.json`](/docs/id/managed-mcp#exclusive-control-with-managed-mcp-json) apa pun yang nilainya tidak menggunakan ekspansi `${VAR}`. Lihat [Bagaimana server dievaluasi](/docs/id/managed-mcp#how-a-server-is-evaluated) untuk urutan pemeriksaan lengkap. Sebelum v2.1.259, server dari `managed-mcp.json` juga harus cocok.

5169 5191 


6304 `disableSideloadFlags`6326 `disableSideloadFlags`

6305</h3>6327</h3>

6306 6328 

6307Tolak flag CLI `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup, yang dapat digunakan pengguna untuk melewati [`strictKnownMarketplaces`](#strictknownmarketplaces) untuk satu kali jalankan. Claude Code keluar dengan kesalahan yang menyebutkan flag yang ditolak, dan menerapkan pemeriksaan yang sama ke permukaan yang memulai CLI dengan flag ini secara internal, saat ini [Cowork](/docs/id/desktop) sesi lokal di aplikasi desktop. Dalam [sesi cloud](/docs/id/claude-code-on-the-web), Claude Code menghapus server MCP yang dikirimkan server melalui `--mcp-config`, kecuali entri `type: "sdk"` dalam proses, dan memulai sesi. Memerlukan Claude Code v2.1.193 atau lebih baru.6329Tolak flag CLI `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup, yang dapat digunakan pengguna untuk melewati [`strictKnownMarketplaces`](#strictknownmarketplaces) untuk satu kali jalankan. Claude Code keluar dengan kesalahan yang menyebutkan flag yang ditolak. Dalam [sesi cloud](/docs/id/claude-code-on-the-web), Claude Code malah memulai sesi dan menghapus setiap entri `--mcp-config` yang dikirimkan server kecuali entri `type: "sdk"` dalam proses dan alat Slack sesi [Claude Tag](/docs/id/claude-tag). Memerlukan Claude Code v2.1.193 atau lebih baru.

6308 6330 

6309* **Scope**: [`Managed`](#scopes)6331* **Scope**: [`Managed`](#scopes)

6310* **Type**: Boolean6332* **Type**: Boolean

6311 * `true`: Claude Code menolak `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup dan keluar dengan kesalahan yang menyebutkannya, kecuali dalam sesi cloud di mana ia menghapus server MCP yang dikirimkan server melalui `--mcp-config`, kecuali entri `type: "sdk"` dalam proses, dan memulai sesi6333 * `true`: Claude Code menolak `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup dan keluar dengan kesalahan yang menyebutkannya. Dalam sesi cloud, ia malah memulai sesi dan menghapus setiap entri `--mcp-config` yang dikirimkan server kecuali entri `type: "sdk"` dalam proses dan alat Slack sesi Claude Tag

6312 * `false`: Claude Code menerima flag tersebut6334 * `false`: Claude Code menerima flag tersebut

6313* **Default**: `false`6335* **Default**: `false`

6314 6336 


6322 6344 

6323Pemeriksaan yang sama mencakup folder plugin yang dinamai dalam variabel lingkungan [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/id/env-vars#variables), yang memerlukan Claude Code v2.1.280 atau lebih baru. Ketika variabel menyebutkan folder, Claude Code keluar dengan kesalahan yang sama, dan kesalahan mengatakan untuk membatalkan pengaturan variabel.6345Pemeriksaan yang sama mencakup folder plugin yang dinamai dalam variabel lingkungan [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/id/env-vars#variables), yang memerlukan Claude Code v2.1.280 atau lebih baru. Ketika variabel menyebutkan folder, Claude Code keluar dengan kesalahan yang sama, dan kesalahan mengatakan untuk membatalkan pengaturan variabel.

6324 6346 

6325Dalam sesi cloud, Claude Code juga mengabaikan pembaruan MCP yang dikirimkan server di tengah sesi, jalur di balik konfigurasi sesi cloud dan SDK `setMcpServers()` pada pekerja jarak jauh. Entri `type: "sdk"` dalam proses tetap dikecualikan di sana juga. Sebelum v2.1.239, `--mcp-config` yang dikirimkan server memblokir sesi cloud dari dimulai.6347Dalam sesi cloud, Claude Code juga mengabaikan pembaruan MCP yang dikirimkan server di tengah sesi, jalur di balik konfigurasi sesi cloud dan panggilan SDK `setMcpServers()` yang mencapai sesi tersebut. Entri `type: "sdk"` dalam proses dan alat Slack sesi Claude Tag tetap dikecualikan di sana juga. Sebelum v2.1.268, baik penghapusan ini maupun penghapusan startup juga menghapus alat Slack sesi Claude Tag. Sebelum v2.1.239, `--mcp-config` yang dikirimkan server memblokir sesi cloud dari dimulai.

6348 

6349Aplikasi desktop mengelola beberapa plugin itu sendiri, termasuk plugin yang disinkronkan dari claude.ai dan plugin yang diterapkan organisasi Anda melalui aplikasi. Jika Anda menerapkan kunci ini ke perangkat melalui MDM, kebijakan tingkat OS, atau file pengaturan terkelola, aplikasi desktop tidak melewatkan plugin tersebut ke sesi berikut di perangkat itu:

6350 

6351* **[Sesi Code di mesin pengguna](/docs/id/desktop#environment-configuration)**: mereka juga dimulai tanpa skill yang diaktifkan untuk akun claude.ai pengguna. Plugin yang Claude Code instal dari marketplace dalam pengaturan terkelola Anda masih dimuat. Dalam [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview), server MCP dari plugin yang Anda terapkan ke direktori `org-plugins` perangkat tetap tersedia juga, karena aplikasi desktop terhubung ke mereka sendiri. Sebelum Claude Desktop v1.37937.0, sesi ini gagal saat startup.

6352* **[Sesi Cowork di mesin pengguna](/docs/id/managed-settings#where-and-when-a-policy-applies)**: skill di dalam plugin tersebut dan skill yang diaktifkan untuk akun claude.ai pengguna tetap tersedia. Dalam [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview), server MCP dari plugin yang Anda terapkan ke direktori `org-plugins` perangkat tetap tersedia juga, karena aplikasi desktop terhubung ke mereka sendiri. Sebelum Claude Desktop v1.44121.0, sesi ini gagal saat startup.

6326 6353 

6327<h3 id="forceremotesettingsrefresh">6354<h3 id="forceremotesettingsrefresh">

6328 `forceRemoteSettingsRefresh`6355 `forceRemoteSettingsRefresh`

skills.md +53 −7

Details

56 56 

57Claude mengedit file yang direkam hanya ketika itu mengarahkan run dengan salah, seperti perintah yang gagal atau langkah yang hilang, sehingga Anda dapat melakukan commit file tanpa per-session diffs. Sebelum v2.1.205, bundled skill memberi tahu Claude untuk melipat apa pun yang dipelajari run, yang menyebabkan konflik merge yang sering.57Claude mengedit file yang direkam hanya ketika itu mengarahkan run dengan salah, seperti perintah yang gagal atau langkah yang hilang, sehingga Anda dapat melakukan commit file tanpa per-session diffs. Sebelum v2.1.205, bundled skill memberi tahu Claude untuk melipat apa pun yang dipelajari run, yang menyebabkan konflik merge yang sering.

58 58 

59<h3 id="work-on-claude-api-projects">

60 Bekerja pada proyek Claude API

61</h3>

62 

63Bundled skill `/claude-api` memuat materi referensi [Claude API](https://platform.claude.com/docs/en/api/overview) dan [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) untuk bahasa proyek Anda. Claude juga mengaktifkannya secara otomatis ketika kode Anda mengimpor `anthropic` atau `@anthropic-ai/sdk`.

64 

65Untuk memulai salah satu alur kerja skill, ketik subperintah setelah nama skill di prompt Claude Code, misalnya `/claude-api migrate`. Tabel mencantumkan apa yang dilakukan setiap subperintah dan versi Claude Code paling awal yang menyertakannya. `migrate` dan `managed-agents-onboard` mendahului v2.1.221, versi tertua yang dilacak tabel.

66 

67| Subperintah | Apa yang dilakukannya | Versi minimum |

68| :- | :- | :- |

69| `migrate` | Perbarui kode Claude API yang ada ke model yang lebih baru | Lebih awal dari v2.1.221 |

70| `upgrade` | Pindahkan dependensi Anthropic SDK proyek Anda di seluruh versi utama, saat ini paket Python `anthropic` dari 0.x ke 1.x | v2.1.236 atau yang lebih baru |

71| `managed-agents-onboard` | Berjalan melalui pembuatan Managed Agent baru | Lebih awal dari v2.1.221 |

72| `prompt-audit` | Tandai instruksi yang ditulis untuk model yang lebih lama dalam prompt, skills, dan deskripsi tool Anda dan usulkan perbaikan sebagai diff | v2.1.221 atau yang lebih baru |

73| `cost-optimize` | Profil ke mana pengeluaran Claude API proyek Anda pergi dan usulkan penghematan dari opsi seperti prompt caching, pemangkasan token input dan output yang tidak perlu, batch processing, effort, dan pilihan model, satu perubahan pada satu waktu | v2.1.247 atau yang lebih baru |

74| `build-eval` | Bangun set eval untuk aplikasi bertenaga Claude Anda | v2.1.259 atau yang lebih baru |

75| `hillclimb` | Tingkatkan aplikasi Anda secara iteratif terhadap eval yang ada | v2.1.259 atau yang lebih baru |

76| `preserved-thinking-migration` | Temukan edit yang dibuat integrasi Anda ke turn sebelumnya, system prompt-nya, atau daftar tool-nya yang membatalkan blok [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking), ukur berapa banyak reasoning yang hilang masing-masing, dan usulkan perbaikan satu per satu, mengukur ulang setelah setiap perubahan | v2.1.282 atau yang lebih baru |

77 

59<h2 id="getting-started">78<h2 id="getting-started">

60 Memulai79 Memulai

61</h2>80</h2>


843Skill(deploy *)862Skill(deploy *)

844```863```

845 864 

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`.865Sintaks izin: `Skill(name)` untuk kecocokan tepat, `Skill(name *)` untuk kecocokan awalan dengan argumen apa pun.

847 866 

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.867Tabel menunjukkan apa yang aturan `deny` Anda blokir di luar nama yang Anda tulis, berdasarkan jenis nama dalam aturan.

868 

869| Nama aturan `deny` Anda | Contoh aturan | Claude Code juga memblokir |

870| :- | :- | :- |

871| Alias | `Skill(review)` | Bundel `/code-review`, melalui alias `/review`-nya |

872| Nama yang tidak memenuhi syarat | `Skill(deploy)` | [Skill bersarang](#where-skills-live) yang terdaftar sebagai `apps/web:deploy` |

873| [Skill yang disinkronkan dari claude.ai](#how-synced-skills-behave) | `Skill(anthropic-skills:deploy)` | Skill itu ketika Claude Desktop mengirimkannya ke sesi sebagai plugin |

874| Bentuk plugin dari skill yang disinkronkan | `Skill(deploy:deploy)` | Skill yang disinkronkan |

875| Skill dalam [bentuk parameter](/docs/id/permissions#match-by-input-parameter) | `Skill(skill:deploy)` | Skill apa pun nama yang Claude panggilnya, termasuk alias dan nama tampilannya |

849 876 

850Claude Code mencocokkan aturan `allow` hanya terhadap nama skill itu sendiri dan nama dalam invokasi Claude.877Sebelum 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.

851 878 

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.879Claude Code mencocokkan aturan `allow` hanya terhadap nama skill itu sendiri dan nama dalam invokasi Claude. Untuk menyetujui [skill yang disinkronkan](#how-synced-skills-behave) tanpa prompt, namai dalam [namespace yang dicadangkan](#names-reserved-for-synced-skills)-nya:

880 

881* `Skill(anthropic-skills:pdf)` menyetujui skill `pdf` yang disinkronkan

882* `Skill(anthropic-skills *)` menyetujui setiap skill yang disinkronkan

883* `Skill(anthropic *)` tidak mencakup `anthropic-skills:pdf`, karena awalan di luar namespace tidak cocok dengan nama di dalamnya

853 884 

854**Sembunyikan skills individual** dengan menambahkan `disable-model-invocation: true` ke frontmatter mereka. Ini menghapus skill dari konteks Claude sepenuhnya.885**Sembunyikan skills individual** dengan menambahkan `disable-model-invocation: true` ke frontmatter mereka. Ini menghapus skill dari konteks Claude sepenuhnya.

855 886 


907 Evaluasi dan iterasi pada sebuah skill938 Evaluasi dan iterasi pada sebuah skill

908</h2>939</h2>

909 940 

910Melihat skill terpicu memberitahu Anda bahwa Claude menemukannya, bukan bahwa itu melakukan apa yang Anda maksudkan. Untuk mengetahui skill berfungsi, ukur dua hal secara terpisah: apakah Claude menginvokasinya pada prompt yang seharusnya, dan apakah output cocok dengan apa yang Anda harapkan saat itu terjadi.941Melihat skill terpicu memberitahu Anda bahwa Claude menemukannya, bukan bahwa itu melakukan apa yang Anda maksudkan. Untuk mengetahui skill berfungsi, ukur secara terpisah apakah Claude menginvokasinya pada prompt yang seharusnya, dan apakah output cocok dengan apa yang Anda harapkan saat itu terjadi.

942 

943Pemeriksaan untuk keduanya adalah perbandingan baseline. Kumpulkan beberapa prompt yang realistis, jalankan masing-masing dalam sesi baru dengan skill tersedia dan lagi dengan itu dinonaktifkan, dan bandingkan hasilnya. Sesi baru penting karena konteks sisa dari pembuatan skill akan menyembunyikan celah dalam instruksi tertulis.

911 944 

912Pemeriksaan untuk keduanya adalah perbandingan baseline. Kumpulkan beberapa prompt yang realistis, jalankan masing-masing dalam sesi baru dengan skill tersedia dan lagi dengan itu [dinonaktifkan](#override-skill-visibility-from-settings), dan bandingkan hasilnya. Sesi baru penting karena konteks sisa dari pembuatan skill akan menyembunyikan celah dalam instruksi tertulis.945Cara Anda menonaktifkan skill untuk run kedua tergantung pada tempat asalnya:

913 946 

914Dua alat mengotomatisasi perbandingan itu. Untuk skill yang dikirim dalam [plugin](/docs/id/plugins/overview), [`claude plugin eval`](/docs/id/plugin-evals) menjalankan setiap prompt dalam sesi terisolasi dengan dan tanpa plugin, mencetak skornya dengan grader yang Anda tentukan atau yang ditulis untuk Anda, dan keluar dengan non-zero di bawah ambang batas sehingga Anda dapat membatasi CI padanya. Untuk iterasi pada skill tunggal di dalam percakapan Claude Code, plugin skill-creator di bawah menjalankan loop serupa dengan format `evals/evals.json` miliknya sendiri. Dua format tidak dapat dipertukarkan.947* **Personal atau project skill**: atur ke `"off"` dalam [`skillOverrides`](#override-skill-visibility-from-settings).

948* **Skill yang disediakan plugin**: `skillOverrides` tidak berlaku untuk skill plugin. Gunakan [`claude plugin eval`](/docs/id/plugin-evals#the-no-plugin-baseline) sebagai gantinya, yang mengulangi setiap run tanpa plugin yang dimuat.

949 

950Dua alat mengotomatisasi perbandingan baseline. Untuk skill yang dikirim dalam [plugin](/docs/id/plugins/overview), [`claude plugin eval`](/docs/id/plugin-evals) menjalankan setiap prompt dalam sesi terisolasi dengan dan tanpa plugin, mencetak skornya dengan grader yang Anda tentukan atau yang ditulis untuk Anda, dan keluar dengan non-zero di bawah ambang batas sehingga Anda dapat membatasi CI padanya. Untuk iterasi pada skill tunggal di dalam percakapan Claude Code, plugin skill-creator di bawah menjalankan loop serupa dengan format `evals/evals.json` miliknya sendiri. Dua format tidak dapat dipertukarkan.

915 951 

916<h3 id="run-evals-with-skill-creator">952<h3 id="run-evals-with-skill-creator">

917 Jalankan evals dengan skill-creator953 Jalankan evals dengan skill-creator


11731. Buat deskripsi lebih spesifik12091. Buat deskripsi lebih spesifik

11742. Tambahkan `disable-model-invocation: true` jika Anda hanya menginginkan invokasi manual12102. Tambahkan `disable-model-invocation: true` jika Anda hanya menginginkan invokasi manual

1175 1211 

1212<h3 id="claude-stops-following-a-skill">

1213 Claude berhenti mengikuti skill

1214</h3>

1215 

1216Jika Claude mengikuti skill dalam respons pertamanya dan berhenti mengikutinya nanti, mulai dengan salah satu kasus berikut yang cocok:

1217 

1218* **Claude melewatkan aturan yang harus berlaku setiap saat**: pindahkan aturan ke dalam [hook](/docs/id/hooks-guide). Claude Code menjalankan hook setiap kali event-nya terjadi, seperti sebelum setiap edit file, terlepas dari apakah Claude mengikuti skill atau tidak. Untuk menjaga aturan bersama skill, tentukan hook dalam [`hooks` frontmatter](/docs/id/hooks#hooks-in-skills-and-agents) skill. Hook tersebut berlaku dari saat skill diinvokasi hingga sesi berakhir.

1219* **Claude melewatkan panduan yang seharusnya diterapkan dengan pertimbangan**: kata-katakan panduan sehingga berlaku untuk seluruh tugas, misalnya "Jalankan tes setelah setiap edit" daripada "Jalankan tes". Claude Code menambahkan konten skill ke percakapan saat skill diinvokasi dan [tidak membaca ulang file](#skill-content-lifecycle) pada giliran berikutnya.

1220* **Percakapan telah dikompakkan**: panggil skill lagi untuk memulihkan konten lengkapnya. Setelah [compaction](/docs/id/how-claude-code-works#when-context-fills-up), Claude Code [hanya dapat menyimpan awal skill yang diinvokasi](#skill-content-lifecycle), jadi letakkan instruksi paling penting di dekat bagian atas `SKILL.md`.

1221 

1176<h3 id="skill-descriptions-are-cut-short">1222<h3 id="skill-descriptions-are-cut-short">

1177 Deskripsi skill terpotong1223 Deskripsi skill terpotong

1178</h3>1224</h3>

statusline.md +1 −1

Details

1178**Persentase konteks menampilkan nilai yang tidak terduga**1178**Persentase konteks menampilkan nilai yang tidak terduga**

1179 1179 

1180* Gunakan `used_percentage` untuk keadaan konteks yang paling akurat dan sederhana1180* Gunakan `used_percentage` untuk keadaan konteks yang paling akurat dan sederhana

1181* Persentase konteks mungkin berbeda dari output `/context` karena kapan masing-masing dihitung1181* Baris status melaporkan hitungan dari respons API terakhir, sementara `/context` menambahkan estimasi untuk pesan yang ditambahkan sejak respons itu, jadi `/context` dapat membaca lebih tinggi sampai respons berikutnya

1182 1182 

1183**Tautan OSC 8 tidak dapat diklik**1183**Tautan OSC 8 tidak dapat diklik**

1184 1184 

sub-agents.md +4 −6

Details

30 Subagent bawaan30 Subagent bawaan

31</h2>31</h2>

32 32 

33Claude Code mencakup subagent bawaan yang Claude gunakan secara otomatis jika sesuai. Masing-masing mewarisi izin percakapan induk; sebagian besar berjalan dengan set alat yang terbatas.33Claude Code mencakup subagent bawaan yang Claude gunakan secara otomatis jika sesuai. Masing-masing mewarisi aturan izin percakapan induk; sebagian besar berjalan dengan set alat yang terbatas.

34 34 

35Explore dan Plan melewati file CLAUDE.md Anda dan status git sesi induk untuk menjaga penelitian tetap cepat dan hemat biaya. Setiap subagent bawaan lainnya dan [subagent khusus](#configure-subagents) memuat keduanya, kecuali definisinya menetapkan bidang [`omitClaudeMd`](#supported-frontmatter-fields) untuk melewati file CLAUDE.md pengguna, proyek, dan lokal. Untuk rincian lengkap tentang apa yang mencapai subagent, lihat [apa yang dimuat saat startup](#what-loads-at-startup).35Explore dan Plan melewati file CLAUDE.md Anda dan status git sesi induk untuk menjaga penelitian tetap cepat dan hemat biaya. Setiap subagent bawaan lainnya dan [subagent khusus](#configure-subagents) memuat keduanya, kecuali definisinya menetapkan bidang [`omitClaudeMd`](#supported-frontmatter-fields) untuk melewati file CLAUDE.md pengguna, proyek, dan lokal. Untuk rincian lengkap tentang apa yang mencapai subagent, lihat [apa yang dimuat saat startup](#what-loads-at-startup).

36 36 


800 - matcher: "Bash"800 - matcher: "Bash"

801 hooks:801 hooks:

802 - type: command802 - type: command

803 command: "./scripts/validate-command.sh $TOOL_INPUT"803 command: "./scripts/validate-command.sh"

804 PostToolUse:804 PostToolUse:

805 - matcher: "Edit|Write"805 - matcher: "Edit|Write"

806 hooks:806 hooks:


848}848}

849```849```

850 850 

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.

852 

853Lihat [Hooks](/docs/id/hooks) untuk format konfigurasi hook lengkap.851Lihat [Hooks](/docs/id/hooks) untuk format konfigurasi hook lengkap.

854 852 

855<h2 id="work-with-subagents">853<h2 id="work-with-subagents">


874 872 

875* **Bahasa alami**: sebutkan subagent dalam prompt Anda; Claude memutuskan apakah akan mendelegasikan873* **Bahasa alami**: sebutkan subagent dalam prompt Anda; Claude memutuskan apakah akan mendelegasikan

876* **@-mention**: menjamin subagent berjalan untuk satu tugas874* **@-mention**: menjamin subagent berjalan untuk satu tugas

877* **Sesi-lebar**: seluruh sesi menggunakan prompt sistem subagent, pembatasan alat, dan model melalui flag `--agent` atau pengaturan `agent`875* **Sesi-lebar**: seluruh sesi berjalan sebagai subagent itu melalui flag `--agent` atau pengaturan `agent`

878 876 

879Untuk bahasa alami, tidak ada sintaks khusus. Sebutkan subagent dan Claude biasanya mendelegasikan:877Untuk bahasa alami, tidak ada sintaks khusus. Sebutkan subagent dan Claude biasanya mendelegasikan:

880 878 


895 893 

896Anda juga dapat mengetik mention secara manual tanpa menggunakan picker: `@agent-<name>` untuk subagent lokal, atau `@agent-` diikuti dengan nama yang dibatasi untuk subagent plugin, misalnya `@agent-my-plugin:code-reviewer`. Saat Anda mengetik formulir ini, typeahead menampilkan kecocokan file daripada agen. Penyebutan agen masih diselesaikan saat Anda mengirimkan.894Anda juga dapat mengetik mention secara manual tanpa menggunakan picker: `@agent-<name>` untuk subagent lokal, atau `@agent-` diikuti dengan nama yang dibatasi untuk subagent plugin, misalnya `@agent-my-plugin:code-reviewer`. Saat Anda mengetik formulir ini, typeahead menampilkan kecocokan file daripada agen. Penyebutan agen masih diselesaikan saat Anda mengirimkan.

897 895 

898**Jalankan seluruh sesi sebagai subagent.** Lewatkan [`--agent <name>`](/docs/id/cli-reference) untuk memulai sesi di mana thread utama itu sendiri mengambil prompt sistem subagent, pembatasan alat, dan model:896**Jalankan seluruh sesi sebagai subagent.** Lewatkan [`--agent <name>`](/docs/id/cli-reference) untuk memulai sesi di mana thread utama itu sendiri mengambil pembatasan alat dan model subagent:

899 897 

900```bash theme={null}898```bash theme={null}

901claude --agent code-reviewer899claude --agent code-reviewer

Details

122 122 

123 <tr>123 <tr>

124 <td>Penagihan</td>124 <td>Penagihan</td>

125 <td><strong>Teams:</strong> \$150/seat (Premium) dengan PAYG tersedia<br /><strong>Enterprise:</strong> <a href="https://claude.com/contact-sales?utm_source=claude_code&utm_medium=docs&utm_content=third_party_enterprise">Hubungi Penjualan</a></td>125 <td><strong>Teams:</strong> langganan per-seat dengan PAYG tersedia, lihat <a href="https://claude.com/pricing?utm_source=claude_code&utm_medium=docs&utm_content=third_party_pricing#team-&-enterprise">harga</a><br /><strong>Enterprise:</strong> <a href="https://claude.com/contact-sales?utm_source=claude_code&utm_medium=docs&utm_content=third_party_enterprise">Hubungi Penjualan</a></td>

126 <td>PAYG</td>126 <td>PAYG</td>

127 <td>PAYG melalui AWS</td>127 <td>PAYG melalui AWS</td>

128 <td>PAYG melalui AWS Marketplace</td>128 <td>PAYG melalui AWS Marketplace</td>

Details

167 Batas waktu dan output167 Batas waktu dan output

168</h3>168</h3>

169 169 

170Setiap perintah berjalan di bawah batas waktu, dan Claude mengelolanya: ketika menginginkan lebih lama dari default untuk perintah, ia melewatkan parameter `timeout` dengan panggilan itu — Anda tidak pernah menetapkan batas waktu per perintah. Dua [variabel lingkungan](/docs/id/env-vars) membatasi apa yang Claude dapatkan:170Setiap perintah berjalan di bawah batas waktu, dan Claude mengelolanya: ketika menginginkan lebih lama dari default untuk perintah, ia melewatkan parameter `timeout` dengan panggilan itu. Anda tidak pernah menetapkan batas waktu per perintah.

171 

172Dua [variabel lingkungan](/docs/id/env-vars) mengontrol apa yang Claude dapatkan untuk perintah yang berjalan di foreground:

171 173 

172* `BASH_DEFAULT_TIMEOUT_MS` — default ketika Claude tidak melewatkan batas waktu; dua menit di luar kotak174* `BASH_DEFAULT_TIMEOUT_MS` — default ketika Claude tidak melewatkan batas waktu; dua menit di luar kotak

173* `BASH_MAX_TIMEOUT_MS` — dengan default, menetapkan batas yang membatasi apa pun yang Claude minta: batas efektif adalah yang lebih besar dari keduanya, sepuluh menit di luar kotak175* `BASH_MAX_TIMEOUT_MS` — dengan default, menetapkan batas yang membatasi apa pun yang Claude minta: batas efektif adalah yang lebih besar dari keduanya, sepuluh menit di luar kotak

174 176 

177Untuk perintah yang Claude mulai di background, `timeout` malah menetapkan berapa lama perintah dapat berjalan di sana, dengan default dan maksimum terpisah yang dijelaskan di bawah [Perintah background](#background-commands). Alat [PowerShell](#powershell-tool) mengikuti aturan timeout yang sama dan membaca dua variabel yang sama.

178 

175<h4 id="output-limits">179<h4 id="output-limits">

176 Batas output180 Batas output

177</h4>181</h4>


195 199 

196Untuk proses yang berjalan lama seperti server dev atau build watch, Claude dapat mengatur `run_in_background: true` untuk memulai perintah sebagai tugas latar belakang dan terus bekerja saat berjalan. Daftar dan hentikan tugas latar belakang dengan `/tasks`. Setelah Anda menghentikan satu di sana, atau dari klien yang terhubung seperti aplikasi desktop, Claude melanjutkan alih-alih menunggu. Jika subagent memulai perintah, itu adalah subagent itu yang melanjutkan.200Untuk proses yang berjalan lama seperti server dev atau build watch, Claude dapat mengatur `run_in_background: true` untuk memulai perintah sebagai tugas latar belakang dan terus bekerja saat berjalan. Daftar dan hentikan tugas latar belakang dengan `/tasks`. Setelah Anda menghentikan satu di sana, atau dari klien yang terhubung seperti aplikasi desktop, Claude melanjutkan alih-alih menunggu. Jika subagent memulai perintah, itu adalah subagent itu yang melanjutkan.

197 201 

198Perintah yang dimulai oleh [subagent foreground](/docs/id/sub-agents#run-subagents-in-foreground-or-background) berhenti ketika subagent itu memberikan respons finalnya. Perintah yang dimulai oleh percakapan utama atau subagent latar belakang terus berjalan setelah respons final. Dalam mode non-interaktif dengan flag `-p`, [perintah latar belakang berakhir segera setelah hasil final run](/docs/id/headless#background-tasks-at-exit).202Perintah yang dimulai oleh [subagent foreground](/docs/id/sub-agents#run-subagents-in-foreground-or-background) berhenti ketika subagent itu menjalankan akhirnya, baik itu selesai, gagal, atau terganggu. Perintah yang dimulai oleh percakapan utama atau subagent background terus berjalan setelah respons final, hingga keluar, dihentikan, atau mencapai batas waktunya. Dalam mode non-interaktif dengan flag `-p`, [perintah background berakhir segera setelah hasil final run](/docs/id/headless#background-tasks-at-exit).

203 

204Perintah Bash dan PowerShell background memiliki batas waktu, dihitung dari saat perintah memasuki background:

205 

206* Perintah yang Claude mulai di background mendapat 30 menit, atau `timeout` yang Claude lewatkan dengan `run_in_background`, hingga maksimum 2 jam

207* Perintah yang dimulai di foreground dan kemudian pindah ke background, misalnya dengan `Ctrl+B` atau pada timeoutnya, mendapat 30 menit dari perpindahan

208 

209Dua [variabel lingkungan](/docs/id/env-vars) menaikkan batas ini, untuk perintah Bash dan PowerShell sama-sama. Keduanya mengambil milidetik, dan tidak satupun dapat mempersingkat batas: nilai yang lebih rendah membiarkan default 30 menit dan maksimum 2 jam tetap berlaku.

210 

211* Atur `BASH_DEFAULT_TIMEOUT_MS` di atas `1800000` untuk mengganti default 30 menit dengan nilai itu, baik untuk perintah yang Claude mulai tanpa `timeout` maupun untuk perintah yang dipindahkan

212* Atur `BASH_MAX_TIMEOUT_MS` di atas `7200000` untuk menaikkan maksimum 2 jam ke nilai itu. Mengatur `BASH_DEFAULT_TIMEOUT_MS` di atas `7200000` menaikkan maksimum dengan cara yang sama

199 213 

200Ketika perintah mencapai batas waktunya tanpa selesai, Claude Code memindahkannya ke latar belakang alih-alih menghentikannya, kecuali perintah dimulai dengan `sleep`. Claude terus bekerja saat perintah berlanjut. Claude Code menerapkan aturan lifetime yang sama ke perintah yang dipindahkan seperti ke perintah latar belakang lainnya, jadi masih menghentikan perintah subagent foreground pada respons final subagent itu. Mengatur [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/id/env-vars#variables) menonaktifkan auto-backgrounding bersama dengan sisa fungsionalitas tugas latar belakang.214Ketika perintah background mencapai batas waktunya, Claude Code menghentikannya dan memberi tahu Claude mengapa, dan Claude dapat memulai perintah lagi dengan `timeout` yang lebih lama jika pekerjaan masih membutuhkannya. Pemberitahuan penghentian berbunyi `Background command "<description>" was stopped after reaching its background time limit`.

215 

216Ketika perintah foreground mencapai timeoutnya tanpa selesai, Claude Code memindahkannya ke background alih-alih menghentikannya, kecuali perintah dimulai dengan `sleep`. Batas waktu perintah yang dipindahkan dihitung dari perpindahan, dan perintah yang dipindahkan dari subagent foreground masih berhenti ketika subagent itu menjalankan akhirnya.

217 

218Mengatur [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/id/env-vars#variables) menonaktifkan auto-backgrounding bersama dengan sisa fungsionalitas tugas background.

201 219 

202Hasil perintah yang dipindahkan ke latar belakang menyatakan apa yang terjadi:220Hasil perintah yang dipindahkan ke latar belakang menyatakan apa yang terjadi:

203 221 


382 WebSocket source400 WebSocket source

383</h3>401</h3>

384 402 

385<Note>

386 Sumber WebSocket memerlukan Claude Code v2.1.195 atau lebih baru.

387</Note>

388 

389Ketika server sudah mendorong peristiwa melalui WebSocket, Claude dapat terhubung langsung ke dalamnya daripada menulis skrip polling. Setiap jenis aktivitas soket menjadi peristiwa atau mengakhiri watch:403Ketika server sudah mendorong peristiwa melalui WebSocket, Claude dapat terhubung langsung ke dalamnya daripada menulis skrip polling. Setiap jenis aktivitas soket menjadi peristiwa atau mengakhiri watch:

390 404 

391* **Pesan teks**: masing-masing menjadi satu peristiwa, bahkan ketika pesan mencakup beberapa baris.405* **Pesan teks**: masing-masing menjadi satu peristiwa, bahkan ketika pesan mencakup beberapa baris.

Details

445 TLS or SSL connection errors445 TLS or SSL connection errors

446</h3>446</h3>

447 447 

448Error seperti `curl: (35) TLS connect error`, `schannel: next InitializeSecurityContext failed`, atau PowerShell's `Could not establish trust relationship for the SSL/TLS secure channel` menunjukkan kegagalan TLS handshake.448Error seperti ini berarti TLS handshake gagal:

449 

450* `curl: (35) TLS connect error`

451* `schannel: next InitializeSecurityContext failed`

452* PowerShell's `Could not create SSL/TLS secure channel`

453* PowerShell's `Could not establish trust relationship for the SSL/TLS secure channel`

449 454 

450**Solusi:**455**Solusi:**

451 456 


1017 403 Forbidden after login1022 403 Forbidden after login

1018</h3>1023</h3>

1019 1024 

1020Jika Anda melihat `API Error: 403 {"error":{"type":"forbidden","message":"Request not allowed"}}` setelah login:1025Jika Anda melihat `API Error: 403 Request not allowed` setelah login:

1021 1026 

1022* **Claude Pro/Max users**: verifikasi subscription Anda aktif di [claude.ai/settings](https://claude.ai/settings)1027* **Claude Pro/Max users**: verifikasi subscription Anda aktif di [claude.ai/settings](https://claude.ai/settings)

1023* **Anthropic Console users**: konfirmasi akun Anda memiliki role "Claude Code" atau "Developer". Admins menetapkan ini di Anthropic Console di bawah Settings → Members.1028* **Anthropic Console users**: konfirmasi akun Anda memiliki role "Claude Code" atau "Developer". Admins menetapkan ini di Anthropic Console di bawah Settings → Members.

Details

52 File `.heapsnapshot` berisi setiap string dalam proses, termasuk percakapan lengkap Anda dan kredensial. Jangan lampirkan ke masalah publik atau bagikan.52 File `.heapsnapshot` berisi setiap string dalam proses, termasuk percakapan lengkap Anda dan kredensial. Jangan lampirkan ke masalah publik atau bagikan.

53</Warning>53</Warning>

54 54 

55Perintah juga mencetak ringkasan dalam percakapan, menampilkan resident set size, JS heap, array buffers, dan native memory yang tidak terhitung, ditambah indikator kebocoran apa pun yang terdeteksi, seperti tingkat pertumbuhan memori yang tinggi atau jumlah handle terbuka yang tidak biasa tinggi. Ringkasan mengatakan apakah sebagian besar memori berada di JS heap, yang ditangkap snapshot, atau di native memory, yang tidak.55Perintah juga mencetak ringkasan dalam percakapan, menampilkan total memori proses, berapa banyak yang ada di JS heap, dan berapa banyak yang berada di luar heap. Ringkasan juga mencantumkan indikator kebocoran apa pun, seperti tingkat pertumbuhan memori yang tinggi atau jumlah handle terbuka yang tidak biasa tinggi. Ringkasan mengatakan apakah sebagian besar memori berada di JS heap, yang ditangkap snapshot, atau di native memory, yang tidak.

56 56 

57Lakukan salah satu dari dua hal dengan output:57Lakukan salah satu dari dua hal dengan output:

58 58 

workflows.md +1 −1

Details

91 Tonton run91 Tonton run

92</h3>92</h3>

93 93 

94Alur kerja berjalan di latar belakang, jadi sesi tetap responsif sementara agen bekerja. Jalankan `/workflows` kapan saja untuk membuat daftar alur kerja yang sedang berjalan dan selesai, lalu pilih satu untuk membuka tampilan kemajuannya.94Alur kerja berjalan di latar belakang, jadi sesi tetap responsif sementara agen bekerja. Jalankan `/workflows` kapan saja untuk membuat daftar alur kerja yang sedang berjalan dan selesai, lalu pilih satu untuk membuka tampilan kemajuannya. Untuk menghentikan alur kerja yang sedang berjalan tanpa membukanya, pilih di daftar dan tekan `x`.

95 95 

96Tampilan kemajuan menunjukkan setiap fase dengan jumlah agen, total token, dan waktu yang telah berlalu. Footer mencantumkan kunci untuk setiap tindakan:96Tampilan kemajuan menunjukkan setiap fase dengan jumlah agen, total token, dan waktu yang telah berlalu. Footer mencantumkan kunci untuk setiap tindakan:

97 97