SpyBara
Go Premium

Documentation 2026-11-08 22:58 UTC to 2026-11-09 23:02 UTC

35 files changed +471 −139. View all changes and history on the product overview
2026
Thu 12 21:00 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57

advisor.md +4 −3

Details

98| Opus 4.7 atau Opus 4.8 | Fable, Opus 4.7 atau lebih baru, Sonnet 5.5 |98| Opus 4.7 atau Opus 4.8 | Fable, Opus 4.7 atau lebih baru, Sonnet 5.5 |

99| Sonnet 5.5 | Fable, Opus 5 atau lebih baru, Sonnet 5.5 |99| Sonnet 5.5 | Fable, Opus 5 atau lebih baru, Sonnet 5.5 |

100| Opus 5 atau Opus 5.5 | Fable, Opus 5 atau lebih baru |100| Opus 5 atau Opus 5.5 | Fable, Opus 5 atau lebih baru |

101| Fable 5 | Fable 5.1 atau Fable 5 |101| Fable 5 | Fable 5.2, Fable 5.1, atau Fable 5 |

102| Fable 5.1 | Fable 5.1 |102| Fable 5.1 | Fable 5.2 atau Fable 5.1 |

103| Fable 5.2 | Fable 5.2 |

103 104 

104Fable 5.1 memerlukan Claude Code v2.1.257 atau lebih baru. Model Fable memerlukan [akses Fable](https://code.claude.com/docs/id/model-config.md#work-with-fable). Sonnet 5.5 sebagai advisor untuk model utama Opus 4.7 atau Opus 4.8 memerlukan Claude Code v2.1.287 atau lebih baru. Haiku 5.5 sebagai model utama atau sebagai advisor memerlukan Claude Code v2.1.293 atau lebih baru.105Fable 5.2 memerlukan Claude Code v2.1.321 atau lebih baru, dan Fable 5.1 memerlukan v2.1.257 atau lebih baru. Model Fable memerlukan [akses Fable](https://code.claude.com/docs/id/model-config.md#work-with-fable). Sonnet 5.5 sebagai advisor untuk model utama Opus 4.7 atau Opus 4.8 memerlukan Claude Code v2.1.287 atau lebih baru. Haiku 5.5 sebagai model utama atau sebagai advisor memerlukan Claude Code v2.1.293 atau lebih baru.

105 106 

106Atur advisor sebagai `fable`, `opus`, atau `sonnet`. Alias ini diselesaikan ke [versi default bawaan](https://code.claude.com/docs/id/model-config.md#model-aliases) Claude Code untuk setiap keluarga model, yang berkembang dengan rilis Claude Code baru. Anda juga dapat melewatkan ID model lengkap seperti `claude-opus-5-5` atau `claude-haiku-5-5`. Haiku 4.5 dapat memanggil advisor tetapi tidak dapat bertindak sebagai advisor.107Atur advisor sebagai `fable`, `opus`, atau `sonnet`. Alias ini diselesaikan ke [versi default bawaan](https://code.claude.com/docs/id/model-config.md#model-aliases) Claude Code untuk setiap keluarga model, yang berkembang dengan rilis Claude Code baru. Anda juga dapat melewatkan ID model lengkap seperti `claude-opus-5-5` atau `claude-haiku-5-5`. Haiku 4.5 dapat memanggil advisor tetapi tidak dapat bertindak sebagai advisor.

107 108 

Details

56 56 

57### Contoh alat cuaca57### Contoh alat cuaca

58 58 

59Contoh ini mendefinisikan tool `get_temperature` dan membungkusnya dalam server MCP, tanpa meneruskan server ke `query`. Untuk menjalankan tool, lihat [Call a custom tool](#call-a-custom-tool) di bawah.59Contoh ini mendefinisikan tool `get_temperature` dan membungkusnya dalam server MCP, tanpa meneruskan server ke `query`. Untuk menjalankan tool, lihat [Panggil tool kustom](#call-a-custom-tool).

60 60 

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

62from typing import Annotated, Any62from typing import Annotated, Any


148* **TypeScript**: tambahkan `.optional()` ke bidang Zod.148* **TypeScript**: tambahkan `.optional()` ke bidang Zod.

149* **Python**: skema dict mewajibkan setiap kunci. Gunakan bentuk JSON Schema, keluarkan parameter dari `required`, dan baca dengan `args.get()`. Untuk skema bertipe dengan kunci opsional, lihat [kelas TypedDict](https://code.claude.com/docs/id/agent-sdk/python.md#input-schema-options).149* **Python**: skema dict mewajibkan setiap kunci. Gunakan bentuk JSON Schema, keluarkan parameter dari `required`, dan baca dengan `args.get()`. Untuk skema bertipe dengan kunci opsional, lihat [kelas TypedDict](https://code.claude.com/docs/id/agent-sdk/python.md#input-schema-options).

150 150 

151[Tool `get_precipitation_chance` di bawah](#add-more-tools) menunjukkan kedua pola.151[Tool `get_precipitation_chance`](#add-more-tools) menunjukkan kedua pola.

152 152 

153### Panggil alat kustom153### Panggil alat kustom

154 154 

155Teruskan server MCP yang Anda buat ke `query` melalui opsi `mcpServers`, dan daftarkan [nama lengkap (fully qualified name)](https://code.claude.com/docs/id/agent-sdk/mcp.md#tool-naming-convention) setiap tool dalam `allowedTools` sehingga tool berjalan tanpa permintaan izin. Nama tersebut adalah `mcp__{server_name}__{tool_name}`, dengan `{server_name}` adalah kunci yang Anda berikan untuk server dalam `mcpServers`. Jika kunci tersebut berisi karakter seperti `.` atau spasi, ganti karakter tersebut dengan `_` saat Anda menulis `{server_name}`.155Untuk memanggil tool kustom, ikuti langkah-langkah berikut:

156 

1571. Teruskan server MCP yang Anda buat ke `query` menggunakan opsi `mcpServers`.

1582. Cantumkan [nama lengkap (fully qualified name)](https://code.claude.com/docs/id/agent-sdk/mcp.md#tool-naming-convention) tool dalam `allowedTools` untuk [menyetujui terlebih dahulu](https://code.claude.com/docs/id/agent-sdk/permissions.md#allow-and-deny-rules) panggilannya. Nama tersebut mengikuti konvensi `mcp__{server_name}__{tool_name}`, dengan `{server_name}` adalah kunci yang Anda berikan untuk server dalam `mcpServers`. Jika kunci tersebut berisi karakter seperti `.` atau spasi, ganti karakter tersebut dengan `_` saat Anda menulis `{server_name}`.

156 159 

157Potongan ini menggunakan kembali `weatherServer` dari [contoh alat cuaca](#weather-tool-example) untuk menanyakan Claude tentang cuaca di lokasi tertentu.160Potongan ini menggunakan kembali `weatherServer` dari [contoh alat cuaca](#weather-tool-example) untuk menanyakan Claude tentang cuaca di lokasi tertentu.

158 161 


329| :- | :- | :- |332| :- | :- | :- |

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

331| `destructiveHint` | `true` | Tool dapat melakukan pembaruan destruktif. Atur secara eksplisit ke `true` pada setiap tool yang Anda [tandai `always_ask`](#require-approval-for-specific-tools). |334| `destructiveHint` | `true` | Tool dapat melakukan pembaruan destruktif. Atur secara eksplisit ke `true` pada setiap tool yang Anda [tandai `always_ask`](#require-approval-for-specific-tools). |

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

333| `openWorldHint` | `true` | Alat menjangkau sistem di luar proses Anda. Hanya informatif. |336| `openWorldHint` | `true` | Tool menjangkau sistem di luar proses Anda. |

334 337 

335Anotasi adalah metadata, bukan penegakan. Alat yang ditandai `readOnlyHint: true` masih dapat menulis ke disk jika itulah yang dilakukan handler. Jaga anotasi tetap akurat dengan handler.338Anotasi adalah metadata, bukan penegakan. Alat yang ditandai `readOnlyHint: true` masih dapat menulis ke disk jika itulah yang dilakukan handler. Jaga anotasi tetap akurat dengan handler.

336 339 


373 376 

374### Konfigurasi tools yang diizinkan377### Konfigurasi tools yang diizinkan

375 378 

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

380 

381* **Ketersediaan**: apakah sebuah tool muncul dalam konteks Claude. Untuk mengubahnya, gunakan opsi `tools` atau cantumkan nama built-in bare seperti `"Bash"` dalam `disallowedTools`.

382* **Izin**: apakah Claude Code menyetujui sebuah panggilan ketika Claude melakukannya. Untuk mengubahnya, gunakan `allowedTools` atau aturan `disallowedTools` yang scoped seperti `"Bash(rm *)"`.

377 383 

378| Opsi | Lapisan | Efek |384| Opsi | Lapisan | Efek |

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

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

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

382| allowed tools | Permission | Tools yang tercantum berjalan tanpa prompt permission. Tools lain yang tidak tercantum tetap tersedia; panggilan melalui [permission flow](https://code.claude.com/docs/id/agent-sdk/permissions.md). |388| allowed tools | Izin | Tools yang tercantum disetujui sebelumnya, kecuali [panggilan yang tidak disetujui oleh aturan allow mana pun](https://code.claude.com/docs/id/agent-sdk/permissions.md#calls-an-allow-rule-never-approves). Panggilan ke tools yang tidak Anda cantumkan dalam daftar melalui [alur izin](https://code.claude.com/docs/id/agent-sdk/permissions.md). |

383| disallowed tools | Keduanya | Nama tool bare seperti `"Bash"` menghapus tool dari konteks Claude, sama seperti menghilangkannya dari `tools`. Aturan scoped seperti `"Bash(rm *)"` membiarkan tool dalam konteks dan menolak hanya panggilan yang cocok [seperti yang ditulis](https://code.claude.com/docs/id/permissions.md#bash-rule-limits). |389| disallowed tools | Keduanya | Nama built-in bare seperti `"Bash"` menghapus tool dari konteks Claude. Aturan scoped seperti `"Bash(rm *)"` membiarkan tool dalam konteks dan menolak panggilan yang cocok dengannya [seperti yang ditulis](https://code.claude.com/docs/id/permissions.md#bash-rule-limits). |

384 390 

385Untuk menghapus built-in sepenuhnya, hilangkan dari `tools` atau cantumkan nama barenya dalam `disallowedTools` (Python: `disallowed_tools`); keduanya membuat tool tetap keluar dari konteks sehingga Claude tidak pernah mencobanya. Aturan `disallowedTools` yang scoped memblokir panggilan yang cocok tetapi membiarkan tool tetap terlihat, jadi Claude mungkin membuang giliran mencobanya. Lihat [Configure permissions](https://code.claude.com/docs/id/agent-sdk/permissions.md) untuk urutan evaluasi lengkap.391Untuk menghapus built-in dari konteks Claude, hilangkan dari `tools` atau cantumkan nama barenya dalam `disallowedTools` (TypeScript) atau `disallowed_tools` (Python). Untuk urutan evaluasi lengkap, lihat [Configure permissions](https://code.claude.com/docs/id/agent-sdk/permissions.md#how-permissions-are-evaluated).

386 392 

387### Wajibkan persetujuan untuk tools tertentu393### Wajibkan persetujuan untuk tools tertentu

388 394 


637 643 

638## Mengembalikan data terstruktur644## Mengembalikan data terstruktur

639 645 

640`structuredContent` adalah objek JSON opsional pada hasil, terpisah dari array `content`. Gunakan untuk mengembalikan nilai mentah yang dapat dibaca Claude sebagai bidang yang tepat daripada menguraikannya dari string teks atau gambar.646`structuredContent` adalah objek JSON opsional pada hasil, terpisah dari array `content`. Gunakan untuk mengembalikan nilai mentah yang dapat dibaca Claude sebagai bidang yang tepat daripada menguraikannya dari string teks atau gambar. Untuk penangan Python, lihat [Konten terstruktur di Python](#structured-content-in-python).

641 647 

642Ketika `structuredContent` diatur, Claude menerima JSON ditambah blok gambar atau sumber daya apa pun dari `content`. Blok teks dalam `content` tidak diteruskan, karena diasumsikan menduplikasi data terstruktur. Contoh di bawah merender bagan sebagai blok gambar dan mengembalikan titik data di baliknya dalam `structuredContent` dari penangan yang sama. Dalam cuplikan, `chartPngBuffer` adalah `Buffer` yang menyimpan byte PNG yang dirender.648Ketika penangan `tool()` TypeScript mengatur `structuredContent`, Claude menerima JSON ditambah blok gambar dan sumber daya dalam `content`, dan blok teks dalam `content` tidak sampai ke Claude. Contoh di bawah merender bagan sebagai blok gambar dan mengembalikan titik data di baliknya dalam `structuredContent` dari penangan yang sama. Dalam cuplikan, `chartPngBuffer` adalah `Buffer` yang menyimpan byte PNG yang dirender.

643 649 

644```typescript TypeScript theme={null}650```typescript TypeScript theme={null}

645return {651return {

Details

205 205 

206### Auto-approve dengan allowedTools206### Auto-approve dengan allowedTools

207 207 

208Gunakan `allowedTools` untuk auto-approve alat MCP tertentu sehingga Claude dapat menggunakannya tanpa prompt izin:208Gunakan `allowedTools` untuk auto-approve alat MCP tertentu:

209 209 

210```typescript TypeScript hidelines={1,-1} theme={null}210```typescript TypeScript hidelines={1,-1} theme={null}

211const _ = {211const _ = {

Details

18 18 

19**1. Hooks**19**1. Hooks**

20 20 

21Jalankan [hook](https://code.claude.com/docs/id/agent-sdk/hooks.md). Sebuah hook dapat langsung menolak panggilan tersebut atau meneruskannya. Hook yang mengembalikan `allow` tidak melewati aturan deny dan ask di bawah; aturan-aturan tersebut tetap dievaluasi apa pun hasil hook-nya.21Jalankan [hook](https://code.claude.com/docs/id/agent-sdk/hooks.md). Sebuah hook dapat langsung menolak panggilan tersebut atau meneruskannya. Hook yang mengembalikan `allow` tidak melewati langkah aturan deny dan aturan ask, yang tetap dievaluasi apa pun hasil hook-nya.

22 22 

23Hook `PreToolUse` yang mengembalikan `allow` juga tidak dapat menyetujui perintah `rm` atau `rmdir` yang targetnya dikenali oleh Claude Code sebagai [jalur kritis](https://code.claude.com/docs/id/permission-modes.md#critical-paths), seperti `rm -rf ~`. Untuk apa yang dilakukan `allow` tersebut dalam plan mode, lihat [Persetujuan hook dalam plan mode](https://code.claude.com/docs/id/permissions.md#hook-approvals-in-plan-mode).23Hook `PreToolUse` yang mengembalikan `allow` juga tidak dapat menyetujui perintah `rm` atau `rmdir` yang targetnya dikenali oleh Claude Code sebagai [jalur kritis](https://code.claude.com/docs/id/permission-modes.md#critical-paths), seperti `rm -rf ~`. Untuk apa yang dilakukan `allow` tersebut dalam plan mode, lihat [Persetujuan hook dalam plan mode](https://code.claude.com/docs/id/permissions.md#hook-approvals-in-plan-mode).

24 24 


58 58 

59**6. canUseTool callback**59**6. canUseTool callback**

60 60 

61Jika tidak diselesaikan oleh langkah-langkah di atas, panggil [callback `canUseTool`](https://code.claude.com/docs/id/agent-sdk/user-input) Anda untuk mendapatkan keputusan. Dalam mode `dontAsk`, langkah ini dilewati dan tool ditolak, meskipun [mod](https://code.claude.com/docs/id/plugins/mods/overview.md) yang Anda instal masih dapat menyetujui [beberapa panggilan semacam itu](https://code.claude.com/docs/id/permissions.md#precedence-among-rules-hooks-and-mods).61Jika tidak ada langkah sebelumnya yang menyelesaikan permintaan tersebut, panggil [callback `canUseTool`](https://code.claude.com/docs/id/agent-sdk/user-input) Anda untuk mendapatkan keputusan. Dalam mode `dontAsk`, langkah ini dilewati dan tool ditolak, meskipun [mod](https://code.claude.com/docs/id/plugins/mods/overview.md) yang Anda instal masih dapat menyetujui [beberapa panggilan semacam itu](https://code.claude.com/docs/id/permissions.md#precedence-among-rules-hooks-and-mods).

62 62 

63Di TypeScript SDK, jika Anda menetapkan [`permissionPrompts: 'none'`](https://code.claude.com/docs/id/agent-sdk/typescript#options), callback Anda tidak dipanggil pada langkah ini. [Hook `PermissionRequest`](https://code.claude.com/docs/id/hooks#permissionrequest) masih mendapat kesempatan untuk memutuskan, dan jika hook tersebut tidak memutuskan, Claude Code menolak panggilan tersebut. Opsi ini memerlukan Claude Code v2.1.259 atau yang lebih baru.63Di TypeScript SDK, jika Anda menetapkan [`permissionPrompts: 'none'`](https://code.claude.com/docs/id/agent-sdk/typescript#options), callback Anda tidak dipanggil pada langkah ini. [Hook `PermissionRequest`](https://code.claude.com/docs/id/hooks#permissionrequest) masih mendapat kesempatan untuk memutuskan, dan jika hook tersebut tidak memutuskan, Claude Code menolak panggilan tersebut. Opsi ini memerlukan Claude Code v2.1.259 atau yang lebih baru.

64 64 


80 80 

81## Aturan izin dan penolakan81## Aturan izin dan penolakan

82 82 

83`allowed_tools` dan `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) menambahkan entri ke daftar aturan izin dan penolakan dalam alur evaluasi di atas. Jika Anda menyebutkan salah satu dari [alat pelacakan tugas](https://code.claude.com/docs/id/agent-sdk/todo-tracking.md#model-availability) dalam `allowed_tools`, Claude Code juga mengikutsertakan sesi tersebut. Alat lain apa pun yang tidak tercantum dalam `allowed_tools` masih tersedia untuk Claude, dan panggilan ke alat tersebut yang memerlukan persetujuan jatuh melalui mode izin. Aturan penolakan berperilaku berbeda tergantung pada apakah mereka menyebutkan alat atau membatasi pola dalam satu.83Saat Anda mengatur `allowedTools` dan `disallowedTools` (TypeScript) atau `allowed_tools` dan `disallowed_tools` (Python), Claude Code menambahkan entri keduanya ke daftar aturan izin dan penolakan dalam [alur evaluasi izin](#how-permissions-are-evaluated). Tool lain apa pun yang tidak tercantum dalam `allowed_tools` masih tersedia untuk Claude, dan panggilan ke tool tersebut yang memerlukan persetujuan diteruskan ke mode izin.

84 84 

85| Opsi | Efek |85| Opsi | Efek |

86| :- | :- |86| :- | :- |

87| `allowed_tools=["Read", "Grep"]` | `Read` dan `Grep` disetujui secara otomatis, kecuali [pembacaan dari jalur jaringan](https://code.claude.com/docs/id/permissions.md#network-paths). Tool lain yang tidak tercantum di sini masih ada, dan panggilan ke tool tersebut yang memerlukan persetujuan diteruskan ke mode izin dan `canUseTool`. |87| `allowed_tools=["Read", "Grep"]` | `Read` dan `Grep` disetujui secara otomatis, kecuali [pembacaan dari jalur jaringan](https://code.claude.com/docs/id/permissions.md#network-paths). Tool lain yang tidak tercantum di sini masih ada, dan panggilan ke tool tersebut yang memerlukan persetujuan diteruskan ke mode izin dan `canUseTool`. |

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

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

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

91 91 

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

93 93 

Details

2787 2787 

2788Menjalankan sumber latar belakang dan mengirimkan setiap event ke Claude sehingga dapat bereaksi tanpa polling: `command` menjalankan skrip dan mengeluarkan satu event per baris stdout, dan `ws` membuka WebSocket dan mengeluarkan satu event per frame teks. Berikan tepat satu dari `command` atau `ws`.2788Menjalankan sumber latar belakang dan mengirimkan setiap event ke Claude sehingga dapat bereaksi tanpa polling: `command` menjalankan skrip dan mengeluarkan satu event per baris stdout, dan `ws` membuka WebSocket dan mengeluarkan satu event per frame teks. Berikan tepat satu dari `command` atau `ws`.

2789 2789 

2790Ketika Monitor menjalankan perintah, ia mengikuti aturan izin yang sama seperti Bash; pengawasan WebSocket meminta persetujuan secara terpisah. Sumber `ws` memerlukan Claude Code v2.1.195 atau lebih baru. Lihat [Monitor tool reference](https://code.claude.com/docs/id/tools-reference.md#monitor-tool) untuk perilaku dan ketersediaan penyedia.2790Sumber `ws` memerlukan Claude Code v2.1.195 atau lebih baru. Ketika Monitor menjalankan perintah, ia mengikuti aturan izin yang sama seperti Bash. Lihat [Monitor tool reference](https://code.claude.com/docs/id/tools-reference.md#monitor-tool) untuk izin WebSocket, perilaku, dan ketersediaan penyedia.

2791 2791 

2792**Input:**2792**Input:**

2793 2793 

Details

3389 3389 

3390Menjalankan sumber latar belakang dan mengirimkan setiap peristiwa ke Claude sehingga dapat bereaksi tanpa polling: `command` menjalankan skrip dan memancarkan satu peristiwa per baris stdout, dan `ws` membuka WebSocket dan memancarkan satu peristiwa per frame teks. Berikan tepat satu dari `command` atau `ws`. Sumber `ws` memerlukan Claude Code v2.1.195 atau lebih baru.3390Menjalankan sumber latar belakang dan mengirimkan setiap peristiwa ke Claude sehingga dapat bereaksi tanpa polling: `command` menjalankan skrip dan memancarkan satu peristiwa per baris stdout, dan `ws` membuka WebSocket dan memancarkan satu peristiwa per frame teks. Berikan tepat satu dari `command` atau `ws`. Sumber `ws` memerlukan Claude Code v2.1.195 atau lebih baru.

3391 3391 

3392`timeout_ms` adalah batas waktu pengawasan dalam milidetik. Ini default ke 300000 dan menerima nilai hingga 3600000. Batas waktu efektif paling banyak 1800000, yaitu 30 menit, jadi nilai yang diterima lebih besar diperpendek ke itu. Pada batas waktu pengawasan berakhir dan Claude menerima satu pemberitahuan sehingga dapat memulai pengawasan baru jika masih membutuhkannya.3392`timeout_ms` adalah batas waktu pengawasan dalam milidetik:

3393 3393 

3394Jenis yang diekspor menandai `timeout_ms` sebagai wajib karena skema mengisi default; panggilan yang menghilangkannya memvalidasi.3394* **Default dan batas**: nilai default-nya 300000 dan menerima nilai hingga 3600000. Batas waktu efektif paling banyak 1800000, yaitu 30 menit, jadi nilai yang diterima lebih besar diperpendek ke itu

3395* **Pada batas waktu**: pengawasan berakhir dan Claude menerima satu pemberitahuan sehingga dapat memulai pengawasan baru jika masih membutuhkannya

3396* **Wajib dalam jenis**: jenis yang diekspor menandai `timeout_ms` sebagai wajib karena skema mengisi default; panggilan yang menghilangkannya tetap valid

3395 3397 

3396Ketika Monitor menjalankan perintah, ia mengikuti aturan izin yang sama dengan Bash; pengawasan WebSocket meminta persetujuan secara terpisah. Lihat [referensi tool Monitor](https://code.claude.com/docs/id/tools-reference.md#monitor-tool) untuk perilaku dan ketersediaan penyedia.3398Ketika Monitor menjalankan perintah, ia mengikuti aturan izin yang sama dengan Bash. Lihat [referensi tool Monitor](https://code.claude.com/docs/id/tools-reference.md#monitor-tool) untuk izin WebSocket, perilaku, dan ketersediaan penyedia.

3397 3399 

3398### TaskOutput3400### TaskOutput

3399 3401 

Details

433 433 

434### Ubah model dan effort434### Ubah model dan effort

435 435 

436[Effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) adalah kontrol utama untuk berapa lama Claude berpikir, dan menggantikan sebagian besar hal yang dulu dilakukan orang dengan kata-kata dalam prompt. Claude Opus 5.5, Sonnet 5.5, dan Haiku 5.5 secara default menggunakan `medium`, yang sudah lebih dari cukup untuk pekerjaan fitur sehari-hari dengan cakupan yang jelas. Saat-saat Anda akan mengubahnya, dengan `/effort` di sesi:436[Effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) adalah kontrol utama untuk berapa lama Claude berpikir, dan menggantikan sebagian besar hal yang dulu dilakukan orang dengan kata-kata dalam prompt. Claude Fable 5.2, Opus 5.5, Sonnet 5.5, dan Haiku 5.5 secara default menggunakan `medium`, yang sudah lebih dari cukup untuk pekerjaan fitur sehari-hari dengan cakupan yang jelas. Saat-saat Anda akan mengubahnya, dengan `/effort` di sesi:

437 437 

438* Naikkan dengan `/effort high` atau `/effort xhigh` ketika keberhasilan bergantung pada kasus-kasus yang mudah terlewat. Bayangkan bug di kode yang tidak Anda tulis, tes yang flaky, atau perubahan skema di mana Claude harus menemukan setiap pembaca bentuk lama. Claude kemudian memeriksa lebih banyak kasus tepi dan memverifikasi lebih banyak pekerjaannya sebelum menjawab, dan di situlah waktu serta token tambahan terpakai.438* Naikkan dengan `/effort high` atau `/effort xhigh` ketika keberhasilan bergantung pada kasus-kasus yang mudah terlewat. Bayangkan bug di kode yang tidak Anda tulis, tes yang flaky, atau perubahan skema di mana Claude harus menemukan setiap pembaca bentuk lama. Claude kemudian memeriksa lebih banyak kasus tepi dan memverifikasi lebih banyak pekerjaannya sebelum menjawab, dan di situlah waktu serta token tambahan terpakai.

439* Turunkan dengan `/effort low` ketika Anda bolak-balik dengan cepat dan tetap meninjau setiap hasil: brainstorming, sketsa pertama, penggantian nama di beberapa file. Claude memberi Anda titik awal lebih cepat, dan karena Anda mengarahkan setiap langkah, pertimbangan tambahan tidak akan banyak mengubah apa pun selain waktu tunggu.439* Turunkan dengan `/effort low` ketika Anda bolak-balik dengan cepat dan tetap meninjau setiap hasil: brainstorming, sketsa pertama, penggantian nama di beberapa file. Claude memberi Anda titik awal lebih cepat, dan karena Anda mengarahkan setiap langkah, pertimbangan tambahan tidak akan banyak mengubah apa pun selain waktu tunggu.

440* Simpan `max` untuk masalah sulit yang ingin Anda selesaikan oleh Claude tanpa Anda, seperti mencari kerentanan keamanan. Pada tugas biasa, `max` cenderung berpikir berlebihan, sehingga Anda membayar lebih untuk jawaban yang mungkin tidak lebih baik daripada yang akan diberikan `high`.440* Simpan `max` untuk masalah sulit yang ingin Anda selesaikan oleh Claude tanpa Anda, seperti mencari kerentanan keamanan. Pada tugas biasa, `max` cenderung berpikir berlebihan, sehingga Anda membayar lebih untuk jawaban yang mungkin tidak lebih baik daripada yang akan diberikan `high`.

441* Ketika hanya pesan berikutnya yang membutuhkannya, seperti satu pertanyaan rumit di tengah pekerjaan yang selebihnya rutin, masukkan [`ultrathink`](https://code.claude.com/docs/id/model-config#use-ultrathink-for-one-off-deep-reasoning) ke dalam prompt tersebut alih-alih mengubah pengaturan.441* Ketika hanya pesan berikutnya yang membutuhkannya, seperti satu pertanyaan rumit di tengah pekerjaan yang selebihnya rutin, masukkan [`ultrathink`](https://code.claude.com/docs/id/model-config#use-ultrathink-for-one-off-deep-reasoning) ke dalam prompt tersebut alih-alih mengubah pengaturan.

442 442 

443Untuk modelnya sendiri, Opus 5.5 default menangani sebagian besar pekerjaan coding dengan baik dan Sonnet lebih murah untuk pekerjaan rutin. [Claude Fable 5.1](https://code.claude.com/docs/id/model-config.md#work-with-fable) tersedia ketika Anda memilihnya secara eksplisit dengan `/model fable`, dan Haiku cocok untuk subagent yang mengerjakan tugas sederhana. [Konfigurasi model](https://code.claude.com/docs/id/model-config.md) berisi daftar lengkap per paket dan penyedia.443Untuk modelnya sendiri, Opus 5.5 default menangani sebagian besar pekerjaan coding dengan baik dan Sonnet lebih murah untuk pekerjaan rutin. Untuk menggunakan [Claude Fable 5.2](https://code.claude.com/docs/id/model-config.md#work-with-fable), jalankan `/model fable`. Haiku cocok untuk subagent yang mengerjakan tugas sederhana. [Konfigurasi model](https://code.claude.com/docs/id/model-config.md) berisi daftar lengkap per paket dan penyedia.

444 444 

445### Ketahui biaya subagent445### Ketahui biaya subagent

446 446 

Details

73| Penyedia identitas OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, atau Dex, atau IdP yang sesuai dengan OIDC lainnya seperti PingFederate. Gateway menjalankan penemuan OIDC standar dan alur kode otorisasi terhadapnya. SAML dan LDAP tidak didukung. |73| Penyedia identitas OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, atau Dex, atau IdP yang sesuai dengan OIDC lainnya seperti PingFederate. Gateway menjalankan penemuan OIDC standar dan alur kode otorisasi terhadapnya. SAML dan LDAP tidak didukung. |

74| PostgreSQL 11 atau lebih baru | Mendukung alur sign-in perangkat dan penghitung rate limit. Layanan PostgreSQL terkelola berfungsi, termasuk tingkat terkecil; lihat [database mana yang didukung](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#postgres). Dengan [batas pengeluaran](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md), ia juga menyimpan tabel pengeluaran, audit, dan identitas yang tahan lama yang harus dicadangkan. TLS melalui `?sslmode=require` direkomendasikan. PostgreSQL 11, 12, dan 13 memerlukan Claude Code v2.1.290 atau lebih baru di server gateway. Proyek PostgreSQL tidak lagi memelihara versi tersebut, jadi gunakan versi yang lebih baru jika memungkinkan. |74| PostgreSQL 11 atau lebih baru | Mendukung alur sign-in perangkat dan penghitung rate limit. Layanan PostgreSQL terkelola berfungsi, termasuk tingkat terkecil; lihat [database mana yang didukung](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#postgres). Dengan [batas pengeluaran](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md), ia juga menyimpan tabel pengeluaran, audit, dan identitas yang tahan lama yang harus dicadangkan. TLS melalui `?sslmode=require` direkomendasikan. PostgreSQL 11, 12, dan 13 memerlukan Claude Code v2.1.290 atau lebih baru di server gateway. Proyek PostgreSQL tidak lagi memelihara versi tersebut, jadi gunakan versi yang lebih baru jika memungkinkan. |

75| Model upstream | Kredensial Amazon Bedrock, kredensial Claude Platform on AWS, kredensial Google Cloud, sumber daya Microsoft Foundry, atau kunci API Anthropic. Beberapa upstream didukung dengan failover. |75| Model upstream | Kredensial Amazon Bedrock, kredensial Claude Platform on AWS, kredensial Google Cloud, sumber daya Microsoft Foundry, atau kunci API Anthropic. Beberapa upstream didukung dengan failover. |

76| HTTPS | Gateway harus dapat dijangkau melalui `https://` dari laptop pengembang dan dari browser apa pun yang digunakan untuk sign-in; gateway melayani halaman verifikasi perangkat pada pendengar yang sama. Berikan sertifikat TLS melalui `listen.tls` atau jalankan di balik ingress yang menghentikan TLS, dan atur `listen.public_url` ke asal eksternal dalam kedua kasus. Asal `http://` biasa hanya diterima ketika host gateway adalah loopback: `localhost`, `127.0.0.1`, atau `::1`. |76| HTTPS | Gateway harus dapat dijangkau melalui `https://` dari laptop pengembang dan dari browser apa pun yang digunakan untuk sign-in; gateway melayani halaman verifikasi perangkat pada pendengar yang sama. Berikan sertifikat TLS melalui `listen.tls` atau jalankan di balik ingress yang menghentikan TLS, dan atur `listen.public_url` ke asal eksternal dalam kedua kasus. Di `/login`, Claude Code menerima asal `http://` biasa hanya ketika host gateway adalah loopback: `localhost`, `127.0.0.1`, atau `::1`. |

77| Alamat jaringan pribadi | Di `/login`, Claude Code memerlukan nama host atau alamat IP gateway untuk diselesaikan hanya ke alamat pribadi: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7`, atau loopback. Untuk gateway yang Anda hosting, alamat publik apa pun di luar blok yang Anda deklarasikan ditolak; lihat [model ancaman](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#threat-model-summary) dalam panduan penyebaran. Jika mesin pengembang merutekan HTTPS melalui proxy perusahaan, sign-in juga memerlukan host proxy untuk diselesaikan ke alamat pribadi; jika tidak, tambahkan host gateway ke `NO_PROXY` sehingga CLI terhubung langsung. Jika jaringan internal Anda bernomor dari ruang IPv4 publik yang dimiliki organisasi Anda, [deklarasikan blok-blok tersebut](#allow-a-gateway-on-public-address-space-you-own) sehingga `/login` menerima gateway di sana. |77| Alamat jaringan pribadi | Di `/login`, Claude Code memerlukan nama host atau alamat IP gateway untuk diselesaikan hanya ke alamat pribadi: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7`, atau loopback. Untuk gateway yang Anda hosting, alamat publik apa pun di luar blok yang Anda deklarasikan ditolak; lihat [model ancaman](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#threat-model-summary) dalam panduan penyebaran. Jika mesin pengembang merutekan HTTPS melalui proxy perusahaan, sign-in juga memerlukan host proxy untuk diselesaikan ke alamat pribadi; jika tidak, tambahkan host gateway ke `NO_PROXY` sehingga CLI terhubung langsung. Jika jaringan internal Anda bernomor dari ruang IPv4 publik yang dimiliki organisasi Anda, [deklarasikan blok-blok tersebut](#allow-a-gateway-on-public-address-space-you-own) sehingga `/login` menerima gateway di sana. |

78| Runtime Linux | Server gateway hanya berjalan pada biner Linux asli. macOS berfungsi untuk pengembangan lokal. Windows tidak didukung sebagai platform server. |78| Runtime Linux | Server gateway hanya berjalan pada biner Linux asli. macOS berfungsi untuk pengembangan lokal. Windows tidak didukung sebagai platform server. |

79 79 


172 172 

173Boot yang berhasil tidak memvalidasi jalur inferensi, karena kredensial instans Bedrock dan Agent Platform diselesaikan pada permintaan pertama, bukan saat boot.173Boot yang berhasil tidak memvalidasi jalur inferensi, karena kredensial instans Bedrock dan Agent Platform diselesaikan pada permintaan pertama, bukan saat boot.

174 174 

175Tonton stderr untuk urutan boot. Baris log menggunakan format `[gateway] <timestamp> <level> <message>`, acara audit adalah JSON satu baris dengan bidang `evt`, dan spanduk startup, dihilangkan di bawah, dicetak di antara baris migrasi dan mendengarkan. Database segar mencetak satu baris `migration N applied` per migrasi skema; database yang sudah dimigrasikan tidak mencetak apa pun. Anda harus melihat, dalam urutan:175Pantau stderr untuk urutan boot. Secara default, baris log menggunakan format `[gateway] <timestamp> <level> <message>`, dan spanduk startup, yang dihilangkan di bawah, dicetak di antara baris migrasi dan baris mendengarkan. Peristiwa audit adalah JSON satu baris dengan bidang `evt`. Database segar mencetak satu baris `migration N applied` per migrasi skema; database yang sudah dimigrasikan tidak mencetak apa pun. Anda harus melihat, dalam urutan:

176 176 

177```text theme={null}177```text theme={null}

178{"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}178{"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}

Details

28 28 

29**Bagian opsional:**29**Bagian opsional:**

30 30 

31* [`login_notice`](#login_notice): pemberitahuan yang dilihat developer saat mereka masuk

31* [`admin`](#admin): Admin API auth dan retention untuk spend limits32* [`admin`](#admin): Admin API auth dan retention untuk spend limits

32* [`enforcement`](#enforcement): perilaku spend-limit fail-open atau fail-closed33* [`enforcement`](#enforcement): perilaku spend-limit fail-open atau fail-closed

33* [`pricing`](#pricing): contracted rates dan multiplier untuk spend meter dan untuk cost figures yang dilihat developer34* [`pricing`](#pricing): contracted rates dan multiplier untuk spend meter dan untuk cost figures yang dilihat developer


847 848 

848## Bagian opsional849## Bagian opsional

849 850 

851### `login_notice`

852 

853Untuk menampilkan pemberitahuan kepada developer saat mereka masuk, atur kunci tingkat atas `login_notice` ke teks pemberitahuan, hingga 500 karakter. Contoh ini menyebutkan untuk siapa gateway ini ditujukan dan ke mana harus bertanya tentang akses:

854 

855```yaml theme={null}

856login_notice: This gateway is for Example Corp staff. For access questions, email it-help@example.com.

857```

858 

859Developer melihat teks tersebut di bawah `Notice from <gateway hostname>` pada halaman verifikasi gateway di browser dan pada layar masuk interaktif di terminal. Baris baru dalam teks menjadi spasi. Pemberitahuan muncul sebelum masuk, sehingga siapa pun yang dapat menjangkau gateway dapat membacanya.

860 

861Memerlukan Claude Code v2.1.319 atau yang lebih baru di server gateway, dan juga di mesin developer untuk layar terminal. Gateway versi lebih lama menolak untuk dimulai ketika menemukan kunci tersebut. Tingkatkan setiap replika sebelum Anda menambahkan kunci, dan hapus kunci sebelum Anda melakukan rollback.

862 

850### `admin`863### `admin`

851 864 

852Opsional. Mengaktifkan `/v1/organizations/spend_limits`, yang mencerminkan Admin API publik Anthropic, serta penegakan batas pengeluaran per developer pada `/v1/messages`. Lihat [Batas pengeluaran](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md) untuk cara batas ditetapkan dan ditegakkan; bagian ini membahas kunci `gateway.yaml` yang mengaktifkan fitur tersebut dan menyesuaikannya.865Opsional. Mengaktifkan `/v1/organizations/spend_limits`, yang mencerminkan Admin API publik Anthropic, serta penegakan batas pengeluaran per developer pada `/v1/messages`. Lihat [Batas pengeluaran](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md) untuk cara batas ditetapkan dan ditegakkan; bagian ini membahas kunci `gateway.yaml` yang mengaktifkan fitur tersebut dan menyesuaikannya.


865 # IdP groups granted full admin via the normal gateway JWT (no API key).878 # IdP groups granted full admin via the normal gateway JWT (no API key).

866 admin_groups: [platform-finops]879 admin_groups: [platform-finops]

867 blocked_message: request an increase at https://go.example.com/claude-limits880 blocked_message: request an increase at https://go.example.com/claude-limits

881 # Try eng-platform's pooled budget first, then eng-all's, then any other group's.

882 pooled_conflict_rule: priority_list

883 pooled_priority_order: [eng-platform, eng-all]

868```884```

869 885 

870| Bidang | Wajib | Deskripsi |886| Bidang | Wajib | Deskripsi |


877| `spend_retention_months` | Tidak | Default `13`. Baris penghitung `spend` yang lebih lama dari ini akan dihapus. Default ini menyimpan satu tahun penuh ditambah bulan parsial saat ini untuk pelaporan tahun ke tahun. |893| `spend_retention_months` | Tidak | Default `13`. Baris penghitung `spend` yang lebih lama dari ini akan dihapus. Default ini menyimpan satu tahun penuh ditambah bulan parsial saat ini untuk pelaporan tahun ke tahun. |

878| `identity_retention_days` | Tidak | Default `90`. TTL sejak terakhir terlihat untuk baris `principal_emails`, yang menyimpan email, nama tampilan, dan grup setiap developer (PII). Sengaja dibuat lebih pendek daripada retensi pengeluaran agar identitas yang aksesnya sudah dicabut kedaluwarsa sementara penghitung pengeluaran anonimnya tetap ada. |894| `identity_retention_days` | Tidak | Default `90`. TTL sejak terakhir terlihat untuk baris `principal_emails`, yang menyimpan email, nama tampilan, dan grup setiap developer (PII). Sengaja dibuat lebih pendek daripada retensi pengeluaran agar identitas yang aksesnya sudah dicabut kedaluwarsa sementara penghitung pengeluaran anonimnya tetap ada. |

879| `group_limit_mode` | Tidak | `min` (default) atau `max`. Jika developer berada di beberapa grup yang memiliki batas, `min` menegakkan yang paling ketat dan `max` yang paling longgar. Digunakan oleh penegakan dan `/effective`. |895| `group_limit_mode` | Tidak | `min` (default) atau `max`. Jika developer berada di beberapa grup yang memiliki batas, `min` menegakkan yang paling ketat dan `max` yang paling longgar. Digunakan oleh penegakan dan `/effective`. |

896| `pooled_conflict_rule` | Tidak | `default_order` (default) atau `priority_list`. Urutan gateway mencoba anggaran gabungan milik developer. Lihat [Urutan anggaran gabungan](#pooled-budget-order). Memerlukan v2.1.319 atau yang lebih baru. |

897| `pooled_priority_order` | Dengan `priority_list` | Hingga 50 nama grup, masing-masing dicantumkan sekali dan dieja seperti yang dikirim IdP Anda. Grup yang anggaran gabungannya dicoba gateway terlebih dahulu. Lihat [Urutan anggaran gabungan](#pooled-budget-order). Memerlukan v2.1.319 atau yang lebih baru. |

898 

899#### Urutan anggaran gabungan

900 

901Anggaran gabungan adalah satu batas bulanan yang dibelanjakan bersama oleh seluruh grup. Untuk menetapkannya, tambahkan `pooled_budget` ke [permintaan yang menetapkan batas bulanan grup](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md#set-a-cap), seperti `"pooled_budget": {"amount": "500000"}` untuk \$5.000. Permintaan tersebut juga menerima `scope` grup, `"period": "monthly"`, dan `amount`, yang tetap menjadi batas masing-masing anggota.

902 

903Untuk developer yang berada di beberapa grup semacam itu, setiap permintaan dihitung terhadap anggaran pertama yang pengeluarannya masih di bawah batasnya, dan ditolak ketika setiap anggaran sudah habis. `pooled_conflict_rule` menetapkan urutan gateway mencoba anggaran tersebut:

904 

905* **`default_order`**: batas terbesar terlebih dahulu, dan batas yang sama diurutkan menaik berdasarkan nama grup

906* **`priority_list`**: anggaran grup-grup dalam `pooled_priority_order`, sesuai urutan daftar, lalu anggaran grup lain berdasarkan nama grup

907 

908Jika Anda mencantumkan grup tanpa `pooled_conflict_rule: priority_list`, gateway mengabaikan daftar tersebut dan mencatat peringatan saat boot.

909 

910Server gateway yang lebih lama dari v2.1.319 menolak untuk dimulai ketika menemukan `pooled_conflict_rule` atau `pooled_priority_order`. Tingkatkan setiap replika sebelum Anda menambahkan salah satu kunci tersebut, dan hapus kedua kunci sebelum Anda melakukan rollback.

880 911 

881### `enforcement`912### `enforcement`

882 913 


1675# environment variable (debug | info | warn | error; default info). debug1706# environment variable (debug | info | warn | error; default info). debug

1676# also logs the claim names in each id_token, for groups_claim diagnosis.1707# also logs the claim names in each id_token, for groups_claim diagnosis.

1677# It does not affect audit events, which are always emitted.1708# It does not affect audit events, which are always emitted.

1709# Set CLAUDE_GATEWAY_LOG_FORMAT=json to write operational log lines as JSON

1710# objects with severity, time, and message.

1678 1711 

1679listen:1712listen:

1680 host: 0.0.0.01713 host: 0.0.0.0


1715 # connect_timeout_seconds: 51748 # connect_timeout_seconds: 5

1716 # readiness_grace_seconds: 300 # keep passing the readiness check through a database failover1749 # readiness_grace_seconds: 300 # keep passing the readiness check through a database failover

1717 1750 

1751# Notice shown at sign-in. Anyone who can reach the gateway can read it.

1752# login_notice: This gateway is for Example Corp staff. For access questions, email it-help@example.com.

1753 

1718# Enables /v1/organizations/spend_limits (mirrors the Anthropic Admin API)1754# Enables /v1/organizations/spend_limits (mirrors the Anthropic Admin API)

1719# and per-developer spend enforcement on /v1/messages. Omit to disable.1755# and per-developer spend enforcement on /v1/messages. Omit to disable.

1720# Caps themselves are set via the admin API, not here.1756# Caps themselves are set via the admin API, not here.


1729# # spend_retention_months: 131765# # spend_retention_months: 13

1730# # identity_retention_days: 901766# # identity_retention_days: 90

1731# # group_limit_mode: min1767# # group_limit_mode: min

1768# # pooled_conflict_rule: priority_list

1769# # pooled_priority_order: [eng-platform, eng-all]

1732 1770 

1733# enforcement:1771# enforcement:

1734# fail_closed_on_error: false1772# fail_closed_on_error: false

Details

173 * `admin.denied` mencatat upaya autentikasi admin-API yang ditolak dengan IP klien, metode, jalur, dan alasan, tanpa materi kunci yang disajikan: `invalid_key` ketika `x-api-key` disajikan tetapi tidak cocok dengan kunci yang dikonfigurasi, `bearer_rejected` ketika hanya header `Authorization` yang disajikan dan tidak memverifikasi sebagai sesi gateway di `admin.admin_groups`, atau `no_credentials` ketika tidak ada header yang disajikan173 * `admin.denied` mencatat upaya autentikasi admin-API yang ditolak dengan IP klien, metode, jalur, dan alasan, tanpa materi kunci yang disajikan: `invalid_key` ketika `x-api-key` disajikan tetapi tidak cocok dengan kunci yang dikonfigurasi, `bearer_rejected` ketika hanya header `Authorization` yang disajikan dan tidak memverifikasi sebagai sesi gateway di `admin.admin_groups`, atau `no_credentials` ketika tidak ada header yang disajikan

174* **Log operasional**: baris yang dapat dibaca manusia dengan awalan `[gateway]` untuk boot, peringatan, dan kesalahan upstream. Variabel lingkungan `CLAUDE_GATEWAY_LOG_LEVEL` mengontrol verbositas dan menerima `debug`, `info`, `warn`, atau `error`, dengan `info` sebagai default. Pada `debug`, setiap sign-in dan refresh juga mencatat nama, bukan nilai, dari klaim dalam id\_token, ditambah nama klaim userinfo ketika `userinfo_fallback` menyediakan apa pun, sehingga Anda dapat mendiagnosis pengaturan `email_claim` dan `groups_claim` tanpa mencatat PII. Ini tidak mempengaruhi acara audit, yang selalu dipancarkan.174* **Log operasional**: baris yang dapat dibaca manusia dengan awalan `[gateway]` untuk boot, peringatan, dan kesalahan upstream. Variabel lingkungan `CLAUDE_GATEWAY_LOG_LEVEL` mengontrol verbositas dan menerima `debug`, `info`, `warn`, atau `error`, dengan `info` sebagai default. Pada `debug`, setiap sign-in dan refresh juga mencatat nama, bukan nilai, dari klaim dalam id\_token, ditambah nama klaim userinfo ketika `userinfo_fallback` menyediakan apa pun, sehingga Anda dapat mendiagnosis pengaturan `email_claim` dan `groups_claim` tanpa mencatat PII. Ini tidak mempengaruhi acara audit, yang selalu dipancarkan.

175 175 

176#### Tulis log operasional sebagai JSON

177 

178Jika pengumpul log Anda membaca level setiap baris dari bidang JSON, atur `CLAUDE_GATEWAY_LOG_FORMAT=json` di environment gateway. Memerlukan Claude Code v2.1.319 atau lebih baru pada server gateway.

179 

180Setiap baris log operasional kemudian menjadi satu objek dengan `severity`, `time`, dan `message`:

181 

182```json theme={null}

183{"severity":"INFO","time":"2026-11-04T17:03:21.512Z","message":"claude gateway listening on http://0.0.0.0:8080"}

184```

185 

186`severity` adalah level log dalam huruf kapital, dengan `warn` ditulis sebagai `WARNING`. Start yang gagal berupa baris `ERROR`.

187 

188Acara audit, yang juga dikirim ke stderr, tidak berubah. Acara tersebut membawa `ts` dan `evt`, dan tidak membawa `severity`.

189 

176### Kesehatan190### Kesehatan

177 191 

178Gateway melayani `GET /healthz` sebagai probe liveness dan `GET /readyz` sebagai probe kesiapan. `/readyz` memverifikasi toko dapat dijangkau. Jika Anda menetapkan [`store.readiness_grace_seconds`](https://code.claude.com/docs/id/claude-apps-gateway-config#store), `/readyz` terus melaporkan siap selama hingga banyak detik setelah toko berhenti menjawab.192Gateway melayani `GET /healthz` sebagai probe liveness dan `GET /readyz` sebagai probe kesiapan. `/readyz` memverifikasi toko dapat dijangkau. Jika Anda menetapkan [`store.readiness_grace_seconds`](https://code.claude.com/docs/id/claude-apps-gateway-config#store), `/readyz` terus melaporkan siap selama hingga banyak detik setelah toko berhenti menjawab.

Details

6 6 

7> Batasi pengeluaran setiap pengembang melalui gateway aplikasi Claude berdasarkan hari, minggu, atau bulan. Tetapkan batas dengan Admin API dan gateway memberlakukannya secara langsung pada setiap permintaan.7> Batasi pengeluaran setiap pengembang melalui gateway aplikasi Claude berdasarkan hari, minggu, atau bulan. Tetapkan batas dengan Admin API dan gateway memberlakukannya secara langsung pada setiap permintaan.

8 8 

9Batas pengeluaran membatasi berapa banyak yang dapat dikeluarkan setiap pengembang melalui [gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway) Anda dalam hari, minggu, atau bulan tertentu. Ketika seorang pengembang melampaui batas mereka, gateway mengembalikan `429` pada permintaan berikutnya dan memblokir mereka sampai periode disetel ulang atau admin menaikkan batas. Gunakan batas pengeluaran untuk memberikan setiap pengembang, grup, atau seluruh organisasi batas maksimal pada kredensial yang dibagikan semua orang.9Batas pengeluaran membatasi berapa banyak yang dapat dikeluarkan setiap pengembang melalui [gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway) Anda dalam hari, minggu, atau bulan tertentu. Ketika seorang pengembang melampaui batas mereka, gateway mengembalikan `429` pada permintaan berikutnya sampai admin menaikkan batas, atau sampai batas disetel ulang jika nilainya di atas \$0. Gunakan batas pengeluaran untuk memberikan setiap pengembang, grup, atau seluruh organisasi batas maksimal pada kredensial yang dibagikan semua orang.

10 10 

11Secara default, gateway aplikasi Claude meneruskan semua inferensi melalui satu kredensial hulu bersama, sehingga tagihan penyedia Anda mengatribusikan semuanya ke kredensial tersebut, bukan ke pengembang individual. Di Amazon Bedrock, [atribusi biaya AWS per-pengembang](https://code.claude.com/docs/id/claude-apps-gateway-config.md#per-developer-aws-cost-attribution) mengubah hal ini. Tanpa batas per-pengembang, satu armada agen yang tidak terkontrol dapat menghabiskan seluruh komitmen organisasi. Batas pengeluaran adalah tampilan per-pengembang gateway dan pemutus sirkuit di atas tagihan bersama tersebut.11Secara default, gateway aplikasi Claude meneruskan semua inferensi melalui satu kredensial hulu bersama, sehingga tagihan penyedia Anda mengatribusikan semuanya ke kredensial tersebut, bukan ke pengembang individual. Di Amazon Bedrock, [atribusi biaya AWS per-pengembang](https://code.claude.com/docs/id/claude-apps-gateway-config.md#per-developer-aws-cost-attribution) mengubah hal ini. Tanpa batas per-pengembang, satu armada agen yang tidak terkontrol dapat menghabiskan seluruh komitmen organisasi. Batas pengeluaran adalah tampilan per-pengembang gateway dan pemutus sirkuit di atas tagihan bersama tersebut.

12 12 


51 51 

52Pada setiap permintaan `/v1/messages`, gateway menyelesaikan batas pengembang dan pengeluaran periode-ke-tanggal dalam satu kueri Postgres. Pengembang yang melampaui batas apa pun mendapatkan `429` dengan `error.type: billing_error` dan header `x-should-retry: false`.52Pada setiap permintaan `/v1/messages`, gateway menyelesaikan batas pengembang dan pengeluaran periode-ke-tanggal dalam satu kueri Postgres. Pengembang yang melampaui batas apa pun mendapatkan `429` dengan `error.type: billing_error` dan header `x-should-retry: false`.

53 53 

54Pesan menyebutkan periode dan waktu reset, seperti `spend limit reached (daily; resets 2026-08-08 00:00 UTC)`, diikuti oleh [`admin.blocked_message`](https://code.claude.com/docs/id/claude-apps-gateway-config#admin) Anda jika ditetapkan. Ketika pengembang melampaui beberapa batas sekaligus, pesan menyebutkan batas yang reset terakhir. Respons juga membawa header `retry-after` dengan detik yang tersisa hingga reset tersebut. Sebelum v2.1.225 di server gateway, pesannya adalah `spend limit reached` tanpa periode, waktu reset, atau header `retry-after`.54Untuk batas di atas `"0"`, pesan menyebutkan tanggal UTC saat batas tersebut reset. Jika Anda menetapkan [`admin.blocked_message`](https://code.claude.com/docs/id/claude-apps-gateway-config#admin), gateway menambahkannya, seperti dalam contoh ini:

55 

56```text theme={null}

57spend limit reached · resets Dec 1 · request an increase at https://go.example.com/claude-limits

58```

59 

60Untuk batas `"0"`, yang tidak dicabut oleh reset, pesan tidak mencantumkan tanggal. Ketika pengembang melampaui beberapa batas sekaligus, pesan menjelaskan batas yang reset terakhir. Respons juga membawa header `retry-after` dengan jumlah detik hingga periode batas tersebut berakhir.

61 

62Sebelum v2.1.319 di server gateway, pesan menyebutkan periode dan waktu reset, seperti `spend limit reached (daily; resets 2026-08-08 00:00 UTC)`. Sebelum v2.1.225, pesannya adalah `spend limit reached` tanpa periode, waktu reset, atau header `retry-after`.

55 63 

56Pada v2.1.227 atau lebih baru, referensi protokol di `<public_url>/protocol` juga mencantumkan header respons batas penggunaan yang tepat dan badan `429`.64Pada v2.1.227 atau lebih baru, referensi protokol di `<public_url>/protocol` juga mencantumkan header respons batas penggunaan yang tepat dan badan `429`.

57 65 


95| Peringatan penggunaan pada 75% dan 95% | v2.1.225 atau lebih baru | v2.1.225 atau lebih baru |103| Peringatan penggunaan pada 75% dan 95% | v2.1.225 atau lebih baru | v2.1.225 atau lebih baru |

96| Bilah **Spend limit** di `/usage` dengan persentase batas mereka yang digunakan dan kapan reset, serta objek `rate_limits.spend_limit` dalam input baris status | v2.1.251 atau lebih baru | v2.1.225 atau lebih baru |104| Bilah **Spend limit** di `/usage` dengan persentase batas mereka yang digunakan dan kapan reset, serta objek `rate_limits.spend_limit` dalam input baris status | v2.1.251 atau lebih baru | v2.1.225 atau lebih baru |

97| Perkiraan pengeluaran mereka dan batas dalam dolar AS di bilah **Spend limit**, seperti "\$271.40 / \$500.00 spent this month", serta jumlah yang sama ditambah periode batas dalam input baris status | v2.1.284 atau lebih baru | v2.1.284 atau lebih baru |105| Perkiraan pengeluaran mereka dan batas dalam dolar AS di bilah **Spend limit**, seperti "\$271.40 / \$500.00 spent this month", serta jumlah yang sama ditambah periode batas dalam input baris status | v2.1.284 atau lebih baru | v2.1.284 atau lebih baru |

106| Pada gateway dengan blok [`admin:`](https://code.claude.com/docs/id/claude-apps-gateway-config#admin), ketika tidak ada batas yang berlaku bagi mereka, perkiraan pengeluaran mereka di bawah **Spend (UTC)** di `/usage`, seperti "\$13.06 today · \$80.76 this week · \$272.06 this month" | v2.1.319 atau lebih baru | v2.1.319 atau lebih baru |

98 107 

99Peringatan dan persentase berasal dari header `anthropic-ratelimit-unified-*`, yang ditambahkan gateway ke setiap respons `/v1/messages` yang berhasil untuk pengembang yang memiliki batas. Header selalu menggambarkan batas pengembang itu sendiri: gateway menghapus header rate limit penyedia hulu, yang menggambarkan kuota bersama Anda, dan tidak pernah meneruskannya.108Peringatan dan persentase berasal dari header `anthropic-ratelimit-unified-*`, yang ditambahkan gateway ke setiap respons `/v1/messages` yang berhasil untuk pengembang yang memiliki batas. Header selalu menggambarkan batas pengembang itu sendiri: gateway menghapus header rate limit penyedia hulu, yang menggambarkan kuota bersama Anda, dan tidak pernah meneruskannya.

100 109 

Details

41| `claude mcp logout <name>` | Hapus kredensial OAuth yang disimpan untuk server MCP | `claude mcp logout sentry` |41| `claude mcp logout <name>` | Hapus kredensial OAuth yang disimpan untuk server MCP | `claude mcp logout sentry` |

42| `claude plugin` | Kelola Claude Code [plugins](https://code.claude.com/docs/id/plugins/overview.md). Alias: `claude plugins`. Lihat [referensi plugin](https://code.claude.com/docs/id/plugins/cli-reference.md#claude-plugin-commands) untuk subperintah | `claude plugin install code-review@claude-plugins-official` |42| `claude plugin` | Kelola Claude Code [plugins](https://code.claude.com/docs/id/plugins/overview.md). Alias: `claude plugins`. Lihat [referensi plugin](https://code.claude.com/docs/id/plugins/cli-reference.md#claude-plugin-commands) untuk subperintah | `claude plugin install code-review@claude-plugins-official` |

43| `claude purge [path]` | Hapus semua status Claude Code lokal untuk proyek: transkrip, daftar tugas, log debug, riwayat edit file, baris riwayat prompt, dan entri proyek di `~/.claude.json`. Abaikan `[path]` untuk memilih dari daftar interaktif. Flag: `--dry-run` untuk pratinjau, `-y`/`--yes` untuk melewati konfirmasi, `-i`/`--interactive` untuk mengonfirmasi setiap item, `--all` untuk setiap proyek. Lihat [Hapus data lokal](https://code.claude.com/docs/id/claude-directory.md#clear-local-data) | `claude purge ~/work/repo --dry-run` |43| `claude purge [path]` | Hapus semua status Claude Code lokal untuk proyek: transkrip, daftar tugas, log debug, riwayat edit file, baris riwayat prompt, dan entri proyek di `~/.claude.json`. Abaikan `[path]` untuk memilih dari daftar interaktif. Flag: `--dry-run` untuk pratinjau, `-y`/`--yes` untuk melewati konfirmasi, `-i`/`--interactive` untuk mengonfirmasi setiap item, `--all` untuk setiap proyek. Lihat [Hapus data lokal](https://code.claude.com/docs/id/claude-directory.md#clear-local-data) | `claude purge ~/work/repo --dry-run` |

44| `claude remote-control` | Mulai server [Remote Control](https://code.claude.com/docs/id/remote-control.md) untuk mengontrol Claude Code dari Claude.ai atau aplikasi Claude. Berjalan dalam mode server (tidak ada sesi interaktif lokal). Lihat [flag mode server](https://code.claude.com/docs/id/remote-control.md#start-a-remote-control-session). Setelah Anda menghentikan server, Anda dapat membawa kembali sesi yang sedang dilayaninya. Lihat [Lanjutkan sesi setelah menghentikan server](https://code.claude.com/docs/id/remote-control.md#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |44| `claude remote-control` | Mulai server [Remote Control](https://code.claude.com/docs/id/remote-control.md) untuk mengontrol Claude Code dari claude.ai atau aplikasi Claude. Alias: `claude rc`. Berjalan dalam mode server (tidak ada sesi interaktif lokal). Lihat [flag mode server](https://code.claude.com/docs/id/remote-control.md#start-a-remote-control-session). Setelah Anda menghentikan server, Anda dapat membawa kembali sesi yang sedang dilayaninya. Lihat [Lanjutkan sesi setelah menghentikan server](https://code.claude.com/docs/id/remote-control.md#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |

45| `claude respawn <id>` | Mulai ulang [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md#manage-sessions-from-the-shell), berjalan atau dihentikan, dengan percakapannya tetap utuh. Gunakan `--all` untuk memulai ulang setiap sesi yang berjalan, misalnya untuk mengambil binary Claude Code yang diperbarui | `claude respawn 7c5dcf5d` |45| `claude respawn <id>` | Mulai ulang [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md#manage-sessions-from-the-shell), berjalan atau dihentikan, dengan percakapannya tetap utuh. Gunakan `--all` untuk memulai ulang setiap sesi yang berjalan, misalnya untuk mengambil binary Claude Code yang diperbarui | `claude respawn 7c5dcf5d` |

46| `claude rm <id>` | Hapus [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md#manage-sessions-from-the-shell) dari daftar. Ketika penghapusan [ditolak melalui worktree sesi](https://code.claude.com/docs/id/agent-view.md#what-deleting-a-session-removes) dan `claude rm` kedua dapat menyelesaikannya, penolakan mencetak flag dan nilai yang tepat untuk dilewatkan: `--discard-unpushed <commit>@<worktree-id>` membuang worktree yang memiliki commit yang belum didorong bersama dengan commit tersebut, dan `--force-remove-worktree <worktree-id>` menghapus direktori worktree yang tidak dapat dihapus oleh git atau hook `WorktreeRemove`. `--discard-unpushed` memerlukan Claude Code v2.1.260 atau lebih baru, dan `--force-remove-worktree` memerlukan v2.1.268 atau lebih baru. Transkrip percakapan tetap berada di mesin lokal Anda, tersedia melalui `claude --resume` | `claude rm 7c5dcf5d` |46| `claude rm <id>` | Hapus [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md#manage-sessions-from-the-shell) dari daftar. Ketika penghapusan [ditolak melalui worktree sesi](https://code.claude.com/docs/id/agent-view.md#what-deleting-a-session-removes) dan `claude rm` kedua dapat menyelesaikannya, penolakan mencetak flag dan nilai yang tepat untuk dilewatkan: `--discard-unpushed <commit>@<worktree-id>` membuang worktree yang memiliki commit yang belum didorong bersama dengan commit tersebut, dan `--force-remove-worktree <worktree-id>` menghapus direktori worktree yang tidak dapat dihapus oleh git atau hook `WorktreeRemove`. `--discard-unpushed` memerlukan Claude Code v2.1.260 atau lebih baru, dan `--force-remove-worktree` memerlukan v2.1.268 atau lebih baru. Transkrip percakapan tetap berada di mesin lokal Anda, tersedia melalui `claude --resume` | `claude rm 7c5dcf5d` |

47| `claude self-hosted-runner` | Mulai proses runner yang mendaftarkan mesin atau kontainer ini dengan [lingkungan yang di-host sendiri](https://code.claude.com/docs/id/self-hosted-environments) dan menghosting sesi cloud Claude Code di infrastruktur Anda. Jalankan `claude self-hosted-runner setup` untuk panduan operator interaktif, `claude self-hosted-runner doctor` untuk [mendiagnosis runner yang diterapkan](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#troubleshooting), dan `claude self-hosted-runner orchestrator` untuk menelurkan [runner sesuai permintaan](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners). Memerlukan Claude Code v2.1.224 atau lebih baru | `claude self-hosted-runner setup` |47| `claude self-hosted-runner` | Mulai proses runner yang mendaftarkan mesin atau kontainer ini dengan [lingkungan yang di-host sendiri](https://code.claude.com/docs/id/self-hosted-environments) dan menghosting sesi cloud Claude Code di infrastruktur Anda. Jalankan `claude self-hosted-runner setup` untuk panduan operator interaktif, `claude self-hosted-runner doctor` untuk [mendiagnosis runner yang diterapkan](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#troubleshooting), dan `claude self-hosted-runner orchestrator` untuk menelurkan [runner sesuai permintaan](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners). Memerlukan Claude Code v2.1.224 atau lebih baru | `claude self-hosted-runner setup` |


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

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

113| `--permission-mode` | Mulai dalam [mode izin](https://code.claude.com/docs/id/permission-modes.md) yang ditentukan. Menerima `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, atau `manual` sebagai alias untuk `default`. Alias `manual` memilih mode izin yang UI label Manual dan memerlukan Claude Code v2.1.200 atau lebih baru; `claude --help` mencantumnya sebagai pengganti `default`, dan kedua nilai berfungsi. Menimpa `defaultMode` dari file pengaturan. Tanpa bendera ini atau `--dangerously-skip-permissions`, sesi baru dimulai dalam mode izin yang dijelaskan dalam [mode izin mana sesi dimulai](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in), yang juga mencakup apa yang dimulai oleh jalankan `-p` | `claude --permission-mode plan` |113| `--permission-mode` | Mulai dalam [mode izin](https://code.claude.com/docs/id/permission-modes.md) yang ditentukan. Menerima `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, atau `manual` sebagai alias untuk `default`. Alias `manual` memilih mode izin yang UI label Manual dan memerlukan Claude Code v2.1.200 atau lebih baru; `claude --help` mencantumnya sebagai pengganti `default`, dan kedua nilai berfungsi. Menimpa `defaultMode` dari file pengaturan. Tanpa bendera ini atau `--dangerously-skip-permissions`, sesi baru dimulai dalam mode izin yang dijelaskan dalam [mode izin mana sesi dimulai](https://code.claude.com/docs/id/permission-modes.md#which-mode-a-session-starts-in), yang juga mencakup apa yang dimulai oleh jalankan `-p` | `claude --permission-mode plan` |

114| `--permission-prompt-tool` | Tentukan tool MCP untuk menangani permintaan izin dalam mode non-interaktif. Teruskan nama lengkap, seperti `mcp__<server>__<tool>`, dari tool pada server MCP yang dimuat oleh eksekusi tersebut. Claude Code menunggu server MCP tool itu untuk terhubung sebelum menjalankan giliran pertama, hingga timeout startup [`MCP_TIMEOUT`](https://code.claude.com/docs/id/env-vars), 30 detik secara default. Tool prompt tidak dapat menyetujui tool MCP yang ditandai sebagai [memerlukan interaksi pengguna](https://code.claude.com/docs/id/mcp.md#require-approval-for-a-specific-tool): Claude Code mengonversi hasil `allow` untuk tool tersebut menjadi penolakan. Pembatasan ini memerlukan Claude Code v2.1.199 atau lebih baru | `claude -p --mcp-config ./mcp.json --permission-prompt-tool mcp__permissions__approve "query"` |114| `--permission-prompt-tool` | Tentukan tool MCP untuk menangani permintaan izin dalam mode non-interaktif. Teruskan nama lengkap, seperti `mcp__<server>__<tool>`, dari tool pada server MCP yang dimuat oleh eksekusi tersebut. Claude Code menunggu server MCP tool itu untuk terhubung sebelum menjalankan giliran pertama, hingga timeout startup [`MCP_TIMEOUT`](https://code.claude.com/docs/id/env-vars), 30 detik secara default. Lihat [apa yang harus dikembalikan tool tersebut](https://code.claude.com/docs/id/errors.md#permission-prompt-tool-returned-an-invalid-result). Tool prompt tidak dapat menyetujui tool MCP yang ditandai sebagai [memerlukan interaksi pengguna](https://code.claude.com/docs/id/mcp.md#require-approval-for-a-specific-tool): Claude Code mengonversi hasil `allow` untuk tool tersebut menjadi penolakan. Pembatasan ini memerlukan Claude Code v2.1.199 atau lebih baru | `claude -p --mcp-config ./mcp.json --permission-prompt-tool mcp__permissions__approve "query"` |

115| `--permission-prompts` | Atur siapa yang menjawab prompt izin dalam mode cetak. Dengan `host` default, Claude Code mengirimnya ke host Agent SDK atau alat `--permission-prompt-tool`. Lewatkan `none` ketika tidak ada yang dapat menjawab, dan Claude Code menolaknya sebagai gantinya. Lihat [Matikan prompt izin dalam jalankan tanpa pengawasan](https://code.claude.com/docs/id/headless.md#turn-off-permission-prompts-in-unattended-runs). Memerlukan Claude Code v2.1.259 atau lebih baru | `claude -p --permission-prompts none "query"` |115| `--permission-prompts` | Atur siapa yang menjawab prompt izin dalam mode cetak. Dengan `host` default, Claude Code mengirimnya ke host Agent SDK atau alat `--permission-prompt-tool`. Lewatkan `none` ketika tidak ada yang dapat menjawab, dan Claude Code menolaknya sebagai gantinya. Lihat [Matikan prompt izin dalam jalankan tanpa pengawasan](https://code.claude.com/docs/id/headless.md#turn-off-permission-prompts-in-unattended-runs). Memerlukan Claude Code v2.1.259 atau lebih baru | `claude -p --permission-prompts none "query"` |

116| `--plugin-dir` | Muat plugin dari direktori atau arsip `.zip`, atau beberapa dari [folder plugin](https://code.claude.com/docs/id/plugins/create.md#load-a-directory-or-archive-for-one-session), hanya untuk sesi ini. Setiap bendera mengambil satu jalur. Ulangi bendera untuk lebih banyak jalur: `--plugin-dir A --plugin-dir B.zip`. Melewatkan folder plugin memerlukan Claude Code v2.1.265 atau lebih baru | `claude --plugin-dir ./my-plugin` |116| `--plugin-dir` | Muat plugin dari direktori atau arsip `.zip`, atau beberapa dari [folder plugin](https://code.claude.com/docs/id/plugins/create.md#load-a-directory-or-archive-for-one-session), hanya untuk sesi ini. Setiap bendera mengambil satu jalur. Ulangi bendera untuk lebih banyak jalur: `--plugin-dir A --plugin-dir B.zip`. Melewatkan folder plugin memerlukan Claude Code v2.1.265 atau lebih baru | `claude --plugin-dir ./my-plugin` |

117| `--plugin-url` | Ambil arsip plugin `.zip` dari URL hanya untuk sesi ini. Ulangi bendera untuk beberapa plugin, atau lewatkan URL yang dipisahkan spasi dalam nilai yang dikutip tunggal | `claude --plugin-url https://example.com/plugin.zip` |117| `--plugin-url` | Ambil arsip plugin `.zip` dari URL hanya untuk sesi ini. Ulangi bendera untuk beberapa plugin, atau lewatkan URL yang dipisahkan spasi dalam nilai yang dikutip tunggal | `claude --plugin-url https://example.com/plugin.zip` |

commands.md +1 −1

Details

162| `/ultrareview [PR or branch]` | Jalankan code review mendalam multi-agent dalam sandbox cloud dengan [ultrareview](https://code.claude.com/docs/id/ultrareview.md). Berikan referensi PR untuk meninjau pull request itu, atau branch dasar atau commit untuk mengubah basis perbandingan. Invokasi yang disukai adalah `/code-review ultra`, dan `/ultrareview` adalah alias. Mencakup 3 eksekusi gratis di Pro, Max, dan Ultra, kemudian memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |162| `/ultrareview [PR or branch]` | Jalankan code review mendalam multi-agent dalam sandbox cloud dengan [ultrareview](https://code.claude.com/docs/id/ultrareview.md). Berikan referensi PR untuk meninjau pull request itu, atau branch dasar atau commit untuk mengubah basis perbandingan. Invokasi yang disukai adalah `/code-review ultra`, dan `/ultrareview` adalah alias. Mencakup 3 eksekusi gratis di Pro, Max, dan Ultra, kemudian memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

163| `/update-config [request]` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Jelaskan perubahan pengaturan, seperti mengizinkan perintah, menetapkan environment variable, atau menambahkan [hook](https://code.claude.com/docs/id/hooks.md), dan Claude mengedit file [`settings.json`](https://code.claude.com/docs/id/settings) yang cocok. Untuk opsi seperti tema dan model, gunakan `/config` sebagai gantinya |163| `/update-config [request]` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Jelaskan perubahan pengaturan, seperti mengizinkan perintah, menetapkan environment variable, atau menambahkan [hook](https://code.claude.com/docs/id/hooks.md), dan Claude mengedit file [`settings.json`](https://code.claude.com/docs/id/settings) yang cocok. Untuk opsi seperti tema dan model, gunakan `/config` sebagai gantinya |

164| `/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 |164| `/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| `/usage` | Tampilkan biaya sesi, batas penggunaan paket, dan statistik aktivitas. Pada paket Pro, Max, Ultra, Team, atau Enterprise, mencakup [rincian apa yang dihitung terhadap batas paket Anda](https://code.claude.com/docs/id/costs.md#plan-usage-breakdown). `/cost` dan `/stats` adalah alias |165| `/usage` | Tampilkan biaya sesi, batas penggunaan paket, dan statistik aktivitas. Pada paket Pro, Max, Ultra, Team, atau Enterprise, mencakup [rincian apa yang dihitung terhadap batas paket Anda](https://code.claude.com/docs/id/costs.md#plan-usage-breakdown). Di belakang gateway aplikasi Claude yang melacak pengeluaran, menampilkan [pengeluaran Anda melalui gateway](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code). `/cost` dan `/stats` adalah alias |

166| `/usage-credits` | Konfigurasi kredit penggunaan, atau minta dari admin Anda, ketika Anda mencapai batas. Membuka [pengaturan penagihan kredit penggunaan](https://code.claude.com/docs/id/costs.md#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` |166| `/usage-credits` | Konfigurasi kredit penggunaan, atau minta dari admin Anda, ketika Anda mencapai batas. Membuka [pengaturan penagihan kredit penggunaan](https://code.claude.com/docs/id/costs.md#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| `/verify` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Konfirmasi perubahan kode melakukan apa yang seharusnya dengan mem-build aplikasi proyek Anda, menjalankannya, dan mengamati hasilnya, daripada mengandalkan tes atau pemeriksaan tipe. Lihat [Jalankan dan verifikasi aplikasi Anda](https://code.claude.com/docs/id/skills.md#run-and-verify-your-app) |167| `/verify` | **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills).** Konfirmasi perubahan kode melakukan apa yang seharusnya dengan mem-build aplikasi proyek Anda, menjalankannya, dan mengamati hasilnya, daripada mengandalkan tes atau pemeriksaan tipe. Lihat [Jalankan dan verifikasi aplikasi Anda](https://code.claude.com/docs/id/skills.md#run-and-verify-your-app) |

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

costs.md +1 −1

Details

236 * Jalankan `/usage-credits` untuk meminta penggunaan di luar tunjangan, jika Anda memiliki [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) diaktifkan.236 * Jalankan `/usage-credits` untuk meminta penggunaan di luar tunjangan, jika Anda memiliki [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) diaktifkan.

237 * Pada Claude Code v2.1.234 atau lebih baru, [tunggu dan lanjutkan tugas yang terputus secara otomatis setelah reset](https://code.claude.com/docs/id/interactive-mode.md#wait-for-a-usage-limit-to-reset); bagian itu mencantumkan kapan Claude Code memulai tunggu sendiri dan kapan pengembang memilihnya dari `/rate-limit-options`. Untuk mengontrol armada Anda apakah Claude Code memulai tunggu itu sendiri, atur [`autoContinueAtUsageLimit`](https://code.claude.com/docs/id/settings-reference#autocontinueatusagelimit) dalam [pengaturan terkelola](https://code.claude.com/docs/id/settings.md#settings-precedence).237 * Pada Claude Code v2.1.234 atau lebih baru, [tunggu dan lanjutkan tugas yang terputus secara otomatis setelah reset](https://code.claude.com/docs/id/interactive-mode.md#wait-for-a-usage-limit-to-reset); bagian itu mencantumkan kapan Claude Code memulai tunggu sendiri dan kapan pengembang memilihnya dari `/rate-limit-options`. Untuk mengontrol armada Anda apakah Claude Code memulai tunggu itu sendiri, atur [`autoContinueAtUsageLimit`](https://code.claude.com/docs/id/settings-reference#autocontinueatusagelimit) dalam [pengaturan terkelola](https://code.claude.com/docs/id/settings.md#settings-precedence).

238* **"You've hit your individual spend limit", "org's monthly spend limit", atau "team's shared budget"**: permintaan pengembang akan ditagih ke kredit penggunaan, dan kredit tersebut telah mencapai batas pengeluaran yang Anda tetapkan. Untuk membiarkan pengembang melanjutkan, buka [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) dan tingkatkan batas yang disebutkan pesan. Ketika pesan juga menyebutkan waktu reset paket, pengembang dapat menunggu sampai saat itu. Lihat [referensi kesalahan](https://code.claude.com/docs/id/errors.md#youve-hit-your-monthly-spend-limit) untuk setiap varian.238* **"You've hit your individual spend limit", "org's monthly spend limit", atau "team's shared budget"**: permintaan pengembang akan ditagih ke kredit penggunaan, dan kredit tersebut telah mencapai batas pengeluaran yang Anda tetapkan. Untuk membiarkan pengembang melanjutkan, buka [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) dan tingkatkan batas yang disebutkan pesan. Ketika pesan juga menyebutkan waktu reset paket, pengembang dapat menunggu sampai saat itu. Lihat [referensi kesalahan](https://code.claude.com/docs/id/errors.md#youve-hit-your-monthly-spend-limit) untuk setiap varian.

239* **Pesan batas pengeluaran dari [gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway)**: pengembang melampaui batas pengeluaran yang Anda tetapkan pada gateway yang di-host sendiri, dan gateway memblokir permintaan mereka sampai periode direset atau Anda menaikkan batas. Lihat [batas pengeluaran gateway](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md) untuk batas, jadwal reset, dan pesan yang dilihat pengembang.239* **Pesan batas pengeluaran dari [gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway)**: pengembang melampaui batas pengeluaran yang Anda tetapkan pada gateway yang di-host sendiri. Gateway memblokir permintaan mereka sampai Anda menaikkan batas, atau sampai batas direset jika nilainya di atas \$0. Lihat [batas pengeluaran gateway](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md) untuk batas, jadwal reset, dan pesan yang dilihat pengembang.

240* **Peringatan konteks atau auto-compact**: bukan batas penggunaan. Percakapan telah tumbuh dekat dengan [jendela auto-compact](https://code.claude.com/docs/id/model-config.md#set-the-auto-compact-window) sesi, ambang batas di mana Claude Code merangkum riwayat yang lebih lama untuk membebaskan ruang. Arahkan pengembang ke [kurangi penggunaan token](#reduce-token-usage).240* **Peringatan konteks atau auto-compact**: bukan batas penggunaan. Percakapan telah tumbuh dekat dengan [jendela auto-compact](https://code.claude.com/docs/id/model-config.md#set-the-auto-compact-window) sesi, ambang batas di mana Claude Code merangkum riwayat yang lebih lama untuk membebaskan ruang. Arahkan pengembang ke [kurangi penggunaan token](#reduce-token-usage).

241* **Pengeluaran yang tidak terduga tinggi pada paket API atau penyedia cloud**: biasanya dapat dilacak kembali ke sesi panjang yang tidak pernah dihapus atau Opus yang ditinggalkan sebagai model default. Kebiasaan berdampak tertinggi untuk dibagikan adalah membersihkan antara tugas yang tidak terkait dan mencocokkan model dengan pekerjaan, keduanya tercakup dalam [kurangi penggunaan token](#reduce-token-usage).241* **Pengeluaran yang tidak terduga tinggi pada paket API atau penyedia cloud**: biasanya dapat dilacak kembali ke sesi panjang yang tidak pernah dihapus atau Opus yang ditinggalkan sebagai model default. Kebiasaan berdampak tertinggi untuk dibagikan adalah membersihkan antara tugas yang tidak terkait dan mencocokkan model dengan pekerjaan, keduanya tercakup dalam [kurangi penggunaan token](#reduce-token-usage).

242 242 

env-vars.md +2 −1

Details

365| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Atur `5m` atau `1h`, satu-satunya nilai yang diterima Claude Code, untuk memilih [TTL prompt cache](https://code.claude.com/docs/id/prompt-caching.md#cache-lifetime) untuk percakapan utama: giliran interaktif, `-p`, dan SDK Anda, ditambah helper yang berjalan inline bersamanya. Diutamakan daripada pengaturan `promptCacheTtl` dan `ENABLE_PROMPT_CACHING_1H`, dan `FORCE_PROMPT_CACHING_5M` menimpanya. API menagih penulisan cache 1 jam dengan tarif lebih tinggi. Memerlukan Claude Code v2.1.242 atau yang lebih baru |365| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Atur `5m` atau `1h`, satu-satunya nilai yang diterima Claude Code, untuk memilih [TTL prompt cache](https://code.claude.com/docs/id/prompt-caching.md#cache-lifetime) untuk percakapan utama: giliran interaktif, `-p`, dan SDK Anda, ditambah helper yang berjalan inline bersamanya. Diutamakan daripada pengaturan `promptCacheTtl` dan `ENABLE_PROMPT_CACHING_1H`, dan `FORCE_PROMPT_CACHING_5M` menimpanya. API menagih penulisan cache 1 jam dengan tarif lebih tinggi. Memerlukan Claude Code v2.1.242 atau yang lebih baru |

366| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Atur ke `1` untuk mempropagasi konteks trace W3C ketika `ANTHROPIC_BASE_URL` mengarah ke proxy kustom. Propagasi mencakup header `traceparent` pada permintaan model dan MCP HTTP serta environment variable `TRACEPARENT` untuk subprocess Bash, PowerShell, dan hook. Secara default, propagasi hanya diaktifkan ketika terhubung langsung ke Anthropic API. Ditambahkan di v2.1.152. Lihat [Traces (beta)](https://code.claude.com/docs/id/monitoring-usage.md#traces-beta) |366| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Atur ke `1` untuk mempropagasi konteks trace W3C ketika `ANTHROPIC_BASE_URL` mengarah ke proxy kustom. Propagasi mencakup header `traceparent` pada permintaan model dan MCP HTTP serta environment variable `TRACEPARENT` untuk subprocess Bash, PowerShell, dan hook. Secara default, propagasi hanya diaktifkan ketika terhubung langsung ke Anthropic API. Ditambahkan di v2.1.152. Lihat [Traces (beta)](https://code.claude.com/docs/id/monitoring-usage.md#traces-beta) |

367| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Diatur oleh platform host yang menyematkan Claude Code dan mengelola perutean penyedia model atas namanya. Ketika diatur, Claude Code mengabaikan variabel pemilihan penyedia, endpoint, dan autentikasi seperti `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, dan `ANTHROPIC_API_KEY` di file pengaturan, sehingga pengaturan pengguna tidak dapat menimpa perutean host. Claude Code juga mengabaikan kunci pemilihan model seperti `model`, `fallbackModel`, dan `modelOverrides` dalam [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md), sumber terkelola mana pun yang mengirimkannya, sehingga konfigurasi model host diutamakan daripada penetapan model terkelola yang sudah usang. Claude Code juga mengabaikan variabel pemilihan model seperti `ANTHROPIC_MODEL` dan keluarga `ANTHROPIC_DEFAULT_*_MODEL` dalam blok `env` terkelola; allowlist [`availableModels`](https://code.claude.com/docs/id/model-config#restrict-model-selection) dalam pengaturan terkelola tetap berlaku kecuali host menyediakan miliknya sendiri. Claude Code juga melewati opt-out telemetri otomatis yang biasanya diterapkannya pada penyedia pihak ketiga seperti Amazon Bedrock, Claude Platform on AWS, Agent Platform milik Google Cloud, dan Microsoft Foundry, sehingga telemetri mengikuti opt-out standar `DISABLE_TELEMETRY`. Lihat [Perilaku default menurut penyedia API](https://code.claude.com/docs/id/data-usage.md#default-behaviors-by-api-provider) |367| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Diatur oleh platform host yang menyematkan Claude Code dan mengelola perutean penyedia model atas namanya. Ketika diatur, Claude Code mengabaikan variabel pemilihan penyedia, endpoint, dan autentikasi seperti `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, dan `ANTHROPIC_API_KEY` di file pengaturan, sehingga pengaturan pengguna tidak dapat menimpa perutean host. Claude Code juga mengabaikan kunci pemilihan model seperti `model`, `fallbackModel`, dan `modelOverrides` dalam [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md), sumber terkelola mana pun yang mengirimkannya, sehingga konfigurasi model host diutamakan daripada penetapan model terkelola yang sudah usang. Claude Code juga mengabaikan variabel pemilihan model seperti `ANTHROPIC_MODEL` dan keluarga `ANTHROPIC_DEFAULT_*_MODEL` dalam blok `env` terkelola; allowlist [`availableModels`](https://code.claude.com/docs/id/model-config#restrict-model-selection) dalam pengaturan terkelola tetap berlaku kecuali host menyediakan miliknya sendiri. Claude Code juga melewati opt-out telemetri otomatis yang biasanya diterapkannya pada penyedia pihak ketiga seperti Amazon Bedrock, Claude Platform on AWS, Agent Platform milik Google Cloud, dan Microsoft Foundry, sehingga telemetri mengikuti opt-out standar `DISABLE_TELEMETRY`. Lihat [Perilaku default menurut penyedia API](https://code.claude.com/docs/id/data-usage.md#default-behaviors-by-api-provider) |

368| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Atur ke `1` untuk mengizinkan proxy melakukan resolusi DNS alih-alih pemanggil. Opt-in untuk environment di mana proxy harus menangani resolusi hostname |368| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Atur ke `1` untuk mengizinkan proxy melakukan resolusi DNS alih-alih pemanggil. Opsi opt-in untuk environment di mana proxy seharusnya menangani resolusi hostname. Ketika `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` diatur, atur ini di environment proses yang memulai Claude Code |

369| `CLAUDE_CODE_REMOTE` | Diatur secara otomatis ke `true` ketika Claude Code berjalan sebagai [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md). Baca ini dari hook atau skrip penyiapan untuk mendeteksi apakah Anda berada dalam sesi cloud |369| `CLAUDE_CODE_REMOTE` | Diatur secara otomatis ke `true` ketika Claude Code berjalan sebagai [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md). Baca ini dari hook atau skrip penyiapan untuk mendeteksi apakah Anda berada dalam sesi cloud |

370| `CLAUDE_CODE_REMOTE_SESSION_ID` | Diatur secara otomatis dalam [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) ke ID sesi saat ini. Baca ini untuk membuat tautan kembali ke transkrip sesi. Lihat [Menautkan output kembali ke sesi](https://code.claude.com/docs/id/cloud-environments.md#link-output-back-to-the-session) |370| `CLAUDE_CODE_REMOTE_SESSION_ID` | Diatur secara otomatis dalam [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) ke ID sesi saat ini. Baca ini untuk membuat tautan kembali ke transkrip sesi. Lihat [Menautkan output kembali ke sesi](https://code.claude.com/docs/id/cloud-environments.md#link-output-back-to-the-session) |

371| `CLAUDE_CODE_RESTRICTED` | Atur ke `1` untuk memulai sesi dalam mode terbatas, sama seperti meneruskan [`--restricted`](https://code.claude.com/docs/id/cli-reference#cli-flags). Claude Code mengabaikan variabel ini dalam blok `env` file pengaturan. Memerlukan Claude Code v2.1.248 atau yang lebih baru |371| `CLAUDE_CODE_RESTRICTED` | Atur ke `1` untuk memulai sesi dalam mode terbatas, sama seperti meneruskan [`--restricted`](https://code.claude.com/docs/id/cli-reference#cli-flags). Claude Code mengabaikan variabel ini dalam blok `env` file pengaturan. Memerlukan Claude Code v2.1.248 atau yang lebih baru |


529| `VERTEX_REGION_CLAUDE_5_SONNET` | Menimpa region untuk Claude Sonnet 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.197 |529| `VERTEX_REGION_CLAUDE_5_SONNET` | Menimpa region untuk Claude Sonnet 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.197 |

530| `VERTEX_REGION_CLAUDE_FABLE_5` | Menimpa region untuk Claude Fable 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.170 |530| `VERTEX_REGION_CLAUDE_FABLE_5` | Menimpa region untuk Claude Fable 5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.170 |

531| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Menimpa region untuk Claude Fable 5.1 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.257 |531| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Menimpa region untuk Claude Fable 5.1 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.257 |

532| `VERTEX_REGION_CLAUDE_FABLE_5_2` | Timpa region untuk Claude Fable 5.2 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.321 |

532| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Menimpa region untuk Claude Haiku 4.5 saat menggunakan Google Cloud's Agent Platform |533| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Menimpa region untuk Claude Haiku 4.5 saat menggunakan Google Cloud's Agent Platform |

533| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Menimpa region untuk Claude Haiku 5.5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.293 |534| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Menimpa region untuk Claude Haiku 5.5 saat menggunakan Google Cloud's Agent Platform. Ditambahkan di v2.1.293 |

534 535 

errors.md +91 −14

Details

52| `Credit balance is too low` | [Usage limits](#credit-balance-is-too-low) |52| `Credit balance is too low` | [Usage limits](#credit-balance-is-too-low) |

53| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [Usage limits](#youve-hit-your-monthly-spend-limit) |53| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [Usage limits](#youve-hit-your-monthly-spend-limit) |

54| `Could not update your spend limit` | [Usage limits](#could-not-update-your-spend-limit) |54| `Could not update your spend limit` | [Usage limits](#could-not-update-your-spend-limit) |

55| `spend limit reached` / `spend limit unavailable` | [Usage limits](#spend-limit-reached) |55| `spend limit reached` / `spend limit unavailable` / `This request exceeds your group's budget` | [Batas penggunaan](#spend-limit-reached) |

56| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |56| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |

57| `Couldn't save your login` | [Authentication](#couldnt-save-your-login) |57| `Couldn't save your login` | [Authentication](#couldnt-save-your-login) |

58| `Sign in again to take your previous account or API key off the config file.` | [Autentikasi](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |58| `Sign in again to take your previous account or API key off the config file.` | [Autentikasi](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |


336| `MCP server "<name>" connection closed before the tool call was answered` | [Tool errors](#connection-closed-before-the-tool-call-was-answered) |336| `MCP server "<name>" connection closed before the tool call was answered` | [Tool errors](#connection-closed-before-the-tool-call-was-answered) |

337| `MCP server "<name>" is disabled — re-enable it via /mcp to use its tools` | [Error tool](#mcp-server-is-disabled) |337| `MCP server "<name>" is disabled — re-enable it via /mcp to use its tools` | [Error tool](#mcp-server-is-disabled) |

338| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [Tool errors](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |338| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [Tool errors](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |

339| `Permission prompt tool returned an invalid result` | [Kesalahan tool](#permission-prompt-tool-returned-an-invalid-result) |

339| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |340| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |

340| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |341| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |

341| `<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories` | [Error tool](#setting-blocks-writes-outside-the-working-directories) |342| `<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories` | [Error tool](#setting-blocks-writes-outside-the-working-directories) |


420| `The Claude Code program for this computer, the <build> build, could not be found` | [Kesalahan wrapper dan IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |421| `The Claude Code program for this computer, the <build> build, could not be found` | [Kesalahan wrapper dan IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |

421| `Restored the code, but skipped N files` | [Rewind warnings and errors](#restored-the-code-but-skipped-files) |422| `Restored the code, but skipped N files` | [Rewind warnings and errors](#restored-the-code-but-skipped-files) |

422| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind warnings and errors](#no-files-were-restored) |423| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind warnings and errors](#no-files-were-restored) |

424| `The file backups are still being copied. Nothing was changed. Try again in a moment.` | Pilih titik yang sama di [`/rewind`](https://code.claude.com/docs/id/checkpointing) lagi. Saat Anda memulihkan kode segera setelah [`/branch`](https://code.claude.com/docs/id/sessions#branch-a-session), Claude Code mungkin masih menyalin cadangan file ke sesi baru. |

423| `Transcript writes are failing (...)` | [Session saving warnings](#transcript-writes-are-failing) |425| `Transcript writes are failing (...)` | [Session saving warnings](#transcript-writes-are-failing) |

424| `Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set` | [Session saving warnings](#transcript-saving-is-off-skip-prompt-history) |426| `Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set` | [Session saving warnings](#transcript-saving-is-off-skip-prompt-history) |

425| `Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker` | [Session saving warnings](#transcript-saving-is-off-child-session-marker) |427| `Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker` | [Session saving warnings](#transcript-saving-is-off-child-session-marker) |


431| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Configuration warnings](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |433| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Configuration warnings](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

432| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Configuration warnings](#skill-or-command-name-refused) |434| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Configuration warnings](#skill-or-command-name-refused) |

433| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |435| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |

436| `Two Claude Code config files exist: this run uses <path>, not <path>` | [Peringatan konfigurasi](#two-claude-code-config-files-exist) |

434| `Make this change again later: <path> could not be updated, so it applies to this session only` | [Peringatan konfigurasi](#make-this-change-again-later) |437| `Make this change again later: <path> could not be updated, so it applies to this session only` | [Peringatan konfigurasi](#make-this-change-again-later) |

435| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |438| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |

436| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |439| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |


468| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it` | [Values and warnings for `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](https://code.claude.com/docs/id/model-config#claude_code_auto_compact_window-values) |471| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it` | [Values and warnings for `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](https://code.claude.com/docs/id/model-config#claude_code_auto_compact_window-values) |

469| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/id/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |472| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/id/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |

470| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/id/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |473| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/id/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |

474| `Model "<model>" isn't recognized · did you mean "<suggestion>"?` / `Claude Code doesn't recognize the model "<model>". Did you mean "<suggestion>"?` | [Memperbaiki nama model yang salah ketik](https://code.claude.com/docs/id/model-config.md#fix-a-mistyped-model-name) |

471| `[claude-code:unrecognized_model]` | [Configuration warnings](#unrecognized-model-id-on-a-request) |475| `[claude-code:unrecognized_model]` | [Configuration warnings](#unrecognized-model-id-on-a-request) |

472| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Configuration warnings](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |476| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Configuration warnings](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |

473| `Sandbox mask files left behind at write-deny paths` | [Configuration warnings](#stale-sandbox-mask-files-left-by-a-killed-session) |477| `Sandbox mask files left behind at write-deny paths` | [Configuration warnings](#stale-sandbox-mask-files-left-by-a-killed-session) |


909Fable 5.1 now uses usage credits · the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change913Fable 5.1 now uses usage credits · the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change

910```914```

911 915 

912Pesan 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`.916Pesan menyebutkan model Fable sesi, jadi di Fable 5.2 pesan berbunyi `continuing on Fable 5.2` dan `Fable 5.2 now uses usage credits`. Sebelum v2.1.257, pesan pertama dimulai dengan `Fable 5 limit reached`.

913 917 

914Ini terjadi dalam sesi [Remote Control](https://code.claude.com/docs/id/remote-control.md), [background sessions](https://code.claude.com/docs/id/agent-view.md), [agent team](https://code.claude.com/docs/id/agent-teams.md) sesi rekan tim, dan sesi yang aplikasi lain menghosting melalui Agent SDK. Untuk kapan Claude Code menutup prompt, lihat [Fable and usage credits](https://code.claude.com/docs/id/model-config.md#fable-and-usage-credits).918Ini terjadi dalam sesi [Remote Control](https://code.claude.com/docs/id/remote-control.md), [background sessions](https://code.claude.com/docs/id/agent-view.md), [agent team](https://code.claude.com/docs/id/agent-teams.md) sesi rekan tim, dan sesi yang aplikasi lain menghosting melalui Agent SDK. Untuk kapan Claude Code menutup prompt, lihat [Fable and usage credits](https://code.claude.com/docs/id/model-config.md#fable-and-usage-credits).

915 919 


983 987 

984### Spend limit reached988### Spend limit reached

985 989 

986Anda terhubung melalui [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway) dan telah melampaui [spend cap](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md) yang operator gateway Anda tetapkan. Gateway memblokir permintaan Anda sampai periode yang dinamai direset atau operator menaikkan batas. Ini menandai setiap respons `429` yang diblokir `x-should-retry: false`, jadi Claude Code menampilkan pesan ini tanpa mencoba ulang.990Anda terhubung melalui [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway) dan telah mencapai [spend cap](https://code.claude.com/docs/id/claude-apps-gateway-spend-limits.md) yang ditetapkan operator gateway Anda. Gateway memblokir permintaan Anda sampai operator menaikkan batas, atau sampai batas direset jika nilainya di atas \$0. Gateway menandai setiap respons `429` yang diblokir dengan `x-should-retry: false`, sehingga di terminal Claude Code menampilkan pesan ini tanpa mencoba ulang.

987 991 

988```text theme={null}992```text theme={null}

989spend limit reached (daily; resets 2026-08-09 00:00 UTC)993spend limit reached · resets Dec 1

990```994```

991 995 

992Pesan menyebutkan periode batas dan waktu reset, dan ketika operator mengonfigurasi `blocked_message`, instruksi mereka mengikutinya. Sebelum v2.1.225, pesan hanya berbunyi `spend limit reached`; gateway pada versi yang lebih lama masih mengirim bentuk yang lebih pendek itu.996Periksa apakah pesan memuat tanggal:

997 

998* **Dengan tanggal**: batas direset pada pukul 00:00 UTC pada tanggal tersebut

999* **Tanpa tanggal**: batas Anda adalah \$0, atau gateway Anda menjalankan versi yang lebih lama dari v2.1.225

1000 

1001Teks tambahan apa pun dalam pesan adalah catatan dari operator gateway Anda.

1002 

1003Dari v2.1.225 hingga v2.1.319 di server gateway, pesan menyebutkan periode batas dan waktu reset, seperti dalam `spend limit reached (daily; resets 2026-08-09 00:00 UTC)`.

993 1004 

994**Yang harus dilakukan:**1005**Yang harus dilakukan:**

995 1006 

996* Tunggu waktu reset yang pesan namakan, atau ikuti instruksi operator jika pesan membawanya1007* Jika pesan memuat tanggal, tunggu reset, atau ikuti catatan operator jika pesan membawanya

997* Minta operator gateway Anda untuk menaikkan batas jika Anda mencapainya secara rutin1008* Minta operator gateway Anda untuk menaikkan batas jika pesan tidak memuat tanggal, jika Anda masih diblokir setelah tanggal tersebut, atau jika Anda mencapai batas secara rutin

1009 

1010Pesan gateway kedua, `This request exceeds your group's budget`, berarti [anggaran terpusat](https://code.claude.com/docs/id/claude-apps-gateway-config.md#pooled-budget-order) grup Anda telah habis. Ikuti langkah-langkah yang disebutkannya:

1011 

1012```text theme={null}

1013This request exceeds your group's budget. Ask your organization's admins to raise it, or try again after it resets on November 1 at 00:00 UTC.

1014```

998 1015 

999Pesan terkait, `spend limit unavailable`, berarti gateway tidak dapat membaca catatan pengeluarannya dan memblokir permintaan sebagai tindakan pencegahan daripada atas batas Anda. Biasanya ini hilang dengan sendirinya; jika terus berlanjut, beri tahu operator gateway Anda.1016Pesan terkait, `spend limit unavailable`, berarti gateway tidak dapat membaca catatan pengeluarannya dan memblokir permintaan sebagai tindakan pencegahan daripada atas batas Anda. Biasanya ini hilang dengan sendirinya; jika terus berlanjut, beri tahu operator gateway Anda.

1000 1017 


2287 2304 

2288### Couldn't send feedback2305### Couldn't send feedback

2289 2306 

2290Pesan yang diawali `Couldn't send feedback` berarti layanan umpan balik tidak mengonfirmasi laporan yang Anda kirimkan dari [dialog `/feedback`, `/bug`, atau `/share`](https://code.claude.com/docs/id/commands#all-commands), atau [draf umpan balik](https://code.claude.com/docs/id/tools-reference.md#sendfeedback-tool-behavior) yang berada dalam antrean. Anggap laporan tersebut tidak diterima. Ketika kalimat tentang organisasi Anda muncul setelah titik dua, organisasi Anda menolak umpan balik dan laporan yang sama akan mendapatkan jawaban yang sama.2307Pesan yang diawali `Couldn't send feedback` berarti layanan umpan balik tidak mengonfirmasi laporan yang Anda kirimkan dari [dialog `/feedback`, `/bug`, atau `/share`](https://code.claude.com/docs/id/commands#all-commands), atau [draf umpan balik](https://code.claude.com/docs/id/tools-reference.md#sendfeedback-tool-behavior) yang berada dalam antrean. Anggap laporan tersebut tidak diterima. Ketika kalimat tentang organisasi Anda muncul setelah titik dua, organisasi Anda menolak umpan balik.

2291 2308 

2292Contoh kedua dari dua contoh ini adalah penolakan organisasi:2309Contoh kedua adalah penolakan organisasi:

2293 2310 

2294```text wrap theme={null}2311```text wrap theme={null}

2295Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.2312Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.


2300**Yang harus dilakukan:**2317**Yang harus dilakukan:**

2301 2318 

2302* **Belum masuk**: pesan berlanjut dengan `: not signed in. Run /login, then retry.` Jalankan `/login`, lalu kirim lagi2319* **Belum masuk**: pesan berlanjut dengan `: not signed in. Run /login, then retry.` Jalankan `/login`, lalu kirim lagi

2303* **Penolakan organisasi Anda**: misalnya `: Feedback has not been enabled for your organization.` atau `: Feedback collection is not available for organizations with custom data retention policies.` Jika pesan menambahkan `To report a bug, open an issue`, lakukan di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Draf dalam antrean tetap berada dalam antrean, dan Anda dapat [membuangnya](https://code.claude.com/docs/id/tools-reference.md#discard-or-keep-a-draft)2320* **Penolakan organisasi Anda**: misalnya `: Feedback has not been enabled for your organization.` atau `: Feedback collection is not available for organizations with custom data retention policies.` Jika pesan menambahkan `To report a bug, open an issue`, lakukan di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Setelah itu, `/feedback` dapat menjawab bahwa fitur tersebut [dinonaktifkan oleh kebijakan organisasi Anda](#feedback-is-disabled-by-your-organizations-policy) selama tujuh hari. Draf dalam antrean tetap berada dalam antrean dan tetap [kedaluwarsa sesuai jadwal](https://code.claude.com/docs/id/tools-reference.md#discard-or-keep-a-draft)

2304* **Kredensial ditolak**: pesan berlanjut dengan `: the sign-in this session uses is not allowed to send feedback` atau `: the server did not accept the credentials this session uses`. Jalankan `/status` di prompt Claude Code untuk melihat login, token, atau kunci API mana yang dikirim sesi ini2321* **Kredensial ditolak**: pesan berlanjut dengan `: the sign-in this session uses is not allowed to send feedback` atau `: the server did not accept the credentials this session uses`. Jalankan `/status` di prompt Claude Code untuk melihat login, token, atau kunci API mana yang dikirim sesi ini

2305* **`(request timed out)` atau `(couldn't reach the service)` langsung setelah `Couldn't send feedback`**: kirim laporan atau draf dalam antrean lagi. Dialog menyimpan teks Anda, dan pesan untuk draf dalam antrean menyatakan `The draft is still queued.` Jika permintaan lain juga gagal, periksa koneksi jaringan Anda dan lihat [Unable to connect to API](#unable-to-connect-to-api). Jika terus gagal, ajukan laporan di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)2322* **`(request timed out)` atau `(couldn't reach the service)` langsung setelah `Couldn't send feedback`**: kirim laporan atau draf dalam antrean lagi. Dialog menyimpan teks Anda, dan pesan untuk draf dalam antrean menyatakan `The draft is still queued.` Jika permintaan lain juga gagal, periksa koneksi jaringan Anda dan lihat [Unable to connect to API](#unable-to-connect-to-api). Jika terus gagal, ajukan laporan di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)

2306* **`(server returned <status>)`, atau tanpa alasan, langsung setelah `Couldn't send feedback`**: status adalah kode respons layanan. Pesan layanan itu sendiri mengikutinya ketika layanan mengirimkannya, seperti dalam `(server returned 403: Access Forbidden)`. Jika terus gagal, ajukan laporan di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)2323* **`(server returned <status>)`, atau tanpa alasan, langsung setelah `Couldn't send feedback`**: status adalah kode respons layanan. Pesan layanan itu sendiri mengikutinya ketika layanan mengirimkannya, seperti dalam `(server returned 403: Access Forbidden)`. Jika terus gagal, ajukan laporan di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)


3431* **`Error: Workspace not trusted. <folder> is your home directory`**: karena kepercayaan untuk direktori home Anda tidak pernah disimpan, menjalankan `claude` di sana terlebih dahulu tidak dapat membantu. Jalankan `claude ultrareview` dari direktori proyek sebagai gantinya, setelah menjalankan `claude` di sana sekali untuk menerima dialog kepercayaan, atau tambahkan `--trust-workspace`.3448* **`Error: Workspace not trusted. <folder> is your home directory`**: karena kepercayaan untuk direktori home Anda tidak pernah disimpan, menjalankan `claude` di sana terlebih dahulu tidak dapat membantu. Jalankan `claude ultrareview` dari direktori proyek sebagai gantinya, setelah menjalankan `claude` di sana sekali untuk menerima dialog kepercayaan, atau tambahkan `--trust-workspace`.

3432* **`No answer in time.` diikuti `Error: Workspace not trusted`**: pertanyaan `Trust <folder>? [y/N]` tidak dijawab selama 5 menit. Jalankan `claude ultrareview` lagi dan jawab pertanyaan tersebut.3449* **`No answer in time.` diikuti `Error: Workspace not trusted`**: pertanyaan `Trust <folder>? [y/N]` tidak dijawab selama 5 menit. Jalankan `claude ultrareview` lagi dan jawab pertanyaan tersebut.

3433* **`Ultrareview did not start: <folder> is not trusted`**: Anda menolak pada pertanyaan `Trust <folder>? [y/N]`, misalnya dengan menjawab `n` atau menekan Enter. Untuk memulai review, jalankan `claude ultrareview` lagi dan jawab `y`.3450* **`Ultrareview did not start: <folder> is not trusted`**: Anda menolak pada pertanyaan `Trust <folder>? [y/N]`, misalnya dengan menjawab `n` atau menekan Enter. Untuk memulai review, jalankan `claude ultrareview` lagi dan jawab `y`.

3434* **``Ultrareview did not start: `--trust-workspace` takes no value``**: sesuatu selain flag mengikuti `--trust-workspace`, seperti nomor PR atau `false`. Jika Anda tidak memercayai folder tersebut, jangan sertakan flag tersebut. Untuk memercayainya untuk run ini, letakkan nomor PR atau base branch sebelum flag: `claude ultrareview 1234 --trust-workspace`.3451* **``Ultrareview did not start: `--trust-workspace` takes no value``**: sesuatu selain flag mengikuti `--trust-workspace`, seperti nomor PR atau `false`. Jika Anda tidak mempercayai folder tersebut, jangan sertakan flag tersebut. Untuk mempercayainya untuk run ini, letakkan nomor PR atau branch dasar sebelum flag: `claude ultrareview 1234 --trust-workspace`.

3435 3452 

3436Sebelum v2.1.309, `claude ultrareview` tidak menerima `--trust-workspace`.3453Sebelum v2.1.309, `claude ultrareview` tidak menerima `--trust-workspace`.

3437 3454 


3878 3895 

3879* **Anda tidak memberikan branch dasar**: Claude Code membandingkan dengan branch default repositori dan menyarankan untuk memberikan branch dasar Anda secara eksplisit, seperti pada contoh di atas3896* **Anda tidak memberikan branch dasar**: Claude Code membandingkan dengan branch default repositori dan menyarankan untuk memberikan branch dasar Anda secara eksplisit, seperti pada contoh di atas

3880* **Anda memberikan branch dasar yang sudah ada di clone Anda**: petunjuknya berbunyi ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3897* **Anda memberikan branch dasar yang sudah ada di clone Anda**: petunjuknya berbunyi ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3881* **Anda memberikan branch dasar yang tidak ada di clone Anda**: Claude Code mengambilnya dari origin sebelum membandingkan. Petunjuknya berbunyi ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; ketika Claude Code tidak dapat menentukan apakah clone Anda dangkal (shallow), Claude Code menyarankan `git fetch --unshallow origin` sebagai gantinya. Sebelum v2.1.221, petunjuk menyarankan `git fetch --unshallow origin` untuk setiap branch dasar yang diambil, dan pada clone yang lengkap perintah tersebut gagal dengan `fatal: --unshallow on a complete repository does not make sense`.3898* **Anda memberikan base branch yang tidak ada di clone Anda**: Claude Code mengambilnya dari origin sebelum membandingkan. Petunjuknya berbunyi ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; ketika Claude Code tidak dapat mengetahui apakah clone Anda dangkal, Claude Code menyarankan `git fetch --unshallow origin` sebagai gantinya. Sebelum v2.1.221, petunjuk menyarankan `git fetch --unshallow origin` untuk setiap base branch yang diambil, dan pada clone yang lengkap perintah tersebut gagal dengan `fatal: --unshallow on a complete repository does not make sense`.

3882 3899 

3883**Yang perlu dilakukan:**3900**Yang perlu dilakukan:**

3884 3901 


4227 4244 

4228### /feedback is disabled by your organization's policy4245### /feedback is disabled by your organization's policy

4229 4246 

4230Pesan ini berarti kebijakan organisasi Anda tidak mengizinkan umpan balik produk dari Claude Code, sehingga `/feedback`, `/bug`, dan `/share` tidak membuka dialog umpan balik. Pesan tersebut menyebutkan perintah yang Anda ketik di prompt Claude Code:4247Pesan ini berarti umpan balik produk dinonaktifkan, sehingga perintah yang Anda ketik tidak membuka dialog umpan balik. Kebijakan organisasi dan penolakan sebelumnya sama-sama menghasilkan pesan ini:

4248 

4249* **Kebijakan organisasi**: kebijakan organisasi Anda tidak mengizinkan umpan balik produk dari Claude Code. `/feedback`, `/bug`, dan `/share` semuanya menjawab dengan pesan ini.

4250* **Penolakan sebelumnya**: layanan umpan balik menolak laporan yang Anda kirim, misalnya dengan [`Couldn't send feedback: Feedback has not been enabled for your organization.`](#couldnt-send-feedback) `/feedback` dan `/bug` kemudian dapat menjawab dengan pesan ini. Hal ini berlaku selama tujuh hari sejak penolakan tersebut di mesin ini. Ini berlaku di setiap paket, termasuk Pro dan Max.

4251 

4252Pesan menyebutkan perintah yang Anda ketik di prompt Claude Code:

4231 4253 

4232```text wrap theme={null}4254```text wrap theme={null}

4233/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.4255/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.


4238**Yang harus dilakukan:**4260**Yang harus dilakukan:**

4239 4261 

4240* Untuk melaporkan bug, buka issue di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Siapa pun dapat membaca issue di sana, jadi jangan sertakan kode, transkrip, dan apa pun yang bersifat rahasia.4262* Untuk melaporkan bug, buka issue di [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Siapa pun dapat membaca issue di sana, jadi jangan sertakan kode, transkrip, dan apa pun yang bersifat rahasia.

4263* Setelah penolakan sebelumnya, tunggu hingga tujuh hari berlalu, lalu kirim laporan lagi untuk melihat apakah layanan masih menolaknya

4264 

4265Sebelum v2.1.319, penolakan sebelumnya tidak menghasilkan pesan ini.

4241 4266 

4242Sebelum v2.1.302, pesan lengkapnya berbunyi `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`4267Sebelum v2.1.302, pesan lengkapnya berbunyi `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`

4243 4268 


4654* Untuk memberi lebih banyak waktu bagi jawaban, atur [`timeout`](https://code.claude.com/docs/id/mcp#time-limits-on-mcp-tool-calls) yang lebih lama dalam milidetik di entri konfigurasi server, seperti `"timeout": 600000` untuk 10 menit4679* Untuk memberi lebih banyak waktu bagi jawaban, atur [`timeout`](https://code.claude.com/docs/id/mcp#time-limits-on-mcp-tool-calls) yang lebih lama dalam milidetik di entri konfigurasi server, seperti `"timeout": 600000` untuk 10 menit

4655* Jalankan tugas dalam sesi interaktif sebagai gantinya dan jawab sendiri [dialog](https://code.claude.com/docs/id/mcp.md#respond-to-mcp-elicitation-requests) server4680* Jalankan tugas dalam sesi interaktif sebagai gantinya dan jawab sendiri [dialog](https://code.claude.com/docs/id/mcp.md#respond-to-mcp-elicitation-requests) server

4656 4681 

4682### Permission prompt tool returned an invalid result

4683 

4684Tool yang Anda berikan ke [`--permission-prompt-tool`](https://code.claude.com/docs/id/cli-reference#cli-flags) mengembalikan jawaban yang tidak dapat dibaca Claude Code, sehingga panggilan tool yang menunggunya tidak berjalan, bahkan jika jawaban tersebut mengizinkan panggilan itu:

4685 

4686```text wrap theme={null}

4687Permission prompt tool returned an invalid result. Expected a single text block param with type="text" and a string text value.

4688```

4689 

4690**What to do:**

4691 

4692* Kembalikan satu blok teks yang teksnya adalah `{"behavior": "allow"}` atau `{"behavior": "deny", "message": "<reason>"}`. Untuk mengubah input, tambahkan `updatedInput` ke objek `allow`. Dari v2.1.86 hingga v2.1.206, `allow` memerlukan `"updatedInput": {}` untuk mempertahankan input.

4693* Jangan kembalikan [`structuredContent`](https://code.claude.com/docs/id/agent-sdk/custom-tools#return-structured-data), yang mungkin ditambahkan MCP SDK Anda dengan sendirinya. Misalnya, daftarkan tool:

4694 * **`FastMCP` atau `MCPServer` dari `mcp.server`**: dengan `structured_output=False`

4695 * **`FastMCP` dari `fastmcp`**: dengan `output_schema=None`, dan kembalikan string

4696 * **MCP TypeScript SDK**: tanpa `outputSchema`

4697* Jika kesalahan hanya muncul dengan input sekitar 40 KB atau lebih, jangan salin input ke `updatedInput` atau `message` dari penolakan. Untuk mengubah input sebesar itu, [naikkan batas output tool prompt Anda](https://code.claude.com/docs/id/mcp.md#raise-the-limit-for-a-specific-tool).

4698 

4657### Agent would be spawned with zero tools4699### Agent would be spawned with zero tools

4658 4700 

4659Setiap entri dalam [`tools` list](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields) subagent gagal cocok dengan tool yang dapat digunakan, jadi Claude Code menolak untuk meluncurkan subagent: tanpa tool, subagent tidak bisa bertindak. Pesan mengelompokkan entri Anda berdasarkan apa yang salah:4701Setiap entri dalam [`tools` list](https://code.claude.com/docs/id/sub-agents#supported-frontmatter-fields) subagent gagal cocok dengan tool yang dapat digunakan, jadi Claude Code menolak untuk meluncurkan subagent: tanpa tool, subagent tidak bisa bertindak. Pesan mengelompokkan entri Anda berdasarkan apa yang salah:


6432 6474 

6433Sebelum v2.1.257, `claude doctor` tidak menandai file-file ini; versi-versi sebelumnya meninggalkan placeholder yang sama di belakang ketika sesi dibunuh.6475Sebelum v2.1.257, `claude doctor` tidak menandai file-file ini; versi-versi sebelumnya meninggalkan placeholder yang sama di belakang ketika sesi dibunuh.

6434 6476 

6477### Two Claude Code config files exist

6478 

6479Claude Code menggunakan file pertama yang disebutkan pesan ini, sehingga isi file kedua tidak berlaku. File pertama adalah `.config.json`, nama lama untuk [`.claude.json`](https://code.claude.com/docs/id/claude-directory#ce-claude-json). Pesan tersebut menyertakan pemeriksaan untuk mengetahui file mana yang menyimpan penyiapan Anda:

6480 

6481```text wrap theme={null}

6482Two Claude Code config files exist: this run uses /home/you/.claude/.config.json, not /home/you/.claude.json. The file with the higher count here is usually yours, and this prints nothing else from them: grep -c -E '"(hasCompletedOnboarding|mcpServers)"' "/home/you/.claude/.config.json" "/home/you/.claude.json". To end this: if several hosts share this home, first get every host to version 2.1.319 or later, since an older one can write a moved .config.json back. Then stop your Claude processes on every host, move aside the one you do not want, and start none until no host lists it.

6483```

6484 

6485Di Windows, `The one with hasCompletedOnboarding or mcpServers in it is usually yours.` menggantikan kalimat yang berisi perintah `grep`.

6486 

6487**Yang harus dilakukan:**

6488 

6489**1. Temukan file yang menyimpan penyiapan Anda**

6490 

6491* **Di Windows**: buka kedua file dan lihat mana yang berisi `hasCompletedOnboarding` atau `mcpServers`

6492* **Di platform lain**: di shell Anda, jalankan perintah `grep` dari pesan dan lihat file mana yang memiliki hitungan lebih tinggi

6493 

6494**2. Perbarui setiap host yang berbagi direktori home**

6495 

6496Jika beberapa host berbagi direktori home ini, perbarui terlebih dahulu Claude Code di setiap host ke versi yang disebutkan pesan atau yang lebih baru. Versi yang lebih lama dapat menulis kembali `.config.json` yang telah dipindahkan.

6497 

6498**3. Hentikan Claude Code**

6499 

6500Hentikan proses Claude Code Anda di setiap host.

6501 

6502**4. Pindahkan file yang tidak Anda inginkan**

6503 

6504Pindahkan file yang tidak Anda inginkan keluar dari foldernya. Pindahkan, jangan hapus, sehingga Anda dapat mengembalikannya.

6505 

6506**5. Tunggu sebelum memulai Claude Code lagi**

6507 

6508Jangan memulai Claude Code di host mana pun sampai tidak ada host yang masih mencantumkan file yang dipindahkan di jalur lamanya.

6509 

6510Pesan berhenti muncul setelah salah satu dari kedua file tersebut tidak ada lagi.

6511 

6435### Make this change again later: \~/.claude.json could not be updated6512### Make this change again later: \~/.claude.json could not be updated

6436 6513 

6437Pemberitahuan di stderr ini berarti sebuah perubahan pada [`~/.claude.json`](https://code.claude.com/docs/id/claude-directory#ce-claude-json), seperti sign-in atau jawaban atas prompt kepercayaan, tidak tersimpan ke file tersebut:6514Pemberitahuan di stderr ini berarti sebuah perubahan pada [`~/.claude.json`](https://code.claude.com/docs/id/claude-directory#ce-claude-json), seperti sign-in atau jawaban atas prompt kepercayaan, tidak tersimpan ke file tersebut:


6450 6527 

6451* [`--fallback-model`](https://code.claude.com/docs/id/cli-reference#cli-flags) yang dikonfigurasi mengambil alih setelah kesalahan ketersediaan, hanya untuk giliran itu, dengan pemberitahuan dalam transkrip6528* [`--fallback-model`](https://code.claude.com/docs/id/cli-reference#cli-flags) yang dikonfigurasi mengambil alih setelah kesalahan ketersediaan, hanya untuk giliran itu, dengan pemberitahuan dalam transkrip

6452* Pemeriksaan startup Amazon Bedrock atau Google Cloud's Agent Platform menemukan model default Anda tidak tersedia, atau akun Anda [kehilangan akses ke sana di tengah sesi](https://code.claude.com/docs/id/amazon-bedrock.md#when-a-model-is-disabled-mid-session)6529* Pemeriksaan startup Amazon Bedrock atau Google Cloud's Agent Platform menemukan model default Anda tidak tersedia, atau akun Anda [kehilangan akses ke sana di tengah sesi](https://code.claude.com/docs/id/amazon-bedrock.md#when-a-model-is-disabled-mid-session)

6453* [Fallback model otomatis](https://code.claude.com/docs/id/model-config.md#automatic-model-fallback) pada Fable 5.1, Fable 5, Opus 5.5, Sonnet 5.5, dan Opus 5 memindahkan sesi ke model fallback kategori yang ditandai, ketika kategori itu memiliki satu, dan menampilkan pemberitahuan dalam transkrip6530* [Fallback model otomatis](https://code.claude.com/docs/id/model-config.md#automatic-model-fallback) pada model Fable, Opus 5.5, Sonnet 5.5, dan Opus 5 memindahkan sesi ke model fallback kategori yang ditandai, ketika kategori itu memiliki satu. Pemberitahuan muncul dalam transkrip

6454 6531 

6455Pemeriksaan Model selection di bawah menangkap kasus kedua dan ketiga; yang pertama muncul sebagai pemberitahuan transkrip daripada perubahan `/model`. [Model configuration](https://code.claude.com/docs/id/model-config.md) menjelaskan kapan setiap fallback berlaku.6532Pemeriksaan Model selection di bawah menangkap kasus kedua dan ketiga; yang pertama muncul sebagai pemberitahuan transkrip daripada perubahan `/model`. [Model configuration](https://code.claude.com/docs/id/model-config.md) menjelaskan kapan setiap fallback berlaku.

6456 6533 

fast-mode.md +22 −17

Details

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

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

4 4 

5# Percepat respons dengan mode cepat5# Percepat respons dengan fast mode

6 6 

7> Dapatkan respons Opus yang lebih cepat di Claude Code dengan mengaktifkan mode cepat.7> Dapatkan respons Opus dan Fable yang lebih cepat di Claude Code dengan mengaktifkan atau menonaktifkan fast mode menggunakan `/fast`.

8 8 

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

10>10>

11> Fast mode untuk Claude Opus 5.5 sudah tersedia, dan fast mode untuk Claude Opus 5 dan Claude Opus 4.8 berada dalam [research preview](#research-preview).11> Fast mode untuk Claude Fable 5.2 dan Claude Opus 5.5 sudah tersedia. Fast mode untuk Claude Opus 5 dan Claude Opus 4.8 berada dalam [research preview](#research-preview).

12 12 

13Mode cepat adalah konfigurasi kecepatan tinggi untuk Claude Opus, membuat model hingga 2,5x lebih cepat dengan biaya per token yang lebih tinggi. Aktifkan dengan `/fast` ketika Anda membutuhkan kecepatan untuk pekerjaan interaktif seperti iterasi cepat atau debugging langsung, dan nonaktifkan ketika biaya lebih penting daripada latensi.13Fast mode adalah konfigurasi kecepatan tinggi untuk model yang didukung, membuat model hingga 2,5x lebih cepat dengan biaya per token yang lebih tinggi. Aktifkan dengan `/fast` ketika Anda membutuhkan kecepatan untuk pekerjaan interaktif seperti iterasi cepat atau debugging langsung, dan nonaktifkan ketika biaya lebih penting daripada latensi.

14 14 

15Mode cepat bukan model yang berbeda. Mode ini menggunakan Claude Opus dengan konfigurasi API berbeda yang memprioritaskan kecepatan daripada efisiensi biaya. Anda mendapatkan kualitas dan kemampuan yang identik dengan respons yang lebih cepat. Mode cepat didukung pada Opus 5.5, Opus 5, dan Opus 4.8. Mode ini tidak tersedia pada Sonnet, Haiku, atau model lainnya.15Fast mode menggunakan model yang sama dengan konfigurasi API berbeda yang memprioritaskan kecepatan daripada efisiensi biaya, sehingga kualitas dan kemampuannya tetap sama. Fast mode didukung pada Fable 5.2, Opus 5.5, Opus 5, dan Opus 4.8. Mode ini tidak tersedia pada Sonnet, Haiku, atau model lainnya.

16 16 

17> [!WARNING]17> [!WARNING]

18>18>


26Yang perlu diketahui:26Yang perlu diketahui:

27 27 

28* Gunakan `/fast` untuk mengaktifkan mode cepat di Claude Code CLI. Ekstensi [VS Code](https://code.claude.com/docs/id/vs-code.md) menawarkan perintah **Toggle fast mode** ketika model yang dipilih mendukung mode cepat. Claude Code menyimpan pengaturan tersebut ke pengaturan [`fastMode`](#toggle-fast-mode) Anda.28* Gunakan `/fast` untuk mengaktifkan mode cepat di Claude Code CLI. Ekstensi [VS Code](https://code.claude.com/docs/id/vs-code.md) menawarkan perintah **Toggle fast mode** ketika model yang dipilih mendukung mode cepat. Claude Code menyimpan pengaturan tersebut ke pengaturan [`fastMode`](#toggle-fast-mode) Anda.

29* Harga mode cepat per MTok input/output adalah \$8/\$40 pada Opus 5.5 dan \$10/\$50 pada Opus 5 dan Opus 4.8.29* Harga fast mode per MTok input/output adalah \$16/\$80 pada Fable 5.2, \$8/\$40 pada Opus 5.5, dan \$10/\$50 pada Opus 5 dan Opus 4.8.

30* Tersedia untuk pengguna Claude Code pada paket langganan (Pro/Max/Ultra/Team/Enterprise) dan di Claude Console. Organisasi Team dan Enterprise memerlukan Owner untuk mengaktifkannya terlebih dahulu, dan organisasi Console memerlukan akses yang disediakan terlebih dahulu untuk menggunakannya dengan Opus 5 atau Opus 4.8. [Persyaratan](#requirements) menjelaskan keduanya.30* Tersedia untuk pengguna Claude Code pada paket langganan (Pro/Max/Ultra/Team/Enterprise) dan di Claude Console. Organisasi Team dan Enterprise memerlukan Owner untuk mengaktifkannya terlebih dahulu, dan organisasi Console memerlukan akses yang disediakan terlebih dahulu untuk menggunakannya dengan Opus 5 atau Opus 4.8. [Persyaratan](#requirements) menjelaskan keduanya.

31* Untuk pengguna Claude Code pada paket langganan (Pro/Max/Ultra/Team/Enterprise), fast mode tersedia hanya melalui kredit penggunaan dan tidak termasuk dalam rate limit langganan.31* Untuk pengguna Claude Code pada paket langganan (Pro/Max/Ultra/Team/Enterprise), fast mode tersedia hanya melalui kredit penggunaan dan tidak termasuk dalam rate limit langganan.

32 32 


35Di CLI, aktifkan atau nonaktifkan fast mode dengan salah satu cara berikut:35Di CLI, aktifkan atau nonaktifkan fast mode dengan salah satu cara berikut:

36 36 

37* Jalankan `/fast`, tekan Space untuk mengaktifkan atau menonaktifkan, lalu tekan Enter untuk mengonfirmasi37* Jalankan `/fast`, tekan Space untuk mengaktifkan atau menonaktifkan, lalu tekan Enter untuk mengonfirmasi

38* Pada model yang mendukung fast mode, atur `"fastMode": true` di [file pengaturan pengguna](https://code.claude.com/docs/id/settings.md) Anda. Jika Anda mengaturnya pada model lain, Anda tetap menggunakan model tersebut dengan fast mode nonaktif.38* Pada model yang mendukung fast mode, atur `"fastMode": true` di [file pengaturan pengguna](https://code.claude.com/docs/id/settings.md) Anda. Jika Anda mengaturnya pada model lain, Anda tetap menggunakan model tersebut dengan fast mode nonaktif. Pada Fable 5.2, pengaturan tersebut saja tidak berpengaruh hingga Anda menjalankan `/fast` saat menggunakan Fable 5.2.

39 39 

40Secara default, fast mode yang Anda aktifkan dalam sesi interaktif akan tetap berlaku di seluruh sesi pada model yang didukung. Anda dapat mengonfigurasi fast mode agar diatur ulang di setiap sesi. Lihat [mewajibkan opt-in per sesi](#require-per-session-opt-in) untuk detailnya.40Secara default, fast mode yang Anda aktifkan dalam sesi interaktif akan tetap berlaku di seluruh sesi pada model yang didukung. Pada Fable 5.2, fast mode hanya tetap berlaku jika Anda [mengaktifkannya saat menggunakan Fable 5.2](#switch-models-while-fast-mode-is-on). Anda dapat mengonfigurasi fast mode agar diatur ulang di setiap sesi. Lihat [mewajibkan opt-in per sesi](#require-per-session-opt-in) untuk detailnya.

41 41 

42Di luar [sesi cloud](#use-fast-mode-in-cloud-sessions), dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md) dengan flag `-p`, `/fast` hanya berfungsi dalam sesi yang diluncurkan dengan fast mode di nilai [`--settings`](https://code.claude.com/docs/id/cli-reference#cli-flags)-nya, misalnya `claude -p --settings '{"fastMode": true}'`; pengalihan tersebut kemudian hanya berlaku untuk sesi itu dan tidak disimpan sebagai default Anda. Bentuk `-p` memerlukan Claude Code v2.1.205 atau yang lebih baru. Di tempat lain dalam mode non-interaktif, perintah tersebut melaporkan bahwa fast mode tidak tersedia.42Di luar [sesi cloud](#use-fast-mode-in-cloud-sessions), dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md) dengan flag `-p`, `/fast` hanya berfungsi dalam sesi yang diluncurkan dengan fast mode di nilai [`--settings`](https://code.claude.com/docs/id/cli-reference#cli-flags)-nya, misalnya `claude -p --settings '{"fastMode": true}'`; pengalihan tersebut kemudian hanya berlaku untuk sesi itu dan tidak disimpan sebagai default Anda. Bentuk `-p` memerlukan Claude Code v2.1.205 atau yang lebih baru. Di tempat lain dalam mode non-interaktif, perintah tersebut melaporkan bahwa fast mode tidak tersedia.

43 43 


48Saat Anda mengaktifkan fast mode dengan `/fast`:48Saat Anda mengaktifkan fast mode dengan `/fast`:

49 49 

50* Jika model Anda saat ini tidak mendukung fast mode, Claude Code beralih ke Opus50* Jika model Anda saat ini tidak mendukung fast mode, Claude Code beralih ke Opus

51* Fast mode pada Fable 5.2 memerlukan Claude Code v2.1.321 atau yang lebih baru

51* Anda akan melihat pesan konfirmasi: "Fast mode ON"52* Anda akan melihat pesan konfirmasi: "Fast mode ON"

52* Ikon kecil `↯` muncul di samping prompt selama fast mode aktif53* Ikon kecil `↯` muncul di samping prompt selama fast mode aktif

53* Jalankan `/fast` lagi kapan saja untuk memeriksa apakah fast mode aktif atau tidak54* Jalankan `/fast` lagi kapan saja untuk memeriksa apakah fast mode aktif atau tidak

54 55 

55Opus 5.5 adalah default fast mode di Claude Code v2.1.280 dan yang lebih baru. Sebelum v2.1.280, fast mode secara default menggunakan Opus 5 sejak v2.1.219.56Opus 5.5 adalah default fast mode di Claude Code v2.1.280 dan yang lebih baru. Sebelum v2.1.280, fast mode secara default menggunakan Opus 5 sejak v2.1.219.

56 57 

57Saat Anda menonaktifkan fast mode dengan `/fast` lagi, Anda tetap menggunakan Opus. Untuk beralih ke model lain, gunakan `/model`.58Saat Anda menonaktifkan fast mode dengan `/fast` lagi, Anda tetap menggunakan model Anda saat ini. Untuk beralih ke model lain, gunakan `/model`.

58 59 

59### Beralih model saat fast mode aktif60### Beralih model saat fast mode aktif

60 61 

61Fast mode mengikuti peralihan model Anda di kedua arah:62Fast mode mengikuti peralihan model Anda:

62 63 

63* **Beralih dari model yang didukung**: saat Anda beralih ke model yang tidak mendukung fast mode, Claude Code mematikan fast mode. Ini termasuk Opus 4.7; sebelum v2.1.221, fast mode tetap aktif setelah beralih ke Opus 4.7 dan API menolak permintaan tersebut.64* **Beralih dari model yang didukung**: saat Anda beralih ke model yang tidak mendukung fast mode, Claude Code mematikan fast mode. Ini termasuk Opus 4.7; sebelum v2.1.221, fast mode tetap aktif setelah beralih ke Opus 4.7 dan API menolak permintaan tersebut.

64* **Beralih kembali**: beralih kembali ke model Opus yang didukung akan mengaktifkan fast mode lagi jika preferensi fast mode yang Anda simpan aktif, yaitu preferensi yang sama yang secara default menjadi titik awal sesi baru. Peralihan model tidak pernah mengaktifkan fast mode untuk sesi yang preferensi tersimpannya nonaktif, dan jika [opt-in per sesi](#require-per-session-opt-in) dikonfigurasi, beralih kembali juga tidak mengaktifkannya; jalankan `/fast` untuk mengaktifkannya kembali.65* **Beralih kembali**: fast mode aktif kembali pada model Opus yang didukung jika preferensi tersimpan Anda aktif. Dengan [opt-in per sesi](#require-per-session-opt-in), jalankan `/fast` sebagai gantinya.

66* **Beralih ke Fable 5.2**: fast mode dimatikan kecuali Anda mengaktifkannya saat menggunakan Fable 5.2. Untuk mengaktifkannya, jalankan `/fast` pada Fable 5.2. Kecuali Anda telah mengatur [opt-in per sesi](#require-per-session-opt-in), pengaturan itu tetap berlaku di seluruh sesi hingga Anda mematikannya atau mengaktifkannya dengan model lain.

65 67 

66Setiap kali peralihan model mengaktifkan atau mematikan fast mode, Claude Code menampilkan konfirmasi `Fast mode ON` atau `Fast mode OFF`, dan ikon `↯` muncul selama fast mode aktif. Hal ini berlaku baik Anda beralih dengan `/model`, dengan [`/config model=<model>`](https://code.claude.com/docs/id/settings), maupun dari perangkat yang terhubung melalui [Remote Control](https://code.claude.com/docs/id/remote-control.md).68Setiap kali peralihan model mengaktifkan atau mematikan fast mode, Claude Code menampilkan konfirmasi `Fast mode ON` atau `Fast mode OFF`, dan ikon `↯` muncul selama fast mode aktif. Hal ini berlaku baik Anda beralih dengan `/model`, dengan [`/config model=<model>`](https://code.claude.com/docs/id/settings), maupun dari perangkat yang terhubung melalui [Remote Control](https://code.claude.com/docs/id/remote-control.md).

67 69 


77 79 

78## Pahami pertukaran biaya80## Pahami pertukaran biaya

79 81 

80Mode cepat memiliki harga per-token yang lebih tinggi daripada Opus standar:82Fast mode memiliki harga per-token yang lebih tinggi daripada kecepatan standar:

81 83 

82| Model | Input (MTok) | Output (MTok) |84| Model | Input (MTok) | Output (MTok) |

83| - | - | - |85| - | - | - |

86| Fable 5.2 | \$16 | \$80 |

84| Opus 5.5 | \$8 | \$40 |87| Opus 5.5 | \$8 | \$40 |

85| Opus 5 | \$10 | \$50 |88| Opus 5 | \$10 | \$50 |

86| Opus 4.8 | \$10 | \$50 |89| Opus 4.8 | \$10 | \$50 |

87 90 

88Harga mode cepat datar di seluruh jendela konteks 1M token penuh. Untuk tarif Opus standar yang akan dibandingkan, lihat [referensi harga Claude](https://platform.claude.com/docs/id/about-claude/pricing).91Harga fast mode datar di seluruh context window 1M token penuh. Untuk tarif standar yang akan dibandingkan, lihat [referensi harga Claude](https://platform.claude.com/docs/id/about-claude/pricing).

89 92 

90Pertama kali Anda mengaktifkan fast mode dalam percakapan, Anda membayar harga token input tanpa cache fast mode penuh untuk seluruh konteks percakapan. Semakin dalam Anda berada dalam percakapan, semakin mahal biayanya, jadi biaya ini paling kecil ketika Anda mengaktifkan fast mode di awal. Fast mode dan kecepatan standar menyimpan [cache terpisah](https://code.claude.com/docs/id/prompt-caching.md#turning-on-fast-mode), sehingga setiap peralihan berikutnya membaca sebagian atau seluruh percakapan tanpa cache lagi.93Pertama kali Anda mengaktifkan fast mode dalam percakapan, Anda membayar harga token input tanpa cache fast mode penuh untuk seluruh konteks percakapan. Semakin dalam Anda berada dalam percakapan, semakin mahal biayanya, jadi biaya ini paling kecil ketika Anda mengaktifkan fast mode di awal. Fast mode dan kecepatan standar menyimpan [cache terpisah](https://code.claude.com/docs/id/prompt-caching.md#turning-on-fast-mode), sehingga setiap peralihan berikutnya membaca sebagian atau seluruh percakapan tanpa cache lagi.

91 94 


137 140 

138* **Organisasi Konsol berbayar**: akun Claude Konsol tidak menggunakan penggunaan kredit, dan organisasi Anda membayar mode cepat per token bersama dengan penggunaan API lainnya. Pada paket Evaluasi gratis Konsol, `/fast` menampilkan "Fast mode unavailable during evaluation. Please purchase credits." Untuk menghapusnya, beli kredit di [pengaturan penagihan Konsol Anda](https://platform.claude.com/settings/billing).141* **Organisasi Konsol berbayar**: akun Claude Konsol tidak menggunakan penggunaan kredit, dan organisasi Anda membayar mode cepat per token bersama dengan penggunaan API lainnya. Pada paket Evaluasi gratis Konsol, `/fast` menampilkan "Fast mode unavailable during evaluation. Please purchase credits." Untuk menghapusnya, beli kredit di [pengaturan penagihan Konsol Anda](https://platform.claude.com/settings/billing).

139 142 

140 Fast mode dengan Opus 5.5 juga bergantung pada [tingkat penggunaan](https://platform.claude.com/docs/en/api/rate-limits) organisasi Anda.143 Fast mode dengan Fable 5.2 atau Opus 5.5 juga bergantung pada [tingkat penggunaan](https://platform.claude.com/docs/en/api/rate-limits) organisasi Anda.

141* **Aktivasi Owner untuk Teams dan Enterprise**: mode cepat dinonaktifkan secara default untuk organisasi Teams dan Enterprise. Seorang Owner harus secara eksplisit [mengaktifkan mode cepat](#enable-fast-mode-for-your-organization) sebelum pengguna dapat mengaksesnya.144* **Aktivasi Owner untuk Teams dan Enterprise**: mode cepat dinonaktifkan secara default untuk organisasi Teams dan Enterprise. Seorang Owner harus secara eksplisit [mengaktifkan mode cepat](#enable-fast-mode-for-your-organization) sebelum pengguna dapat mengaksesnya.

142 145 

143> [!NOTE]146> [!NOTE]


147> * **Mode cepat tidak diaktifkan**: jika mode cepat belum diaktifkan untuk organisasi Anda, mengaktifkan mode cepat dengan `/fast` menampilkan "Fast mode has been disabled by your organization."150> * **Mode cepat tidak diaktifkan**: jika mode cepat belum diaktifkan untuk organisasi Anda, mengaktifkan mode cepat dengan `/fast` menampilkan "Fast mode has been disabled by your organization."

148> * **Mode cepat dimatikan oleh pengaturan yang dikelola**: jika organisasi Anda menerapkan [pengaturan yang dikelola](https://code.claude.com/docs/id/managed-settings.md) yang menetapkan [`fastMode: false`](https://code.claude.com/docs/id/settings-reference#fastmode), mengaktifkan mode cepat dengan `/fast` menampilkan pesan "Fast mode has been disabled by your organization" yang sama.151> * **Mode cepat dimatikan oleh pengaturan yang dikelola**: jika organisasi Anda menerapkan [pengaturan yang dikelola](https://code.claude.com/docs/id/managed-settings.md) yang menetapkan [`fastMode: false`](https://code.claude.com/docs/id/settings-reference#fastmode), mengaktifkan mode cepat dengan `/fast` menampilkan pesan "Fast mode has been disabled by your organization" yang sama.

149> * **Opt-in per sesi diperlukan**: pengaturan yang dikelola yang menetapkan [`fastModePerSessionOptIn: true`](#require-per-session-opt-in) menolak `/fast on` dengan pesan yang sama di mana-mana kecuali sesi terminal interaktif.152> * **Opt-in per sesi diperlukan**: pengaturan yang dikelola yang menetapkan [`fastModePerSessionOptIn: true`](#require-per-session-opt-in) menolak `/fast on` dengan pesan yang sama di mana-mana kecuali sesi terminal interaktif.

150> * **Model mode cepat tidak diizinkan**: jika daftar allowlist [`availableModels`](https://code.claude.com/docs/id/model-config#restrict-model-selection) organisasi Anda mengecualikan model Opus mode cepat, mengaktifkannya ditolak dengan "is not in your organization's allowed models". Dalam sesi yang sudah berjalan pada model Opus yang diizinkan yang mendukung mode cepat, `/fast` malah mengaktifkan mode cepat pada model Anda saat ini tanpa beralih model.153> * **Model fast mode tidak diizinkan**: jika allowlist [`availableModels`](https://code.claude.com/docs/id/model-config#restrict-model-selection) organisasi Anda mengecualikan model Opus fast mode, mengaktifkannya ditolak dengan "is not in your organization's allowed models". Dalam sesi yang sudah berjalan pada model yang diizinkan yang mendukung fast mode, `/fast` malah mengaktifkan fast mode pada model Anda saat ini tanpa beralih model.

151 154 

152### Aktifkan mode cepat untuk organisasi Anda155### Aktifkan mode cepat untuk organisasi Anda

153 156 


196 199 

197### Require per-session opt-in200### Require per-session opt-in

198 201 

199Secara default, fast mode yang diaktifkan pengguna dalam sesi interaktif bertahan di seluruh sesi pada model yang didukung. Untuk mengubah ini, atur `fastModePerSessionOptIn` ke `true` di [file pengaturan](https://code.claude.com/docs/id/settings.md#where-settings-live) apa pun, yang menyebabkan setiap sesi dimulai dengan fast mode mati dan mengharuskan pengguna untuk secara eksplisit mengaktifkannya dengan `/fast`. Owner pada paket [Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) atau [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) dapat menerapkannya di seluruh organisasi melalui [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md).202Secara default, fast mode yang diaktifkan pengguna dalam sesi interaktif bertahan di seluruh sesi pada model yang didukung. Pada Fable 5.2, fast mode hanya bertahan jika pengguna [mengaktifkannya saat menggunakan Fable 5.2](#switch-models-while-fast-mode-is-on).

203 

204Agar setiap sesi dimulai dengan fast mode mati, atur `fastModePerSessionOptIn` ke `true` di [file pengaturan](https://code.claude.com/docs/id/settings.md#where-settings-live) apa pun. Pengguna kemudian mengaktifkannya dengan `/fast` di setiap sesi. Owner pada paket [Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) atau [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) dapat menerapkannya di seluruh organisasi melalui [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md).

200 205 

201```json theme={null}206```json theme={null}

202{207{


210 215 

211## Tangani batas laju216## Tangani batas laju

212 217 

213Fast mode memiliki rate limit terpisah dari Opus standar; untuk organisasi Console, halaman [rate limit](https://platform.claude.com/docs/en/api/rate-limits) di Claude Platform menjelaskannya. Ketika Anda mencapai rate limit fast mode:218Fast mode memiliki rate limit terpisah dari kecepatan standar; untuk organisasi Console, halaman [rate limit](https://platform.claude.com/docs/en/api/rate-limits) di Claude Platform menjelaskannya. Ketika Anda mencapai rate limit fast mode:

214 219 

2151. Mode cepat secara otomatis kembali ke kecepatan standar2201. Mode cepat secara otomatis kembali ke kecepatan standar

2162. Ikon `↯` berubah menjadi abu-abu untuk menunjukkan cooldown2212. Ikon `↯` berubah menjadi abu-abu untuk menunjukkan cooldown

hooks.md +12 −4

Details

1089 1089 

1090#### Memancarkan notifikasi terminal1090#### Memancarkan notifikasi terminal

1091 1091 

1092Hook berjalan tanpa terminal pengendali, sehingga menulis escape sequence langsung ke `/dev/tty` akan gagal. Sebagai gantinya, kembalikan escape sequence di field `terminalSequence` dan Claude Code memancarkannya untuk Anda melalui jalur penulisan terminalnya sendiri. Cara ini bebas race condition, berfungsi di dalam tmux dan GNU screen, dan berfungsi di Windows yang tidak memiliki `/dev/tty`.1092Hook berjalan tanpa terminal pengendali, sehingga menulis escape sequence langsung ke `/dev/tty` akan gagal. Sebagai gantinya, kembalikan escape sequence di field `terminalSequence` dan Claude Code memancarkannya untuk Anda melalui jalur penulisan terminalnya sendiri. Cara ini bebas race condition dan berfungsi di Windows yang tidak memiliki `/dev/tty`.

1093 1093 

1094Field ini menerima string berisi satu atau lebih escape sequence yang ada di allowlist:1094Field ini menerima string berisi satu atau lebih escape sequence yang ada di allowlist:

1095 1095 


1101 1101 

1102Sequence dapat diakhiri dengan BEL atau dengan ST. Apa pun di luar allowlist, termasuk sequence kursor dan warna CSI, sequence palet OSC, hyperlink OSC 8, penulisan clipboard OSC 52, dan OSC 1337, ditolak dan field diabaikan.1102Sequence dapat diakhiri dengan BEL atau dengan ST. Apa pun di luar allowlist, termasuk sequence kursor dan warna CSI, sequence palet OSC, hyperlink OSC 8, penulisan clipboard OSC 52, dan OSC 1337, ditolak dan field diabaikan.

1103 1103 

1104Claude Code menulis sequence tersebut sendiri ketika memproses output hook Anda, sehingga field ini berfungsi pada event yang membuang `systemMessage` dan `continue`, seperti `Notification` dan `StopFailure`. Field ini memiliki dua batasan:1104Claude Code menulis sequence tersebut sendiri ketika memproses output hook Anda, sehingga field ini berfungsi pada event yang membuang `systemMessage` dan `continue`, seperti `Notification` dan `StopFailure`. Field ini memiliki beberapa batasan:

1105 1105 

1106* Claude Code menulis sequence hanya dalam sesi interaktif, dan hanya selama antarmukanya ada di layar. Dalam mode non-interaktif dengan flag `-p` dan di Agent SDK, Claude Code mengabaikan field ini.1106* Claude Code menulis sequence hanya dalam sesi interaktif, dan hanya selama antarmukanya terbuka. Dalam mode non-interaktif dengan flag `-p` dan di Agent SDK, Claude Code mengabaikan field ini.

1107* Field ini hanya berfungsi dari hook yang tidak berjalan di [latar belakang](#run-hooks-in-the-background), jadi biarkan `async` dan `asyncRewake` nonaktif.

1107* Hook perintah `WorktreeCreate` tidak dapat mengembalikan JSON, karena Claude Code membaca stdout-nya sebagai path worktree. Hook HTTP `WorktreeCreate` mengembalikan JSON dan dapat menyertakan field ini.1108* Hook perintah `WorktreeCreate` tidak dapat mengembalikan JSON, karena Claude Code membaca stdout-nya sebagai path worktree. Hook HTTP `WorktreeCreate` mengembalikan JSON dan dapat menyertakan field ini.

1108 1109 

1109Contoh di bawah memicu notifikasi desktop dari hook `Notification`. Escape sequence dibuat dengan escape oktal `printf` sehingga byte kontrol tidak pernah muncul di baris perintah shell, dan `jq -n --arg` membuat output JSON sehingga tanda kutip, backslash, dan baris baru dalam pesan notifikasi di-escape dengan benar:1110Jika Anda menggunakan tmux atau GNU screen, selesaikan [penyiapan untuk keduanya](#get-terminal-notifications-inside-tmux-or-gnu-screen) terlebih dahulu. Contoh di bawah memicu notifikasi desktop dari hook `Notification` di terminal yang membaca OSC `777`, seperti Ghostty atau Warp. Pemanggilan `jq -nc --arg` dalam skrip membuat output JSON dan meng-escape tanda kutip, backslash, dan baris baru apa pun dalam pesan notifikasi:

1110 1111 

1111```bash theme={null}1112```bash theme={null}

1112#!/bin/bash1113#!/bin/bash


1120 1121 

1121Bentuk `{ "terminalSequence": "..." }` sama dari shell atau bahasa apa pun.1122Bentuk `{ "terminalSequence": "..." }` sama dari shell atau bahasa apa pun.

1122 1123 

1124#### Mendapatkan notifikasi terminal di dalam tmux atau GNU screen

1125 

1126Ketika Claude Code berjalan di dalam tmux atau GNU screen, sequence OSC memerlukan hal berikut agar sampai ke aplikasi terminal Anda:

1127 

1128* **tmux 3.3 atau lebih baru**: tambahkan `set -g allow-passthrough on` ke `~/.tmux.conf`, lalu jalankan `tmux source-file ~/.tmux.conf` dari shell. Opsi ini berlaku untuk setiap program di pane tersebut, bukan hanya Claude Code. Dengan `on`, hanya pane yang sedang ditampilkan tmux yang dapat mengirimkannya. Agar pane lain dalam sesi yang Anda lampirkan juga dapat mengirimkannya, gunakan `all` sebagai pengganti `on`, pada tmux 3.4 atau lebih baru.

1129* **GNU screen**: biarkan jendela Claude Code tetap ditampilkan di screen, karena sequence dari jendela latar belakang tidak sampai ke aplikasi terminal Anda

1130 

1123#### Menambahkan konteks untuk Claude1131#### Menambahkan konteks untuk Claude

1124 1132 

1125Field `additionalContext` meneruskan string dari hook Anda ke context window Claude. Claude Code membungkus string tersebut dalam [system reminder](https://code.claude.com/docs/id/glossary.md#system-reminder) dan menyisipkannya ke dalam percakapan pada titik di mana hook dijalankan. Claude membaca reminder tersebut pada permintaan model berikutnya, tetapi reminder tidak muncul sebagai pesan chat di antarmuka.1133Field `additionalContext` meneruskan string dari hook Anda ke context window Claude. Claude Code membungkus string tersebut dalam [system reminder](https://code.claude.com/docs/id/glossary.md#system-reminder) dan menyisipkannya ke dalam percakapan pada titik di mana hook dijalankan. Claude membaca reminder tersebut pada permintaan model berikutnya, tetapi reminder tidak muncul sebagai pesan chat di antarmuka.

Details

223| Beta [field tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Header beta terkait tool berpasangan dengan field skema tool seperti `strict` dan `defer_loading` | `400` yang menyebutkan field skema tool yang tidak dikenali ketika body lewat tanpa headernya. Untuk `defer_loading`, lihat [Retry tanpa pencarian tool](#retry-without-tool-search) | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |223| Beta [field tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Header beta terkait tool berpasangan dengan field skema tool seperti `strict` dan `defer_loading` | `400` yang menyebutkan field skema tool yang tidak dikenali ketika body lewat tanpa headernya. Untuk `defer_loading`, lihat [Retry tanpa pencarian tool](#retry-without-tool-search) | Teruskan keduanya, atau [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

224| [Upaya](https://platform.claude.com/docs/en/build-with-claude/effort) dan [output terstruktur](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Field body `output_config` membawa upaya, format output terstruktur, dan pengaturan anggaran tugas; masing-masing berpasangan dengan header betanya sendiri | `400` yang menyebutkan `output_config`, sering `Extra inputs are not permitted`, pada upstream Amazon Bedrock dan Agent Platform Google Cloud | Teruskan field dan headernya bersama-sama, atau minta pengembang mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), yang menghapus pengaturan format dan anggaran tugas tetapi tidak menghapus upaya. Untuk menghapus format saja, mereka dapat mengatur [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](https://code.claude.com/docs/id/env-vars) sebagai gantinya, yang memerlukan v2.1.288 atau lebih baru |224| [Upaya](https://platform.claude.com/docs/en/build-with-claude/effort) dan [output terstruktur](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Field body `output_config` membawa upaya, format output terstruktur, dan pengaturan anggaran tugas; masing-masing berpasangan dengan header betanya sendiri | `400` yang menyebutkan `output_config`, sering `Extra inputs are not permitted`, pada upstream Amazon Bedrock dan Agent Platform Google Cloud | Teruskan field dan headernya bersama-sama, atau minta pengembang mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), yang menghapus pengaturan format dan anggaran tugas tetapi tidak menghapus upaya. Untuk menghapus format saja, mereka dapat mengatur [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](https://code.claude.com/docs/id/env-vars) sebagai gantinya, yang memerlukan v2.1.288 atau lebih baru |

225| Pesan sistem mid-conversation | Tidak ada header beta. Claude Code mengirim sebagian teks pengingat dan lampiran sebagai entri `role: "system"` dalam `messages` untuk Claude Opus 4.8, model yang dirilis setelahnya, dan ID model yang tidak dikenali | `400` seperti `Unexpected role "system"` | Claude Code [mencoba ulang tanpa pesan sistem](#automatic-retry-and-error-forwarding). Untuk menghentikan pesan sistem pada alias model yang dirilis sebelum Claude Opus 4.8, tambahkan [entri `modelOverrides`](#settings-for-unrecognized-model-ids) ke pengaturan yang Anda distribusikan |225| Pesan sistem mid-conversation | Tidak ada header beta. Claude Code mengirim sebagian teks pengingat dan lampiran sebagai entri `role: "system"` dalam `messages` untuk Claude Opus 4.8, model yang dirilis setelahnya, dan ID model yang tidak dikenali | `400` seperti `Unexpected role "system"` | Claude Code [mencoba ulang tanpa pesan sistem](#automatic-retry-and-error-forwarding). Untuk menghentikan pesan sistem pada alias model yang dirilis sebelum Claude Opus 4.8, tambahkan [entri `modelOverrides`](#settings-for-unrecognized-model-ids) ke pengaturan yang Anda distribusikan |

226| [Upaya yang diatur per giliran](https://code.claude.com/docs/id/prompt-caching.md#changing-effort-level) | Pada Opus 5.5, Sonnet 5.5, Haiku 5.5, dan Fable 5.1, header beta berpasangan dengan `output_config.effort` pada entri `role: "system"`, baik pesan sistem maupun entri dengan konten kosong | `400` dengan `messages.N: system content must contain at least one block` ketika gateway Anda menghapus field tersebut dari entri kosong | Teruskan keduanya, atau minta pengembang mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) untuk menghentikan field tersebut dan entri kosong |226| [Upaya yang diatur per giliran](https://code.claude.com/docs/id/prompt-caching.md#changing-effort-level) | Pada Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.2, dan Fable 5.1, header beta berpasangan dengan `output_config.effort` pada entri `role: "system"`. Entri adalah pesan sistem atau entri dengan konten kosong | `400` dengan `messages.N: system content must contain at least one block` ketika gateway Anda menghapus field tersebut dari entri kosong | Teruskan keduanya, atau minta pengembang mengatur [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) untuk menghentikan field tersebut dan entri kosong |

227| [Prompt caching](https://code.claude.com/docs/id/prompt-caching.md) | Tidak ada pasangan beta. Claude Code melampirkan penanda `cache_control` ke blok `system` dan ke entri `messages`, termasuk entri `role: "system"` yang ditambahkan mid-conversation | Tidak ada kesalahan: percakapan ditagih sebagai input uncached pada setiap giliran, terlihat sebagai `input_tokens` tinggi dengan sedikit atau tidak ada aktivitas cache dalam `usage` | Teruskan `cache_control` tidak berubah di mana pun muncul, dan jangan konversi blok-form `system` atau konten pesan ke string biasa |227| [Prompt caching](https://code.claude.com/docs/id/prompt-caching.md) | Tidak ada pasangan beta. Claude Code melampirkan penanda `cache_control` ke blok `system` dan ke entri `messages`, termasuk entri `role: "system"` yang ditambahkan mid-conversation | Tidak ada kesalahan: percakapan ditagih sebagai input uncached pada setiap giliran, terlihat sebagai `input_tokens` tinggi dengan sedikit atau tidak ada aktivitas cache dalam `usage` | Teruskan `cache_control` tidak berubah di mana pun muncul, dan jangan konversi blok-form `system` atau konten pesan ke string biasa |

228| [Penghitungan token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Tidak ada pasangan beta; menggunakan endpoint `count_tokens` | Tidak ada kesalahan: Claude Code kembali ke perkiraan berbasis karakter, jadi `/context` menampilkan penghitungan perkiraan | Ekspos endpoint untuk penghitungan token yang tepat |228| [Penghitungan token](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Tidak ada pasangan beta; menggunakan endpoint `count_tokens` | Tidak ada kesalahan: Claude Code kembali ke perkiraan berbasis karakter, jadi `/context` menampilkan penghitungan perkiraan | Ekspos endpoint untuk penghitungan token yang tepat |

229 229 

model-config.md +52 −23

Details

30| Alias model | Perilaku |30| Alias model | Perilaku |

31| - | - |31| - | - |

32| **`default`** | Nilai khusus yang menghapus override model apa pun dan kembali ke [default runtime untuk akun Anda](#default-model-setting). Bukan sendiri alias model |32| **`default`** | Nilai khusus yang menghapus override model apa pun dan kembali ke [default runtime untuk akun Anda](#default-model-setting). Bukan sendiri alias model |

33| **`best`** | Menggunakan model yang diselesaikan oleh alias [`fable`](#fable-alias-resolution) di mana Fable tersedia untuk Anda, jika tidak maka model yang sama dengan `opus` |33| **`best`** | Menggunakan model yang sama dengan `opus` |

34| **`fable`** | Menggunakan [model Fable untuk penyedia Anda](#fable-alias-resolution) untuk tugas-tugas tersulit dan paling lama |34| **`fable`** | Menggunakan [model Fable untuk penyedia Anda](#fable-alias-resolution) untuk tugas-tugas tersulit dan paling lama |

35| **`sonnet`** | Menggunakan model Sonnet terbaru untuk tugas-tugas pengkodean sehari-hari |35| **`sonnet`** | Menggunakan model Sonnet terbaru untuk tugas-tugas pengkodean sehari-hari |

36| **`opus`** | Menggunakan model Opus terbaru untuk tugas-tugas penalaran kompleks |36| **`opus`** | Menggunakan model Opus terbaru untuk tugas-tugas penalaran kompleks |


48| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 | Haiku 4.5 |48| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 | Haiku 4.5 |

49| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 | Haiku 4.5 |49| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 | Haiku 4.5 |

50 50 

51Kecuali Anda menetapkan `ANTHROPIC_DEFAULT_FABLE_MODEL`, alias `fable` diselesaikan ke Fable 5.1, kecuali dalam sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway), di mana `fable` dan `best` diselesaikan ke Fable 5.51Kecuali Anda menetapkan `ANTHROPIC_DEFAULT_FABLE_MODEL`, alias `fable` diselesaikan ke Fable 5 dalam sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway) dan ke Fable 5.2 di tempat lain.

52 52 

53Gateway yang tidak dikonfigurasi untuk melayani `claude-fable-5-1` menolak permintaan untuk model itu. Untuk menggunakan Fable 5.1 melalui gateway yang melayaninya, pilih dengan `/model claude-fable-5-1`.53Gateway yang tidak dikonfigurasi untuk melayani `claude-fable-5-2` menolak permintaan untuk model itu. Untuk menggunakan Fable 5.2 melalui gateway yang melayaninya, pilih dengan `/model claude-fable-5-2`.

54 54 

55Di mana `opus` atau `sonnet` diselesaikan ke model yang lebih lama, model yang lebih baru tersedia dengan memilih nama model lengkap secara eksplisit atau menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL` atau `ANTHROPIC_DEFAULT_SONNET_MODEL`.55Di mana `opus` atau `sonnet` diselesaikan ke model yang lebih lama, model yang lebih baru tersedia dengan memilih nama model lengkap secara eksplisit atau menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL` atau `ANTHROPIC_DEFAULT_SONNET_MODEL`.

56 56 


64 64 

65### Bekerja dengan Fable65### Bekerja dengan Fable

66 66 

67[Claude Fable 5.1](https://platform.claude.com/docs/en/about-claude/models/overview) dan Claude Fable 5 adalah model paling mampu di Claude Code, cocok untuk tugas-tugas yang lebih besar dari satu sesi. Mereka mempertahankan sesi otonomi yang panjang, menyelidiki sebelum bertindak, dan memverifikasi pekerjaan mereka lebih sering daripada model yang lebih kecil. Fable 5.1 adalah rilis yang lebih baru.67[Model Claude Fable](https://platform.claude.com/docs/en/about-claude/models/overview) adalah model paling mampu di Claude Code, cocok untuk tugas-tugas yang lebih besar dari satu sesi. Mereka mempertahankan sesi otonomi yang panjang, menyelidiki sebelum bertindak, dan memverifikasi pekerjaan mereka lebih sering daripada model yang lebih kecil.

68 68 

69Tidak ada model Fable yang merupakan default tipe akun di paket atau penyedia apa pun. Pilih satu secara eksplisit:69Tidak ada model Fable yang merupakan default tipe akun di paket atau penyedia apa pun. Pilih satu secara eksplisit:

70 70 

71* **Fable 5.1**: jalankan `/model fable`, atau luncurkan dengan `claude --model fable`. Dalam sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway), di mana alias diselesaikan ke Fable 5, jalankan `/model claude-fable-5-1` sebagai gantinya.71* **Fable 5.2**: jalankan `/model fable`, atau luncurkan dengan `claude --model fable`. Dalam sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway), jalankan `/model claude-fable-5-2` sebagai gantinya.

72* **Fable 5**: pilih berdasarkan ID model. Di Anthropic API, jalankan `/model claude-fable-5` atau luncurkan dengan `claude --model claude-fable-5`. Di penyedia lain, gunakan ID model Fable 5 penyedia Anda atau [sematkan](#pin-models-for-third-party-deployments) dengan `ANTHROPIC_DEFAULT_FABLE_MODEL`.72* **Fable 5.1 atau Fable 5**: pilih berdasarkan ID model. Di Anthropic API, jalankan `/model claude-fable-5-1` atau `/model claude-fable-5`, atau luncurkan dengan `claude --model claude-fable-5-1`. Di penyedia lain, gunakan ID model penyedia Anda atau [sematkan](#pin-models-for-third-party-deployments) dengan `ANTHROPIC_DEFAULT_FABLE_MODEL`.

73 73 

74Jika Anda terhubung ke Anthropic API secara langsung dan pengaturan pengguna Anda menyimpan `claude-fable-5` atau `claude-fable-5[1m]` sebagai model, misalnya karena Anda memilih Fable di pemilih `/model` sebelum v2.1.257, Claude Code mengubah nilai yang disimpan itu ke alias `fable` atau `fable[1m]` pertama kali Anda menjalankan v2.1.257 atau lebih baru. Baris model startup menunjukkan `(auto-updated)` sekali. Nilai `claude-fable-5` dalam pengaturan proyek, lokal, atau terkelola tetap apa adanya.74Di paket Pro, Max, Team, dan Enterprise, model `claude-fable-5-1` yang disimpan dalam pengaturan pengguna Anda dipindahkan ke alias `fable`:

75 

76* **Paket Pro atau Max**: pemindahan terjadi pertama kali Anda menjalankan v2.1.321 atau lebih baru. Di terminal, baris model startup dapat menampilkan `(auto-updated)` sekali.

77* **Paket Team atau Enterprise**: pemindahan menunggu pengaturan organisasi Anda, sehingga dapat terjadi pada startup yang lebih belakangan, atau tidak sama sekali. Pemindahan berlaku mulai sesi berikutnya, tanpa baris `(auto-updated)`. Untuk memeriksa model Anda, jalankan `/model`.

78 

79Setelah pemindahan, sesi dimulai pada effort default Fable 5.2 kecuali Anda telah [menetapkan tingkat](#adjust-effort-level) untuknya. Akun Console, penyedia pihak ketiga, serta pengaturan proyek, lokal, atau terkelola tetap menggunakan `claude-fable-5-1`.

75 80 

76Permintaan yang pengklasifikasi keamanan model Fable tandai, paling sering di domain keamanan siber dan biologi, memicu [fallback model otomatis](#automatic-model-fallback).81Permintaan yang pengklasifikasi keamanan model Fable tandai, paling sering di domain keamanan siber dan biologi, memicu [fallback model otomatis](#automatic-model-fallback).

77 82 


84 89 

85> [!NOTE]90> [!NOTE]

86>91>

87> Fable 5.1 memerlukan Claude Code v2.1.257 atau lebih baru. Jika permintaan untuk itu dari versi yang lebih lama gagal, lihat [Claude Code tidak mendukung model ini](https://code.claude.com/docs/id/errors.md#claude-code-does-not-support-this-model). Jalankan `claude update` untuk upgrade. Untuk ketersediaan di bawah zero data retention, lihat [Ketersediaan model di bawah ZDR](https://code.claude.com/docs/id/zero-data-retention.md#model-availability-under-zdr).92> Fable 5.2 memerlukan Claude Code v2.1.321 atau lebih baru, dan Fable 5.1 memerlukan v2.1.257 atau lebih baru. Jika permintaan untuk salah satunya dari versi yang lebih lama gagal, lihat [Claude Code tidak mendukung model ini](https://code.claude.com/docs/id/errors.md#claude-code-does-not-support-this-model). Jalankan `claude update` untuk upgrade. Untuk ketersediaan di bawah zero data retention, lihat [Ketersediaan model di bawah ZDR](https://code.claude.com/docs/id/zero-data-retention.md#model-availability-under-zdr).

88 93 

89Di Anthropic API, model Fable muncul di pemilih `/model` kecuali [`availableModels`](#restrict-model-selection) atau [pembatasan model organisasi](#organization-model-restrictions) mengecualikannya. Ketika organisasi Anda tidak dapat menggunakan Fable sama sekali, misalnya di bawah [zero data retention](https://code.claude.com/docs/id/zero-data-retention.md#model-availability-under-zdr), baris tetap di pemilih berwarna abu-abu, dengan catatan tentang alasannya.94Di Anthropic API, model Fable muncul di pemilih `/model` kecuali [`availableModels`](#restrict-model-selection) atau [pembatasan model organisasi](#organization-model-restrictions) mengecualikannya. Ketika organisasi Anda tidak dapat menggunakan Fable sama sekali, misalnya di bawah [zero data retention](https://code.claude.com/docs/id/zero-data-retention.md#model-availability-under-zdr), baris tetap di pemilih berwarna abu-abu, dengan catatan tentang alasannya.

90 95 


163 168 

164Lihat [Model is not a recognized model id](https://code.claude.com/docs/id/errors.md#model-is-not-a-recognized-model-id) dan [Model not found](https://code.claude.com/docs/id/errors.md#model-not-found) untuk pesannya.169Lihat [Model is not a recognized model id](https://code.claude.com/docs/id/errors.md#model-is-not-a-recognized-model-id) dan [Model not found](https://code.claude.com/docs/id/errors.md#model-not-found) untuk pesannya.

165 170 

166Jika Anda menetapkan model dengan flag `--model`, environment variable `ANTHROPIC_MODEL`, atau pengaturan `model`, Claude Code tidak memeriksanya di muka, dan nilai yang salah ketik menghasilkan [There's an issue with the selected model](https://code.claude.com/docs/id/errors.md#theres-an-issue-with-the-selected-model) pada permintaan pertama.171Jika Anda menetapkan model dengan flag `--model`, environment variable `ANTHROPIC_MODEL`, atau pengaturan `model`, Claude Code tidak menolak nilai yang salah ketik di muka. Sesi dimulai, dan permintaan pertama menghasilkan [There's an issue with the selected model](https://code.claude.com/docs/id/errors.md#theres-an-issue-with-the-selected-model). Di Anthropic API, nilai yang tidak diawali dengan `claude-` dan ejaannya hampir sama dengan nama model atau alias juga dapat menghasilkan [peringatan startup yang menyarankannya](#fix-a-mistyped-model-name).

167 172 

168Ketika 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](https://code.claude.com/docs/id/headless.md) ketika menggunakan format output teks default. Pemeriksaan juga mencakup `model` yang ditetapkan dalam [frontmatter subagent](https://code.claude.com/docs/id/sub-agents.md). Peringatan stderr ditekan untuk `--output-format json` dan `stream-json`; baca model aktual dari bidang `modelUsage` dari [pesan hasil](https://code.claude.com/docs/id/headless.md#get-structured-output) sebagai gantinya.173Ketika 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](https://code.claude.com/docs/id/headless.md) ketika menggunakan format output teks default. Pemeriksaan juga mencakup `model` yang ditetapkan dalam [frontmatter subagent](https://code.claude.com/docs/id/sub-agents.md). Peringatan stderr ditekan untuk `--output-format json` dan `stream-json`; baca model aktual dari bidang `modelUsage` dari [pesan hasil](https://code.claude.com/docs/id/headless.md#get-structured-output) sebagai gantinya.

169 174 


225 230 

226## Batasi pemilihan model231## Batasi pemilihan model

227 232 

228Administrator dapat menggunakan `availableModels` dalam [pengaturan terkelola atau kebijakan](https://code.claude.com/docs/id/managed-settings.md) 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 tertentu](#block-specific-models-or-versions).233Administrator dapat menggunakan `availableModels` dalam [pengaturan terkelola atau kebijakan](https://code.claude.com/docs/id/managed-settings.md) untuk membatasi model mana yang dapat dipilih pengguna. Setiap entri cocok dengan salah satu dari berikut ini:

234 

235* Keluarga model seperti `sonnet`

236* Awalan versi seperti `claude-sonnet-4-5`. Awalan ini juga cocok dengan ID model yang lebih baru yang memperpanjangnya dengan segmen lain. Misalnya, `claude-fable-5` memungkinkan Fable 5, Fable 5.1, dan Fable 5.2, sementara `claude-fable-5-1` memungkinkan Fable 5.1 saja

237* ID model lengkap seperti `claude-sonnet-4-5-20250929`

238 

239Untuk memblokir model yang diizinkan daftar, atau untuk membuat setiap entri ID model hanya memungkinkan versi yang dinamainya, lihat [Blokir model atau versi tertentu](#block-specific-models-or-versions).

229 240 

230Pada platform yang menyematkan Claude Code dan menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/id/env-vars), konfigurasi model host mengambil alih pengaturan model terkelola, sementara daftar putih `availableModels` terkelola tetap berlaku kecuali host menyediakan miliknya sendiri; [Pengecualian untuk prioritas pengaturan terkelola](https://code.claude.com/docs/id/settings.md#exceptions-to-managed-settings-precedence) mengatakan kunci dan variabel mana yang ditimpa host.241Pada platform yang menyematkan Claude Code dan menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/id/env-vars), konfigurasi model host mengambil alih pengaturan model terkelola, sementara daftar putih `availableModels` terkelola tetap berlaku kecuali host menyediakan miliknya sendiri; [Pengecualian untuk prioritas pengaturan terkelola](https://code.claude.com/docs/id/settings.md#exceptions-to-managed-settings-precedence) mengatakan kunci dan variabel mana yang ditimpa host.

231 242 


465 476 

466Ketika tidak ada yang tercatat pada akun Anda, pengaturan terkelola [memberlakukan allowlist untuk model Default](#enforce-the-allowlist-for-the-default-model), dan default jenis akun tidak ada dalam `availableModels`, `default` diselesaikan ke Default yang diberlakukan alih-alih default jenis akun di atas. Ketika default organisasi dan penegakan keduanya berlaku, default organisasi menggantikan default jenis akun terlebih dahulu dan penegakan kemudian diterapkan padanya: default organisasi yang ada dalam allowlist dipertahankan, sementara yang di luar daftar diselesaikan ke Default yang diberlakukan.477Ketika tidak ada yang tercatat pada akun Anda, pengaturan terkelola [memberlakukan allowlist untuk model Default](#enforce-the-allowlist-for-the-default-model), dan default jenis akun tidak ada dalam `availableModels`, `default` diselesaikan ke Default yang diberlakukan alih-alih default jenis akun di atas. Ketika default organisasi dan penegakan keduanya berlaku, default organisasi menggantikan default jenis akun terlebih dahulu dan penegakan kemudian diterapkan padanya: default organisasi yang ada dalam allowlist dipertahankan, sementara yang di luar daftar diselesaikan ke Default yang diberlakukan.

467 478 

468Model Fable bukan default jenis akun pada paket atau penyedia apa pun. Memilih salah satu dengan `/model` menyimpannya sebagai model yang dipilih dalam pengaturan pengguna Anda, sehingga sesi berikutnya dimulai padanya. Untuk perubahan satu kali yang Claude Code buat pada pilihan Fable 5 yang disimpan di v2.1.257, lihat [Bekerja dengan Fable](#work-with-fable).479> [!NOTE]

480>

481> Model Fable bukan default jenis akun pada paket atau penyedia apa pun. Memilih salah satu dengan `/model` menyimpannya sebagai model yang dipilih dalam pengaturan pengguna Anda, sehingga sesi berikutnya dimulai padanya, terlepas dari [perubahan satu kali pada pilihan Fable 5.1 yang disimpan](#work-with-fable).

469 482 

470### Pengaturan model `opusplan`483### Pengaturan model `opusplan`

471 484 


521 534 

522Model Fable, Opus 5.5, Sonnet 5.5, dan Opus 5 berjalan dengan pengklasifikasi keamanan, yang paling sering menandai konten keamanan siber dan biologi. Untuk dua kategori tersebut, model fallback tergantung pada model mana yang menolak:535Model Fable, Opus 5.5, Sonnet 5.5, dan Opus 5 berjalan dengan pengklasifikasi keamanan, yang paling sering menandai konten keamanan siber dan biologi. Untuk dua kategori tersebut, model fallback tergantung pada model mana yang menolak:

523 536 

524* **Fable 5.1, Fable 5, dan Opus 5.5**: permintaan yang ditandai biologi dijalankan kembali pada Opus 5, dan permintaan yang ditandai keamanan siber dijalankan kembali pada Opus 4.8.537* **Model Fable dan Opus 5.5**: permintaan yang ditandai biologi dijalankan kembali pada Opus 5, dan permintaan yang ditandai keamanan siber dijalankan kembali pada Opus 4.8.

525* **Sonnet 5.5**: permintaan yang ditandai keamanan siber dijalankan kembali pada Sonnet 5. Permintaan yang ditandai biologi berakhir dengan penolakan, karena Sonnet 5.5 tidak memiliki model fallback biologi.538* **Sonnet 5.5**: permintaan yang ditandai keamanan siber dijalankan kembali pada Sonnet 5. Permintaan yang ditandai biologi berakhir dengan penolakan, karena Sonnet 5.5 tidak memiliki model fallback biologi.

526* **Opus 5**: permintaan yang ditandai keamanan siber dijalankan kembali pada Opus 4.8. Permintaan yang ditandai biologi berakhir dengan penolakan, karena Opus 5 menjalankan pengklasifikasi biologi sendiri tanpa model fallback.539* **Opus 5**: permintaan yang ditandai keamanan siber dijalankan kembali pada Opus 4.8. Permintaan yang ditandai biologi berakhir dengan penolakan, karena Opus 5 menjalankan pengklasifikasi biologi sendiri tanpa model fallback.

527 540 


582 595 

583Pada [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), dan [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md), ID model bersifat khusus penyedia, jadi fallback otomatis hanya beroperasi ketika Claude Code dapat mengidentifikasi setiap model yang terlibat:596Pada [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), dan [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md), ID model bersifat khusus penyedia, jadi fallback otomatis hanya beroperasi ketika Claude Code dapat mengidentifikasi setiap model yang terlibat:

584 597 

585* Claude Code harus mengenali model saat ini sebagai sumber fallback. Fable 5.1 dan Fable 5 dikenali ketika ID model berisi `claude-fable-5`, cocok dengan nilai `ANTHROPIC_DEFAULT_FABLE_MODEL`, atau dipetakan dengan [`modelOverrides`](#override-model-ids-per-version). Opus 5.5, Sonnet 5.5, dan Opus 5 dikenali oleh ID model penyedianya atau pemetaan [`modelOverrides`](#override-model-ids-per-version).598* Claude Code harus mengenali model saat ini sebagai sumber fallback. Model Fable dikenali ketika ID model berisi `claude-fable-5`, cocok dengan nilai `ANTHROPIC_DEFAULT_FABLE_MODEL`, atau dipetakan dengan [`modelOverrides`](#override-model-ids-per-version). Opus 5.5, Sonnet 5.5, dan Opus 5 dikenali oleh ID model penyedianya atau pemetaan [`modelOverrides`](#override-model-ids-per-version).

586* Target Opus harus diselesaikan dalam deployment Anda, model mana pun yang menolak: atur `ANTHROPIC_DEFAULT_OPUS_MODEL`, atau simpan entri Opus 4.8 dalam daftar model penyedia. Tanpa salah satunya, fallback tetap mati untuk setiap model sumber, termasuk Sonnet 5.5, dan permintaan yang ditandai berakhir dengan penolakan.599* Target Opus harus diselesaikan dalam deployment Anda, model mana pun yang menolak: atur `ANTHROPIC_DEFAULT_OPUS_MODEL`, atau simpan entri Opus 4.8 dalam daftar model penyedia. Tanpa salah satunya, fallback tetap mati untuk setiap model sumber, termasuk Sonnet 5.5, dan permintaan yang ditandai berakhir dengan penolakan.

587* Model fallback kategori yang ditandai harus diselesaikan dalam deployment Anda. Dari model Fable, Opus 5.5, atau Opus 5, jika Anda menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL`, permintaan yang ditandai dijalankan kembali pada model tersebut untuk setiap kategori yang memiliki fallback; flag biologi pada Opus 5 masih berakhir dengan penolakan. Jika Anda tidak menetapkannya, permintaan yang ditandai keamanan siber dijalankan kembali pada entri Opus 4.8, dan permintaan yang ditandai biologi dari model Fable atau Opus 5.5 pada entri Opus 5. Dari Sonnet 5.5, permintaan yang ditandai keamanan siber dijalankan kembali pada model yang Anda atur dalam `ANTHROPIC_DEFAULT_SONNET_MODEL`, atau pada entri Sonnet 5 dalam daftar model penyedia jika Anda tidak menetapkannya.600* Model fallback kategori yang ditandai harus diselesaikan dalam deployment Anda. Dari model Fable, Opus 5.5, atau Opus 5, jika Anda menetapkan `ANTHROPIC_DEFAULT_OPUS_MODEL`, permintaan yang ditandai dijalankan kembali pada model tersebut untuk setiap kategori yang memiliki fallback; flag biologi pada Opus 5 masih berakhir dengan penolakan. Jika Anda tidak menetapkannya, permintaan yang ditandai keamanan siber dijalankan kembali pada entri Opus 4.8, dan permintaan yang ditandai biologi dari model Fable atau Opus 5.5 pada entri Opus 5. Dari Sonnet 5.5, permintaan yang ditandai keamanan siber dijalankan kembali pada model yang Anda atur dalam `ANTHROPIC_DEFAULT_SONNET_MODEL`, atau pada entri Sonnet 5 dalam daftar model penyedia jika Anda tidak menetapkannya.

588 601 


596 609 

597#### Penelitian keamanan dan beban kerja biologi610#### Penelitian keamanan dan beban kerja biologi

598 611 

599Beban kerja dalam keamanan ofensif atau biologi, termasuk penetration testing, latihan Capture the Flag (CTF), dan codebase yang berkaitan dengan biologi, sering memicu fallback, sering kali pada permintaan pertama. Untuk pekerjaan biologi substantif pada Fable 5.1, Fable 5, atau Opus 5.5, permintaan pertama yang ditandai yang mengalihkan model memindahkan sesi ke Opus 5, dan permintaan yang ditandai biologi berikutnya berakhir dengan penolakan di sana, karena Opus 5 tidak memiliki fallback biologi. Pada Opus 5 dan Sonnet 5.5, Anda mendapatkan penolakan tersebut sejak permintaan pertama yang ditandai.612Beban kerja dalam keamanan ofensif atau biologi, termasuk penetration testing, latihan Capture the Flag (CTF), dan codebase yang berkaitan dengan biologi, sering memicu fallback, sering kali pada permintaan pertama. Ini adalah routing yang diharapkan untuk domain ini, bukan flag akun. Jika organisasi Anda memerlukan kemampuan kelas Fable untuk pekerjaan ini, tanyakan kepada tim akun Anthropic Anda tentang program akses terpercaya.

600 613 

601Ini adalah routing yang diharapkan untuk domain ini, bukan flag akun. Jika organisasi Anda memerlukan kemampuan kelas Fable untuk pekerjaan ini, tanyakan kepada tim akun Anthropic Anda tentang program akses terpercaya.614Untuk pekerjaan biologi substantif pada model Fable atau Opus 5.5, permintaan pertama yang ditandai yang mengalihkan model memindahkan sesi ke Opus 5. Permintaan yang ditandai biologi berikutnya berakhir dengan penolakan di sana, karena Opus 5 tidak memiliki fallback biologi. Pada Opus 5 dan Sonnet 5.5, penolakan tersebut dimulai sejak permintaan pertama yang ditandai.

602 615 

603### Sesuaikan tingkat effort616### Sesuaikan tingkat effort

604 617 


608 621 

609| Model | Tingkat |622| Model | Tingkat |

610| :- | :- |623| :- | :- |

611| Fable 5.1 dan Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |624| Model Fable | `low`, `medium`, `high`, `xhigh`, `max` |

612| Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8, dan Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |625| Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8, dan Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

613| Opus 4.6 dan Sonnet 4.6 | `low`, `medium`, `high`, `max` |626| Opus 4.6 dan Sonnet 4.6 | `low`, `medium`, `high`, `max` |

614 627 


6202. Tingkat yang Anda pilih dalam sesi, seperti dengan `/effort`, pemilih `/model`, atau [`applyFlagSettings()`](https://code.claude.com/docs/id/agent-sdk/typescript#applyflagsettings)6332. Tingkat yang Anda pilih dalam sesi, seperti dengan `/effort`, pemilih `/model`, atau [`applyFlagSettings()`](https://code.claude.com/docs/id/agent-sdk/typescript#applyflagsettings)

6213. Peluncuran dengan `--effort`6343. Peluncuran dengan `--effort`

6224. Pengaturan Anda: tingkat yang Anda simpan untuk model atau kunci [`effortLevel`](https://code.claude.com/docs/id/settings-reference#effortlevel), dengan prioritas di antara keduanya dan di seluruh file pengaturan yang dinyatakan pada [`modelSettings`](https://code.claude.com/docs/id/settings-reference#modelsettings)6354. Pengaturan Anda: tingkat yang Anda simpan untuk model atau kunci [`effortLevel`](https://code.claude.com/docs/id/settings-reference#effortlevel), dengan prioritas di antara keduanya dan di seluruh file pengaturan yang dinyatakan pada [`modelSettings`](https://code.claude.com/docs/id/settings-reference#modelsettings)

6235. Effort default model: `high` pada setiap model yang mendukung effort, kecuali Opus 5.5, Sonnet 5.5, dan Haiku 5.5 default ke `medium` dan Opus 4.7 default ke `xhigh`. Jika organisasi Anda menetapkan tingkat effort default untuk [model default organisasinya](#organization-default-model), tingkat itu adalah default ketika Anda menjalankan model tersebut.6365. Effort default model: Fable 5.2, Opus 5.5, Sonnet 5.5, dan Haiku 5.5 default ke `medium`, dan Opus 4.7 default ke `xhigh`. Model lain dalam [tabel tingkat effort](#adjust-effort-level) default ke `high`. Jika organisasi Anda menetapkan tingkat effort default untuk [model default organisasinya](#organization-default-model), tingkat itu adalah default ketika Anda menjalankan model tersebut.

624 637 

625Setelah fallback model otomatis, lihat [Tingkat effort setelah fallback](#effort-level-after-a-fallback) untuk tingkat yang berlaku. Untuk subagent dan teammate, lihat [Tingkat effort subagent dan teammate](#effort-level-of-subagents-and-teammates).638Setelah fallback model otomatis, lihat [Tingkat effort setelah fallback](#effort-level-after-a-fallback) untuk tingkat yang berlaku. Untuk subagent dan teammate, lihat [Tingkat effort subagent dan teammate](#effort-level-of-subagents-and-teammates).

626 639 


671| Tingkat | Kapan menggunakannya |684| Tingkat | Kapan menggunakannya |

672| :- | :- |685| :- | :- |

673| `low` | Pertukaran cepat di mana Anda meninjau setiap hasil, seperti brainstorming, sketsa pertama, atau perubahan kecil seperti rename |686| `low` | Pertukaran cepat di mana Anda meninjau setiap hasil, seperti brainstorming, sketsa pertama, atau perubahan kecil seperti rename |

674| `medium` | Default pada Opus 5.5, Sonnet 5.5, dan Haiku 5.5. Pada Opus 5.5 dan Sonnet 5.5, cocok untuk pekerjaan teknik sehari-hari dengan cakupan yang jelas, seperti mengimplementasikan fitur baru. Pada model dengan default lebih tinggi, mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat mengorbankan sebagian kecerdasan |687| `medium` | Default pada model Fable 5.2, Opus 5.5, Sonnet 5.5, dan Haiku 5.5. Pada Opus 5.5 dan Sonnet 5.5, cocok untuk pekerjaan teknik sehari-hari dengan cakupan yang jelas, seperti mengimplementasikan fitur baru. Pada model dengan default lebih tinggi, mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat mengorbankan sebagian kecerdasan |

675| `high` | Pekerjaan di mana verifikasi penting atau kasus tepi mungkin muncul, seperti memperbaiki bug dalam codebase yang ada. Default pada setiap model kecuali Opus 5.5, Sonnet 5.5, Haiku 5.5, dan Opus 4.7 |688| `high` | Pekerjaan di mana verifikasi penting atau kasus tepi mungkin muncul, seperti memperbaiki bug dalam codebase yang ada. Default pada model lain dalam tabel effort |

676| `xhigh` | Penalaran lebih dalam pada pengeluaran token lebih tinggi. Default pada Opus 4.7 |689| `xhigh` | Penalaran lebih dalam pada pengeluaran token lebih tinggi. Default pada Opus 4.7 |

677| `max` | Masalah sulit yang Anda ingin Claude kerjakan tanpa Anda, seperti menemukan kerentanan keamanan. `max` mungkin menunjukkan hasil yang semakin berkurang dan rentan terhadap overthinking, jadi uji sebelum mengadopsinya secara luas |690| `max` | Masalah sulit yang Anda ingin Claude kerjakan tanpa Anda, seperti menemukan kerentanan keamanan. `max` mungkin menunjukkan hasil yang semakin berkurang dan rentan terhadap overthinking, jadi uji sebelum mengadopsinya secara luas |

678| `ultracode` | Pengaturan Claude Code, bukan tingkat: merencanakan [alur kerja dinamis](https://code.claude.com/docs/id/workflows.md) untuk setiap tugas substantif pada tingkat effort apa pun |691| `ultracode` | Pengaturan Claude Code, bukan tingkat: merencanakan [alur kerja dinamis](https://code.claude.com/docs/id/workflows.md) untuk setiap tugas substantif pada tingkat effort apa pun |


691 704 

692* Ketik ulang kata tersebut di luar apa pun seperti tanda kutip, tanda kurung, path, atau perintah, dalam prompt yang tidak diawali dengan `/`705* Ketik ulang kata tersebut di luar apa pun seperti tanda kutip, tanda kurung, path, atau perintah, dalam prompt yang tidak diawali dengan `/`

693* Hapus `CLAUDE_CODE_EFFORT_LEVEL` jika ditetapkan di bawah `xhigh`, naikkan [`maxEffortLevel`](https://code.claude.com/docs/id/settings-reference#maxeffortlevel) Anda sendiri ke `xhigh` atau lebih tinggi, atau minta admin organisasi untuk menaikkan [batas organisasi Anda](#organization-effort-limits)706* Hapus `CLAUDE_CODE_EFFORT_LEVEL` jika ditetapkan di bawah `xhigh`, naikkan [`maxEffortLevel`](https://code.claude.com/docs/id/settings-reference#maxeffortlevel) Anda sendiri ke `xhigh` atau lebih tinggi, atau minta admin organisasi untuk menaikkan [batas organisasi Anda](#organization-effort-limits)

694* Jalankan `/model` dalam sesi Anda untuk beralih ke model Opus 5.5, Sonnet 5.5, Haiku 5.5, atau Fable 5.1. Di tempat kata tersebut tidak dapat menaikkan giliran, seperti pada Amazon Bedrock, [atur tingkat effort](#set-the-effort-level) sebagai gantinya707* Jalankan `/model` dalam sesi Anda untuk beralih ke model Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.2, atau Fable 5.1. Di tempat kata tersebut tidak dapat menaikkan giliran, seperti pada Amazon Bedrock, [atur tingkat effort](#set-the-effort-level) sebagai gantinya

695 708 

696#### Atur tingkat effort709#### Atur tingkat effort

697 710 


767 780 

768### Konteks diperpanjang781### Konteks diperpanjang

769 782 

770Fable 5.1, Fable 5, Sonnet 5 dan lebih baru, Haiku 5.5, Opus 4.6 dan lebih baru, serta Sonnet 4.6 mendukung [context window 1 juta token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) untuk sesi panjang dengan codebase besar.783Sesi panjang dengan codebase besar dapat menggunakan [context window 1 juta token](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model). Model Fable, Sonnet 5 dan lebih baru, Haiku 5.5, Opus 4.6 dan lebih baru, serta Sonnet 4.6 mendukungnya.

771 784 

772Fable 5.1, Fable 5, Sonnet 5 dan lebih baru, Haiku 5.5, serta Opus 4.7 dan lebih baru berjalan dengan window 1M secara default, tanpa memerlukan sufiks `[1m]`. Hal ini mencakup sesi pada Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, serta sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway). Untuk menjalankannya dengan window 200K, lihat [Matikan konteks 1M](#turn-off-1m-context).785Model Fable, Sonnet 5 dan lebih baru, Haiku 5.5, serta Opus 4.7 dan lebih baru berjalan dengan window 1M secara default, tanpa memerlukan sufiks `[1m]`. Hal ini mencakup sesi pada Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry, serta sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway). Untuk menjalankannya dengan window 200K sebagai gantinya, lihat [Matikan konteks 1M](#turn-off-1m-context).

773 786 

774Opus 4.6 dan Sonnet 4.6 mencapai 1M hanya melalui varian `[1m]` mereka, dan akses ke varian itu tergantung pada paket Anda. Pada paket Max, Ultra, Team, dan Enterprise, termasuk kursi Team Standard dan Team Premium, Opus 4.6 dengan konteks 1M disertakan dengan langganan Anda. Sonnet 4.6 dengan konteks 1M memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pada setiap paket langganan, termasuk Max dan Ultra.787Opus 4.6 dan Sonnet 4.6 mencapai 1M hanya melalui varian `[1m]` mereka, dan akses ke varian itu tergantung pada paket Anda. Pada paket Max, Ultra, Team, dan Enterprise, termasuk kursi Team Standard dan Team Premium, Opus 4.6 dengan konteks 1M disertakan dengan langganan Anda. Sonnet 4.6 dengan konteks 1M memerlukan [kredit penggunaan](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pada setiap paket langganan, termasuk Max dan Ultra.

775 788 


798 811 

799#### Context window di belakang gateway LLM812#### Context window di belakang gateway LLM

800 813 

801Jika Anda menetapkan `ANTHROPIC_BASE_URL` ke [gateway LLM](https://code.claude.com/docs/id/llm-gateway) atau proxy lainnya, Claude Code memberikan setiap model yang dikenalinya context window yang sama dengan yang dimiliki model tersebut pada Anthropic API. Fable 5.1, Fable 5, Sonnet 5 dan lebih baru, Haiku 5.5, serta Opus 4.7 dan lebih baru mendapatkan window 1M tanpa varian `[1m]` untuk dipilih, dan model yang mencapai 1M hanya melalui varian `[1m]`-nya, seperti Opus 4.6, berjalan pada 200K tanpa varian itu. Claude Code tidak dapat mendeteksi batas yang lebih rendah yang diberlakukan gateway atau server di belakangnya. Jika gateway Anda menolak permintaan di atas 200K token, atur [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](https://code.claude.com/docs/id/env-vars) di environment yang menjalankan Claude Code, sehingga sesi pada setiap model [melakukan compaction pada batas itu](#set-the-auto-compact-window).814Jika Anda menetapkan `ANTHROPIC_BASE_URL` ke [gateway LLM](https://code.claude.com/docs/id/llm-gateway) atau proxy lainnya, Claude Code memberikan setiap model yang dikenalinya context window yang sama dengan yang dimiliki model tersebut pada Anthropic API. Model Fable, Sonnet 5 dan lebih baru, Haiku 5.5, serta Opus 4.7 dan lebih baru mendapatkan window 1M tanpa varian `[1m]`. Model yang mencapai 1M hanya melalui varian `[1m]`-nya, seperti Opus 4.6, berjalan pada 200K tanpa varian itu.

815 

816Claude Code tidak dapat mendeteksi batas yang lebih rendah yang diberlakukan gateway atau server di belakangnya. Jika gateway Anda menolak permintaan di atas 200K token, atur [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](https://code.claude.com/docs/id/env-vars) di environment yang menjalankan Claude Code, sehingga sesi pada setiap model [melakukan compaction pada batas itu](#set-the-auto-compact-window).

802 817 

803#### Matikan konteks 1M818#### Matikan konteks 1M

804 819 


885 900 

886Setelah Claude Code mengenali ID tersebut atau menggunakan jendela yang Anda berikan, peringatan tersebut tidak lagi muncul saat Anda memulai sesi pada ID tersebut.901Setelah Claude Code mengenali ID tersebut atau menggunakan jendela yang Anda berikan, peringatan tersebut tidak lagi muncul saat Anda memulai sesi pada ID tersebut.

887 902 

903#### Memperbaiki nama model yang salah ketik

904 

905Salah satu dari peringatan berikut berarti Claude Code tidak mengenali ID model yang Anda atur, dan ID tersebut hampir sama ejaannya dengan nama model atau alias yang dikenali Claude Code:

906 

907```text theme={null}

908⚠ Model "<model>" isn't recognized · did you mean "<suggestion>"?

909Claude Code doesn't recognize the model "<model>". Did you mean "<suggestion>"?

910```

911 

912* **Anda salah mengetik ID**: ubah ID tersebut menjadi saran yang diberikan [di mana pun Anda mengatur model](#setting-your-model)

913* **ID tersebut disengaja**: biarkan apa adanya. Sesi mengirimkannya persis seperti yang Anda tulis. Jika context window yang diasumsikan Claude Code untuk ID tersebut salah, [koreksi jendelanya](#correct-the-window-for-a-gateway-or-custom-model-id)

914 

888#### ID mana yang dikenai `CLAUDE_CODE_MAX_CONTEXT_TOKENS`915#### ID mana yang dikenai `CLAUDE_CODE_MAX_CONTEXT_TOKENS`

889 916 

890Pada [LLM gateway](https://code.claude.com/docs/id/llm-gateway) atau deployment kustom lainnya, Claude Code dapat mengasumsikan context window untuk ID model yang berbeda dari jendela sebenarnya milik model tersebut, terlepas dari apakah Claude Code me-resolve ID tersebut ke model Claude atau tidak. Atur [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](https://code.claude.com/docs/id/env-vars) ke jendela yang seharusnya diasumsikan Claude Code.917Pada [LLM gateway](https://code.claude.com/docs/id/llm-gateway) atau deployment kustom lainnya, Claude Code dapat mengasumsikan context window untuk ID model yang berbeda dari jendela sebenarnya milik model tersebut, terlepas dari apakah Claude Code me-resolve ID tersebut ke model Claude atau tidak. Atur [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](https://code.claude.com/docs/id/env-vars) ke jendela yang seharusnya diasumsikan Claude Code.


1100 1127 

1101| Versi | Perubahan |1128| Versi | Perubahan |

1102| :- | :- |1129| :- | :- |

1130| v2.1.321 | `fable` diselesaikan ke Fable 5.2, kecuali dalam sesi gateway aplikasi Claude |

1131| v2.1.321 | `best` diselesaikan ke model yang sama dengan `opus`. Versi sebelumnya menggunakan model yang diselesaikan oleh `fable`, jika Fable tersedia |

1103| v2.1.293 | `haiku` diselesaikan ke Haiku 5.5 pada Anthropic API |1132| v2.1.293 | `haiku` diselesaikan ke Haiku 5.5 pada Anthropic API |

1104| v2.1.284 | `sonnet` diselesaikan ke Sonnet 5.5 pada Anthropic API |1133| v2.1.284 | `sonnet` diselesaikan ke Sonnet 5.5 pada Anthropic API |

1105| v2.1.280 | `opus` diselesaikan ke Opus 5.5 pada Anthropic API, Claude Platform di AWS, Amazon Bedrock, dan Agent Platform Google Cloud |1134| v2.1.280 | `opus` diselesaikan ke Opus 5.5 pada Anthropic API, Claude Platform di AWS, Amazon Bedrock, dan Agent Platform Google Cloud |

permissions.md +2 −1

Details

253| :- | :- | :- |253| :- | :- | :- |

254| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |254| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |

255| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |255| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |

256| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |256| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main` |

257 257 

258Aturan Anda yang lain dan mode izin menentukan perintah di kolom terakhir.258Aturan Anda yang lain dan mode izin menentukan perintah di kolom terakhir.

259 259 


273* **`docker` yang diarahkan ke daemon lain**: bentuk read-only dari `docker` memunculkan permintaan izin ketika perintah membawa flag yang memilih daemon berbeda, seperti `-H`, `--context`, atau `--url` dan `--connection` milik Podman.273* **`docker` yang diarahkan ke daemon lain**: bentuk read-only dari `docker` memunculkan permintaan izin ketika perintah membawa flag yang memilih daemon berbeda, seperti `-H`, `--context`, atau `--url` dan `--connection` milik Podman.

274* **`file` dengan flag yang membuka path**: `file` memunculkan permintaan izin ketika meneruskan `-m`/`--magic-file` atau `-f`/`--files-from`, karena flag tersebut membuat `file` membuka path yang disebutkan dalam nilai flag.274* **`file` dengan flag yang membuka path**: `file` memunculkan permintaan izin ketika meneruskan `-m`/`--magic-file` atau `-f`/`--files-from`, karena flag tersebut membuat `file` membuka path yang disebutkan dalam nilai flag.

275* **`ps` yang dapat mencetak environment variable**: `ps` memunculkan permintaan izin ketika salah satu argumennya dapat berfungsi sebagai opsi `e`, seperti pada `ps auxe` atau `ps aux -e`, karena opsi tersebut mencetak environment variable proses. `ps aux` dan `ps -ef` berjalan tanpa permintaan izin. Pemeriksaan pada bentuk dengan tanda hubung seperti `ps aux -e` memerlukan Claude Code v2.1.290 atau yang lebih baru.275* **`ps` yang dapat mencetak environment variable**: `ps` memunculkan permintaan izin ketika salah satu argumennya dapat berfungsi sebagai opsi `e`, seperti pada `ps auxe` atau `ps aux -e`, karena opsi tersebut mencetak environment variable proses. `ps aux` dan `ps -ef` berjalan tanpa permintaan izin. Pemeriksaan pada bentuk dengan tanda hubung seperti `ps aux -e` memerlukan Claude Code v2.1.290 atau yang lebih baru.

276* **`which` dengan flag di luar pencarian dan tampilan**: `which` memunculkan permintaan izin ketika meneruskan flag seperti `-i`/`--read-alias` atau `--read-functions`. `which node` dan `which -a node` berjalan tanpa permintaan izin.

276* **Path jaringan di Windows**: perintah yang argumennya mencakup path jaringan (UNC), seperti `\\server\share\file`, memunculkan permintaan izin karena mengakses path jaringan dapat mengirimkan kredensial Windows Anda ke host yang disebutkannya. Pemeriksaan yang sama berlaku untuk perintah [tool PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool).277* **Path jaringan di Windows**: perintah yang argumennya mencakup path jaringan (UNC), seperti `\\server\share\file`, memunculkan permintaan izin karena mengakses path jaringan dapat mengirimkan kredensial Windows Anda ke host yang disebutkannya. Pemeriksaan yang sama berlaku untuk perintah [tool PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool).

277* **Penulisan ke variabel shell khusus**: perintah yang menetapkan, menghapus, atau melakukan loop atas variabel shell khusus tertentu, seperti `PATH` atau `IFS`, memunculkan permintaan izin meskipun bagian lain dari perintah bersifat read-only.278* **Penulisan ke variabel shell khusus**: perintah yang menetapkan, menghapus, atau melakukan loop atas variabel shell khusus tertentu, seperti `PATH` atau `IFS`, memunculkan permintaan izin meskipun bagian lain dari perintah bersifat read-only.

278* **Perintah yang tidak dapat di-parse oleh analisis**: ketika Claude Code tidak dapat sepenuhnya mem-parse sebuah perintah, ia meminta persetujuan alih-alih memperlakukan perintah tersebut sebagai read-only. Perintah yang lebih panjang dari 10.000 karakter selalu memunculkan permintaan izin karena melebihi batas yang di-parse oleh analisis.279* **Perintah yang tidak dapat di-parse oleh analisis**: ketika Claude Code tidak dapat sepenuhnya mem-parse sebuah perintah, ia meminta persetujuan alih-alih memperlakukan perintah tersebut sebagai read-only. Perintah yang lebih panjang dari 10.000 karakter selalu memunculkan permintaan izin karena melebihi batas yang di-parse oleh analisis.

Details

279* **Hook Anda mengembalikan `drop` setelah panggilan `next(e)`-nya meloloskan prompt**: giliran tetap berjalan, dan hook [gagal](#handle-a-hook-that-fails) dengan pesan yang menyertakan `a drop after its next() was answered`279* **Hook Anda mengembalikan `drop` setelah panggilan `next(e)`-nya meloloskan prompt**: giliran tetap berjalan, dan hook [gagal](#handle-a-hook-that-fails) dengan pesan yang menyertakan `a drop after its next() was answered`

280* **Hook Anda melempar error atau melampaui batas waktu**: Claude Code melewatinya dan mengirim prompt. [Tambahkan handler `.catch`](#handle-a-hook-that-fails) agar kegagalan tidak mengirim prompt yang seharusnya dihentikan oleh hook.280* **Hook Anda melempar error atau melampaui batas waktu**: Claude Code melewatinya dan mengirim prompt. [Tambahkan handler `.catch`](#handle-a-hook-that-fails) agar kegagalan tidak mengirim prompt yang seharusnya dihentikan oleh hook.

281 281 

282[Peristiwa lain](https://code.claude.com/docs/id/plugins/mods/reference.md#prompts-and-what-claude-reads) mencakup sisa apa yang dibaca Claude: `prompt.section` untuk setiap bagian system prompt, `prompt.context` untuk konteks yang dikirim dengan pesan pertama, dan `skill.prompt` untuk teks skill. Teks dari hook ini yang berubah antar permintaan [membatalkan cache prompt](https://code.claude.com/docs/id/prompt-caching.md). Dalam hook `skill.prompt`, Anda juga dapat membaca [dari plugin atau file mana skill tersebut berasal](https://code.claude.com/docs/id/plugins/mods/reference.md#skill-prompt-fields).282[Peristiwa lain](https://code.claude.com/docs/id/plugins/mods/reference.md#prompts-and-what-claude-reads) mencakup sisa apa yang dibaca Claude: `prompt.section` untuk setiap bagian system prompt, `prompt.context` untuk konteks yang dikirim dengan pesan pertama, dan `skill.prompt` untuk teks skill. Untuk mengubah suatu bagian setelah percakapan dimulai, lihat [Kirim bagian system prompt atau deskripsi tool yang diubah](https://code.claude.com/docs/id/plugins/mods/reference.md#break-prompt-cache). Dalam hook `skill.prompt`, Anda juga dapat membaca [dari plugin atau file mana skill tersebut berasal](https://code.claude.com/docs/id/plugins/mods/reference.md#skill-prompt-fields).

283 283 

284### Ikuti giliran284### Ikuti giliran

285 285 

Details

177 177 

178## Pilih di mana menggambar178## Pilih di mana menggambar

179 179 

180Hook `ui.render` berjalan untuk setiap render site kecuali Anda mempersempit ke yang Anda inginkan. Untuk memilih render site, teruskan filter, disebut [matcher](https://code.claude.com/docs/id/plugins/mods/events.md#filter-which-events-a-hook-handles), sebagai argumen kedua ke `on`. `{ component: 'Pane' }` menjalankan hook hanya untuk panel. Dalam hook, `e.component` menamai situs, `e.surface` mengatakan aplikasi mana yang menggambar, dan `e.props` menyimpan data situs sendiri. Untuk panel, `e.requestId` adalah `id` yang Anda buka dengannya.180Hook `ui.render` berjalan untuk setiap titik render kecuali Anda mempersempitnya ke titik yang Anda inginkan untuk digambar. Untuk memilih titik render, teruskan filter, disebut [matcher](https://code.claude.com/docs/id/plugins/mods/events.md#filter-which-events-a-hook-handles), sebagai argumen kedua ke `on`. `{ component: 'Pane' }` menjalankan hook hanya untuk panel. Dalam hook, `e.component` menamai titik render, `e.surface` mengatakan aplikasi mana yang menggambar, dan `e.props` menyimpan data titik render itu sendiri. Untuk panel, `e.requestId` adalah `id` yang Anda buka dengannya.

181 181 

182Panel dan pita kosong sampai mod mengisinya. Pilih tab untuk melihat apa itu masing-masing dan cara menggambar di dalamnya:182Panel dan pita kosong sampai mod mengisinya. Pilih tab untuk melihat apa itu masing-masing dan cara menggambar di dalamnya:

183 183 


197>197>

198> Untuk menggambar di pita, filter pada `{ component: 'AbovePrompt' }`.198> Untuk menggambar di pita, filter pada `{ component: 'AbovePrompt' }`.

199 199 

200Mod juga dapat [menempatkan baris miliknya sendiri di transkrip](#place-a-row-in-the-transcript).

201 

200### Ubah apa yang sudah digambar Claude Code202### Ubah apa yang sudah digambar Claude Code

201 203 

202Claude Code menggambar sebagian besar antarmukanya sendiri: pesan, baris panggilan tool, spinner, dan lainnya. Masing-masing bagian itu adalah render site juga, jadi mod dapat mengubah gaya atau menggantinya. Untuk mengubah satu, filter hook `ui.render` Anda pada namanya dari tabel ini:204Claude Code menggambar sebagian besar antarmukanya sendiri: pesan, baris panggilan tool, spinner, dan lainnya. Masing-masing bagian itu adalah titik render juga, jadi mod dapat mengubah gaya atau menggantinya. Untuk mengubah satu, filter hook `ui.render` Anda pada namanya dari tabel ini:

203 205 

204| Situs | Apa itu |206| Titik render | Apa itu |

205| :- | :- |207| :- | :- |

206| `UserMessage`, `AssistantMessage` | Pesan dalam transkrip |208| `UserMessage`, `AssistantMessage` | Pesan dalam transkrip |

207| `ToolUse`, `ToolResult`, `ToolGroup` | Baris panggilan tool, hasilnya, dan grup panggilan yang dilipat |209| `ToolUse`, `ToolResult`, `ToolGroup` | Baris panggilan tool, hasilnya, dan grup panggilan yang dilipat |


212 214 

213`Pane`, `AskUserQuestion`, `Spinner`, `UserMessage`, `AssistantMessage`, dan titik render panggilan tool bekerja di terminal, aplikasi Desktop, dan ekstensi VS Code. Tabel [titik render](https://code.claude.com/docs/id/plugins/mods/reference.md#render-sites) mencantumkan di mana masing-masing titik render lainnya dimunculkan.215`Pane`, `AskUserQuestion`, `Spinner`, `UserMessage`, `AssistantMessage`, dan titik render panggilan tool bekerja di terminal, aplikasi Desktop, dan ekstensi VS Code. Tabel [titik render](https://code.claude.com/docs/id/plugins/mods/reference.md#render-sites) mencantumkan di mana masing-masing titik render lainnya dimunculkan.

214 216 

215Di situs yang sudah digambar Claude Code, hook Anda dapat mengubah detail, mengganti gambar, atau membiarkannya. Pilih tab untuk melihat masing-masing diterapkan pada spinner. Contoh membaca variabel `calls` yang hook lain hitung, seperti dalam [mod tutorial](https://code.claude.com/docs/id/plugins/mods/create.md#write-a-mod-yourself).217Di titik render yang sudah digambar Claude Code, hook Anda dapat mengubah detail, mengganti gambar, atau membiarkannya. Pilih tab untuk melihat masing-masing diterapkan pada spinner. Contoh membaca variabel `calls` yang hook lain hitung, seperti dalam [mod tutorial](https://code.claude.com/docs/id/plugins/mods/create.md#write-a-mod-yourself).

216 218 

217> [tab] Change a detail219> [tab] Change a detail

218>220>


233 235 

234> [tab] Replace the drawing236> [tab] Replace the drawing

235>237>

236> Untuk menggambar sesuatu milik Anda sendiri di tempat situs, kembalikan pohon dan jangan panggil `next`. Hook ini menggambar satu baris teks di mana spinner akan berada:238> Untuk menggambar sesuatu milik Anda sendiri di tempat titik render, kembalikan pohon dan jangan panggil `next`. Hook ini menggambar satu baris teks di mana spinner akan berada:

237>239>

238> ```javascript theme={null}240> ```javascript theme={null}

239> on('ui.render', { component: 'Spinner' }, async ($, e) => {241> on('ui.render', { component: 'Spinner' }, async ($, e) => {


251 253 

252> [tab] Leave it alone254> [tab] Leave it alone

253>255>

254> Untuk meninggalkan situs seperti yang digambar Claude Code, kembalikan `next(e)`. Hook sering melakukan itu untuk beberapa event dan tidak untuk yang lain. Hook ini meninggalkan spinner saja sampai ada panggilan untuk dihitung:256> Untuk meninggalkan titik render seperti yang digambar Claude Code, kembalikan `next(e)`. Hook sering melakukan itu untuk beberapa event dan tidak untuk yang lain. Hook ini meninggalkan spinner saja sampai ada panggilan untuk dihitung:

255>257>

256> ```javascript theme={null}258> ```javascript theme={null}

257> on('ui.render', { component: 'Spinner' }, async ($, e, next) => {259> on('ui.render', { component: 'Spinner' }, async ($, e, next) => {


267> Thinking…269> Thinking…

268> ```270> ```

269 271 

270Di situs-situs ini, `next(e)` mengembalikan referensi ke gambar Claude Code, `{ type: 'engine', ref }`, kecuali mod yang berjalan setelah milik Anda mengembalikan pohonnya sendiri. Untuk mengubah isi gambar tersebut, teruskan `next` salinan event dengan props yang berbeda, seperti yang dilakukan tab **Change a detail**. Anda dapat mengembalikan referensi apa adanya, atau menempatkannya dalam `Box` di samping elemen Anda sendiri:272Di titik-titik render ini, `next(e)` mengembalikan referensi ke gambar Claude Code, `{ type: 'engine', ref }`, kecuali mod yang berjalan setelah milik Anda mengembalikan pohonnya sendiri. Untuk mengubah isi gambar tersebut, teruskan `next` salinan event dengan props yang berbeda, seperti yang dilakukan tab **Change a detail**. Anda dapat mengembalikan referensi apa adanya, atau menempatkannya dalam `Box` di samping elemen Anda sendiri:

271 273 

272```javascript theme={null}274```javascript theme={null}

273on('ui.render', { component: 'Spinner' }, async ($, e, next) => {275on('ui.render', { component: 'Spinner' }, async ($, e, next) => {


279 281 

280Saat Claude bekerja, spinner beranimasi seperti sebelumnya, dan `under the spinner` muncul di bawahnya.282Saat Claude bekerja, spinner beranimasi seperti sebelumnya, dan `under the spinner` muncul di bawahnya.

281 283 

282Dialog izin bukan render site, jadi mod tidak dapat mengubah apa yang ditampilkannya. Dialog pertanyaan, `AskUserQuestion`, adalah satu, jadi mod dapat mengubah itu. Pohon untuk dialog tersebut harus memuat referensi tepat satu kali, dengan elemen Anda di atasnya. Jika tidak, Claude Code menggambar dialognya sendiri.284Dialog izin bukan titik render, jadi mod tidak dapat mengubah apa yang ditampilkannya. Dialog pertanyaan, `AskUserQuestion`, adalah titik render, jadi mod dapat mengubahnya. Pohon untuk dialog tersebut harus memuat referensi tepat satu kali, dengan elemen Anda di atasnya. Jika tidak, Claude Code menggambar dialognya sendiri.

283 285 

284### Buka panel pada waktu yang tepat286### Buka panel pada waktu yang tepat

285 287 


349* **Saran prompt**: `$.prompt.suggest` diselesaikan dengan `isShown: false` dan tidak menampilkan apa pun, karena panel obrolan menyimpan teks saran redup di kotak prompt untuk saran Claude sendiri.351* **Saran prompt**: `$.prompt.suggest` diselesaikan dengan `isShown: false` dan tidak menampilkan apa pun, karena panel obrolan menyimpan teks saran redup di kotak prompt untuk saran Claude sendiri.

350* **Batas teks**: panel obrolan memotong baris status pada 200 karakter atau dua baris, dan toast pada 500 karakter.352* **Batas teks**: panel obrolan memotong baris status pada 200 karakter atau dua baris, dan toast pada 500 karakter.

351 353 

354### Tempatkan baris di transkrip

355 

356Baris adalah satu baris yang ditambahkan mod Anda ke transkrip di terminal, setelah pesan terbaru. Baris tersebut tetap berada di posisi itu seiring percakapan berlanjut, dan Claude tidak melihatnya. `$.ui.place` memerlukan Claude Code v2.1.314 atau lebih baru.

357 

358**1. Tempatkan baris**

359 

360Panggil [`$.ui.place`](https://code.claude.com/docs/id/plugins/mods/reference#mods-api-methods) dengan `id`. `id` adalah nama yang Anda buat untuk baris tersebut, seperti `build-status`. Nama ini dapat berisi 1 hingga 64 huruf, digit, `_`, atau `-`, dan setiap baris yang dimiliki mod Anda di transkrip memerlukan `id` sendiri.

361 

362**2. Gambar baris**

363 

364Gambar baris di titik render [`Placed`](https://code.claude.com/docs/id/plugins/mods/reference#render-sites).

365 

366Contoh ini menambahkan perintah `/build-status`. Ketika pengguna menjalankan perintah tersebut, mod menambahkan baris yang menampilkan `Build: passing`. Teksnya tetap agar contoh tetap singkat, sehingga mod sungguhan akan menggambar hasilnya sendiri:

367 

368```javascript theme={null}

369export function register(on) {

370 on('session.start', async ($, e, next) => {

371 await $.command.register({ name: 'build-status', description: 'Show the build status' })

372 return next(e)

373 })

374 

375 on('command.run', { command: 'build-status' }, async ($) => {

376 const placed = await $.ui.place({ id: 'build-status' })

377 // Where nothing draws the row, reply with text instead

378 return placed.isPlaced ? {} : { text: 'Build: passing' }

379 })

380 

381 on('ui.render', { component: 'Placed' }, async ($, e, next) => {

382 // This hook runs for every mod's rows, and another mod can use the same id

383 if (e.props.plugin !== $.plugin.name || e.props.id !== 'build-status') return next(e)

384 const { Text } = $.ui.resolve(e)

385 return Text({ children: ['Build: passing'] })

386 })

387}

388```

389 

390Untuk mencoba contoh ini, letakkan kode ini di sebuah [mod](https://code.claude.com/docs/id/plugins/mods/create.md). Dalam sesi terminal, jalankan `/build-status` di prompt Claude Code. `Build: passing` muncul sebagai baris di akhir transkrip.

391 

392Panggilan ini tidak selalu menampilkan baris, dan baris dapat hilang kemudian, jadi tangani kasus-kasus berikut di mod Anda:

393 

394* **Hasilnya**: `{ isPlaced: true, requestId }` ketika terminal menggambar baris tersebut. Jika tidak, `isPlaced` adalah `false` dan `reason` mengatakan mengapa, seperti dalam `no attached surface draws placed rows yet`. Salah satu alasannya adalah [batas jumlah baris](https://code.claude.com/docs/id/plugins/mods/reference.md#limits) yang dapat dimiliki mod pada satu waktu.

395* **Panggilan kedua dengan `id` yang sama**: selama baris pertama masih ada di transkrip, panggilan tersebut tidak menambahkan baris dan diselesaikan dengan `requestId` baris itu. Untuk mengubah apa yang ditampilkan baris, [gambar ulang baris tersebut](#redraw-when-something-changes).

396* **Kapan baris hilang**: ketika percakapan berakhir, ketika pengguna melakukan rewind melewati baris tersebut, atau, di luar [rendering fullscreen](https://code.claude.com/docs/id/fullscreen.md), ketika percakapan dipadatkan. `--resume` tidak mengembalikan baris tersebut. Untuk menampilkan baris lagi, panggil `$.ui.place` lagi.

397 

398### Pasang latar belakang di balik percakapan

399 

400> [!NOTE]

401>

402> `$.theme.set` dan `$.theme.clear` menggantikan `$.ui.backdrop`, yang dihapus oleh Claude Code v2.1.319. Ubah `$.ui.backdrop({ id: 'your-backdrop' })` menjadi `$.theme.set({ backdrop: { id: 'your-backdrop' } })`, dan `$.ui.backdrop(undefined)` menjadi `$.theme.clear()`, yang menghapus latar belakang dari mod mana pun.

403 

404Untuk memasang latar belakang di balik percakapan di aplikasi Desktop atau aplikasi seluler, panggil [`$.theme.set`](https://code.claude.com/docs/id/plugins/mods/reference#mods-api-methods) dengan `backdrop`, lalu gambar latar belakang di titik render [`Backdrop`](https://code.claude.com/docs/id/plugins/mods/reference#render-sites). Untuk melepas latar belakang, panggil `$.theme.clear()`. Terminal tidak menggambar latar belakang. `$.theme.set` dan `$.theme.clear` memerlukan Claude Code v2.1.319 atau lebih baru.

405 

406Mod ini menetapkan latar belakang saat sesi dimulai, menggambar latar belakang tersebut, dan menambahkan perintah `/plain` yang melepas latar belakang:

407 

408```javascript theme={null}

409export function register(on) {

410 // Neither a reload of this mod nor --resume keeps the backdrop, so set it here

411 on('session.start', async ($, e, next) => {

412 await $.theme.set({ backdrop: { id: 'night-sky', colorScheme: 'dark' } })

413 await $.command.register({ name: 'plain', description: 'Take the backdrop off' })

414 return next(e)

415 })

416 

417 on('ui.render', { component: 'Backdrop' }, async ($, e, next) => {

418 // This hook runs for every mod's backdrop, and another mod can use the same id

419 if (e.props.plugin !== $.plugin.name || e.props.id !== 'night-sky') return next(e)

420 const { Box, Text } = $.ui.resolve(e)

421 return Box({ backgroundColor: 'blue', children: [Text({ children: ['Night sky'] })] })

422 })

423 

424 on('command.run', { command: 'plain' }, async ($) => {

425 const cleared = await $.theme.clear()

426 return { text: cleared.reason }

427 })

428}

429```

430 

431Untuk mencoba contoh ini, letakkan kode ini di sebuah [mod](https://code.claude.com/docs/id/plugins/mods/create.md) dan mulai sesi di aplikasi Desktop atau aplikasi seluler. Untuk melepas latar belakang, jalankan `/plain` di prompt Claude Code. Transkrip menampilkan `the theme is cleared` setelah nama mod, seperti dalam `night-sky: the theme is cleared` untuk mod bernama `night-sky`.

432 

433Periksa apa yang diterima `backdrop`, apa yang diberitahukan hasil panggilan kepada Anda, dan apa yang dapat diubah oleh mod lain:

434 

435* **Bidang `backdrop`**: `id`, sebuah [nama](https://code.claude.com/docs/id/plugins/mods/reference.md#limits) yang Anda pilih, wajib diisi, dan bidang lainnya opsional. `colorScheme` adalah `'light'` atau `'dark'` dan menyatakan apakah gambar Anda terang atau gelap. Untuk `glass`, lihat [tipe untuk build Anda](https://code.claude.com/docs/id/plugins/mods/create.md#get-the-types-for-your-build).

436* **Apakah latar belakang digambar**: `$.theme.set` diselesaikan dengan `isDrawn: true` ketika aplikasi Desktop atau seluler yang terhubung ke sesi menyatakan bahwa aplikasi tersebut menggambar latar belakang. Jika tidak, `isDrawn` adalah `false` dan `reason` mengatakan mengapa.

437* **Satu latar belakang untuk setiap sesi**: panggilan `$.theme.set` menggantikan latar belakang sesi dan `$.theme.clear()` menghapus latar belakang tersebut, mod mana pun yang menetapkannya. Panggil `$.theme.clear()` hanya ketika pengguna memintanya.

438 

352## Bangun pohon dari elemen439## Bangun pohon dari elemen

353 440 

354Apa yang dikembalikan hook `ui.render` adalah pohon elemen: deskripsi apa yang akan digambar, terbuat dari kotak, teks, dan kontrol bersarang di dalam satu sama lain. Anda mendeskripsikan gambar, dan Claude Code merendernya di aplikasi mana pun yang dibuka pengguna: terminal, aplikasi Desktop, atau ekstensi VS Code.441Apa yang dikembalikan hook `ui.render` adalah pohon elemen: deskripsi apa yang akan digambar, terbuat dari kotak, teks, dan kontrol bersarang di dalam satu sama lain. Anda mendeskripsikan gambar, dan Claude Code merendernya di aplikasi mana pun yang dibuka pengguna: terminal, aplikasi Desktop, atau ekstensi VS Code.

Details

57| :- | :- | :- |57| :- | :- | :- |

58| [`tool.call`](https://code.claude.com/docs/id/plugins/mods/events#guard-or-change-a-tool-call) | Sebuah tool akan dijalankan | `next(e)`, `{ deny: reason }`, atau `{ result }` |58| [`tool.call`](https://code.claude.com/docs/id/plugins/mods/events#guard-or-change-a-tool-call) | Sebuah tool akan dijalankan | `next(e)`, `{ deny: reason }`, atau `{ result }` |

59| [`tool.check`](https://code.claude.com/docs/id/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code memutuskan apakah panggilan tool boleh dijalankan, setelah hook `tool.call` dan `PreToolUse`. `next(e)` resolve ke keputusan yang dicapai oleh aturan, mode izin, dan hook-hook tersebut. | `next(e)` atau `{ decision }`, dengan `decision` diatur ke `allow`, `ask`, atau `deny` dan `reason` opsional |59| [`tool.check`](https://code.claude.com/docs/id/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code memutuskan apakah panggilan tool boleh dijalankan, setelah hook `tool.call` dan `PreToolUse`. `next(e)` resolve ke keputusan yang dicapai oleh aturan, mode izin, dan hook-hook tersebut. | `next(e)` atau `{ decision }`, dengan `decision` diatur ke `allow`, `ask`, atau `deny` dan `reason` opsional |

60| `tool.describe` | Sekali untuk setiap tool, saat deskripsinya pertama kali dikirim ke Claude. Sekali lagi untuk tool MCP saat Claude memuatnya melalui [pencarian tool](https://code.claude.com/docs/id/mcp.md#scale-with-mcp-tool-search), dengan `e.description` diatur ke teks yang dibaca Claude untuk tool yang dimuat tersebut. | `{ description }`, secara opsional dengan `isDeferred` diatur ke `true` untuk menempatkan tool di balik pencarian tool atau `false` untuk memuatnya sejak awal |60| `tool.describe` | Sekali untuk setiap tool, saat deskripsinya pertama kali dikirim ke Claude. Sekali lagi untuk tool MCP saat Claude memuatnya melalui [pencarian tool](https://code.claude.com/docs/id/mcp.md#scale-with-mcp-tool-search), dengan `e.description` diatur ke teks yang dibaca Claude untuk tool yang dimuat tersebut. | `{ description }`, secara opsional dengan `isDeferred` diatur ke `true` untuk menempatkan tool di balik pencarian tool atau `false` untuk memuatnya sejak awal. Tambahkan [`breakPromptCache: true`](#break-prompt-cache) untuk mengirim deskripsi yang diubah pada giliran berikutnya. |

61 61 

62#### Field agent dan organisasi pada `tool.check`62#### Field agent dan organisasi pada `tool.check`

63 63 


85| `prompt.edit` | Pengguna mengedit kotak prompt | `next(e)` |85| `prompt.edit` | Pengguna mengedit kotak prompt | `next(e)` |

86| `prompt.autocomplete` | Pengguna mengetik di kotak prompt dan sebuah kata berakhir di kursor. `e.token` adalah kata tersebut. Claude Code tidak menunggu hook: baris autocomplete miliknya sendiri ditampilkan lebih dulu. | `{ suggestions }`, daftar baris `{ text, label, description }` yang ditampilkan di bawah baris milik Claude Code. Memilih sebuah baris akan menulis `text`-nya menggantikan kata tersebut. |86| `prompt.autocomplete` | Pengguna mengetik di kotak prompt dan sebuah kata berakhir di kursor. `e.token` adalah kata tersebut. Claude Code tidak menunggu hook: baris autocomplete miliknya sendiri ditampilkan lebih dulu. | `{ suggestions }`, daftar baris `{ text, label, description }` yang ditampilkan di bawah baris milik Claude Code. Memilih sebuah baris akan menulis `text`-nya menggantikan kata tersebut. |

87| `prompt.compose` | Claude Code merender system prompt | `{ sections }`, daftar `{ id, text, scope }` dalam urutan pengirimannya |87| `prompt.compose` | Claude Code merender system prompt | `{ sections }`, daftar `{ id, text, scope }` dalam urutan pengirimannya |

88| [`prompt.section`](https://code.claude.com/docs/id/plugins/mods/events#rewrite-or-add-to-a-prompt) | Sekali untuk setiap bagian bernama dari system prompt. `e.name` adalah `id` bagian tersebut di `prompt.compose`. | `{ text }`, atau `{ text: null }` untuk menghilangkan bagian tersebut |88| [`prompt.section`](https://code.claude.com/docs/id/plugins/mods/events#rewrite-or-add-to-a-prompt) | Sekali untuk setiap bagian bernama dari system prompt. `e.name` adalah `id` bagian tersebut di `prompt.compose`. | `{ text }`, atau `{ text: null }` untuk menghilangkan bagian tersebut. Tambahkan [`breakPromptCache: true`](#break-prompt-cache) untuk mengirim bagian yang diubah pada giliran berikutnya. |

89| [`prompt.context`](https://code.claude.com/docs/id/plugins/mods/events#rewrite-or-add-to-a-prompt) | Sekali untuk setiap percakapan, untuk konteks yang dikirim bersama pesan pertama | `{ blocks }` |89| [`prompt.context`](https://code.claude.com/docs/id/plugins/mods/events#rewrite-or-add-to-a-prompt) | Sekali untuk setiap percakapan, untuk konteks yang dikirim bersama pesan pertama | `{ blocks }` |

90| `prompt.attachment` | Claude Code menambahkan pesannya sendiri untuk Claude, seperti pengingat. `e.type` menyebutkan jenisnya, dan untuk jenis yang dideklarasikan oleh types, `e.detail` memuat fakta yang menjadi dasar penulisan teks tersebut. | `{ text }`, atau `{ text: null }` untuk menghilangkannya |90| `prompt.attachment` | Claude Code menambahkan pesannya sendiri untuk Claude, seperti pengingat. `e.type` menyebutkan jenisnya, dan untuk jenis yang dideklarasikan oleh types, `e.detail` memuat fakta yang menjadi dasar penulisan teks tersebut. | `{ text }`, atau `{ text: null }` untuk menghilangkannya |

91| `prompt.mention` | Claude Code akan membaca file yang di-\@-mention oleh sebuah prompt. Memerlukan Claude Code v2.1.290 atau yang lebih baru. | `next({ ...e, path })` untuk membaca file lain, atau `{ deny: reason }` |91| `prompt.mention` | Claude Code akan membaca file yang di-\@-mention oleh sebuah prompt. Memerlukan Claude Code v2.1.290 atau yang lebih baru. | `next({ ...e, path })` untuk membaca file lain, atau `{ deny: reason }` |


108 108 

109Pada `skill.prompt`, `e.source`, `e.pluginName`, `e.path`, `e.frontmatter`, dan `e.frontmatterProblem` memerlukan Claude Code v2.1.299 atau yang lebih baru.109Pada `skill.prompt`, `e.source`, `e.pluginName`, `e.path`, `e.frontmatter`, dan `e.frontmatterProblem` memerlukan Claude Code v2.1.299 atau yang lebih baru.

110 110 

111#### Mengirim bagian system prompt atau deskripsi tool yang diubah dengan `breakPromptCache`

112 

113Untuk mengubah sebuah bagian atau deskripsi tool dalam percakapan yang sedang berjalan, panggil `$.ui.invalidate('prompt.section')` atau `$.ui.invalidate('tool.describe')` agar hook Anda dijalankan lagi. Kembalikan `{ text, breakPromptCache: true }` atau `{ description, breakPromptCache: true }` dari hook tersebut. Tanpa field ini, Claude tetap membaca teks yang [disimpan bersama percakapan](https://code.claude.com/docs/id/cli-reference.md#system-prompt-flags-in-resumed-conversations) untuk sebuah bagian atau tool yang dimuat sejak awal hingga percakapan baru atau [compaction](https://code.claude.com/docs/id/prompt-caching.md#compacting-the-conversation).

114 

115Teks yang diubah sampai ke Claude pada giliran berikutnya, dan [cache prompt](https://code.claude.com/docs/id/prompt-caching.md) dimulai dari awal, sehingga giliran tersebut lebih lambat dan lebih mahal. Field ini memerlukan Claude Code v2.1.321 atau yang lebih baru. Dari v2.1.299 hingga v2.1.321, percakapan yang sedang berjalan menerima teks yang diubah pada giliran berikutnya.

116 

111### Perintah dan konfigurasi117### Perintah dan konfigurasi

112 118 

113| Event | Dipicu saat | Hook dapat mengembalikan |119| Event | Dipicu saat | Hook dapat mengembalikan |


212| Namespace | Metode |218| Namespace | Metode |

213| :- | :- |219| :- | :- |

214| `$.plugin` | `name`, `root`: nama dan direktori plugin ini |220| `$.plugin` | `name`, `root`: nama dan direktori plugin ini |

215| [`$.ui`](https://code.claude.com/docs/id/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |221| [`$.ui`](https://code.claude.com/docs/id/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, [`place`](https://code.claude.com/docs/id/plugins/mods/interface#place-a-row-in-the-transcript), `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit`, `view`. `view` memerlukan Claude Code v2.1.300 atau yang lebih baru dan `place` memerlukan v2.1.314 atau yang lebih baru. |

222| [`$.theme`](https://code.claude.com/docs/id/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `set`, `clear`: mengatur latar belakang (backdrop) untuk digambar oleh aplikasi Desktop atau seluler, dan menghapus latar belakang tersebut. Memerlukan Claude Code v2.1.319 atau yang lebih baru. |

216| [`$.command`](https://code.claude.com/docs/id/plugins/mods/api#add-a-command) | `register`, `run`, `list` |223| [`$.command`](https://code.claude.com/docs/id/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

217| [`$.tool`](https://code.claude.com/docs/id/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |224| [`$.tool`](https://code.claude.com/docs/id/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |

218| `$.agent` | `register`, `spawn`, `list`. `list()` mengembalikan subagent dan rekan tim (teammate) sesi ini, masing-masing dengan `status` berupa `pending`, `running`, `waiting`, `idle`, `completed`, `failed`, atau `killed`, di mana `idle` dan `waiting` memerlukan Claude Code v2.1.289 atau yang lebih baru. |225| `$.agent` | `register`, `spawn`, `list`. `list()` mengembalikan subagent dan rekan tim (teammate) sesi ini, masing-masing dengan `status` berupa `pending`, `running`, `waiting`, `idle`, `completed`, `failed`, atau `killed`, di mana `idle` dan `waiting` memerlukan Claude Code v2.1.289 atau yang lebih baru. |


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

244| [`Pane`](https://code.claude.com/docs/id/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | `id` panel | Terminal, Desktop, VS Code |251| [`Pane`](https://code.claude.com/docs/id/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | `id` panel | Terminal, Desktop, VS Code |

245| [`AbovePrompt`](https://code.claude.com/docs/id/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Satu instans | Terminal, Desktop |252| [`AbovePrompt`](https://code.claude.com/docs/id/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Satu instans | Terminal, Desktop |

253| [`Placed`](https://code.claude.com/docs/id/plugins/mods/interface#place-a-row-in-the-transcript) | `id`, `plugin`, `onScreen` | `requestId` yang dikembalikan oleh `$.ui.place` | Terminal |

254| [`Backdrop`](https://code.claude.com/docs/id/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `id`, `plugin`, `glass`, `colorScheme` | `backdrop` | Surface `desktop` dan `mobile`. Hook Anda berjalan saat aplikasi Desktop atau aplikasi seluler meminta untuk menggambar backdrop. |

246| `UserMessage` | `text`, `origin`, `isExpanded`, dan `task` atau `from` tergantung origin | id pesan | Terminal, Desktop, VS Code |255| `UserMessage` | `text`, `origin`, `isExpanded`, dan `task` atau `from` tergantung origin | id pesan | Terminal, Desktop, VS Code |

247| `AssistantMessage` | Teks balasan | id pesan | Terminal, Desktop, VS Code |256| `AssistantMessage` | Teks balasan | id pesan | Terminal, Desktop, VS Code |

248| `ToolUse`, `ToolResult`, `ToolGroup` | Nama, input, dan hasil tool | id panggilan tool | Terminal, Desktop, VS Code |257| `ToolUse`, `ToolResult`, `ToolGroup` | Nama, input, dan hasil tool | id panggilan tool | Terminal, Desktop, VS Code |


399| Penggambaran ulang `$.ui.invalidate('ui.render')` | Dibatasi hingga 10 per detik, atau 30 di terminal untuk panel yang terlihat, band yang diperluas, dan baris petunjuk di bawah prompt. Panggilan yang datang lebih cepat digabungkan. |408| Penggambaran ulang `$.ui.invalidate('ui.render')` | Dibatasi hingga 10 per detik, atau 30 di terminal untuk panel yang terlihat, band yang diperluas, dan baris petunjuk di bawah prompt. Panggilan yang datang lebih cepat digabungkan. |

400| `$.ui.toast` | Ditampilkan selama 4 detik kecuali Anda meneruskan `{ timeoutMs }`. Di [renderer klasik](https://code.claude.com/docs/id/fullscreen.md#enable-fullscreen-rendering), toast yang lebih baru dari sebuah mod dapat [menggantikan toast lamanya](https://code.claude.com/docs/id/plugins/mods/troubleshoot.md#a-toast-doesn’t-appear) yang sedang ditampilkan atau menunggu untuk ditampilkan. |409| `$.ui.toast` | Ditampilkan selama 4 detik kecuali Anda meneruskan `{ timeoutMs }`. Di [renderer klasik](https://code.claude.com/docs/id/fullscreen.md#enable-fullscreen-rendering), toast yang lebih baru dari sebuah mod dapat [menggantikan toast lamanya](https://code.claude.com/docs/id/plugins/mods/troubleshoot.md#a-toast-doesn’t-appear) yang sedang ditampilkan atau menunggu untuk ditampilkan. |

401| Panel yang dibuka tanpa diminta pengguna | Ditempatkan mulai dari 144 kolom terminal, 110 setelah pengguna pernah membukanya sekali |410| Panel yang dibuka tanpa diminta pengguna | Ditempatkan mulai dari 144 kolom terminal, 110 setelah pengguna pernah membukanya sekali |

411| Baris dari `$.ui.place` yang dimiliki satu mod dalam satu percakapan pada satu waktu | 500. Saat batas tercapai, panggilan dengan `id` baru akan resolve menjadi `{ isPlaced: false, reason: 'a plugin holds at most 500 placed rows' }`. |

402| Kedalaman bersarang argumen panggilan API mod | 28.000 level. Melewati batas itu, panggilan ditolak (reject) dengan pesan yang diakhiri `nesting deeper than 28000 levels is not supported`. Memerlukan Claude Code v2.1.299 atau yang lebih baru. |412| Kedalaman bersarang argumen panggilan API mod | 28.000 level. Melewati batas itu, panggilan ditolak (reject) dengan pesan yang diakhiri `nesting deeper than 28000 levels is not supported`. Memerlukan Claude Code v2.1.299 atau yang lebih baru. |

403| Kedalaman bersarang event yang diubah dan diteruskan ke `next`, di luar [hook async generator](#events) seperti hook pada `turn.step` | 28.000 level. Melewati batas itu, `next` ditolak (reject) dengan pesan yang diakhiri `nesting deeper than 28000 levels is not supported`. Memerlukan Claude Code v2.1.299 atau yang lebih baru. |413| Kedalaman bersarang event yang diubah dan diteruskan ke `next`, di luar [hook async generator](#events) seperti hook pada `turn.step` | 28.000 level. Melewati batas itu, `next` ditolak (reject) dengan pesan yang diakhiri `nesting deeper than 28000 levels is not supported`. Memerlukan Claude Code v2.1.299 atau yang lebih baru. |

404| Kedalaman bersarang nilai kembalian hook, di luar `ui.render`, `ui.resolve`, dan hook async generator | 28.000 level. Melewati batas itu, hasil hook ditolak, dan [pemberitahuan yang melaporkannya](https://code.claude.com/docs/id/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing) menyertakan `nesting deeper than 28000 levels is not supported`. Memerlukan Claude Code v2.1.299 atau yang lebih baru. |414| Kedalaman bersarang nilai kembalian hook, di luar `ui.render`, `ui.resolve`, dan hook async generator | 28.000 level. Melewati batas itu, hasil hook ditolak, dan [pemberitahuan yang melaporkannya](https://code.claude.com/docs/id/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing) menyertakan `nesting deeper than 28000 levels is not supported`. Memerlukan Claude Code v2.1.299 atau yang lebih baru. |

405| Cakupan, seperti fungsi, blok, dan loop, yang bersarang satu di dalam yang lain dalam satu file modul hook | 2.000 |415| Cakupan, seperti fungsi, blok, dan loop, yang bersarang satu di dalam yang lain dalam satu file modul hook | 2.000 |

406| Nama perintah, tool, tipe subagent, dan panel | Huruf, digit, `_`, dan `-`, hingga 64 karakter |416| Nama perintah, tool, tipe subagent, dan panel, serta `id` dari baris yang ditempatkan atau backdrop | Huruf, digit, `_`, dan `-`, hingga 64 karakter |

407| Satu tes `claude plugin test` | 5 detik kecuali tes tersebut menetapkan `timeoutMs` |417| Satu tes `claude plugin test` | 5 detik kecuali tes tersebut menetapkan `timeoutMs` |

408 418 

409## Pengaturan dan environment variable419## Pengaturan dan environment variable

Details

33Dua pengaturan tidak muncul dalam tabel layer tetapi masih mempengaruhi apa yang tetap di-cache:33Dua pengaturan tidak muncul dalam tabel layer tetapi masih mempengaruhi apa yang tetap di-cache:

34 34 

35* **Model**: setiap model memiliki cache-nya sendiri. Mengganti model menghitung ulang seluruh permintaan bahkan ketika kontennya identik. Lihat [Switching models](#switching-models) di bawah.35* **Model**: setiap model memiliki cache-nya sendiri. Mengganti model menghitung ulang seluruh permintaan bahkan ketika kontennya identik. Lihat [Switching models](#switching-models) di bawah.

36* **Tingkat effort**: pada sebagian besar model, setiap tingkat effort memiliki cache-nya sendiri, jadi mengubah effort di tengah sesi menghitung ulang seluruh permintaan. Pada Opus 5.5, Sonnet 5.5, Haiku 5.5, dan Fable 5.1 dengan kunci API atau langganan Claude, cache tetap utuh secara default. Lihat [Changing effort level](#changing-effort-level) di bawah.36* **Tingkat effort**: pada sebagian besar model, setiap tingkat effort memiliki cache-nya sendiri, jadi mengubah effort di tengah sesi menghitung ulang seluruh permintaan. Dengan kunci API atau langganan Claude, cache tetap utuh secara default pada Fable 5.1 dan yang lebih baru, Opus 5.5, Sonnet 5.5, dan Haiku 5.5. Lihat [Changing effort level](#changing-effort-level) di bawah.

37 37 

38> [!TIP]38> [!TIP]

39>39>


94 94 

95Pada sebagian besar model, mengubah [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) di tengah sesi berarti permintaan berikutnya membaca seluruh riwayat percakapan tanpa cache hit. Saat cache masih hangat, Claude Code meminta Anda untuk mengonfirmasi perubahan terlebih dahulu.95Pada sebagian besar model, mengubah [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) di tengah sesi berarti permintaan berikutnya membaca seluruh riwayat percakapan tanpa cache hit. Saat cache masih hangat, Claude Code meminta Anda untuk mengonfirmasi perubahan terlebih dahulu.

96 96 

97Pada Opus 5.5, Sonnet 5.5, Haiku 5.5, dan Fable 5.1 dengan kunci API atau langganan Claude, Anda tetap mempertahankan cache saat mengubah effort. Claude Code [menerapkan tingkat baru](https://code.claude.com/docs/id/model-config.md#when-a-new-effort-level-starts) tanpa bertanya. Pada Amazon Bedrock, Google Cloud's Agent Platform, atau [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway), atau ketika Anda menetapkan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) atau organisasi Anda memiliki konfigurasi HIPAA, perilakunya sama seperti pada sebagian besar model.97Dengan kunci API atau langganan Claude, mengubah effort tetap mempertahankan cache pada Fable 5.1 dan yang lebih baru, Opus 5.5, Sonnet 5.5, dan Haiku 5.5. Claude Code [menerapkan tingkat baru](https://code.claude.com/docs/id/model-config.md#when-a-new-effort-level-starts) tanpa bertanya. Pada Amazon Bedrock, Google Cloud's Agent Platform, atau [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway), atau ketika Anda menetapkan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/id/llm-gateway-protocol#disable-pre-release-capabilities) atau organisasi Anda memiliki konfigurasi HIPAA, perilakunya sama seperti pada sebagian besar model.

98 98 

99Sebelum v2.1.260, mengubah effort pada Fable 5.1 dengan kunci API atau langganan Claude juga membatalkan cache.99Sebelum v2.1.260, mengubah effort pada Fable 5.1 dengan kunci API atau langganan Claude juga membatalkan cache.

100 100 

Details

49> claude remote-control49> claude remote-control

50> ```50> ```

51>51>

52> `claude rc` adalah alias untuk perintah ini.

53>

52> Sampai Anda menerima konfirmasi satu kali Remote Control, `claude remote-control` menjelaskan apa yang dilakukannya dan menanyakan `Enable Remote Control? (y/n)` sebelum memulai server. Jawab `y` untuk menerima dan memulai server. Jika Anda menolak, Claude Code keluar tanpa memulai server dan menanyakan lagi saat Anda menjalankan perintah berikutnya.54> Sampai Anda menerima konfirmasi satu kali Remote Control, `claude remote-control` menjelaskan apa yang dilakukannya dan menanyakan `Enable Remote Control? (y/n)` sebelum memulai server. Jawab `y` untuk menerima dan memulai server. Jika Anda menolak, Claude Code keluar tanpa memulai server dan menanyakan lagi saat Anda menjalankan perintah berikutnya.

53>55>

54> Proses tetap berjalan di terminal Anda dalam mode server, menunggu koneksi jarak jauh. Ini menampilkan URL 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 tool.56> Proses tetap berjalan di terminal Anda dalam mode server, menunggu koneksi jarak jauh. Ini menampilkan URL 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 tool.


462* **Paket claude.ai Anda adalah Pro, Max, atau Ultra**: Claude Code masih masuk di bawah organisasi Team atau Enterprise dari login sebelumnya, jadi itu memeriksa kebijakan Remote Control organisasi itu. Jalankan `/status` untuk melihat paket dan organisasi mana yang digunakan sign-in Anda. Jalankan `claude auth logout` kemudian `claude auth login` untuk masuk lagi di bawah paket Anda saat ini.464* **Paket claude.ai Anda adalah Pro, Max, atau Ultra**: Claude Code masih masuk di bawah organisasi Team atau Enterprise dari login sebelumnya, jadi itu memeriksa kebijakan Remote Control organisasi itu. Jalankan `/status` untuk melihat paket dan organisasi mana yang digunakan sign-in Anda. Jalankan `claude auth logout` kemudian `claude auth login` untuk masuk lagi di bawah paket Anda saat ini.

463* **Pesan tidak mengatakan untuk menghubungi admin organisasi Anda**: organisasi Anda menerapkan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md), yang mematikan Remote Control. Untuk memastikannya, jalankan `/status` dan cari `HIPAA` di baris `Organization configuration`. Owner melihat toggle **Remote Control** diarsir di [pengaturan admin](https://claude.ai/admin-settings/claude-code) dan tidak dapat mengaktifkannya. Jika Anda memiliki pertanyaan tentang konfigurasi tersebut, tanyakan kepada Owner, yang dapat menghubungi tim akun Anthropic organisasi Anda. Sebelum v2.1.267, kasus ini menunjukkan "Remote Control isn't available for your organization due to its compliance policy" sebagai gantinya.465* **Pesan tidak mengatakan untuk menghubungi admin organisasi Anda**: organisasi Anda menerapkan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md), yang mematikan Remote Control. Untuk memastikannya, jalankan `/status` dan cari `HIPAA` di baris `Organization configuration`. Owner melihat toggle **Remote Control** diarsir di [pengaturan admin](https://claude.ai/admin-settings/claude-code) dan tidak dapat mengaktifkannya. Jika Anda memiliki pertanyaan tentang konfigurasi tersebut, tanyakan kepada Owner, yang dapat menghubungi tim akun Anthropic organisasi Anda. Sebelum v2.1.267, kasus ini menunjukkan "Remote Control isn't available for your organization due to its compliance policy" sebagai gantinya.

464* **Remote Control berfungsi untuk orang lain di organisasi Anda tetapi tidak untuk Anda**: jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), peran Anda dapat menjadi penyebabnya. Remote Control memerlukan izin sesi cloud sekaligus izin **Claude Code remote control**. Minta Owner untuk memeriksa apakah peran Anda mencakup keduanya dan menambahkan yang kurang di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).466* **Remote Control berfungsi untuk orang lain di organisasi Anda tetapi tidak untuk Anda**: jika organisasi Enterprise Anda mengelola akses Anda dengan [peran kustom](https://support.claude.com/en/articles/13930452), peran Anda dapat menjadi penyebabnya. Remote Control memerlukan izin sesi cloud sekaligus izin **Claude Code remote control**. Minta Owner untuk memeriksa apakah peran Anda mencakup keduanya dan menambahkan yang kurang di [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

467* **Owner melihat banner [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md) di [pengaturan admin](https://claude.ai/admin-settings/claude-code)**: Remote Control tidak tersedia untuk organisasi Anda, dan Owner tidak dapat mengaktifkannya.

465* **Jika tidak, Owner belum mengaktifkannya untuk organisasi Anda**: Remote Control mati secara default pada paket Team dan Enterprise. Owner dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.468* **Jika tidak, Owner belum mengaktifkannya untuk organisasi Anda**: Remote Control mati secara default pada paket Team dan Enterprise. Owner dapat mengaktifkannya di [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) dengan mengaktifkan toggle **Remote Control**. Toggle ini adalah pengaturan organisasi sisi server.

466 469 

467Sebelum v2.1.281, pesan ini juga muncul ketika Claude Code belum memuat kebijakan organisasi Anda di mesin ini, misalnya setelah memulai offline. Versi yang lebih baru melaporkan keadaan itu sebagai [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) sebagai gantinya.470Sebelum v2.1.281, pesan ini juga muncul ketika Claude Code belum memuat kebijakan organisasi Anda di mesin ini, misalnya setelah memulai offline. Versi yang lebih baru melaporkan keadaan itu sebagai [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) sebagai gantinya.

Details

154| :- | :- |154| :- | :- |

155| `CLAUDE_RUNNER_REPO_URL` | URL repositori untuk mengkloning, setelah `--git-host-rewrite` dan `--git-ssh-rewrite` apa pun telah diterapkan |155| `CLAUDE_RUNNER_REPO_URL` | URL repositori untuk mengkloning, setelah `--git-host-rewrite` dan `--git-ssh-rewrite` apa pun telah diterapkan |

156| `CLAUDE_RUNNER_REPO_REF` | Revisi untuk di-checkout, sebagaimana diminta oleh sesi: branch, tag, commit SHA, atau nama referensi lengkap seperti `refs/heads/<branch>` atau `refs/pull/<number>/head`. Kosong berarti branch default repositori. |156| `CLAUDE_RUNNER_REPO_REF` | Revisi untuk di-checkout, sebagaimana diminta oleh sesi: branch, tag, commit SHA, atau nama referensi lengkap seperti `refs/heads/<branch>` atau `refs/pull/<number>/head`. Kosong berarti branch default repositori. |

157| `CLAUDE_RUNNER_CHECKOUT_PATH` | Jalur absolut di mana pohon kerja harus ditinggalkan |157| `CLAUDE_RUNNER_CHECKOUT_PATH` | Jalur absolut tempat working tree harus ditinggalkan. Lihat [Nama folder checkout](#checkout-folder-names). |

158| `CLAUDE_RUNNER_SESSION_ID` | ID sesi dalam bentuk `session_...` yang ditandai, untuk logging dan korelasi |158| `CLAUDE_RUNNER_SESSION_ID` | ID sesi dalam bentuk `session_...` yang ditandai, untuk logging dan korelasi |

159| `CLAUDE_RUNNER_SESSION_UUID` | ID sesi yang sama dalam bentuk UUID kanonik |159| `CLAUDE_RUNNER_SESSION_UUID` | ID sesi yang sama dalam bentuk UUID kanonik |

160| `CLAUDE_RUNNER_API_BASE_URL` | URL dasar API Anthropic untuk panggilan yang dibatasi sesi |160| `CLAUDE_RUNNER_API_BASE_URL` | URL dasar API Anthropic untuk panggilan yang dibatasi sesi |


166 166 

167Setelah hook Anda selesai, runner memverifikasi bahwa `CLAUDE_RUNNER_CHECKOUT_PATH` berisi `.git`. Jika hook Anda mewujudkan sumber non-git seperti Perforce atau tarball yang telah dibongkar, atur `CLAUDE_RUNNER_SKIP_GIT_VERIFY=1` di lingkungan runner untuk melewati pemeriksaan itu. Alur berbasis Git seperti pembuatan branch kerja dan push hasil memerlukan checkout git, jadi ekspor hasil dari tree non-git dengan [hook `post-session`](#post-session).167Setelah hook Anda selesai, runner memverifikasi bahwa `CLAUDE_RUNNER_CHECKOUT_PATH` berisi `.git`. Jika hook Anda mewujudkan sumber non-git seperti Perforce atau tarball yang telah dibongkar, atur `CLAUDE_RUNNER_SKIP_GIT_VERIFY=1` di lingkungan runner untuk melewati pemeriksaan itu. Alur berbasis Git seperti pembuatan branch kerja dan push hasil memerlukan checkout git, jadi ekspor hasil dari tree non-git dengan [hook `post-session`](#post-session).

168 168 

169#### Nama folder checkout

170 

171`CLAUDE_RUNNER_CHECKOUT_PATH` diakhiri dengan folder bernama `<repo-owner>-<repo>`, seperti `acme-api`. Dua repositori dalam satu sesi tidak dapat berbagi folder, bahkan ketika namanya hanya berbeda pada huruf besar/kecil. Misalnya, jika sesi mencantumkan `acme/api` lalu `Acme/API`, yang pertama mendapatkan `acme-api` dan yang kedua mendapatkan `Acme-API-2`.

172 

169#### Mendapatkan kredensial git di dalam hook173#### Mendapatkan kredensial git di dalam hook

170 174 

171Runner tidak meneruskan kredensial git ke hook. Subperintah `decode-token` juga tidak tersedia di sini, karena `CLAUDE_RUNNER_CLAUDE_BIN` tidak diatur di lingkungan checkout-hook. Sebagai gantinya, buat kredensial clone per-sesi dari identitas sesi, atau gunakan autentikasi git milik host sendiri sebagai alternatif:175Runner tidak meneruskan kredensial git ke hook. Subperintah `decode-token` juga tidak tersedia di sini, karena `CLAUDE_RUNNER_CLAUDE_BIN` tidak diatur di lingkungan checkout-hook. Sebagai gantinya, buat kredensial clone per-sesi dari identitas sesi, atau gunakan autentikasi git milik host sendiri sebagai alternatif:

Details

23 * **Dengan [git yang dikelola Anthropic](#use-the-anthropic-git-proxy)**: dengan kredensial semacam itu, Claude menjangkau GitHub secara langsung alih-alih melalui git yang dikelola Anthropic.23 * **Dengan [git yang dikelola Anthropic](#use-the-anthropic-git-proxy)**: dengan kredensial semacam itu, Claude menjangkau GitHub secara langsung alih-alih melalui git yang dikelola Anthropic.

24 * **Tanpa git yang dikelola Anthropic**: kredensial clone dapat tetap berada di dalam image jika Anda membatasinya seketat yang dijelaskan di [Sertakan konfigurasi git di image Anda](#ship-git-config-in-your-image).24 * **Tanpa git yang dikelola Anthropic**: kredensial clone dapat tetap berada di dalam image jika Anda membatasinya seketat yang dijelaskan di [Sertakan konfigurasi git di image Anda](#ship-git-config-in-your-image).

25* **Jauhkan secret lingkungan dari host yang menjalankan sesi**: secret lingkungan dapat mendaftarkan runner dan mengambil sesi apa pun yang diantrekan pada lingkungan tersebut. Pada armada tetap, secret ini berada di setiap host runner, tempat kode sesi mana pun dapat membaca file secret. Utamakan [runner on-demand](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners), di mana secret tetap berada di host orkestrator, yang tidak pernah menjalankan kode pengguna, dan setiap runner menerima work order sekali pakai yang mendaftarkan tepat satu runner. Pada armada tetap, perlakukan file secret lingkungan sebagai dapat dibaca oleh setiap sesi dan rotasi secret setelah adanya dugaan kompromi sesi.25* **Jauhkan secret lingkungan dari host yang menjalankan sesi**: secret lingkungan dapat mendaftarkan runner dan mengambil sesi apa pun yang diantrekan pada lingkungan tersebut. Pada armada tetap, secret ini berada di setiap host runner, tempat kode sesi mana pun dapat membaca file secret. Utamakan [runner on-demand](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners), di mana secret tetap berada di host orkestrator, yang tidak pernah menjalankan kode pengguna, dan setiap runner menerima work order sekali pakai yang mendaftarkan tepat satu runner. Pada armada tetap, perlakukan file secret lingkungan sebagai dapat dibaca oleh setiap sesi dan rotasi secret setelah adanya dugaan kompromi sesi.

26 * **Setelah dugaan kompromi**: minta seorang [Owner](https://code.claude.com/docs/id/cloud-environments.md#organization-shared-environments) membuat secret baru dan mencabut secret lama dari tab **Configuration** lingkungan, lalu luncurkan secret baru tersebut. Anthropic menolak setiap orkestrator dan runner yang menggunakan secret lama, termasuk runner on-demand dari work order-nya. Runner Anda akan keluar, sehingga menginterupsi sesinya.

26* **Tolak egress jaringan secara default**: batasi lalu lintas keluar runner dan container sesi di batas jaringan Anda sendiri pada setiap lingkungan; [Tolak egress secara default](#default-deny-egress) menjelaskan apa yang perlu diizinkan dan alasannya.27* **Tolak egress jaringan secara default**: batasi lalu lintas keluar runner dan container sesi di batas jaringan Anda sendiri pada setiap lingkungan; [Tolak egress secara default](#default-deny-egress) menjelaskan apa yang perlu diizinkan dan alasannya.

27* **IAM host dengan hak akses minimal**: identitas komputasi yang terpasang pada host runner, seperti instance profile atau akun layanan node, sebaiknya hanya memberikan apa yang dibutuhkan oleh runner itu sendiri. Sesi sebaiknya memperoleh kredensialnya sendiri melalui skrip wrapper Anda alih-alih mewarisi kredensial host.28* **IAM host dengan hak akses minimal**: identitas komputasi yang terpasang pada host runner, seperti instance profile atau akun layanan node, sebaiknya hanya memberikan apa yang dibutuhkan oleh runner itu sendiri. Sesi sebaiknya memperoleh kredensialnya sendiri melalui skrip wrapper Anda alih-alih mewarisi kredensial host.

28* **Blokir endpoint metadata cloud dari sesi**: menjauhkan sesi dari identitas host memerlukan pemblokiran akses mereka ke endpoint metadata cloud, dan kebijakan egress tingkat subnet tidak mencegat lalu lintas metadata link-local, jadi blokir di dalam container itu sendiri:29* **Blokir endpoint metadata cloud dari sesi**: menjauhkan sesi dari identitas host memerlukan pemblokiran akses mereka ke endpoint metadata cloud, dan kebijakan egress tingkat subnet tidak mencegat lalu lintas metadata link-local, jadi blokir di dalam container itu sendiri:


203> [!WARNING]204> [!WARNING]

204>205>

205> Dengan `--use-anthropic-git-proxy` ditetapkan, runner menghapus dan menggantikan konfigurasi git global milik pengguna yang menjalankannya, tanpa menyimpan cadangan. Ini dilakukan saat startup dan sebelum setiap sesi. Login atau credential helper yang Anda simpan di sana akan hilang. Pengaturan yang ditulis [`--configure-git`](#let-the-runner-configure-git) tetap bertahan. Jalankan runner sebagai pengguna khusus atau di dalam kontainer, jangan pernah sebagai pengguna Anda sendiri.206> Dengan `--use-anthropic-git-proxy` ditetapkan, runner menghapus dan menggantikan konfigurasi git global milik pengguna yang menjalankannya, tanpa menyimpan cadangan. Ini dilakukan saat startup dan sebelum setiap sesi. Login atau credential helper yang Anda simpan di sana akan hilang. Pengaturan yang ditulis [`--configure-git`](#let-the-runner-configure-git) tetap bertahan. Jalankan runner sebagai pengguna khusus atau di dalam kontainer, jangan pernah sebagai pengguna Anda sendiri.

207>

208> Konfigurasi git global mencakup ketiga hal berikut: `~/.gitconfig`, file yang dinamai `GIT_CONFIG_GLOBAL` jika Anda menetapkannya, dan seluruh direktori `$XDG_CONFIG_HOME/git`, secara default `~/.config/git`.

206 209 

207Simpan pengaturan git yang tidak rahasia, seperti identitas dan `safe.directory`, di konfigurasi git sistem.210Simpan pengaturan git yang tidak rahasia, seperti identitas dan `safe.directory`, di konfigurasi git sistem.

208 211 


247* **Baris yang berisi `remote: access denied by the git proxy`**: sesi yang dilayani Anthropic masih dapat ditolak, misalnya ketika kebijakan organisasi menolak akses git untuk sesi tersebut, atau sesi tidak diotorisasi untuk repositori. Log runner kemudian menampilkan baris yang berisi `remote: access denied by the git proxy`, dan sisa baris tersebut menjelaskan alasannya.250* **Baris yang berisi `remote: access denied by the git proxy`**: sesi yang dilayani Anthropic masih dapat ditolak, misalnya ketika kebijakan organisasi menolak akses git untuk sesi tersebut, atau sesi tidak diotorisasi untuk repositori. Log runner kemudian menampilkan baris yang berisi `remote: access denied by the git proxy`, dan sisa baris tersebut menjelaskan alasannya.

248* **`GitHub authentication required`**: ini muncul ketika pembuat sesi tidak memiliki koneksi GitHub yang berfungsi di claude.ai. Clone sesi gagal, dan kesalahan git berbunyi `GitHub authentication required. Please reconnect your GitHub account.` Minta orang tersebut untuk menghubungkan atau menghubungkan ulang GitHub di pengaturan claude.ai mereka.251* **`GitHub authentication required`**: ini muncul ketika pembuat sesi tidak memiliki koneksi GitHub yang berfungsi di claude.ai. Clone sesi gagal, dan kesalahan git berbunyi `GitHub authentication required. Please reconnect your GitHub account.` Minta orang tersebut untuk menghubungkan atau menghubungkan ulang GitHub di pengaturan claude.ai mereka.

249 252 

250Setelah Anda memperbaiki penyebabnya, mulai lagi sesi-sesi yang gagal.253Setelah Anda memperbaiki penyebabnya, mulai ulang runner yang menggagalkan sesi-sesi tersebut, lalu minta setiap pembuat sesi mengirim pesan di sesinya atau minta seorang Owner memilih **Retry**.

251 254 

252#### Nonaktifkan proxy git Anthropic255#### Nonaktifkan proxy git Anthropic

253 256 


265 268 

266Sediakan kredensial yang bekerja tanpa prompt untuk setiap host git yang digunakan sesi-sesi runner, termasuk github.com. Kredensial apa pun yang ada di konfigurasi git global pengguna runner sudah hilang, karena runner menghapus konfigurasi tersebut selama `--use-anthropic-git-proxy` ditetapkan. [Kirim kredensial dalam gambar Anda](#ship-git-config-in-your-image) atau gunakan [lifecycle hook `checkout`](https://code.claude.com/docs/id/self-hosted-environments-configuration#checkout).269Sediakan kredensial yang bekerja tanpa prompt untuk setiap host git yang digunakan sesi-sesi runner, termasuk github.com. Kredensial apa pun yang ada di konfigurasi git global pengguna runner sudah hilang, karena runner menghapus konfigurasi tersebut selama `--use-anthropic-git-proxy` ditetapkan. [Kirim kredensial dalam gambar Anda](#ship-git-config-in-your-image) atau gunakan [lifecycle hook `checkout`](https://code.claude.com/docs/id/self-hosted-environments-configuration#checkout).

267 270 

271Untuk tetap menyimpan kredensial di [konfigurasi git global](#git-proxy-replaces-global-git-config), [hentikan runner](#shutdown-timing) terlebih dahulu, karena runner yang dimulai dengan flag tersebut menulis ulang konfigurasi itu sebelum setiap sesi. Kemudian hapus `$XDG_CONFIG_HOME/git`, secara default `~/.config/git`, dan ganti `~/.gitconfig`, atau file yang dinamai `GIT_CONFIG_GLOBAL`, dengan milik Anda sendiri.

272 

268**3. Buka jalur jaringan**273**3. Buka jalur jaringan**

269 274 

270Izinkan runner menjangkau setiap host git yang digunakan sesi-sesi runner pada port 443 atau 22. Lihat baris host git di [Persyaratan jaringan](#network-requirements).275Izinkan runner menjangkau setiap host git yang digunakan sesi-sesi runner pada port 443 atau 22. Lihat baris host git di [Persyaratan jaringan](#network-requirements).


507 512 

508## Kubernetes513## Kubernetes

509 514 

510Runner melayani `GET /healthz` di port 8080 secara default, dapat dikonfigurasi dengan `--health-port`, jadi probe Kubernetes bekerja tanpa setup tambahan. Endpoint mengembalikan `200` kapan pun proses hidup, jadi probe di bawah mendeteksi proses mati, bukan yang terjebak; untuk menangkap runner yang berhenti polling, beri peringatan pada seri `last_poll_age_seconds` dari [`/metrics`](https://code.claude.com/docs/id/self-hosted-environments-reference#prometheus-metrics). Deployment di bawah memasang rahasia lingkungan dari Secret Kubernetes, menunjuk probe liveness dan readiness ke `/healthz`, dan menetapkan periode grace terminasi 90 detik. Lihat [Shutdown timing](#shutdown-timing) untuk alasan periode grace penting.515Runner melayani `GET /healthz` di port 8080 secara default, dapat dikonfigurasi dengan `--health-port`. Setelah startup, endpoint mengembalikan `200` kapan pun proses hidup, jadi probe di bawah mendeteksi proses mati, bukan yang terjebak. Untuk menangkap runner yang berhenti polling, beri peringatan pada seri `last_poll_age_seconds` dari [`/metrics`](https://code.claude.com/docs/id/self-hosted-environments-reference#prometheus-metrics).

516 

517Deployment di bawah memasang rahasia lingkungan dari Secret Kubernetes, menunjuk probe liveness dan readiness ke `/healthz`, dan menetapkan periode grace terminasi 90 detik. Lihat [Shutdown timing](#shutdown-timing) untuk alasan periode grace penting.

511 518 

512Manifest tidak menetapkan `resources` CPU atau memori pada kontainer runner. Tambahkan blok yang diukur untuk kapasitas yang Anda jalankan, seperti [Size CPU and memory for sessions](#size-cpu-and-memory-for-sessions) jelaskan.519Manifest tidak menetapkan `resources` CPU atau memori pada kontainer runner. Tambahkan blok yang diukur untuk kapasitas yang Anda jalankan, seperti [Size CPU and memory for sessions](#size-cpu-and-memory-for-sessions) jelaskan.

513 520 


565 secretName: claude-runner-environment-secret572 secretName: claude-runner-environment-secret

566```573```

567 574 

575> [!NOTE]

576>

577> Jika event pod menunjukkan probe liveness gagal selama startup, naikkan `initialDelaySeconds`-nya atau tambahkan `startupProbe`. Tidak ada yang merespons di port health sampai runner telah terdaftar dan menyelesaikan pemeriksaan startup-nya. Dengan pengaturan di atas, Kubernetes memulai ulang runner yang tidak melayani dalam sekitar 90 detik.

578 

568Deployment di atas hidup dalam namespace `claude-runners`. Buat namespace terlebih dahulu:579Deployment di atas hidup dalam namespace `claude-runners`. Buat namespace terlebih dahulu:

569 580 

570```bash theme={null}581```bash theme={null}


942 Jika setiap panggilan mulai gagal sekitar 30 menit setelah sesi dimulai, kemungkinan besar sebuah skrip wrapper telah memutus stdin sesi, sehingga rotasi token tidak dapat menjangkaunya; lihat [Biarkan stdin dan file descriptor 3 tetap terhubung](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached).953 Jika setiap panggilan mulai gagal sekitar 30 menit setelah sesi dimulai, kemungkinan besar sebuah skrip wrapper telah memutus stdin sesi, sehingga rotasi token tidak dapat menjangkaunya; lihat [Biarkan stdin dan file descriptor 3 tetap terhubung](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached).

943 954 

944 Sebelum v2.1.274, runner berhenti mencoba ulang pengambilan yang gagal setelah beberapa percobaan dan menunggu pengambilan terjadwal berikutnya. Giliran yang gagal tidak memicu pengambilan, sehingga setiap giliran gagal dengan 401 hingga pengambilan terjadwal berikutnya.955 Sebelum v2.1.274, runner berhenti mencoba ulang pengambilan yang gagal setelah beberapa percobaan dan menunggu pengambilan terjadwal berikutnya. Giliran yang gagal tidak memicu pengambilan, sehingga setiap giliran gagal dengan 401 hingga pengambilan terjadwal berikutnya.

956* **Sesi menampilkan `The server has refused to renew this session's access to the model`**: [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/id/self-hosted-environments-configuration#wrapper-scripts) sesi telah kedaluwarsa, dan runner telah menerima HTTP 400 sebagai jawaban atas permintaannya untuk token baru. Runner mencatat `the server has refused to renew the inference_token`. Giliran dalam sesi tersebut gagal. Runner terus meminta token baru selama proses sesi berjalan:

957 

958 * **Sebuah permintaan berhasil**: sesi yang menampilkan peringatan tersebut kemudian menampilkan `The server renewed this session's access to the model`

959 * **Giliran terus gagal**: proses pada akhirnya keluar, dan sesi menampilkan kegagalan seperti `The session process exited with code 1`

960 

961 Untuk terus bekerja tanpa menunggu token baru, mulai sesi baru. Jika sesi baru juga gagal, periksa apakah proxy atau gateway milik Anda yang memberikan jawaban HTTP 400 tersebut. Jika tidak ada, [hubungi tim akun Anthropic Anda](#report-an-issue) dengan ID sesi pertama.

945* **Giliran gagal di claude.ai/code dengan `This model needs a newer version of Claude Code`**: versi Claude Code yang digunakan runner Anda untuk memulai sesi lebih lama daripada yang dibutuhkan model sesi tersebut, sehingga API [menolak permintaan tersebut](https://code.claude.com/docs/id/errors.md#claude-code-does-not-support-this-model). Tingkatkan runner ke versi yang diminta oleh pesan tersebut, atau yang lebih baru, seperti yang dijelaskan di [Sematkan versi](#pin-the-version). Sampai saat itu, pengguna dapat memilih model lain di dalam sesi.962* **Giliran gagal di claude.ai/code dengan `This model needs a newer version of Claude Code`**: versi Claude Code yang digunakan runner Anda untuk memulai sesi lebih lama daripada yang dibutuhkan model sesi tersebut, sehingga API [menolak permintaan tersebut](https://code.claude.com/docs/id/errors.md#claude-code-does-not-support-this-model). Tingkatkan runner ke versi yang diminta oleh pesan tersebut, atau yang lebih baru, seperti yang dijelaskan di [Sematkan versi](#pin-the-version). Sampai saat itu, pengguna dapat memilih model lain di dalam sesi.

946* **Pod dihentikan di tengah drain**: naikkan `terminationGracePeriodSeconds` setidaknya ke nilai yang dicatat runner saat startup. Lihat [Waktu shutdown](#shutdown-timing).963* **Pod dihentikan di tengah drain**: naikkan `terminationGracePeriodSeconds` setidaknya ke nilai yang dicatat runner saat startup. Lihat [Waktu shutdown](#shutdown-timing).

947* **Runner mencatat baris `[runner:log]` yang diakhiri dengan `was paused or too slow`**: runner tetap berjalan dan tidak perlu dimulai ulang. Hingga stream stdout atau stderr yang disebutkan dalam baris tersebut dibaca lagi, runner membuang semua baris stream tersebut kecuali 256 KiB baris terbarunya. Jika Anda meneruskan [`--log-file`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags), cari baris yang dibuang tersebut di sana.964* **Runner mencatat baris `[runner:log]` yang diakhiri dengan `was paused or too slow`**: runner tetap berjalan dan tidak perlu dimulai ulang. Hingga stream stdout atau stderr yang disebutkan dalam baris tersebut dibaca lagi, runner membuang semua baris stream tersebut kecuali 256 KiB baris terbarunya. Jika Anda meneruskan [`--log-file`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags), cari baris yang dibuang tersebut di sana.

Details

73 73 

74Buka halaman [**Cloud environments**](https://claude.ai/admin-settings/cloud-environments) di pengaturan admin. Di bawah **Self-hosted environments**, pilih **New**, beri nama lingkungan, dan pilih **Create**. Pada langkah kedua wizard, pilih **Copy environment key** untuk menyalin rahasia lingkungan, yang UI admin beri label kunci lingkungan. claude.ai menampilkan rahasia sekali, dan Anda tidak dapat mengambilnya nanti; itu kedaluwarsa 365 hari setelah pembuatan. ID `ccpool_...` lingkungan tetap terlihat dalam dialog detailnya; Anda akan membutuhkannya untuk pemeriksaan `aud` dalam [verifikasi token](https://code.claude.com/docs/id/self-hosted-environments-identity.md) dan untuk mengirim [sesi uji dari CI](https://code.claude.com/docs/id/self-hosted-environments-testing.md#run-the-test-loop).74Buka halaman [**Cloud environments**](https://claude.ai/admin-settings/cloud-environments) di pengaturan admin. Di bawah **Self-hosted environments**, pilih **New**, beri nama lingkungan, dan pilih **Create**. Pada langkah kedua wizard, pilih **Copy environment key** untuk menyalin rahasia lingkungan, yang UI admin beri label kunci lingkungan. claude.ai menampilkan rahasia sekali, dan Anda tidak dapat mengambilnya nanti; itu kedaluwarsa 365 hari setelah pembuatan. ID `ccpool_...` lingkungan tetap terlihat dalam dialog detailnya; Anda akan membutuhkannya untuk pemeriksaan `aud` dalam [verifikasi token](https://code.claude.com/docs/id/self-hosted-environments-identity.md) dan untuk mengirim [sesi uji dari CI](https://code.claude.com/docs/id/self-hosted-environments-testing.md#run-the-test-loop).

75 75 

76Jika Anda kehilangan rahasia atau perlu memutar ulang, buat rahasia baru dari tab **Configuration** lingkungan, gulirkan rahasia baru ke runner Anda, kemudian cabut yang lama. Runner yang memegang rahasia yang dicabut gagal polling terautentikasi berikutnya dan keluar, mencatat `poll auth failed`, dan orkestrator Anda memulai ulang dengan rahasia baru.76Jika rahasia mungkin telah bocor, ikuti [langkah-langkah di halaman deploy untuk dugaan kompromi](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#after-a-suspected-compromise), bukan rotasi di bawah ini.

77 

78Jika Anda kehilangan rahasia atau berencana memutarnya, buat rahasia baru dari tab **Configuration** lingkungan. Gulirkan rahasia baru ke runner Anda, kemudian cabut yang lama. Runner yang memegang rahasia yang dicabut gagal polling terautentikasi berikutnya dan keluar, mencatat `poll auth failed`, dan orkestrator Anda memulai ulang dengan rahasia baru.

77 79 

78**2. Mulai runner**80**2. Mulai runner**

79 81 

Details

141 141 

142## Health endpoint142## Health endpoint

143 143 

144Runner melayani `GET /healthz` pada port health yang dikonfigurasi. Respons adalah `200 OK` kapan pun proses hidup, apa pun state poll loop, jadi probe HTTP pada endpoint ini mendeteksi proses mati saja. Badan JSON menjelaskan state saat ini:144Runner melayani `GET /healthz` pada port health yang dikonfigurasi setelah runner terdaftar dan menyelesaikan pemeriksaan startup-nya. Sejak saat itu, respons adalah `200 OK` kapan pun proses hidup, apa pun state poll loop, jadi probe HTTP pada endpoint ini mendeteksi proses mati saja. Badan JSON menjelaskan state saat ini:

145 145 

146```json theme={null}146```json theme={null}

147{147{

settings.md +1 −0

Details

310| [`isolatePeerMachines`](https://code.claude.com/docs/id/settings-reference#isolatepeermachines) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false` |310| [`isolatePeerMachines`](https://code.claude.com/docs/id/settings-reference#isolatepeermachines) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false` |

311| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false`. Memerlukan Claude Code v2.1.257 atau lebih baru |311| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false`. Memerlukan Claude Code v2.1.257 atau lebih baru |

312| [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false`. Memerlukan Claude Code v2.1.314 atau lebih baru |312| [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/id/settings-reference#permissions-blockwritesoutsideworkingdirectories) | `true` dari cakupan apa pun | Dihormati bahkan saat sumber terkelola menetapkan `false`. Memerlukan Claude Code v2.1.314 atau lebih baru |

313| [`permissions.denyInsteadOfPrompting`](https://code.claude.com/docs/id/settings-reference#permissions-denyinsteadofprompting) | `true` dari `~/.claude/settings.json` atau `--settings` | Dihormati bahkan saat sumber terkelola menetapkan `false`. Memerlukan Claude Code v2.1.319 atau lebih baru |

313| [`autoMode.classifyAllShell`](https://code.claude.com/docs/id/settings-reference#automode-classifyallshell) | `true` dari `~/.claude/settings.json` atau `--settings` | Dihormati bahkan saat sumber terkelola menetapkan `false` |314| [`autoMode.classifyAllShell`](https://code.claude.com/docs/id/settings-reference#automode-classifyallshell) | `true` dari `~/.claude/settings.json` atau `--settings` | Dihormati bahkan saat sumber terkelola menetapkan `false` |

314| [`remoteControlAtStartup`](https://code.claude.com/docs/id/settings-reference#remotecontrolatstartup) | `false` dari `.claude/settings.json` atau `.claude/settings.local.json` | Dihormati bahkan saat sumber terkelola menetapkan `true`; `true` proyek atau lokal diabaikan |315| [`remoteControlAtStartup`](https://code.claude.com/docs/id/settings-reference#remotecontrolatstartup) | `false` dari `.claude/settings.json` atau `.claude/settings.local.json` | Dihormati bahkan saat sumber terkelola menetapkan `true`; `true` proyek atau lokal diabaikan |

315| [`crossSessionInbound`](https://code.claude.com/docs/id/settings-reference#crosssessioninbound) | Nilai yang lebih ketat dari `.claude/settings.json` atau `.claude/settings.local.json`, pada tangga `accept` \< `hold` \< `refuse` | Dihormati di atas nilai terkelola, `--settings`, dan pengguna; nilai proyek atau lokal yang tidak lebih ketat diabaikan |316| [`crossSessionInbound`](https://code.claude.com/docs/id/settings-reference#crosssessioninbound) | Nilai yang lebih ketat dari `.claude/settings.json` atau `.claude/settings.local.json`, pada tangga `accept` \< `hold` \< `refuse` | Dihormati di atas nilai terkelola, `--settings`, dan pengguna; nilai proyek atau lokal yang tidak lebih ketat diabaikan |

Details

448 448 

449Aktifkan [fast mode](https://code.claude.com/docs/id/fast-mode.md) untuk sesi di mana fitur ini tersedia, untuk pekerjaan interaktif seperti iterasi cepat atau debugging langsung di mana Anda menginginkan kecepatan dengan biaya per token yang lebih tinggi. Anda biasanya tidak mengedit kunci ini secara manual. Menjalankan `/fast` menulis `fastMode: true` ke `~/.claude/settings.json`, dan menjalankannya lagi untuk mematikan fast mode akan menghapus kunci tersebut.449Aktifkan [fast mode](https://code.claude.com/docs/id/fast-mode.md) untuk sesi di mana fitur ini tersedia, untuk pekerjaan interaktif seperti iterasi cepat atau debugging langsung di mana Anda menginginkan kecepatan dengan biaya per token yang lebih tinggi. Anda biasanya tidak mengedit kunci ini secara manual. Menjalankan `/fast` menulis `fastMode: true` ke `~/.claude/settings.json`, dan menjalankannya lagi untuk mematikan fast mode akan menghapus kunci tersebut.

450 450 

451Hanya Opus 5.5, Opus 5, dan Opus 4.8 yang mendukung fast mode. Menjalankan `/fast` dari model lain akan mengalihkan Anda ke Opus, dan beralih ke model yang tidak didukung akan mematikan fast mode. Lihat [Beralih model saat fast mode aktif](https://code.claude.com/docs/id/fast-mode.md#switch-models-while-fast-mode-is-on).451Hanya Fable 5.2, Opus 5.5, Opus 5, dan Opus 4.8 yang mendukung fast mode. Menjalankan `/fast` dari model lain akan mengalihkan Anda ke Opus, dan beralih ke model yang tidak didukung akan mematikan fast mode. Lihat [Beralih model saat fast mode aktif](https://code.claude.com/docs/id/fast-mode.md#switch-models-while-fast-mode-is-on).

452 452 

453* **Cakupan**: [`Any file`](#scopes)453* **Cakupan**: [`Any file`](#scopes)

454* **Tipe**: Boolean454* **Tipe**: Boolean

455 * `true`: Claude Code mengaktifkan fast mode untuk sesi di mana fitur ini tersedia455 * `true`: Claude Code mengaktifkan fast mode untuk sesi di mana fitur ini tersedia. Pada Fable 5.2, Anda juga harus [menjalankan `/fast` saat menggunakan Fable 5.2](https://code.claude.com/docs/id/fast-mode#switch-models-while-fast-mode-is-on)

456 * `false`: fast mode tetap mati456 * `false`: fast mode tetap mati

457* **Default**: tidak diatur, sehingga fast mode mati457* **Default**: tidak diatur, sehingga fast mode mati

458* **Override per sesi**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/id/env-vars) mematikan fast mode untuk satu sesi, dan kunci ini tidak dapat menyalakannya kembali458* **Override per sesi**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/id/env-vars) mematikan fast mode untuk satu sesi, dan kunci ini tidak dapat menyalakannya kembali


465 465 

466### `fastModePerSessionOptIn`466### `fastModePerSessionOptIn`

467 467 

468Biasanya, menjalankan `/fast` menyimpan [`fastMode`](#fastmode) ke pengaturan user seseorang, sehingga sesi baru pada model yang didukung dimulai dengan fast mode aktif. Atur kunci ini ke `true` untuk menghentikannya: `fastMode: true` yang tersimpan tidak lagi mengaktifkan fast mode saat sesi dimulai, dan setiap orang menjalankan `/fast` di setiap sesi yang menginginkannya. Claude Code membiarkan `fastMode` di file mereka, sehingga mematikan kunci ini memulihkan perilaku lama.468Biasanya, menjalankan `/fast` menyimpan [`fastMode`](#fastmode) ke pengaturan user seseorang, sehingga sesi baru pada model yang didukung dimulai dengan fast mode aktif. Pada Fable 5.2, hal itu hanya terjadi jika mereka [mengaktifkannya saat menggunakan Fable 5.2](https://code.claude.com/docs/id/fast-mode.md#switch-models-while-fast-mode-is-on). Agar setiap orang menjalankan `/fast` di setiap sesi yang menginginkannya, atur kunci ini ke `true`. Claude Code membiarkan `fastMode` di file mereka, sehingga mematikan kunci ini memulihkan perilaku lama.

469 469 

470Owner pada paket Team atau Enterprise dapat men-deploy-nya ke seluruh organisasi melalui [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md). Ketika pengaturan terkelola mengatur kunci ini, `/fast on` ditolak di luar sesi terminal interaktif dan melaporkan bahwa organisasi Anda telah menonaktifkan fast mode. Hal itu mencakup [mode non-interaktif](https://code.claude.com/docs/id/headless.md), [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md), dan [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md).470Owner pada paket Team atau Enterprise dapat men-deploy-nya ke seluruh organisasi melalui [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md). Ketika pengaturan terkelola mengatur kunci ini, `/fast on` ditolak di luar sesi terminal interaktif dan melaporkan bahwa organisasi Anda telah menonaktifkan fast mode. Hal itu mencakup [mode non-interaktif](https://code.claude.com/docs/id/headless.md), [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md), dan [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md).

471 471 

472* **Cakupan**: [`Any file`](#scopes)472* **Cakupan**: [`Any file`](#scopes)

473* **Tipe**: Boolean473* **Tipe**: Boolean

474 * `true`: `fastMode: true` yang tersimpan tidak lagi mengaktifkan fast mode saat sesi dimulai, sehingga setiap orang menjalankan `/fast` di setiap sesi yang menginginkannya; `fastMode: true` yang diberikan dengan `--settings` tetap berlaku untuk sesi tersebut kecuali pengaturan terkelola mengatur kunci ini474 * `true`: `fastMode: true` yang tersimpan tidak lagi mengaktifkan fast mode saat sesi dimulai, sehingga setiap orang menjalankan `/fast` di setiap sesi yang menginginkannya; `fastMode: true` yang diberikan dengan `--settings` tetap berlaku untuk sesi tersebut kecuali pengaturan terkelola mengatur kunci ini

475 * `false`: `fastMode: true` yang tersimpan mengaktifkan fast mode di awal setiap sesi baru pada model yang didukung475 * `false`: `fastMode: true` yang tersimpan berfungsi seperti yang dijelaskan [`fastMode`](#fastmode)

476* **Default**: `false`476* **Default**: `false`

477 477 

478```json settings.json theme={null}478```json settings.json theme={null}

sub-agents.md +2 −0

Details

592Mode izin percakapan utama memutuskan apakah Claude Code menggunakan nilai yang Anda atur:592Mode izin percakapan utama memutuskan apakah Claude Code menggunakan nilai yang Anda atur:

593 593 

594* Ketika percakapan utama berada dalam `bypassPermissions`, `acceptEdits`, atau [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode), subagent berjalan dalam mode yang sama dan Claude Code mengabaikan `permissionMode` yang Anda atur. Di bawah auto mode, pengklasifikasi mengevaluasi panggilan tool subagent dengan aturan blok dan izin percakapan utama. Ketika subagent selesai, pengklasifikasi juga meninjau pekerjaan dan laporan finalnya sebelum laporan dikirimkan, seperti [How auto mode handles subagents](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) menjelaskan.594* Ketika percakapan utama berada dalam `bypassPermissions`, `acceptEdits`, atau [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode), subagent berjalan dalam mode yang sama dan Claude Code mengabaikan `permissionMode` yang Anda atur. Di bawah auto mode, pengklasifikasi mengevaluasi panggilan tool subagent dengan aturan blok dan izin percakapan utama. Ketika subagent selesai, pengklasifikasi juga meninjau pekerjaan dan laporan finalnya sebelum laporan dikirimkan, seperti [How auto mode handles subagents](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) menjelaskan.

595 

596 Jika subagent meminta izin saat percakapan utama berada dalam `bypassPermissions`, periksa apakah panggilan tool-nya termasuk salah satu [tindakan yang tidak disetujui otomatis oleh mode mana pun](https://code.claude.com/docs/id/permission-modes.md#actions-no-mode-auto-approves).

595* Ketika percakapan utama berada dalam mode `plan`, subagent tetap dalam plan mode apa pun `permissionMode` yang Anda atur, kecuali jika berjalan sebagai [teammate tim agent](#subagent-names) di bawah [aturan tim agent](https://code.claude.com/docs/id/agent-teams.md#have-teammates-plan-before-implementing). Jika Anda mengatur `dontAsk`, subagent juga tidak meminta persetujuan Anda: tindakan yang akan dimintakan persetujuannya oleh plan mode justru ditolak.597* Ketika percakapan utama berada dalam mode `plan`, subagent tetap dalam plan mode apa pun `permissionMode` yang Anda atur, kecuali jika berjalan sebagai [teammate tim agent](#subagent-names) di bawah [aturan tim agent](https://code.claude.com/docs/id/agent-teams.md#have-teammates-plan-before-implementing). Jika Anda mengatur `dontAsk`, subagent juga tidak meminta persetujuan Anda: tindakan yang akan dimintakan persetujuannya oleh plan mode justru ditolak.

596* Ketika percakapan utama berada dalam mode `default` atau `dontAsk`, subagent berjalan dalam mode izin yang Anda atur. Subagent tetap menggunakan mode izin percakapan utama dalam kasus berikut:598* Ketika percakapan utama berada dalam mode `default` atau `dontAsk`, subagent berjalan dalam mode izin yang Anda atur. Subagent tetap menggunakan mode izin percakapan utama dalam kasus berikut:

597 * Anda mengatur `bypassPermissions`. Pengecualian `bypassPermissions` memerlukan Claude Code v2.1.267 atau lebih baru.599 * Anda mengatur `bypassPermissions`. Pengecualian `bypassPermissions` memerlukan Claude Code v2.1.267 atau lebih baru.

tools-reference.md +33 −18

Details

26| `CronDelete` | Membatalkan tugas terjadwal dalam lingkup sesi berdasarkan ID | Tidak |26| `CronDelete` | Membatalkan tugas terjadwal dalam lingkup sesi berdasarkan ID | Tidak |

27| `CronList` | Mencantumkan semua tugas terjadwal dalam lingkup sesi | Tidak |27| `CronList` | Mencantumkan semua tugas terjadwal dalam lingkup sesi | Tidak |

28| `Edit` | Membuat pengeditan tertarget ke file tertentu. Lihat [Perilaku tool Edit](#edit-tool-behavior) | Ya |28| `Edit` | Membuat pengeditan tertarget ke file tertentu. Lihat [Perilaku tool Edit](#edit-tool-behavior) | Ya |

29| `EndConversation` | Mengakhiri sesi, dalam kasus langka input penyalahgunaan berkelanjutan atau ketika Anda meminta Claude untuk mendemonstrasikan tool. Lihat [Perilaku tool EndConversation](#endconversation-tool-behavior) | Tidak |29| `EndConversation` | Mengakhiri sesi, dalam kasus langka input penyalahgunaan berkelanjutan atau ketika Anda meminta Claude untuk mengakhiri sesi lalu mengonfirmasinya. Lihat [Perilaku tool EndConversation](#endconversation-tool-behavior) | Tidak |

30| `EnterPlanMode` | Beralih ke plan mode untuk merancang pendekatan sebelum coding | Tidak |30| `EnterPlanMode` | Beralih ke plan mode untuk merancang pendekatan sebelum coding | Tidak |

31| `EnterWorktree` | Membuat [git worktree](https://code.claude.com/docs/id/worktrees.md) terisolasi dan beralih ke dalamnya, atau beralih ke worktree yang sudah ada. Lihat [Perilaku tool EnterWorktree](#enterworktree-tool-behavior) | Ya |31| `EnterWorktree` | Membuat [git worktree](https://code.claude.com/docs/id/worktrees.md) terisolasi dan beralih ke dalamnya, atau beralih ke worktree yang sudah ada. Lihat [Perilaku tool EnterWorktree](#enterworktree-tool-behavior) | Ya |

32| `ExitPlanMode` | Menyajikan rencana untuk persetujuan dan keluar dari plan mode | Ya |32| `ExitPlanMode` | Menyajikan rencana untuk persetujuan dan keluar dari plan mode | Ya |


274 274 

275Tool EndConversation mengakhiri sesi saat ini. Claude menggunakannya hanya dalam dua situasi:275Tool EndConversation mengakhiri sesi saat ini. Claude menggunakannya hanya dalam dua situasi:

276 276 

277* sebagai upaya terakhir melawan input yang terus-menerus kasar, setelah upaya untuk mengalihkan percakapan telah gagal dan setelah peringatan yang jelas dalam pesan sebelumnya277* Ketika Anda terus mengirim pesan yang kasar setelah Claude memberikan peringatan yang jelas dan gagal mengalihkan percakapan

278* ketika Anda secara eksplisit meminta untuk melihat tool yang ditunjukkan dan mengonfirmasi bahwa Anda ingin sesi berakhir278* Ketika Anda secara eksplisit meminta Claude untuk mengakhiri sesi, lalu mengonfirmasi saat Claude menanyakan apakah Anda masih ingin melanjutkan

279 279 

280Frustrasi umum, kata-kata kasar, atau tugas yang berjalan buruk tidak memenuhi syarat, begitu juga dengan permintaan konten berbahaya, yang Claude tolak daripada mengakhiri sesi. Claude Code mengikuti pendekatan yang sama seperti claude.ai, yang dapat [mengakhiri subset chat yang jarang terjadi](https://www.anthropic.com/research/end-subset-conversations).280Rasa frustrasi secara umum, kata-kata kasar, atau tugas yang berjalan buruk tidak memenuhi syarat, begitu pula permintaan konten berbahaya, yang akan ditolak oleh Claude alih-alih mengakhiri sesi. Claude Code mengikuti pendekatan yang sama dengan claude.ai, yang dapat [mengakhiri sebagian kecil obrolan](https://www.anthropic.com/research/end-subset-conversations).

281 281 

282Setelah Claude mengakhiri sesi interaktif, sesi terkunci. Prompt baru dan sebagian besar perintah mengembalikan `Claude ended this conversation. Start a new session (or /clear) to continue.`, dan hanya `/clear`, `/resume`, `/help`, `/exit`, dan `/feedback` yang masih berjalan. Claude Code mencatat akhir dalam transkrip sesi, jadi melanjutkan sesi yang berakhir memulihkan kunci; riwayat sesi tidak dihapus.282Setelah Claude mengakhiri sesi interaktif, sesi tersebut terkunci. Prompt baru dan sebagian besar perintah akan mengembalikan `Claude ended this conversation. Start a new session (or /clear) to continue.`, dan hanya `/clear`, `/resume`, `/help`, `/exit`, dan `/feedback` yang masih berjalan. Claude Code mencatat pengakhiran tersebut di transkrip sesi, sehingga melanjutkan sesi yang telah diakhiri akan memulihkan kunci tersebut; riwayat sesi tidak dihapus.

283 283 

284Melanjutkan sesi yang berakhir dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md) dengan flag `-p` menghasilkan error dan keluar dengan kode 1, sehingga skrip tidak membaca run yang berakhir sebagai kesuksesan.284Melanjutkan sesi yang telah diakhiri dalam [mode non-interaktif](https://code.claude.com/docs/id/headless.md) dengan flag `-p` akan menghasilkan error dan keluar dengan kode 1, sehingga skrip tidak membaca proses yang telah diakhiri sebagai keberhasilan.

285 285 

286Tool tidak pernah meminta izin, dan [PreToolUse hooks](https://code.claude.com/docs/id/hooks.md#pretooluse) tidak berjalan untuk itu. Selama tool lain tetap ada, Anda tidak dapat memblokir itu juga: [aturan deny dan ask](https://code.claude.com/docs/id/permissions.md#tool-specific-permission-rules) yang menyebutkan `EndConversation` tidak berpengaruh, dan baik `--disallowedTools` maupun daftar `--tools` dapat menghapusnya. Pengecualian ini disengaja: tool tidak melakukan apa pun kecuali mengakhiri percakapan, tidak pernah membaca atau memodifikasi file atau data, dan safeguard semacam ini hanya berlaku jika sesi yang diterapkan tidak dapat mematikannya. Ketika aturan deny Anda menghapus setiap tool lain dan juga cocok dengan `EndConversation`, seperti yang dilakukan `"*"`, Claude Code menghapusnya juga daripada meninggalkannya sebagai satu-satunya tool, kecuali jika aturan allow secara eksplisit menyebutkan `EndConversation`. Daftar deny yang menghapus setiap tool lain tanpa cocok dengan `EndConversation` membiarkannya tetap ada.286Tool ini tidak pernah meminta izin, dan [hook PreToolUse](https://code.claude.com/docs/id/hooks.md#pretooluse) tidak berjalan untuknya. Selama masih ada tool lain, Anda juga tidak dapat memblokirnya: [aturan deny dan ask](https://code.claude.com/docs/id/permissions.md#tool-specific-permission-rules) yang menyebut `EndConversation` tidak berpengaruh, dan baik `--disallowedTools` maupun daftar `--tools` tidak dapat menghapusnya. Pengecualian ini disengaja: tool ini tidak melakukan apa pun selain mengakhiri percakapan, tidak pernah membaca atau memodifikasi file atau data, dan perlindungan semacam ini hanya efektif jika sesi yang dikenainya tidak dapat mematikannya. Ketika aturan deny Anda menghapus semua tool lain dan juga cocok dengan `EndConversation`, seperti `"*"`, Claude Code juga menghapusnya alih-alih membiarkannya sebagai satu-satunya tool, kecuali ada aturan allow yang menyebut `EndConversation` secara eksplisit. Daftar deny yang menghapus semua tool lain tanpa cocok dengan `EndConversation` akan membiarkannya tetap ada.

287 287 

288[Subagents](https://code.claude.com/docs/id/sub-agents.md) tidak pernah mendapatkan tool. Tugas latar belakang yang berbagi daftar tool percakapan utama melihatnya, tetapi memanggilnya di sana tidak mengakhiri apa pun.288[Subagent](https://code.claude.com/docs/id/sub-agents.md) tidak pernah mendapatkan tool ini. Tugas latar belakang yang berbagi daftar tool dengan percakapan utama dapat melihatnya, tetapi memanggilnya di sana tidak mengakhiri apa pun.

289 289 

290Tool muncul hanya ketika semua hal berikut berlaku:290Tool ini hanya muncul ketika semua kondisi berikut terpenuhi:

291 291 

292* **Model**: model sesi adalah Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, atau versi yang lebih baru dari salah satu keluarga tersebut.292* **Model**: model sesi adalah Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, atau versi yang lebih baru dari salah satu keluarga tersebut.

293* **Surface**: sesi terminal interaktif, termasuk sesi `claude` di terminal terintegrasi IDE, yang merupakan cara [plugin JetBrains](https://code.claude.com/docs/id/jetbrains.md) menjalankannya. Permukaan lain tidak menyertakan tool, seperti:293* **Surface**: sesi terminal interaktif, termasuk sesi `claude` di terminal terintegrasi IDE, yang merupakan cara [plugin JetBrains](https://code.claude.com/docs/id/jetbrains.md) menjalankannya. Surface lain tidak menyertakan tool ini, seperti:

294 * run `-p` non-interaktif294 * proses `-p` non-interaktif

295 * sesi melalui paket TypeScript dan Python [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md)295 * sesi melalui paket TypeScript dan Python [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md)

296 * panel [VS Code extension](https://code.claude.com/docs/id/vs-code.md), yang menggabungkan CLI-nya sendiri296 * panel [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md), yang membundel CLI-nya sendiri

297 * [GitHub Actions](https://code.claude.com/docs/id/github-actions.md)297 * [GitHub Actions](https://code.claude.com/docs/id/github-actions.md)

298 * [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md)298 * [sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md)

299* **Startup mode**: bukan sesi [`--bare`](https://code.claude.com/docs/id/headless#start-faster-with-bare-mode). Mode bare hanya memuat shell dan file tools, jadi tool tidak pernah terdaftar di sana.299* **Mode startup**: bukan sesi [`--bare`](https://code.claude.com/docs/id/headless#start-faster-with-bare-mode). Bare mode hanya memuat tool shell dan file, sehingga tool ini tidak pernah didaftarkan di sana.

300* **Provider**: tidak tersedia di [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md), atau di sesi yang masuk melalui [cloud gateway](https://code.claude.com/docs/id/claude-apps-gateway).300* **Penyedia**: tidak tersedia di [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md), maupun pada sesi yang masuk melalui [gateway cloud](https://code.claude.com/docs/id/claude-apps-gateway).

301 301 

302## Perilaku tool EnterWorktree302## Perilaku tool EnterWorktree

303 303 


390 390 

391Ketika Monitor menjalankan perintah, ia menggunakan [aturan izin yang sama seperti Bash](https://code.claude.com/docs/id/permissions.md#tool-specific-permission-rules), jadi pola `allow` dan `deny` yang Anda tetapkan untuk Bash berlaku di sini juga. Sementara [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) aktif, Claude Code menyisihkan aturan allow yang menyebutkan `Monitor` itu sendiri, bersama dengan [aturan allow luas lainnya yang dihapusnya](https://code.claude.com/docs/id/permission-modes.md#how-the-classifier-evaluates-actions), sehingga pengklasifikasi meninjau perintah Monitor dengan cara yang sama seperti meninjau perintah Bash.391Ketika Monitor menjalankan perintah, ia menggunakan [aturan izin yang sama seperti Bash](https://code.claude.com/docs/id/permissions.md#tool-specific-permission-rules), jadi pola `allow` dan `deny` yang Anda tetapkan untuk Bash berlaku di sini juga. Sementara [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) aktif, Claude Code menyisihkan aturan allow yang menyebutkan `Monitor` itu sendiri, bersama dengan [aturan allow luas lainnya yang dihapusnya](https://code.claude.com/docs/id/permission-modes.md#how-the-classifier-evaluates-actions), sehingga pengklasifikasi meninjau perintah Monitor dengan cara yang sama seperti meninjau perintah Bash.

392 392 

393[Sumber WebSocket](#websocket-source) memiliki prompt persetujuan tersendiri, yang juga diputuskan oleh pengklasifikasi dalam auto mode.

394 

395Monitor memerlukan versi minimum atau Git Bash dalam kasus-kasus berikut:393Monitor memerlukan versi minimum atau Git Bash dalam kasus-kasus berikut:

396 394 

397* **Versi minimum**: di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, atau Microsoft Foundry, atau ketika `DISABLE_TELEMETRY` atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur, Monitor memerlukan Claude Code v2.1.310 atau yang lebih baru. Persyaratan ini berlaku ketika [pengambilan feature flag](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching) dinonaktifkan395* **Versi minimum**: di Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, atau Microsoft Foundry, atau ketika `DISABLE_TELEMETRY` atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur, Monitor memerlukan Claude Code v2.1.310 atau yang lebih baru. Persyaratan ini berlaku ketika [pengambilan feature flag](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching) dinonaktifkan


417 415 

418Tenggat waktu `timeout_ms` berlaku untuk watch WebSocket juga: watch berakhir pada tenggat waktu, dan `TaskStop` membatalkannya lebih awal.416Tenggat waktu `timeout_ms` berlaku untuk watch WebSocket juga: watch berakhir pada tenggat waktu, dan `TaskStop` membatalkannya lebih awal.

419 417 

420Membuka WebSocket meminta persetujuan; dalam [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) pengklasifikasi memutuskan sebagai gantinya. Prompt tidak menawarkan opsi untuk melewati prompt di masa depan untuk host yang sama.418Tanpa aturan allow `Monitor`, Anda akan dimintai persetujuan sebelum Claude membuka WebSocket; dalam [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) pengklasifikasi memutuskan sebagai gantinya, kecuali jika [aturan ask](#bash-rules-that-deny-or-prompt-for-websocket-watches) berlaku. Prompt tidak menawarkan opsi untuk melewati prompt di masa depan untuk host yang sama.

419 

420#### Alamat dan host yang ditolak untuk watch WebSocket

421 

422Claude Code menolak URL yang menunjuk ke alamat pribadi, link-local, atau cloud-metadata, termasuk nama host yang di-resolve oleh mesin Anda ke salah satunya. Di balik [proxy](https://code.claude.com/docs/id/network-config.md#proxy-configuration), watch dapat menjangkau alamat pribadi, link-local, atau cloud-metadata kecuali proxy memblokirnya, karena Claude Code tidak memeriksa alamat yang ditemukan oleh proxy. Claude Code juga menolak host di `sandbox.network.deniedDomains`, dan ketika [`allowManagedDomainsOnly`](https://code.claude.com/docs/id/settings-reference#sandbox-network-allowmanageddomainsonly) diatur dalam pengaturan terkelola, host apa pun di luar allowlist terkelola.

423 

424Jika watch di balik proxy gagal dengan `could not resolve <host>`, mulai ulang Claude Code v2.1.319 atau yang lebih baru dengan [`CLAUDE_CODE_PROXY_RESOLVES_HOSTS`](https://code.claude.com/docs/id/env-vars#variables) diatur ke `1` sehingga proxy yang mencari nama host tersebut.

425 

426#### Aturan Bash yang menolak atau meminta persetujuan untuk watch WebSocket

427 

428Jika Claude Code menolak panggilan `Monitor` yang membuka WebSocket, cari [aturan deny atau ask](https://code.claude.com/docs/id/permissions.md#manage-permissions) yang ditulis `Bash` atau `Bash(*)`. Lakukan hal yang sama jika Claude Code meminta persetujuan untuk panggilan tersebut meskipun ada aturan allow `Monitor` Anda. Aturan yang berlaku untuk setiap perintah Bash juga mencakup watch WebSocket ini:

429 

430* **Aturan deny**: jika aturan sudah ada saat sesi dimulai, Claude tidak memiliki Monitor tool, sehingga tidak dapat memulai watch. Jika Anda menambahkan aturan selama sesi, panggilan `Monitor` berikutnya dari Claude akan ditolak. Penolakan tersebut berbunyi `Permission to use Monitor has been denied: it runs code as Bash does, and a rule denies Bash.`

431* **Aturan ask**: Anda diminta untuk menyetujui watch. Aturan allow, hook `PreToolUse`, mode `bypassPermissions`, maupun pengklasifikasi auto mode tidak dapat menyetujuinya untuk Anda. Anda dapat menyetujuinya dari [hook `PermissionRequest`](https://code.claude.com/docs/id/hooks#permissionrequest). Ketika tidak ada yang dapat menjawab, seperti dalam mode `dontAsk`, Claude Code menolak watch tersebut.

432 

433Untuk mengizinkan watch ini berjalan, persempit aturan ke perintah yang Anda maksud, seperti `Bash(rm *)`.

421 434 

422Claude Code menolak URL yang menunjuk ke alamat pribadi, link-local, atau cloud-metadata, termasuk nama host yang menyelesaikan ke salah satu. Ini juga menolak host di `sandbox.network.deniedDomains`, dan ketika [`allowManagedDomainsOnly`](https://code.claude.com/docs/id/settings-reference#sandbox-network-allowmanageddomainsonly) diatur dalam pengaturan terkelola, host apa pun di luar allowlist terkelola.435Aturan ask, dan aturan deny yang Anda tambahkan selama sesi, mencakup watch ini di Claude Code v2.1.319 atau yang lebih baru.

423 436 

424## Perilaku NotebookEdit tool437## Perilaku NotebookEdit tool

425 438 


594* Berjalan `-p` non-interaktif dan sesi [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md), yang tidak memiliki layar untuk meninjau antrian607* Berjalan `-p` non-interaktif dan sesi [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md), yang tidak memiliki layar untuk meninjau antrian

595* [Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md), yang tidak dapat menulis ke antrian di mesin Anda608* [Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md), yang tidak dapat menulis ke antrian di mesin Anda

596* Sesi di [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md)609* Sesi di [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md), atau [Microsoft Foundry](https://code.claude.com/docs/id/microsoft-foundry.md)

610* Sesi yang menjangkau Claude melalui [LLM gateway](https://code.claude.com/docs/id/llm-gateway) dengan kunci atau token milik gateway itu sendiri

597* Sesi di mana Anda menetapkan [`CLAUDE_CODE_SEND_FEEDBACK=0`](https://code.claude.com/docs/id/env-vars) atau [`DISABLE_FEEDBACK_COMMAND=1`](https://code.claude.com/docs/id/env-vars), atur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ke nilai non-kosong apa pun, atau matikan [pengambilan bendera fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching)611* Sesi di mana Anda menetapkan [`CLAUDE_CODE_SEND_FEEDBACK=0`](https://code.claude.com/docs/id/env-vars) atau [`DISABLE_FEEDBACK_COMMAND=1`](https://code.claude.com/docs/id/env-vars), atur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ke nilai non-kosong apa pun, atau matikan [pengambilan bendera fitur](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching)

598* Organisasi yang telah mematikan umpan balik produk, [organisasi dengan retensi data nol](https://code.claude.com/docs/id/zero-data-retention.md#features-disabled-under-zdr), dan organisasi yang menerapkan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md)612* Organisasi yang telah mematikan umpan balik produk, [organisasi dengan retensi data nol](https://code.claude.com/docs/id/zero-data-retention.md#features-disabled-under-zdr), dan organisasi yang menerapkan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md)

613* Sesi di mana Claude Code telah [berhenti menawarkan umpan balik setelah laporan ditolak](https://code.claude.com/docs/id/errors.md#feedback-is-disabled-by-your-organizations-policy)

599 614 

600## Ketersediaan alat Task615## Ketersediaan alat Task

601 616 

Details

70 70 

71### Ketersediaan model di bawah ZDR71### Ketersediaan model di bawah ZDR

72 72 

73Claude Fable 5.1 dan Fable 5 adalah [Covered Models](https://support.claude.com/en/articles/15425695-covered-models) yang [memerlukan retensi data](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements) secara default, dan apakah organisasi atau workspace ZDR dapat menggunakannya diatur oleh kebijakan Covered Models daripada oleh Claude Code. Di mana organisasi Anda tidak dapat menggunakannya, model-model tersebut baik tidak ada di pemilih `/model` atau ditampilkan sebagai dinonaktifkan, dan server menolak permintaan untuk mereka terlepas dari konfigurasi klien.73Claude Fable 5.2, Fable 5.1, dan Fable 5 adalah [Covered Models](https://support.claude.com/en/articles/15425695-covered-models) yang [memerlukan retensi data](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements) secara default, dan apakah organisasi atau workspace ZDR dapat menggunakannya diatur oleh kebijakan Covered Models daripada oleh Claude Code. Di mana organisasi Anda tidak dapat menggunakannya, model-model tersebut baik tidak ada di pemilih `/model` atau ditampilkan sebagai dinonaktifkan, dan server menolak permintaan untuk mereka terlepas dari konfigurasi klien.

74 74 

75Model lainnya tetap tersedia di bawah ZDR. Model Fable bukan model default, dan alias `best`, yang diselesaikan ke model Fable terbaru di mana tersedia, diselesaikan ke Opus untuk organisasi di mana tidak tersedia.75Model lainnya tetap tersedia di bawah ZDR. Model Fable bukan model default, dan alias `best` diselesaikan ke Opus.

76 76 

77## Retensi data untuk pelanggaran kebijakan77## Retensi data untuk pelanggaran kebijakan

78 78