SpyBara
Go Premium

Documentation 2026-10-27 22:59 UTC to 2026-10-28 23:57 UTC

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

211. **Terima prompt.** Claude menerima prompt Anda, bersama dengan system prompt, tool definitions, dan conversation history. SDK menghasilkan [`SystemMessage`](#message-types) dengan subtype `"init"` yang berisi session metadata.211. **Terima prompt.** Claude menerima prompt Anda, bersama dengan system prompt, tool definitions, dan conversation history. SDK menghasilkan [`SystemMessage`](#message-types) dengan subtype `"init"` yang berisi session metadata.

222. **Evaluasi dan respons.** Claude mengevaluasi state saat ini dan menentukan cara melanjutkan. Ini dapat merespons dengan teks, meminta satu atau lebih tool calls, atau keduanya. SDK menghasilkan satu atau lebih objek [`AssistantMessage`](#message-types), satu untuk setiap content block, seperti text block atau permintaan tool call.222. **Evaluasi dan respons.** Claude mengevaluasi state saat ini dan menentukan cara melanjutkan. Ini dapat merespons dengan teks, meminta satu atau lebih tool calls, atau keduanya. SDK menghasilkan satu atau lebih objek [`AssistantMessage`](#message-types), satu untuk setiap content block, seperti text block atau permintaan tool call.

233. **Eksekusi tools.** SDK menjalankan setiap tool yang diminta dan mengumpulkan hasilnya. Setiap set hasil tool umpan balik ke Claude untuk keputusan berikutnya. Anda dapat menggunakan [hooks](https://code.claude.com/docs/id/agent-sdk/hooks.md) untuk mengintersepsi, memodifikasi, atau memblokir tool calls sebelum dijalankan.233. **Eksekusi tools.** SDK menjalankan setiap tool yang diminta dan mengumpulkan hasilnya. Setiap set hasil tool umpan balik ke Claude untuk keputusan berikutnya. Anda dapat menggunakan [hooks](https://code.claude.com/docs/id/agent-sdk/hooks.md) untuk mengintersepsi, memodifikasi, atau memblokir tool calls sebelum dijalankan.

244. **Ulangi.** Langkah 2 dan 3 berulang sebagai siklus. Setiap siklus penuh adalah satu turn. Claude terus memanggil tools dan memproses hasil sampai menghasilkan respons tanpa tool calls.244. **Ulangi.** Langkah 2 dan 3 berulang sebagai siklus. Claude terus memanggil tool dan memproses hasil sampai menghasilkan respons tanpa panggilan tool.

255. **Kembalikan hasil.** SDK menghasilkan [`AssistantMessage`](#message-types) final dengan respons teks (tanpa tool calls), diikuti oleh [`ResultMessage`](#message-types) dengan teks final, token usage, cost, dan session ID.255. **Kembalikan hasil.** SDK menghasilkan [`AssistantMessage`](#message-types) final dengan respons teks (tanpa tool calls), diikuti oleh [`ResultMessage`](#message-types) dengan teks final, token usage, cost, dan session ID.

26 26 

27Pertanyaan cepat ("file apa yang ada di sini?") mungkin membutuhkan satu atau dua turn memanggil `Glob` dan merespons dengan hasilnya. Tugas kompleks ("refactor modul auth dan perbarui tests") dapat merantai puluhan tool calls di banyak turn, membaca file, mengedit kode, dan menjalankan tests, dengan Claude menyesuaikan pendekatannya berdasarkan setiap hasil.27Pertanyaan cepat seperti "file apa yang ada di sini?" mungkin membutuhkan dua atau tiga [giliran](#turns-and-messages): satu atau dua giliran memanggil `Glob`, lalu satu giliran merespons dengan hasilnya. Tugas kompleks seperti "refactor modul auth dan perbarui tests" dapat merantai puluhan panggilan tool di banyak giliran seiring Claude menyesuaikan diri setelah setiap hasil.

28 28 

29## Turns dan messages29## Turns dan messages

30 30 

31Turn adalah satu round trip di dalam loop: Claude menghasilkan output yang mencakup tool calls, SDK menjalankan tools tersebut, dan hasilnya umpan balik ke Claude secara otomatis. Ini terjadi tanpa menghasilkan kontrol kembali ke kode Anda. Turns berlanjut sampai Claude menghasilkan output tanpa tool calls, di mana titik loop berakhir dan hasil final dikirimkan.31Turn adalah satu kali lintasan melalui loop: Claude menghasilkan output, dan jika output tersebut mencakup tool calls, SDK menjalankannya dan hasilnya diumpankan kembali ke Claude secara otomatis. Ini terjadi tanpa menghasilkan kontrol kembali ke kode Anda. Turns berlanjut sampai Claude menghasilkan output tanpa tool calls, di mana titik loop berakhir dan hasil final dikirimkan.

32 32 

33Pertimbangkan seperti apa sesi penuh untuk prompt "Fix the failing tests in auth.ts".33Pertimbangkan seperti apa sesi penuh untuk prompt "Fix the failing tests in auth.ts".

34 34 

Details

1274| `updated_input` | `dict[str, Any] \| None` | `None` | Input yang dimodifikasi untuk digunakan alih-alih input asli |1274| `updated_input` | `dict[str, Any] \| None` | `None` | Input yang dimodifikasi untuk digunakan alih-alih input asli |

1275| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Pembaruan izin yang akan diterapkan |1275| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Pembaruan izin yang akan diterapkan |

1276 1276 

1277Jika Anda mengembalikan `PermissionResultAllow` dengan lebih dari 4.096 item di `updated_permissions`, Claude Code memperlakukan hasil tersebut sebagai tidak valid dan menolak panggilan tool. Setiap [`PermissionUpdate`](#permissionupdate) dihitung sebagai satu item, begitu pula setiap entri dalam daftar `rules` atau `directories`-nya. Pesan penolakan diakhiri dengan `updatedPermissions may hold at most 4096 updates, rules and directories in all.` Untuk menghindari penolakan, kembalikan 4.096 item atau kurang.

1278 

1277### `PermissionResultDeny`1279### `PermissionResultDeny`

1278 1280 

1279Hasil yang menunjukkan bahwa panggilan tool harus ditolak.1281Hasil yang menunjukkan bahwa panggilan tool harus ditolak.

Details

1405 };1405 };

1406```1406```

1407 1407 

1408Jika Anda mengembalikan `allow` dengan lebih dari 4.096 item dalam `updatedPermissions`, Claude Code memperlakukan hasil tersebut sebagai tidak valid dan menolak panggilan tool. Setiap pembaruan dihitung sebagai satu item, begitu pula setiap entri dalam daftar `rules` atau `directories`-nya. Pesan penolakan diakhiri dengan `updatedPermissions may hold at most 4096 updates, rules and directories in all`. Agar panggilan diizinkan, kembalikan 4.096 item atau kurang.1408Jika Anda mengembalikan `allow` dengan lebih dari 4.096 item di `updatedPermissions`, Claude Code memperlakukan hasilnya sebagai tidak valid dan menolak panggilan tool tersebut. Setiap pembaruan dihitung sebagai satu item, begitu pula setiap entri dalam daftar `rules` atau `directories`-nya. Pesan penolakan diakhiri dengan `updatedPermissions may hold at most 4096 updates, rules and directories in all.` Agar panggilan diizinkan, kembalikan 4.096 item atau kurang.

1409 1409 

1410### `ToolConfig`1410### `ToolConfig`

1411 1411 


4706 humanSchedule: string;4706 humanSchedule: string;

4707 recurring: boolean;4707 recurring: boolean;

4708 durable?: boolean; // true ketika disimpan ke .claude/scheduled_tasks.json; false ketika hanya sesi4708 durable?: boolean; // true ketika disimpan ke .claude/scheduled_tasks.json; false ketika hanya sesi

4709 nextFireAt?: number;

4709};4710};

4710```4711```

4711 4712 

4712Mengembalikan ID pekerjaan dan deskripsi jadwal yang dapat dibaca manusia.4713Mengembalikan ID pekerjaan, jadwal yang dapat dibaca manusia, dan waktu run berikutnya. `nextFireAt` memberikannya dalam milidetik epoch, dengan [jitter](https://code.claude.com/docs/id/scheduled-tasks.md#jitter) sudah diterapkan, sehingga nilai tersebut adalah waktu pekerjaan dijadwalkan untuk berjalan. Field ini memerlukan TypeScript Agent SDK v0.3.299 atau lebih baru dan Claude Code v2.1.299 atau lebih baru.

4713 4714 

4714### CronDelete4715### CronDelete

4715 4716 


4736 prompt: string;4737 prompt: string;

4737 recurring?: boolean;4738 recurring?: boolean;

4738 durable?: boolean;4739 durable?: boolean;

4740 nextFireAt?: number;

4739 }[];4741 }[];

4740};4742};

4741```4743```

4742 4744 

4743Mengembalikan pekerjaan cron yang dijadwalkan: pekerjaan durable dari `.claude/scheduled_tasks.json` dan pekerjaan hanya-sesi dari sesi saat ini. Pekerjaan hanya-sesi membawa `durable: false`; pekerjaan yang dibaca dari disk menghilangkan field.4745Mengembalikan pekerjaan cron yang dijadwalkan: pekerjaan durable dari `.claude/scheduled_tasks.json` dan pekerjaan hanya-sesi dari sesi saat ini. Pekerjaan hanya-sesi membawa `durable: false`; pekerjaan yang dibaca dari disk menghilangkan field.

4744 4746 

4747`nextFireAt` adalah waktu run berikutnya dari pekerjaan dalam milidetik epoch, termasuk [jitter](https://code.claude.com/docs/id/scheduled-tasks.md#jitter). Tidak ada nilai yang lebih awal dari panggilan `CronList`: pekerjaan yang waktunya [terlewat tanpa run](https://code.claude.com/docs/id/scheduled-tasks.md#how-scheduled-tasks-run) membawa waktu panggilan tersebut. Field ini memerlukan TypeScript Agent SDK v0.3.299 atau lebih baru dan Claude Code v2.1.299 atau lebih baru.

4748 

4745### ScheduleWakeup4749### ScheduleWakeup

4746 4750 

4747**Nama tool:** `ScheduleWakeup`4751**Nama tool:** `ScheduleWakeup`


5459};5463};

5460```5464```

5461 5465 

5466Promise `setMcpServers()` diselesaikan setelah server stdio, HTTP, dan SSE yang baru ditambahkan terhubung atau gagal, jadi tool dari server yang terhubung tersedia pada giliran berikutnya.

5467 

5462Ketika Anda memanggil `setMcpServers()`, Claude Code menerapkan aturan berikut:5468Ketika Anda memanggil `setMcpServers()`, Claude Code menerapkan aturan berikut:

5463 5469 

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


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

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

5470 5476 

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

5472 

5473`added` mencantumkan server yang ditambahkan atau diganti Claude Code, terlepas dari apakah server tersebut terhubung. Server yang gagal terhubung muncul di `added` dan `errors`, dengan teks kegagalan di bawah `errors` dan baris `failed` dalam [`mcpServerStatus()`](#methods). Sebelum Claude Code v2.1.257, server yang upaya koneksinya melempar error dilaporkan hanya di bawah `errors`.5477`added` mencantumkan server yang ditambahkan atau diganti Claude Code, terlepas dari apakah server tersebut terhubung. Server yang gagal terhubung muncul di `added` dan `errors`, dengan teks kegagalan di bawah `errors` dan baris `failed` dalam [`mcpServerStatus()`](#methods). Sebelum Claude Code v2.1.257, server yang upaya koneksinya melempar error dilaporkan hanya di bawah `errors`.

5474 5478 

5479Nilai `errors` yang diawali dengan `Blocked by enterprise` berarti kebijakan menolak server tersebut, bukan berarti koneksi gagal:

5480 

5481* `Blocked by enterprise policy (allowedMcpServers/deniedMcpServers)`: server tidak ada di `added`. Entri [`deniedMcpServers`](https://code.claude.com/docs/id/managed-mcp#policy-based-control-with-allowlists-and-denylists) cocok dengannya, atau daftar `allowedMcpServers` ditetapkan dan tidak mencantumkannya. Jika daftar tersebut berada dalam file pengaturan yang Anda muat melalui [`settingSources`](#options), edit file tersebut. Jika berada dalam pengaturan terkelola, minta administrator Anda untuk mengubahnya.

5482* `Blocked by enterprise managed policy`: server ada di `added`, dengan baris `failed` dalam `mcpServerStatus()`. Tanyakan kepada administrator kebijakan mana yang memblokirnya.

5483 

5475### `RewindFilesResult`5484### `RewindFilesResult`

5476 5485 

5477Hasil operasi `rewindFiles()`.5486Hasil operasi `rewindFiles()`.

Details

24 24 

25## Masuk dengan Bedrock25## Masuk dengan Bedrock

26 26 

27Jika Anda memiliki kredensial AWS dan ingin mulai menggunakan Claude Code melalui Amazon Bedrock, wizard login akan memandu Anda melaluinya. Anda menyelesaikan prasyarat sisi AWS sekali per akun; wizard menangani sisi Claude Code.27Jika Anda memiliki kredensial AWS dan ingin mulai menggunakan Claude Code melalui Amazon Bedrock, wizard login akan memandu Anda. Anda menyelesaikan prasyarat di sisi AWS satu kali per akun; wizard menangani sisi Claude Code.

28 28 

29**1. Aktifkan model Anthropic di akun AWS Anda**29**1. Aktifkan model Anthropic di akun AWS Anda**

30 30 

31Di [konsol Amazon Bedrock](https://console.aws.amazon.com/bedrock/), buka katalog Model, pilih model Anthropic, dan kirimkan formulir kasus penggunaan. Akses diberikan segera setelah pengiriman. Lihat [Kirimkan detail kasus penggunaan](#1-submit-use-case-details) untuk AWS Organizations dan [konfigurasi IAM](#iam-configuration) untuk izin yang dibutuhkan peran Anda.31Di [konsol Amazon Bedrock](https://console.aws.amazon.com/bedrock/), buka Model catalog, pilih model Anthropic, dan kirimkan formulir kasus penggunaan. Akses diberikan segera setelah pengiriman. Lihat [Kirimkan detail kasus penggunaan](#1-submit-use-case-details) untuk AWS Organizations dan [Konfigurasi IAM](#iam-configuration) untuk izin yang dibutuhkan oleh role Anda.

32 32 

33**2. Mulai Claude Code dan pilih Amazon Bedrock**33**2. Mulai Claude Code dan pilih Amazon Bedrock**

34 34 

35Jalankan `claude`. Pada prompt login, pilih **platform pihak ketiga**, kemudian **Amazon Bedrock**. Jika Anda sudah masuk dan melihat prompt chat sebagai gantinya, jalankan `/setup-bedrock` untuk membuka wizard. Sampai `CLAUDE_CODE_USE_BEDROCK=1` diatur, Claude Code [menyembunyikan perintah dari menu perintah](https://code.claude.com/docs/id/commands.md#how-the-command-menu-matches-what-you-type); ketikkan secara lengkap.35Jalankan `claude`. Pada prompt login, pilih **3rd-party platform**, lalu **Amazon Bedrock**. Jika Anda sudah masuk dan melihat prompt obrolan, jalankan `/setup-bedrock` untuk membuka wizard. Selama `CLAUDE_CODE_USE_BEDROCK=1` belum diatur, Claude Code [menyembunyikan perintah tersebut dari menu perintah](https://code.claude.com/docs/id/commands.md#how-the-command-menu-matches-what-you-type); ketikkan perintah tersebut secara lengkap.

36 36 

37**3. Ikuti prompt wizard**37**3. Ikuti prompt wizard**

38 38 

39Pilih cara Anda mengautentikasi ke AWS: profil AWS yang terdeteksi dari direktori `~/.aws` Anda, kunci API Amazon Bedrock, kunci akses dan rahasia, atau kredensial yang sudah ada di lingkungan Anda. Wizard menanyakan wilayah Anda, memverifikasi model Claude mana yang dapat dijalankan akun Anda, dan memungkinkan Anda menyematkannya. Ini menyimpan hasilnya ke blok `env` dari [file pengaturan pengguna Anda](https://code.claude.com/docs/id/settings.md), sehingga Anda tidak perlu mengekspor variabel lingkungan sendiri.39Pilih cara Anda melakukan autentikasi ke AWS: profil AWS yang terdeteksi dari direktori `~/.aws` Anda, kunci API Amazon Bedrock, access key dan secret, atau kredensial yang sudah ada di lingkungan Anda. Wizard akan menanyakan region Anda, memverifikasi model Claude mana yang dapat dipanggil oleh akun Anda, dan memungkinkan Anda menyematkan (pin) model tersebut. Wizard menyimpan hasilnya ke blok `env` di [file pengaturan pengguna](https://code.claude.com/docs/id/settings.md) Anda, sehingga Anda tidak perlu mengekspor environment variable sendiri.

40 40 

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

42 42 

43## Atur secara manual43## Atur secara manual

44 44 

Details

17 17 

18Jika browser tidak terbuka secara otomatis, tekan `c` untuk menyalin URL login ke clipboard Anda, kemudian tempel ke browser Anda.18Jika browser tidak terbuka secara otomatis, tekan `c` untuk menyalin URL login ke clipboard Anda, kemudian tempel ke browser Anda.

19 19 

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

21 21 

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

23 23 


127Anda tidak mendapatkan pilihan di setiap mesin. Claude Code membuat kunci API tanpa bertanya dalam kasus-kasus ini:127Anda tidak mendapatkan pilihan di setiap mesin. Claude Code membuat kunci API tanpa bertanya dalam kasus-kasus ini:

128 128 

129* Anda menjalankan terhadap penyedia cloud, seperti [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](https://code.claude.com/docs/id/third-party-integrations.md) atau [Claude Platform di AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md)129* Anda menjalankan terhadap penyedia cloud, seperti [Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry](https://code.claude.com/docs/id/third-party-integrations.md) atau [Claude Platform di AWS](https://code.claude.com/docs/id/claude-platform-on-aws.md)

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

131* `forceLoginMethod` bernilai `"console"` dan tidak ada file pengaturan yang menetapkan `forceLoginOrgUUID`, hingga Anda mencoba ulang dari layar kesalahan setelah masuk gagal

131* Sumber pengaturan terkelola di mesin Anda, seperti file pengaturan terkelola, profil MDM, atau pengaturan terkelola server yang di-cache, ada tetapi Claude Code [tidak dapat membacanya](https://code.claude.com/docs/id/managed-settings.md#invalid-entries-in-managed-settings) dan tidak ada sumber terkelola lain yang menyediakan kebijakan132* Sumber pengaturan terkelola di mesin Anda, seperti file pengaturan terkelola, profil MDM, atau pengaturan terkelola server yang di-cache, ada tetapi Claude Code [tidak dapat membacanya](https://code.claude.com/docs/id/managed-settings.md#invalid-entries-in-managed-settings) dan tidak ada sumber terkelola lain yang menyediakan kebijakan

132 133 

133Batalkan `ANTHROPIC_API_KEY` sebelum Anda masuk tanpa kunci.134Batalkan `ANTHROPIC_API_KEY` sebelum Anda masuk tanpa kunci.


140 141 

141Semuanya tentang profil berlaku untuk masuk ini, termasuk di mana peringkatnya terhadap kredensial lainnya, baris `Profile` yang Anda dapatkan di `/status`, dan fitur yang memerlukan login claude.ai. Lihat [profil Anthropic dan kredensial federasi](#anthropic-profiles-and-federation-credentials).142Semuanya tentang profil berlaku untuk masuk ini, termasuk di mana peringkatnya terhadap kredensial lainnya, baris `Profile` yang Anda dapatkan di `/status`, dan fitur yang memerlukan login claude.ai. Lihat [profil Anthropic dan kredensial federasi](#anthropic-profiles-and-federation-credentials).

142 143 

144#### Hentikan penawaran masuk tanpa kunci di mesin terkelola

145 

146Untuk menghentikan Claude Code menawarkan [masuk tanpa kunci](#sign-in-without-an-api-key), gunakan alat manajemen perangkat Anda untuk men-deploy [`forceLoginOrgUUID`](https://code.claude.com/docs/id/settings-reference#forceloginorguuid) dalam [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md) ke mesin setiap pengembang. Atur ke [ID organisasi Console](https://platform.claude.com/settings/organization) Anda. Sebelum Anda men-deploy-nya, pastikan setiap pengembang memiliki [peran yang dapat membuat kunci API](#claude-console-authentication). Setelah Anda men-deploy-nya, pengembang tanpa peran tersebut tidak dapat masuk ke Console di `/login`.

147 

148Jika hanya `forceLoginMethod` yang diatur ke `"console"`, pengembang dapat mencoba ulang masuk yang gagal dan memilih opsi tanpa kunci. Setelah `forceLoginOrgUUID` di-deploy, layar login menghapus opsi tersebut, tetapi pengembang masih dapat menggunakan [profil Anthropic](#anthropic-profiles-and-federation-credentials) yang mereka miliki atau buat dengan [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication). Setelah Anda men-deploy-nya, tangani kredensial dan login berikut di setiap mesin:

149 

150* **Masuk tanpa kunci**: untuk memindahkan pengembang ke kunci API, minta mereka keluar lalu masuk ke Console lagi, yang akan membuat kunci tersebut. Untuk masuk tanpa kunci, mereka menjalankan `claude auth logout` di shell mereka. Untuk profil `ant auth login`, mereka menjalankan `ant auth logout`. Claude Code menolak sesi jika profil dan kunci API sama-sama ada di mesin, jadi mereka keluar terlebih dahulu.

151* **Kredensial environment dan helper**: Claude Code menolak sesi yang mengautentikasi dengan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper`, bahkan ketika pengaturan terkelola menyediakannya. Hapus kredensial tersebut, lalu minta pengembang menjalankan `/login` untuk membuat kunci API yang disimpan.

152* **Login claude.ai**: Claude Code [menolak login](#restrict-login-to-your-organization) ke organisasi yang tidak Anda cantumkan, termasuk yang sudah digunakan di mesin. Untuk mempertahankannya, tambahkan ke array `forceLoginOrgUUID`.

153 

143### Autentikasi penyedia cloud154### Autentikasi penyedia cloud

144 155 

145Untuk tim yang menggunakan Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry:156Untuk tim yang menggunakan Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry:


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

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

174 185 

175Terapkan kunci melalui alat manajemen perangkat Anda. [Pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) hanya menjangkau akun yang sudah diautentikasi ke organisasi Anda, jadi mereka tidak dapat mengarahkan login pertama pengembang. Jika organisasi Anda juga mendistribusikan pengaturan terkelola server, atur kunci di kedua tempat: sumber [pengaturan terkelola tidak bergabung](https://code.claude.com/docs/id/server-managed-settings.md#settings-precedence), dan pengaturan terkelola server yang di-cache menggantikan file yang dikelola perangkat, dengan beberapa [pengecualian per-kunci](https://code.claude.com/docs/id/server-managed-settings.md#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` dan nilai `"claudeai"` dan `"console"` dari `forceLoginMethod` bukan di antara pengecualian tersebut, jadi simpan di kedua tempat.186Deploy `forceLoginMethod` dan `forceLoginOrgUUID` melalui alat manajemen perangkat Anda. Pengembang menerima [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) hanya setelah mengautentikasi ke organisasi Anda, jadi Anda tidak dapat mengarahkan login pertama dengan pengaturan tersebut. Jika Anda juga mendistribusikan pengaturan terkelola server dari claude.ai, atur kedua kunci di sana juga hingga setiap klien menjalankan v2.1.299 atau lebih baru. Untuk tempat mengatur kunci setelahnya, dan nilai dari sumber mana yang berlaku, lihat [Sumber terkelola mana yang menyediakan kunci login](https://code.claude.com/docs/id/managed-settings.md#which-managed-source-supplies-login-keys).

176 187 

177Dalam penerapan [gateway](https://code.claude.com/docs/id/claude-apps-gateway), juga simpan `forceLoginMethod` dan `forceLoginOrgUUID` di luar [pengaturan yang disajikan gateway](https://code.claude.com/docs/id/claude-apps-gateway-config.md#managed).188Dalam penerapan [gateway](https://code.claude.com/docs/id/claude-apps-gateway), juga simpan `forceLoginMethod` dan `forceLoginOrgUUID` di luar [pengaturan yang disajikan gateway](https://code.claude.com/docs/id/claude-apps-gateway-config.md#managed).

178 189 

Details

155 155 

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

157 157 

158## Buat entri lingkungan dengan `/auto-mode-setup`158## Membuat entri lingkungan dengan `/auto-mode-setup`

159 159 

160Jalankan `/auto-mode-setup` untuk membuat Claude Code membuat draf entri `autoMode.environment`, dan kadang-kadang juga [entri aturan](#override-the-block-and-allow-rules), dari proyek Anda dan sesi terbaru Anda di dalamnya. Jika Anda menerima draf, Claude Code menulisnya ke `~/.claude/settings.json`.160Jalankan `/auto-mode-setup` agar Claude Code menyusun draf entri `autoMode.environment`, dan terkadang juga [entri aturan](#override-the-block-and-allow-rules), dari proyek Anda dan sesi-sesi terbaru Anda di dalamnya. Jika Anda menerima draf tersebut, Claude Code menuliskannya ke `~/.claude/settings.json`.

161 161 

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

163>163>

164> `/auto-mode-setup` tersedia pada paket Pro, Max, Team, dan Enterprise serta dengan kunci API Claude Console. Pada paket Pro, Max, atau Team, Anda memerlukan v2.1.228 atau lebih baru, atau v2.1.233 atau lebih baru di Windows native. Pada paket Enterprise atau dengan kunci API Claude Console, Anda memerlukan v2.1.283 atau lebih baru. Jika perintah tersebut tidak ada dalam sesi Anda, lihat [`/auto-mode-setup` mengembalikan "Unknown command"](#auto-mode-setup-returns-unknown-command).164> `/auto-mode-setup` tersedia pada paket Pro, Max, Team, dan Enterprise serta dengan kunci API Claude Console. Pada paket Pro, Max, atau Team, Anda memerlukan v2.1.228 atau yang lebih baru, atau v2.1.233 atau yang lebih baru di Windows native. Pada paket Enterprise atau dengan kunci API Claude Console, Anda memerlukan v2.1.283 atau yang lebih baru. Jika perintah ini tidak tersedia di sesi Anda, lihat [`/auto-mode-setup` mengembalikan "Unknown command"](#auto-mode-setup-returns-unknown-command).

165 165 

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

167 167 

168Jika `~/.claude/settings.json` sudah menyimpan entri `autoMode`, Claude Code dimulai dengan menanyakan apakah akan menambah daftar lingkungan Anda atau menggantinya, dan tetap menyimpan aturan yang Anda tulis bagaimanapun. Claude Code kemudian menanyakan bagaimana Anda menggunakan proyek ini dan menawarkan dua pemindaian opsional sebelum memindai apa pun. Dalam pemindaian, Claude Code selalu membaca sumber-sumber ini:168Jika `~/.claude/settings.json` sudah berisi entri `autoMode`, Claude Code memulai dengan menanyakan apakah akan menambahkan ke daftar lingkungan Anda atau menggantinya, dan tetap mempertahankan aturan yang Anda tulis dalam kedua kasus. Claude Code kemudian menanyakan bagaimana Anda menggunakan proyek ini dan menawarkan dua pemindaian opsional sebelum memindai apa pun. Dalam pemindaian, Claude Code selalu membaca sumber-sumber berikut:

169 169 

170* `CLAUDE.md`, `README.md`, file konfigurasi, dan git remotes proyek ini170* `CLAUDE.md`, `README.md`, file konfigurasi, dan remote git milik proyek ini

171* Pengaturan `autoMode` dan `permissions.allow` Anda171* Pengaturan `autoMode` dan `permissions.allow` Anda

172* Host, bucket, dan nama perintah dari perintah yang Claude jalankan dalam sesi terbaru Anda di proyek ini, tidak pernah pesan Anda172* Host, bucket, dan nama perintah dari perintah yang dijalankan Claude dalam sesi-sesi terbaru Anda di proyek ini, tidak pernah pesan Anda

173 173 

174Dua pemindaian opsional menambahkan satu sumber masing-masing:174Kedua pemindaian opsional masing-masing menambahkan satu sumber:

175 175 

176* Kata pertama dari setiap perintah dalam riwayat shell Anda176* Kata pertama dari setiap perintah dalam riwayat shell Anda

177* Host jarak jauh dan nama repositori di bawah direktori home Anda177* Host remote dan nama repositori di bawah direktori home Anda

178 178 

179### Tinjau dan simpan draf179### Meninjau dan menyimpan draf

180 180 

181Claude Code memindai di latar belakang, kemudian menampilkan draf kepada Anda. Anda menerima atau membuang semuanya sebagai satu kesatuan, jadi edit `~/.claude/settings.json` setelahnya untuk menyesuaikan entri tunggal. Ketika Anda menerima, Claude Code menulis draf dan merekonsiliasi dengan pengaturan yang sudah Anda miliki:181Claude Code memindai di latar belakang, lalu menampilkan draf kepada Anda. Anda menerima atau membuang draf tersebut secara keseluruhan, jadi edit `~/.claude/settings.json` setelahnya untuk menyesuaikan entri satu per satu. Saat Anda menerimanya, Claude Code menuliskan draf dan menyelaraskannya dengan pengaturan yang sudah Anda miliki:

182 182 

183* Claude Code menulis daftar `environment` tanpa `"$defaults"`, karena draf menjabarkan entri bawaan yang tidak diubahnya183* Claude Code menulis daftar `environment` tanpa `"$defaults"`, karena draf tersebut menuliskan secara eksplisit entri bawaan yang dibiarkannya tidak berubah

184* Claude Code menyertakan `"$defaults"` dalam setiap daftar `allow`, `soft_deny`, dan `hard_deny` yang ditambahkan draf ke dalamnya, kecuali Anda sudah menulis daftar `allow` tanpanya, jadi [aturan bawaan](#override-the-block-and-allow-rules) yang belum Anda ganti tetap berlaku184* Claude Code menyertakan `"$defaults"` di setiap daftar `allow`, `soft_deny`, dan `hard_deny` yang ditambahi entri oleh draf, kecuali Anda sudah menulis daftar `allow` tanpanya, sehingga [aturan bawaan](#override-the-block-and-allow-rules) yang belum Anda ganti tetap berlaku

185* Setelah menyimpan, Claude Code menawarkan untuk menghapus aturan `permissions.allow` di `~/.claude/settings.json` yang diabaikan mode otomatis, seperti `Bash(*)`, atau yang secara otomatis menyetujui perintah destruktif185* Setelah menyimpan, Claude Code menawarkan untuk menghapus aturan `permissions.allow` di `~/.claude/settings.json` yang diabaikan oleh auto mode, seperti `Bash(*)`, atau yang menyetujui perintah destruktif secara otomatis

186 186 

187Kemudian jalankan `claude auto-mode config` untuk [melihat hasil yang efektif](#inspect-the-defaults-and-your-effective-config).187Kemudian jalankan `claude auto-mode config` untuk [melihat hasil yang berlaku](#inspect-the-defaults-and-your-effective-config).

188 188 

189### Matikan `/auto-mode-setup`189### Mematikan `/auto-mode-setup`

190 190 

191Setelah mode otomatis telah memblokir beberapa tindakan dan Anda masih tidak memiliki entri `autoMode.environment`, Claude Code menampilkan dialog berjudul "Ajarkan mode otomatis tentang lingkungan Anda?" di akhir giliran dan menawarkan untuk menjalankan `/auto-mode-setup` untuk Anda. Untuk menghentikan penawaran tetapi menyimpan perintah, pilih **Jangan tampilkan lagi** dalam dialog itu.191Setelah auto mode memblokir beberapa tindakan dan Anda masih belum memiliki entri `autoMode.environment`, Claude Code menampilkan dialog berjudul "Teach auto mode about your environment?" di akhir sebuah giliran dan menawarkan untuk menjalankan `/auto-mode-setup` untuk Anda. Untuk menghentikan tawaran tersebut tetapi tetap mempertahankan perintahnya, pilih **Don't show again** di dialog tersebut.

192 192 

193Untuk mematikan perintah dan penawaran, tambahkan entri [`skillOverrides`](https://code.claude.com/docs/id/skills#override-skill-visibility-from-settings) ini ke `~/.claude/settings.json`:193Untuk mematikan perintah sekaligus tawarannya, tambahkan entri [`skillOverrides`](https://code.claude.com/docs/id/skills#override-skill-visibility-from-settings) ini ke `~/.claude/settings.json`:

194 194 

195```json theme={null}195```json theme={null}

196{196{


200}200}

201```201```

202 202 

203`/auto-mode-setup` adalah perintah bawaan daripada [skill bundel](https://code.claude.com/docs/id/skills.md#bundled-skills), jadi entri `skillOverrides` ini masih berlaku untuk itu, tetapi [`disableBundledSkills`](https://code.claude.com/docs/id/settings-reference#disablebundledskills) tidak mematikannya.203`/auto-mode-setup` adalah perintah bawaan, bukan [skill bawaan](https://code.claude.com/docs/id/skills.md#bundled-skills), sehingga entri `skillOverrides` ini tetap berlaku untuknya, tetapi [`disableBundledSkills`](https://code.claude.com/docs/id/settings-reference#disablebundledskills) tidak mematikannya.

204 204 

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

206 206 

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

208 208 

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

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

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

212 212 

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

214 214 

215## Ganti aturan blokir dan izin215## Ganti aturan blokir dan izin

216 216 

checkpointing.md +27 −27

Details

8 8 

9Claude Code secara otomatis melacak edit file Claude saat Anda bekerja, memungkinkan Anda dengan cepat membatalkan perubahan dan memutar ulang ke status sebelumnya jika ada yang tidak sesuai.9Claude Code secara otomatis melacak edit file Claude saat Anda bekerja, memungkinkan Anda dengan cepat membatalkan perubahan dan memutar ulang ke status sebelumnya jika ada yang tidak sesuai.

10 10 

11## Cara kerja checkpoints11## Cara kerja checkpoint

12 12 

13Saat Anda bekerja dengan Claude, checkpointing secara otomatis menangkap status kode Anda sebelum setiap prompt yang Anda kirim yang memulai giliran.13Saat Anda bekerja dengan Claude, checkpointing secara otomatis menangkap status kode Anda sebelum setiap prompt yang Anda kirim yang memulai sebuah giliran.

14 14 

15### Pelacakan otomatis15### Pelacakan otomatis

16 16 

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

18 18 

19* Setiap prompt yang Anda kirim yang memulai giliran membuat checkpoint baru19* Setiap prompt yang Anda kirim yang memulai sebuah giliran akan membuat checkpoint baru

20* Claude Code menyimpan snapshot file untuk 100 checkpoint paling terbaru dalam sesi. Membuang checkpoint yang lebih lama menghapus file snapshot yang tidak direferensikan oleh checkpoint yang tersisa, kecuali snapshot pertama setiap file, yang digunakan oleh ekstensi VS Code sebagai baseline untuk diffs sesi-nya.20* Claude Code menyimpan snapshot file untuk 100 checkpoint terbaru dalam sebuah sesi. Membuang checkpoint yang lebih lama akan menghapus file snapshot yang tidak lagi direferensikan oleh checkpoint mana pun yang tersisa, kecuali snapshot pertama dari setiap file, yang digunakan oleh ekstensi VS Code sebagai acuan dasar untuk diff sesinya.

21* Claude Code menyimpan checkpoints dengan percakapan, sehingga Anda masih dapat menjalankan `/rewind` setelah Anda melanjutkan sesi21* Claude Code menyimpan checkpoint bersama percakapan, sehingga Anda tetap dapat menjalankan `/rewind` setelah melanjutkan sebuah sesi

22* Claude Code menghapus snapshot file sesi dalam [retention sweep](https://code.claude.com/docs/id/claude-directory.md#cleaned-up-automatically), secara default sekitar 30 hari setelah sesi terakhir menyimpannya. Memutar ulang ke checkpoint yang snapshotnya hilang dapat gagal dengan [`No files were restored`](https://code.claude.com/docs/id/errors#no-files-were-restored). Untuk menyimpan snapshot lebih lama, atur [`cleanupPeriodDays`](https://code.claude.com/docs/id/settings-reference#cleanupperioddays).22* Claude Code menghapus snapshot file suatu sesi dalam [pembersihan retensi](https://code.claude.com/docs/id/claude-directory.md#cleaned-up-automatically), secara default sekitar 30 hari setelah sesi tersebut terakhir menyimpannya. Melakukan rewind ke checkpoint yang snapshot-nya sudah tidak ada dapat gagal dengan [`No files were restored`](https://code.claude.com/docs/id/errors#no-files-were-restored). Untuk menyimpan snapshot lebih lama, atur [`cleanupPeriodDays`](https://code.claude.com/docs/id/settings-reference#cleanupperioddays).

23 23 

24### Putar ulang dan ringkas24### Rewind dan ringkas

25 25 

26Jalankan `/rewind`, atau tekan `Esc` dua kali ketika bidang input prompt kosong, untuk membuka menu putar ulang.26Jalankan `/rewind`, atau tekan `Esc` dua kali saat input prompt kosong, untuk membuka menu rewind.

27 27 

28> [!NOTE]28> [!NOTE]

29>29>

30> Jika bidang input prompt berisi teks, tekan `Esc` dua kali akan menghapusnya alih-alih membuka menu. Teks yang dihapus disimpan ke riwayat input Anda, jadi tekan `Up` untuk memanggilnya kembali setelah Anda selesai di menu putar ulang.30> Jika input prompt berisi teks, menekan `Esc` dua kali akan menghapus teks tersebut alih-alih membuka menu. Teks yang dihapus disimpan ke riwayat input Anda, jadi tekan `Up` untuk memanggilnya kembali setelah Anda selesai di menu rewind.

31 31 

32Menu putar ulang mencantumkan prompt yang Anda kirim selama sesi. Pilih titik yang ingin Anda tindaklanjuti, kemudian pilih tindakan:32Menu rewind menampilkan daftar prompt yang Anda kirim selama sesi. Pilih titik yang ingin Anda tindak lanjuti, lalu pilih sebuah tindakan:

33 33 

34* **Pulihkan kode dan percakapan**: kembalikan kode dan percakapan ke titik tersebut34* **Restore code and conversation**: mengembalikan kode dan percakapan ke titik tersebut

35* **Pulihkan percakapan**: putar ulang ke pesan tersebut sambil mempertahankan kode saat ini35* **Restore conversation**: melakukan rewind ke pesan tersebut sambil mempertahankan kode saat ini

36* **Pulihkan kode**: kembalikan perubahan file sambil mempertahankan percakapan36* **Restore code**: mengembalikan perubahan file sambil mempertahankan percakapan

37* **Ringkas dari sini**: kompres percakapan dari titik ini ke depan menjadi ringkasan, membebaskan ruang context window37* **Summarize from here**: memadatkan percakapan dari titik ini ke depan menjadi sebuah ringkasan, sehingga membebaskan ruang context window

38* **Ringkas hingga di sini**: kompres percakapan sebelum titik ini menjadi ringkasan, menjaga pesan-pesan selanjutnya tetap utuh38* **Summarize up to here**: memadatkan percakapan sebelum titik ini menjadi sebuah ringkasan, dengan tetap mempertahankan pesan-pesan setelahnya

39* **Tidak jadi**: kembali ke daftar pesan tanpa membuat perubahan39* **Never mind**: kembali ke daftar pesan tanpa membuat perubahan

40 40 

41Dua opsi restore kode muncul hanya ketika checkpoint yang dipilih memiliki perubahan file yang dilacak untuk dikembalikan. Jika tidak ada pengeditan file yang ditangkap setelah titik tersebut, menu hanya menawarkan **Restore conversation**, opsi summarize, dan **Never mind**.41Kedua opsi pemulihan kode hanya muncul jika checkpoint yang dipilih memiliki perubahan file terlacak yang dapat dikembalikan. Jika tidak ada pengeditan file yang tertangkap setelah titik tersebut, menu hanya menawarkan **Restore conversation**, opsi-opsi ringkasan, dan **Never mind**.

42 42 

43Setelah memulihkan percakapan atau memilih Ringkas dari sini, prompt asli dari pesan yang dipilih dipulihkan ke dalam bidang input sehingga Anda dapat mengirimnya kembali atau mengeditnya.43Setelah memulihkan percakapan atau memilih Summarize from here, prompt asli dari pesan yang dipilih dikembalikan ke kolom input sehingga Anda dapat mengirim ulang atau mengeditnya.

44 44 

45Memilih Summarize up to here membuat Anda tetap berada di akhir percakapan dengan input kosong. Dengan opsi summarize apa pun, penanda **Summarized conversation** muncul dalam percakapan di mana pesan yang dikompres berada.45Memilih Summarize up to here akan menempatkan Anda di akhir percakapan dengan input kosong. Dengan salah satu opsi ringkasan, penanda **Summarized conversation** muncul di percakapan pada posisi pesan-pesan yang dipadatkan.

46 46 

47#### Pesan yang diputar ulang dapat kembali jika Anda keluar sebelum prompt berikutnya47#### Pesan yang di-rewind dapat muncul kembali jika Anda keluar sebelum prompt berikutnya

48 48 

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

50 50 

51#### Putar ulang melewati percakapan yang dihapus51#### Rewind melewati percakapan yang telah dihapus

52 52 

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

54 54 

55#### Panduan ringkasan55#### Mengarahkan ringkasan

56 56 

57Meringkas tidak mengubah file di disk, dan pesan asli tetap berada dalam transkrip sesi, sehingga Claude masih dapat mereferensikan detail. Untuk memandu apa yang difokuskan ringkasan, sorot opsi **Summarize** dengan tombol panah dan ketik instruksi di mana baris membaca **add context (optional)**, kemudian tekan `Enter`. Memilih opsi dengan tombol nomornya meringkas segera tanpa instruksi.57Meringkas tidak mengubah file di disk, dan pesan-pesan asli tetap berada di transkrip sesi, sehingga Claude masih dapat merujuk detailnya. Untuk mengarahkan fokus ringkasan, sorot opsi **Summarize** dengan tombol panah dan ketik instruksi pada baris yang bertuliskan **add context (optional)**, lalu tekan `Enter`. Memilih opsi dengan tombol angkanya akan langsung meringkas tanpa instruksi.

58 58 

59> [!NOTE]59> [!NOTE]

60>60>

61> Summarize membuat Anda tetap berada di sesi yang sama dan mengompres konteks, seperti `/compact` yang ditargetkan. Untuk bercabang dan mencoba pendekatan berbeda sambil mempertahankan sesi asli tetap utuh, gunakan [`/branch`](https://code.claude.com/docs/id/sessions#branch-a-session) atau `claude --continue --fork-session` sebagai gantinya.61> Summarize membuat Anda tetap berada di sesi yang sama dan memadatkan konteks, seperti `/compact` yang terarah. Untuk bercabang dan mencoba pendekatan lain sambil mempertahankan sesi asli tetap utuh, gunakan [`/branch`](https://code.claude.com/docs/id/sessions#branch-a-session) atau `claude --continue --fork-session` sebagai gantinya.

62 62 

63## Kasus penggunaan umum63## Kasus penggunaan umum

64 64 

Details

446 446 

447Pengaturan yang disediakan induk berikut lolos filter bahkan dengan kelima kunci penguncian diatur:447Pengaturan yang disediakan induk berikut lolos filter bahkan dengan kelima kunci penguncian diatur:

448 448 

449* **`forceLoginOrgUUID`**: Claude Code menghormati nilai yang disediakan induk ketika sumber admin berprioritas tertinggi tidak mengatur UUID org. Proses masuk gateway tidak memeriksa kunci ini. UUID org di sumber admin berprioritas tertinggi memblokir nilai induk dan merupakan nilai yang diberlakukan Claude Code.449* **`forceLoginOrgUUID`**: Claude Code menghormati nilai yang disediakan induk ketika pengaturan terkelola yang diterapkannya tidak mengatur UUID org. Proses masuk gateway tidak memeriksa kunci ini. UUID org di pengaturan terkelola yang diterapkan Claude Code memblokir nilai induk dan merupakan UUID org yang diberlakukan Claude Code. Jika armada Anda menetapkan organisasi Anthropic, lihat [Sumber terkelola mana yang menyediakan kunci login](https://code.claude.com/docs/id/managed-settings.md#which-managed-source-supplies-login-keys) untuk mengetahui di mana mengatur `forceLoginOrgUUID`.

450* **`allowedMcpServers`**: Claude Code menghormati allowlist yang disediakan induk ketika tidak ada daftar admin yang berlaku. `allowManagedMcpServersOnly` tidak memblokirnya, karena kunci penguncian memberlakukan daftar mana pun yang menang sebagai nilai terkelola, termasuk daftar yang disediakan induk ketika tidak ada sumber admin yang menyediakan daftar. Daftar di sumber admin berprioritas tertinggi memblokir daftar induk dan merupakan daftar yang diberlakukan Claude Code, jadi atur `allowedMcpServers` di sana, di samping kunci penguncian. Sebelum v2.1.223, nilai untuk salah satu kunci di sumber admin mana pun memblokir nilai induk.450* **`allowedMcpServers`**: Claude Code menghormati allowlist yang disediakan induk ketika tidak ada daftar admin yang berlaku. `allowManagedMcpServersOnly` tidak memblokirnya, karena kunci penguncian memberlakukan daftar mana pun yang menang sebagai nilai terkelola, termasuk daftar yang disediakan induk ketika tidak ada sumber admin yang menyediakan daftar. Daftar di sumber admin berprioritas tertinggi memblokir daftar induk dan merupakan daftar yang diberlakukan Claude Code, jadi atur `allowedMcpServers` di sana, di samping kunci penguncian. Sebelum v2.1.223, nilai untuk salah satu kunci di sumber admin mana pun memblokir nilai induk.

451* **`availableModels`**: Claude Code menghormati daftar model yang disediakan induk ketika sumber terkelola pemenang tidak mengaturnya. Jika armada Anda membatasi model, atur `availableModels` di sumber pemenang.451* **`availableModels`**: Claude Code menghormati daftar model yang disediakan induk ketika sumber terkelola pemenang tidak mengaturnya. Jika armada Anda membatasi model, atur `availableModels` di sumber pemenang.

452* **`allowedProviders`**: Claude Code menghormati allowlist penyedia API yang disediakan induk ketika sumber terkelola pemenang tidak mengaturnya. Jika armada Anda membatasi penyedia API mana yang dapat digunakan developer, atur `allowedProviders` di sumber pemenang. Memerlukan Claude Code v2.1.285 atau yang lebih baru.452* **`allowedProviders`**: Claude Code menghormati allowlist penyedia API yang disediakan induk ketika sumber terkelola pemenang tidak mengaturnya. Jika armada Anda membatasi penyedia API mana yang dapat digunakan developer, atur `allowedProviders` di sumber pemenang. Memerlukan Claude Code v2.1.285 atau yang lebih baru.


454* **`blockedMarketplaces`**: blocklist marketplace yang disediakan induk lolos dan ditambahkan ke blocklist mana pun yang diatur sumber terkelola, karena blocklist hanya dapat membatasi lebih jauh. Memerlukan Claude Code v2.1.282 atau yang lebih baru.454* **`blockedMarketplaces`**: blocklist marketplace yang disediakan induk lolos dan ditambahkan ke blocklist mana pun yang diatur sumber terkelola, karena blocklist hanya dapat membatasi lebih jauh. Memerlukan Claude Code v2.1.282 atau yang lebih baru.

455* **`strictPluginOnlyCustomization`**: kunci ini lolos filter terlepas dari kunci penguncian apa pun, dan membuat Claude Code mengabaikan kustomisasi milik developer sendiri, termasuk hook pelindung. Tidak ada kunci penguncian yang memblokirnya.455* **`strictPluginOnlyCustomization`**: kunci ini lolos filter terlepas dari kunci penguncian apa pun, dan membuat Claude Code mengabaikan kustomisasi milik developer sendiri, termasuk hook pelindung. Tidak ada kunci penguncian yang memblokirnya.

456 456 

457Di bawah pengaturan default first-wins, nilai admin memblokir nilai induk hanya ketika berada di sumber admin berprioritas tertinggi, kecuali untuk `allowedMcpServers` selama [kunci penguncian server MCP](#lock-behavior-across-sources) aktif. Di bawah opt-in merge `managedSourcesBehavior`, [cara Claude Code menggabungkan sumber terkelola](https://code.claude.com/docs/id/managed-settings.md#how-claude-code-combines-managed-sources) menjelaskan nilai sumber mana yang berlaku sebagai gantinya.457Jika Anda mengatur `managedSourcesBehavior` ke `"merge"`, periksa [nilai sumber mana yang berlaku untuk setiap jenis kunci](https://code.claude.com/docs/id/managed-settings.md#compose-every-managed-source).

458 458 

459#### Cara kunci hook dan skill dalam pengaturan induk berlaku459#### Cara kunci hook dan skill dalam pengaturan induk berlaku

460 460 

Details

421 421 

422```yaml theme={null}422```yaml theme={null}

423models:423models:

424 - id: claude-opus-restricted # a custom id, not a built-in model name424 - id: restricted-claude-opus-4-8 # a custom id, not a built-in model name

425 upstream_model:425 upstream_model:

426 bedrock-isolated: us.anthropic.claude-opus-4-8 # the only upstream that serves it426 bedrock-isolated: us.anthropic.claude-opus-4-8 # the only upstream that serves it

427```427```


631 631 

632Gateway tidak menyimpan catatan upstream yang gagal, sehingga selama sebuah upstream mati, setiap permintaan yang mencapainya tetap mencobanya dan menunggu hingga gagal sebelum melanjutkan.632Gateway tidak menyimpan catatan upstream yang gagal, sehingga selama sebuah upstream mati, setiap permintaan yang mencapainya tetap mencobanya dan menunggu hingga gagal sebelum melanjutkan.

633 633 

634Untuk upstream Anthropic API, [`timeouts.upstream_ttfb_ms`](#http-tuning) membatasi waktu tunggu pada upstream yang mati. Pengaturan tersebut tidak berlaku untuk penyedia lain, di mana gateway menunggu hingga satu jam agar upstream mulai merespons.634Gateway menunggu selama ini agar respons mulai diterima:

635 

636* **Upstream `provider: anthropic`**: [`timeouts.upstream_ttfb_ms`](#http-tuning), 120 detik secara default

637* **Penyedia lain**: hingga satu jam. Untuk mempersingkat waktu tunggu tersebut bagi permintaan streaming, atur `timeouts.upstream_ttfb_ms` pada gateway v2.1.295 atau yang lebih baru. Permintaan model non-streaming tetap menunggu hingga satu jam dalam kedua kasus

635 638 

636`404` adalah ketersediaan model per upstream, sehingga upstream yang belum mengaktifkan sebuah model tidak menghalangi upstream berikutnya yang melayaninya. Upstream yang tidak dapat me-resolve model yang diminta dilewati tanpa round-trip jaringan.639`404` adalah ketersediaan model per upstream, sehingga upstream yang belum mengaktifkan sebuah model tidak menghalangi upstream berikutnya yang melayaninya. Upstream yang tidak dapat me-resolve model yang diminta dilewati tanpa round-trip jaringan.

637 640 


875 policies:878 policies:

876 - match: { groups: [restricted-projects] }879 - match: { groups: [restricted-projects] }

877 cli:880 cli:

878 availableModels: [claude-opus-restricted]881 availableModels: [restricted-claude-opus-4-8]

879 enforceAvailableModels: true882 enforceAvailableModels: true

880 model: claude-opus-restricted883 model: restricted-claude-opus-4-8

884 env:

885 ANTHROPIC_DEFAULT_OPUS_MODEL: restricted-claude-opus-4-8 # opus and Default resolve to the ID too

881```886```

882 887 

883#### Nilai matcher yang menghentikan gateway saat boot888#### Nilai matcher yang menghentikan gateway saat boot


1148 1153 

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

1150 1155 

1156> [!NOTE]

1157>

1158> [`sshTransport`](https://claude.com/docs/third-party/claude-desktop/configuration#sshtransport) memerlukan Claude Code v2.1.293 atau yang lebih baru di server gateway.

1159 

1151Jika Anda menyetel `orgPluginSettings` di blok `desktop` kebijakan, gateway melayaninya dalam bentuk array yang dibaca Claude Desktop 1.15200.0 dan yang lebih baru. Desktop yang lebih lama mengabaikan array tersebut dan tidak menegakkan kebijakan tool plugin, jadi perbarui anggota ke 1.15200.0 atau yang lebih baru sebelum Anda mengandalkannya.1160Jika Anda menyetel `orgPluginSettings` di blok `desktop` kebijakan, gateway melayaninya dalam bentuk array yang dibaca Claude Desktop 1.15200.0 dan yang lebih baru. Desktop yang lebih lama mengabaikan array tersebut dan tidak menegakkan kebijakan tool plugin, jadi perbarui anggota ke 1.15200.0 atau yang lebih baru sebelum Anda mengandalkannya.

1152 1161 

1153##### Cara kebijakan peran mewarisi blok `desktop` dasar1162##### Cara kebijakan peran mewarisi blok `desktop` dasar


1398| `limits` | `max_request_bytes` | 32 MiB | Ukuran maksimum body permintaan masuk; permintaan yang terlalu besar mendapat `413` sebelum body di-buffer. Naikkan untuk permintaan file atau gambar berukuran besar. |1407| `limits` | `max_request_bytes` | 32 MiB | Ukuran maksimum body permintaan masuk; permintaan yang terlalu besar mendapat `413` sebelum body di-buffer. Naikkan untuk permintaan file atau gambar berukuran besar. |

1399| `limits` | `max_request_header_bytes` | tidak diatur | Menurunkan batas 256 KiB milik gateway untuk total header permintaan. Permintaan yang melebihi batas mengembalikan `431`, dan nilai di atas 256 KiB tidak berpengaruh. Jika pengembang mendapat `431` setelah masuk, lihat [Header permintaan terlalu besar setelah masuk](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#request-headers-too-large-after-sign-in). |1408| `limits` | `max_request_header_bytes` | tidak diatur | Menurunkan batas 256 KiB milik gateway untuk total header permintaan. Permintaan yang melebihi batas mengembalikan `431`, dan nilai di atas 256 KiB tidak berpengaruh. Jika pengembang mendapat `431` setelah masuk, lihat [Header permintaan terlalu besar setelah masuk](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#request-headers-too-large-after-sign-in). |

1400| `limits` | `max_url_length` | tidak diatur | Jika diatur, URL yang terlalu panjang mengembalikan `414` |1409| `limits` | `max_url_length` | tidak diatur | Jika diatur, URL yang terlalu panjang mengembalikan `414` |

1401| `timeouts` | `upstream_ttfb_ms` | 120000 | Waktu tunggu maksimum untuk header respons upstream (time to first byte). Body respons kemudian di-stream tanpa batas waktu total. Berlaku untuk jalur upstream Anthropic langsung; pada setiap penyedia lain, gateway menunggu hingga satu jam agar respons dimulai. |1410| `timeouts` | `upstream_ttfb_ms` | 120000 | Waktu tunggu maksimum untuk header respons upstream (waktu hingga byte pertama). Body respons kemudian di-stream tanpa batas waktu total. Jika kunci tidak diatur, default berlaku untuk upstream `provider: anthropic`, dan pada setiap penyedia lainnya gateway menunggu hingga satu jam agar respons dimulai. Untuk mempersingkat waktu tunggu tersebut, lihat [Beberapa upstream](#multiple-upstreams). |

1402| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Rate limit per IP pada endpoint otorisasi perangkat yang tidak diautentikasi. Naikkan untuk organisasi besar di balik IP egress bersama atau NAT. [Peluncuran skala besar](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#large-rollouts) menunjukkan cara menentukan ukurannya. Batas ini hanya berlaku untuk alur masuk device-grant, bukan untuk inferensi `/v1/messages`. Lihat [Ketahanan terhadap brute-force kode pengguna](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#user-code-brute-force-resistance). |1411| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Rate limit per IP pada endpoint otorisasi perangkat yang tidak diautentikasi. Naikkan untuk organisasi besar di balik IP egress bersama atau NAT. [Peluncuran skala besar](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#large-rollouts) menunjukkan cara menentukan ukurannya. Batas ini hanya berlaku untuk alur masuk device-grant, bukan untuk inferensi `/v1/messages`. Lihat [Ketahanan terhadap brute-force kode pengguna](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#user-code-brute-force-resistance). |

1403| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Rate limit per IP pada pengiriman `user_code` di `/device`. Inilah yang mencegah seseorang menebak kode pengembang lain. [Peluncuran skala besar](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#large-rollouts) menunjukkan seberapa tinggi menaikkannya. |1412| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Rate limit per IP pada pengiriman `user_code` di `/device`. Inilah yang mencegah seseorang menebak kode pengembang lain. [Peluncuran skala besar](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#large-rollouts) menunjukkan seberapa tinggi menaikkannya. |

1404 1413 

Details

228 228 

229Teleport memerlukan autentikasi langganan claude.ai. Temukan kasus yang sesuai dengan situasi Anda:229Teleport memerlukan autentikasi langganan claude.ai. Temukan kasus yang sesuai dengan situasi Anda:

230 230 

231* **Anda diautentikasi melalui kunci API**: jalankan `/login` untuk masuk dengan akun claude.ai Anda sebagai gantinya231* **Anda masuk dengan kunci API atau akun Console**: jalankan `claude auth login` di shell Anda, lalu masuk dengan claude.ai

232* **Kesalahan menyebutkan penyedia Anda**: sesi cloud tidak tersedia melalui penyedia pihak ketiga. Lihat [tabel kesalahan](#errors-when-sending-to-a-cloud-session)232* **Kesalahan menyebutkan penyedia Anda**: sesi cloud tidak tersedia melalui penyedia pihak ketiga. Lihat [tabel kesalahan](#errors-when-sending-to-a-cloud-session)

233* **Anda sudah masuk melalui claude.ai**: organisasi Anda mungkin telah menonaktifkan sesi cloud233* **Anda sudah masuk melalui claude.ai**: organisasi Anda mungkin telah menonaktifkan sesi cloud

234 234 


437 437 

438### Unable to get organization UUID438### Unable to get organization UUID

439 439 

440`claude --cloud` dan `claude --teleport` memerlukan sign-in dengan akun claude.ai. Jika Anda mengautentikasi dengan kunci API, atau detail akun yang disimpan sudah usang, Anda akan melihat salah satu dari pesan berikut:440`claude --cloud` dan `claude --teleport` memerlukan sign-in dengan akun claude.ai. Jika Anda mengautentikasi dengan kunci API atau sign-in Console sebagai gantinya, atau detail akun yang disimpan sudah usang, Anda akan melihat pesan seperti:

441 441 

442* `Unable to get organization UUID`442* `Unable to get organization UUID`

443* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``443* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

444* ``Cloud sessions aren't available with this Console sign-in. They need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

444* `Error loading Claude Code sessions` di pemilih sesi, saat Anda menjalankan `claude --teleport` tanpa ID sesi445* `Error loading Claude Code sessions` di pemilih sesi, saat Anda menjalankan `claude --teleport` tanpa ID sesi

445 446 

446Jalankan [`claude auth login`](https://code.claude.com/docs/id/cli-reference#cli-commands) di shell Anda untuk masuk dengan akun claude.ai Anda, kemudian coba lagi perintah tersebut. Di dalam sesi yang sedang berjalan, `/login` melakukan hal yang sama. Jika kesalahan justru menyebutkan penyedia Anda, lihat [tabel kesalahan](#errors-when-sending-to-a-cloud-session): sesi cloud tidak tersedia melalui penyedia pihak ketiga.447Jalankan [`claude auth login`](https://code.claude.com/docs/id/cli-reference#cli-commands) di shell Anda untuk masuk dengan akun claude.ai Anda, kemudian coba lagi perintah tersebut. Di dalam sesi yang sedang berjalan, `/login` melakukan hal yang sama. Jika kesalahan justru menyebutkan penyedia Anda, lihat [tabel kesalahan](#errors-when-sending-to-a-cloud-session): sesi cloud tidak tersedia melalui penyedia pihak ketiga.

Details

27 27 

28## Penyiapan28## Penyiapan

29 29 

30### Konfigurasi kredensial AWS30### Konfigurasikan kredensial AWS

31 31 

32Claude Code mendukung dua metode autentikasi untuk Claude Platform on AWS. Pilih metode yang sesuai dengan cara tim Anda mengelola akses:32Claude Code mendukung dua metode autentikasi untuk Claude Platform on AWS. Pilih metode yang sesuai dengan cara tim Anda mengelola akses:

33 33 

34* [Kredensial AWS dengan SigV4](#use-aws-credentials-with-sigv4): autentikasi sebagai principal IAM, dengan kredensial dari rantai kredensial AWS standar34* [Kredensial AWS dengan SigV4](#use-aws-credentials-with-sigv4): lakukan autentikasi sebagai IAM principal, dengan kredensial dari rantai kredensial AWS standar

35* [Kunci API workspace](#use-a-workspace-api-key): autentikasi dengan kunci jangka panjang yang Anda buat di AWS Console35* [Kunci API workspace](#use-a-workspace-api-key): lakukan autentikasi dengan kunci berumur panjang yang Anda buat di AWS Console

36 36 

37#### Gunakan kredensial AWS dengan SigV437#### Gunakan kredensial AWS dengan SigV4

38 38 

39Claude Code menandatangani permintaan dengan SigV4 menggunakan rantai kredensial AWS standar: variabel lingkungan, kredensial bersama di `~/.aws/credentials`, peran IAM, sesi AWS SSO, dan sumber lain apa pun yang didukung AWS SDK.39Claude Code menandatangani permintaan dengan SigV4 menggunakan rantai kredensial AWS standar: environment variable, kredensial bersama di `~/.aws/credentials`, IAM role, sesi AWS SSO, dan sumber lain apa pun yang didukung oleh AWS SDK.

40 40 

41Untuk penggunaan lokal, masuk dengan AWS CLI sebelum memulai Claude Code. Contoh di bawah menggunakan profil SSO, tetapi metode apa pun yang menghasilkan kredensial di lokasi standar berfungsi.41Untuk penggunaan lokal, masuk dengan AWS CLI sebelum memulai Claude Code. Contoh di bawah menggunakan profil SSO, tetapi metode apa pun yang menghasilkan kredensial di lokasi standar dapat digunakan.

42 42 

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

44aws sso login --profile my-profile44aws sso login --profile my-profile

45export AWS_PROFILE=my-profile45export AWS_PROFILE=my-profile

46```46```

47 47 

48Untuk CI dan otomasi, berikan runner peran IAM dengan izin untuk memanggil layanan Anthropic dan atur `AWS_REGION`. Rantai kredensial mengambil peran secara otomatis.48Untuk CI dan otomatisasi, berikan runner sebuah IAM role dengan izin untuk memanggil layanan Anthropic dan atur `AWS_REGION`. Rantai kredensial akan mengambil role tersebut secara otomatis.

49 49 

50Jika kredensial SSO Anda kedaluwarsa di tengah sesi, konfigurasi [`awsAuthRefresh`](https://code.claude.com/docs/id/amazon-bedrock#advanced-credential-configuration) sehingga Claude Code menjalankan kembali perintah login Anda dan mencoba ulang alih-alih gagal. Tambahkan perintah ke [file pengaturan](https://code.claude.com/docs/id/settings.md) Anda, seperti `~/.claude/settings.json`:50Jika kredensial SSO Anda kedaluwarsa di tengah sesi, konfigurasikan [`awsAuthRefresh`](https://code.claude.com/docs/id/amazon-bedrock#advanced-credential-configuration) agar Claude Code menjalankan ulang perintah login Anda dan mencoba ulang alih-alih gagal. Tambahkan perintah tersebut ke [file pengaturan](https://code.claude.com/docs/id/settings.md) Anda, seperti `~/.claude/settings.json`:

51 51 

52```json theme={null}52```json theme={null}

53{53{


55}55}

56```56```

57 57 

58Claude Code juga menjalankan perintah ini saat startup ketika tidak dapat memvalidasi kredensial AWS yang ada, dan menampilkan output perintah di panel `Authentication` hingga login selesai.58Claude Code juga menjalankan perintah ini saat startup ketika tidak dapat memvalidasi kredensial AWS Anda yang ada, dan menampilkan output perintah tersebut di panel `Authentication` hingga proses masuk selesai.

59 59 

60Dengan `awsAuthRefresh` dikonfigurasi, jalankan `/login`, pilih **platform pihak ketiga**, kemudian pilih **Claude Platform on AWS · refresh credentials** di bawah **Using 3rd-party platforms**. Claude Code menjalankan perintah yang dikonfigurasi dan membaca ulang kredensial AWS Anda tanpa restart.60Dengan `awsAuthRefresh` yang telah dikonfigurasi, jalankan `/login`, pilih **3rd-party platform**, lalu pilih **Claude Platform on AWS · refresh credentials** di bawah **Using 3rd-party platforms**. Claude Code menjalankan perintah yang dikonfigurasi dan membaca ulang kredensial AWS Anda tanpa perlu restart.

61 61 

62#### Gunakan kunci API workspace62#### Gunakan kunci API workspace

63 63 

64Kunci API workspace adalah rahasia yang tahan lama, berguna ketika Anda tidak ingin mengelola kredensial AWS yang terfederasi. Buat satu di AWS Console di bawah **Claude Platform on AWS → API keys** dan aturnya sebagai `ANTHROPIC_AWS_API_KEY`:64Kunci API workspace adalah rahasia berumur panjang, berguna ketika Anda tidak ingin mengelola kredensial AWS terfederasi. Buat kunci di AWS Console pada **Claude Platform on AWS → API keys** dan atur sebagai `ANTHROPIC_AWS_API_KEY`:

65 65 

66```bash theme={null}66```bash theme={null}

67export ANTHROPIC_AWS_API_KEY=sk-ant-xxxxx67export ANTHROPIC_AWS_API_KEY=sk-ant-xxxxx

68```68```

69 69 

70Kunci dikirim sebagai `x-api-key` dan mengambil prioritas atas SigV4, sehingga kredensial AWS apa pun di lingkungan Anda diabaikan. Kunci API dari organisasi Claude Console terpisah tidak akan berfungsi di sini.70Kunci dikirim sebagai `x-api-key` dan diutamakan daripada SigV4, sehingga kredensial AWS apa pun di environment Anda diabaikan. Kunci API dari organisasi Claude Console yang terpisah tidak akan berfungsi di sini.

71 71 

72Perlakukan kunci API workspace seperti kredensial produksi lainnya. Blok `env` [file pengaturan pengguna](https://code.claude.com/docs/id/settings.md) adalah cara yang nyaman untuk membatasi kunci ke mesin Anda tanpa mengekspornya secara global.72Perlakukan kunci API workspace seperti kredensial produksi lainnya. Blok `env` pada [file pengaturan pengguna](https://code.claude.com/docs/id/settings.md) adalah cara praktis untuk membatasi kunci tersebut ke mesin Anda tanpa mengekspornya secara global.

73 73 

74> [!NOTE]74> [!NOTE]

75>75>

76> Perintah `/login` dan `/logout` tidak menandatangani Anda ke langganan Claude.ai untuk Claude Platform on AWS. Autentikasi berjalan melalui kredensial AWS Anda atau kunci API workspace.76> Perintah `/login` dan `/logout` tidak memasukkan Anda ke langganan claude.ai untuk Claude Platform on AWS. Autentikasi berjalan melalui kredensial AWS atau kunci API workspace Anda.

77 77 

78### Konfigurasi Claude Code78### Konfigurasikan Claude Code

79 79 

80Atur variabel lingkungan yang mengarahkan Claude Code melalui Claude Platform on AWS alih-alih API Anthropic default.80Atur environment variable yang mengarahkan Claude Code melalui Claude Platform on AWS alih-alih Anthropic API default.

81 81 

82```bash theme={null}82```bash theme={null}

83export CLAUDE_CODE_USE_ANTHROPIC_AWS=183export CLAUDE_CODE_USE_ANTHROPIC_AWS=1


85export AWS_REGION=us-east-185export AWS_REGION=us-east-1

86```86```

87 87 

88`ANTHROPIC_AWS_WORKSPACE_ID` diperlukan. Claude Code mengirimnya pada setiap permintaan sebagai header `anthropic-workspace-id`. Ganti nilai contoh `wrkspc_01ABCDEFGHIJKLMN` dengan ID workspace Anda sendiri dari penyiapan Claude Platform on AWS Anda.88`ANTHROPIC_AWS_WORKSPACE_ID` wajib diisi. Claude Code mengirimkannya pada setiap permintaan sebagai header `anthropic-workspace-id`. Ganti nilai contoh `wrkspc_01ABCDEFGHIJKLMN` dengan ID workspace Anda sendiri dari penyiapan Claude Platform on AWS Anda.

89 89 

90Claude Code menghitung URL dasar sebagai `https://aws-external-anthropic.{region}.api.aws` dari wilayah AWS, yang diselesaikannya dengan [prioritas yang sama seperti Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md#3-configure-claude-code). Untuk mengganti URL secara langsung, atur `ANTHROPIC_AWS_BASE_URL`.90Claude Code menghitung base URL sebagai `https://aws-external-anthropic.{region}.api.aws` dari region AWS, yang ditentukan dengan [urutan prioritas yang sama seperti Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md#3-configure-claude-code). Untuk menimpa URL secara langsung, atur `ANTHROPIC_AWS_BASE_URL`.

91 91 

92Claude Platform on AWS bersifat opt-in bahkan ketika kredensial AWS ada di lingkungan Anda. Amazon Bedrock dan Microsoft Foundry mengambil prioritas dalam perutean penyedia, jadi batalkan `CLAUDE_CODE_USE_BEDROCK` dan `CLAUDE_CODE_USE_FOUNDRY` jika diatur.92Claude Platform on AWS bersifat opt-in bahkan ketika kredensial AWS ada di environment Anda. Amazon Bedrock dan Microsoft Foundry diutamakan dalam perutean penyedia, jadi hapus `CLAUDE_CODE_USE_BEDROCK` dan `CLAUDE_CODE_USE_FOUNDRY` jika keduanya diatur.

93 93 

94### Sematkan versi model94### Sematkan versi model

95 95 

96Claude Platform on AWS menggunakan ID model yang sama seperti Claude API langsung.96Claude Platform on AWS menggunakan ID model yang sama dengan Claude API langsung.

97 97 

98Alias default `fable`, `opus`, `sonnet`, dan `haiku` diselesaikan ke default bawaan Claude Code untuk Claude Platform on AWS, yang dapat tertinggal dari rilis terbaru. Tanpa `ANTHROPIC_DEFAULT_OPUS_MODEL`, alias `opus` diselesaikan ke Opus 5.5. Sebelum v2.1.280, alias tersebut diselesaikan ke Opus 5 dari v2.1.219.98Alias default `fable`, `opus`, `sonnet`, dan `haiku` mengarah ke default bawaan Claude Code untuk Claude Platform on AWS, yang mungkin tertinggal dari rilis terbaru. Tanpa `ANTHROPIC_DEFAULT_OPUS_MODEL`, alias `opus` mengarah ke Opus 5.5. Sebelum v2.1.280, alias ini mengarah ke Opus 5 sejak v2.1.219.

99 99 

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

101 101 

102```bash theme={null}102```bash theme={null}

103export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5103export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5


106export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5106export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

107```107```

108 108 

109Untuk daftar lengkap ID model dan alias, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Untuk variabel terkait model lainnya, lihat [Model configuration](https://code.claude.com/docs/id/model-config.md).109Untuk daftar lengkap ID model dan alias, lihat [Ikhtisar model](https://platform.claude.com/docs/en/about-claude/models/overview). Untuk variabel terkait model lainnya, lihat [Konfigurasi model](https://code.claude.com/docs/id/model-config.md).

110 110 

111[Prompt caching](https://code.claude.com/docs/id/prompt-caching.md) diaktifkan secara otomatis. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur `ENABLE_PROMPT_CACHING_1H=1`. API menagih penulisan cache 1 jam dengan tarif lebih tinggi. Lihat [prompt caching pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) untuk tarifnya.111[Prompt caching](https://code.claude.com/docs/id/prompt-caching.md) diaktifkan secara otomatis. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur `ENABLE_PROMPT_CACHING_1H=1`. API menagih penulisan cache 1 jam dengan tarif yang lebih tinggi. Lihat [harga prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) untuk tarifnya.

112 112 

113Untuk menetapkan TTL berbeda untuk percakapan utama Anda dan untuk permintaan yang Claude Code buat di luar percakapan tersebut, [pilih TTL sendiri](https://code.claude.com/docs/id/prompt-caching.md#choose-the-ttl-yourself).113Untuk mengatur TTL yang berbeda untuk percakapan utama Anda dan untuk permintaan yang dibuat Claude Code di luarnya, [pilih TTL sendiri](https://code.claude.com/docs/id/prompt-caching.md#choose-the-ttl-yourself).

114 114 

115### Luncurkan dan verifikasi115### Jalankan dan verifikasi

116 116 

117Mulai Claude Code dan konfirmasi perutean:117Mulai Claude Code dan konfirmasikan peruteannya:

118 118 

119```bash theme={null}119```bash theme={null}

120claude120claude

121```121```

122 122 

123Spanduk startup menampilkan `Claude Platform on AWS` ketika penyedia aktif. Jalankan `/status` untuk memeriksa detail: baris `API provider` membaca `Claude Platform on AWS`, dan output mencakup `Workspace ID` Anda, `AWS region`, dan `Claude Platform on AWS base URL` jika Anda menetapkan penggantian.123Banner startup menampilkan `Claude Platform on AWS` ketika penyedia ini aktif. Jalankan `/status` untuk memeriksa detailnya: baris `API provider` menampilkan `Claude Platform on AWS`, dan output-nya mencakup `Workspace ID` Anda, `AWS region`, serta `Claude Platform on AWS base URL` jika Anda mengatur override.

124 124 

125## Gunakan Agent SDK125## Gunakan Agent SDK

126 126 

Details

99 99 

100Persyaratan ini menentukan apakah Anda dapat menambahkan rahasia dan apakah proxy agent dapat menggunakannya setelah ditambahkan:100Persyaratan ini menentukan apakah Anda dapat menambahkan rahasia dan apakah proxy agent dapat menggunakannya setelah ditambahkan:

101 101 

102* **Peran**: pada paket Pro, Max, dan Team, Anda dapat menambahkan dan menghapus rahasia di lingkungan Anda sendiri apa pun peran Anda. Pada Team dan Enterprise, Owner memegang peran admin organisasi di organisasi claude.ai Anda dan Admin tidak, yang mengubah apa yang Anda lihat dalam kasus-kasus berikut:102* **Peran**: pada setiap paket, Anda dapat menambahkan dan menghapus rahasia di lingkungan Anda sendiri apa pun peran Anda. Pada Team dan Enterprise, Owner memegang peran admin organisasi di organisasi claude.ai Anda dan Admin tidak, yang mengubah apa yang Anda lihat dalam kasus-kasus berikut:

103 * **Lingkungan Anda sendiri pada Enterprise**: dengan peran admin organisasi, Anda menambahkan dan menghapus rahasia. Tanpanya, baris **Network secrets** membuka daftar rahasia dengan catatan "Only an organization admin can add or delete network secrets" dan tanpa tombol **Add secret** atau tombol hapus. Minta Owner untuk menambahkan rahasia ke [lingkungan bersama](#organization-shared-environments), lalu jalankan sesi Anda di sana103 * **Lingkungan Anda sendiri**: tanpa peran admin organisasi, **Add secret** membuka [formulir yang lebih singkat](#add-a-secret-without-the-role)

104 * **Lingkungan bersama**: Owner [menambahkan dan menghapus rahasianya](#add-a-credential) dari pengaturan admin. Tanpa peran admin organisasi, minta Owner untuk menambahkan rahasia, karena dialog lingkungan tidak memiliki bagian **Network secrets**104 * **Lingkungan bersama**: Owner [menambahkan dan menghapus rahasianya](#add-a-credential) dari pengaturan admin. Tanpa peran admin organisasi, minta Owner untuk menambahkan rahasia, karena dialog lingkungan tidak memiliki bagian **Network secrets**

105 * **Lingkungan Anda sendiri pada Team**: tanpa peran admin organisasi, **Add secret** membuka [formulir yang lebih singkat](#add-a-secret-without-the-role) yang menerima satu host

106* **Jenis lingkungan**: lingkungan cloud yang di-host Anthropic yang sudah ada. [Lingkungan yang di-host sendiri](https://code.claude.com/docs/id/self-hosted-environments) tidak memiliki rahasia jaringan105* **Jenis lingkungan**: lingkungan cloud yang di-host Anthropic yang sudah ada. [Lingkungan yang di-host sendiri](https://code.claude.com/docs/id/self-hosted-environments) tidak memiliki rahasia jaringan

107* **Jangkauan API**: API menerima koneksi dari internet, karena permintaan meninggalkan dari jaringan Anthropic106* **Jangkauan API**: API menerima koneksi dari internet, karena permintaan meninggalkan dari jaringan Anthropic

108* **Kunci enkripsi**: jika organisasi Anda menggunakan kunci enkripsi yang dikelola pelanggan, Anda tidak dapat menyimpan rahasia jaringan107* **Kunci enkripsi**: jika organisasi Anda menggunakan kunci enkripsi yang dikelola pelanggan, Anda tidak dapat menyimpan rahasia jaringan


111 110 

112Anda menambahkan rahasia satu per satu. Untuk mengubah host atau nilai rahasia, hapus dan tambahkan lagi.111Anda menambahkan rahasia satu per satu. Untuk mengubah host atau nilai rahasia, hapus dan tambahkan lagi.

113 112 

114Untuk menambahkan rahasia ke [lingkungan bersama](#organization-shared-environments), buka lingkungan tersebut untuk diedit dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings), lalu lanjutkan dari langkah 2 di bagian **Network secrets**-nya. Jika Anda menggunakan paket Team dan tidak memegang [peran admin organisasi](#requirements), ikuti langkah 1 di lingkungan Anda sendiri, lalu [isi formulir yang lebih singkat](#add-a-secret-without-the-role).113Untuk menambahkan rahasia ke [lingkungan bersama](#organization-shared-environments), buka lingkungan tersebut untuk diedit dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings), lalu lanjutkan dari langkah 2 di bagian **Network secrets**-nya. Jika Anda menggunakan paket Team atau Enterprise dan tidak memegang [peran admin organisasi](#requirements), ikuti langkah 1 di lingkungan Anda sendiri, lalu [isi formulir yang lebih singkat](#add-a-secret-without-the-role).

115 114 

116**1. Buka rahasia jaringan lingkungan**115**1. Buka rahasia jaringan lingkungan**

117 116 


133 132 

134Untuk mengonfirmasi rahasia berfungsi, mulai sesi di lingkungan dan minta Claude memanggil API, misalnya dengan `curl`. API menjawab seolah-olah kunci ada dalam permintaan, dan kunci tidak muncul di environment variable sesi atau di file apa pun. Jika daftar menandai rahasia **Not sent** sebagai gantinya, catatan di bawahnya menjelaskan alasannya dan apa yang harus dilakukan. Dua rahasia yang hostnya tumpang tindih tanpa cocok persis tidak mendapat penanda, dan proxy agent mengirim hanya satu dari keduanya.133Untuk mengonfirmasi rahasia berfungsi, mulai sesi di lingkungan dan minta Claude memanggil API, misalnya dengan `curl`. API menjawab seolah-olah kunci ada dalam permintaan, dan kunci tidak muncul di environment variable sesi atau di file apa pun. Jika daftar menandai rahasia **Not sent** sebagai gantinya, catatan di bawahnya menjelaskan alasannya dan apa yang harus dilakukan. Dua rahasia yang hostnya tumpang tindih tanpa cocok persis tidak mendapat penanda, dan proxy agent mengirim hanya satu dari keduanya.

135 134 

136#### Tambahkan rahasia pada paket Team tanpa peran admin organisasi135#### Tambahkan rahasia tanpa peran admin organisasi

137 136 

138Jika Anda menggunakan paket Team dan tidak memegang [peran admin organisasi](#requirements), formulir **Add secret** menerima satu rahasia untuk satu host. Pilih [baris **Network secrets**](#add-a-credential) lingkungan Anda, lalu **Add secret**. Isi bidang-bidang ini dan pilih tombol **Add secret** pada formulir:137Jika Anda menggunakan paket Team atau Enterprise dan tidak memegang [peran admin organisasi](#requirements), formulir **Add secret** menerima satu rahasia untuk satu host. Pilih [baris **Network secrets**](#add-a-credential) lingkungan Anda, lalu **Add secret**. Isi bidang-bidang ini dan pilih tombol **Add secret** pada formulir:

139 138 

140* **Host**: satu host yang mendapatkan rahasia, seperti `api.example.com`. Formulir tidak menerima wildcard `*.`139* **Host**: satu host yang mendapatkan rahasia, seperti `api.example.com`. Formulir tidak menerima wildcard `*.`

141* **Name**: label opsional untuk rahasia140* **Name**: label opsional untuk rahasia

Details

36Proses berikut tidak dimulai melalui launcher:36Proses berikut tidak dimulai melalui launcher:

37 37 

38* Sesi yang Anda mulai sendiri di terminal, yang berjalan sesuai cara Anda menjalankannya. Untuk mencakup sesi ini, letakkan skrip bernama `claude` di direktori lebih awal di `PATH` yang menjalankan launcher Anda dengan biner asli; jangan ganti symlink yang dikelola. Layanan latar belakang dan sesinya dimulai tanpa pencarian `PATH`, jadi dua launcher tidak bertumpuk di sana.38* Sesi yang Anda mulai sendiri di terminal, yang berjalan sesuai cara Anda menjalankannya. Untuk mencakup sesi ini, letakkan skrip bernama `claude` di direktori lebih awal di `PATH` yang menjalankan launcher Anda dengan biner asli; jangan ganti symlink yang dikelola. Layanan latar belakang dan sesinya dimulai tanpa pencarian `PATH`, jadi dua launcher tidak bertumpuk di sana.

39* Proses pertama dari deep link `claude-cli://`, yang dimulai langsung oleh penanganan protokol sistem operasi. Semua yang dimulai sesi itu di latar belakang setelahnya berjalan melalui launcher. Untuk menutup jalur ini sepenuhnya, [cegah pendaftaran penanganan](https://code.claude.com/docs/id/deep-links.md#registration-and-supported-platforms) dengan pengaturan `disableDeepLinkRegistration`.39* Sesi yang dibuka dari deep link `claude-cli://`, yang dimulai di terminal baru tanpa launcher Anda. Untuk mencegah deep link membuka sesi bagi pengguna baru, atur [`disableDeepLinkRegistration`](https://code.claude.com/docs/id/settings-reference#disabledeeplinkregistration) ke `"disable"` sebelum pengguna tersebut menjalankan Claude Code untuk pertama kalinya. Bagi pengguna yang sudah memiliki [penangan terdaftar](https://code.claude.com/docs/id/deep-links.md#registration-and-supported-platforms), deep link tetap membuka sesi, karena pengaturan tersebut tidak menghapus penangan.

40* Peluncuran kembali yang dilakukan `--worktree` dikombinasikan dengan `--tmux`: multiplexer terminal memulai pane itu, bukan biner Claude Code.40* Peluncuran kembali yang dilakukan `--worktree` dikombinasikan dengan `--tmux`: multiplexer terminal memulai pane itu, bukan biner Claude Code.

41* Host native-messaging yang didaftarkan oleh [Claude in Chrome](https://code.claude.com/docs/id/chrome.md): browser memulainya, bukan biner Claude Code.41* Host native-messaging yang didaftarkan oleh [Claude in Chrome](https://code.claude.com/docs/id/chrome.md): browser memulainya, bukan biner Claude Code.

42 42 

data-usage.md +23 −23

Details

11### Kebijakan pelatihan data11### Kebijakan pelatihan data

12 12 

13**Pengguna konsumen (paket Free, Pro, dan Max)**:13**Pengguna konsumen (paket Free, Pro, dan Max)**:

14Kami memberi Anda pilihan untuk mengizinkan data Anda digunakan untuk meningkatkan model Claude di masa depan. Kami akan melatih model baru menggunakan data dari akun Free, Pro, dan Max ketika pengaturan ini aktif (termasuk ketika Anda menggunakan Claude Code dari akun-akun ini).14Kami memberi Anda pilihan untuk mengizinkan data Anda digunakan guna meningkatkan model Claude di masa mendatang. Kami akan melatih model baru menggunakan data dari akun Free, Pro, dan Max saat pengaturan ini aktif (termasuk saat Anda menggunakan Claude Code dari akun-akun tersebut).

15 15 

16**Pengguna komersial**: (paket Team dan Enterprise, API, platform pihak ketiga, dan Claude Gov) mempertahankan kebijakan yang ada: Anthropic tidak melatih model generatif menggunakan kode atau prompt yang dikirim ke Claude Code berdasarkan syarat komersial, kecuali pelanggan telah memilih untuk memberikan data mereka kepada kami untuk peningkatan model (misalnya, [Program Mitra Pengembang](https://support.claude.com/id/articles/11174108-about-the-development-partner-program)).16**Pengguna komersial**: (paket Team dan Enterprise, API, platform pihak ketiga, dan Claude Gov) mempertahankan kebijakan yang ada: Anthropic tidak melatih model generatif menggunakan kode atau prompt yang dikirim ke Claude Code berdasarkan ketentuan komersial, kecuali pelanggan telah memilih untuk memberikan datanya kepada kami untuk peningkatan model (misalnya, [Developer Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program)).

17 17 

18### Program Mitra Pengembang18### Development Partner Program

19 19 

20Jika Anda secara eksplisit memilih untuk memberikan materi kepada kami untuk dilatih, seperti melalui [Program Mitra Pengembang](https://support.claude.com/id/articles/11174108-about-the-development-partner-program), kami dapat menggunakan materi tersebut untuk melatih model kami. Admin organisasi dapat secara tegas memilih untuk bergabung dengan Program Mitra Pengembang untuk organisasi mereka. Perhatikan bahwa program ini hanya tersedia untuk API pihak pertama Anthropic, dan bukan untuk pengguna Amazon Bedrock atau Google Cloud's Agent Platform.20Jika Anda secara eksplisit memilih untuk ikut serta dalam metode pemberian materi pelatihan kepada kami, seperti melalui [Development Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program), kami dapat menggunakan materi yang diberikan tersebut untuk melatih model kami. Admin organisasi dapat secara tegas memilih untuk ikut serta dalam Development Partner Program untuk organisasinya. Perhatikan bahwa program ini hanya tersedia untuk API first-party Anthropic, dan tidak untuk pengguna Amazon Bedrock atau Google Cloud's Agent Platform.

21 21 

22### Umpan balik menggunakan perintah `/feedback`22### Umpan balik menggunakan perintah `/feedback`

23 23 

24Jika Anda memilih untuk mengirimkan umpan balik kepada kami tentang Claude Code menggunakan perintah `/feedback`, kami dapat menggunakan umpan balik Anda untuk meningkatkan produk dan layanan kami. Transkrip yang dibagikan melalui `/feedback`, atau melalui `/bug` dan `/share`, yang melaporkan melalui jalur yang sama, disimpan selama 5 tahun.24Jika Anda memilih untuk mengirimkan umpan balik tentang Claude Code kepada kami menggunakan perintah `/feedback`, kami dapat menggunakan umpan balik Anda untuk meningkatkan produk dan layanan kami. Transkrip yang dibagikan melalui `/feedback`, atau melalui `/bug` dan `/share`, yang melapor melalui jalur yang sama, disimpan selama 5 tahun.

25 25 

26Dengan [umpan balik yang disusun Claude](https://code.claude.com/docs/id/tools-reference.md#sendfeedback-tool-behavior), Claude juga dapat menyusun laporan umpan balik dan mengantreannya di mesin Anda untuk Anda tinjau. Claude Code tidak mengirim apa pun sampai Anda memilih untuk mengirim draf, dan draf yang dikirim melalui jalur pengiriman yang sama dan retensi sebagai laporan `/feedback` lainnya.26Dengan [umpan balik yang dirancang oleh Claude](https://code.claude.com/docs/id/tools-reference.md#sendfeedback-tool-behavior), Claude juga dapat menyusun draf laporan umpan balik dan mengantrekannya di mesin Anda untuk Anda tinjau. Claude Code tidak mengirimkan apa pun sampai Anda memilih untuk mengirim draf tersebut, dan draf yang dikirim melalui jalur pengiriman dan masa penyimpanan yang sama dengan laporan `/feedback` lainnya.

27 27 

28### Survei kualitas sesi28### Survei kualitas sesi

29 29 

30Ketika Anda melihat prompt "Bagaimana Claude melakukan ini di sesi ini?" di Claude Code, merespons survei ini, termasuk memilih "Abaikan", hanya peringkat Anda yang dicatat. Kami tidak mengumpulkan atau menyimpan transkrip percakapan, input, output, atau data sesi lainnya sebagai bagian dari prompt penilaian itu sendiri. Tidak seperti umpan balik jempol ke atas/ke bawah atau laporan `/feedback`, survei kualitas sesi ini adalah metrik kepuasan produk sederhana.30Saat Anda melihat prompt "How is Claude doing this session?" di Claude Code, merespons survei ini, termasuk memilih "Dismiss", hanya mencatat penilaian Anda. Kami tidak mengumpulkan atau menyimpan transkrip percakapan, input, output, atau data sesi lainnya sebagai bagian dari prompt penilaian itu sendiri. Berbeda dengan umpan balik jempol ke atas/ke bawah atau laporan `/feedback`, survei kualitas sesi ini adalah metrik kepuasan produk yang sederhana.

31 31 

32Setelah prompt penilaian, Anda mungkin melihat pertanyaan tindak lanjut terpisah yang menanyakan "Dapatkah Anthropic melihat transkrip sesi Anda untuk membantu kami meningkatkan Claude Code?". Ini adalah langkah kedua opsional yang berbeda dari penilaian:32Setelah prompt penilaian, Anda mungkin melihat pertanyaan lanjutan terpisah yang menanyakan "Can Anthropic look at your session transcript to help us improve Claude Code?". Ini adalah langkah kedua opsional yang berbeda dari penilaian:

33 33 

34* **Ya**: mengunggah transkrip percakapan Anda, transkrip subagen apa pun, dan file log sesi mentah dari disk ke Anthropic. Pola kunci API dan token yang dikenal diredaksi sebelum pengunggahan. Kode sumber, konten file, dan konten percakapan lainnya diunggah apa adanya. Transkrip yang dibagikan disimpan hingga 6 bulan. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [gateway aplikasi Claude](https://code.claude.com/docs/id/claude-apps-gateway) yang masuk, Ya menulis payload yang sama ke arsip lokal di bawah `~/.claude/feedback-bundles/` alih-alih mengunggah; tidak ada yang meninggalkan mesin Anda sampai Anda meneruskan file tersebut.34* **Yes**: mengunggah transkrip percakapan Anda, transkrip subagent apa pun, dan file log sesi mentah dari disk ke Anthropic. Pola kunci API dan token yang dikenal akan disamarkan sebelum diunggah. Kode sumber, isi file, dan konten percakapan lainnya diunggah apa adanya. Transkrip yang dibagikan disimpan hingga 6 bulan. Di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway) yang sudah masuk, Yes menulis payload yang sama ke arsip lokal di bawah `~/.claude/feedback-bundles/` alih-alih mengunggahnya; tidak ada yang keluar dari mesin Anda sampai Anda meneruskan file tersebut.

35* **Tidak**: menolak tanpa mengirim apa pun35* **No**: menolak tanpa mengirimkan apa pun

36* **Jangan tanya lagi**: menolak dan menghentikan pertanyaan tindak lanjut ini agar tidak muncul di sesi mendatang36* **Don't ask again**: menolak dan menghentikan pertanyaan lanjutan ini agar tidak muncul di sesi mendatang

37 37 

38Tidak ada yang diunggah kecuali Anda secara eksplisit memilih **Ya**. Organisasi dengan [retensi data nol](https://code.claude.com/docs/id/zero-data-retention.md), atau di mana umpan balik produk dinonaktifkan oleh kebijakan organisasi, atau di mana `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur, tidak pernah melihat pertanyaan tindak lanjut ini. Respons Anda terhadap survei ini, termasuk transkrip sesi yang dikirimkan setelah prompt penilaian, tidak mempengaruhi preferensi pelatihan data Anda dan tidak dapat digunakan untuk melatih model AI kami.38Tidak ada yang diunggah kecuali Anda secara eksplisit memilih **Yes**. Organisasi dengan [zero data retention](https://code.claude.com/docs/id/zero-data-retention.md), atau yang umpan balik produknya dinonaktifkan oleh kebijakan organisasi, atau yang mengatur `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, tidak akan pernah melihat pertanyaan lanjutan ini. Respons Anda terhadap survei ini, termasuk transkrip sesi yang dikirimkan setelah prompt penilaian, tidak memengaruhi preferensi pelatihan data Anda dan tidak dapat digunakan untuk melatih model AI kami.

39 39 

40Untuk menonaktifkan survei ini, atur `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1`. Survei juga dinonaktifkan ketika `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur. Organisasi yang memblokir lalu lintas nonessensial tetapi menangkap respons survei melalui [pengumpul OpenTelemetry](https://code.claude.com/docs/id/monitoring-usage.md) mereka sendiri dapat memilih survei kembali dengan mengatur `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1`. Survei kemudian mencatat peringkat ke pengumpul yang dikonfigurasi saja. Tindak lanjut berbagi transkrip dan semua lalu lintas umpan balik lainnya yang terikat ke Anthropic tetap dinonaktifkan. Untuk mengontrol frekuensi alih-alih menonaktifkan, atur [`feedbackSurveyRate`](https://code.claude.com/docs/id/settings-reference#feedbacksurveyrate) dalam file pengaturan Anda ke probabilitas antara `0` dan `1`.40Untuk menonaktifkan survei ini, atur `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1`. Survei juga dinonaktifkan saat `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` diatur. Organisasi yang memblokir lalu lintas nonesensial tetapi menangkap respons survei melalui [OpenTelemetry collector](https://code.claude.com/docs/id/monitoring-usage.md) mereka sendiri dapat mengaktifkan kembali survei dengan mengatur `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1`. Survei kemudian hanya mencatat penilaian ke collector yang dikonfigurasi. Pertanyaan lanjutan berbagi transkrip dan semua lalu lintas umpan balik lain yang ditujukan ke Anthropic tetap dinonaktifkan. Untuk mengontrol frekuensi alih-alih menonaktifkan, atur [`feedbackSurveyRate`](https://code.claude.com/docs/id/settings-reference#feedbacksurveyrate) di file pengaturan Anda ke probabilitas antara `0` dan `1`.

41 41 

42### Retensi data42### Penyimpanan data

43 43 

44Anthropic menyimpan data Claude Code berdasarkan jenis akun dan preferensi Anda.44Anthropic menyimpan data Claude Code berdasarkan jenis akun dan preferensi Anda.

45 45 

46**Pengguna konsumen (paket Free, Pro, dan Max)**:46**Pengguna konsumen (paket Free, Pro, dan Max)**:

47 47 

48* Pengguna yang mengizinkan penggunaan data untuk peningkatan model: periode retensi 5 tahun untuk mendukung pengembangan model dan peningkatan keamanan48* Pengguna yang mengizinkan penggunaan data untuk peningkatan model: periode penyimpanan 5 tahun untuk mendukung pengembangan model dan peningkatan keamanan

49* Pengguna yang tidak mengizinkan penggunaan data untuk peningkatan model: periode retensi 30 hari49* Pengguna yang tidak mengizinkan penggunaan data untuk peningkatan model: periode penyimpanan 30 hari

50* Pengaturan privasi dapat diubah kapan saja di [claude.ai/settings/data-privacy-controls](https://claude.ai/settings/data-privacy-controls).50* Pengaturan privasi dapat diubah kapan saja di [claude.ai/settings/data-privacy-controls](https://claude.ai/settings/data-privacy-controls).

51 51 

52**Pengguna komersial (Team, Enterprise, dan API)**:52**Pengguna komersial (Team, Enterprise, dan API)**:

53 53 

54* Standar: periode retensi 30 hari54* Standar: periode penyimpanan 30 hari

55* [Retensi data nol](https://code.claude.com/docs/id/zero-data-retention.md): tersedia untuk Claude Code di Claude untuk Enterprise. ZDR tidak termasuk dalam paket Enterprise standar; diaktifkan berdasarkan per-organisasi oleh tim akun Anda setelah mengkonfirmasi kelayakan55* [Zero data retention](https://code.claude.com/docs/id/zero-data-retention.md): tersedia untuk akun yang memenuhi syarat untuk Claude Code di Claude for Enterprise. ZDR tidak termasuk dalam paket Enterprise standar; fitur ini diaktifkan per organisasi oleh tim akun Anda setelah mengonfirmasi kelayakan

56* Penyimpanan lokal: klien Claude Code menyimpan transkrip sesi secara lokal dalam plaintext di bawah `~/.claude/projects/` selama 30 hari secara default untuk memungkinkan pemulihan sesi. Sesuaikan periode dengan `cleanupPeriodDays`. Lihat [data aplikasi](https://code.claude.com/docs/id/claude-directory.md#application-data) untuk apa yang disimpan dan cara menghapusnya.56* Caching lokal: klien Claude Code menyimpan transkrip sesi secara lokal dalam plaintext di bawah `~/.claude/projects/` selama 30 hari secara default untuk memungkinkan melanjutkan sesi. Sesuaikan periodenya dengan `cleanupPeriodDays`. Lihat [data aplikasi](https://code.claude.com/docs/id/claude-directory.md#application-data) untuk mengetahui apa yang disimpan dan cara menghapusnya.

57 57 

58 Transkrip sesi yang dimulai atau paling baru dilanjutkan di Claude Desktop atau Cowork [dikecualikan dari batas itu secara default](https://code.claude.com/docs/id/claude-directory.md#cleaned-up-automatically).58 Transkrip sesi yang dimulai atau terakhir dilanjutkan di Claude Desktop atau Cowork [dikecualikan dari batas tersebut secara default](https://code.claude.com/docs/id/claude-directory.md#cleaned-up-automatically).

59 59 

60Anda dapat menghapus sesi Claude Code individual di web kapan saja. Menghapus sesi secara permanen menghapus data peristiwa sesi. Untuk instruksi tentang cara menghapus sesi, lihat [Menghapus sesi](https://code.claude.com/docs/id/claude-code-on-the-web.md#delete-sessions).60Anda dapat menghapus sesi cloud individual kapan saja. Menghapus sesi akan menghapus data peristiwa sesi tersebut secara permanen. Untuk petunjuk tentang cara menghapus sesi, lihat [Menghapus sesi](https://code.claude.com/docs/id/claude-code-on-the-web.md#delete-sessions).

61 61 

62Pelajari lebih lanjut tentang praktik retensi data di [Pusat Privasi](https://privacy.anthropic.com/) kami.62Pelajari lebih lanjut tentang praktik penyimpanan data di [Privacy Center](https://privacy.anthropic.com/) kami.

63 63 

64Untuk detail lengkap, silakan tinjau [Syarat Layanan Komersial](https://www.anthropic.com/legal/commercial-terms) kami (untuk pengguna Team, Enterprise, dan API) atau [Syarat Konsumen](https://www.anthropic.com/legal/consumer-terms) (untuk pengguna Free, Pro, dan Max) dan [Kebijakan Privasi](https://www.anthropic.com/legal/privacy).64Untuk detail lengkap, silakan tinjau [Ketentuan Layanan Komersial](https://www.anthropic.com/legal/commercial-terms) kami (untuk pengguna Team, Enterprise, dan API) atau [Ketentuan Konsumen](https://www.anthropic.com/legal/consumer-terms) (untuk pengguna Free, Pro, dan Max) serta [Kebijakan Privasi](https://www.anthropic.com/legal/privacy).

65 65 

66## Akses data66## Akses data

67 67 

desktop.md +6 −6

Details

43Sebelum Anda mengirim pesan pertama, pilih lingkungan, folder proyek, mode izin, dan model di baris di bawah kotak prompt:43Sebelum Anda mengirim pesan pertama, pilih lingkungan, folder proyek, mode izin, dan model di baris di bawah kotak prompt:

44 44 

45* **Environment**: gunakan pemilih lingkungan, kontrol pertama di baris tersebut, untuk memilih di mana Claude berjalan. Lihat [konfigurasi lingkungan](#environment-configuration).45* **Environment**: gunakan pemilih lingkungan, kontrol pertama di baris tersebut, untuk memilih di mana Claude berjalan. Lihat [konfigurasi lingkungan](#environment-configuration).

46 * Jika sesi baru tidak memiliki pemilih lingkungan di bawah kotak prompt, ikuti [langkah-langkah tata letak sebelumnya](#check-which-layout-you-have).46 * Jika sesi baru tidak menampilkan lingkungan di bawah kotak prompt, ikuti [langkah-langkah tata letak sebelumnya](#check-which-layout-you-have).

47* **Project folder**: klik kontrol folder proyek, di sebelah pemilih lingkungan, untuk memilih folder tempat Claude bekerja.47* **Project folder**: klik kontrol folder proyek, di sebelah pemilih lingkungan, untuk memilih folder tempat Claude bekerja.

48 * **Sesi cloud**: pilih [repositori](#run-long-running-tasks-in-the-cloud) alih-alih folder48 * **Sesi cloud**: pilih [repositori](#run-long-running-tasks-in-the-cloud) alih-alih folder

49 * **[Lingkungan lokal atau SSH tersimpan](#create-a-saved-environment)**: lingkungan tersebut sudah menyimpan foldernya, sehingga baris tidak menampilkan kontrol folder proyek. Untuk mengubah folder, [edit lingkungan tersebut](#use-edit-or-remove-a-saved-environment).49 * **[Lingkungan lokal atau SSH tersimpan](#create-a-saved-environment)**: lingkungan tersebut sudah menyimpan foldernya, sehingga baris tidak menampilkan kontrol folder proyek. Untuk mengubah folder, [edit lingkungan tersebut](#use-edit-or-remove-a-saved-environment).


861 861 

862> [!NOTE]862> [!NOTE]

863>863>

864> Jika pemilih lingkungan Anda berada di atas kotak prompt, Anda menggunakan [tata letak sebelumnya](#check-which-layout-you-have), yang tidak memiliki lingkungan lokal tersimpan. Gunakan [editor lingkungan lokal](#use-the-local-environment-editor) sebagai gantinya.864> Jika sesi baru tidak menampilkan lingkungan di bawah kotak prompt, Anda memiliki [tata letak sebelumnya](#check-which-layout-you-have), yang tidak memiliki lingkungan lokal tersimpan. Gunakan [editor lingkungan lokal](#use-the-local-environment-editor) sebagai gantinya.

865 865 

866**1. Buka formulir environment lokal**866**1. Buka formulir environment lokal**

867 867 


963>963>

964> Jika Anda menggunakan Desktop dengan [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md), sesi SSH memerlukan penyiapan tersendiri. Lihat [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).964> Jika Anda menggunakan Desktop dengan [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md), sesi SSH memerlukan penyiapan tersendiri. Lihat [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

965 965 

966Tambahkan koneksi SSH di [dialog **New environment**](#create-a-saved-environment), lalu mulai sesi pada koneksi tersebut. Jika sesi baru tidak memiliki pemilih lingkungan di bawah kotak prompt, Anda menggunakan tata letak sebelumnya. Lihat [Memeriksa tata letak yang Anda miliki](#check-which-layout-you-have).966Tambahkan koneksi SSH di [dialog **New environment**](#create-a-saved-environment), lalu mulai sesi pada koneksi tersebut. Jika sesi baru tidak menampilkan lingkungan di bawah kotak prompt, Anda memiliki tata letak sebelumnya. Lihat [Memeriksa tata letak yang Anda miliki](#check-which-layout-you-have).

967 967 

968**1. Buka dialog New environment**968**1. Buka dialog New environment**

969 969 


2122 2122 

2123### Check which layout you have2123### Check which layout you have

2124 2124 

2125Jika sesi baru tidak memiliki [pemilih lingkungan](#start-a-session) di bawah kotak prompt, Anda menggunakan tata letak lama:2125Jika sesi baru menampilkan [lingkungan](#start-a-session) di atas kotak prompt alih-alih di bawahnya, Anda menggunakan tata letak lama:

2126 2126 

2127* **[Desktop yang lebih lama dari v2.37337.0](#check-your-version)**: perbarui untuk mendapatkan tata letak saat ini. Pilih **Claude > Check for Updates…** di macOS atau **Help > Check for Updates…** di Windows.2127* **[Desktop yang lebih lama dari v2.37337.0](#check-your-version)**: perbarui untuk mendapatkan tata letak saat ini. Pilih **Claude > Check for Updates…** di macOS atau **Help > Check for Updates…** di Windows.

2128* **[Penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) dengan sesi di komputer Anda**: tata letak saat ini memerlukan Claude Desktop v3.1623.0 atau yang lebih baru, jadi [periksa versi Anda](#check-your-version). Untuk memperbarui, pilih **Claude > Check for Updates…** di macOS atau **Help > Check for Updates…** di Windows. Jika organisasi Anda [mematikan pembaruan otomatis](#device-management-policies), **Check for Updates…** disembunyikan, jadi mintalah v3.1623.0 atau yang lebih baru kepada administrator Anda.2128* **[Penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) dengan sesi di komputer Anda**: tata letak saat ini memerlukan Claude Desktop v3.1623.0 atau yang lebih baru, jadi [periksa versi Anda](#check-your-version). Untuk memperbarui, pilih **Claude > Check for Updates…** di macOS atau **Help > Check for Updates…** di Windows. Jika organisasi Anda [mematikan pembaruan otomatis](#device-management-policies), **Check for Updates…** disembunyikan, jadi mintalah v3.1623.0 atau yang lebih baru kepada administrator Anda.

2129* **Penyedia pihak ketiga dengan sesi di infrastruktur organisasi Anda**: ketika organisasi Anda menjalankan sesi di infrastrukturnya sendiri alih-alih di komputer Anda, Desktop tetap menggunakan tata letak lama, dan memperbarui tidak mengubah tata letak. Jika Anda tidak tahu di mana sesi Anda berjalan, tanyakan kepada administrator Anda.2129* **Penyedia pihak ketiga dengan sesi di infrastruktur organisasi Anda**: tata letak saat ini memerlukan Claude Desktop v4.29.0 atau yang lebih baru, jadi [periksa versi Anda](#check-your-version). Jika Anda menggunakan versi yang lebih lama, mintalah v4.29.0 atau yang lebih baru kepada administrator Anda. Jika Anda tidak tahu di mana sesi Anda berjalan, tanyakan kepada administrator Anda.

2130 2130 

2131Dalam tata letak lama, pilih lingkungan dan folder proyek di atas kotak prompt, serta mode izin dan model di baris di bawahnya. Tata letak lama tidak memiliki [panel detail sesi](#see-session-details) dan [lingkungan lokal dan SSH yang disimpan](#create-a-saved-environment).2131Dalam tata letak lama, pilih lingkungan serta folder proyek atau repositori apa pun di atas kotak prompt, serta mode izin dan model di baris di bawahnya. Tata letak lama tidak memiliki [panel detail sesi](#see-session-details) dan [lingkungan lokal dan SSH yang disimpan](#create-a-saved-environment).

2132 2132 

2133### 403 or authentication errors in the Code tab2133### 403 or authentication errors in the Code tab

2134 2134 

Details

57 57 

58Di [baris di bawah kotak prompt](https://code.claude.com/docs/id/desktop.md#start-a-session), klik kontrol pertama, yaitu pemilih lingkungan, lalu pilih entri teratas di grup **Local**. Kemudian klik kontrol folder proyek di samping pemilih lingkungan, pilih **Open folder…**, dan pilih direktori proyek Anda.58Di [baris di bawah kotak prompt](https://code.claude.com/docs/id/desktop.md#start-a-session), klik kontrol pertama, yaitu pemilih lingkungan, lalu pilih entri teratas di grup **Local**. Kemudian klik kontrol folder proyek di samping pemilih lingkungan, pilih **Open folder…**, dan pilih direktori proyek Anda.

59 59 

60Jika tidak ada pemilih lingkungan yang muncul di bawah kotak prompt Anda, Anda menggunakan tata letak sebelumnya. Lihat [Periksa tata letak yang Anda gunakan](https://code.claude.com/docs/id/desktop.md#check-which-layout-you-have).60Jika sesi baru tidak menampilkan lingkungan di bawah kotak prompt Anda, Anda menggunakan tata letak sebelumnya. Lihat [Periksa tata letak yang Anda gunakan](https://code.claude.com/docs/id/desktop.md#check-which-layout-you-have).

61 61 

62> [!TIP]62> [!TIP]

63>63>

devcontainer.md +1 −1

Details

79 79 

80> [!NOTE]80> [!NOTE]

81>81>

82> Jika masuk browser selesai tetapi callback tidak pernah mencapai kontainer, salin kode yang ditampilkan di browser dan tempel di permintaan `Paste code here if prompted` di terminal. Ini dapat terjadi ketika port forwarding editor tidak merutekan callback localhost.82> Untuk masuk dengan Anthropic: jika tidak ada browser yang terbuka, atau browser membuat Anda masuk lalu menampilkan kesalahan koneksi `localhost`, gunakan URL login yang ditampilkan di atas prompt tempel di terminal. Salin URL tersebut ke browser Anda, masuk di sana, lalu tempel kode yang ditampilkan browser ke prompt tersebut. Jika menempel tidak menghasilkan apa pun, lihat [Login OAuth gagal di WSL2, SSH, atau kontainer](https://code.claude.com/docs/id/troubleshoot-install.md#oauth-login-fails-in-wsl2-ssh-or-containers).

83 83 

84## Pertahankan autentikasi dan pengaturan di seluruh rebuild84## Pertahankan autentikasi dan pengaturan di seluruh rebuild

85 85 

env-vars.md +3 −3

Details

233| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Tetapkan ke `1` untuk menonaktifkan pemrosesan lampiran. Penyebutan file dengan sintaks `@` dikirim sebagai teks biasa alih-alih diperluas menjadi konten file. Diabaikan dalam [pengaturan proyek dan lokal](https://code.claude.com/docs/id/settings-reference.md#variables-claude-code-ignores-in-env) |233| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Tetapkan ke `1` untuk menonaktifkan pemrosesan lampiran. Penyebutan file dengan sintaks `@` dikirim sebagai teks biasa alih-alih diperluas menjadi konten file. Diabaikan dalam [pengaturan proyek dan lokal](https://code.claude.com/docs/id/settings-reference.md#variables-claude-code-ignores-in-env) |

234| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Tetapkan ke `1` agar proses Claude Code menjalankan sendiri perintah [`gcpAuthRefresh`](https://code.claude.com/docs/id/settings-reference#gcpauthrefresh) atau [`awsAuthRefresh`](https://code.claude.com/docs/id/settings-reference#awsauthrefresh) alih-alih menunggu selagi proses lain menjalankannya. Memerlukan Claude Code v2.1.286 atau yang lebih baru |234| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Tetapkan ke `1` agar proses Claude Code menjalankan sendiri perintah [`gcpAuthRefresh`](https://code.claude.com/docs/id/settings-reference#gcpauthrefresh) atau [`awsAuthRefresh`](https://code.claude.com/docs/id/settings-reference#awsauthrefresh) alih-alih menunggu selagi proses lain menjalankannya. Memerlukan Claude Code v2.1.286 atau yang lebih baru |

235| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Tetapkan ke `1` untuk menonaktifkan [auto memory](https://code.claude.com/docs/id/memory.md#auto-memory). Tetapkan ke `0` untuk memaksa auto memory aktif bahkan ketika mode `--bare` atau [`autoMemoryEnabled: false`](https://code.claude.com/docs/id/settings-reference#automemoryenabled) akan menonaktifkannya. Jika dinonaktifkan, Claude tidak membuat atau memuat file auto memory |235| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Tetapkan ke `1` untuk menonaktifkan [auto memory](https://code.claude.com/docs/id/memory.md#auto-memory). Tetapkan ke `0` untuk memaksa auto memory aktif bahkan ketika mode `--bare` atau [`autoMemoryEnabled: false`](https://code.claude.com/docs/id/settings-reference#automemoryenabled) akan menonaktifkannya. Jika dinonaktifkan, Claude tidak membuat atau memuat file auto memory |

236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Tetapkan ke `1` untuk menghapus parameter `run_in_background` dari tool Bash, PowerShell, dan subagent serta untuk menonaktifkan pintasan Ctrl+B dan proses latar belakang dari [skill yang di-fork](https://code.claude.com/docs/id/skills.md#run-skills-in-a-subagent). Claude Code kemudian juga berhenti memindahkan subagent, panggilan tool MCP yang lama, dan perintah shell yang mengalami timeout ke latar belakang secara otomatis. [Tugas MCP](https://code.claude.com/docs/id/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) dan [tool Monitor](https://code.claude.com/docs/id/tools-reference.md#monitor-tool) tetap berjalan di latar belakang |236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Atur ke `1` untuk menghapus parameter `run_in_background` dari tool Bash, PowerShell, dan subagent serta mematikan pintasan Ctrl+B dan eksekusi latar belakang [skill yang di-fork](https://code.claude.com/docs/id/skills.md#run-skills-in-a-subagent). Claude Code kemudian juga berhenti memindahkan subagent, panggilan tool MCP yang panjang, dan perintah shell yang mengalami timeout ke latar belakang secara otomatis. [Tugas MCP](https://code.claude.com/docs/id/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) dan [tool Monitor](https://code.claude.com/docs/id/tools-reference.md#monitor-tool) tetap berjalan di latar belakang. Untuk mematikan [sesi latar belakang](https://code.claude.com/docs/id/agent-view.md#turn-off-agent-view) juga, atur `CLAUDE_CODE_DISABLE_AGENT_VIEW` ke `1` |

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

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

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


276| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Tetapkan ke `1` untuk menonaktifkan tool [WebFetch](https://code.claude.com/docs/id/tools-reference.md#webfetch-tool-behavior). Tool [WebSearch](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior) tetap tersedia. Memerlukan Claude Code v2.1.285 atau yang lebih baru |276| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Tetapkan ke `1` untuk menonaktifkan tool [WebFetch](https://code.claude.com/docs/id/tools-reference.md#webfetch-tool-behavior). Tool [WebSearch](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior) tetap tersedia. Memerlukan Claude Code v2.1.285 atau yang lebih baru |

277| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Atur ke `1` untuk memulai perintah [tool PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool) di Windows secara langsung alih-alih melalui launcher `cmd.exe`. Secara default, launcher memungkinkan perintah PowerShell yang [berjalan di latar belakang](https://code.claude.com/docs/id/tools-reference.md#background-commands) [berlanjut ke proses berikutnya dari sesi](https://code.claude.com/docs/id/agent-view.md#the-supervisor-process), misalnya saat Anda [memindahkan sesi ke latar belakang](https://code.claude.com/docs/id/agent-view.md#from-inside-a-session). Jika Anda mengatur variabel ini, perintah PowerShell yang berjalan di latar belakang akan berhenti saat proses sesi keluar. Perintah Bash tidak terpengaruh. Memerlukan Claude Code v2.1.269 atau yang lebih baru |277| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Atur ke `1` untuk memulai perintah [tool PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool) di Windows secara langsung alih-alih melalui launcher `cmd.exe`. Secara default, launcher memungkinkan perintah PowerShell yang [berjalan di latar belakang](https://code.claude.com/docs/id/tools-reference.md#background-commands) [berlanjut ke proses berikutnya dari sesi](https://code.claude.com/docs/id/agent-view.md#the-supervisor-process), misalnya saat Anda [memindahkan sesi ke latar belakang](https://code.claude.com/docs/id/agent-view.md#from-inside-a-session). Jika Anda mengatur variabel ini, perintah PowerShell yang berjalan di latar belakang akan berhenti saat proses sesi keluar. Perintah Bash tidak terpengaruh. Memerlukan Claude Code v2.1.269 atau yang lebih baru |

278| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Atur ke `1` untuk menonaktifkan [workflow](https://code.claude.com/docs/id/workflows.md#turn-workflows-off). Setara dengan pengaturan [`disableWorkflows`](https://code.claude.com/docs/id/settings-reference#disableworkflows) |278| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Atur ke `1` untuk menonaktifkan [workflow](https://code.claude.com/docs/id/workflows.md#turn-workflows-off). Setara dengan pengaturan [`disableWorkflows`](https://code.claude.com/docs/id/settings-reference#disableworkflows) |

279| `CLAUDE_CODE_EFFORT_LEVEL` | Atur tingkat effort untuk model yang didukung. Nilai: `low`, `medium`, `high`, `xhigh`, `max`, atau `auto` untuk menggunakan default model. Tingkat yang tersedia bergantung pada model. Diutamakan daripada `--effort`, `/effort`, serta pengaturan `modelSettings` dan `effortLevel`. Batas [`maxEffortLevel`](https://code.claude.com/docs/id/settings-reference#maxeffortlevel) tetap berlaku. Lihat [Menyesuaikan tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) |279| `CLAUDE_CODE_EFFORT_LEVEL` | Atur tingkat effort untuk model yang didukung. Nilai: `low`, `medium`, `high`, `xhigh`, atau `max`. Tingkat yang tersedia bergantung pada model. Diutamakan daripada `--effort`, `/effort`, serta pengaturan `modelSettings` dan `effortLevel`. Batas [`maxEffortLevel`](https://code.claude.com/docs/id/settings-reference#maxeffortlevel) tetap berlaku. Atur ke `auto` atau `unset` agar Claude Code [tidak mengirim tingkat effort](https://code.claude.com/docs/id/model-config.md#send-no-effort-level), sehingga API menerapkan default-nya sendiri untuk model tersebut. Lihat [Menyesuaikan tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) |

280| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Atur ke `1` untuk menambahkan pesan [`session_state_changed`](https://code.claude.com/docs/id/agent-sdk/typescript#sdksessionstatechangedmessage), yang membawa status sesi, ke aliran pesan. Memerlukan [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md) atau `--print`, `--output-format stream-json`, dan `--verbose` |280| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Atur ke `1` untuk menambahkan pesan [`session_state_changed`](https://code.claude.com/docs/id/agent-sdk/typescript#sdksessionstatechangedmessage), yang membawa status sesi, ke aliran pesan. Memerlukan [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md) atau `--print`, `--output-format stream-json`, dan `--verbose` |

281| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Diterima untuk kompatibilitas dengan rilis lama dan tidak berpengaruh apa pun. Auto mode tersedia secara default di setiap penyedia, termasuk Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway) yang sudah masuk. Pada v2.1.158 hingga v2.1.206, mengatur ini ke `1` diperlukan agar [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) tersedia di penyedia tersebut |281| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Diterima untuk kompatibilitas dengan rilis lama dan tidak berpengaruh apa pun. Auto mode tersedia secara default di setiap penyedia, termasuk Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, dan sesi [Claude apps gateway](https://code.claude.com/docs/id/claude-apps-gateway) yang sudah masuk. Pada v2.1.158 hingga v2.1.206, mengatur ini ke `1` diperlukan agar [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode) tersedia di penyedia tersebut |

282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Menimpa ketersediaan [rekap sesi](https://code.claude.com/docs/id/interactive-mode.md#session-recap). Atur ke `0` untuk memaksa rekap mati terlepas dari toggle `/config`. Atur ke `1` untuk memaksa rekap aktif saat [`awaySummaryEnabled`](https://code.claude.com/docs/id/settings-reference#awaysummaryenabled) bernilai `false`. Diutamakan daripada pengaturan dan toggle `/config` |282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Menimpa ketersediaan [rekap sesi](https://code.claude.com/docs/id/interactive-mode.md#session-recap). Atur ke `0` untuk memaksa rekap mati terlepas dari toggle `/config`. Atur ke `1` untuk memaksa rekap aktif saat [`awaySummaryEnabled`](https://code.claude.com/docs/id/settings-reference#awaysummaryenabled) bernilai `false`. Diutamakan daripada pengaturan dan toggle `/config` |


584* Mendapatkan [tool PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool) secara default untuk akun claude.ai dan Console di Windows dengan Git Bash terinstal; Claude Code merutekan perintah shell melalui Git Bash kecuali Anda mengatur `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Di Windows tanpa Git Bash, tool tersebut tetap aktif584* Mendapatkan [tool PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool) secara default untuk akun claude.ai dan Console di Windows dengan Git Bash terinstal; Claude Code merutekan perintah shell melalui Git Bash kecuali Anda mengatur `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Di Windows tanpa Git Bash, tool tersebut tetap aktif

585* Mendapatkan [umpan balik yang disusun Claude](https://code.claude.com/docs/id/tools-reference.md#sendfeedback-tool-behavior), yang diaktifkan Claude Code melalui flag yang diambil585* Mendapatkan [umpan balik yang disusun Claude](https://code.claude.com/docs/id/tools-reference.md#sendfeedback-tool-behavior), yang diaktifkan Claude Code melalui flag yang diambil

586* Meminta Claude [memperlakukan tempelan besar sebagai teks yang ditempel, bukan diketik](https://code.claude.com/docs/id/terminal-config.md#how-claude-treats-pasted-text); konten di balik placeholder `[Pasted text #N]` sampai ke Claude tanpa penanda586* Meminta Claude [memperlakukan tempelan besar sebagai teks yang ditempel, bukan diketik](https://code.claude.com/docs/id/terminal-config.md#how-claude-treats-pasted-text); konten di balik placeholder `[Pasted text #N]` sampai ke Claude tanpa penanda

587* Meminta Claude Code [mengecualikan tool MCP yang skema inputnya akan ditolak oleh API](https://code.claude.com/docs/id/mcp.md#tools-with-invalid-input-schemas); Claude Code tetap mengirimkan skema tersebut, dan permintaan yang menyertakannya gagal dengan [error 400 yang menyebut tool berdasarkan posisinya](https://code.claude.com/docs/id/errors.md#tool-input-schema-is-invalid)587* Meminta Claude Code [mengecualikan tool MCP yang skema inputnya akan ditolak oleh API](https://code.claude.com/docs/id/mcp.md#tools-with-invalid-input-schemas)

588* Meminta Claude Code [memadatkan percakapan panjang saat sesi terminal Anda sedang idle](https://code.claude.com/docs/id/settings-reference.md#idlecompaction), sesaat sebelum cache prompt satu jam kedaluwarsa588* Meminta Claude Code [memadatkan percakapan panjang saat sesi terminal Anda sedang idle](https://code.claude.com/docs/id/settings-reference.md#idlecompaction), sesaat sebelum cache prompt satu jam kedaluwarsa

589 589 

590### Sesi pertama setelah instalasi atau upgrade590### Sesi pertama setelah instalasi atau upgrade

errors.md +47 −13

Details

219| `Cloud sessions use your claude.ai login`, di akhir penolakan kebijakan yang menyebutkan kredensial | [Command-line errors](#cloud-sessions-use-your-claude-ai-login) |219| `Cloud sessions use your claude.ai login`, di akhir penolakan kebijakan yang menyebutkan kredensial | [Command-line errors](#cloud-sessions-use-your-claude-ai-login) |

220| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |220| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |

221| `Cloud sessions aren't available:` diikuti alasan mengapa kebijakan organisasi Anda tidak dapat dimuat | [Command-line errors](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |221| `Cloud sessions aren't available:` diikuti alasan mengapa kebijakan organisasi Anda tidak dapat dimuat | [Command-line errors](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |

222| `Cloud sessions aren't available with this Console sign-in. They need a claude.ai sign-in.` | [Unable to get organization UUID](https://code.claude.com/docs/id/claude-code-on-the-web.md#unable-to-get-organization-uuid) |

222| `Cloud sessions need a claude.ai sign-in` | [Unable to get organization UUID](https://code.claude.com/docs/id/claude-code-on-the-web.md#unable-to-get-organization-uuid) |223| `Cloud sessions need a claude.ai sign-in` | [Unable to get organization UUID](https://code.claude.com/docs/id/claude-code-on-the-web.md#unable-to-get-organization-uuid) |

223| `Nothing was stashed: "<path>" is now a folder in place of a tracked file or link` / `are now folders in place of tracked files or links` | [Command-line errors](#nothing-was-stashed-because-a-folder-replaced-a-tracked-file) |224| `Nothing was stashed: "<path>" is now a folder in place of a tracked file or link` / `are now folders in place of tracked files or links` | [Command-line errors](#nothing-was-stashed-because-a-folder-replaced-a-tracked-file) |

224| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#the-json-schema-value-is-not-a-valid-json-schema) |225| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#the-json-schema-value-is-not-a-valid-json-schema) |


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

326| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |327| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |

327| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |328| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |

329| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Kesalahan tool](#command-contains-an-invisible-character) |

328| `File is too large to read as an image (the limit is 128MB)` | [Tool errors](#file-is-too-large-to-read-as-an-image) |330| `File is too large to read as an image (the limit is 128MB)` | [Tool errors](#file-is-too-large-to-read-as-an-image) |

329| `Cannot read this as an image: <path> is a pipe or a device` | [Tool errors](#file-is-too-large-to-read-as-an-image) |331| `Cannot read this as an image: <path> is a pipe or a device` | [Tool errors](#file-is-too-large-to-read-as-an-image) |

330| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |332| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |


397| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |399| `Claude Code process exited with code N` | [Wrapper and IDE errors](#claude-code-process-exited-with-code-n) |

398| `The connection to Claude Code ended before this message completed` | [Wrapper and IDE errors](#the-connection-to-claude-code-ended-before-this-message-completed) |400| `The connection to Claude Code ended before this message completed` | [Wrapper and IDE errors](#the-connection-to-claude-code-ended-before-this-message-completed) |

399| `Could not locate the Claude CLI on PATH` | [Wrapper and IDE errors](#could-not-locate-the-claude-cli-on-path) |401| `Could not locate the Claude CLI on PATH` | [Wrapper and IDE errors](#could-not-locate-the-claude-cli-on-path) |

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

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

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

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


485 488 

486Mulai v2.1.198, spinner tip biasa ditekan selama retry. Setelah alasan kesalahan terungkap, jika kegagalan adalah 529 overload baris di bawah countdown juga menyebutkan di mana memeriksa status layanan: `status.claude.com` pada Anthropic API, atau penyedia atau host gateway yang dinamai dalam pesan pada konfigurasi lain.489Mulai v2.1.198, spinner tip biasa ditekan selama retry. Setelah alasan kesalahan terungkap, jika kegagalan adalah 529 overload baris di bawah countdown juga menyebutkan di mana memeriksa status layanan: `status.claude.com` pada Anthropic API, atau penyedia atau host gateway yang dinamai dalam pesan pada konfigurasi lain.

487 490 

488Jika tidak ada data yang tiba pada response stream selama 20 detik sementara permintaan masih tertunda, spinner menampilkan `Waiting for API response · will retry in … · check your network` sebelum retry apa pun telah dimulai. Permintaan belum gagal: countdown berjalan ke titik di mana Claude Code membatalkan koneksi yang macet. Setelah pembatalan, apa yang Anda lihat tergantung pada seberapa jauh respons telah sampai:491#### Waiting for API response

492 

493Banner `Waiting for API response · will retry in … · check your network` berarti Claude Code telah menunggu setidaknya 20 detik tanpa menerima data apa pun untuk sebuah permintaan. Permintaan belum gagal: countdown berjalan ke titik di mana Claude Code membatalkan koneksi yang macet. Jika pembatalan terjadi:

489 494 

490* Sebelum Claude menyelesaikan blok teks atau panggilan tool, atau memulai satu setelah menyelesaikan pemikirannya, Claude Code mencoba ulang permintaan atau mengakhiri giliran dengan kesalahan. [Automatic retries](#automatic-retries) mengatakan stalls mana yang dicoba ulang dan berapa kali.495* Sebelum Claude menyelesaikan blok teks atau panggilan tool, atau memulai satu setelah menyelesaikan pemikirannya, Claude Code mencoba ulang permintaan atau mengakhiri giliran dengan kesalahan. [Automatic retries](#automatic-retries) mengatakan stalls mana yang dicoba ulang dan berapa kali.

491* Setelah Claude menyelesaikan blok teks atau panggilan tool, atau memulai satu setelah menyelesaikan pemikirannya, tetapi sebelum Claude menyelesaikan respons, Claude Code menyimpan apa yang Claude selesaikan, melanjutkan giliran dari panggilan tool apa pun yang Claude selesaikan, dan menampilkan [The response above may be incomplete](#the-response-above-may-be-incomplete). Dalam sesi non-interaktif, dan untuk respons subagent dalam sesi apa pun, Claude Code mungkin pertama-tama meminta Claude untuk melanjutkan respons; entry itu mengatakan kapan itu terjadi dan kapan Anda masih melihat pemberitahuan di sana.496* Setelah Claude menyelesaikan blok teks atau panggilan tool, atau memulai satu setelah menyelesaikan pemikirannya, tetapi sebelum Claude menyelesaikan respons, Claude Code menyimpan apa yang Claude selesaikan, melanjutkan giliran dari panggilan tool apa pun yang Claude selesaikan, dan menampilkan [The response above may be incomplete](#the-response-above-may-be-incomplete). Dalam sesi non-interaktif, dan untuk respons subagent dalam sesi apa pun, Claude Code mungkin pertama-tama meminta Claude untuk melanjutkan respons; entry itu mengatakan kapan itu terjadi dan kapan Anda masih melihat pemberitahuan di sana.

492* Setelah Claude menyelesaikan respons, Claude Code mengakhiri giliran secara normal.497* Setelah Claude menyelesaikan respons, Claude Code mengakhiri giliran secara normal.

493 498 

494Banner menghapus dirinya sendiri setelah data dilanjutkan atau retry berhasil. Jika muncul kembali pada setiap percobaan, perlakukan sebagai [network issue](#unable-to-connect-to-api). Sebelum v2.1.185, banner muncul setelah 10 detik dengan wording berbeda.499Banner menghapus dirinya sendiri setelah data dilanjutkan atau retry berhasil. Jika muncul kembali pada setiap percobaan, perlakukan sebagai [network issue](#unable-to-connect-to-api). Jika Anda terhubung melalui gateway, lihat [Banner menunggu muncul dan hilang di balik gateway](#waiting-banner-behind-a-gateway). Sebelum v2.1.185, banner muncul setelah 10 detik dengan wording berbeda.

495 

496Saat Claude berkonsultasi dengan [advisor](https://code.claude.com/docs/id/advisor.md), banner muncul setelah 90 detik tanpa data bukan 20, karena review advisor yang panjang dapat mengirim tidak ada selama lebih dari 20 detik. Sebelum v2.1.214, threshold 20-detik diterapkan selama advisor calls juga, jadi banner muncul selama advisor reviews bahkan ketika tidak ada yang salah.

497 500 

498#### Banner menunggu muncul dan hilang di balik gateway501#### Banner menunggu muncul dan hilang di balik gateway

499 502 


2495 2498 

2496**Yang harus dilakukan:**2499**Yang harus dilakukan:**

2497 2500 

2498* Jika versi Claude Code Anda lebih awal dari v2.1.216, jalankan `claude update`.2501* Jika versi Claude Code Anda lebih lama dari v2.1.300, jalankan [`claude update`](https://code.claude.com/docs/id/setup#update-claude-code) di shell Anda. Sebelum v2.1.300, Claude Code tidak [mencoba ulang permintaan tanpa parameter tool yang ditolak](https://code.claude.com/docs/id/mcp.md#tools-whose-input-schema-the-api-refuses), sehingga kesalahan ini berulang di setiap permintaan yang menyertakan tool tersebut.

2499* Hapus atau [nonaktifkan](https://code.claude.com/docs/id/mcp.md#disable-a-server-without-removing-it) server MCP yang mendeklarasikan skema tidak valid. Kesalahan hanya menyebutkan tool berdasarkan posisi. Pada v2.1.216 atau lebih baru, periksa log setiap server untuk baris yang menyebutkan tool yang skema input-nya akan ditolak. Jika tidak ada log yang menyebutkan satu, nonaktifkan server satu per satu.2502* Hapus atau [nonaktifkan](https://code.claude.com/docs/id/mcp.md#disable-a-server-without-removing-it) server MCP yang mendeklarasikan skema tidak valid. Kesalahan hanya menyebutkan tool berdasarkan posisi. Pada v2.1.216 atau lebih baru, periksa log setiap server untuk baris yang menyebutkan tool yang skema input-nya akan ditolak. Jika tidak ada log yang menyebutkan satu, nonaktifkan server satu per satu.

2500* Jika Anda memelihara server, perbaiki `input_schema` tool. Skema harus berupa JSON Schema yang valid, dan nama properti tingkat atas harus panjang 1 hingga 64 karakter dan hanya menggunakan huruf ASCII dan angka, `_`, `.`, dan `-`. Lihat [Tool dengan skema input tidak valid](https://code.claude.com/docs/id/mcp.md#tools-with-invalid-input-schemas).2503* Jika Anda memelihara server, perbaiki `input_schema` tool. Skema harus berupa JSON Schema yang valid, dan nama properti tingkat atas harus panjang 1 hingga 64 karakter dan hanya menggunakan huruf ASCII dan angka, `_`, `.`, dan `-`. Lihat [Tool dengan skema input tidak valid](https://code.claude.com/docs/id/mcp.md#tools-with-invalid-input-schemas).

2501 2504 


3295* **`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`.3298* **`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`.

3296* **`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.3299* **`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.

3297* **`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`.3300* **`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`.

3298* **``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 gunakan flag ini. Untuk mempercayainya untuk eksekusi ini, letakkan nomor PR atau branch dasar sebelum flag: `claude ultrareview 1234 --trust-workspace`.3301* **``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 gunakan flag ini. Untuk mempercayainya untuk eksekusi ini, letakkan nomor PR atau base branch sebelum flag: `claude ultrareview 1234 --trust-workspace`.

3299 3302 

3300Sebelum v2.1.309, `claude ultrareview` tidak menerima `--trust-workspace`.3303Sebelum v2.1.309, `claude ultrareview` tidak menerima `--trust-workspace`.

3301 3304 


3587 3590 

3588String serupa muncul sebelum perintah dijalankan sama sekali:3591String serupa muncul sebelum perintah dijalankan sama sekali:

3589 3592 

3590* `Shell command permission check failed for pattern "..."`: pemeriksaan izin perintah tidak mengizinkannya. [Pemeriksaan izin pada perintah tersisip](https://code.claude.com/docs/id/skills.md#permission-checks-on-injected-commands) membahas hasil mana yang membatalkan di setiap mode izin dan cara menyetujui perintah terlebih dahulu dengan `allowed-tools`3593* `Shell command permission check failed for pattern "..."`: pemeriksaan izin perintah tidak mengizinkannya. [Pemeriksaan izin pada perintah sisipan](https://code.claude.com/docs/id/skills.md#permission-checks-on-injected-commands) membahas hasil mana yang membatalkan di setiap mode izin dan cara menyetujui perintah terlebih dahulu dengan `allowed-tools`

3591* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter skill menuntut bash pada mesin yang tidak memilikinya. Instal Git for Windows atau ubah frontmatter menjadi `shell: powershell`. Lihat [Cara perintah tersisip dijalankan](https://code.claude.com/docs/id/skills.md#how-injected-commands-run)3594* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter skill menuntut bash di mesin yang tidak memilikinya. Instal Git for Windows atau ubah frontmatter menjadi `shell: powershell`. Lihat [Cara perintah sisipan dijalankan](https://code.claude.com/docs/id/skills.md#how-injected-commands-run)

3592* `No shell command in <name> was run`: salah satu perintah `!` di file mengandung karakter kontrol mentah selain tab atau baris baru, sehingga tidak ada satu pun yang dijalankan. Lihat [cara menemukan dan menghapus karakter tersebut](#no-shell-command-was-run)

3593 3595 

3594**Yang perlu dilakukan:**3596**Yang perlu dilakukan:**

3595 3597 


3599 3601 

3600### No shell command in a skill or command was run3602### No shell command in a skill or command was run

3601 3603 

3602Salah satu [perintah konteks dinamis](https://code.claude.com/docs/id/skills.md#inject-dynamic-context) `` !`<command>` `` dalam file skill atau perintah kustom mengandung karakter kontrol mentah selain tab atau baris baru. Claude Code menolak seluruh pemanggilan sebelum perintah mana pun di file tersebut dijalankan.3604`No shell command in <name> was run` berarti [perintah konteks dinamis](https://code.claude.com/docs/id/skills.md#inject-dynamic-context) `` !`<command>` `` dalam file skill atau perintah tersebut memuat karakter yang ditolak oleh tool Bash atau PowerShell:

3605 

3606* **Kedua tool**: karakter kontrol mentah selain tab atau baris baru

3607* **Tool PowerShell**: juga U+FEFF atau U+180E

3603 3608 

3604Pesan menyebutkan tool shell yang seharusnya menjalankan perintah-perintah tersebut, Bash atau PowerShell, dan diakhiri dengan perintah yang ditolak. Setiap karakter tersebut diganti dengan `�` sehingga Anda dapat melihat lokasinya:3609Pesan diakhiri dengan perintah yang ditolak, dengan setiap karakter yang ditolak ditampilkan sebagai `�`, seperti dalam contoh tool Bash ini:

3605 3610 

3606```text theme={null}3611```text theme={null}

3607No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.3612No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.


3610 3615 

3611**Yang harus dilakukan:**3616**Yang harus dilakukan:**

3612 3617 

3613* Temukan setiap `�` dalam perintah yang dikutip di akhir pesan. Hapus karakter yang diwakilinya dari file skill atau perintah, atau dari argumen atau opsi yang disubstitusikan ke dalam file.3618* Temukan setiap `�` dalam perintah yang dikutip di akhir pesan. Hapus karakter yang diwakilinya dari [file skill atau perintah](https://code.claude.com/docs/id/skills.md#where-skills-live), atau dari argumen atau [opsi](https://code.claude.com/docs/id/plugins/manifest-reference.md#user-configuration) yang disubstitusikan ke dalam file tersebut.

3614 3619 

3615### Input harus diberikan saat menggunakan `--print`3620### Input harus diberikan saat menggunakan `--print`

3616 3621 


3739 3744 

3740* **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 atas3745* **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

3741* **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>`)``3746* **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>`)``

3742* **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 mengetahui apakah clone Anda dangkal (shallow), Claude Code menyarankan `git fetch --unshallow origin` sebagai gantinya. Sebelum v2.1.221, petunjuk tersebut menyarankan `git fetch --unshallow origin` untuk setiap branch dasar yang diambil, dan pada clone yang lengkap perintah itu gagal dengan `fatal: --unshallow on a complete repository does not make sense`.3747* **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 mengetahui 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`.

3743 3748 

3744**Yang perlu dilakukan:**3749**Yang perlu dilakukan:**

3745 3750 


4568 4573 

4569Sebelum v2.1.281, null byte dalam jalur Read, Write, Edit, atau NotebookEdit mengakhiri seluruh giliran dengan kesalahan yang menyebutkan `Path contains null bytes`, dan tool tidak pernah berjalan.4574Sebelum v2.1.281, null byte dalam jalur Read, Write, Edit, atau NotebookEdit mengakhiri seluruh giliran dengan kesalahan yang menyebutkan `Path contains null bytes`, dan tool tidak pernah berjalan.

4570 4575 

4576### Command contains an invisible character

4577 

4578[Tool PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool) menolak menjalankan perintah yang mengandung U+FEFF atau U+180E:

4579 

4580```text theme={null}

4581Error: command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run. Remove the character, keep the text that needs it in a file that the command reads, or write it as $([char]0xFEFF) or $([char]0x180E) inside a double-quoted string

4582```

4583 

4584**What to do:**

4585 

4586* **Untuk perintah yang ditulis Claude**: tidak ada yang perlu Anda perbaiki. Pesan tersebut memberi tahu Claude cara menulis ulang perintah.

4587* **Untuk file skill atau perintah**: pesan muncul setelah `No shell command in <name> was run`. Lihat [tempat menemukan karakter tersebut dan menghapusnya](#no-shell-command-was-run).

4588 

4571### File is too large to read as an image4589### File is too large to read as an image

4572 4590 

4573Claude mencoba membaca file sebagai gambar dengan [tool Read](https://code.claude.com/docs/id/tools-reference.md#read-tool-behavior), dan file tersebut lebih besar dari 128 MB, ukuran maksimum yang dimuat Read dari file gambar. Tidak ada yang dibaca, dan Claude menerima kesalahan ini sebagai hasil tool:4591Claude mencoba membaca file sebagai gambar dengan [tool Read](https://code.claude.com/docs/id/tools-reference.md#read-tool-behavior), dan file tersebut lebih besar dari 128 MB, ukuran maksimum yang dimuat Read dari file gambar. Tidak ada yang dibaca, dan Claude menerima kesalahan ini sebagai hasil tool:


5431* Atur entri PATH sebagai variabel lingkungan pengguna atau sistem, bukan di profil PowerShell Anda. Ekstensi tidak menjalankan profil Anda, jadi edit PATH yang hanya ada di sana tidak pernah mencapainya.5449* Atur entri PATH sebagai variabel lingkungan pengguna atau sistem, bukan di profil PowerShell Anda. Ekstensi tidak menjalankan profil Anda, jadi edit PATH yang hanya ada di sana tidak pernah mencapainya.

5432* Mulai ulang VS Code setelah mengubah PATH. Ekstensi memeriksa PATH yang ditangkap VS Code saat startup, jadi perubahan PATH hanya berlaku setelah restart.5450* Mulai ulang VS Code setelah mengubah PATH. Ekstensi memeriksa PATH yang ditangkap VS Code saat startup, jadi perubahan PATH hanya berlaku setelah restart.

5433 5451 

5452### The Claude Code program for this computer could not be found

5453 

5454[Ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md) mencari salinan Claude Code yang dibundel di dalamnya dan tidak menemukan satu pun yang di-build untuk komputer Anda. Pesan tersebut menyebutkan build yang dibutuhkan komputer Anda:

5455 

5456```text theme={null}

5457The Claude Code program for this computer, the Linux (linux-x64) build, could not be found.

5458```

5459 

5460**Yang harus dilakukan:**

5461 

5462* Jika pesan menyebutkan build mana yang dimiliki ekstensi, Anda memiliki paket ekstensi untuk platform lain: instal paket yang dibuat untuk build yang disebutkan dalam pesan

5463* Jika pesan tidak menyebutkan build mana yang dimiliki ekstensi, instal ulang ekstensi Claude Code dari tampilan Extensions di editor Anda

5464* Atau, dalam kedua kasus, atur [`claudeCode.claudeProcessWrapper`](https://code.claude.com/docs/id/vs-code#extension-settings) ke binary `claude` yang diinstal secara terpisah

5465 

5466Sebelum v2.1.290, kesalahan ini muncul sebagai `Unsupported platform: <platform>-<arch>. No compatible Claude Code binary found.`

5467 

5434### Koneksi ke Claude Code berakhir sebelum pesan ini selesai5468### Koneksi ke Claude Code berakhir sebelum pesan ini selesai

5435 5469 

5436[Ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md) mengirim pesan Anda ke proses `claude`, dan koneksi berakhir tanpa kesalahan sebelum proses mengakui atau menyelesaikannya. Ekstensi tidak dapat mengatakan apakah pesan diproses, jadi meminta Anda untuk mengirimnya lagi:5470[Ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md) mengirim pesan Anda ke proses `claude`, dan koneksi berakhir tanpa kesalahan sebelum proses mengakui atau menyelesaikannya. Ekstensi tidak dapat mengatakan apakah pesan diproses, jadi meminta Anda untuk mengirimnya lagi:

fast-mode.md +10 −8

Details

8 8 

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

10>10>

11> Mode cepat berada dalam [pratinjau penelitian](#research-preview). Fitur, harga, dan ketersediaan dapat berubah berdasarkan umpan balik.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).

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

14 14 


20 20 

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

22* Harga mode cepat per MTok input/output adalah \$8/\$40 pada Opus 5.5 dan \$10/\$50 pada Opus 5 dan Opus 4.8.22* Harga mode cepat per MTok input/output adalah \$8/\$40 pada Opus 5.5 dan \$10/\$50 pada Opus 5 dan Opus 4.8.

23* Tersedia untuk pengguna Claude Code pada paket berlangganan (Pro/Max/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, keduanya dijelaskan di bawah [Persyaratan](#requirements).23* Tersedia untuk pengguna Claude Code pada paket langganan (Pro/Max/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.

24* Untuk pengguna Claude Code pada paket berlangganan (Pro/Max/Team/Enterprise), mode cepat tersedia hanya melalui penggunaan kredit dan tidak termasuk dalam batas laju penggunaan berlangganan.24* Untuk pengguna Claude Code pada paket berlangganan (Pro/Max/Team/Enterprise), mode cepat tersedia hanya melalui penggunaan kredit dan tidak termasuk dalam batas laju penggunaan berlangganan.

25 25 

26## Mengaktifkan atau menonaktifkan fast mode26## Mengaktifkan atau menonaktifkan fast mode


119 119 

120Mode cepat memerlukan semua hal berikut:120Mode cepat memerlukan semua hal berikut:

121 121 

122* **Hanya API Anthropic atau langganan**: mode cepat tersedia melalui API Konsol Anthropic dan untuk paket langganan Claude menggunakan penggunaan kredit. Mode ini tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform di AWS. Organisasi Konsol juga harus memiliki [akses mode cepat yang disediakan](#enable-fast-mode-for-your-organization).122* **Hanya API Anthropic atau langganan**: fast mode tersedia melalui API Anthropic Console dan untuk paket langganan Claude menggunakan kredit penggunaan. Fast mode tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Claude Platform di AWS. Organisasi Console juga harus memiliki [akses fast mode yang disediakan](#enable-fast-mode-for-your-organization) untuk menggunakannya dengan Opus 5 atau Opus 4.8.

123* **Kredit penggunaan diaktifkan untuk paket langganan**: pada paket Pro, Max, Team, atau Enterprise, akun Anda harus memiliki [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) yang diaktifkan, yang memungkinkan penagihan di luar penggunaan yang disertakan dalam paket Anda. Sampai diaktifkan, `/fast` menampilkan "Fast mode requires usage credits". Cara Anda mengaktifkannya tergantung pada paket Anda:123* **Kredit penggunaan diaktifkan untuk paket langganan**: pada paket Pro, Max, Team, atau Enterprise, akun Anda harus memiliki [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) yang diaktifkan, yang memungkinkan penagihan di luar penggunaan yang disertakan dalam paket Anda. Sampai diaktifkan, `/fast` menampilkan "Fast mode requires usage credits". Cara Anda mengaktifkannya tergantung pada paket Anda:

124 * Pada Pro dan Max, aktifkan di bagian **Usage credits** dari [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, atau jalankan `/usage-credits` untuk membuka halaman tersebut.124 * Pada Pro dan Max, aktifkan di bagian **Usage credits** dari [**Settings > Usage**](https://claude.ai/settings/usage) di claude.ai, atau jalankan `/usage-credits` untuk membuka halaman tersebut.

125 * Pada Team dan Enterprise, anggota dengan akses penagihan mengaktifkannya untuk organisasi di [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), dan anggota tanpa akses tersebut menjalankan `/usage-credits` untuk mengirim permintaan kepada admin organisasi.125 * Pada Team dan Enterprise, anggota dengan akses penagihan mengaktifkannya untuk organisasi di [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), dan anggota tanpa akses tersebut menjalankan `/usage-credits` untuk mengirim permintaan kepada admin organisasi.


129> Penggunaan mode cepat diambil langsung dari penggunaan kredit, bahkan jika Anda memiliki penggunaan yang tersisa di paket Anda.129> Penggunaan mode cepat diambil langsung dari penggunaan kredit, bahkan jika Anda memiliki penggunaan yang tersisa di paket Anda.

130 130 

131* **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).131* **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).

132 

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

132* **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.134* **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.

133 135 

134> [!NOTE]136> [!NOTE]


144 146 

145Tempat Anda mengaktifkan mode cepat tergantung pada produk mana yang digunakan organisasi Anda:147Tempat Anda mengaktifkan mode cepat tergantung pada produk mana yang digunakan organisasi Anda:

146 148 

147* **Konsol** (pelanggan API): admin mengaktifkannya di [preferensi Claude Code](https://platform.claude.com/claude-code/preferences). Mode cepat berada dalam [pratinjau penelitian](#research-preview), jadi organisasi Anda juga harus memiliki akses mode cepat yang disediakan sebelum permintaan mode cepat berhasil. Untuk mendapatkan akses, hubungi manajer akun Anda atau bergabung dengan daftar tunggu, seperti yang dijelaskan dalam [mode cepat pada API Claude](https://platform.claude.com/docs/en/build-with-claude/fast-mode).149* **Console** (pelanggan API): admin mengaktifkannya di [preferensi Claude Code](https://platform.claude.com/claude-code/preferences)

148 

149 Tanpa akses yang disediakan, API menolak setiap permintaan mode cepat dengan 429, dan Claude Code memperlakukan setiap penolakan sebagai [batas laju mode cepat](#handle-rate-limits). Tidak seperti cooldown batas laju, penolakan terus berlanjut sampai akses disediakan.

150* **Claude AI** (Team dan Enterprise): Owner mengaktifkannya di [**Organization settings > Claude Code**](https://claude.ai/admin-settings/claude-code)150* **Claude AI** (Team dan Enterprise): Owner mengaktifkannya di [**Organization settings > Claude Code**](https://claude.ai/admin-settings/claude-code)

151 151 

152Organisasi Console yang menggunakan Claude Opus 5 atau Claude Opus 4.8 juga memerlukan akses yang disediakan, seperti yang dijelaskan dalam [fast mode pada API Claude](https://platform.claude.com/docs/en/build-with-claude/fast-mode). Tanpa akses tersebut, permintaan fast mode pada model-model tersebut terkena [rate limit fast mode](#handle-rate-limits) dan kembali ke kecepatan standar sampai akses disediakan.

153 

152Opsi lain untuk menonaktifkan mode cepat sepenuhnya adalah dengan menetapkan `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Lihat [Variabel lingkungan](https://code.claude.com/docs/id/env-vars.md).154Opsi lain untuk menonaktifkan mode cepat sepenuhnya adalah dengan menetapkan `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Lihat [Variabel lingkungan](https://code.claude.com/docs/id/env-vars.md).

153 155 

154### Gunakan mode cepat di balik proxy dan gateway LLM156### Gunakan mode cepat di balik proxy dan gateway LLM


201 203 

202## Tangani batas laju204## Tangani batas laju

203 205 

204Mode cepat memiliki batas laju terpisah dari Opus standar. Semua model Opus yang didukung berbagi satu pool batas laju mode cepat: penggunaan pada salah satu dari mereka menarik dari batas yang sama. Ketika Anda mencapai batas laju mode cepat:206Fast 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:

205 207 

2061. Mode cepat secara otomatis kembali ke kecepatan standar2081. Mode cepat secara otomatis kembali ke kecepatan standar

2072. Ikon `↯` berubah menjadi abu-abu untuk menunjukkan cooldown2092. Ikon `↯` berubah menjadi abu-abu untuk menunjukkan cooldown


217 219 

218## Pratinjau penelitian220## Pratinjau penelitian

219 221 

220Mode cepat adalah fitur pratinjau penelitian. Ini berarti:222Fast mode untuk Claude Opus 5 dan Claude Opus 4.8 adalah fitur research preview, yang berarti:

221 223 

222* Fitur dapat berubah berdasarkan umpan balik224* Fitur dapat berubah berdasarkan umpan balik

223* Ketersediaan dan harga dapat berubah225* Ketersediaan dan harga dapat berubah

Details

90 <tr>90 <tr>

91 <td>[Fast mode](https://code.claude.com/docs/id/fast-mode.md)</td>91 <td>[Fast mode](https://code.claude.com/docs/id/fast-mode.md)</td>

92 <td>✓ ([Diaktifkan Pemilik](https://code.claude.com/docs/id/fast-mode.md#enable-fast-mode-for-your-organization) di Team dan Enterprise)</td>92 <td>✓ ([Diaktifkan Pemilik](https://code.claude.com/docs/id/fast-mode.md#enable-fast-mode-for-your-organization) di Team dan Enterprise)</td>

93 <td>✓ (organisasi yang disediakan)</td>93 <td>✓ (Opus 5 dan 4.8 memerlukan penyediaan akses)</td>

94 <td>✗</td>94 <td>✗</td>

95 <td>✗</td>95 <td>✗</td>

96 <td>✗</td>96 <td>✗</td>


285 285 

286**Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription).286**Tidak tersedia:** semua [fitur yang memerlukan langganan Claude](#features-that-require-a-claude-subscription).

287 287 

288Semua yang ada di [kemampuan CLI yang bervariasi per penyedia](#cli-capabilities-that-vary-by-provider) tersedia, kecuali [fast mode](https://code.claude.com/docs/id/fast-mode.md) memerlukan [akses yang disediakan](https://code.claude.com/docs/id/fast-mode.md#enable-fast-mode-for-your-organization). [Pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) yang Anda konfigurasi di organisasi Team atau Enterprise claude.ai tidak menjangkau sesi yang melakukan autentikasi dengan kunci API Console. Lihat [Ketersediaan platform](https://code.claude.com/docs/id/server-managed-settings.md#platform-availability) untuk cara mencakup sesi tersebut.288Semua yang ada di [kemampuan CLI yang bervariasi per penyedia](#cli-capabilities-that-vary-by-provider) tersedia, kecuali [fast mode](https://code.claude.com/docs/id/fast-mode.md) dengan Claude Opus 5 atau Claude Opus 4.8 memerlukan [akses yang disediakan](https://code.claude.com/docs/id/fast-mode.md#enable-fast-mode-for-your-organization). [Pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) yang Anda konfigurasi di organisasi Team atau Enterprise claude.ai tidak menjangkau sesi yang melakukan autentikasi dengan kunci API Console. Lihat [Ketersediaan platform](https://code.claude.com/docs/id/server-managed-settings.md#platform-availability) untuk cara mencakup sesi tersebut.

289 289 

290**Dukungan parsial:**290**Dukungan parsial:**

291 291 

Details

241 - uses: anthropics/claude-code-action@v1241 - uses: anthropics/claude-code-action@v1

242 with:242 with:

243 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}243 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

244 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"244 plugin_marketplaces: "https://github.com/anthropics/claude-plugins-official.git"

245 plugins: "code-review@claude-code-plugins"245 plugins: "code-review@claude-plugins-official"

246 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"246 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"

247 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'247 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'

248```248```

Details

221 221 

222Jika tinjauan atau sesi cloud habis waktu, instans GHES Anda mungkin tidak dapat dijangkau dari infrastruktur Anthropic. Konfirmasi firewall Anda memungkinkan koneksi masuk dari [outbound IP addresses](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Sesi dalam [self-hosted environment](https://code.claude.com/docs/id/self-hosted-environments) mencapai GHES dari dalam jaringan Anda, jadi ketika salah satu dari mereka tidak dapat mengkloning, periksa jalur jaringan runner sendiri sebagai gantinya. Untuk pemilih repositori dan alur pra-sesi yang dihosting lainnya, lihat [Network requirements](#network-requirements).222Jika tinjauan atau sesi cloud habis waktu, instans GHES Anda mungkin tidak dapat dijangkau dari infrastruktur Anthropic. Konfirmasi firewall Anda memungkinkan koneksi masuk dari [outbound IP addresses](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic. Sesi dalam [self-hosted environment](https://code.claude.com/docs/id/self-hosted-environments) mencapai GHES dari dalam jaringan Anda, jadi ketika salah satu dari mereka tidak dapat mengkloning, periksa jalur jaringan runner sendiri sebagai gantinya. Untuk pemilih repositori dan alur pra-sesi yang dihosting lainnya, lihat [Network requirements](#network-requirements).

223 223 

224### Tes koneksi berhasil tetapi tes kedua gagal

225 

226Tes kedua terhubung ke instans GHES Anda dengan cara yang sama seperti sesi cloud yang dihosting Anthropic. Temukan pesan Anda untuk mengetahui apakah Anda perlu memeriksa firewall atau mencoba lagi:

227 

228* **`Connection test passed, but a second test failed.`**: jika instans Anda berada di balik firewall, izinkan semua [outbound IP addresses](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) Anthropic, karena tes koneksi dapat berhasil meskipun firewall Anda memblokir sebagian di antaranya. Anda juga dapat mencoba lagi dalam beberapa menit.

229* **`Connection test passed, but a second test could not run.`**: coba lagi dalam beberapa menit.

230 

231Untuk melakukan tes lagi, buka menu **More options** milik koneksi di [**Organization settings > Git providers**](https://claude.ai/admin-settings/source-control#github-enterprise) dan pilih **Test connection**.

232 

224### Awal sesi gagal dengan `Unable to get organization UUID`233### Awal sesi gagal dengan `Unable to get organization UUID`

225 234 

226Claude Code tidak dapat membaca organisasi claude.ai dari kredensial Anda. Masuk dengan `/login` menggunakan akun di organisasi Team atau Enterprise Anda, karena dukungan GitHub Enterprise Server terbatas pada paket tersebut. Lihat [Unable to get organization UUID](https://code.claude.com/docs/id/claude-code-on-the-web.md#unable-to-get-organization-uuid) untuk penyebab dan pesan lain yang dihasilkan keadaan ini.235Claude Code tidak dapat membaca organisasi claude.ai dari kredensial Anda. Masuk dengan `/login` menggunakan akun di organisasi Team atau Enterprise Anda, karena dukungan GitHub Enterprise Server terbatas pada paket tersebut. Lihat [Unable to get organization UUID](https://code.claude.com/docs/id/claude-code-on-the-web.md#unable-to-get-organization-uuid) untuk penyebab dan pesan lain yang dihasilkan keadaan ini.

Details

332* Perintah latar belakang dalam sesi lokal yang Anda kerjakan dari terminal, aplikasi desktop, atau ekstensi VS Code tidak memiliki batas waktu. Dalam sesi yang berjalan tanpa pengawasan, seperti eksekusi `-p` atau sesi cloud, Claude Code menghentikan perintah latar belakang pada [batas waktunya](https://code.claude.com/docs/id/tools-reference.md#time-limit-for-background-commands)332* Perintah latar belakang dalam sesi lokal yang Anda kerjakan dari terminal, aplikasi desktop, atau ekstensi VS Code tidak memiliki batas waktu. Dalam sesi yang berjalan tanpa pengawasan, seperti eksekusi `-p` atau sesi cloud, Claude Code menghentikan perintah latar belakang pada [batas waktunya](https://code.claude.com/docs/id/tools-reference.md#time-limit-for-background-commands)

333* Perintah latar belakang yang dimulai oleh [subagen](https://code.claude.com/docs/id/sub-agents.md#run-subagents-in-foreground-or-background) di latar depan berakhir ketika subagen tersebut selesai, gagal, atau dihentikan; lihat [Ketika perintah latar belakang berhenti](https://code.claude.com/docs/id/tools-reference.md#when-a-background-command-stops) dalam referensi alat333* Perintah latar belakang yang dimulai oleh [subagen](https://code.claude.com/docs/id/sub-agents.md#run-subagents-in-foreground-or-background) di latar depan berakhir ketika subagen tersebut selesai, gagal, atau dihentikan; lihat [Ketika perintah latar belakang berhenti](https://code.claude.com/docs/id/tools-reference.md#when-a-background-command-stops) dalam referensi alat

334 334 

335Untuk mematikan perintah latar belakang, atur environment variable [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/id/env-vars#variables) ke `1`. Dengan pengaturan tersebut, Anda juga kehilangan subagent latar belakang, skill forked latar belakang, dan `Ctrl+B`. Memulai dalam [bare mode](https://code.claude.com/docs/id/headless.md#start-faster-with-bare-mode) memiliki efek yang sama.335Untuk mematikan perintah latar belakang, atur environment variable [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/id/env-vars#variables) ke `1`. Dengan pengaturan tersebut, Anda juga kehilangan pintasan `Ctrl+B` dan [fitur latar belakang lainnya](https://code.claude.com/docs/id/env-vars.md#variables), seperti [menjalankan skill di latar belakang](https://code.claude.com/docs/id/skills.md#run-skills-in-a-subagent). Memulai dalam [bare mode](https://code.claude.com/docs/id/headless.md#start-faster-with-bare-mode) memiliki efek yang sama.

336 336 

337**Perintah yang sering dibuat latar belakang:**337**Perintah yang sering dibuat latar belakang:**

338 338 


738 738 

739```text theme={null}739```text theme={null}

740Usage limit reached · limit resets 3:45pm740Usage limit reached · limit resets 3:45pm

741Continuing automatically at 3:45pm · esc to cancel741Continuing automatically at 3:45pm · Esc to cancel

742```742```

743 743 

744Kedua baris dapat memuat teks tambahan setelah kata-kata ini, seperti tautan bantuan pada baris pertama atau `/usage-credits to continue now` pada baris kedua. Ketika penantian dimulai dengan sendirinya, percakapan juga mencatatnya dengan baris yang berbunyi `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`.744Kedua baris dapat memuat teks tambahan setelah kata-kata ini, seperti tautan bantuan pada baris pertama atau `/usage-credits to continue now` pada baris kedua. Ketika penantian dimulai dengan sendirinya, percakapan juga mencatatnya dengan baris yang berbunyi `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`.

745 745 

746Jaga sesi tetap terbuka. Apa yang terjadi selanjutnya tergantung pada bagaimana penantian berakhir:746Jaga sesi tetap terbuka. Apa yang terjadi selanjutnya tergantung pada bagaimana penantian berakhir:

747 747 

748* **Saat reset**: baris kedua berubah menjadi `Continuing shortly · esc to cancel`. Kemudian `Usage limit reset · continuing automatically` muncul dalam percakapan, dan Claude Code meminta Claude untuk melanjutkan tugas dari tempat berhenti. Ini tidak mengirim ulang pesan terakhir Anda.748* **Saat reset**: baris kedua berubah menjadi `Continuing shortly · Esc to cancel`. Kemudian `Usage limit reset · Continuing automatically` muncul dalam percakapan, dan Claude Code meminta Claude untuk melanjutkan tugas dari tempat berhenti. Ini tidak mengirim ulang pesan terakhir Anda.

749* **Setelah komputer Anda tidur**: jika tidur lebih dari sekitar 30 menit dan batas direset saat tidur, baris pertama membaca `Your usage limit has reset` dan baris kedua membaca `Press enter to continue`. Tekan `Enter` untuk melanjutkan. Setelah tidur yang lebih singkat, atau tidur yang berakhir sebelum reset, Claude Code melanjutkan dengan sendirinya.749* **Setelah komputer Anda tidur**: jika tidur lebih dari sekitar 30 menit dan batas direset saat tidur, baris pertama membaca `Your usage limit has reset` dan baris kedua membaca `Press enter to continue`. Tekan `Enter` untuk melanjutkan. Setelah tidur yang lebih singkat, atau tidur yang berakhir sebelum reset, Claude Code melanjutkan dengan sendirinya.

750* **Lebih awal**: ketika Anda selesai menambahkan [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) dengan `/usage-credits`, masuk kembali setelah `/upgrade`, atau beralih model dengan `/model` selama penantian, Claude Code memeriksa apakah penggunaan tersedia lagi dan melanjutkan segera jika tersedia. Ini tidak memeriksa setelah upgrade atau pembelian yang Anda lakukan di browser sendiri. Di bawah [`opusplan`](https://code.claude.com/docs/id/model-config#opusplan-model-setting) dan pengaturan model lainnya yang menjalankan plan mode pada model yang berbeda, Claude Code menunggu reset sebagai gantinya.750* **Lebih awal**: ketika Anda selesai menambahkan [kredit penggunaan](https://code.claude.com/docs/id/costs.md#add-usage-credits-to-your-subscription) dengan `/usage-credits`, masuk kembali setelah `/upgrade`, atau beralih model dengan `/model` selama penantian, Claude Code memeriksa apakah penggunaan tersedia lagi dan melanjutkan segera jika tersedia. Ini tidak memeriksa setelah upgrade atau pembelian yang Anda lakukan di browser sendiri. Di bawah [`opusplan`](https://code.claude.com/docs/id/model-config#opusplan-model-setting) dan pengaturan model lainnya yang menjalankan plan mode pada model yang berbeda, Claude Code menunggu reset sebagai gantinya.

751 751 

Details

178* [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/id/server-managed-settings)178* [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/id/server-managed-settings)

179* `env`, digabungkan per variabel di seluruh sumber admin: setiap variabel berasal dari sumber prioritas tertinggi yang mendefinisikannya, sehingga sumber yang lebih rendah mengisi variabel yang tidak ditetapkan oleh sumber yang lebih tinggi. Beberapa variabel mengikuti aturan mereka sendiri; [Pengecualian per kunci di seluruh sumber terkelola](https://code.claude.com/docs/id/server-managed-settings.md#per-key-exceptions-across-managed-sources) menamai masing-masing. Memerlukan Claude Code v2.1.223 atau lebih baru. Sebelum v2.1.223, Claude Code menerapkan blok `env` seluruh sumber yang dipilih saja179* `env`, digabungkan per variabel di seluruh sumber admin: setiap variabel berasal dari sumber prioritas tertinggi yang mendefinisikannya, sehingga sumber yang lebih rendah mengisi variabel yang tidak ditetapkan oleh sumber yang lebih tinggi. Beberapa variabel mengikuti aturan mereka sendiri; [Pengecualian per kunci di seluruh sumber terkelola](https://code.claude.com/docs/id/server-managed-settings.md#per-key-exceptions-across-managed-sources) menamai masing-masing. Memerlukan Claude Code v2.1.223 atau lebih baru. Sebelum v2.1.223, Claude Code menerapkan blok `env` seluruh sumber yang dipilih saja

180 180 

181Kunci [login gateway](#choose-a-delivery-mechanism) mengikuti aturan terpisah. Claude Code tidak pernah membacanya dari pengaturan terkelola server, jadi sementara pengaturan terkelola server adalah sumber yang dipilih, sumber admin dengan peringkat tertinggi di mesin yang membawa kunci kebijakan masih menyediakannya. Nilai dalam sumber admin yang diberi peringkat di bawah yang itu, atau dalam registri HKCU, diabaikan.

182 

183[`allowedProviders`](https://code.claude.com/docs/id/settings-reference#allowedproviders) memiliki aturannya sendiri: catatan Scope entrinya mengatakan bagaimana daftar yang ditetapkan di mesin menggabungkan dengan yang terkelola server. Memerlukan Claude Code v2.1.285 atau lebih baru.181[`allowedProviders`](https://code.claude.com/docs/id/settings-reference#allowedproviders) memiliki aturannya sendiri: catatan Scope entrinya mengatakan bagaimana daftar yang ditetapkan di mesin menggabungkan dengan yang terkelola server. Memerlukan Claude Code v2.1.285 atau lebih baru.

184 182 

185Ketika sumber admin menetapkan `allowManagedMcpServersOnly` atau daftar `allowedMcpServers` dan nilai itu bukan yang berlaku, `/status` dan `claude doctor` menamai sumber dan kunci itu.183Ketika sumber admin menetapkan `allowManagedMcpServersOnly` atau daftar `allowedMcpServers` dan nilai itu bukan yang berlaku, `/status` dan `claude doctor` menamai sumber dan kunci itu.

186 184 

185#### Sumber terkelola mana yang menyediakan kunci login

186 

187Di mesin yang memiliki kebijakan MDM atau file pengaturan terkelola, Claude Code mengambil kunci login dari kebijakan atau file tersebut, bahkan untuk kunci yang juga ditetapkan oleh [pengaturan jarak jauh](#how-claude-code-combines-managed-sources). Pengaturan dari konsol admin claude.ai adalah pengaturan jarak jauh, jadi tetapkan kunci login seperti [`forceLoginOrgUUID`](https://code.claude.com/docs/id/settings-reference#forceloginorguuid) dalam kebijakan MDM atau file tersebut.

188 

189Jika sebuah mesin memiliki kebijakan MDM sekaligus file pengaturan terkelola, gunakan kebijakan MDM. Ketika kebijakan tersebut menetapkan [kunci kebijakan](#how-claude-code-combines-managed-sources) apa pun, Claude Code mengabaikan kunci login dalam file, [bahkan di bawah `managedSourcesBehavior: "merge"`](#compose-every-managed-source).

190 

191Kunci login adalah:

192 

193* `forceLoginOrgUUID` dan `forceLoginMethod` yang diatur ke `"claudeai"` atau `"console"`: jika kebijakan atau file tidak mencantumkan salah satu kunci tersebut, nilai dalam pengaturan jarak jauh yang berlaku. Hingga setiap klien menjalankan v2.1.299 atau lebih baru, tetapkan juga kunci tersebut dalam [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md) dari claude.ai

194* [Kunci login gateway](#choose-a-delivery-mechanism): Claude Code tidak menggunakan nilai dalam pengaturan jarak jauh untuk proses masuk gateway

195 

187### Susun setiap sumber terkelola196### Susun setiap sumber terkelola

188 197 

189Untuk membuat Claude Code menerapkan setiap sumber admin yang disampaikan organisasi Anda, atur [`managedSourcesBehavior`](https://code.claude.com/docs/id/settings-reference#managedsourcesbehavior) ke `"merge"` dalam sumber dengan peringkat tertinggi yang Anda terapkan. Claude Code membaca kunci hanya dari sumber dengan peringkat tertinggi yang membawa kunci atau kunci kebijakan, sehingga sumber yang lebih rendah tidak dapat memilih dirinya sendiri untuk menggabungkan dengan sumber di atasnya, dan mesin yang tidak pernah menerima pengaturan terkelola server memerlukan kunci dalam profil MDM juga. Registri HKCU yang dapat ditulis pengguna tidak pernah menggabungkan dengan sumber lain. Memerlukan Claude Code v2.1.242 atau lebih baru.198Untuk membuat Claude Code menerapkan setiap sumber admin yang disampaikan organisasi Anda, atur [`managedSourcesBehavior`](https://code.claude.com/docs/id/settings-reference#managedsourcesbehavior) ke `"merge"` dalam sumber dengan peringkat tertinggi yang Anda terapkan. Claude Code membaca kunci hanya dari sumber dengan peringkat tertinggi yang membawa kunci atau kunci kebijakan, sehingga sumber yang lebih rendah tidak dapat memilih dirinya sendiri untuk menggabungkan dengan sumber di atasnya, dan mesin yang tidak pernah menerima pengaturan terkelola server memerlukan kunci dalam profil MDM juga. Registri HKCU yang dapat ditulis pengguna tidak pernah menggabungkan dengan sumber lain. Memerlukan Claude Code v2.1.242 atau lebih baru.


199| Allowlist pembatasan | Mengambil daftar seluruhnya dari sumber dengan peringkat tertinggi yang menetapkannya, tanpa menambahkan entri dari sumber yang lebih rendah | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, dan rantai `fallbackModel` |208| Allowlist pembatasan | Mengambil daftar seluruhnya dari sumber dengan peringkat tertinggi yang menetapkannya, tanpa menambahkan entri dari sumber yang lebih rendah | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, dan rantai `fallbackModel` |

200| Nilai yang diambil seluruhnya | Mengambil nilai seluruhnya dari sumber dengan peringkat tertinggi yang menetapkannya, tanpa menggabungkan entri atau bidang dari sumber yang lebih rendah | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |209| Nilai yang diambil seluruhnya | Mengambil nilai seluruhnya dari sumber dengan peringkat tertinggi yang menetapkannya, tanpa menggabungkan entri atau bidang dari sumber yang lebih rendah | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |

201| Server MCP yang disediakan | Menggabungkan nama server dari setiap sumber; ketika dua sumber menetapkan nama yang sama, menerapkan entri seluruh sumber dengan peringkat lebih tinggi | `managedMcpServers` |210| Server MCP yang disediakan | Menggabungkan nama server dari setiap sumber; ketika dua sumber menetapkan nama yang sama, menerapkan entri seluruh sumber dengan peringkat lebih tinggi | `managedMcpServers` |

202| Kunci yang dibaca dari sumber dengan peringkat tertinggi saja | Mengabaikan kunci dalam setiap sumber yang lebih rendah, bahkan ketika sumber dengan peringkat tertinggi membiarkannya tidak diatur | Pembantu kredensial seperti `apiKeyHelper`, pin login seperti `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |211| Kunci yang dibaca dari sumber dengan peringkat tertinggi saja | Mengabaikan kunci dalam setiap sumber yang lebih rendah, bahkan ketika sumber dengan peringkat tertinggi membiarkannya tidak diatur | `modelPicker`, `permissions.defaultMode`, dan pembantu kredensial seperti `apiKeyHelper` |

203| `env` | Menggabungkan per variabel di seluruh sumber admin di bawah pengaturan apa pun, seperti [Kunci yang dibaca dari setiap sumber admin](#keys-read-from-every-admin-source) menjelaskan | |212| `env` | Menggabungkan per variabel di seluruh sumber admin di bawah pengaturan apa pun, seperti [Kunci yang dibaca dari setiap sumber admin](#keys-read-from-every-admin-source) menjelaskan | |

213| Kunci login | Di bawah pengaturan apa pun, mengambilnya dari kebijakan MDM atau file pengaturan terkelola, mana pun yang berperingkat lebih tinggi dan membawa [kunci kebijakan](#how-claude-code-combines-managed-sources), [mendahului pengaturan jarak jauh](#which-managed-source-supplies-login-keys) | `forceLoginOrgUUID`, `forceLoginMethod`, dan [kunci login gateway](#choose-a-delivery-mechanism) |

204| Setiap kunci lainnya | Mengambil nilai dari sumber dengan peringkat tertinggi yang menetapkannya | `model`, `cleanupPeriodDays` |214| Setiap kunci lainnya | Mengambil nilai dari sumber dengan peringkat tertinggi yang menetapkannya | `model`, `cleanupPeriodDays` |

205 215 

206Untuk mengonfirmasi sumber mana yang digabungkan di mesin, [baca baris `Setting sources` dalam `/status`](#read-the-source-in-/status); bagian itu mengatakan apa arti setiap label.216Untuk mengonfirmasi sumber mana yang digabungkan di mesin, [baca baris `Setting sources` dalam `/status`](#read-the-source-in-/status); bagian itu mengatakan apa arti setiap label.


228Claude Code juga menerapkan pemeriksaan ini ke nilai yang disediakan induk sendiri:238Claude Code juga menerapkan pemeriksaan ini ke nilai yang disediakan induk sendiri:

229 239 

230* Ketika sumber admin apa pun menetapkan `allowManagedPermissionRulesOnly`, Claude Code menghapus aturan izin allow [yang disediakan induk](https://code.claude.com/docs/id/claude-apps-gateway#restrict-parent-settings) dan `additionalDirectories` saat membacanya, bahkan ketika sumber prioritas lebih tinggi membiarkan kunci tidak diatur. Efek kunci pada aturan izin Anda sendiri berasal dari pengaturan terkelola yang diterapkan Claude Code, atau dari pengaturan induk yang telah Anda pilih untuk digabungkan240* Ketika sumber admin apa pun menetapkan `allowManagedPermissionRulesOnly`, Claude Code menghapus aturan izin allow [yang disediakan induk](https://code.claude.com/docs/id/claude-apps-gateway#restrict-parent-settings) dan `additionalDirectories` saat membacanya, bahkan ketika sumber prioritas lebih tinggi membiarkan kunci tidak diatur. Efek kunci pada aturan izin Anda sendiri berasal dari pengaturan terkelola yang diterapkan Claude Code, atau dari pengaturan induk yang telah Anda pilih untuk digabungkan

231* Claude Code memberlakukan nilai `forceLoginOrgUUID` atau `allowedMcpServers` dalam pengaturan terkelola yang diterapkannya dan memblokir yang disediakan induk. Di luar kunci allowlist MCP, nilai dalam sumber admin yang lebih rendah yang tidak diterapkan Claude Code tidak berlaku atau memblokir yang disediakan induk.241* Claude Code memberlakukan nilai `forceLoginOrgUUID` atau `allowedMcpServers` dalam pengaturan terkelola yang diterapkannya dan memblokir yang disediakan induk. Jika Anda mengirimkan lebih dari satu sumber terkelola, lihat [sumber mana yang menyediakan `forceLoginOrgUUID`](#which-managed-source-supplies-login-keys).

232 242 

233 Pada Claude Code v2.1.273 atau lebih baru, saat `allowManagedMcpServersOnly` aktif, daftar `allowedMcpServers` dari sumber admin dengan peringkat tertinggi yang menetapkan satu berlaku dan memblokir yang disediakan induk, sebagai [kunci lintas sumber](#keys-read-from-every-admin-source). Daftar induk berlaku hanya ketika tidak ada sumber admin yang menetapkan satu. Entri [`managedSourcesBehavior`](https://code.claude.com/docs/id/settings-reference#managedsourcesbehavior) mengatakan sumber mana yang menyediakan setiap kunci di bawah `"merge"`. Sebelum v2.1.223, nilai dalam sumber admin apa pun memblokir yang disediakan induk243 Pada Claude Code v2.1.273 atau lebih baru, saat `allowManagedMcpServersOnly` aktif, daftar `allowedMcpServers` dari sumber admin dengan peringkat tertinggi yang menetapkan satu berlaku dan memblokir yang disediakan induk, sebagai [kunci lintas sumber](#keys-read-from-every-admin-source). Daftar induk berlaku hanya ketika tidak ada sumber admin yang menetapkan satu. Entri [`managedSourcesBehavior`](https://code.claude.com/docs/id/settings-reference#managedsourcesbehavior) mengatakan sumber mana yang menyediakan setiap kunci di bawah `"merge"`. Sebelum v2.1.223, nilai dalam sumber admin apa pun memblokir yang disediakan induk

234* Untuk `availableModels`, Claude Code memberlakukan nilai dalam pengaturan terkelola yang diterapkannya dan memblokir daftar yang disediakan induk244* Untuk `availableModels`, Claude Code memberlakukan nilai dalam pengaturan terkelola yang diterapkannya dan memblokir daftar yang disediakan induk

mcp.md +46 −19

Details

242/mcp242/mcp

243```243```

244 244 

245Ketika Anda menghapus server jarak jauh, Claude Code juga menghapus token OAuth dan registrasi klien yang disimpannya untuk server tersebut.245Saat Anda menghapus server jarak jauh, Claude Code juga menghapus token OAuth dan registrasi klien yang disimpannya untuk server tersebut. Claude Code tidak mencabut token di server otorisasi yang menerbitkannya. Untuk mencabut token jika server otorisasi mendukung pencabutan, jalankan [`claude mcp logout <name>`](#authenticate-from-the-command-line) di shell Anda sebelum `claude mcp remove <name>`.

246 246 

247#### Status server247#### Status server

248 248 


252 252 

253Status dalam daftar berikut melaporkan keputusan konfigurasi, bukan upaya koneksi, sehingga Claude Code mencetaknya tanpa terhubung ke server:253Status dalam daftar berikut melaporkan keputusan konfigurasi, bukan upaya koneksi, sehingga Claude Code mencetaknya tanpa terhubung ke server:

254 254 

255* ``⏸ Pending approval (run `claude` to approve)``: server bercakupan proyek dari `.mcp.json` yang belum Anda setujui. Claude Code menampilkannya di `claude mcp list` dan `claude mcp get <name>`. Jalankan `claude` secara interaktif untuk meninjau dan menyetujuinya.255* ``⏸ Pending approval (run `claude` to approve)``: server dengan cakupan proyek dari `.mcp.json` yang belum Anda setujui. Claude Code menampilkannya di `claude mcp list` dan `claude mcp get <name>`. Jalankan `claude` secara interaktif untuk meninjau dan menyetujuinya.

256* `✘ Rejected (see disabledMcpjsonServers in settings)`: server `.mcp.json` yang ditolak oleh entri [`disabledMcpjsonServers`](https://code.claude.com/docs/id/settings-reference#disabledmcpjsonservers). Claude Code hanya menampilkannya di `claude mcp get <name>`.256* `✘ Rejected (see disabledMcpjsonServers in settings)`: server `.mcp.json` yang ditolak oleh entri [`disabledMcpjsonServers`](https://code.claude.com/docs/id/settings-reference#disabledmcpjsonservers). Claude Code hanya menampilkannya di `claude mcp get <name>`.

257* `⊘ Disabled for this project (re-enable via /mcp)`: server yang disebutkan dalam daftar [`disabledMcpServers`](#disable-a-server-without-removing-it) proyek. Claude Code menampilkannya di `claude mcp list` maupun `claude mcp get <name>`. Aktifkan kembali server dari panel `/mcp`.257* `⊘ Disabled for this project (re-enable via /mcp)`: server yang disebutkan dalam daftar [`disabledMcpServers`](#disable-a-server-without-removing-it) proyek. Claude Code menampilkannya di `claude mcp list` maupun `claude mcp get <name>`. Aktifkan kembali server dari panel `/mcp`.

258* `✘ Blocked by enterprise managed policy`: server yang ditolak oleh salah satu kebijakan organisasi Anda. Claude Code menampilkannya di `claude mcp list` dan `claude mcp get <name>`. Server yang diblokir oleh allowlist, denylist, atau pembatasan lain dalam [konfigurasi MCP terkelola](https://code.claude.com/docs/id/managed-mcp.md#how-restrictions-appear-to-users) disembunyikan dari kedua perintah alih-alih ditampilkan dengan status ini. Tanyakan kepada administrator Anda kebijakan mana yang memblokir server tersebut.

258 259 

259#### Persetujuan server proyek dan kepercayaan workspace260#### Persetujuan server proyek dan kepercayaan workspace

260 261 


471Untuk mengubah atau mematikan pemindahan otomatis ke latar belakang:472Untuk mengubah atau mematikan pemindahan otomatis ke latar belakang:

472 473 

473* Tetapkan environment variable [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/id/env-vars) dalam milidetik untuk mengubah ambang, atau tetapkan ke `0` untuk mematikan pemindahan otomatis ke latar belakang. Dengan `0`, Claude juga [menunggu tugas MCP](#make-claude-wait-for-the-result-of-an-mcp-task) dalam sesi interaktif474* Tetapkan environment variable [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/id/env-vars) dalam milidetik untuk mengubah ambang, atau tetapkan ke `0` untuk mematikan pemindahan otomatis ke latar belakang. Dengan `0`, Claude juga [menunggu tugas MCP](#make-claude-wait-for-the-result-of-an-mcp-task) dalam sesi interaktif

474* Tetapkan [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/id/env-vars) ke `1`, yang mematikannya bersama dengan perintah latar belakang dan subagent latar belakang475* Atur [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/id/env-vars) ke `1` untuk mematikan pemindahan otomatis ke latar belakang dan [perintah latar belakang](https://code.claude.com/docs/id/tools-reference.md#background-commands)

475 476 

476Beberapa panggilan tidak pernah dipindahkan ke latar belakang:477Beberapa panggilan tidak pernah dipindahkan ke latar belakang:

477 478 


828 829 

829Claude Code mendukung ekspansi variabel lingkungan dalam file `.mcp.json`, memungkinkan tim untuk berbagi konfigurasi sambil mempertahankan fleksibilitas untuk jalur spesifik mesin dan nilai sensitif seperti kunci API.830Claude Code mendukung ekspansi variabel lingkungan dalam file `.mcp.json`, memungkinkan tim untuk berbagi konfigurasi sambil mempertahankan fleksibilitas untuk jalur spesifik mesin dan nilai sensitif seperti kunci API.

830 831 

831#### Sintaks yang didukung832Anda dapat mereferensikan environment variable dalam nilai `command`, `args`, `env`, `url`, atau `headers` milik server, dalam salah satu dari dua bentuk:

832 833 

833* `${VAR}`: berkembang menjadi nilai variabel lingkungan `VAR`834* `${VAR}`: berkembang menjadi nilai variabel lingkungan `VAR`

834* `${VAR:-default}`: berkembang menjadi `VAR` jika diatur, jika tidak menggunakan `default`835* `${VAR:-default}`: diperluas menjadi nilai `VAR` jika `VAR` diatur, atau menjadi `default` jika tidak diatur

835 

836#### Lokasi ekspansi

837 

838Variabel lingkungan dapat berkembang dalam:

839 

840* `command`: jalur executable server

841* `args`: argumen baris perintah

842* `env`: variabel lingkungan yang diteruskan ke server

843* `url`: untuk jenis server HTTP

844* `headers`: untuk autentikasi server HTTP

845 836 

846#### Contoh dengan ekspansi variabel837#### Contoh dengan ekspansi variabel

847 838 

839Dalam entri server ini, URL adalah nilai `API_BASE_URL` diikuti oleh `/mcp`, dengan `https://api.example.com` sebagai default, dan kunci API berasal dari `API_KEY`:

840 

848```json theme={null}841```json theme={null}

849{842{

850 "mcpServers": {843 "mcpServers": {


863 856 

864Jika variabel lingkungan yang dirujuk tidak diatur dan tidak memiliki nilai default, konfigurasi masih dimuat: Claude Code melaporkan peringatan variabel yang hilang untuk server tersebut dalam output `claude mcp list` dan menggunakan teks `${VAR}` yang tidak diperluas sebagaimana adanya. Atur variabel atau tambahkan fallback `:-default` sehingga server dimulai dengan nilai yang Anda maksudkan. Dalam `url` dan `headers` server jarak jauh, beberapa variabel kredensial [dibaca sebagai kosong](#credential-variables-that-read-as-empty) sebagai gantinya, tanpa peringatan.857Jika variabel lingkungan yang dirujuk tidak diatur dan tidak memiliki nilai default, konfigurasi masih dimuat: Claude Code melaporkan peringatan variabel yang hilang untuk server tersebut dalam output `claude mcp list` dan menggunakan teks `${VAR}` yang tidak diperluas sebagaimana adanya. Atur variabel atau tambahkan fallback `:-default` sehingga server dimulai dengan nilai yang Anda maksudkan. Dalam `url` dan `headers` server jarak jauh, beberapa variabel kredensial [dibaca sebagai kosong](#credential-variables-that-read-as-empty) sebagai gantinya, tanpa peringatan.

865 858 

859#### Variabel yang diatur ke string kosong

860 

861Jika Anda mengatur variabel ke string kosong, variabel tersebut dihitung sebagai diatur, sehingga referensi `${VAR:-default}` diperluas menjadi string kosong, bukan menjadi `default`. Dengan [server contoh](#example-with-variable-expansion), jika Anda mengatur `API_BASE_URL` ke string kosong, `url`-nya menjadi `/mcp` dan `claude mcp list` melaporkan `'url' is not a valid URL`. Untuk menggunakan default, hapus pengaturan variabel tersebut alih-alih mengaturnya ke string kosong.

862 

866#### Variabel kredensial yang dibaca sebagai kosong863#### Variabel kredensial yang dibaca sebagai kosong

867 864 

868Dalam `url` dan `headers` server jarak jauh, Claude Code membaca variabel kredensial dari lingkungan Anda sebagai kosong daripada memperluasnya. Ini mencegah `.mcp.json` proyek atau plugin dari mengirim kredensial Claude Code atau penyedia cloud Anda ke server yang dinamainya. Jika Anda menulis `Bearer ${ANTHROPIC_AUTH_TOKEN}`, server menerima `Bearer ` tanpa kredensial dan menolak permintaan, biasanya dengan `401`. Claude Code melaporkan itu sebagai koneksi yang gagal.865Dalam `url` dan `headers` server jarak jauh, Claude Code membaca variabel kredensial dari lingkungan Anda sebagai kosong daripada memperluasnya. Ini mencegah `.mcp.json` proyek atau plugin dari mengirim kredensial Claude Code atau penyedia cloud Anda ke server yang dinamainya. Jika Anda menulis `Bearer ${ANTHROPIC_AUTH_TOKEN}`, server menerima `Bearer ` tanpa kredensial dan menolak permintaan, biasanya dengan `401`. Claude Code melaporkan itu sebagai koneksi yang gagal.


1146 1143 

1147Jika scope itu tidak ada di `oauth.scopes` yang disematkan, tambahkan, kemudian jalankan `/mcp` dan autentikasi server lagi. Claude Code meminta scope yang disematkan daripada scope yang dinamai server, jadi jika Anda autentikasi lagi tanpa menambahkannya, token yang Anda dapatkan masih kekurangannya.1144Jika scope itu tidak ada di `oauth.scopes` yang disematkan, tambahkan, kemudian jalankan `/mcp` dan autentikasi server lagi. Claude Code meminta scope yang disematkan daripada scope yang dinamai server, jadi jika Anda autentikasi lagi tanpa menambahkannya, token yang Anda dapatkan masih kekurangannya.

1148 1145 

1146### Gunakan OAuth dengan server di balik proxy yang melakukan autentikasi

1147 

1148Jika server MCP Anda menggunakan OAuth di balik proxy atau gateway yang memeriksa header miliknya sendiri, proses masuk gagal ketika permintaan OAuth tiba tanpa header itu. Masuk melalui proxy memerlukan Claude Code v2.1.299 atau lebih baru, dengan header dan proses masuk keduanya dikonfigurasi:

1149 

1150* **Header proxy**: teruskan dengan [`--header`](#option-1-add-a-remote-http-server), bidang `headers`, atau [`headersHelper`](#use-dynamic-headers-for-custom-authentication), dengan nama yang dibaca proxy

1151* **Proses masuk OAuth**: jangan sertakan `Authorization` dalam header yang dikonfigurasi, lalu masuk dengan `claude mcp login <name>` di shell Anda. Jika Anda mengonfigurasi header `Authorization`, Claude Code menggunakannya sebagai kredensial server dan tidak kembali ke OAuth untuk server tersebut.

1152 

1149### Gunakan header dinamis untuk autentikasi khusus1153### Gunakan header dinamis untuk autentikasi khusus

1150 1154 

1151Jika server MCP Anda menggunakan skema autentikasi selain OAuth, seperti Kerberos, token berumur pendek, atau SSO internal, gunakan `headersHelper` untuk menghasilkan header permintaan pada waktu koneksi. Claude Code menjalankan perintah dan menggabungkan outputnya ke dalam header koneksi.1155Ketika autentikasi seperti Kerberos, token berumur pendek, atau SSO internal memerlukan header yang dihasilkan pada waktu koneksi, atur `headersHelper` server ke sebuah perintah. Claude Code menjalankannya saat menghubungkan dan menggabungkan outputnya ke dalam header yang dikirimnya. Contoh ini menggunakan skrip:

1152 1156 

1153```json theme={null}1157```json theme={null}

1154{1158{


1552 1556 

1553## Tools dengan skema input yang tidak valid1557## Tools dengan skema input yang tidak valid

1554 1558 

1555Claude API memeriksa skema input setiap tool dalam permintaan dan menolak seluruh permintaan ketika salah satu skema gagal, sehingga satu tool MCP dengan skema yang salah bentuk akan membuat setiap permintaan yang menyertakannya gagal dengan kesalahan 400. Claude Code menjalankan dua pemeriksaan API itu sendiri ketika memuat tools server dan mengecualikan setiap tool yang akan gagal dalam pemeriksaan tersebut, sehingga tools lainnya di server tetap berfungsi:1559> [!NOTE]

1560>

1561> Jika sesi Anda gagal dengan kesalahan 400 yang menamai tool berdasarkan posisinya, ikuti langkah-langkah di [Tool input schema is invalid](https://code.claude.com/docs/id/errors.md#tool-input-schema-is-invalid).

1562 

1563Jika salah satu tool server MCP Anda memiliki skema input yang melanggar salah satu dari dua aturan yang diberlakukan API, Claude Code mengecualikan tool tersebut. Tools lainnya di server tidak terpengaruh. Claude Code memeriksa kedua aturan tersebut saat memuat tools server:

1556 1564 

1557* Nama properti tingkat atas harus panjangnya 1 hingga 64 karakter dan hanya menggunakan huruf ASCII dan angka, `_`, `.`, dan `-`1565* Nama properti tingkat atas harus panjangnya 1 hingga 64 karakter dan hanya menggunakan huruf ASCII dan angka, `_`, `.`, dan `-`

1558* Skema harus valid terhadap meta-skema JSON Schema draft 2020-12. Claude Code menerapkan pemeriksaan ini pada skema yang tidak mendeklarasikan `$schema` dan skema yang mendeklarasikan draft 2020-12. Skema yang mendeklarasikan dialek lain melewati pemeriksaan ini, meskipun pemeriksaan nama properti di atas tetap berlaku1566* Skema harus valid terhadap meta-skema JSON Schema draft 2020-12. Claude Code menerapkan pemeriksaan ini pada skema yang tidak mendeklarasikan `$schema` dan skema yang mendeklarasikan draft 2020-12. Skema yang mendeklarasikan dialek lain melewati pemeriksaan ini, meskipun pemeriksaan nama properti di atas tetap berlaku

1559 1567 

1560Ketika Claude Code mengecualikan tool, tool tersebut mencatat alasannya dalam log server dan memberi tahu Claude tools mana yang dikecualikan dan mengapa, sehingga Anda dapat menanyakan kepada Claude mengapa tool hilang. Jika Anda memperbaiki skema di server, tool akan kembali lagi saat Claude Code memuat tools server berikutnya.1568Ketika Claude Code mengecualikan tool, tool tersebut mencatat alasannya dalam log server dan memberi tahu Claude tools mana yang dikecualikan dan mengapa, sehingga Anda dapat menanyakan kepada Claude mengapa tool hilang. Jika Anda memperbaiki skema di server, tool akan kembali lagi saat Claude Code memuat tools server berikutnya.

1561 1569 

1562Claude Code mengaktifkan pengecualian melalui bendera fitur yang diambilnya dari Anthropic. Pada [deployment tempat pengambilan bendera dimatikan](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), atau pada mesin yang bendanya tidak pernah tiba, seperti mesin yang terisolasi udara, Claude Code tetap menjalankan pemeriksaan dan mencatat dalam log server tool mana yang akan ditolak, tetapi tetap mengirimkan skema tool ke API. API menolak permintaan yang menyertakan skema tersebut dengan [kesalahan 400 yang menamai tool berdasarkan posisinya](https://code.claude.com/docs/id/errors.md#tool-input-schema-is-invalid). Sebelum v2.1.216, tidak ada deployment yang menjalankan pemeriksaan ini.1570Ketika [pengambilan feature flag](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching) dimatikan atau flag tidak pernah tiba, seperti pada mesin yang terisolasi udara, tool yang melanggar aturan tidak dikecualikan:

1571 

1572* Claude menerima tool tanpa perubahan, dan log server mencatat `input schema would be rejected by the Anthropic API` untuk tool tersebut

1573* Jika API kemudian menolak skema tersebut, lihat [Tools yang skema inputnya ditolak API](#tools-whose-input-schema-the-api-refuses)

1574 

1575Sebelum v2.1.216, tidak ada deployment yang menjalankan pemeriksaan ini.

1563 1576 

1564Penanganan [combinator tingkat root](#tool-input-schemas-with-a-root-level-combinator) terpisah dan mempertahankan perilakunya sendiri ketika pengambilan bendera dimatikan atau bendera tidak pernah tiba.1577Penanganan [combinator tingkat root](#tool-input-schemas-with-a-root-level-combinator) terpisah dan mempertahankan perilakunya sendiri ketika pengambilan bendera dimatikan atau bendera tidak pernah tiba.

1565 1578 

1579### Tools yang skema inputnya ditolak API

1580 

1581Jika sebuah baris dalam log debug berisi `the API refused this tool's input schema`, baris tersebut menamai tool yang skemanya ditolak API dalam sebuah permintaan. Claude Code mengirim ulang permintaan tersebut dengan tool dideklarasikan tanpa parameter.

1582 

1583* **Jika sesi Anda gagal dengan kesalahan 400 yang menamai tool berdasarkan posisinya**: ikuti langkah-langkah di [Tool input schema is invalid](https://code.claude.com/docs/id/errors.md#tool-input-schema-is-invalid)

1584* **Jika Anda menggunakan server tersebut**: Anda tidak perlu melakukan apa pun. Claude tetap dapat memanggil tool tersebut, tetapi tidak melihat parameternya

1585* **Jika Anda memelihara server tersebut**: perbaiki skema input tool di server. Baris log diakhiri dengan `The API said:` dan alasan API menolak skema tersebut. Validasi argumen yang diterima server, karena Claude memanggil tool tanpa melihat parameternya

1586 

1587Sebelum v2.1.300, setiap giliran yang menyertakan skema yang ditolak gagal dengan [kesalahan 400 yang menamai tool berdasarkan posisinya](https://code.claude.com/docs/id/errors.md#tool-input-schema-is-invalid).

1588 

1566## Tool dengan nama lebih dari 128 karakter1589## Tool dengan nama lebih dari 128 karakter

1567 1590 

1568Jika `/mcp` mencantumkan tool yang tidak dapat dipanggil oleh Claude, periksa apakah nama lengkap tool tersebut lebih dari 128 karakter. Jalankan `/mcp` di sesi Anda dan pilih tool tersebut untuk melihat nama lengkapnya, seperti `mcp__<server>__<tool>`. Claude Code tidak menyertakan tool MCP dalam daftar tool yang dikirimkannya ke Claude jika nama lengkapnya lebih dari 128 karakter. Claude API menolak permintaan yang menyertakan tool semacam itu, sehingga dengan tidak menyertakan tool tersebut, tool lain dari server tetap berfungsi.1591Jika `/mcp` mencantumkan tool yang tidak dapat dipanggil oleh Claude, periksa apakah nama lengkap tool tersebut lebih dari 128 karakter. Jalankan `/mcp` di sesi Anda dan pilih tool tersebut untuk melihat nama lengkapnya, seperti `mcp__<server>__<tool>`. Claude Code tidak menyertakan tool MCP dalam daftar tool yang dikirimkannya ke Claude jika nama lengkapnya lebih dari 128 karakter. Claude API menolak permintaan yang menyertakan tool semacam itu, sehingga dengan tidak menyertakan tool tersebut, tool lain dari server tetap berfungsi.


1709 1732 

1710Sebelum v2.1.296, batas yang lebih pendek adalah 2.048 karakter, dan sebelum v2.1.295 batas tersebut berlaku untuk setiap deskripsi tool, termasuk yang dimuat melalui pencarian tool.1733Sebelum v2.1.296, batas yang lebih pendek adalah 2.048 karakter, dan sebelum v2.1.295 batas tersebut berlaku untuk setiap deskripsi tool, termasuk yang dimuat melalui pencarian tool.

1711 1734 

1712Deskripsi dan instruksi dari beberapa server MCP yang dihosting Anthropic di `api.anthropic.com` sampai ke Claude secara utuh. Untuk mengubah batas untuk server MCP lainnya dalam sesi Anda, atur [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](https://code.claude.com/docs/id/env-vars#variables) ke sejumlah karakter. Angka yang Anda atur menggantikan kedua batas: `8192`, misalnya, menaikkan batas yang lebih pendek dan menurunkan batas yang lebih panjang. Variabel ini memerlukan Claude Code v2.1.280 atau lebih baru.1735#### Ubah batas panjang deskripsi

1736 

1737Untuk mengubah [batas default](#for-mcp-server-authors) sebesar 4.096 dan 16.384 karakter untuk server MCP dalam sesi Anda, atur [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](https://code.claude.com/docs/id/env-vars#variables) ke sejumlah karakter. Claude Code menggunakan angka tersebut untuk kedua batas. Dengan `8192`, misalnya, Anda menaikkan batas 4.096 karakter pada instruksi server dan deskripsi tool yang dimuat di awal, serta menurunkan batas 16.384 karakter pada deskripsi tool yang dimuat melalui pencarian tool. Variabel ini memerlukan Claude Code v2.1.280 atau lebih baru.

1738 

1739Deskripsi dan instruksi dari beberapa server MCP yang dihosting Anthropic di `api.anthropic.com` sampai ke Claude secara utuh, dan mengatur variabel ini tidak memotongnya.

1713 1740 

1714#### Tandai tool agar dimuat di awal atau tetap ditunda1741#### Tandai tool agar dimuat di awal atau tetap ditunda

1715 1742 

Details

65| `✘ Connection error` | Upaya koneksi melempar kesalahan. Lihat [Troubleshooting](#troubleshooting) |65| `✘ Connection error` | Upaya koneksi melempar kesalahan. Lihat [Troubleshooting](#troubleshooting) |

66| ``⏸ Pending approval (run `claude` to approve)`` | Server yang dibatasi proyek yang belum Anda setujui. Lihat [Edit .mcp.json secara langsung](#edit-mcp-json-directly) |66| ``⏸ Pending approval (run `claude` to approve)`` | Server yang dibatasi proyek yang belum Anda setujui. Lihat [Edit .mcp.json secara langsung](#edit-mcp-json-directly) |

67| `⊘ Disabled for this project (re-enable via /mcp)` | Server yang dimatikan untuk proyek ini oleh daftar `disabledMcpServers` proyek. Lihat [Nonaktifkan server tanpa menghapusnya](https://code.claude.com/docs/id/mcp.md#disable-a-server-without-removing-it) |67| `⊘ Disabled for this project (re-enable via /mcp)` | Server yang dimatikan untuk proyek ini oleh daftar `disabledMcpServers` proyek. Lihat [Nonaktifkan server tanpa menghapusnya](https://code.claude.com/docs/id/mcp.md#disable-a-server-without-removing-it) |

68| `✘ Blocked by enterprise managed policy` | Salah satu kebijakan organisasi Anda memblokir server ini, sehingga Claude Code tidak akan terhubung. Tanyakan kepada administrator Anda kebijakan mana. Lihat [Status server](https://code.claude.com/docs/id/mcp.md#server-status) |

68 69 

69Beberapa konsol Windows warisan, seperti konsol default di Windows 10, tidak mendukung merek Unicode ini dan menampilkan `√` dan `×` sebagai pengganti `✔` dan `✘`.70Beberapa konsol Windows warisan, seperti konsol default di Windows 10, tidak mendukung merek Unicode ini dan menampilkan `√` dan `×` sebagai pengganti `✔` dan `✘`.

70 71 

model-config.md +18 −1

Details

689* **`/effort`**: jalankan `/effort` tanpa argumen untuk membuka slider interaktif, `/effort` diikuti dengan nama tingkat untuk menetapkannya secara langsung, atau `/effort auto` untuk menghapus tingkat tersimpan Anda untuk model aktif689* **`/effort`**: jalankan `/effort` tanpa argumen untuk membuka slider interaktif, `/effort` diikuti dengan nama tingkat untuk menetapkannya secara langsung, atau `/effort auto` untuk menghapus tingkat tersimpan Anda untuk model aktif

690* **Dalam `/model`**: gunakan tombol panah kiri/kanan untuk menyesuaikan slider effort saat memilih model690* **Dalam `/model`**: gunakan tombol panah kiri/kanan untuk menyesuaikan slider effort saat memilih model

691* **Flag `--effort`**: teruskan nama tingkat untuk menetapkannya untuk satu sesi saat meluncurkan Claude Code691* **Flag `--effort`**: teruskan nama tingkat untuk menetapkannya untuk satu sesi saat meluncurkan Claude Code

692* **Environment variable**: atur `CLAUDE_CODE_EFFORT_LEVEL` ke nama tingkat atau `auto`692* **Environment variable**: atur `CLAUDE_CODE_EFFORT_LEVEL` ke nama tingkat. Agar Claude Code [tidak mengirim tingkat effort](#send-no-effort-level), atur ke `auto` atau `unset` sebagai gantinya

693* **Pengaturan**: atur tingkat per model dalam [`modelSettings`](https://code.claude.com/docs/id/settings-reference#modelsettings), atau atur [`effortLevel`](https://code.claude.com/docs/id/settings-reference#effortlevel) ke `low`, `medium`, `high`, atau `xhigh` sebagai default untuk model yang tidak memilikinya. `max` tidak diterima sebagai tingkat di kunci mana pun, dan `ultracode` memiliki kunci [`ultracode`](https://code.claude.com/docs/id/settings-reference#ultracode) sendiri693* **Pengaturan**: atur tingkat per model dalam [`modelSettings`](https://code.claude.com/docs/id/settings-reference#modelsettings), atau atur [`effortLevel`](https://code.claude.com/docs/id/settings-reference#effortlevel) ke `low`, `medium`, `high`, atau `xhigh` sebagai default untuk model yang tidak memilikinya. `max` tidak diterima sebagai tingkat di kunci mana pun, dan `ultracode` memiliki kunci [`ultracode`](https://code.claude.com/docs/id/settings-reference#ultracode) sendiri

694* **Dari perangkat yang terhubung**: dalam sesi [Remote Control](https://code.claude.com/docs/id/remote-control.md#what-connected-devices-see), pilih tingkat dari kontrol effort pada ponsel Anda atau di browser Anda. Tingkat berlaku untuk sesi saat ini saja. Memerlukan Claude Code v2.1.234 atau lebih baru694* **Dari perangkat yang terhubung**: dalam sesi [Remote Control](https://code.claude.com/docs/id/remote-control.md#what-connected-devices-see), pilih tingkat dari kontrol effort pada ponsel Anda atau di browser Anda. Tingkat berlaku untuk sesi saat ini saja. Memerlukan Claude Code v2.1.234 atau lebih baru

695* **Frontmatter skill dan subagent**: atur `effort` dalam file markdown [skill](https://code.claude.com/docs/id/skills.md#frontmatter-reference) atau [subagent](https://code.claude.com/docs/id/sub-agents.md#supported-frontmatter-fields) untuk menimpa tingkat effort ketika skill atau subagent itu berjalan695* **Frontmatter skill dan subagent**: atur `effort` dalam file markdown [skill](https://code.claude.com/docs/id/skills.md#frontmatter-reference) atau [subagent](https://code.claude.com/docs/id/sub-agents.md#supported-frontmatter-fields) untuk menimpa tingkat effort ketika skill atau subagent itu berjalan


711 711 

712Sebelum v2.1.242, Claude Code dapat mengantrekan `/effort` itu sendiri sampai giliran selesai, dan selalu melakukannya dalam sesi yang tidak [mengambil feature flag](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), seperti pada [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md).712Sebelum v2.1.242, Claude Code dapat mengantrekan `/effort` itu sendiri sampai giliran selesai, dan selalu melakukannya dalam sesi yang tidak [mengambil feature flag](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), seperti pada [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md).

713 713 

714#### Tidak mengirim tingkat effort

715 

716Ketika Claude Code tidak mengirim tingkat effort ke [model yang didukung](#adjust-effort-level), [default API](https://platform.claude.com/docs/en/build-with-claude/effort) berlaku alih-alih default Claude Code. Agar Claude Code tidak mengirim tingkat apa pun, mulai `claude` dari shell yang mengekspor `CLAUDE_CODE_EFFORT_LEVEL` dengan nilai `auto` atau nilai `unset`, yang melakukan hal yang sama:

717 

718```bash theme={null}

719export CLAUDE_CODE_EFFORT_LEVEL=auto

720```

721 

722Header dan footer sesi tidak menampilkan tingkat effort selama tidak ada yang dikirim. Untuk mengonfirmasi bahwa tidak ada yang dikirim, jalankan `/effort status` di prompt Claude Code:

723 

724* **`Effort level: auto`**: tidak ada tingkat effort yang dikirim.

725* **`Effort level: auto (currently <level>)`**: suatu tingkat masih dikirim. Jika pengaturan [`maxEffortLevel`](https://code.claude.com/docs/id/settings-reference#maxeffortlevel) di bawah `max` berlaku untuk model aktif, Claude Code mengirim default-nya sendiri untuk model tersebut, diturunkan ke batas itu. Hapus pengaturan tersebut atau atur ke `max`.

726 

727> [!NOTE]

728>

729> Sebelum v2.1.304, `/effort status` mencetak `Effort level: auto (currently high)` bahkan ketika tidak ada tingkat yang dikirim.

730 

714#### Penalaran adaptif dan thinking budget tetap731#### Penalaran adaptif dan thinking budget tetap

715 732 

716Penalaran adaptif membuat thinking opsional pada setiap langkah, jadi Claude dapat merespons lebih cepat terhadap prompt rutin dan menyisihkan pemikiran lebih dalam untuk langkah-langkah yang mendapat manfaat darinya. Jika Anda ingin Claude berpikir lebih atau kurang sering daripada yang dihasilkan tingkat saat ini, Anda dapat menyatakannya langsung dalam prompt Anda atau dalam `CLAUDE.md`; model merespons panduan itu dalam pengaturan effort-nya.733Penalaran adaptif membuat thinking opsional pada setiap langkah, jadi Claude dapat merespons lebih cepat terhadap prompt rutin dan menyisihkan pemikiran lebih dalam untuk langkah-langkah yang mendapat manfaat darinya. Jika Anda ingin Claude berpikir lebih atau kurang sering daripada yang dihasilkan tingkat saat ini, Anda dapat menyatakannya langsung dalam prompt Anda atau dalam `CLAUDE.md`; model merespons panduan itu dalam pengaturan effort-nya.

Details

861* `output_tokens`: Jumlah token output861* `output_tokens`: Jumlah token output

862* `cache_read_tokens`: Jumlah token yang dibaca dari cache862* `cache_read_tokens`: Jumlah token yang dibaca dari cache

863* `cache_creation_tokens`: Jumlah token yang digunakan untuk pembuatan cache863* `cache_creation_tokens`: Jumlah token yang digunakan untuk pembuatan cache

864* `cache_creation_5m_tokens`, `cache_creation_1h_tokens`: jumlah token yang dilaporkan respons API sebagai ditulis ke cache dengan [masa berlaku cache](https://code.claude.com/docs/id/prompt-caching.md#cache-lifetime) lima menit dan jumlah yang ditulis dengan masa berlaku satu jam. Keduanya bernilai `0` jika respons API tidak melaporkannya, bahkan saat `cache_creation_tokens` di atas nol. Memerlukan Claude Code v2.1.300 atau lebih baru

864* `request_id`: ID permintaan API, seperti `"req_011..."`, dijelaskan di bawah [Atribut korelasi event](#event-correlation-attributes).865* `request_id`: ID permintaan API, seperti `"req_011..."`, dijelaskan di bawah [Atribut korelasi event](#event-correlation-attributes).

865* `client_request_id`: UUID yang dibuat klien dan dikirim sebagai header permintaan `x-client-request-id`; lihat tabel [atribut korelasi event](#event-correlation-attributes) untuk kapan atribut ini ada866* `client_request_id`: UUID yang dibuat klien dan dikirim sebagai header permintaan `x-client-request-id`; lihat tabel [atribut korelasi event](#event-correlation-attributes) untuk kapan atribut ini ada

866* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah fast mode aktif867* `speed`: `"fast"` atau `"normal"`, menunjukkan apakah fast mode aktif

Details

287claude --permission-mode acceptEdits287claude --permission-mode acceptEdits

288```288```

289 289 

290## Analisis sebelum Anda mengedit dengan Plan Mode290## Analisis sebelum mengedit dengan plan mode

291 291 

292Plan Mode memberi tahu Claude untuk meneliti dan mengusulkan perubahan tanpa membuatnya. Claude membaca file, menjalankan perintah shell untuk menjelajahi, dan menulis rencana, tetapi tidak mengedit sumber Anda. Kecuali dalam sesi terminal interaktif dengan [bypass permissions tersedia](#skip-all-checks-with-bypasspermissions-mode), pengeditan tetap diblokir sampai Anda menyetujui rencana.292Plan mode memberi tahu Claude untuk meneliti dan mengusulkan perubahan tanpa menerapkannya. Claude membaca file, menjalankan perintah shell untuk menjelajah, dan menulis rencana, tetapi tidak mengedit kode sumber Anda. Kecuali dalam sesi terminal interaktif dengan [bypass permissions tersedia](#skip-all-checks-with-bypasspermissions-mode), pengeditan tetap diblokir sampai Anda menyetujui rencana tersebut.

293 293 

294Apa yang terjadi pada perintah shell selama perencanaan tergantung pada sesi, dan yang pertama dari kasus-kasus ini yang cocok berlaku:294Apa yang terjadi pada perintah shell selama perencanaan bergantung pada sesi, dan kasus pertama berikut yang cocok akan berlaku:

295 295 

296* **Sesi terminal interaktif dengan bypass permissions tersedia**: baik pengklasifikasi maupun prompt tidak berlaku untuk perintah perencanaan. [Lewati semua pemeriksaan dengan bypassPermissions mode](#skip-all-checks-with-bypasspermissions-mode) mencakup beberapa hal yang masih meminta di sana.296* **Sesi terminal interaktif dengan bypass permissions tersedia**: baik pengklasifikasi maupun permintaan izin tidak berlaku untuk perintah perencanaan. [Lewati semua pemeriksaan dengan mode bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) membahas beberapa hal yang masih memunculkan permintaan izin di sana.

297* **[Auto mode](https://code.claude.com/docs/id/auto-mode-config.md) tersedia dan pengaturan `useAutoModeDuringPlan` aktif**, yang merupakan default: pengklasifikasi meninjau perintah shell selain [critical-path removals](#critical-paths) alih-alih meminta Anda. Perintah yang disetujui berjalan, dan yang ditolak diblokir.297* **[Auto mode](https://code.claude.com/docs/id/auto-mode-config.md) tersedia dan pengaturan `useAutoModeDuringPlan` aktif**, yang merupakan default: pengklasifikasi meninjau perintah shell selain [penghapusan jalur kritis](#critical-paths) alih-alih meminta persetujuan Anda. Perintah yang disetujui dijalankan, dan yang ditolak diblokir.

298* **Auto mode tidak tersedia, atau `useAutoModeDuringPlan` mati**: perintah di luar [set bawaan read-only](https://code.claude.com/docs/id/permissions.md#read-only-commands) meminta persetujuan, termasuk ketika [auto-allow mode](https://code.claude.com/docs/id/sandboxing.md#sandbox-modes) sandbox diaktifkan.298* **Auto mode tidak tersedia, atau `useAutoModeDuringPlan` nonaktif**: perintah di luar [kumpulan read-only bawaan](https://code.claude.com/docs/id/permissions.md#read-only-commands) memunculkan permintaan persetujuan, termasuk ketika [mode auto-allow](https://code.claude.com/docs/id/sandboxing.md#sandbox-modes) sandbox diaktifkan.

299 299 

300Masukkan Plan Mode dengan menekan `Shift+Tab` atau mengawali prompt tunggal dengan `/plan`. Anda juga dapat memulai dalam Plan Mode dari CLI:300Masuk ke plan mode dengan menekan `Shift+Tab` atau memberi awalan `/plan` pada satu prompt. Anda juga dapat memulai dalam plan mode dari CLI:

301 301 

302```bash theme={null}302```bash theme={null}

303claude --permission-mode plan303claude --permission-mode plan

304```304```

305 305 

306Tekan `Shift+Tab` lagi untuk meninggalkan Plan Mode tanpa menyetujui rencana.306Tekan `Shift+Tab` lagi untuk keluar dari plan mode tanpa menyetujui rencana.

307 307 

308### Tinjau dan setujui rencana308### Meninjau dan menyetujui rencana

309 309 

310Ketika rencana siap, Claude menyajikannya dan menanyakan cara melanjutkan. Dari prompt itu Anda dapat memilih:310Ketika rencana sudah siap, Claude menyajikannya dan menanyakan cara melanjutkan. Dari permintaan tersebut Anda dapat memilih:

311 311 

312* **Ya, dan gunakan auto mode**: setujui dan mulai dalam [auto mode](#eliminate-prompts-with-auto-mode). Jika auto mode tidak [tersedia untuk sesi Anda](#eliminate-prompts-with-auto-mode), misalnya karena organisasi Anda mematikannya, opsi ini berbunyi **Ya, auto-accept edits**. Jika Anda memulai sesi dengan bypass permissions diaktifkan, opsi berbunyi **Ya, dan beralih ke BYPASS PERMISSIONS (tidak ada prompt lebih lanjut) untuk sesi ini** sebagai gantinya.312* **Yes, and use auto mode**: menyetujui dan memulai dalam [auto mode](#eliminate-prompts-with-auto-mode). Jika auto mode tidak [tersedia untuk sesi Anda](#eliminate-prompts-with-auto-mode), misalnya karena organisasi Anda menonaktifkannya, opsi ini bertuliskan **Yes, auto-accept edits**. Jika Anda memulai sesi dengan bypass permissions diaktifkan, opsi ini bertuliskan **Yes, and switch to BYPASS PERMISSIONS (no further prompts) for this session** sebagai gantinya.

313* **Ya, secara manual setujui pengeditan**: setujui dan tinjau setiap pengeditan secara individual.313* **Yes, manually approve edits**: menyetujui dan meninjau setiap pengeditan satu per satu.

314* **Tidak, terus merencanakan**: tetap dalam Plan Mode dan beri tahu Claude apa yang harus diubah.314* **No, keep planning**: tetap dalam plan mode dan memberi tahu Claude apa yang perlu diubah.

315 315 

316Menyetujui rencana keluar dari Plan Mode dan mengalihkan sesi ke mode izin yang dijelaskan setiap opsi persetujuan, sehingga Claude mulai mengedit. Untuk merencanakan lagi, siklus kembali ke Plan Mode dengan `Shift+Tab`, atau awali prompt berikutnya dengan `/plan`.316Menyetujui rencana akan keluar dari plan mode dan mengalihkan sesi ke mode izin yang dijelaskan oleh setiap opsi persetujuan, sehingga Claude mulai mengedit. Untuk merencanakan lagi, kembali ke plan mode dengan `Shift+Tab`, atau beri awalan `/plan` pada prompt Anda berikutnya.

317 317 

318Tekan `Ctrl+G` untuk membuka rencana yang diusulkan di editor teks default Anda dan mengeditnya langsung sebelum Claude melanjutkan. Ketika [`showClearContextOnPlanAccept`](https://code.claude.com/docs/id/settings-reference#showclearcontextonplanaccept) diaktifkan, daftar mendapat opsi pertama yang menyetujui rencana dan menghapus konteks perencanaan.318Tekan `Ctrl+G` untuk membuka rencana yang diusulkan di editor teks default Anda dan mengeditnya secara langsung sebelum Claude melanjutkan. Ketika [`showClearContextOnPlanAccept`](https://code.claude.com/docs/id/settings-reference#showclearcontextonplanaccept) diaktifkan, daftar tersebut mendapatkan opsi pertama yang menyetujui rencana dan menghapus konteks perencanaan.

319 319 

320Menerima rencana juga memberi sesi [judul yang dihasilkan](https://code.claude.com/docs/id/sessions.md#name-your-sessions) berdasarkan rencana, kecuali Anda telah menamai sesi.320Menerima rencana juga memberi sesi sebuah [judul yang dihasilkan](https://code.claude.com/docs/id/sessions.md#name-your-sessions) berdasarkan rencana tersebut, kecuali Anda sudah memberi nama sesi.

321 321 

322### Atur Plan Mode sebagai default322### Menetapkan plan mode sebagai default

323 323 

324Untuk membuat Plan Mode default untuk sesi terminal proyek, atur `defaultMode` ke `plan` dalam `.claude/settings.json`, ditempatkan seperti contoh di bawah [Mulai dalam mode izin yang berbeda](#start-in-a-different-mode) menunjukkan. Percakapan yang dimulai [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md) tidak membaca pengaturan proyek untuk mode izin awal. Di sana, atur `claudeCode.initialPermissionMode` ke `plan` dalam pengaturan pengguna VS Code Anda sebagai gantinya.324Untuk menjadikan plan mode sebagai default untuk sesi terminal suatu proyek, atur `defaultMode` ke `plan` di `.claude/settings.json`, ditempatkan seperti yang ditunjukkan contoh di bagian [Memulai dalam mode izin yang berbeda](#start-in-a-different-mode). Percakapan yang dimulai oleh [ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md) tidak membaca pengaturan proyek untuk mode izin awal. Di sana, atur `claudeCode.initialPermissionMode` ke `plan` di pengaturan pengguna VS Code Anda sebagai gantinya.

325 325 

326## Hilangkan permintaan izin dengan auto mode326## Hilangkan permintaan izin dengan auto mode

327 327 

permissions.md +1 −1

Details

739* Aturan ask yang dibatasi konten seperti `Bash(git push *)` masih memaksa prompt739* Aturan ask yang dibatasi konten seperti `Bash(git push *)` masih memaksa prompt

740* Perintah lain yang di-sandbox juga dapat melalui alur izin reguler, sebagaimana dijelaskan dalam [mode Auto-allow](https://code.claude.com/docs/id/sandboxing.md#auto-allow-mode)740* Perintah lain yang di-sandbox juga dapat melalui alur izin reguler, sebagaimana dijelaskan dalam [mode Auto-allow](https://code.claude.com/docs/id/sandboxing.md#auto-allow-mode)

741 741 

742Perintah yang tidak akan berjalan di-sandbox, seperti perintah yang dikecualikan, menghormati aturan ask `Bash` biasa seperti biasanya. Lihat [sandbox modes](https://code.claude.com/docs/id/sandboxing.md#sandbox-modes) untuk mengubah perilaku ini.742Perintah yang tidak akan berjalan di-sandbox, seperti perintah yang dikecualikan, menghormati aturan ask `Bash` biasa seperti biasanya. Lihat [mode sandbox](https://code.claude.com/docs/id/sandboxing.md#sandbox-modes) untuk mengubah perilaku ini.

743 743 

744## Pengaturan terkelola744## Pengaturan terkelola

745 745 

Details

4 4 

5# Marketplace Anthropic5# Marketplace Anthropic

6 6 

7> Marketplace plugin resmi, komunitas, dan demo dari Anthropic untuk Claude Code: nama, repositori, cara menambahkan masing-masing, dan tempat menelusuri plugin-pluginnya.7> Marketplace plugin resmi dan komunitas dari Anthropic untuk Claude Code: nama, repositori, cara menambahkan masing-masing, dan tempat menelusuri plugin-pluginnya.

8 8 

9Anthropic menerbitkan tiga marketplace plugin serbaguna untuk Claude Code: [resmi](https://github.com/anthropics/claude-plugins-official), [komunitas](https://github.com/anthropics/claude-plugins-community), dan [demo](https://github.com/anthropics/claude-code). Masing-masing adalah katalog plugin di repositori GitHub-nya sendiri. Saat Anda menginstal plugin dari salah satunya dalam sesi Claude Code, Anda mengetikkan nama marketplace setelah `@`, seperti pada `/plugin install commit-commands@claude-plugins-official`.9Anthropic menerbitkan dua marketplace plugin serbaguna untuk Claude Code: [resmi](https://github.com/anthropics/claude-plugins-official) dan [komunitas](https://github.com/anthropics/claude-plugins-community). Masing-masing adalah katalog plugin di repositori GitHub-nya sendiri. Saat Anda menginstal plugin dari salah satunya dalam sesi Claude Code, Anda mengetikkan nama marketplace setelah `@`, seperti pada `/plugin install commit-commands@claude-plugins-official`.

10 10 

11Gunakan halaman ini untuk membedakan ketiga marketplace tersebut dan untuk menemukan tempat memeriksa apakah marketplace resmi memuat plugin tertentu.11Gunakan halaman ini untuk membedakan kedua marketplace tersebut dan untuk menemukan tempat memeriksa apakah marketplace resmi memuat plugin tertentu.

12 12 

13> [!NOTE]13> [!NOTE]

14>14>


19 19 

20Buka bagian halaman yang Anda perlukan:20Buka bagian halaman yang Anda perlukan:

21 21 

22* Untuk membedakan ketiga marketplace berdasarkan repositori, nama marketplace, dan cara mendapatkan masing-masing, lihat [Marketplace Anthropic](#anthropic’s-marketplaces).22* Untuk membedakan kedua marketplace berdasarkan repositori, nama marketplace, dan cara mendapatkan masing-masing, lihat [Marketplace Anthropic](#anthropic’s-marketplaces).

23* Untuk menemukan plugin di marketplace resmi, lihat [Temukan plugin di marketplace resmi](#find-plugins-in-the-official-marketplace).23* Untuk menemukan plugin di marketplace resmi, lihat [Temukan plugin di marketplace resmi](#find-plugins-in-the-official-marketplace).

24 24 

25## Marketplace Anthropic25## Marketplace Anthropic

26 26 

27Marketplace adalah katalog plugin yang didefinisikan oleh sebuah repositori dalam file `.claude-plugin/marketplace.json`-nya. Marketplace resmi, komunitas, dan demo masing-masing berasal dari repositori GitHub-nya sendiri. Anthropic juga menerbitkan marketplace khusus topik, seperti `anthropics/skills` dan `anthropics/knowledge-work-plugins`, yang Anda tambahkan dalam sesi Claude Code dengan `/plugin marketplace add <owner>/<repo>`.27Marketplace adalah katalog plugin yang didefinisikan oleh sebuah repositori dalam file `.claude-plugin/marketplace.json`-nya. Marketplace resmi dan komunitas masing-masing berasal dari repositori GitHub-nya sendiri. Anthropic juga menerbitkan marketplace khusus topik, seperti `anthropics/skills` dan `anthropics/knowledge-work-plugins`, yang Anda tambahkan dalam sesi Claude Code dengan `/plugin marketplace add <owner>/<repo>`.

28 28 

29Tabel ini mencantumkan repositori dan nama marketplace masing-masing, yaitu yang Anda ketikkan setelah `@` saat menginstal plugin dari marketplace tersebut. Nama marketplace komunitas adalah `claude-community`, bukan nama repositorinya.29Tabel ini mencantumkan repositori dan nama marketplace masing-masing, yaitu yang Anda ketikkan setelah `@` saat menginstal plugin dari marketplace tersebut. Nama marketplace komunitas adalah `claude-community`, bukan nama repositorinya.

30 30 

31| | Resmi | Komunitas | Demo |31| | Resmi | Komunitas |

32| :- | :- | :- | :- |32| :- | :- | :- |

33| Repositori | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) | [`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/plugins) |33| Repositori | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) |

34| Nama marketplace | `claude-plugins-official` | `claude-community` | `claude-code-plugins` |34| Nama marketplace | `claude-plugins-official` | `claude-community` |

35| Isinya | Plugin yang dikelola Anthropic, ditambah plugin dari mitra dan penulis lain | Plugin pihak ketiga yang diajukan oleh penulisnya kepada Anthropic | Sekumpulan kecil contoh plugin yang menunjukkan apa saja yang dapat dimuat sebuah plugin |35| Isinya | Plugin yang dikelola Anthropic, ditambah plugin dari mitra dan penulis lain | Plugin pihak ketiga yang diajukan oleh penulisnya kepada Anthropic |

36| Cara mendapatkannya | Claude Code menambahkannya saat pertama kali Anda memulai sesi terminal interaktif, kecuali [kebijakan terkelola](https://code.claude.com/docs/id/plugins/org.md#allow-the-official-marketplace-and-your-own) atau `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` memblokirnya. Lihat [Marketplace `claude-plugins-official` tidak ditemukan](https://code.claude.com/docs/id/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) jika marketplace ini tidak ada | Anda menambahkannya dalam sesi Claude Code dengan `/plugin marketplace add anthropics/claude-plugins-community` | Anda menambahkannya dalam sesi Claude Code dengan `/plugin marketplace add anthropics/claude-code` |36| Cara mendapatkannya | Claude Code menambahkannya saat pertama kali Anda memulai sesi terminal interaktif, kecuali [kebijakan terkelola](https://code.claude.com/docs/id/plugins/org.md#allow-the-official-marketplace-and-your-own) atau `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` memblokirnya. Lihat [Marketplace `claude-plugins-official` tidak ditemukan](https://code.claude.com/docs/id/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) jika marketplace ini tidak ada | Anda menambahkannya dalam sesi Claude Code dengan `/plugin marketplace add anthropics/claude-plugins-community` |

37 37 

38Jika Anda menulis plugin dan ingin orang lain menginstalnya, lihat [Terbitkan plugin](https://code.claude.com/docs/id/plugins/publish.md), yang membahas marketplace Anda sendiri dan pengajuan ke direktori Anthropic.38Jika Anda menulis plugin dan ingin orang lain menginstalnya, lihat [Terbitkan plugin](https://code.claude.com/docs/id/plugins/publish.md), yang membahas marketplace Anda sendiri dan pengajuan ke direktori Anthropic.

39 39 

40### Marketplace demo di `anthropics/claude-code`40### Marketplace `claude-code-plugins` yang sudah deprecated

41 41 

42Jika sebuah tutorial atau serangkaian instruksi lama meminta Anda menjalankan `/plugin marketplace add anthropics/claude-code`, perintah itu menambahkan marketplace demo, yang bernama `claude-code-plugins`. Itu bukan marketplace resmi.42> [!WARNING]

43>

44> Marketplace `claude-code-plugins` di `anthropics/claude-code` sudah deprecated. Untuk menambahkan plugin, jalankan `claude plugin install <plugin>@claude-plugins-official` di shell Anda, dan lewati langkah tutorial apa pun yang menjalankan `/plugin marketplace add anthropics/claude-code`.

45 

46Kecuali Anda memiliki salah satu dari dua plugin di bawah ini, Anda dapat membiarkan plugin `claude-code-plugins` Anda dan marketplace tersebut apa adanya. Plugin-plugin tersebut diperbarui dari repositori `claude-plugins-official`.

43 47 

44Sebagian besar plugin di marketplace demo juga ada di marketplace resmi dengan nama yang sama. Misalnya, `code-review`, `feature-dev`, dan `commit-commands` ada di keduanya. Instal plugin-plugin tersebut dari `claude-plugins-official` agar Anda tidak memiliki dua salinan yang terinstal.48* **`ralph-wiggum`**: plugin ini sekarang bernama `ralph-loop`, dan perintahnya diawali dengan `/ralph-loop:`. Jika perintah-perintah tersebut tidak tersedia, jalankan `claude plugin install ralph-loop@claude-plugins-official` di shell Anda.

49* **`claude-opus-4-5-migration`**: plugin ini sudah tidak digunakan lagi, jadi hapus dengan menjalankan `claude plugin uninstall claude-opus-4-5-migration@claude-code-plugins` di shell Anda.

50 

51Jika ada plugin lain yang berhenti berfungsi, lihat [Plugin terinstal tetapi tidak berfungsi](https://code.claude.com/docs/id/plugins/troubleshooting.md#plugin-installed-but-not-working).

45 52 

46## Temukan plugin di marketplace resmi53## Temukan plugin di marketplace resmi

47 54 


62 69 

63Untuk menginstal dari aplikasi desktop atau dari skrip, atau untuk melihat apa yang dimuat oleh sesi cloud, lihat [Instal plugin](https://code.claude.com/docs/id/plugins/install.md).70Untuk menginstal dari aplikasi desktop atau dari skrip, atau untuk melihat apa yang dimuat oleh sesi cloud, lihat [Instal plugin](https://code.claude.com/docs/id/plugins/install.md).

64 71 

65### Tambahkan marketplace komunitas atau demo72### Tambahkan marketplace komunitas

66 

67Marketplace komunitas dan demo tidak terdaftar sampai Anda menambahkannya dalam sesi Claude Code:

68 73 

69* **Komunitas**: jalankan `/plugin marketplace add anthropics/claude-plugins-community`, lalu instal dengan sufiks `@claude-community`.74Marketplace komunitas tidak terdaftar sampai Anda menambahkannya. Dalam sesi Claude Code, jalankan `/plugin marketplace add anthropics/claude-plugins-community`, lalu instal dengan sufiks `@claude-community`.

70* **Demo**: jalankan `/plugin marketplace add anthropics/claude-code`, lalu instal dengan sufiks `@claude-code-plugins`.

71 75 

72Jika `claude-plugins-official` tidak ada di tab **Marketplaces** pada `/plugin`, tambahkan dengan cara yang sama menggunakan `/plugin marketplace add anthropics/claude-plugins-official`.76Jika `claude-plugins-official` tidak ada di tab **Marketplaces** pada `/plugin`, tambahkan dengan cara yang sama menggunakan `/plugin marketplace add anthropics/claude-plugins-official`.

73 77 

Details

638| Exit code | Baris putusan | Arti |638| Exit code | Baris putusan | Arti |

639| :- | :- | :- |639| :- | :- | :- |

640| `0` | `Validation passed` atau `Validation passed with warnings` | Manifes dapat dimuat. Dengan `--strict`, juga tanpa peringatan |640| `0` | `Validation passed` atau `Validation passed with warnings` | Manifes dapat dimuat. Dengan `--strict`, juga tanpa peringatan |

641| `1` | `Validation failed` atau `Validation failed (--strict treats warnings as errors)` | Kesalahan, atau peringatan di bawah `--strict` |641| `1` | `Validation failed` atau `Validation failed (--strict treats warnings as errors)` | Kesalahan, atau peringatan di bawah `--strict`. [Saran](#advice-on-the-readme) tidak dihitung, dengan atau tanpa `--strict` |

642| `2` | `Unexpected error during validation: <reason>` | Validator itu sendiri gagal, seperti pada path yang tidak dapat dibaca |642| `2` | `Unexpected error during validation: <reason>` | Validator itu sendiri gagal, seperti pada path yang tidak dapat dibaca |

643 643 

644Dengan `--json`, Claude Code menulis laporan ke stdout sebagai satu objek JSON dengan field tingkat atas berikut:644Dengan `--json`, Claude Code menulis laporan ke stdout sebagai satu objek JSON dengan field tingkat atas berikut:


647* `strict`: apakah eksekusi memperlakukan peringatan sebagai kesalahan647* `strict`: apakah eksekusi memperlakukan peringatan sebagai kesalahan

648* `target`: path yang telah di-resolve yang divalidasi Claude Code648* `target`: path yang telah di-resolve yang divalidasi Claude Code

649* `manifest`: hasil manifes itu sendiri, atau `null` untuk eksekusi tanpa manifes649* `manifest`: hasil manifes itu sendiri, atau `null` untuk eksekusi tanpa manifes

650* `contents`: hasil per file, masing-masing menyebutkan `file`-nya dan membawa array `errors`, `warnings`, dan `notes`650* `contents`: hasil per file, masing-masing menyebutkan `file`-nya dan membawa array `errors`, `warnings`, dan `notes`. File tanpa kesalahan, peringatan, atau catatan tidak mendapat entri, sehingga `contents` kosong jika tidak ada yang perlu dilaporkan. Untuk [direktori dengan `marketplace.json` dan `plugin.json`](#validate-a-directory), `manifest` adalah hasil `marketplace.json` dan hasil `plugin.json` dimasukkan ke `contents`

651 * `gatingHooks`: apakah setiap hook [mod](https://code.claude.com/docs/id/plugins/mods/overview.md) yang dapat menolak suatu tindakan, seperti hook `tool.call`, memiliki [handler `.catch`](https://code.claude.com/docs/id/plugins/mods/events#handle-a-hook-that-fails). Setiap item memberikan `module`, `pattern`, `hook`, dan `hasCatch`. Memerlukan Claude Code v2.1.290 atau yang lebih baru651 * `gatingHooks`: apakah setiap hook [mod](https://code.claude.com/docs/id/plugins/mods/overview.md) yang dapat menolak suatu tindakan, seperti hook `tool.call`, memiliki [handler `.catch`](https://code.claude.com/docs/id/plugins/mods/events#handle-a-hook-that-fails). Setiap item memberikan `module`, `pattern`, `hook`, dan `hasCatch`. Memerlukan Claude Code v2.1.290 atau yang lebih baru

652* `advice`: [saran](#advice-on-the-readme) dari eksekusi, masing-masing entri menyebutkan README sebagai `file` dan membawa `message` serta `installLine` untuk ditempelkan. Kosong jika tidak ada. Memerlukan Claude Code v2.1.295 atau yang lebih baru

652 653 

653Pada exit `2`, perintah tidak menulis apa pun ke stdout. Pesan kesalahan dikirim ke stderr.654Pada exit `2`, perintah tidak menulis apa pun ke stdout. Pesan kesalahan dikirim ke stderr.

654 655 

656#### Saran pada README

657 

658Blok `Advice` dalam output `claude plugin validate` berarti README plugin tidak memiliki baris yang menginstal plugin dari marketplace, dan blok tersebut memberi Anda baris untuk ditambahkan. Saran bukan kesalahan maupun peringatan. Saran tidak mengubah baris putusan atau exit code, dengan atau tanpa `--strict`. Fitur ini memerlukan Claude Code v2.1.295 atau yang lebih baru.

659 

660Misalnya, memvalidasi direktori marketplace `acme-tools` mencetak saran ini untuk plugin `deploy-helper`-nya:

661 

662```text theme={null}

663Validating marketplace manifest: /path/to/acme-tools/.claude-plugin/marketplace.json

664 

665ℹ Advice (does not change the verdict):

666 

667 ❯ /path/to/acme-tools/plugins/deploy-helper/README.md: This README has no line that installs "deploy-helper" from a marketplace. Add the install line, which works in one step on Claude Code 2.1.275 or later.

668 /plugin install deploy-helper --marketplace acme/tools

669 

670✔ Validation passed

671```

672 

673Untuk menghilangkan saran tersebut, tempelkan baris yang disarankan ke README yang disebutkannya, lalu jalankan `claude plugin validate` lagi di shell Anda. Blok `Advice` akan hilang.

674 

675Jika baris yang disarankan berisi placeholder `<owner>/<repo>`, menempelkannya tanpa perubahan tidak akan menghilangkan saran tersebut. Dapatkan sumber yang sebenarnya terlebih dahulu:

676 

677* **Anda memvalidasi direktori plugin itu sendiri**: ketika marketplace mencantumkan plugin dari direktori di dalam direktorinya sendiri, validasi direktori tersebut sebagai gantinya. Ketika marketplace mencantumkan plugin dari tempat lain, seperti repositori GitHub, isi `<owner>/<repo>` sendiri

678* **Anda memvalidasi direktori marketplace**: Claude Code mengisi sumber dari remote `origin` milik direktori `.git` di tingkat teratas direktori tersebut. Ketika Claude Code tidak dapat menggunakan remote tersebut, seperti ketika remote tidak ada, ganti `<owner>/<repo>` dengan sumber marketplace Anda sendiri

679 

680Baris instalasi yang sudah Anda tulis dihitung ketika `plugin install`, atau bentuk singkatnya `plugin i`, diikuti pada baris yang sama oleh salah satu dari berikut ini. Penulisan `/plugin` dan `claude plugin` sama-sama dihitung:

681 

682* `<plugin>@<marketplace>`, seperti `/plugin install deploy-helper@acme-tools`

683* Nama plugin dan `--marketplace <source>`, seperti `/plugin install deploy-helper --marketplace acme/tools`

684 

655## Perintah claude plugin marketplace685## Perintah claude plugin marketplace

656 686 

657Jalankan `claude plugin marketplace <subcommand>` dari shell Anda untuk menambah, mencantumkan, menyegarkan, dan menghapus marketplace yang Anda instal plugin.687Jalankan `claude plugin marketplace <subcommand>` dari shell Anda untuk menambah, mencantumkan, menyegarkan, dan menghapus marketplace yang Anda instal plugin.

Details

376* [Plugin structure and testing](https://claude.com/docs/plugins/build): folder plugin yang sama dipasang di claude.ai dan di Cowork. Beberapa komponen hanya Claude Code, dan [tabel dukungan komponen](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) mencantumkan mana yang dimuat di setiap permukaan376* [Plugin structure and testing](https://claude.com/docs/plugins/build): folder plugin yang sama dipasang di claude.ai dan di Cowork. Beberapa komponen hanya Claude Code, dan [tabel dukungan komponen](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) mencantumkan mana yang dimuat di setiap permukaan

377* [Plugin manifest reference](https://code.claude.com/docs/id/plugins/manifest-reference.md): setiap field `plugin.json`, aturan path, dan direktori377* [Plugin manifest reference](https://code.claude.com/docs/id/plugins/manifest-reference.md): setiap field `plugin.json`, aturan path, dan direktori

378* [Skills](https://code.claude.com/docs/id/skills.md): tulis skills yang disediakan plugin Anda378* [Skills](https://code.claude.com/docs/id/skills.md): tulis skills yang disediakan plugin Anda

379* [Anthropic's plugins in the claude-code repository](https://github.com/anthropics/claude-code/tree/main/plugins): contoh lengkap yang dikerjakan dari layout di halaman ini, seperti `feature-dev` dan `code-review`379* [Anthropic's plugins in the claude-plugins-official repository](https://github.com/anthropics/claude-plugins-official/tree/main/plugins): contoh lengkap yang dikerjakan dari layout di halaman ini, seperti `feature-dev` dan `code-review`

Details

220 220 

221## Hosting marketplace Anda221## Hosting marketplace Anda

222 222 

223Setelah Anda dapat menginstal plugin dari marketplace di mesin Anda sendiri, seperti dalam [Buat marketplace](#create-a-marketplace), dorong direktori marketplace ke host git.223Setelah Anda dapat menginstal plugin dari marketplace di mesin Anda sendiri, seperti dalam [Buat marketplace](#create-a-marketplace), dorong direktori marketplace ke host git. Sebelum Anda melakukan push, berikan marketplace sebuah `name` tingkat atas yang kemungkinan kecil dipilih oleh pembuat lain, karena seorang pengguna [tidak dapat memiliki dua marketplace dengan nama yang sama](https://code.claude.com/docs/id/plugins/marketplace-reference.md#marketplace-file).

224 224 

225Rekan tim Anda kemudian menjalankan `claude plugin marketplace add <owner>/<repo>` di shell mereka untuk repositori GitHub, atau perintah yang sama dengan URL repositori. Mereka kemudian menginstal plugin berdasarkan nama seperti dalam [panduan walkthrough](#create-a-marketplace).225Rekan tim Anda kemudian menjalankan `claude plugin marketplace add <owner>/<repo>` di shell mereka untuk repositori GitHub, atau perintah yang sama dengan URL repositori. Mereka kemudian menginstal plugin berdasarkan nama seperti dalam [panduan walkthrough](#create-a-marketplace).

226 226 

Details

193 193 

194| Source | What you type | Example |194| Source | What you type | Example |

195| :- | :- | :- |195| :- | :- | :- |

196| GitHub repository | `owner/repo`. Tambahkan `#ref` untuk menyematkan branch atau tag. | `/plugin marketplace add anthropics/claude-code`, atau `/plugin marketplace add your-org/plugins#v1.2.0` untuk menyematkan tag `v1.2.0` |196| GitHub repository | `owner/repo`. Tambahkan `#ref` untuk menyematkan branch atau tag. | `/plugin marketplace add anthropics/claude-plugins-official`, atau `/plugin marketplace add your-org/plugins#v1.2.0` untuk menyematkan tag `v1.2.0` |

197| Git repository on any host | URL clone lengkap. Tambahkan `#ref` untuk menyematkan branch atau tag. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |197| Git repository on any host | URL clone lengkap. Tambahkan `#ref` untuk menyematkan branch atau tag. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |

198| Local directory or file | Jalur relatif atau absolut ke direktori yang menyimpan `.claude-plugin/marketplace.json`, atau ke file JSON itu sendiri. Mulai jalur relatif dengan `./` atau `../`, karena Claude Code membaca `name/name` telanjang sebagai repository GitHub. | `/plugin marketplace add ./my-marketplace` |198| Local directory or file | Jalur relatif atau absolut ke direktori yang menyimpan `.claude-plugin/marketplace.json`, atau ke file JSON itu sendiri. Mulai jalur relatif dengan `./` atau `../`, karena Claude Code membaca `name/name` telanjang sebagai repository GitHub. | `/plugin marketplace add ./my-marketplace` |

199| Hosted `marketplace.json` | URL `https://`-nya | `/plugin marketplace add https://example.com/marketplace.json` |199| Hosted `marketplace.json` | URL `https://`-nya | `/plugin marketplace add https://example.com/marketplace.json` |


383 383 

384## Langkah berikutnya384## Langkah berikutnya

385 385 

386* [Anthropic's marketplaces](https://code.claude.com/docs/id/plugins/anthropic-marketplaces.md): bagaimana marketplace resmi, komunitas, dan demo berbeda dan di mana untuk menjelajahi masing-masing386* [Anthropic's marketplaces](https://code.claude.com/docs/id/plugins/anthropic-marketplaces.md): bagaimana marketplace resmi dan komunitas berbeda dan di mana untuk menjelajahi masing-masing

387* [Plugin loading reference](https://code.claude.com/docs/id/plugins/loading.md): mengapa plugin dimuat, tidak dimuat, atau tidak berubah setelah pembaruan387* [Plugin loading reference](https://code.claude.com/docs/id/plugins/loading.md): mengapa plugin dimuat, tidak dimuat, atau tidak berubah setelah pembaruan

388* [Plugin security and trust](https://code.claude.com/docs/id/plugins/security.md): apa yang harus ditinjau sebelum Anda menginstal plugin dari marketplace yang tidak Anda kenal388* [Plugin security and trust](https://code.claude.com/docs/id/plugins/security.md): apa yang harus ditinjau sebelum Anda menginstal plugin dari marketplace yang tidak Anda kenal

389* [Troubleshoot plugins](https://code.claude.com/docs/id/plugins/troubleshooting.md): instal dan pesan error marketplace dengan perbaikan mereka389* [Troubleshoot plugins](https://code.claude.com/docs/id/plugins/troubleshooting.md): instal dan pesan error marketplace dengan perbaikan mereka

Details

66>66>

67> Marketplace plugin bukanlah [Claude Marketplace](https://claude.com/marketplace). Claude Marketplace adalah situs web di claude.com/marketplace tempat Anda menjelajahi plugin, konektor, produk mitra, dan mitra layanan. Ini bukan marketplace yang Anda tambahkan dengan `/plugin marketplace add`.67> Marketplace plugin bukanlah [Claude Marketplace](https://claude.com/marketplace). Claude Marketplace adalah situs web di claude.com/marketplace tempat Anda menjelajahi plugin, konektor, produk mitra, dan mitra layanan. Ini bukan marketplace yang Anda tambahkan dengan `/plugin marketplace add`.

68 68 

69Claude Code menambahkan marketplace resmi Anthropic pertama kali Anda memulai sesi terminal interaktif, kecuali [kebijakan terkelola](https://code.claude.com/docs/id/plugins/org.md#allow-the-official-marketplace-and-your-own) memblokir. Claude Code tidak menambahkan marketplace komunitas dan demo Anthropic sendiri. Untuk membedakan tiga marketplace Anthropic, baca [Anthropic's marketplaces](https://code.claude.com/docs/id/plugins/anthropic-marketplaces.md). Untuk melihat apa yang dicantumkan marketplace resmi, buka tab **Discover** dari `/plugin` dalam sesi atau jelajahi [Claude Marketplace](https://claude.com/marketplace/plugins).69Claude Code menambahkan marketplace resmi Anthropic pertama kali Anda memulai sesi terminal interaktif, kecuali [kebijakan terkelola](https://code.claude.com/docs/id/plugins/org.md#allow-the-official-marketplace-and-your-own) memblokir. Claude Code tidak menambahkan marketplace komunitas Anthropic dengan sendirinya. Untuk membedakan marketplace Anthropic, baca [Anthropic's marketplaces](https://code.claude.com/docs/id/plugins/anthropic-marketplaces.md). Untuk melihat apa yang dicantumkan marketplace resmi, buka tab **Discover** dari `/plugin` dalam sesi atau jelajahi [Claude Marketplace](https://claude.com/marketplace/plugins).

70 70 

71Diagram ini menunjukkan jalur dari marketplace ke sesi Anda. Marketplace mencantumkan plugin, Anda memasang plugin itu, dan Claude Code memuat komponen-komponennya.71Diagram ini menunjukkan jalur dari marketplace ke sesi Anda. Marketplace mencantumkan plugin, Anda memasang plugin itu, dan Claude Code memuat komponen-komponennya.

72 72 


88 88 

89Nama marketplace menempatkannya di salah satu dari tiga tingkat. Claude Code menerima nama resmi dan komunitas hanya untuk marketplace yang bersumber dari repositori `github.com/anthropics/`:89Nama marketplace menempatkannya di salah satu dari tiga tingkat. Claude Code menerima nama resmi dan komunitas hanya untuk marketplace yang bersumber dari repositori `github.com/anthropics/`:

90 90 

91* **Official**: marketplace dengan salah satu [nama marketplace resmi](https://code.claude.com/docs/id/plugins/security.md#official-marketplace-names) Anthropic, termasuk `claude-plugins-official` dan marketplace demo `claude-code-plugins`.91* **Official**: marketplace dengan salah satu [nama marketplace resmi](https://code.claude.com/docs/id/plugins/security.md#official-marketplace-names) Anthropic, termasuk `claude-plugins-official` dan `claude-code-plugins`.

92* **Community**: marketplace dengan salah satu nama komunitas Anthropic, seperti `claude-community`. [Identify Anthropic's marketplaces by name](https://code.claude.com/docs/id/plugins/security.md#marketplace-tiers) mencantumkan mereka.92* **Community**: marketplace dengan salah satu nama komunitas Anthropic, seperti `claude-community`. [Identify Anthropic's marketplaces by name](https://code.claude.com/docs/id/plugins/security.md#marketplace-tiers) mencantumkan mereka.

93* **Third-party**: setiap marketplace lainnya. Marketplace yang diterbitkan rekan kerja atau organisasi Anda adalah pihak ketiga.93* **Third-party**: setiap marketplace lainnya. Marketplace yang diterbitkan rekan kerja atau organisasi Anda adalah pihak ketiga.

94 94 

Details

96}96}

97```97```

98 98 

99Di shell Anda, jalankan `claude plugin validate .` di repositori sebelum Anda mendorong. Untuk hal-hal yang diperiksa oleh perintah tersebut, lihat [Validasi direktori](https://code.claude.com/docs/id/plugins/cli-reference.md#validate-a-directory).99Ganti `your-marketplace` dengan nama yang kemungkinan kecil dipilih oleh penulis lain, karena pengguna [tidak dapat memiliki dua marketplace dengan nama yang sama](https://code.claude.com/docs/id/plugins/marketplace-reference.md#marketplace-file). Di shell Anda, jalankan `claude plugin validate .` di repositori sebelum Anda mendorong. Untuk hal-hal yang diperiksa oleh perintah tersebut, lihat [Validasi direktori](https://code.claude.com/docs/id/plugins/cli-reference.md#validate-a-directory).

100 100 

101[Buat marketplace](https://code.claude.com/docs/id/plugins/create-marketplace.md) mencakup tata letak dengan beberapa plugin di satu repositori.101[Buat marketplace](https://code.claude.com/docs/id/plugins/create-marketplace.md) mencakup tata letak dengan beberapa plugin di satu repositori.

102 102 

Details

76* `first-party-plugins`76* `first-party-plugins`

77* `claude-tag-plugins`77* `claude-tag-plugins`

78 78 

79Untuk cara marketplace official, community, dan demo berbeda dan di mana untuk menjelajahi apa yang masing-masing daftarkan, lihat [Anthropic's marketplaces](https://code.claude.com/docs/id/plugins/anthropic-marketplaces.md).79Untuk cara marketplace official dan community berbeda dan di mana untuk menjelajahi apa yang masing-masing daftarkan, lihat [Anthropic's marketplaces](https://code.claude.com/docs/id/plugins/anthropic-marketplaces.md).

80 80 

81## Tinjau plugin sebelum Anda menginstal81## Tinjau plugin sebelum Anda menginstal

82 82 

Details

18 18 

19Gunakan skrip wrapper ketika setiap sesi memerlukan setup yang tidak dapat dilakukan runner sendiri: penyediaan kredensial jangka pendek yang dibatasi untuk pembuat sesi, mengekspor rahasia khusus lingkungan, menyiapkan toolchain bahasa, atau menerapkan batas sumber daya di sekitar proses anak. Runner memulai wrapper Anda sebagai pengganti biner Claude Code, sekali per sesi. Akhiri wrapper dengan `exec`-ing ke `$CLAUDE_RUNNER_CLAUDE_BIN`, biner runner sendiri, sehingga sinyal dan kode keluar menyebar dengan benar.19Gunakan skrip wrapper ketika setiap sesi memerlukan setup yang tidak dapat dilakukan runner sendiri: penyediaan kredensial jangka pendek yang dibatasi untuk pembuat sesi, mengekspor rahasia khusus lingkungan, menyiapkan toolchain bahasa, atau menerapkan batas sumber daya di sekitar proses anak. Runner memulai wrapper Anda sebagai pengganti biner Claude Code, sekali per sesi. Akhiri wrapper dengan `exec`-ing ke `$CLAUDE_RUNNER_CLAUDE_BIN`, biner runner sendiri, sehingga sinyal dan kode keluar menyebar dengan benar.

20 20 

21Arahkan `--exec-path`, atau `SELF_HOSTED_RUNNER_EXEC_PATH`, ke wrapper ketika Anda memulai runner:21Arahkan `--exec-path`, atau `SELF_HOSTED_RUNNER_EXEC_PATH`, ke wrapper ketika Anda memulai runner, dengan mengganti `<writable-dir>` seperti yang dijelaskan dalam [mulai cepat](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md#set-up-manually):

22 22 

23```bash theme={null}23```bash theme={null}

24claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret --exec-path /etc/claude/session-wrapper.sh24claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret --base-dir '<writable-dir>' --exec-path /etc/claude/session-wrapper.sh

25```25```

26 26 

27Runner menetapkan yang berikut di lingkungan wrapper:27Runner menetapkan yang berikut di lingkungan wrapper:


457 457 

458Untuk mengonfirmasi bahwa trap berfungsi, tambahkan baris tepat di bawah baris `trap` yang memanggil perintah yang tidak ada, seperti `no-such-command`. Jalankan file hook dari shell Anda dan periksa bahwa `echo $?` mencetak `1`, lalu hapus baris tersebut.458Untuk mengonfirmasi bahwa trap berfungsi, tambahkan baris tepat di bawah baris `trap` yang memanggil perintah yang tidak ada, seperti `no-such-command`. Jalankan file hook dari shell Anda dan periksa bahwa `echo $?` mencetak `1`, lalu hapus baris tersebut.

459 459 

460### Hentikan atau mulai ulang orchestrator

461 

462Untuk menghentikan atau memulai ulang orchestrator tanpa memutus hook `spawn-runner` yang sedang berjalan, mulai orchestrator dengan [`--shutdown-drain-sec`](https://code.claude.com/docs/id/self-hosted-environments-reference#orchestrator-cli-flags). Saat menerima `SIGTERM`, orchestrator kemudian memberi hook yang sedang berjalan waktu hingga jumlah detik yang Anda atur untuk selesai. Untuk memilih nilainya dan menyiapkan process supervisor Anda agar sesuai, lihat [Tentukan ukuran `--shutdown-drain-sec` dan stop timeout orchestrator](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).

463 

464Perintah start ini memberikan waktu 70 detik:

465 

466```bash theme={null}

467claude self-hosted-runner orchestrator \

468 --environment-secret-file /etc/claude/environment-secret \

469 --hooks-dir /etc/claude/hooks \

470 --shutdown-drain-sec 70

471```

472 

473Orchestrator keluar setelah polling yang sudah dikirim dan setiap hook selesai. Ketika detik `--shutdown-drain-sec` habis, hook yang masih berjalan menerima `SIGTERM` dan orchestrator keluar. `SIGTERM` kedua atau `SIGINT` apa pun melakukan hal yang sama tanpa menunggu. Baris log yang berisi `[runner:orchestrator] stop summary:` menghitung hook dan permintaan pemijahan berdasarkan cara masing-masing berakhir.

474 

475Tanpa `--shutdown-drain-sec`, orchestrator langsung berhenti saat menerima `SIGTERM` atau `SIGINT`. Setiap hook yang sedang berjalan menerima `SIGTERM`, dan Anthropic tidak diberi tahu apa pun. Sesi yang runner-nya tidak pernah dimulai kemudian dapat tetap berada di antrian sampai Anthropic [memintanya ulang](#the-spawn-runner-hook), yang terjadi setelah `--expected-spawn-seconds` berlalu, 120 detik secara default.

476 

477> [!NOTE]

478>

479> `--shutdown-drain-sec` memerlukan Claude Code v2.1.299 atau yang lebih baru. Versi yang lebih lama keluar saat startup dengan `error: unknown flag --shutdown-drain-sec`.

480 

481#### Tentukan ukuran `--shutdown-drain-sec` dan stop timeout orchestrator

482 

483Pada pengaturan default, gunakan [`--shutdown-drain-sec 70`](https://code.claude.com/docs/id/self-hosted-environments-reference#orchestrator-cli-flags) dengan stop timeout 85 detik, yaitu `terminationGracePeriodSeconds: 85` di Kubernetes atau `TimeoutStopSec=85` di bawah systemd. Jika Anda mengubah `--hook-timeout`, sesuaikan keduanya:

484 

485* **`--shutdown-drain-sec`**: setidaknya `--hook-timeout` ditambah 10 detik, sehingga hook yang dimulai tepat sebelum `SIGTERM` masih dapat selesai

486* **Stop timeout**: setidaknya `--shutdown-drain-sec` ditambah 15 detik. Orchestrator mencatat angka ini saat startup: cari baris yang berisi `shutdown drain:`.

487 

488Minta process supervisor Anda mengirim satu `SIGTERM` saja, hanya ke proses orchestrator, karena `SIGTERM` kedua memotong waktu tunggu `--shutdown-drain-sec`. Jika Anda membiarkan [`KillMode=control-group`](https://code.claude.com/docs/id/self-hosted-environments-deploy#what-reaches-a-running-post-session-hook) default milik systemd, hook juga menerima `SIGTERM`, dan hook dapat mati sebelum mengirimkan beban kerjanya. Sebelum Anda mengubah `KillMode`, periksa cara hook `spawn-runner` Anda memulai runner:

489 

490* **Jika hook Anda mengirimkan beban kerjanya ke platform lalu keluar**: jalankan orchestrator sebagai proses utama unit dan atur `KillMode=mixed`, yang mengirim `SIGTERM` hanya ke proses tersebut.

491* **Jika hook Anda memulai runner sebagai proses di dalam unit milik orchestrator sendiri**: `KillMode=mixed` tidak mengirim `SIGTERM` ke runner tersebut. Sebaliknya, systemd kemudian mengirimi runner tersebut `SIGKILL`, sehingga runner keluar tanpa menuntaskan sesinya atau menjalankan hook `post-session`-nya.

492 

460## Mengirim permintaan model ke Bedrock atau Agent Platform493## Mengirim permintaan model ke Bedrock atau Agent Platform

461 494 

462Jika organisasi Anda mengharuskan permintaan model melewati akun AWS atau Google Cloud milik organisasi sendiri, konfigurasikan runner untuk [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md) atau [Google Cloud's Agent Platform, sebelumnya Vertex AI](https://code.claude.com/docs/id/google-vertex-ai.md). Setiap sesi yang dimulai oleh runner tersebut kemudian memanggil model di akun cloud Anda, dengan kredensial cloud Anda. Tanpa konfigurasi ini, sesi mengirim permintaan model ke Anthropic API.495Jika organisasi Anda mengharuskan permintaan model melewati akun AWS atau Google Cloud milik organisasi sendiri, konfigurasikan runner untuk [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md) atau [Google Cloud's Agent Platform, sebelumnya Vertex AI](https://code.claude.com/docs/id/google-vertex-ai.md). Setiap sesi yang dimulai oleh runner tersebut kemudian memanggil model di akun cloud Anda, dengan kredensial cloud Anda. Tanpa konfigurasi ini, sesi mengirim permintaan model ke Anthropic API.

Details

583 583 

584## Waktu shutdown584## Waktu shutdown

585 585 

586Setelah `SIGTERM`, runner memerlukan waktu untuk menghentikan sesinya dengan bersih sebelum orchestrator Anda membunuhnya. Runner mencatat berapa lama waktu tersebut saat startup, dalam baris yang berisi `This runner needs up to 80s` pada pengaturan default. Atur stop timeout orchestrator Anda ke setidaknya jumlah detik tersebut: `terminationGracePeriodSeconds` pada Kubernetes, `stop_grace_period` pada Docker Compose, atau yang setara di platform Anda. Default Kubernetes adalah 30 detik, jadi tanpa pengaturan ini Kubernetes dapat menghentikan pod sebelum runner selesai.586> [!NOTE]

587>

588> Waktu-waktu ini berlaku untuk runner. Proses `claude self-hosted-runner orchestrator` memiliki waktunya sendiri: lihat [Size `--shutdown-drain-sec` and the orchestrator's stop timeout](https://code.claude.com/docs/id/self-hosted-environments-configuration#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).

589 

590Saat startup, setiap runner mencatat berapa lama waktu yang mungkin diperlukannya setelah `SIGTERM` untuk menghentikan sesinya dengan bersih, misalnya `This runner needs up to 80s` pada pengaturan default. Stop timeout Anda adalah berapa lama supervisor proses Anda menunggu setelah `SIGTERM` sebelum membunuh runner. Atur nilainya ke setidaknya waktu yang dicatat tersebut:

591 

592* **Kubernetes**: `terminationGracePeriodSeconds`. Default Kubernetes adalah 30 detik, jadi tanpa pengaturan ini Kubernetes dapat menghentikan pod sebelum runner selesai.

593* **Docker Compose**: `stop_grace_period`

587 594 

588Pada `SIGTERM`, runner berhenti menerima sesi baru. Runner kemudian memulai shutdown yang terkendali, yang disebut drain, kecuali Anda menetapkan [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal) untuk menundanya. Drain memiliki tiga langkah:595Pada `SIGTERM`, runner berhenti menerima sesi baru. Runner kemudian memulai shutdown yang terkendali, yang disebut drain, kecuali Anda menetapkan [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal) untuk menundanya. Drain memiliki tiga langkah:

589 596 


682* **Direktori per-sesi juga bertahan**: di samping checkout, runner membuat entri per-sesi di bawah `<base-dir>/_sessions/` untuk setiap sesi yang dijalankannya. Direktori konfigurasi Claude sesi menyimpan salinan lokal transkrip percakapan. Di sebelahnya duduk file yang diunggah sesi, ketika sesi memiliki apa pun. Direktori sesi duduk di sana juga: itu menyimpan worktree per-sesi apa pun dan checkout hook `checkout` sementara sesi berjalan, dan itu menyimpan apa pun yang Claude tulis di dalamnya.689* **Direktori per-sesi juga bertahan**: di samping checkout, runner membuat entri per-sesi di bawah `<base-dir>/_sessions/` untuk setiap sesi yang dijalankannya. Direktori konfigurasi Claude sesi menyimpan salinan lokal transkrip percakapan. Di sebelahnya duduk file yang diunggah sesi, ketika sesi memiliki apa pun. Direktori sesi duduk di sana juga: itu menyimpan worktree per-sesi apa pun dan checkout hook `checkout` sementara sesi berjalan, dan itu menyimpan apa pun yang Claude tulis di dalamnya.

683 690 

684 Secara default runner meninggalkan ini di tempat ketika sesi berakhir, jadi pada disk yang melampaui proses runner mereka menumpuk. Setiap sesi berjalan sebagai pengguna runner sendiri, jadi sesi kemudian apa pun yang disk layani dapat membacanya. Jika Anda menyimpan `--base-dir` persisten, ukuran volume untuk pertumbuhan itu. Hal yang sama berlaku untuk setup apa pun yang memulai ulang runner pada filesystem yang sama, termasuk resep [Docker Compose](#docker-compose).691 Secara default runner meninggalkan ini di tempat ketika sesi berakhir, jadi pada disk yang melampaui proses runner mereka menumpuk. Setiap sesi berjalan sebagai pengguna runner sendiri, jadi sesi kemudian apa pun yang disk layani dapat membacanya. Jika Anda menyimpan `--base-dir` persisten, ukuran volume untuk pertumbuhan itu. Hal yang sama berlaku untuk setup apa pun yang memulai ulang runner pada filesystem yang sama, termasuk resep [Docker Compose](#docker-compose).

685* **Dengan `--remove-session-state`, direktori per-sesi tidak bertahan**: mulai runner dengan [`--remove-session-state`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags) untuk memilikinya menghapus direktori per-sesi setiap sesi saat sesi berakhir. Penghapusan adalah best-effort: direktori tetap ketika runner dibunuh sebelum cleanup-nya berjalan. Klon kanonik dan file yang ditulis sesi di tempat lain di host, seperti direktori sementara, tetap terlepas.692* **Dengan `--remove-session-state`, direktori per-sesi tidak bertahan**: mulai runner dengan [`--remove-session-state`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags) untuk memilikinya menghapus direktori per-sesi setiap sesi saat sesi berakhir. Penghapusan adalah best-effort: direktori tetap ketika runner dibunuh sebelum cleanup-nya berjalan. Klon kanonik dan file yang ditulis sesi di tempat lain di host, seperti direktori sementara, tetap ada bagaimanapun juga.

686* **Dengan proxy git, reset menjadi checkout**: dengan [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), runner membersihkan `.git/` klon sebelum setiap sesi. Runner tetap menyimpan object store dan shallow state, serta menghapus index. Tanpa index, setiap sesi dimulai dengan checkout working-tree penuh alih-alih reset yang hampir instan. Runner tetap mengambil ke dalam klon yang ada alih-alih mengklon ulang repositori. Pre-warm submodule tidak didukung di bawah proxy.693* **Dengan proxy git, reset menjadi checkout**: dengan [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), runner membersihkan `.git/` klon sebelum setiap sesi. Runner tetap menyimpan object store dan shallow state, serta menghapus index. Tanpa index, setiap sesi dimulai dengan checkout working-tree penuh alih-alih reset yang hampir instan. Runner tetap mengambil ke dalam klon yang ada alih-alih mengklon ulang repositori. Pre-warm submodule tidak didukung di bawah proxy.

687* **Dengan proxy git, pre-warm `reftable` kehilangan ref-nya**: saat runner membersihkan `.git/` sebelum setiap sesi, runner menyimpan `.git/refs/` dan menghapus direktori `.git/reftable/`. Klon yang dipanaskan sebelumnya dalam format ref `reftable` milik git kehilangan ref-nya dengan cara itu, jadi lakukan pre-warm klon dalam format ref `files` milik git sebagai gantinya.694* **Dengan proxy git, pre-warm `reftable` kehilangan ref-nya**: saat runner membersihkan `.git/` sebelum setiap sesi, runner menyimpan `.git/refs/` dan menghapus direktori `.git/reftable/`. Klon yang dipanaskan sebelumnya dalam format ref `reftable` milik git kehilangan ref-nya dengan cara itu, jadi lakukan pre-warm klon dalam format ref `files` milik git sebagai gantinya.

688* **Klon panjang tidak memerlukan workaround**: runner membatasi setiap operasi git dengan watchdog no-progress 120 detik dan hard cap 30 menit, bukan timeout flat, jadi klon dingin lambat yang terus melaporkan kemajuan selesai.695* **Klon panjang tidak memerlukan workaround**: runner membatasi setiap operasi git dengan watchdog no-progress 120 detik dan hard cap 30 menit, bukan timeout flat, jadi klon dingin lambat yang terus melaporkan kemajuan selesai.


744 751 

745**2. Mulai runner**752**2. Mulai runner**

746 753 

747Dari shell Anda, mulai runner dengan `--hold-idle-file`, `--release-idle-session-min`, dan [`--max-hold-min`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags), yaitu batas maksimum penahanan, dihitung sejak sesi menjadi idle. Tanpa opsi tersebut, batasnya adalah satu hari. Atur nilainya di atas `--release-idle-session-min`, atau tidak ada yang ditahan. Contoh ini melepaskan sesi idle setelah 30 menit dan melepaskan sesi yang ditahan paling lambat 4 jam setelah sesi tersebut menjadi idle:754Dari shell Anda, mulai runner dengan `--hold-idle-file`, `--release-idle-session-min`, dan [`--max-hold-min`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags), yaitu batas maksimum penahanan, dihitung sejak sesi menjadi idle. Tanpa opsi tersebut, batasnya adalah satu hari. Atur nilainya di atas `--release-idle-session-min`, atau tidak ada yang ditahan. Ganti `<writable-dir>` seperti yang dijelaskan di [mulai cepat](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md#set-up-manually). Contoh ini melepaskan sesi idle setelah 30 menit dan melepaskan sesi yang ditahan paling lambat 4 jam setelah sesi tersebut menjadi idle:

748 755 

749```bash theme={null}756```bash theme={null}

750claude self-hosted-runner \757claude self-hosted-runner \

751 --environment-secret-file /etc/claude/environment-secret \758 --environment-secret-file /etc/claude/environment-secret \

759 --base-dir '<writable-dir>' \

752 --release-idle-session-min 30 \760 --release-idle-session-min 30 \

753 --hold-idle-file /var/lib/claude-hold/hold-idle \761 --hold-idle-file /var/lib/claude-hold/hold-idle \

754 --max-hold-min 240762 --max-hold-min 240


816 * **Perubahan yang belum di-commit tetap hilang**: untuk meminta Claude melakukan commit dan push ketika selesai merespons, lihat [Prompt sessions to push their work](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)824 * **Perubahan yang belum di-commit tetap hilang**: untuk meminta Claude melakukan commit dan push ketika selesai merespons, lihat [Prompt sessions to push their work](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)

817* **Perintah yang terputus karena runner yang hilang dapat berjalan lagi**: ketika sesi dilanjutkan di runner lain, Claude melihat panggilan tool yang terinterupsi dengan hasil yang menyatakan bahwa hasil akhirnya tidak diketahui.825* **Perintah yang terputus karena runner yang hilang dapat berjalan lagi**: ketika sesi dilanjutkan di runner lain, Claude melihat panggilan tool yang terinterupsi dengan hasil yang menyatakan bahwa hasil akhirnya tidak diketahui.

818* **Repositori yang ditambahkan di tengah sesi dapat gagal diklon**: Claude mengklonnya dengan `git clone` melalui HTTPS. Pada runner tanpa [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), klon gagal dengan kesalahan autentikasi git jika tidak ada apa pun di host yang dapat membaca repositori tersebut. Jika memungkinkan, pilih setiap repositori yang dibutuhkan sesi ketika Anda membuatnya.826* **Repositori yang ditambahkan di tengah sesi dapat gagal diklon**: Claude mengklonnya dengan `git clone` melalui HTTPS. Pada runner tanpa [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), klon gagal dengan kesalahan autentikasi git jika tidak ada apa pun di host yang dapat membaca repositori tersebut. Jika memungkinkan, pilih setiap repositori yang dibutuhkan sesi ketika Anda membuatnya.

827 * **Ketika sesi dilanjutkan**: [hook `checkout`](https://code.claude.com/docs/id/self-hosted-environments-configuration#checkout) juga berjalan untuk repositori yang ditambahkan, dengan [`CLAUDE_RUNNER_REPO_REF`](https://code.claude.com/docs/id/self-hosted-environments-configuration#checkout) kosong, jadi pastikan hook Anda menangani hal tersebut.

819* **Beberapa konektor tidak muncul dalam sesi yang di-host sendiri**: konektor yang belum Anda hubungkan dalam pengaturan claude.ai tidak terdaftar dalam sesi yang di-host sendiri, dan sesi tidak akan meminta Anda untuk menghubungkannya. Hubungkan dalam Pengaturan terlebih dahulu, kemudian mulai sesi segar. Menambahkan konektor ke sesi yang sudah berjalan juga tidak membuat alat-alatnya tersedia untuk Claude; mulai sesi segar untuk mengambil konektor yang baru ditambahkan.828* **Beberapa konektor tidak muncul dalam sesi yang di-host sendiri**: konektor yang belum Anda hubungkan dalam pengaturan claude.ai tidak terdaftar dalam sesi yang di-host sendiri, dan sesi tidak akan meminta Anda untuk menghubungkannya. Hubungkan dalam Pengaturan terlebih dahulu, kemudian mulai sesi segar. Menambahkan konektor ke sesi yang sudah berjalan juga tidak membuat alat-alatnya tersedia untuk Claude; mulai sesi segar untuk mengambil konektor yang baru ditambahkan.

820* **Ketika seseorang mengarsipkan atau menghapus sesi, atau melepaskan runner-nya dari menu sesi**: jangan mengandalkan push [`--push-outcome-on-release`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags). Untuk menyimpan commit dalam kasus tersebut, push `HEAD` ke branch penyelamat dari [hook `post-session`](https://code.claude.com/docs/id/self-hosted-environments-configuration#post-session). Jika Anda memulai dari contoh di sana, ubah agar contoh tersebut melakukan push bahkan ketika tidak ada perubahan yang belum di-commit, karena contoh tersebut hanya melakukan push setelah commit snapshot.829* **Ketika seseorang mengarsipkan atau menghapus sesi, atau melepaskan runner-nya dari menu sesi**: jangan mengandalkan push [`--push-outcome-on-release`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags). Untuk menyimpan commit dalam kasus tersebut, push `HEAD` ke branch penyelamat dari [hook `post-session`](https://code.claude.com/docs/id/self-hosted-environments-configuration#post-session). Jika Anda memulai dari contoh di sana, ubah agar contoh tersebut melakukan push bahkan ketika tidak ada perubahan yang belum di-commit, karena contoh tersebut hanya melakukan push setelah commit snapshot.

821 830 


833 842 

834Masalah umum:843Masalah umum:

835 844 

836* **Runner tidak muncul di lingkungan**: pastikan host dapat menjangkau `api.anthropic.com` melalui HTTPS, secret lingkungan masih yang terkini, dan jam host berselisih tidak lebih dari lima menit dari waktu sebenarnya; selisih yang lebih besar menyebabkan autentikasi gagal. Runner mencatat `[runner:fatal]` beserta alasan penolakan ke log saat autentikasi gagal.845* **Runner tidak muncul di lingkungan**: pastikan host dapat menjangkau `api.anthropic.com` melalui HTTPS dan secret lingkungan masih yang terkini. Runner mencatat `[runner:fatal]` beserta alasan penolakan ke log saat autentikasi gagal.

837* **Runner keluar saat startup dengan `cannot create or write to base directory`**: runner tidak dapat membuat atau menulis ke `--base-dir`, yang secara default adalah `/workspace`. Perbaiki kepemilikan direktori tersebut atau arahkan `--base-dir` ke path yang dapat ditulisi, seperti yang dijelaskan di [Jaga agar direktori dasar dan kapasitas identik di seluruh runner](#keep-the-base-directory-and-capacity-identical-across-runners). Jika runner justru mencatat `[runner:fatal]` yang menyatakan bahwa pemeriksaan direktori dasar mengalami timeout, direktori tersebut berada pada mount NFS atau CSI yang macet. Periksa kesehatan mount, bukan permission. Runner mencetak kedua kegagalan startup ini ke stderr sebelum membuka `--log-file`, jadi cari keduanya di terminal atau log container platform Anda, bukan di file log. Sebelum v2.1.225, runner tidak memeriksa direktori dasar saat startup, dan kesalahan konfigurasi ini justru menggagalkan sesi setelah sesi diambil.846* **Runner keluar saat startup dengan `cannot create or write to base directory`**: runner tidak dapat membuat atau menulis ke `--base-dir`, yang secara default adalah `/workspace`. Perbaiki kepemilikan direktori tersebut atau arahkan `--base-dir` ke path yang dapat ditulisi, seperti yang dijelaskan di [Jaga agar direktori dasar dan kapasitas identik di seluruh runner](#keep-the-base-directory-and-capacity-identical-across-runners). Jika runner justru mencatat `[runner:fatal]` yang menyatakan bahwa pemeriksaan direktori dasar mengalami timeout, direktori tersebut berada pada mount NFS atau CSI yang macet. Periksa kesehatan mount, bukan permission. Runner mencetak kedua kegagalan startup ini ke stderr sebelum membuka `--log-file`, jadi cari keduanya di terminal atau log container platform Anda, bukan di file log. Sebelum v2.1.225, runner tidak memeriksa direktori dasar saat startup, dan kesalahan konfigurasi ini justru menggagalkan sesi setelah sesi diambil.

838* **Runner keluar saat startup dengan `RegisterRunner failed:` dan kesalahan sertifikat TLS**: kesalahannya dapat berupa `self signed certificate in certificate chain`, misalnya. Runner tidak memercayai otoritas sertifikat (CA) di balik sertifikat yang diterimanya, seperti yang terjadi di balik proxy yang melakukan inspeksi TLS. Atur [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/id/network-config#custom-ca-certificates) di lingkungan runner ke file PEM yang berisi root CA proxy tersebut.847* **Runner keluar saat startup dengan `RegisterRunner failed:` dan kesalahan sertifikat TLS**: kesalahannya dapat berupa `self signed certificate in certificate chain`, misalnya. Runner tidak memercayai otoritas sertifikat (CA) di balik sertifikat yang diterimanya, seperti yang terjadi di balik proxy yang melakukan inspeksi TLS. Atur [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/id/network-config#custom-ca-certificates) di lingkungan runner ke file PEM yang berisi root CA proxy tersebut.

839 848 

840 Anda tidak perlu mengaturnya lagi untuk sesi, karena sesi mewarisinya. Git tidak membacanya: untuk clone melalui proxy tersebut, atur juga [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).849 Anda tidak perlu mengaturnya lagi untuk sesi, karena sesi mewarisinya. Git tidak membacanya: untuk clone melalui proxy tersebut, atur juga [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).

841* **Skrip start Anda mencetak kesalahan penulisan yang berisi `Resource temporarily unavailable` lalu keluar**: skrip Anda berbagi stdout atau stderr dengan proses `claude self-hosted-runner` atau [orkestrator](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners) yang dimulainya, dan proses tersebut telah mengalihkan pipe atau socket bersama itu ke mode non-blocking. Ketika pipe penuh, penulisan dari skrip Anda gagal dengan kesalahan sistem operasi ini alih-alih menunggu, dan di bawah `set -e` skrip tersebut keluar.850* **Skrip start Anda mencetak kesalahan penulisan yang berisi `Resource temporarily unavailable` lalu keluar**: skrip Anda berbagi stdout atau stderr dengan proses `claude self-hosted-runner` atau [orkestrator](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners) yang dimulainya, dan proses tersebut telah mengalihkan pipe atau socket bersama itu ke mode non-blocking. Ketika pipe penuh, penulisan dari skrip Anda gagal dengan kesalahan sistem operasi ini alih-alih menunggu, dan di bawah `set -e` skrip tersebut keluar.

842 851 

843 Untuk menghentikan kesalahan ini, kirim output runner atau orkestrator ke file yang dapat dibuat oleh pengguna skrip Anda. Tambahkan `>> "$HOME/claude-runner.log" 2>&1` ke perintah yang memulainya, sebelum `&` yang menjalankannya di latar belakang:852 Untuk menghentikan kesalahan ini, kirim output runner atau orkestrator ke file yang dapat dibuat oleh pengguna skrip Anda. Tambahkan `>> "$HOME/claude-runner.log" 2>&1` ke perintah yang memulainya, sebelum `&` yang menjalankannya di latar belakang, dan ganti `<writable-dir>` seperti yang dijelaskan di [mulai cepat](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md#set-up-manually):

844 853 

845 ```bash theme={null}854 ```bash theme={null}

846 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret >> "$HOME/claude-runner.log" 2>&1855 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret --base-dir '<writable-dir>' >> "$HOME/claude-runner.log" 2>&1

847 ```856 ```

848 857 

849 Output skrip Anda sendiri tetap menuju ke tempat sebelumnya, sedangkan apa yang ditulis runner ke stdout dan stderr, termasuk kesalahan startup-nya, menuju ke file tersebut. Gunakan pengalihan shell ini, bukan [`--log-file`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags) saja, yang mencerminkan log ke sebuah file sementara runner tetap menulis ke stdout dan stderr. Jika Anda sudah meneruskan `--log-file`, pertahankan juga, karena pengalihan tersebut tidak mengubah apa yang diterima file itu.858 Output skrip Anda sendiri tetap menuju ke tempat sebelumnya, sedangkan apa yang ditulis runner ke stdout dan stderr, termasuk kesalahan startup-nya, menuju ke file tersebut. Gunakan pengalihan shell ini, bukan [`--log-file`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags) saja, yang mencerminkan log ke sebuah file sementara runner tetap menulis ke stdout dan stderr. Jika Anda sudah meneruskan `--log-file`, pertahankan juga, karena pengalihan tersebut tidak mengubah apa yang diterima file itu.


901 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.910 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.

902* **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.911* **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.

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

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

914* **Runner mencatat `Nobody can read this process's stdout anymore`**: apa pun yang membaca stdout runner sudah tidak ada, sehingga runner berhenti menulis ke sana selama sisa waktu berjalannya dan tetap berjalan. Selama stderr masih terbuka, baris ini dan baris status runner berikutnya, termasuk baris `[runner:fatal]`, menuju ke stderr, jadi baca baris-baris tersebut di sana.

904 915 

905Setelah logging diinisialisasi, runner menulis log siklus hidupnya, termasuk baris `[runner:fatal]`, ke stdout, dan output debug ke stderr, semuanya sebagai baris teks biasa, bukan JSON. Kegagalan direktori dasar yang dijelaskan dalam entri pemecahan masalah di atas dicetak ke stderr sebelum titik tersebut. Tangkap kedua stream dengan `--log-file`, yang juga memungkinkan `self-hosted-runner doctor` mengikutinya (tail), atau dengan pengumpulan log platform Anda.916Setelah logging diinisialisasi, runner menulis log siklus hidupnya, termasuk baris `[runner:fatal]`, ke stdout, dan output debug ke stderr, semuanya sebagai baris teks biasa, bukan JSON. Kegagalan direktori dasar yang dijelaskan dalam entri pemecahan masalah di atas dicetak ke stderr sebelum titik tersebut. Tangkap kedua stream dengan `--log-file`, yang juga memungkinkan `self-hosted-runner doctor` mengikutinya (tail), atau dengan pengumpulan log platform Anda.

906 917 

Details

29 29 

30* Host atau kontainer Linux atau macOS dengan HTTPS keluar ke `api.anthropic.com`, ke `claude.ai` dan host unduhan yang dialihkan untuk langkah instalasi di bawah, dan ke host git Anda untuk klon; [tabel persyaratan jaringan](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#network-requirements) memiliki daftar lengkap. Windows tidak didukung sebagai host runner; jalankan runner dalam kontainer Linux sebagai gantinya. Workstation pengembang tidak terpengaruh, karena sesi dimulai dari claude.ai di browser.30* Host atau kontainer Linux atau macOS dengan HTTPS keluar ke `api.anthropic.com`, ke `claude.ai` dan host unduhan yang dialihkan untuk langkah instalasi di bawah, dan ke host git Anda untuk klon; [tabel persyaratan jaringan](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#network-requirements) memiliki daftar lengkap. Windows tidak didukung sebagai host runner; jalankan runner dalam kontainer Linux sebagai gantinya. Workstation pengembang tidak terpengaruh, karena sesi dimulai dari claude.ai di browser.

31* Sebuah repositori untuk sesi uji: repositori publik, atau repositori yang sudah dapat diklon oleh host ini melalui URL HTTPS-nya tanpa diminta kredensial. Kunci SSH saja tidak cukup, karena runner mengklon URL `https://` repositori. Untuk mengklon melalui SSH sebagai gantinya, lihat [Tulis ulang URL git untuk jaringan privat](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#rewrite-git-urls-for-private-networks).31* Sebuah repositori untuk sesi uji: repositori publik, atau repositori yang sudah dapat diklon oleh host ini melalui URL HTTPS-nya tanpa diminta kredensial. Kunci SSH saja tidak cukup, karena runner mengklon URL `https://` repositori. Untuk mengklon melalui SSH sebagai gantinya, lihat [Tulis ulang URL git untuk jaringan privat](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#rewrite-git-urls-for-private-networks).

32* Jam yang disinkronkan dengan waktu nyata, misalnya dengan NTP. Autentikasi gagal ketika jam lebih dari lima menit mati; lihat [Troubleshooting](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#troubleshooting).32* Jam yang disinkronkan dengan waktu nyata, misalnya dengan NTP.

33 33 

34### Perangkat lunak pada host runner34### Perangkat lunak pada host runner

35 35 

Details

48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Anggaran untuk hook [`post-session`](https://code.claude.com/docs/id/self-hosted-environments-configuration#post-session) di setiap akhir session, termasuk shutdown runner |48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Anggaran untuk hook [`post-session`](https://code.claude.com/docs/id/self-hosted-environments-configuration#post-session) di setiap akhir session, termasuk shutdown runner |

49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | unset | Perintah shell yang dijalankan runner untuk setiap koneksi ke proxy egress Anda, menggunakan stdout yang dipangkas sebagai nilai header `Proxy-Authorization`. Memerlukan `HTTPS_PROXY` atau `HTTP_PROXY`, dan tidak dapat digabungkan dengan `--proxy-authorization-file`. Lihat [Authenticate to an egress proxy](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Memerlukan Claude Code v2.1.238 atau lebih baru. |49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | unset | Perintah shell yang dijalankan runner untuk setiap koneksi ke proxy egress Anda, menggunakan stdout yang dipangkas sebagai nilai header `Proxy-Authorization`. Memerlukan `HTTPS_PROXY` atau `HTTP_PROXY`, dan tidak dapat digabungkan dengan `--proxy-authorization-file`. Lihat [Authenticate to an egress proxy](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Memerlukan Claude Code v2.1.238 atau lebih baru. |

50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | unset | File yang dibaca runner untuk setiap koneksi ke proxy egress Anda, menggunakan isinya yang dipangkas sebagai nilai header `Proxy-Authorization`. Gunakan flag ini untuk token yang proses lain rotasi di tempat. Membawa persyaratan yang sama dengan `--proxy-authorization-command`, dan tidak dapat digabungkan dengannya. Lihat [Authenticate to an egress proxy](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Memerlukan Claude Code v2.1.238 atau lebih baru. |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | unset | File yang dibaca runner untuk setiap koneksi ke proxy egress Anda, menggunakan isinya yang dipangkas sebagai nilai header `Proxy-Authorization`. Gunakan flag ini untuk token yang proses lain rotasi di tempat. Membawa persyaratan yang sama dengan `--proxy-authorization-command`, dan tidak dapat digabungkan dengannya. Lihat [Authenticate to an egress proxy](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Memerlukan Claude Code v2.1.238 atau lebih baru. |

51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | off | Pada akhir session yang dimulai runner seperti drain atau idle release, push tracked outcome branch ke `origin` sebelum menghapus workspace, jadi commit in-flight bertahan restart. Best-effort; menambah 30 detik ke anggaran shutdown, dan memerlukan git 2.29 atau lebih baru untuk melanjutkan dari branch yang didorong. Batasi akses push ke ref `claude/*` sebelum mengaktifkan; lihat [Resumed sessions lose unpushed work](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#additional-limitations). Repositori yang diperiksa melalui hook lifecycle `checkout` tidak didorong; snapshot itu dari hook [`post-session`](https://code.claude.com/docs/id/self-hosted-environments-configuration#post-session) sebagai gantinya. |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | off | Saat runner mengakhiri session, seperti pada drain atau idle release, push tracked outcome branch ke `origin` sebelum menghapus workspace, jadi commit in-flight bertahan restart. Best-effort; menambah 30 detik ke anggaran shutdown, dan memerlukan git 2.29 atau lebih baru untuk melanjutkan dari branch yang didorong. Batasi akses push ke ref `claude/*` sebelum mengaktifkan; lihat [Resumed sessions lose unpushed work](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#additional-limitations). Repositori yang diperiksa melalui hook lifecycle `checkout` tidak didorong; snapshot itu dari hook [`post-session`](https://code.claude.com/docs/id/self-hosted-environments-configuration#post-session) sebagai gantinya. |

52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Lepaskan slot sesi setelah N menit tanpa aktivitas begitu giliran selesai atau sesi menunggu tindakan pengguna. [Some sessions don't count as idle](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), jadi pasangkan dengan `--kill-session-after-min`. Tugas latar belakang yang sudah selesai membuat sesi tetap sibuk paling lama selama jendela [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Untuk menunda pelepasan, atur [`--hold-idle-file`](https://code.claude.com/docs/id/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run). `0` menonaktifkan. |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Lepaskan slot sesi setelah N menit tanpa aktivitas begitu giliran selesai atau sesi menunggu tindakan pengguna. [Some sessions don't count as idle](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), jadi pasangkan dengan `--kill-session-after-min`. Tugas latar belakang yang sudah selesai membuat sesi tetap sibuk paling lama selama jendela [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Untuk menunda pelepasan, atur [`--hold-idle-file`](https://code.claude.com/docs/id/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run). `0` menonaktifkan. |

53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | off | Hapus direktori per-session session di bawah `<base-dir>/_sessions/` ketika session berakhir di runner ini, apa pun hasilnya. [Reuse a pre-warmed checkout](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) menjelaskan apa yang mereka pegang dan siapa yang dapat membacanya ketika mereka tetap. Penghapusan adalah best-effort: direktori per-session tetap ada ketika runner dibunuh atau mencapai deadline drain sebelum cleanup berjalan. Dengan flag aktif, debug log session yang gagal atau terputus tidak disimpan di disk. Memerlukan Claude Code v2.1.268 atau lebih baru. |53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | off | Hapus direktori per-session session di bawah `<base-dir>/_sessions/` ketika session berakhir di runner ini, apa pun hasilnya. [Reuse a pre-warmed checkout](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) menjelaskan apa yang mereka pegang dan siapa yang dapat membacanya ketika mereka tetap. Penghapusan adalah best-effort: direktori per-session tetap ada ketika runner dibunuh atau mencapai deadline drain sebelum cleanup berjalan. Dengan flag aktif, debug log session yang gagal atau terputus tidak disimpan di disk. Memerlukan Claude Code v2.1.268 atau lebih baru. |

54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | unset | Pensiun runner pada timestamp Unix absolut dalam detik, untuk infrastruktur yang membunuh runner pada waktu yang diketahui; [Runner lifecycle](https://code.claude.com/docs/id/self-hosted-environments#runner-lifecycle) menjelaskan urutan release dan cara mengukur margin. Nilai sebelum 2001 atau setelah tahun 5138 ditolak oleh flag dan diabaikan oleh variabel lingkungan. |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | unset | Pensiun runner pada timestamp Unix absolut dalam detik, untuk infrastruktur yang membunuh runner pada waktu yang diketahui; [Runner lifecycle](https://code.claude.com/docs/id/self-hosted-environments#runner-lifecycle) menjelaskan urutan release dan cara mengukur margin. Nilai sebelum 2001 atau setelah tahun 5138 ditolak oleh flag dan diabaikan oleh variabel lingkungan. |


85 85 

86Tidak ada pengaturan runner yang membuat control plane meminta runner menerapkan daftar tersebut. Ketika control plane tidak meminta, sesi tidak menerima daftar apa pun, apa pun yang Anda atur. Untuk melihat mana yang terjadi, mulai runner dengan `--log-level debug`. Untuk setiap sesi, runner kemudian mencatat ke log baris yang berisi `the server asked this runner to apply`, atau baris yang berisi `the server did not ask this runner to apply the auto mode lists it sends`.86Tidak ada pengaturan runner yang membuat control plane meminta runner menerapkan daftar tersebut. Ketika control plane tidak meminta, sesi tidak menerima daftar apa pun, apa pun yang Anda atur. Untuk melihat mana yang terjadi, mulai runner dengan `--log-level debug`. Untuk setiap sesi, runner kemudian mencatat ke log baris yang berisi `the server asked this runner to apply`, atau baris yang berisi `the server did not ask this runner to apply the auto mode lists it sends`.

87 87 

88## Flag CLI Orchestrator88## Flag CLI orchestrator

89 89 

90Subperintah `self-hosted-runner orchestrator`, yang menghasilkan [on-demand runners](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners), menerima `--api-url`, `--environment-secret-file`, `--hooks-dir`, `--health-port`, dan `--log-level` dengan default yang sama seperti runner dan, di mana flag runner memiliki satu, variabel lingkungan yang sama, kecuali bahwa `--hooks-dir` diperlukan dan harus berisi hook `spawn-runner`. Ini juga mengambil flag sendiri:90Subperintah `self-hosted-runner orchestrator`, yang menjalankan [runner on-demand](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners), menerima `--api-url`, `--environment-secret-file`, `--hooks-dir`, `--health-port`, dan `--log-level` dengan default yang sama seperti runner dan, jika flag runner memilikinya, environment variable yang sama, kecuali bahwa `--hooks-dir` wajib diisi dan harus berisi hook `spawn-runner`. Subperintah ini juga menerima flag-nya sendiri:

91 91 

92| Flag | Default | Description |92| Flag | Default | Deskripsi |

93| :- | :- | :- |93| :- | :- | :- |

94| `--hook-concurrency <n>` | `4` | Maksimum hook `spawn-runner` berjalan secara paralel. Juga membatasi berapa banyak permintaan spawn yang diklaim per poll. Orchestrator memeriksa permintaan spawn baru hanya setelah setiap hook yang dimulainya selesai, sehingga satu hook yang lambat menunda hook berikutnya dari orchestrator tersebut. |94| `--hook-concurrency <n>` | `4` | Jumlah maksimum hook `spawn-runner` yang berjalan secara paralel. Juga membatasi berapa banyak permintaan spawn yang diklaim per polling. Orchestrator memeriksa permintaan spawn baru hanya setelah setiap hook yang dimulainya selesai, sehingga satu hook yang lambat menunda hook berikutnya dari orchestrator tersebut. |

95| `--hook-timeout <sec>` | `60` | Hentikan pohon proses hook setelah banyak detik ini. Timeout plus grace kill 5-detiknya harus tetap di bawah `--expected-spawn-seconds`; orchestrator memberlakukan ini saat startup. |95| `--hook-timeout <sec>` | `60` | Menghentikan pohon proses hook setelah sekian detik. Timeout ditambah masa tenggang kill 5 detik harus tetap di bawah `--expected-spawn-seconds`; orchestrator memberlakukan hal ini saat startup. |

96| `--expected-spawn-seconds <sec>` | `120` | Perkiraan waktu p99 sejak orchestrator menerima permintaan spawn hingga runner mendaftar, termasuk waktu menunggu kapasitas di platform Anda. Server memberlakukan rentang 10 hingga 3600. Dikirim pada setiap poll sebagai lease server-side: jika tidak ada runner yang mendaftar sebelum waktu itu berlalu, sesi ditawarkan kembali dengan ID pesanan baru. Semua replika harus berbagi nilai ini. |96| `--expected-spawn-seconds <sec>` | `120` | Perkiraan waktu p99 sejak orchestrator menerima permintaan spawn hingga runner terdaftar, termasuk waktu menunggu kapasitas di platform Anda. Server memberlakukan rentang 10 hingga 3600. Dikirim pada setiap polling sebagai lease sisi server: jika tidak ada runner yang terdaftar sebelum waktu tersebut berlalu, sesi ditawarkan kembali dengan ID pesanan baru. Semua replika harus menggunakan nilai yang sama. |

97| `--min-idle <n>` | `0` | Pertahankan setidaknya N slot session idle gratis dengan menghasilkan runner standby secara proaktif. `0` menonaktifkan pre-warming. Pasangkan dengan `--exit-if-unused-min` runner sehingga runner standby surplus merebut diri mereka sendiri. |97| `--min-idle <n>` | `0` | Menjaga setidaknya N slot sesi idle tetap tersedia (tidak terpakai) dengan menjalankan runner standby secara proaktif. `0` menonaktifkan pra-pemanasan. Pasangkan dengan `--exit-if-unused-min` milik runner agar runner standby yang berlebih mengakhiri dirinya sendiri. |

98| `--debug-dir <path>` | unset | Tulis work order setiap permintaan spawn dan hook stderr ke disk. Debug saja; jangan pernah atur dalam produksi. |98| `--shutdown-drain-sec <n>` | `0` | Saat menerima `SIGTERM`, berhenti melakukan polling untuk permintaan spawn dan beri hook `spawn-runner` yang sedang berjalan serta polling yang belum dijawab waktu hingga sekian detik untuk selesai sebelum menghentikan yang tersisa. Pada nilai `0`, berhenti segera. Maksimum `3600`, yang diberlakukan orchestrator saat startup. Untuk memilih nilai, lihat [Menentukan ukuran `--shutdown-drain-sec` dan timeout penghentian orchestrator](https://code.claude.com/docs/id/self-hosted-environments-configuration#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator). Memerlukan Claude Code v2.1.299 atau yang lebih baru. |

99| `--debug-dir <path>` | tidak diatur | Menulis work order setiap permintaan spawn dan stderr hook ke disk. Hanya untuk debug; jangan pernah diatur di lingkungan produksi. |

99 100 

100### Flag SCM connector101### Flag konektor SCM

101 102 

102SCM connector tidak tersedia, jadi biarkan flag di bagian ini tidak diatur. Jika Anda mengatur `--scm-connector-host`, koneksi tidak terbuka, dan orchestrator terus mencoba lagi. Runner masih dimulai saat session queue.103Konektor SCM tidak tersedia, jadi biarkan flag di bagian ini tidak diatur. Jika Anda mengatur `--scm-connector-host`, koneksi tidak terbuka, dan orchestrator terus mencoba ulang. Runner tetap dimulai saat sesi masuk antrean.

103 104 

104Connector adalah koneksi WebSocket berdiri dari orchestrator ke control plane Anthropic. Dirancang untuk membiarkan hosted pre-session flows, seperti repository picker dan branch atau ref resolver, menjangkau host GitHub Enterprise Server yang hanya dapat dirutekan dari dalam jaringan Anda. Lihat [Network requirements](https://code.claude.com/docs/id/github-enterprise-server.md#network-requirements) di halaman GitHub Enterprise Server untuk apa yang dibutuhkan flows tersebut.105Konektor ini adalah koneksi WebSocket tetap dari orchestrator ke control plane Anthropic. Konektor ini dirancang agar alur pra-sesi yang di-host, seperti pemilih repositori dan penentu branch atau ref, dapat menjangkau host GitHub Enterprise Server yang hanya dapat dirutekan dari dalam jaringan Anda. Lihat [Persyaratan jaringan](https://code.claude.com/docs/id/github-enterprise-server.md#network-requirements) di halaman GitHub Enterprise Server untuk mengetahui apa yang dibutuhkan alur tersebut.

105 106 

106| Flag | Default | Description |107| Flag | Default | Deskripsi |

107| :- | :- | :- |108| :- | :- | :- |

108| `--scm-connector-host <host[:port]>` | unset | Hostname GitHub Enterprise Server untuk meneruskan permintaan ke. Port default ke `443`. |109| `--scm-connector-host <host[:port]>` | tidak diatur | Hostname GitHub Enterprise Server tujuan penerusan permintaan. Port default-nya adalah `443`. |

109| `--scm-connector-id <n>` | required with `--scm-connector-host` | ID numerik koneksi GitHub Enterprise Server organisasi Anda. |110| `--scm-connector-id <n>` | wajib bersama `--scm-connector-host` | ID numerik koneksi GitHub Enterprise Server organisasi Anda. |

110| `--scm-connector-provider <slug>` | `ghe` | Segmen path mengidentifikasi provider, cocok dengan `^[a-z0-9-]{1,32}$`. |111| `--scm-connector-provider <slug>` | `ghe` | Segmen path yang mengidentifikasi penyedia, sesuai dengan `^[a-z0-9-]{1,32}$`. |

111| `--scm-connector-ca-file <path>` | unset | Bundle CA ekstra, dalam format PEM, untuk koneksi TLS ke host GitHub Enterprise Server. |112| `--scm-connector-ca-file <path>` | tidak diatur | Bundel CA tambahan, dalam format PEM, untuk koneksi TLS ke host GitHub Enterprise Server. |

112| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | unset | Untuk pengujian end-to-end saja: mengalihkan koneksi TCP sambil menjaga header Host dan TLS SNI sebagai `--scm-connector-host`. |113| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | tidak diatur | Hanya untuk pengujian end-to-end: mengalihkan koneksi TCP sambil mempertahankan header Host dan TLS SNI sebagai `--scm-connector-host`. |

113 114 

114Pada setiap percobaan koneksi orchestrator mengirimkan rahasia lingkungan yang ada, dan itu mencoba lagi secara otomatis dengan exponential backoff, dibatasi pada 30 detik plus jitter.115Pada setiap upaya koneksi, orchestrator mengirimkan environment secret yang sudah ada, dan otomatis mencoba ulang dengan exponential backoff, dibatasi hingga 30 detik ditambah jitter.

115 116 

116## Pengaturan variabel-lingkungan-saja117## Pengaturan variabel-lingkungan-saja

117 118 

Details

154 * **Unit telemetri**: key exporter `OTEL_EXPORTER_OTLP_*`, toggle penangkapan konten `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER`, serta variabel tracing beta `ENABLE_BETA_TRACING_DETAILED` dan `BETA_TRACING_ENDPOINT` mengikuti sumber tertinggi yang menetapkan salah satunya sebagai satu unit. Sumber yang mengirimkan key kredensial `otelHeadersHelper` juga mengklaim unit ini, tetapi hanya menerapkan variabel-variabel ini ketika sumber tersebut adalah sumber yang dipilih: sumber yang tidak dipilih tetapi mengirimkan key tersebut tidak menyumbangkan satu pun variabel ini dan tetap mencegah sumber yang lebih rendah mengisinya. Bagaimanapun, endpoint exporter dari satu sumber tidak pernah dapat dipasangkan dengan kredensial dari sumber lain.154 * **Unit telemetri**: key exporter `OTEL_EXPORTER_OTLP_*`, toggle penangkapan konten `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER`, serta variabel tracing beta `ENABLE_BETA_TRACING_DETAILED` dan `BETA_TRACING_ENDPOINT` mengikuti sumber tertinggi yang menetapkan salah satunya sebagai satu unit. Sumber yang mengirimkan key kredensial `otelHeadersHelper` juga mengklaim unit ini, tetapi hanya menerapkan variabel-variabel ini ketika sumber tersebut adalah sumber yang dipilih: sumber yang tidak dipilih tetapi mengirimkan key tersebut tidak menyumbangkan satu pun variabel ini dan tetap mencegah sumber yang lebih rendah mengisinya. Bagaimanapun, endpoint exporter dari satu sumber tidak pernah dapat dipasangkan dengan kredensial dari sumber lain.

155 * **Routing yang dipasangkan dengan kredensial**: sumber yang memasangkan variabel routing dengan key kredensial yang hanya berlaku untuk sumber terpilih, seperti `apiKeyHelper` atau `otelHeadersHelper`, menyumbangkan variabel routing tersebut hanya ketika sumber itu memenangkan slot.155 * **Routing yang dipasangkan dengan kredensial**: sumber yang memasangkan variabel routing dengan key kredensial yang hanya berlaku untuk sumber terpilih, seperti `apiKeyHelper` atau `otelHeadersHelper`, menyumbangkan variabel routing tersebut hanya ketika sumber itu memenangkan slot.

156* **`allowedProviders`**: daftar yang ditetapkan di mesin dan daftar yang dikelola server digabungkan sebagaimana dinyatakan dalam [catatan Cakupan pada entrinya](https://code.claude.com/docs/id/settings-reference.md#allowedproviders). Memerlukan Claude Code v2.1.285 atau yang lebih baru156* **`allowedProviders`**: daftar yang ditetapkan di mesin dan daftar yang dikelola server digabungkan sebagaimana dinyatakan dalam [catatan Cakupan pada entrinya](https://code.claude.com/docs/id/settings-reference.md#allowedproviders). Memerlukan Claude Code v2.1.285 atau yang lebih baru

157* **Key masuk first-party**: [`forceLoginOrgUUID`](https://code.claude.com/docs/id/settings-reference#forceloginorguuid) serta nilai `"claudeai"` dan `"console"` dari [`forceLoginMethod`](https://code.claude.com/docs/id/settings-reference#forceloginmethod). Jika Anda juga men-deploy kebijakan MDM atau file pengaturan terkelola, tetapkan key tersebut di sana dan di pengaturan yang dikelola server dari claude.ai hingga setiap klien menjalankan v2.1.299 atau yang lebih baru. Untuk mengetahui tempat menetapkan key tersebut setelahnya, dan nilai dari sumber mana yang berlaku, lihat [Sumber terkelola mana yang menyediakan key login](https://code.claude.com/docs/id/managed-settings.md#which-managed-source-supplies-login-keys).

157* **Key masuk gateway**: Claude Code tidak pernah membaca [`forceLoginGatewayUrl`](https://code.claude.com/docs/id/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/id/settings-reference#gatewayinternalnetworks), atau nilai `"gateway"` dari [`forceLoginMethod`](https://code.claude.com/docs/id/settings-reference#forceloginmethod) dari pengaturan yang dikelola server, sehingga nilai di sana tidak berlaku maupun menyembunyikan nilai yang ditetapkan dalam kebijakan MDM atau file pengaturan terkelola. [Entri `managedSourcesBehavior`](https://code.claude.com/docs/id/settings-reference#managedsourcesbehavior) menjelaskan sumber admin mana di mesin yang menyediakannya.158* **Key masuk gateway**: Claude Code tidak pernah membaca [`forceLoginGatewayUrl`](https://code.claude.com/docs/id/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/id/settings-reference#gatewayinternalnetworks), atau nilai `"gateway"` dari [`forceLoginMethod`](https://code.claude.com/docs/id/settings-reference#forceloginmethod) dari pengaturan yang dikelola server, sehingga nilai di sana tidak berlaku maupun menyembunyikan nilai yang ditetapkan dalam kebijakan MDM atau file pengaturan terkelola. [Entri `managedSourcesBehavior`](https://code.claude.com/docs/id/settings-reference#managedsourcesbehavior) menjelaskan sumber admin mana di mesin yang menyediakannya.

158 159 

159### Perilaku pengambilan dan caching160### Perilaku pengambilan dan caching

settings-reference.md +199 −198

Details

266 266 

267## Model dan respons267## Model dan respons

268 268 

269Pilih model mana yang digunakan Claude Code dan cara meresponsnya. Untuk cara pengaturan ini berinteraksi dengan perintah `/model` dan variabel lingkungan, lihat [Konfigurasi model](https://code.claude.com/docs/id/model-config.md).269Pilih model mana yang digunakan Claude Code dan bagaimana ia merespons. Untuk mengetahui bagaimana pengaturan ini berinteraksi dengan perintah `/model` dan environment variable, lihat [Konfigurasi model](https://code.claude.com/docs/id/model-config.md).

270 270 

271### `advisorModel`271### `advisorModel`

272 272 

273Pilih model mana yang menjawab ketika Claude memanggil [alat advisor](https://code.claude.com/docs/id/advisor.md) di sisi server. Biarkan tidak disetel untuk mematikan advisor. Advisor harus setidaknya sama mampu dengan model utama Anda. Lihat [Pilih model advisor](https://code.claude.com/docs/id/advisor.md#choose-an-advisor-model) untuk pasangan yang diterima dan apa yang terjadi ketika Anda memilih yang tidak diterima.273Pilih model mana yang menjawab ketika Claude memanggil [advisor tool](https://code.claude.com/docs/id/advisor.md) sisi server. Hapus nilainya untuk mematikan advisor. Advisor harus setidaknya sama mampunya dengan model utama Anda. Lihat [Memilih model advisor](https://code.claude.com/docs/id/advisor.md#choose-an-advisor-model) untuk pasangan yang diterima dan apa yang terjadi ketika Anda memilih pasangan yang tidak diterima.

274 274 

275Anda biasanya tidak mengedit kunci ini dengan tangan. Jalankan `/advisor` untuk membuka pemilih yang menunjukkan pilihan saat ini, model yang dapat memberikan saran, dan **Tidak ada advisor**. Claude Code menyimpan pilihan Anda ke kunci ini di `~/.claude/settings.json`. Jika Anda memilih dari klien [Remote Control](https://code.claude.com/docs/id/remote-control.md) atau dalam sesi yang terpasang ke pekerja jarak jauh, pilihan berlaku hanya untuk sesi itu dan tidak mengubah kunci ini.275Anda biasanya tidak mengedit kunci ini secara manual. Jalankan `/advisor` untuk membuka pemilih yang menampilkan pilihan saat ini, model yang dapat menjadi advisor, dan **No advisor**. Claude Code menyimpan pilihan Anda ke kunci ini di `~/.claude/settings.json`. Jika Anda memilih dari klien [Remote Control](https://code.claude.com/docs/id/remote-control.md) atau dalam sesi yang terhubung ke worker jarak jauh, pilihan tersebut hanya berlaku untuk sesi itu dan tidak mengubah kunci ini.

276 276 

277Jika akun Anda memerlukan [persetujuan kredit penggunaan](https://code.claude.com/docs/id/advisor.md#fable-advisor-and-usage-credits), terima terlebih dahulu dengan menjalankan `/model fable`. Sampai Anda melakukannya, memilih Fable di `/advisor` tidak menyimpan apa pun dan Claude Code memberi tahu Anda untuk menjalankan `/model fable` terlebih dahulu.277Jika akun Anda memerlukan [persetujuan kredit penggunaan](https://code.claude.com/docs/id/advisor.md#fable-advisor-and-usage-credits), terima terlebih dahulu dengan menjalankan `/model fable`. Sebelum Anda melakukannya, memilih Fable di `/advisor` tidak menyimpan apa pun dan Claude Code meminta Anda menjalankan `/model fable` terlebih dahulu.

278 278 

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

280* **Type**: string, salah satu alias `"fable"`, `"opus"`, atau `"sonnet"`, yang diselesaikan ke versi default Claude Code saat ini dari keluarga model itu, atau ID model lengkap seperti `"claude-opus-5-5"`280* **Tipe**: string, salah satu alias `"fable"`, `"opus"`, atau `"sonnet"`, yang di-resolve ke versi default Claude Code saat ini dari keluarga model tersebut, atau ID model lengkap seperti `"claude-opus-5-5"`

281* **Default**: tidak disetel, jadi advisor dimatikan281* **Default**: tidak diatur, sehingga advisor mati

282* **Per-session overrides**: `--advisor` mengambil alih kunci ini untuk satu sesi. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](https://code.claude.com/docs/id/env-vars) mematikan advisor, dan kunci ini tidak dapat menghidupkannya kembali282* **Override per sesi**: `--advisor` diutamakan daripada kunci ini untuk satu sesi. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](https://code.claude.com/docs/id/env-vars) mematikan advisor, dan kunci ini tidak dapat menyalakannya kembali

283 283 

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

285{285{


287}287}

288```288```

289 289 

290Kunci ini tidak berpengaruh pada penyedia tempat advisor [tidak tersedia](https://code.claude.com/docs/id/advisor.md#requirements), seperti Amazon Bedrock dan Claude Platform di AWS. `"fable"` memerlukan [akses Fable](https://code.claude.com/docs/id/advisor.md#choose-an-advisor-model).290Kunci ini tidak berpengaruh pada penyedia yang advisor-nya [tidak tersedia](https://code.claude.com/docs/id/advisor.md#requirements), seperti Amazon Bedrock dan Claude Platform on AWS. `"fable"` memerlukan [akses Fable](https://code.claude.com/docs/id/advisor.md#choose-an-advisor-model).

291 291 

292### `alwaysThinkingEnabled`292### `alwaysThinkingEnabled`

293 293 

294Matikan [extended thinking](https://code.claude.com/docs/id/model-config.md#extended-thinking) untuk setiap sesi dengan menetapkan ini ke `false`. Thinking aktif secara default, jadi `true` tidak mengubah apa pun. Sebagian besar orang menetapkan ini melalui `/config` daripada mengedit file.294Matikan [extended thinking](https://code.claude.com/docs/id/model-config.md#extended-thinking) untuk setiap sesi dengan mengatur ini ke `false`. Thinking aktif secara default, sehingga `true` tidak mengubah apa pun. Kebanyakan orang mengatur ini melalui `/config` daripada mengedit file.

295 295 

296Pada model yang selalu berpikir, seperti Opus 5.5, Sonnet 5.5, Haiku 5.5, dan model Fable, `false` tidak berpengaruh. Pada [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) Claude Code menghilangkan parameter `thinking` daripada mematikan thinking, jadi model adaptive-reasoning mungkin masih berpikir. Dengan thinking dimatikan di Anthropic API, Claude Code mengirim effort `high` daripada level yang lebih tinggi ke model yang diketahui [tidak menerima kombinasi itu](https://code.claude.com/docs/id/errors.md#effort-isnt-available-with-thinking-turned-off), seperti Opus 5.296Pada model yang selalu melakukan thinking, seperti Opus 5.5, Sonnet 5.5, Haiku 5.5, dan model Fable, `false` tidak berpengaruh. Pada [penyedia pihak ketiga](https://code.claude.com/docs/id/third-party-integrations.md) Claude Code menghilangkan parameter `thinking` alih-alih mematikan thinking, sehingga model adaptive-reasoning mungkin tetap melakukan thinking. Dengan thinking dimatikan pada Anthropic API, Claude Code mengirim effort `high` alih-alih tingkat yang lebih tinggi ke model yang diketahuinya [tidak menerima kombinasi tersebut](https://code.claude.com/docs/id/errors.md#effort-isnt-available-with-thinking-turned-off), seperti Opus 5.

297 297 

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

299* **Type**: Boolean299* **Tipe**: Boolean

300 * `true`: tidak berpengaruh; thinking sudah aktif300 * `true`: tidak berpengaruh; thinking sudah aktif

301 * `false`: Claude Code mematikan extended thinking untuk setiap sesi301 * `false`: Claude Code mematikan extended thinking untuk setiap sesi

302* **Default**: tidak disetel, jadi thinking aktif untuk model yang mendukungnya302* **Default**: tidak diatur, sehingga thinking aktif untuk model yang mendukungnya

303* **Per-session overrides**: [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/id/env-vars) mengambil alih kunci ini untuk satu sesi: `0` mematikan thinking, di bawah batasan model dan penyedia yang sama seperti `false`, dan nilai positif menghidupkan thinking bahkan ketika kunci ini `false`. Pada model adaptive-reasoning angka itu sendiri diabaikan303* **Override per sesi**: [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/id/env-vars) diutamakan daripada kunci ini untuk satu sesi: `0` mematikan thinking, dengan batasan model dan penyedia yang sama seperti `false`, dan nilai positif menyalakan thinking bahkan ketika kunci ini `false`. Pada model adaptive-reasoning, angka itu sendiri diabaikan

304 304 

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

306{306{


310 310 

311### `availableModels`311### `availableModels`

312 312 

313Batasi model mana yang dapat dipilih orang untuk sesi utama, [subagents](https://code.claude.com/docs/id/sub-agents.md), [skills](https://code.claude.com/docs/id/skills.md), dan [advisor](https://code.claude.com/docs/id/advisor.md). Daftar terkelola membatasi `/model`, `--model`, dan kunci `model` dalam file pengembang sendiri; model di luar itu tidak dapat dipilih. Dengan pencocokan awalan default, ini tidak menyentuh opsi Default dengan sendirinya; pasangkan dengan [`enforceAvailableModels`](#enforceavailablemodels) untuk itu.313Batasi model mana yang dapat dipilih orang untuk sesi utama, [subagent](https://code.claude.com/docs/id/sub-agents.md), [skills](https://code.claude.com/docs/id/skills.md), dan [advisor](https://code.claude.com/docs/id/advisor.md). Daftar terkelola membatasi `/model`, `--model`, dan kunci `model` di file milik developer sendiri; model di luar daftar tidak dapat dipilih. Dengan pencocokan prefiks default, ini tidak menyentuh opsi Default dengan sendirinya; pasangkan dengan [`enforceAvailableModels`](#enforceavailablemodels) untuk itu.

314 314 

315* **Scope**: [`Any file`](#scopes). Terapkan dalam pengaturan terkelola untuk memberlakukannya untuk organisasi.315* **Cakupan**: [`Any file`](#scopes). Deploy di pengaturan terkelola untuk memberlakukannya bagi organisasi.

316* **Type**: array alias model atau ID316* **Tipe**: array alias atau ID model

317* **Default**: tidak disetel, jadi setiap model tersedia317* **Default**: tidak diatur, sehingga setiap model tersedia

318 318 

319Contoh ini memungkinkan orang memilih hanya model Sonnet dan Haiku:319Contoh ini hanya mengizinkan orang memilih model Sonnet dan Haiku:

320 320 

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

322{322{


324}324}

325```325```

326 326 

327Entri ID model seperti `"claude-opus-5"` juga memungkinkan versi yang lebih baru yang memperpanjangnya, seperti Opus 5.5. Untuk memblokir salah satu versi itu, gunakan [`deniedModels`](#deniedmodels). Untuk membuat setiap entri ID model hanya memungkinkan versi yang dinamainya, gunakan [`availableModelsMatch`](#availablemodelsmatch). Lihat [Batasi pemilihan model](https://code.claude.com/docs/id/model-config.md#restrict-model-selection). Untuk ID penyedia pihak ketiga, lihat [Sematkan model untuk deployment pihak ketiga](https://code.claude.com/docs/id/model-config.md#pin-models-for-third-party-deployments).327Entri ID model seperti `"claude-opus-5"` juga mengizinkan versi yang lebih baru yang memperluasnya, seperti Opus 5.5. Untuk memblokir salah satu versi tersebut, gunakan [`deniedModels`](#deniedmodels). Agar setiap entri ID model hanya mengizinkan versi yang disebutkannya, gunakan [`availableModelsMatch`](#availablemodelsmatch). Lihat [Membatasi pemilihan model](https://code.claude.com/docs/id/model-config.md#restrict-model-selection). Untuk ID penyedia pihak ketiga, lihat [Menyematkan model untuk deployment pihak ketiga](https://code.claude.com/docs/id/model-config.md#pin-models-for-third-party-deployments).

328 328 

329### `availableModelsMatch`329### `availableModelsMatch`

330 330 

331Pilih bagaimana entri [`availableModels`](#availablemodels) cocok dengan ID model. Secara default entri ID model juga memungkinkan versi yang lebih baru yang memperpanjangnya, jadi `"claude-opus-5"` memungkinkan Opus 5.5. Dengan `"exact"`, setiap entri ID model hanya memungkinkan versi yang dinamainya, jadi versi yang lebih baru dari model itu tetap diblokir sampai Anda mencantumkannya. Memerlukan Claude Code v2.1.283 atau lebih baru.331Pilih cara entri [`availableModels`](#availablemodels) mencocokkan ID model. Secara default, entri ID model juga mengizinkan versi yang lebih baru yang memperluasnya, sehingga `"claude-opus-5"` mengizinkan Opus 5.5. Dengan `"exact"`, setiap entri ID model hanya mengizinkan versi yang disebutkannya, sehingga versi yang lebih baru dari model tersebut tetap diblokir sampai Anda mencantumkannya. Memerlukan Claude Code v2.1.283 atau yang lebih baru.

332 332 

333* **Scope**: [`Managed`](#scopes). Claude Code mengabaikan kunci dalam pengaturan pengguna, proyek, dan lokal serta dalam `--settings`, dengan peringatan333* **Cakupan**: [`Managed`](#scopes). Claude Code mengabaikan kunci ini di pengaturan user, project, dan local serta di `--settings`, dengan peringatan

334* **Type**: string, salah satu dari:334* **Tipe**: string, salah satu dari:

335 * `"prefix"`: entri ID model memungkinkan versinya dan ID model apa pun yang memperpanjangnya dengan segmen lain335 * `"prefix"`: entri ID model mengizinkan versinya dan ID model apa pun yang memperluasnya dengan segmen lain

336 * `"exact"`: entri ID model hanya memungkinkan versi yang dinamainya, jadi `"claude-opus-5"` memungkinkan Opus 5 tetapi bukan `claude-opus-5-5`. Entri seperti `"claude-opus-4-5"` juga memungkinkan ID model Anthropic bertanggalnya, `claude-opus-4-5-20251101`. Alias keluarga seperti `"opus"` masih memungkinkan seluruh keluarga, dan entri `best`, `opusplan`, dan `default` diabaikan336 * `"exact"`: entri ID model hanya mengizinkan versi yang disebutkannya, sehingga `"claude-opus-5"` mengizinkan Opus 5 tetapi tidak `claude-opus-5-5`. Entri seperti `"claude-opus-4-5"` juga mengizinkan ID model Anthropic bertanggalnya `claude-opus-4-5-20251101`. Alias keluarga seperti `"opus"` tetap mengizinkan seluruh keluarga, dan entri `best`, `opusplan`, serta `default` diabaikan

337* **Default**: `"prefix"`337* **Default**: `"prefix"`

338 338 

339Contoh ini memungkinkan Opus 5 dan Sonnet 5 dan tidak ada rilis yang lebih baru dari keduanya:339Contoh ini mengizinkan Opus 5 dan Sonnet 5 tanpa rilis yang lebih baru dari keduanya:

340 340 

341```json managed-settings.json theme={null}341```json managed-settings.json theme={null}

342{342{


345}345}

346```346```

347 347 

348Dengan `"exact"`, opsi Default juga dibatasi pada model yang tercantum kapan pun daftar menamai setidaknya satu model atau keluarga. Lihat [Blokir model atau versi tertentu](https://code.claude.com/docs/id/model-config.md#block-specific-models-or-versions).348Dengan `"exact"`, opsi Default juga dibatasi pada model yang tercantum setiap kali daftar menyebutkan setidaknya satu model atau keluarga. Lihat [Memblokir model atau versi tertentu](https://code.claude.com/docs/id/model-config.md#block-specific-models-or-versions).

349 349 

350### `deniedModels`350### `deniedModels`

351 351 

352Blokir model tertentu, dengan atau tanpa daftar [`availableModels`](#availablemodels) dan bahkan ketika daftar itu memungkinkannya. Claude Code menyembunyikan model yang diblokir dari pemilih `/model`, dan model tidak dapat dipilih di mana pun `availableModels` diberlakukan. Sesi pada opsi Default juga tidak menjalankan model yang diblokir, seperti yang dijelaskan [Blokir model atau versi tertentu](https://code.claude.com/docs/id/model-config.md#block-specific-models-or-versions). Memerlukan Claude Code v2.1.283 atau lebih baru.352Blokir model tertentu, dengan atau tanpa allowlist [`availableModels`](#availablemodels) dan bahkan ketika daftar tersebut mengizinkannya. Claude Code menyembunyikan model yang diblokir dari pemilih `/model`, dan model tersebut tidak dapat dipilih di mana pun `availableModels` diberlakukan. Sesi pada opsi Default juga tidak menjalankan model yang diblokir, seperti yang dijelaskan di [Memblokir model atau versi tertentu](https://code.claude.com/docs/id/model-config.md#block-specific-models-or-versions). Memerlukan Claude Code v2.1.283 atau yang lebih baru.

353 353 

354* **Scope**: [`Managed`](#scopes). Claude Code mengabaikan kunci dalam pengaturan pengguna, proyek, dan lokal serta dalam `--settings`, dengan peringatan354* **Cakupan**: [`Managed`](#scopes). Claude Code mengabaikan kunci ini di pengaturan user, project, dan local serta di `--settings`, dengan peringatan

355* **Type**: array alias model atau ID355* **Tipe**: array alias atau ID model

356 * Alias keluarga seperti `"opus"` memblokir setiap model dalam keluarga itu356 * Alias keluarga seperti `"opus"` memblokir setiap model dalam keluarga tersebut

357 * ID model seperti `"claude-opus-5-5"` memblokir versi itu dalam setiap ejaan, termasuk ID tanggal dan khusus penyedia357 * ID model seperti `"claude-opus-5-5"` memblokir versi tersebut dalam setiap penulisan, termasuk ID bertanggal dan ID khusus penyedia

358 * ID model tanpa versi minor, seperti `"claude-opus-5"`, juga memblokir versi minor yang lebih baru seperti Opus 5.5. Tulis `"claude-opus-5-0"` untuk memblokir Opus 5 saja358 * ID model tanpa versi minor, seperti `"claude-opus-5"`, juga memblokir versi minor yang lebih baru seperti Opus 5.5. Tulis `"claude-opus-5-0"` untuk memblokir Opus 5 saja

359 * Entri `best`, `opusplan`, dan `default` diabaikan359 * Entri `best`, `opusplan`, dan `default` diabaikan

360* **Default**: tidak disetel, jadi tidak ada model yang diblokir360* **Default**: tidak diatur, sehingga tidak ada model yang diblokir

361 361 

362Contoh ini memungkinkan model Opus dan Sonnet dan memblokir Opus 5.5:362Contoh ini mengizinkan model Opus dan Sonnet serta memblokir Opus 5.5:

363 363 

364```json managed-settings.json theme={null}364```json managed-settings.json theme={null}

365{365{


368}368}

369```369```

370 370 

371Lihat [Blokir model atau versi tertentu](https://code.claude.com/docs/id/model-config.md#block-specific-models-or-versions).371Lihat [Memblokir model atau versi tertentu](https://code.claude.com/docs/id/model-config.md#block-specific-models-or-versions).

372 372 

373### `effortLevel`373### `effortLevel`

374 374 

375Tetapkan [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) default untuk model yang belum Anda simpan tingkatnya. Level yang lebih rendah lebih cepat dan lebih murah pada tugas yang mudah, dan level yang lebih tinggi bernalar lebih dalam pada masalah yang kompleks.375Atur [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) default untuk model yang belum Anda simpan tingkatnya. Tingkat yang lebih rendah lebih cepat dan lebih murah untuk tugas yang sederhana, dan tingkat yang lebih tinggi bernalar lebih mendalam pada masalah yang kompleks.

376 376 

377Ketika Anda menjalankan `/effort low`, `medium`, `high`, atau `xhigh` dalam sesi interaktif di mesin Anda, Claude Code menyimpan level untuk model aktif di bawah [`modelSettings`](#modelsettings) daripada menulis kunci ini. Sebelum v2.1.251, `/effort` menulis kunci ini.377Ketika Anda menjalankan `/effort low`, `medium`, `high`, atau `xhigh` dalam sesi interaktif di mesin Anda, Claude Code menyimpan tingkat tersebut untuk model aktif di bawah [`modelSettings`](#modelsettings) alih-alih menulis kunci ini. Sebelum v2.1.251, `/effort` menulis kunci ini.

378 378 

379Dalam file pengaturan yang sama, Claude Code menggunakan level yang disimpan model daripada kunci ini. [`modelSettings`](#modelsettings) menyatakan preseden lintas file.379Dalam file pengaturan yang sama, Claude Code menggunakan tingkat tersimpan milik model alih-alih kunci ini. [`modelSettings`](#modelsettings) menjelaskan prioritas lintas file.

380 380 

381Dalam sesi yang terpasang ke pekerja jarak jauh, dalam jalankan `-p`, dan dalam Agent SDK, `/effort` berlaku hanya untuk sesi itu. [Sesuaikan tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) mencantumkan pilihan interaktif yang juga berlaku hanya untuk sesi itu. Pesan yang dicetak `/effort` mengatakan mana yang terjadi.381Dalam sesi yang terhubung ke worker jarak jauh, dalam eksekusi `-p`, dan di Agent SDK, `/effort` hanya berlaku untuk sesi tersebut. [Menyesuaikan tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) mencantumkan pilihan interaktif yang juga hanya berlaku untuk sesi tersebut. Pesan yang dicetak `/effort` menyebutkan mana yang terjadi.

382 382 

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

384* **Type**: string, salah satu dari:384* **Tipe**: string, salah satu dari:

385 * `"low"`: penalaran paling sedikit, untuk tugas pendek, terbatas, sensitif latensi yang bukan sensitif intelijen385 * `"low"`: penalaran paling sedikit, untuk tugas singkat, terbatas, dan sensitif terhadap latensi yang tidak sensitif terhadap kecerdasan

386 * `"medium"`: mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat menukar beberapa intelijen386 * `"medium"`: mengurangi penggunaan token untuk pekerjaan yang sensitif terhadap biaya yang dapat mengorbankan sebagian kecerdasan

387 * `"high"`: menyeimbangkan penggunaan token dan intelijen387 * `"high"`: menyeimbangkan penggunaan token dan kecerdasan

388 * `"xhigh"`: penalaran lebih dalam dengan pengeluaran token yang lebih tinggi388 * `"xhigh"`: penalaran lebih mendalam dengan pengeluaran token yang lebih tinggi

389* **Default**: tidak disetel389* **Default**: tidak diatur

390* **Per-session overrides**: `--effort` mengambil alih kunci ini untuk satu sesi, dan [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/id/env-vars) mengambil alih keduanya390* **Override per sesi**: `--effort` diutamakan daripada kunci ini untuk satu sesi, dan [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/id/env-vars) diutamakan daripada keduanya

391 391 

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

393{393{


395}395}

396```396```

397 397 

398Dalam file pengaturan pengguna Anda, `~/.claude/settings.json`, kunci ini adalah bentuk yang lebih lama `/effort` ditulis sebelum menyimpan level per model, dan terus berlaku di mana ia berlaku sebelumnya, pada Opus 5, Fable 5.1, dan model yang lebih awal. Opus 5.5 dan model yang dirilis setelahnya mengabaikannya dan mulai pada default mereka sendiri sampai Anda menyimpan level untuk mereka, yang ditulis `/effort` di bawah [`modelSettings`](#modelsettings). Dalam pengaturan proyek, lokal, dan terkelola, dan dengan `--settings`, kunci ini berlaku untuk setiap model.398Di file pengaturan user Anda, `~/.claude/settings.json`, kunci ini adalah bentuk lama yang ditulis `/effort` sebelum menyimpan tingkat per model, dan kunci ini tetap berlaku di tempat sebelumnya berlaku, pada Opus 5, Fable 5.1, dan model yang lebih lama. Opus 5.5 dan model yang dirilis setelahnya mengabaikannya dan dimulai pada default masing-masing sampai Anda menyimpan tingkat untuk model tersebut, yang ditulis `/effort` di bawah [`modelSettings`](#modelsettings). Di pengaturan project, local, dan terkelola, serta dengan `--settings`, kunci ini berlaku untuk setiap model.

399 399 

400### `enforceAvailableModels`400### `enforceAvailableModels`

401 401 

402Pemilih `/model` memiliki opsi **Default**, dan [`default` model setting](https://code.claude.com/docs/id/model-config#default-model-setting) menjelaskan model yang diselesaikannya. Daftar [`availableModels`](#availablemodels) membatasi model yang dapat Anda beri nama, tetapi dengan [pencocokan awalan](#availablemodelsmatch) default itu tidak memetakan ulang default tipe akun Anda, jadi **Default** masih dapat diselesaikan ke model di luar daftar. Kunci ini menutup celah itu. Memerlukan Claude Code v2.1.175 atau lebih baru.402Pemilih `/model` memiliki opsi **Default**, dan [pengaturan model `default`](https://code.claude.com/docs/id/model-config#default-model-setting) menjelaskan model yang menjadi hasil resolve-nya. Allowlist [`availableModels`](#availablemodels) membatasi model yang dapat Anda sebutkan, tetapi dengan [pencocokan prefiks](#availablemodelsmatch) default, allowlist tersebut tidak memetakan ulang default tipe akun Anda, sehingga **Default** masih dapat di-resolve ke model di luar daftar. Kunci ini menutup celah tersebut. Memerlukan Claude Code v2.1.175 atau yang lebih baru.

403 403 

404Ketika organisasi Anda menerapkan pengaturan terkelola apa pun, Claude Code membaca kunci ini dari sumber terkelola saja dan mengabaikannya dalam file lain Anda.404Ketika organisasi Anda men-deploy pengaturan terkelola apa pun, Claude Code membaca kunci ini hanya dari sumber terkelola dan mengabaikannya di file Anda yang lain.

405 405 

406Untuk cara kunci ini berlaku pada pemeriksaan model saat startup, lihat [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md#when-your-organization-enforces-a-model-allowlist) dan [Agent Platform Google Cloud](https://code.claude.com/docs/id/google-vertex-ai.md#when-your-organization-enforces-a-model-allowlist).406Untuk cara kunci ini berlaku pada pemeriksaan model saat startup, lihat [Amazon Bedrock](https://code.claude.com/docs/id/amazon-bedrock.md#when-your-organization-enforces-a-model-allowlist) dan [Google Cloud's Agent Platform](https://code.claude.com/docs/id/google-vertex-ai.md#when-your-organization-enforces-a-model-allowlist).

407 407 

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

409* **Type**: Boolean409* **Tipe**: Boolean

410 * `true`: ketika **Default** akan diselesaikan ke model di luar `availableModels`, Claude Code menyelesaikannya ke model pertama yang tersedia dalam daftar410 * `true`: ketika **Default** akan di-resolve ke model di luar `availableModels`, Claude Code me-resolve-nya ke model tersedia pertama dalam daftar

411 * `false`: kunci ini tidak mengubah cara **Default** diselesaikan411 * `false`: kunci ini tidak mengubah cara **Default** di-resolve

412* **Default**: `false`412* **Default**: `false`

413 413 

414Contoh ini membatasi pilihan bernama ke model Sonnet dan Haiku dan membuat **Default** diselesaikan ke yang pertama dari mereka yang tersedia:414Contoh ini membatasi pilihan bernama ke model Sonnet dan Haiku dan membuat **Default** di-resolve ke yang pertama di antara keduanya yang tersedia:

415 415 

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

417{417{


420}420}

421```421```

422 422 

423Kunci ini tidak berpengaruh ketika `availableModels` tidak disetel atau kosong. Lihat [Berlakukan daftar untuk model Default](https://code.claude.com/docs/id/model-config.md#enforce-the-allowlist-for-the-default-model). Memerlukan Claude Code v2.1.175 atau lebih baru.423Kunci ini tidak berpengaruh ketika `availableModels` tidak diatur atau kosong. Lihat [Memberlakukan allowlist untuk model Default](https://code.claude.com/docs/id/model-config.md#enforce-the-allowlist-for-the-default-model). Memerlukan Claude Code v2.1.175 atau yang lebih baru.

424 424 

425### `fallbackModel`425### `fallbackModel`

426 426 

427Beri nama model cadangan untuk Claude Code coba, secara berurutan, ketika model utama Anda kelebihan beban atau tidak tersedia. Claude Code beralih ke model yang tersedia berikutnya dalam rantai untuk sisa giliran dan menunjukkan pemberitahuan. Tanpa rantai, Claude Code mencoba ulang model yang sama dan kemudian menampilkan kesalahan server, dan Anda mencoba ulang atau beralih model sendiri.427Sebutkan model cadangan yang akan dicoba Claude Code, secara berurutan, ketika model utama Anda kelebihan beban atau tidak tersedia. Claude Code beralih ke model tersedia berikutnya dalam rantai untuk sisa giliran dan menampilkan pemberitahuan. Tanpa rantai, Claude Code mencoba ulang model yang sama lalu menampilkan error dari server, dan Anda mencoba ulang atau beralih model sendiri.

428 428 

429Beralih berarti satu giliran dengan [cache prompt](https://code.claude.com/docs/id/prompt-caching.md#switching-models) dingin pada model fallback; pesan Anda berikutnya mencoba model utama terlebih dahulu lagi.429Peralihan berarti satu giliran dengan [prompt cache](https://code.claude.com/docs/id/prompt-caching.md#switching-models) yang dingin pada model fallback; pesan Anda berikutnya mencoba model utama terlebih dahulu lagi.

430 430 

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

432* **Type**: array alias model atau ID; `"default"` berkembang ke model default432* **Tipe**: array alias atau ID model; `"default"` diperluas menjadi model default

433* **Default**: tidak disetel, jadi permintaan yang gagal tidak dicoba ulang pada model lain433* **Default**: tidak diatur, sehingga permintaan yang gagal tidak dicoba ulang pada model lain

434* **Per-session overrides**: `--fallback-model` mengambil alih kunci ini untuk satu sesi434* **Override per sesi**: `--fallback-model` diutamakan daripada kunci ini untuk satu sesi

435 435 

436Contoh ini mencoba Sonnet 5 terlebih dahulu, kemudian Haiku 4.5, ketika model utama Anda gagal:436Contoh ini mencoba Sonnet 5 terlebih dahulu, lalu Haiku 4.5, ketika model utama Anda gagal:

437 437 

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

439{439{


441}441}

442```442```

443 443 

444Tidak seperti sebagian besar pengaturan array, kunci ini tidak menggabungkan di seluruh file pengaturan: file dengan preseden tertinggi yang mendefinisikannya memasok seluruh rantai. Jika file proyek Anda menetapkan `["claude-sonnet-5"]` dan file pengguna Anda menetapkan `["claude-haiku-4-5"]`, rantainya adalah `["claude-sonnet-5"]` saja. Claude Code menyimpan paling banyak tiga model yang diizinkan berbeda dari daftar dan mengabaikan sisanya. Lihat [Rantai model fallback](https://code.claude.com/docs/id/model-config.md#fallback-model-chains).444Tidak seperti kebanyakan pengaturan array, kunci ini tidak digabungkan lintas file pengaturan: file dengan prioritas tertinggi yang mendefinisikannya menyediakan seluruh rantai. Jika file project Anda mengatur `["claude-sonnet-5"]` dan file user Anda mengatur `["claude-haiku-4-5"]`, rantainya hanya `["claude-sonnet-5"]`. Claude Code menyimpan paling banyak tiga model berbeda yang diizinkan dari daftar dan mengabaikan sisanya. Lihat [Rantai model fallback](https://code.claude.com/docs/id/model-config.md#fallback-model-chains).

445 445 

446### `fastMode`446### `fastMode`

447 447 

448Hidupkan [fast mode](https://code.claude.com/docs/id/fast-mode.md) untuk sesi tempat tersedia, untuk pekerjaan interaktif seperti iterasi cepat atau debugging langsung tempat Anda menginginkan kecepatan dengan biaya yang lebih tinggi per token. Anda biasanya tidak mengedit kunci ini dengan tangan: menjalankan `/fast` menulis `fastMode: true` ke `~/.claude/settings.json`, dan menjalankannya lagi untuk mematikan fast mode menghapus kunci. Fast mode berjalan hanya pada Opus 5.5, Opus 5, dan Opus 4.8: menghidupkannya dari model lain beralih Anda ke Opus, dan beralih ke model yang tidak didukung mematikannya. Lihat [Beralih model saat fast mode aktif](https://code.claude.com/docs/id/fast-mode.md#switch-models-while-fast-mode-is-on).448Aktifkan [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. Fast mode hanya berjalan pada Opus 5.5, Opus 5, dan Opus 4.8: mengaktifkannya dari model lain akan mengalihkan Anda ke Opus, dan beralih ke model yang tidak didukung akan mematikannya. Lihat [Beralih model saat fast mode aktif](https://code.claude.com/docs/id/fast-mode.md#switch-models-while-fast-mode-is-on).

449 449 

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

451* **Type**: Boolean451* **Tipe**: Boolean

452 * `true`: Claude Code menghidupkan fast mode untuk sesi tempat tersedia452 * `true`: Claude Code mengaktifkan fast mode untuk sesi di mana fitur ini tersedia

453 * `false`: fast mode tetap mati453 * `false`: fast mode tetap mati

454* **Default**: tidak disetel, jadi fast mode mati454* **Default**: tidak diatur, sehingga fast mode mati

455* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/id/env-vars) mematikan fast mode untuk satu sesi, dan kunci ini tidak dapat menghidupkannya kembali455* **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

456 456 

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

458{458{


462 462 

463### `fastModePerSessionOptIn`463### `fastModePerSessionOptIn`

464 464 

465Biasanya, menjalankan `/fast` menyimpan [`fastMode`](#fastmode) ke pengaturan pengguna seseorang, jadi fast mode aktif di awal setiap sesi yang lebih baru. Tetapkan kunci ini ke `true` untuk menghentikan itu: `fastMode: true` yang disimpan tidak lagi menghidupkan fast mode di awal sesi, dan setiap orang harus menjalankan `/fast` dalam setiap sesi yang mereka inginkan. Claude Code meninggalkan kunci `fastMode` dalam file mereka, jadi mematikan kunci ini mengembalikan perilaku lama.465Biasanya, menjalankan `/fast` menyimpan [`fastMode`](#fastmode) ke pengaturan user seseorang, sehingga fast mode aktif di awal setiap sesi berikutnya. Atur kunci ini ke `true` untuk menghentikannya: `fastMode: true` yang tersimpan tidak lagi mengaktifkan fast mode saat sesi dimulai, dan setiap orang harus menjalankan `/fast` di setiap sesi yang menginginkannya. Claude Code membiarkan kunci `fastMode` di file mereka, sehingga mematikan kunci ini memulihkan perilaku lama.

466 466 

467Pemilik pada paket Team atau Enterprise dapat menerapkannya di seluruh organisasi melalui [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md). Ketika pengaturan terkelola menetapkan kunci, `/fast on` ditolak di luar sesi terminal interaktif dan melaporkan bahwa organisasi Anda telah menonaktifkan fast mode. Itu mencakup [mode non-interaktif](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).467Owner 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).

468 468 

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

470* **Type**: Boolean470* **Tipe**: Boolean

471 * `true`: `fastMode: true` yang disimpan tidak lagi menghidupkan fast mode di awal sesi, jadi setiap orang menjalankan `/fast` dalam setiap sesi yang mereka inginkan; `fastMode: true` yang dilewatkan dengan `--settings` masih dihitung untuk sesi itu kecuali pengaturan terkelola menetapkan kunci ini471 * `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

472 * `false`: `fastMode: true` yang disimpan menghidupkan fast mode di awal setiap sesi yang lebih baru472 * `false`: `fastMode: true` yang tersimpan mengaktifkan fast mode di awal setiap sesi berikutnya

473* **Default**: `false`473* **Default**: `false`

474 474 

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


478}478}

479```479```

480 480 

481Lihat [Memerlukan opt-in per sesi](https://code.claude.com/docs/id/fast-mode.md#require-per-session-opt-in).481Lihat [Mewajibkan opt-in per sesi](https://code.claude.com/docs/id/fast-mode.md#require-per-session-opt-in).

482 482 

483### `language`483### `language`

484 484 

485Buat Claude merespons dalam bahasa selain Inggris secara default. Tidak ada daftar tetap untuk respons: Claude Code meneruskan nilai secara harfiah ke Claude sebagai instruksi untuk selalu merespons dalam bahasa itu, jadi nama bahasa apa pun yang dapat dibaca Claude berfungsi. Claude Code tidak memeriksa nilai, jadi nama yang salah eja mencapai Claude seperti yang ditulis daripada menghasilkan kesalahan. Nilai yang sama menetapkan bahasa untuk [voice dictation](https://code.claude.com/docs/id/voice-dictation.md#change-the-dictation-language), yang memiliki daftar tetap [bahasa dictation yang didukung](https://code.claude.com/docs/id/voice-dictation.md#change-the-dictation-language), dan untuk judul sesi yang dibuat secara otomatis.485Buat Claude merespons dalam bahasa selain bahasa Inggris secara default. Tidak ada daftar tetap untuk respons: Claude Code meneruskan nilai apa adanya ke Claude sebagai instruksi untuk selalu merespons dalam bahasa tersebut, sehingga nama bahasa apa pun yang dapat dibaca Claude akan berfungsi. Claude Code tidak memeriksa nilainya, sehingga nama yang salah eja sampai ke Claude sebagaimana ditulis alih-alih menghasilkan error. Nilai yang sama mengatur bahasa untuk [dikte suara](https://code.claude.com/docs/id/voice-dictation.md#change-the-dictation-language), yang memang memiliki daftar tetap [bahasa dikte yang didukung](https://code.claude.com/docs/id/voice-dictation.md#change-the-dictation-language), dan untuk judul sesi yang dibuat otomatis.

486 486 

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

488* **Type**: string, nama bahasa apa pun, seperti `"japanese"`, `"spanish"`, atau `"french"`; Claude Code tidak memvalidasinya488* **Tipe**: string, nama bahasa apa pun, seperti `"japanese"`, `"spanish"`, atau `"french"`; Claude Code tidak memvalidasinya

489* **Default**: tidak disetel; judul sesi kemudian cocok dengan bahasa percakapan Anda489* **Default**: tidak diatur; judul sesi kemudian mengikuti bahasa percakapan Anda

490 490 

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

492{492{


496 496 

497### `maxEffortLevel`497### `maxEffortLevel`

498 498 

499Batasi [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) yang dapat digunakan sesi, meninggalkan level yang lebih rendah tersedia. Level yang lebih tinggi apa pun berjalan pada batas sebagai gantinya, termasuk dari `/effort`, pemilih `/model`, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/id/env-vars), frontmatter `effort` skill atau subagent, atau default model itu sendiri. Claude Code menerapkan batas itu sendiri sebelum setiap permintaan, jadi itu berlaku pada setiap penyedia, termasuk Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry. Memerlukan Claude Code v2.1.267 atau lebih baru.499Batasi [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) yang dapat digunakan sesi, dengan tetap menyediakan tingkat yang lebih rendah. Tingkat yang lebih tinggi akan berjalan pada batas tersebut, termasuk yang berasal dari `/effort`, pemilih `/model`, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/id/env-vars), frontmatter `effort` milik skill atau subagent, atau default milik model itu sendiri. Claude Code menerapkan batas itu sendiri sebelum setiap permintaan, sehingga batas tersebut berlaku di setiap penyedia, termasuk Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry. Memerlukan Claude Code v2.1.267 atau yang lebih baru.

500 500 

501* **Scope**: [`Any file`](#scopes). Terapkan dalam pengaturan terkelola untuk memberlakukannya untuk organisasi. Ketika beberapa scope menetapkan batas, yang terendah berlaku, jadi batas yang ditetapkan dalam satu scope tidak dapat dinaikkan dari scope lain501* **Cakupan**: [`Any file`](#scopes). Deploy di pengaturan terkelola untuk memberlakukannya bagi organisasi. Ketika beberapa cakupan mengatur batas, batas terendah yang berlaku, sehingga batas yang diatur di satu cakupan tidak dapat dinaikkan dari cakupan lain

502* **Type**: string, salah satu dari `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Nilai `"max"` tidak menetapkan batas502* **Tipe**: string, salah satu dari `"low"`, `"medium"`, `"high"`, `"xhigh"`, atau `"max"`. Nilai `"max"` tidak mengatur batas

503* **Default**: tidak disetel, jadi tidak ada batas yang berlaku503* **Default**: tidak diatur, sehingga tidak ada batas yang berlaku

504* **Per-model caps**: tambahkan `maxEffortLevel` ke entri [`modelSettings`](#modelsettings) model. Entri itu menggantikan kunci ini untuk model saja dalam sumber pengaturan yang menetapkan keduanya, seperti pengaturan pengguna Anda atau satu [sumber terkelola](https://code.claude.com/docs/id/managed-settings.md#how-claude-code-combines-managed-sources). Tetapkan `"max"` di sana untuk mengecualikan model dari batas sumber itu; Claude Code masih menerapkan batas dari sumber lain504* **Batas per model**: tambahkan `maxEffortLevel` ke entri [`modelSettings`](#modelsettings) milik model. Entri tersebut menggantikan kunci ini untuk model itu hanya dalam sumber pengaturan yang mengatur keduanya, seperti pengaturan user Anda atau satu [sumber terkelola](https://code.claude.com/docs/id/managed-settings.md#how-claude-code-combines-managed-sources). Atur `"max"` di sana untuk membebaskan model dari batas sumber tersebut; Claude Code tetap menerapkan batas dari sumber lain

505 505 

506Contoh ini membatasi setiap model pada `medium` dan mengecualikan Sonnet 4.6:506Contoh ini membatasi setiap model pada `medium` dan membebaskan Sonnet 4.6:

507 507 

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

509{509{


516}516}

517```517```

518 518 

519Ketika organisasi Anda juga menetapkan [batas effort](https://code.claude.com/docs/id/model-config.md#organization-effort-limits) untuk model, batas yang lebih rendah dari keduanya berlaku.519Ketika organisasi Anda juga mengatur [batas effort](https://code.claude.com/docs/id/model-config.md#organization-effort-limits) untuk suatu model, batas yang lebih rendah dari keduanya yang berlaku.

520 520 

521### `model`521### `model`

522 522 

523Tetapkan model yang digunakan setiap sesi baru, jadi Anda tidak harus memilih satu dengan `/model` setiap kali. Menetapkannya di sini tidak menghentikan Anda dari beralih di tengah sesi. Jika admin Anda menetapkan [model default organisasi](https://code.claude.com/docs/id/model-config.md#organization-default-model) untuk mengesampingkan pilihan pengguna, Anda mendapatkan model itu bahkan ketika Anda menetapkan kunci ini dalam pengaturan pengguna, proyek, atau lokal.523Atur model yang digunakan setiap sesi baru, sehingga Anda tidak perlu memilihnya dengan `/model` setiap kali. Mengaturnya di sini tidak menghalangi Anda beralih di tengah sesi. Jika admin Anda mengatur [model default organisasi](https://code.claude.com/docs/id/model-config.md#organization-default-model) untuk menimpa pilihan user, Anda mendapatkan model tersebut bahkan ketika Anda mengatur kunci ini di pengaturan user, project, atau local.

524 524 

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

526* **Type**: string, alias model atau ID model lengkap526* **Tipe**: string, alias model atau ID model lengkap

527* **Default**: tidak disetel, jadi Claude Code menggunakan model default akun Anda527* **Default**: tidak diatur, sehingga Claude Code menggunakan model default akun Anda

528* **Per-session overrides**: `--model` mengambil alih [`ANTHROPIC_MODEL`](https://code.claude.com/docs/id/env-vars), dan keduanya mengambil alih kunci ini untuk satu sesi, termasuk atas `model` terkelola; daftar [`availableModels`](#availablemodels) masih berlaku untuk pilihan528* **Override per sesi**: `--model` diutamakan daripada [`ANTHROPIC_MODEL`](https://code.claude.com/docs/id/env-vars), dan keduanya diutamakan daripada kunci ini untuk satu sesi, termasuk daripada `model` terkelola; daftar [`availableModels`](#availablemodels) tetap berlaku untuk pilihan tersebut

529 529 

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

531{531{


533}533}

534```534```

535 535 

536Nilai di sini mengalahkan [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/id/model-config#set-a-default-model-for-new-sessions), yang Claude Code gunakan hanya ketika tidak ada yang lain memilih model.536Nilai di sini memiliki prioritas lebih tinggi daripada [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/id/model-config#set-a-default-model-for-new-sessions), yang hanya digunakan Claude Code ketika tidak ada hal lain yang memilih model.

537 537 

538### `modelOverrides`538### `modelOverrides`

539 539 

540Petakan ID model Anthropic ke ID model khusus penyedia, seperti ARN profil inferensi Amazon Bedrock. Setiap entri pemilih model kemudian menggunakan nilai yang dipetakan saat memanggil API penyedia. Administrator menggunakan ini pada [Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry](https://code.claude.com/docs/id/model-config.md#override-model-ids-per-version) untuk merutekan setiap versi model ke profil inferensi, nama versi, atau deployment tertentu untuk tata kelola, alokasi biaya, atau perutean regional.540Petakan ID model Anthropic ke ID model khusus penyedia, seperti ARN inference profile Amazon Bedrock. Setiap entri pemilih model kemudian menggunakan nilai yang dipetakan saat memanggil API penyedia. Administrator menggunakan ini pada [Amazon Bedrock, Google Cloud's Agent Platform, dan Microsoft Foundry](https://code.claude.com/docs/id/model-config.md#override-model-ids-per-version) untuk merutekan setiap versi model ke inference profile, nama versi, atau deployment tertentu untuk tata kelola, alokasi biaya, atau perutean regional.

541 541 

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

543* **Type**: object memetakan ID model ke ID model penyedia543* **Tipe**: objek yang memetakan ID model ke ID model penyedia

544* **Default**: tidak disetel544* **Default**: tidak diatur

545 545 

546Contoh ini merutekan setiap panggilan untuk Opus 4.6 ke profil inferensi Bedrock bernama:546Contoh ini merutekan setiap panggilan untuk Opus 4.6 ke inference profile Bedrock yang disebutkan:

547 547 

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

549{549{


553}553}

554```554```

555 555 

556Lihat [Ganti ID model per versi](https://code.claude.com/docs/id/model-config.md#override-model-ids-per-version).556Lihat [Menimpa ID model per versi](https://code.claude.com/docs/id/model-config.md#override-model-ids-per-version).

557 557 

558### `modelPicker`558### `modelPicker`

559 559 

560Daftar model yang ditawarkan pemilih `/model`, dalam urutan yang Anda tulis dan di bawah label yang Anda pilih, jadi pemilih mencantumkan model yang dijalankan organisasi Anda, setelah barisan bawaan atau sebagai gantinya. `model` setiap baris diambil secara harfiah, jadi itu menerima apa pun yang diterima `--model`: alias seperti `opus`, ID model Anthropic, atau ID format penyedia untuk Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, atau gateway LLM. Memerlukan Claude Code v2.1.242 atau lebih baru.560Cantumkan model yang ditawarkan pemilih `/model`, dalam urutan yang Anda tulis dan dengan label yang Anda pilih, sehingga pemilih mencantumkan model yang dijalankan organisasi Anda, setelah jajaran bawaan atau sebagai penggantinya. `model` setiap baris diambil apa adanya, sehingga menerima apa pun yang diterima `--model`: alias seperti `opus`, ID model Anthropic, atau ID berformat penyedia untuk Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau LLM gateway. Memerlukan Claude Code v2.1.242 atau yang lebih baru.

561 561 

562* **Scope**: [`User or managed`](#scopes). Claude Code membaca kunci dari pengaturan terkelola, `--settings`, dan pengaturan pengguna, dan mengabaikannya dalam pengaturan proyek dan lokal jadi repositori yang Anda klon tidak dapat memberi label ulang pemilih. Yang tertinggi dari ketiga itu yang menetapkan kunci memasok seluruh barisan, dan Claude Code tidak pernah menggabungkan barisan dari dua sumber.562* **Cakupan**: [`User or managed`](#scopes). Claude Code membaca kunci ini dari pengaturan terkelola, `--settings`, dan pengaturan user, serta mengabaikannya di pengaturan project dan local sehingga repositori yang Anda clone tidak dapat melabeli ulang pemilih. Yang tertinggi dari ketiganya yang mengatur kunci ini menyediakan seluruh jajaran, dan Claude Code tidak pernah menggabungkan jajaran dari dua sumber.

563* **Type**: object dengan array `options` dari baris dan Boolean `replaceBuiltInOptions` opsional563* **Tipe**: objek dengan array baris `options` dan Boolean `replaceBuiltInOptions` opsional

564* **Default**: tidak disetel, jadi pemilih menunjukkan barisan bawaan564* **Default**: tidak diatur, sehingga pemilih menampilkan jajaran bawaan

565 565 

566Contoh ini menambahkan dua deployment Bedrock setelah barisan bawaan, di bawah nama yang dikenali tim Anda:566Contoh ini menambahkan dua deployment Bedrock setelah jajaran bawaan, dengan nama yang dikenali tim Anda:

567 567 

568```json managed-settings.json theme={null}568```json managed-settings.json theme={null}

569{569{


580}580}

581```581```

582 582 

583#### Bidang untuk `modelPicker`583#### Field untuk `modelPicker`

584 584 

585Kunci mengambil dua bidang, satu untuk baris itu sendiri dan satu untuk apakah mereka menggantikan barisan bawaan atau menambahnya.585Kunci ini menerima dua field, satu untuk baris itu sendiri dan satu untuk menentukan apakah baris tersebut menggantikan jajaran bawaan atau menambahkannya.

586 586 

587| Bidang | Tipe | Apa yang dilakukannya |587| Field | Tipe | Fungsinya |

588| :- | :- | :- |588| :- | :- | :- |

589| `options` | array baris, masing-masing dengan `model` yang diperlukan dan `label`, `description`, dan `behavesAs` opsional | Baris yang ditunjukkan pemilih, dalam urutan ini, kecuali baris yang diarsir pindah ke bawah. Tanpa `label`, Claude Code memberi judul baris dengan nama bawaan untuk model yang diketahuinya, atau ID model sebaliknya, dan tanpa `description` itu menulis baris kedua generik |589| `options` | array baris, masing-masing dengan `model` wajib dan `label`, `description`, serta `behavesAs` opsional | Baris yang ditampilkan pemilih, dalam urutan ini, kecuali baris yang berwarna abu-abu dipindahkan ke bawah. Tanpa `label`, Claude Code memberi judul baris dengan nama bawaan untuk model yang dikenalinya, atau ID model jika tidak, dan tanpa `description` ia menulis baris kedua yang generik |

590| `replaceBuiltInOptions` | Boolean, default `false` | Tetapkan ke `true` untuk menunjukkan hanya baris ini, **Default**, dan baris untuk model yang sudah digunakan sesi. Biarkan tidak disetel untuk menambahkan baris ini setelah barisan bawaan |590| `replaceBuiltInOptions` | Boolean, default `false` | Atur ke `true` untuk hanya menampilkan baris-baris ini, **Default**, dan baris untuk model yang sudah digunakan sesi. Biarkan tidak diatur untuk menambahkan baris-baris ini setelah jajaran bawaan |

591 591 

592Entri dalam `options` juga dapat membawa `behavesAs` string opsional di samping `model` nya, yang memerlukan v2.1.257 atau lebih baru. Tetapkan ke ID model yang sudah diketahui versi Claude Code Anda, seperti `claude-opus-4-8`, pada entri yang `model` nya lebih baru dari versi Anda. Claude Code kemudian menerapkan kemampuan model yang diketahui itu dan default effort ke entri daripada memperlakukan modelnya sebagai tidak dikenal. Label entri dan ID model yang dikirim Claude Code dalam permintaan tidak berubah.592Entri di `options` juga dapat membawa string `behavesAs` opsional di samping `model`-nya, yang memerlukan v2.1.257 atau yang lebih baru. Atur ke ID model yang sudah dikenali versi Claude Code Anda, seperti `claude-opus-4-8`, pada entri yang `model`-nya lebih baru dari versi Anda. Claude Code kemudian menerapkan kemampuan dan default effort model yang dikenal tersebut ke entri alih-alih memperlakukan modelnya sebagai tidak dikenal. Label entri dan ID model yang dikirim Claude Code dalam permintaan tidak berubah.

593 593 

594Dengan `replaceBuiltInOptions` aktif, Claude Code menyembunyikan setiap baris lain: barisan bawaan, baris yang ditambahkannya untuk entri [`availableModels`](#availablemodels), model yang ditemukan [penemuan gateway](https://code.claude.com/docs/id/llm-gateway-protocol.md#model-discovery), dan [`ANTHROPIC_CUSTOM_MODEL_OPTION`](https://code.claude.com/docs/id/model-config#add-a-custom-model-option). Dengan itu mati, Claude Code melewati model yang tercantum yang sudah dicakup barisan bawaan. Label mengubah apa yang ditunjukkan pemilih, bukan model mana yang dijalankan Claude Code.594Dengan `replaceBuiltInOptions` aktif, Claude Code menyembunyikan setiap baris lainnya: jajaran bawaan, baris yang ditambahkannya untuk entri [`availableModels`](#availablemodels), model yang ditemukan [penemuan gateway](https://code.claude.com/docs/id/llm-gateway-protocol.md#model-discovery), dan [`ANTHROPIC_CUSTOM_MODEL_OPTION`](https://code.claude.com/docs/id/model-config#add-a-custom-model-option). Dengan opsi ini mati, Claude Code melewati model tercantum yang sudah dicakup jajaran bawaan. Label mengubah apa yang ditampilkan pemilih, bukan model mana yang dijalankan Claude Code.

595 595 

596Daftar [`availableModels`](#availablemodels) masih berlaku untuk baris ini. Sebelum Anda menambahkan model yang tercantum ke daftar, baca [Perilaku penggabungan](https://code.claude.com/docs/id/model-config.md#merge-behavior): ID model tertentu mempersempit entri wildcard keluarganya. Claude Code juga memeriksa setiap baris terhadap sesi sebelum menunjukkan pemilih:596Allowlist [`availableModels`](#availablemodels) tetap berlaku untuk baris-baris ini. Sebelum Anda menambahkan model tercantum ke allowlist, baca [Perilaku penggabungan](https://code.claude.com/docs/id/model-config.md#merge-behavior): ID model tertentu mempersempit entri wildcard keluarganya. Claude Code juga memeriksa setiap baris terhadap sesi sebelum menampilkan pemilih:

597 597 

598* **Dijatuhkan**: baris yang tidak dapat disajikan Claude Code, seperti model yang pensiun atau model yang tidak memiliki akses organisasi Anda598* **Dihapus**: baris yang tidak dapat dilayani Claude Code, seperti model yang sudah dihentikan atau model yang tidak dapat diakses organisasi Anda

599* **Diarsir**: baris yang tidak dapat Anda pilih belum, ditampilkan dengan alasan599* **Berwarna abu-abu**: baris yang belum dapat Anda pilih, ditampilkan beserta alasannya

600* **Tidak ada baris yang bertahan**: Claude Code menyimpan barisan bawaan, disaring oleh daftar seperti biasa600* **Tidak ada baris yang tersisa**: Claude Code mempertahankan jajaran bawaan, difilter oleh allowlist seperti biasa

601 601 

602Claude Code menjatuhkan baris yang tidak dapat diuraikan dan menyimpan sisanya. Lihat [Perbaiki file pengaturan yang rusak](https://code.claude.com/docs/id/settings.md#fix-a-broken-settings-file).602Claude Code menghapus baris yang tidak dapat diurainya dan mempertahankan sisanya. Lihat [Memperbaiki file pengaturan yang rusak](https://code.claude.com/docs/id/settings.md#fix-a-broken-settings-file).

603 603 

604### `modelPricing`604### `modelPricing`

605 605 

606Laporkan pengeluaran pada tarif yang dibayar organisasi Anda daripada harga daftar. Tetapkan ketika organisasi Anda memiliki tarif kontrak, jadi angka dolar yang dilihat pengembang cocok dengan tagihan Anda. Claude Code menerapkan tarif dalam `/usage`, [baris status](https://code.claude.com/docs/id/statusline.md), `total_cost_usd` Agent SDK, batas [`--max-budget-usd`](https://code.claude.com/docs/id/cli-reference), dan [OpenTelemetry](https://code.claude.com/docs/id/monitoring-usage.md) metrik biaya dan acara. Anda memasok tarif: Claude Code tidak membacanya dari kontrak atau Claude Console Anda. Memerlukan Claude Code v2.1.242 atau lebih baru.606Laporkan pengeluaran dengan tarif yang dibayar organisasi Anda alih-alih harga daftar. Atur ketika organisasi Anda memiliki tarif kontrak, sehingga angka dolar yang dilihat developer sesuai dengan tagihan Anda. Claude Code menerapkan tarif tersebut di `/usage`, [baris status](https://code.claude.com/docs/id/statusline.md), `total_cost_usd` milik Agent SDK, batas [`--max-budget-usd`](https://code.claude.com/docs/id/cli-reference), serta metrik dan event biaya [OpenTelemetry](https://code.claude.com/docs/id/monitoring-usage.md). Anda yang menyediakan tarifnya: Claude Code tidak membacanya dari kontrak Anda atau Claude Console. Memerlukan Claude Code v2.1.242 atau yang lebih baru.

607 607 

608* **Scope**: [`Managed`](#scopes). Terapkan kunci melalui pengaturan terkelola server, kebijakan MDM, file `managed-settings.json`, atau [pembantu kebijakan](https://code.claude.com/docs/id/managed-settings.md#compute-the-policy-with-a-helper-program). Claude Code mengabaikannya dalam pengaturan pengguna, proyek, dan lokal, dalam `--settings`, dan di Windows dalam [registri HKCU](https://code.claude.com/docs/id/managed-settings.md#where-each-mechanism-stores-the-policy) yang dapat ditulis pengguna. Dengan pengaturan terkelola server, setiap sesi melaporkan biaya pada harga daftar sampai [pengambilan pengaturan](https://code.claude.com/docs/id/server-managed-settings.md#fetch-and-caching-behavior) sesi itu telah mengkonfirmasi pengaturan. Aplikasi host yang menyematkan Claude Code dan menetapkan [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/id/env-vars) dapat memasok tabel miliknya sendiri melalui opsi SDK [`managedSettings`](https://code.claude.com/docs/id/agent-sdk/typescript#options), yang Claude Code gunakan hanya ketika tidak ada sumber terkelola yang menetapkan kunci dan hanya dalam Claude Code v2.1.246 atau lebih baru.608* **Cakupan**: [`Managed`](#scopes). Deploy kunci ini melalui pengaturan terkelola server, kebijakan MDM, file `managed-settings.json`, atau [policy helper](https://code.claude.com/docs/id/managed-settings.md#compute-the-policy-with-a-helper-program). Claude Code mengabaikannya di pengaturan user, project, dan local, di `--settings`, dan di Windows pada [registri HKCU](https://code.claude.com/docs/id/managed-settings.md#where-each-mechanism-stores-the-policy) yang dapat ditulis user. Dengan pengaturan terkelola server, setiap sesi melaporkan biaya dengan harga daftar sampai [pengambilan pengaturan](https://code.claude.com/docs/id/server-managed-settings.md#fetch-and-caching-behavior) sesi tersebut telah mengonfirmasi pengaturan. Aplikasi host yang menyematkan Claude Code dan mengatur [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/id/env-vars) dapat menyediakan tabelnya sendiri melalui opsi SDK [`managedSettings`](https://code.claude.com/docs/id/agent-sdk/typescript#options), yang digunakan Claude Code hanya ketika tidak ada sumber terkelola yang mengatur kunci ini dan hanya di Claude Code v2.1.246 atau yang lebih baru.

609* **Type**: object dengan `multiplier` opsional dan peta `overrides` opsional609* **Tipe**: objek dengan `multiplier` opsional dan map `overrides` opsional

610* **Default**: tidak disetel, jadi Claude Code melaporkan harga daftar kecuali aplikasi host memasok tabel610* **Default**: tidak diatur, sehingga Claude Code melaporkan harga daftar kecuali aplikasi host menyediakan tabel

611 611 

612Tetapkan `multiplier` saja untuk diskon atau markup datar, `overrides` saja untuk tarif per model, atau keduanya.612Atur `multiplier` saja untuk diskon atau markup datar, `overrides` saja untuk tarif per model, atau keduanya.

613 613 

614Contoh ini menetapkan tarif kontrak untuk Sonnet 4.6 dan kemudian mengurangi setiap angka, baris Sonnet disertakan, sebesar 15%:614Contoh ini mengatur tarif kontrak untuk Sonnet 4.6 lalu mengurangi setiap angka, termasuk baris Sonnet, sebesar 15%:

615 615 

616```json managed-settings.json theme={null}616```json managed-settings.json theme={null}

617{617{


629}629}

630```630```

631 631 

632Tetapkan `multiplier` di atas 1, hingga 10, untuk menandai setiap angka. Markup memerlukan Claude Code v2.1.271 atau lebih baru. Versi yang lebih awal mengabaikan `multiplier` di atas 1 dengan peringatan dan menyimpan sisa pengaturan.632Atur `multiplier` di atas 1, hingga 10, untuk menaikkan setiap angka. Markup memerlukan Claude Code v2.1.271 atau yang lebih baru. Versi sebelumnya mengabaikan `multiplier` di atas 1 dengan peringatan dan mempertahankan sisa pengaturan.

633 633 

634Untuk langkah-langkahnya, termasuk cara mengkonfirmasi tarif berlaku, lihat [Laporkan pengeluaran pada tarif kontrak Anda](https://code.claude.com/docs/id/costs.md#report-spend-at-your-contracted-rates).634Untuk langkah-langkahnya, termasuk cara mengonfirmasi bahwa tarif sudah berlaku, lihat [Melaporkan pengeluaran dengan tarif kontrak Anda](https://code.claude.com/docs/id/costs.md#report-spend-at-your-contracted-rates).

635 635 

636#### Bidang untuk `modelPricing`636#### Field untuk `modelPricing`

637 637 

638| Bidang | Tipe | Apa yang dilakukannya |638| Field | Tipe | Fungsinya |

639| :- | :- | :- |639| :- | :- | :- |

640| `multiplier` | angka lebih besar dari 0 dan paling banyak 10 | Menskalakan setiap biaya yang dihitung Claude Code, apakah baris `overrides` mencakupnya atau tidak. Di bawah 1 adalah diskon, di atas 1 markup |640| `multiplier` | angka lebih besar dari 0 dan paling banyak 10 | Menskalakan setiap biaya yang dihitung Claude Code, baik dicakup oleh baris `overrides` maupun tidak. Di bawah 1 adalah diskon, di atas 1 adalah markup |

641| `overrides` | peta ID model ke objek tarif dengan `input`, `output`, `cacheRead`, dan `cacheWrite`, masing-masing 0 hingga 10000 | Tarif USD-per-juta-token untuk model itu, keempat diperlukan. `cacheWrite` mencakup penulisan cache lima menit dan satu jam. Lihat [Model mana yang berlaku baris modelPricing](#which-models-a-modelpricing-row-applies-to) |641| `overrides` | map ID model ke objek tarif dengan `input`, `output`, `cacheRead`, dan `cacheWrite`, masing-masing 0 hingga 10000 | Tarif USD per juta token untuk model tersebut, keempatnya wajib. `cacheWrite` mencakup penulisan cache lima menit dan satu jam. Lihat [Model mana yang dikenai sebuah baris](#which-models-a-modelpricing-row-applies-to) |

642 642 

643Claude Code menggunakan tarif baris persis seperti yang Anda tulis, tanpa menambahkan surcharge fast-mode atau [tarif inferensi hanya AS](https://platform.claude.com/docs/en/about-claude/pricing). Jika Anda juga menetapkan `multiplier`, Claude Code menerapkannya di atas tarif baris. Claude Code menjatuhkan baris dengan tarif yang tidak dapat diuraikan, atau `multiplier` yang tidak dapat diuraikan, dan menyimpan sisanya; lihat [Perbaiki file pengaturan yang rusak](https://code.claude.com/docs/id/settings.md#fix-a-broken-settings-file).643Claude Code menggunakan tarif sebuah baris persis seperti yang Anda tulis, tanpa menambahkan biaya tambahan fast mode atau [tarif inferensi khusus AS](https://platform.claude.com/docs/en/about-claude/pricing). Jika Anda juga mengatur `multiplier`, Claude Code menerapkannya di atas tarif baris tersebut. Claude Code menghapus baris dengan tarif yang tidak dapat diurainya, atau `multiplier` yang tidak dapat diurainya, dan mempertahankan sisanya; lihat [Memperbaiki file pengaturan yang rusak](https://code.claude.com/docs/id/settings.md#fix-a-broken-settings-file).

644 644 

645#### Model mana yang berlaku baris `modelPricing`645#### Model mana yang dikenai baris `modelPricing`

646 646 

647Claude Code memutuskan model mana yang berlaku baris dari kunci baris:647Claude Code menentukan model mana yang dikenai sebuah baris berdasarkan kunci baris tersebut:

648 648 

649* **ID model bawaan**: kunci yang digunakan Claude Code itu sendiri untuk model bawaan, apakah kunci itu ID model itu sendiri, seperti `claude-sonnet-4-6`, atau ID Bedrock, Agent Platform, atau Foundry-nya. Claude Code menerapkan baris ke setiap ID snapshot tanggal dan ID khusus penyedia model itu.649* **ID model bawaan**: kunci yang digunakan Claude Code sendiri untuk model bawaan, baik kunci tersebut adalah ID model itu sendiri, seperti `claude-sonnet-4-6`, atau ID Bedrock, Agent Platform, atau Foundry-nya. Claude Code menerapkan baris tersebut ke setiap ID snapshot bertanggal dan ID khusus penyedia dari model tersebut.

650* **Kunci lain apa pun**: kunci yang bukan ID model bawaan, seperti alias model gateway. Claude Code menerapkan baris ke ID itu saja. Ketika ID model cocok dengan salah satu kunci Anda persis dan juga jatuh di bawah baris yang dikunci oleh ID model bawaan, Claude Code menggunakan kecocokan persis.650* **Kunci lainnya**: kunci yang bukan ID model bawaan, seperti alias model gateway. Claude Code menerapkan baris tersebut hanya ke satu ID itu. Ketika ID model cocok persis dengan salah satu kunci Anda dan juga termasuk dalam baris yang dikunci oleh ID model bawaan, Claude Code menggunakan yang cocok persis.

651* **Profil inferensi aplikasi Bedrock**: setelah Claude Code telah menyelesaikan profil ke model yang dirutekannya, melalui peta [`modelOverrides`](#modeloverrides) Anda atau pencarian [`bedrock:GetInferenceProfile`](https://code.claude.com/docs/id/amazon-bedrock#iam-configuration), Claude Code menerapkan baris model itu ke profil.651* **Application inference profile Bedrock**: setelah Claude Code me-resolve profile ke model yang dirutekannya, melalui map [`modelOverrides`](#modeloverrides) Anda atau [lookup `bedrock:GetInferenceProfile`](https://code.claude.com/docs/id/amazon-bedrock#iam-configuration), Claude Code menerapkan baris model tersebut ke profile.

652 652 

653### `modelSettings`653### `modelSettings`

654 654 

655Simpan [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) untuk setiap model yang Anda gunakan. Memerlukan Claude Code v2.1.251 atau lebih baru.655Simpan [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) untuk setiap model yang Anda gunakan. Memerlukan Claude Code v2.1.251 atau yang lebih baru.

656 656 

657Dalam sesi interaktif di mesin Anda, ketika Anda menyimpan `low`, `medium`, `high`, atau `xhigh` sebagai default Anda dengan `/effort` atau slider effort pemilih `/model`, Claude Code menulis level itu di sini di bawah model yang Anda gunakan, jadi Anda jarang mengedit kunci ini sendiri. Ketika Anda memilih salah satu level itu dalam [pemilih model ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md#use-the-prompt-box), Claude Code menyimpannya di sini dengan cara yang sama. Entri [`effortLevel`](#effortlevel) mencantumkan sesi tempat `/effort` berlaku hanya untuk sesi itu.657Dalam sesi interaktif di mesin Anda, ketika Anda menyimpan `low`, `medium`, `high`, atau `xhigh` sebagai default Anda dengan `/effort` atau slider effort pada pemilih `/model`, Claude Code menulis tingkat tersebut di sini di bawah model yang Anda gunakan, sehingga Anda jarang mengedit kunci ini sendiri. Ketika Anda memilih salah satu tingkat tersebut di [pemilih model ekstensi VS Code](https://code.claude.com/docs/id/vs-code.md#use-the-prompt-box), Claude Code menyimpannya di sini dengan cara yang sama. Entri [`effortLevel`](#effortlevel) mencantumkan sesi di mana `/effort` hanya berlaku untuk sesi tersebut.

658 658 

659Edit kunci dengan tangan untuk mengubah atau menghapus level yang Anda simpan.659Edit kunci ini secara manual untuk mengubah atau menghapus tingkat yang Anda simpan.

660 660 

661`effortLevel` model di sini mengambil preseden atas [`effortLevel`](#effortlevel) tingkat atas dalam file pengaturan yang sama. Di seluruh file, Claude Code menyelesaikan setiap model secara terpisah: file [pengaturan](https://code.claude.com/docs/id/settings.md#settings-precedence) dengan preseden tertinggi yang menetapkan `effortLevel` untuk model itu atau `effortLevel` tingkat atas yang [berlaku untuk model itu](#effortlevel) memutuskan, jadi `effortLevel` dalam pengaturan terkelola mengalahkan level yang Anda simpan dalam pengaturan pengguna. [Sesuaikan tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) mencantumkan apa lagi yang dapat mengesampingkan level yang disimpan, seperti `--effort` saat peluncuran.661`effortLevel` milik model di sini diutamakan daripada [`effortLevel`](#effortlevel) tingkat atas di file pengaturan yang sama. Lintas file, Claude Code me-resolve setiap model secara terpisah: [file pengaturan](https://code.claude.com/docs/id/settings.md#settings-precedence) dengan prioritas tertinggi yang mengatur `effortLevel` untuk model tersebut atau `effortLevel` tingkat atas yang [berlaku untuk model tersebut](#effortlevel) yang menentukan, sehingga `effortLevel` di pengaturan terkelola memiliki prioritas lebih tinggi daripada tingkat yang Anda simpan di pengaturan user. [Menyesuaikan tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) mencantumkan hal lain yang dapat menimpa tingkat tersimpan, seperti `--effort` saat peluncuran.

662 662 

663Untuk membatasi effort satu model daripada menetapkan levelnya, tambahkan bidang [`maxEffortLevel`](#maxeffortlevel) ke entri model itu. Bidang memerlukan Claude Code v2.1.267 atau lebih baru.663Untuk membatasi effort satu model alih-alih mengatur tingkatnya, tambahkan field [`maxEffortLevel`](#maxeffortlevel) ke entri model tersebut. Field ini memerlukan Claude Code v2.1.267 atau yang lebih baru.

664 664 

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

666* **Type**: object yang memetakan nama model ke object dengan salah satu dari bidang berikut:666* **Tipe**: objek yang memetakan nama model ke objek dengan salah satu field berikut:

667 * `effortLevel`: salah satu dari `"low"`, `"medium"`, `"high"`, atau `"xhigh"`667 * `effortLevel`: salah satu dari `"low"`, `"medium"`, `"high"`, atau `"xhigh"`

668 * [`maxEffortLevel`](#maxeffortlevel): tingkat effort tertinggi yang dapat digunakan model668 * [`maxEffortLevel`](#maxeffortlevel): tingkat effort tertinggi yang dapat digunakan model

669 * `autoCompactWindow`: jumlah token dari `100000` hingga `1000000`, atau `"auto"` untuk jendela yang disesuaikan untuk model. [`/autocompact`](https://code.claude.com/docs/id/model-config#set-the-auto-compact-window) menyimpan di sini. Untuk model itu, nilai ini diutamakan daripada [`autoCompactWindow`](#autocompactwindow) tingkat atas dalam file pengaturan yang sama. Memerlukan Claude Code v2.1.288 atau lebih baru669 * `autoCompactWindow`: jumlah token dari `100000` hingga `1000000`, atau `"auto"` untuk window yang disesuaikan untuk model tersebut. [`/autocompact`](https://code.claude.com/docs/id/model-config#set-the-auto-compact-window) menyimpan di sini. Untuk model tersebut, nilai ini diutamakan daripada [`autoCompactWindow`](#autocompactwindow) tingkat atas di file pengaturan yang sama. Memerlukan Claude Code v2.1.288 atau yang lebih baru

670* **Default**: tidak disetel670* **Default**: tidak diatur

671 671 

672Claude Code menulis setiap entri di bawah nama kanonik model, seperti `claude-opus-5-5`, dan mencocokkan alias model itu, tanggal-akhiran, `[1m]`, dan ID khusus penyedia yang dikenali ke entri yang sama.672Claude Code menulis setiap entri di bawah nama kanonis model, seperti `claude-opus-5-5`, dan mencocokkan alias, ID bersufiks tanggal, `[1m]`, serta ID khusus penyedia yang dikenali dari model tersebut ke entri yang sama.

673 673 

674Contoh ini menyimpan Opus 5.5 pada `high` sementara model lain menggunakan level yang disimpan atau default mereka sendiri:674Contoh ini mempertahankan Opus 5.5 pada `high` sementara model lain menggunakan tingkat tersimpan atau default masing-masing:

675 675 

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

677{677{


683}683}

684```684```

685 685 

686Jalankan `/effort auto` untuk menghapus level yang disimpan untuk model yang Anda gunakan. Claude Code meninggalkan entri lain dan `effortLevel` tingkat atas apa pun di tempat.686Jalankan `/effort auto` untuk menghapus tingkat tersimpan untuk model yang Anda gunakan. Claude Code membiarkan entri lain dan `effortLevel` tingkat atas apa pun tetap di tempatnya.

687 687 

688### `outputStyle`688### `outputStyle`

689 689 

690Pilih [gaya output](https://code.claude.com/docs/id/output-styles.md) berdasarkan nama. Gaya output adalah set instruksi yang disimpan yang mengubah peran, nada, dan format output Claude, seperti gaya Explanatory dan Learning bawaan atau yang Anda tulis sendiri.690Pilih [gaya output](https://code.claude.com/docs/id/output-styles.md) berdasarkan nama. Gaya output adalah kumpulan instruksi tersimpan yang mengubah peran, nada, dan format output Claude, seperti gaya bawaan Explanatory dan Learning atau gaya yang Anda tulis sendiri.

691 691 

692Jika Anda mengubah kunci ini selama sesi, Claude menggunakan gaya baru mulai dari pesan Anda berikutnya. Untuk apa biaya pesan itu dalam prompt caching, lihat [Mengubah gaya output](https://code.claude.com/docs/id/prompt-caching.md#changing-output-style). Sebelum v2.1.251, edit berlaku hanya setelah Anda menjalankan `/clear` atau memulai sesi baru.692Jika Anda mengubah kunci ini selama sesi, Claude menggunakan gaya baru mulai dari pesan Anda berikutnya. Untuk biaya pesan tersebut dalam prompt caching, lihat [Mengubah gaya output](https://code.claude.com/docs/id/prompt-caching.md#changing-output-style). Sebelum v2.1.251, perubahan hanya berlaku setelah Anda menjalankan `/clear` atau memulai sesi baru.

693 693 

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

695* **Type**: string, nama [bawaan](https://code.claude.com/docs/id/output-styles.md#built-in-output-styles) atau [kustom](https://code.claude.com/docs/id/output-styles.md#create-a-custom-output-style) gaya output695* **Tipe**: string, nama gaya output [bawaan](https://code.claude.com/docs/id/output-styles.md#built-in-output-styles) atau [kustom](https://code.claude.com/docs/id/output-styles.md#create-a-custom-output-style)

696* **Default**: tidak disetel, jadi Claude Code menggunakan gaya default696* **Default**: tidak diatur, sehingga Claude Code menggunakan gaya default

697 697 

698Contoh ini memilih gaya Explanatory bawaan, yang menambahkan wawasan pendidikan antara tugas:698Contoh ini memilih gaya bawaan Explanatory, yang menambahkan wawasan edukatif di antara tugas:

699 699 

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

701{701{


705 705 

706### `promptCacheTtl`706### `promptCacheTtl`

707 707 

708Pilih berapa lama [prompt cache](https://code.claude.com/docs/id/prompt-caching.md) menyimpan percakapan utama. Kunci ini berlaku untuk giliran interaktif, `-p`, dan Agent SDK Anda, bersama dengan pembantu yang dijalankan Claude Code secara inline dengannya. Masa pakai satu jam menjaga cache tetap hangat di seluruh jeda yang lebih lama, dan API [menagih setiap penulisan cache pada tarif yang lebih tinggi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) daripada masa pakai lima menit. Memerlukan Claude Code v2.1.242 atau lebih baru.708Pilih berapa lama [prompt cache](https://code.claude.com/docs/id/prompt-caching.md) menyimpan percakapan utama. Kunci ini berlaku untuk giliran interaktif, `-p`, dan Agent SDK Anda, bersama dengan helper yang dijalankan Claude Code secara inline bersamanya. Masa berlaku satu jam menjaga cache tetap hangat selama jeda yang lebih lama, dan API [menagih setiap penulisan cache dengan tarif yang lebih tinggi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) dibandingkan masa berlaku lima menit. Memerlukan Claude Code v2.1.242 atau yang lebih baru.

709 709 

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

711* **Type**: string, salah satu dari:711* **Tipe**: string, salah satu dari:

712 * `"5m"`: cache menyimpan selama lima menit712 * `"5m"`: cache bertahan selama lima menit

713 * `"1h"`: cache menyimpan selama satu jam713 * `"1h"`: cache bertahan selama satu jam

714* **Default**: tidak disetel, jadi setiap permintaan percakapan utama mendapat [masa pakai defaultnya](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)714* **Default**: tidak diatur, sehingga setiap permintaan percakapan utama mendapatkan [masa berlaku default-nya](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)

715* **Per-session overrides**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/id/env-vars) mengambil alih segalanya, kemudian [`CLAUDE_CODE_PROMPT_CACHE_TTL`](https://code.claude.com/docs/id/env-vars), kemudian kunci ini, dan terakhir [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/id/env-vars)715* **Override per sesi**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/id/env-vars) diutamakan daripada semua yang lain, lalu [`CLAUDE_CODE_PROMPT_CACHE_TTL`](https://code.claude.com/docs/id/env-vars), lalu kunci ini, dan terakhir [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/id/env-vars)

716 716 

717Contoh ini menyimpan percakapan utama pada masa pakai satu jam dan meninggalkan subagents pada lima menit:717Contoh ini mempertahankan percakapan utama pada masa berlaku satu jam dan membiarkan subagent pada lima menit:

718 718 

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

720{720{


723}723}

724```724```

725 725 

726Untuk apa biaya setiap masa pakai, lihat [Masa pakai cache](https://code.claude.com/docs/id/prompt-caching.md#cache-lifetime).726Untuk biaya setiap masa berlaku, lihat [Masa berlaku cache](https://code.claude.com/docs/id/prompt-caching.md#cache-lifetime).

727 727 

728### `showThinkingSummaries`728### `showThinkingSummaries`

729 729 

730Lihat ringkasan [extended thinking](https://code.claude.com/docs/id/model-config.md#extended-thinking) Claude dalam sesi interaktif. Tetapkan jika Anda menginginkan ringkasan lengkap ketika Anda memperluas thinking dengan `Ctrl+O`. Ketika tidak disetel atau `false`, Anthropic API menyensor thinking block dan Claude Code menampilkan stub yang diciutkan.730Lihat ringkasan [extended thinking](https://code.claude.com/docs/id/model-config.md#extended-thinking) Claude dalam sesi interaktif. Atur ini jika Anda menginginkan ringkasan lengkap ketika Anda memperluas thinking dengan `Ctrl+O`. Ketika tidak diatur atau `false`, Anthropic API menyunting thinking block dan Claude Code menampilkan stub yang diciutkan.

731 731 

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

733* **Type**: Boolean733* **Tipe**: Boolean

734 * `true`: Anda melihat ringkasan thinking lengkap ketika Anda memperluas thinking dengan `Ctrl+O`734 * `true`: Anda melihat ringkasan thinking lengkap ketika Anda memperluas thinking dengan `Ctrl+O`

735 * `false`: Anthropic API menyensor blok thinking dan Claude Code menunjukkan stub yang runtuh735 * `false`: Anthropic API menyunting thinking block dan Claude Code menampilkan stub yang diciutkan

736* **Default**: `false`736* **Default**: `false`

737 737 

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


741}741}

742```742```

743 743 

744Penyensoran mengubah hanya apa yang Anda lihat, bukan apa yang dihasilkan model. Untuk mengurangi pengeluaran thinking, [turunkan anggaran atau matikan thinking](https://code.claude.com/docs/id/model-config.md#extended-thinking) sebagai gantinya.744Penyuntingan hanya mengubah apa yang Anda lihat, bukan apa yang dihasilkan model. Untuk mengurangi pengeluaran thinking, [turunkan budget atau nonaktifkan thinking](https://code.claude.com/docs/id/model-config.md#extended-thinking) sebagai gantinya.

745 745 

746### `subagentPromptCacheTtl`746### `subagentPromptCacheTtl`

747 747 

748Pilih berapa lama [prompt cache](https://code.claude.com/docs/id/prompt-caching.md) menyimpan permintaan yang dibuat Claude Code di luar percakapan utama. Kunci ini berlaku untuk [subagents](https://code.claude.com/docs/id/sub-agents.md), [workflows](https://code.claude.com/docs/id/workflows.md), dan permintaan latar belakang dan pembantu Claude Code sendiri, seperti pemadatan dan judul sesi. Masa pakai satu jam menjaga cache tetap hangat di seluruh jeda yang lebih lama, dan API [menagih setiap penulisan cache pada tarif yang lebih tinggi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) daripada masa pakai lima menit. Memerlukan Claude Code v2.1.242 atau lebih baru.748Pilih berapa lama [prompt cache](https://code.claude.com/docs/id/prompt-caching.md) menyimpan permintaan yang dibuat Claude Code di luar percakapan utama. Kunci ini berlaku untuk [subagent](https://code.claude.com/docs/id/sub-agents.md), [workflow](https://code.claude.com/docs/id/workflows.md), dan permintaan latar belakang serta helper milik Claude Code sendiri, seperti compaction dan judul sesi. Masa berlaku satu jam menjaga cache tetap hangat selama jeda yang lebih lama, dan API [menagih setiap penulisan cache dengan tarif yang lebih tinggi](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) dibandingkan masa berlaku lima menit. Memerlukan Claude Code v2.1.242 atau yang lebih baru.

749 749 

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

751* **Type**: string, salah satu dari:751* **Tipe**: string, salah satu dari:

752 * `"5m"`: cache menyimpan selama lima menit752 * `"5m"`: cache bertahan selama lima menit

753 * `"1h"`: cache menyimpan selama satu jam753 * `"1h"`: cache bertahan selama satu jam

754* **Default**: tidak disetel, jadi setiap permintaan ini mendapat [masa pakai defaultnya](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)754* **Default**: tidak diatur, sehingga setiap permintaan ini mendapatkan [masa berlaku default-nya](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)

755* **Per-session overrides**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/id/env-vars) mengambil alih segalanya, kemudian [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](https://code.claude.com/docs/id/env-vars), kemudian kunci ini, kemudian [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/id/env-vars), yang meminta masa pakai satu jam pada setiap permintaan. Untuk di mana nilai frontmatter subagent sendiri berada, lihat [Pilih TTL sendiri](https://code.claude.com/docs/id/prompt-caching.md#choose-the-ttl-yourself)755* **Override per sesi**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/id/env-vars) diutamakan daripada semua yang lain, lalu [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](https://code.claude.com/docs/id/env-vars), lalu kunci ini, lalu [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/id/env-vars), yang meminta masa berlaku satu jam pada setiap permintaan. Untuk posisi prioritas nilai frontmatter milik subagent sendiri, lihat [Memilih TTL sendiri](https://code.claude.com/docs/id/prompt-caching.md#choose-the-ttl-yourself)

756 756 

757Contoh ini memberikan subagents dan permintaan lain di luar percakapan utama masa pakai satu jam:757Contoh ini memberikan masa berlaku satu jam kepada subagent dan permintaan lain di luar percakapan utama:

758 758 

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

760{760{


762}762}

763```763```

764 764 

765Kunci ini mencakup permintaan yang tidak dicakup [`promptCacheTtl`](#promptcachettl), jadi tetapkan keduanya untuk memilih masa pakai untuk setiap permintaan yang dibuat Claude Code. Untuk bagaimana cache subagent berbeda dari percakapan utama, lihat [Subagents dan cache](https://code.claude.com/docs/id/prompt-caching.md#subagents-and-the-cache).765Kunci ini mencakup permintaan yang tidak dicakup [`promptCacheTtl`](#promptcachettl), jadi atur keduanya untuk memilih masa berlaku bagi setiap permintaan yang dibuat Claude Code. Untuk perbedaan cache subagent dengan cache percakapan utama, lihat [Subagent dan cache](https://code.claude.com/docs/id/prompt-caching.md#subagents-and-the-cache).

766 766 

767### `switchModelsOnFlag`767### `switchModelsOnFlag`

768 768 

769Pilih apa yang terjadi ketika [pengklasifikasi keamanan menandai permintaan](https://code.claude.com/docs/id/model-config.md#automatic-model-fallback): beralih ke model fallback dan lanjutkan, atau jeda sehingga Anda dapat memilih antara beralih dan mengedit prompt.769Pilih apa yang terjadi ketika [pengklasifikasi keamanan menandai permintaan](https://code.claude.com/docs/id/model-config.md#automatic-model-fallback): beralih ke model fallback dan melanjutkan, atau berhenti sejenak agar Anda dapat memilih antara beralih dan mengedit prompt.

770 770 

771* **Scope**: [`Any file`](#scopes). Muncul dalam `/config` sebagai **Switch models when a message is flagged**, dengan opsi **Switch automatically** dan **Ask each time**.771* **Cakupan**: [`Any file`](#scopes). Muncul di `/config` sebagai **Switch models when a message is flagged**, dengan opsi **Switch automatically** dan **Ask each time**.

772* **Type**: Boolean772* **Tipe**: Boolean

773 * `true`: Claude Code beralih ke model fallback dan lanjutkan773 * `true`: Claude Code beralih ke model fallback dan melanjutkan

774 * `false`: dalam sesi interaktif Claude Code jeda sehingga Anda dapat memilih antara beralih dan mengedit prompt; di mana tidak ada dialog yang dapat ditampilkan, seperti jalankan `-p`, permintaan yang ditandai berakhir sebagai kesalahan774 * `false`: dalam sesi interaktif, Claude Code berhenti sejenak agar Anda dapat memilih antara beralih dan mengedit prompt; di tempat dialog tidak dapat ditampilkan, seperti eksekusi `-p`, permintaan yang ditandai berakhir sebagai error

775* **Default**: tidak disetel. Claude Code beralih secara otomatis, meskipun mungkin [bertanya terlebih dahulu](https://code.claude.com/docs/id/model-config.md#ask-before-switching) dalam sesi interaktif775* **Default**: tidak diatur. Claude Code beralih secara otomatis, meskipun mungkin [bertanya terlebih dahulu](https://code.claude.com/docs/id/model-config.md#ask-before-switching) dalam sesi interaktif

776 776 

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

778{778{


780}780}

781```781```

782 782 

783Lihat [Tanya sebelum beralih](https://code.claude.com/docs/id/model-config.md#ask-before-switching).783Lihat [Bertanya sebelum beralih](https://code.claude.com/docs/id/model-config.md#ask-before-switching).

784 784 

785### `ultracode`785### `ultracode`

786 786 

787Mulai sesi dengan [ultracode](https://code.claude.com/docs/id/workflows.md#let-claude-decide-with-ultracode) aktif. Dengan itu aktif, Claude merencanakan workflow untuk setiap tugas substansial daripada menunggu Anda meminta. Claude merencanakan workflows hanya ketika [dynamic workflows](https://code.claude.com/docs/id/workflows.md) diaktifkan untuk Anda dan model Anda mendukung effort `xhigh`. Kunci ini tidak mengubah tingkat effort sesi: ultracode berjalan pada level mana pun yang digunakan sesi. Claude Code membaca kunci ini tetapi tidak pernah menulisnya: `/effort ultracode` menghidupkan ultracode hanya untuk sesi saat ini.787Mulai sesi dengan [ultracode](https://code.claude.com/docs/id/workflows.md#let-claude-decide-with-ultracode) aktif. Dengan opsi ini aktif, Claude merencanakan workflow untuk setiap tugas substantif alih-alih menunggu Anda memintanya. Claude merencanakan workflow hanya ketika [dynamic workflows](https://code.claude.com/docs/id/workflows.md) diaktifkan untuk Anda dan model Anda mendukung effort `xhigh`. Kunci ini tidak mengubah tingkat effort sesi: ultracode berjalan pada tingkat mana pun yang digunakan sesi. Claude Code membaca kunci ini tetapi tidak pernah menulisnya: `/effort ultracode` mengaktifkan ultracode hanya untuk sesi saat ini.

788 788 

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

790* **Type**: Boolean790* **Tipe**: Boolean

791 * `true`: sesi dimulai dengan ultracode aktif ketika dynamic workflows diaktifkan untuk Anda dan model Anda mendukung `xhigh`791 * `true`: sesi dimulai dengan ultracode aktif ketika dynamic workflows diaktifkan untuk Anda dan model Anda mendukung `xhigh`

792 * `false`: sesi dimulai dengan ultracode mati792 * `false`: sesi dimulai dengan ultracode mati

793* **Default**: tidak disetel, jadi ultracode mati793* **Default**: tidak diatur, sehingga ultracode mati

794* **Per-session overrides**: `/effort ultracode` menghidupkan ultracode untuk satu sesi tanpa kunci ini, dan `/effort ultracode off` mematikannya untuk satu sesi ketika kunci ini `true`. Flag `--effort ultracode` juga menghidupkannya untuk satu sesi, pada effort `xhigh`794* **Override per sesi**: `/effort ultracode` mengaktifkan ultracode untuk satu sesi tanpa kunci ini, dan `/effort ultracode off` mematikannya untuk satu sesi ketika kunci ini `true`. Flag `--effort ultracode` juga mengaktifkannya untuk satu sesi, pada effort `xhigh`

795 795 

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

797{797{


799}799}

800```800```

801 801 

802Tingkat effort sesi berasal dari [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings), dan [sumber effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) lainnya, dan [batas effort](https://code.claude.com/docs/id/model-config.md#organization-effort-limits) seperti [`maxEffortLevel`](#maxeffortlevel) menurunkan level itu tanpa mematikan ultracode. Ini dan bentuk `/effort ultracode off` memerlukan Claude Code v2.1.284 atau lebih baru. Sebelum v2.1.284, `ultracode: true` menjalankan sesi pada effort `xhigh`, dan batas effort di bawah `xhigh` membuat ultracode tidak tersedia. Permintaan kontrol `apply_flag_settings` Agent SDK juga menerima kunci.802Tingkat effort sesi berasal dari [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings), dan [sumber effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) lainnya, dan [batas effort](https://code.claude.com/docs/id/model-config.md#organization-effort-limits) seperti [`maxEffortLevel`](#maxeffortlevel) menurunkan tingkat tersebut tanpa mematikan ultracode. Hal ini dan bentuk `/effort ultracode off` memerlukan Claude Code v2.1.284 atau yang lebih baru. Sebelum v2.1.284, `ultracode: true` menjalankan sesi pada effort `xhigh`, dan batas effort di bawah `xhigh` membuat ultracode tetap mati. Permintaan kontrol `apply_flag_settings` Agent SDK juga menerima kunci ini.

803 803 

804## Pengaturan izin804## Pengaturan izin

805 805 


2424 2424 

2425Idle compaction menyala secara default untuk percakapan yang memenuhi semua kondisi berikut:2425Idle compaction menyala secara default untuk percakapan yang memenuhi semua kondisi berikut:

2426 2426 

2427* **Sesi**: Anda berada dalam sesi terminal interaktif, atau di panel chat ekstensi VS Code atau tab Code aplikasi desktop pada [akun yang dipilih Anthropic](#idle-compaction-in-vs-code-and-the-desktop-app)2427* **Sesi**: Anda berada dalam sesi terminal interaktif, di panel chat ekstensi VS Code, atau di tab Code aplikasi desktop saat sesi berjalan di mesin Anda atau melalui SSH

2428* **Auto-compaction**: [`autoCompactEnabled`](#autocompactenabled) menyala2428* **Auto-compaction**: [`autoCompactEnabled`](#autocompactenabled) menyala

2429* **Prompt cache**: percakapan menggunakan [TTL prompt cache satu jam](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)2429* **Prompt cache**: percakapan menggunakan [TTL prompt cache satu jam](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)

2430* **Feature flag**: Claude Code dapat [mengambil feature flag dari Anthropic](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching)2430* **Feature flag**: Claude Code dapat [mengambil feature flag dari Anthropic](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching)

2431* **Ukuran**: konteks percakapan telah mencapai ambang token, yang dapat Anda [ubah](#change-the-idle-compaction-threshold) dari default-nya sebesar 200.0002431* **Ukuran**: konteks percakapan telah mencapai ambang token, yang dapat Anda [ubah](#change-the-idle-compaction-threshold) dari default-nya sebesar 200.000

2432* **Waktu idle**: sekitar 54 menit telah berlalu sejak permintaan terakhir, dan komputer Anda dalam keadaan menyala pada saat itu2432* **Waktu idle**: sekitar satu jam telah berlalu sejak permintaan terakhir, dan komputer Anda tetap menyala hingga saat itu

2433 2433 

2434Untuk mematikan idle compaction, atur kunci ini ke `false`.2434Untuk mematikan idle compaction, atur kunci ini ke `false`.

2435 2435 


2475Compacted using a summary written while you were away · turn off with "idleCompaction": false in settings.json2475Compacted using a summary written while you were away · turn off with "idleCompaction": false in settings.json

2476```2476```

2477 2477 

2478Anda tidak perlu melakukan apa pun. Untuk mematikan idle compaction, atur `idleCompaction` ke `false` di `~/.claude/settings.json` atau [file pengaturan](https://code.claude.com/docs/id/settings.md#settings-files-and-who-they-affect) lainnya.2478Anda tidak perlu melakukan apa pun. Untuk mematikan idle compaction, atur `idleCompaction` ke `false` di `~/.claude/settings.json` pada mesin atau distribusi WSL tempat sesi berjalan, atau di [file pengaturan](https://code.claude.com/docs/id/settings.md#settings-files-and-who-they-affect) lainnya.

2479 

2480Di panel chat ekstensi VS Code dan tab Code aplikasi desktop, idle compaction berjalan untuk akun yang dipilih Anthropic. Claude Code menulis ringkasan saat Anda tidak ada, lalu melakukan compaction dengan ringkasan tersebut hanya jika pesan Anda berikutnya datang satu jam atau lebih setelah permintaan terakhir.

2481 2479 

2482### `plansDirectory`2480### `plansDirectory`

2483 2481 


5173 5171 

5174### `forceLoginMethod`5172### `forceLoginMethod`

5175 5173 

5176Batasi jenis akun apa yang dapat digunakan orang untuk masuk. Atur `"claudeai"` untuk memungkinkan hanya akun claude.ai, `"console"` untuk memungkinkan hanya akun Claude Console, atau `"gateway"` untuk mengirim orang ke [cloud gateway](https://code.claude.com/docs/id/claude-apps-gateway) alih-alih login pihak pertama. Administrator mengaturnya dalam pengaturan terkelola dan memasangkannya dengan [`forceLoginOrgUUID`](#forceloginorguuid) untuk menjaga login claude.ai pengembang di dalam satu organisasi. Jika Anda mengaturnya ke `"claudeai"` atau `"console"` di file pengaturan apa pun, Claude Code juga berhenti menawarkan [sign-in Console tanpa kunci](https://code.claude.com/docs/id/authentication.md#sign-in-without-an-api-key) dalam sesi yang file itu berlaku.5174Batasi jenis akun apa yang dapat digunakan orang untuk masuk. Atur `"claudeai"` untuk memungkinkan hanya akun claude.ai, `"console"` untuk memungkinkan hanya akun Claude Console, atau `"gateway"` untuk mengirim orang ke [cloud gateway](https://code.claude.com/docs/id/claude-apps-gateway) alih-alih login pihak pertama. Administrator mengaturnya dalam pengaturan terkelola dan memasangkannya dengan [`forceLoginOrgUUID`](#forceloginorguuid) untuk menjaga login claude.ai pengembang di dalam satu organisasi.

5175 

5176Jika Anda mengaturnya ke `"claudeai"` di file pengaturan apa pun, Claude Code juga berhenti menawarkan [sign-in Console tanpa kunci](https://code.claude.com/docs/id/authentication.md#sign-in-without-an-api-key) dalam sesi yang file itu berlaku. Dengan `"console"` saja, orang masih dapat mencapai sign-in tanpa kunci setelah login gagal. Untuk menghentikan Claude Code menawarkannya, lihat [Hentikan penawaran sign-in tanpa kunci pada mesin terkelola](https://code.claude.com/docs/id/authentication.md#stop-offering-the-keyless-sign-in-on-managed-machines), yang juga mencantumkan apa lagi yang diubah oleh `forceLoginOrgUUID`.

5177 5177 

5178* **Scope**: [`Any file`](#scopes). Claude Code menghormati `"gateway"` dari sumber yang sama dengan [`forceLoginGatewayUrl`](#forcelogingatewayurl) dan memperlakukannya sebagai tidak diatur di tempat lain.5178* **Scope**: [`Any file`](#scopes). Claude Code menghormati `"gateway"` dari sumber yang sama dengan [`forceLoginGatewayUrl`](#forcelogingatewayurl) dan memperlakukannya sebagai tidak diatur di tempat lain.

5179* **Type**: string, salah satu dari:5179* **Type**: string, salah satu dari:


5585| Restriction allowlists | Mengambil daftar utuh dari sumber tertinggi yang menetapkannya, tanpa menambahkan entri dari sumber yang lebih rendah. Ketika sumber tertinggi tidak menetapkannya, mengambilnya utuh dari sumber berikutnya ke bawah | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`allowedProviders`](#allowedproviders), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins), dan rantai [`fallbackModel`](#fallbackmodel) |5585| Restriction allowlists | Mengambil daftar utuh dari sumber tertinggi yang menetapkannya, tanpa menambahkan entri dari sumber yang lebih rendah. Ketika sumber tertinggi tidak menetapkannya, mengambilnya utuh dari sumber berikutnya ke bawah | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`allowedProviders`](#allowedproviders), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins), dan rantai [`fallbackModel`](#fallbackmodel) |

5586| Values taken whole | Mengambil nilai utuh dari sumber tertinggi yang menetapkannya, tanpa menggabungkan entri atau bidang dari sumber yang lebih rendah. Ketika sumber tertinggi tidak menetapkannya, mengambilnya utuh dari sumber berikutnya ke bawah | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |5586| Values taken whole | Mengambil nilai utuh dari sumber tertinggi yang menetapkannya, tanpa menggabungkan entri atau bidang dari sumber yang lebih rendah. Ketika sumber tertinggi tidak menetapkannya, mengambilnya utuh dari sumber berikutnya ke bawah | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |

5587| Provided MCP servers | Menggabungkan nama server dari setiap sumber. Ketika dua sumber menetapkan nama yang sama, menerapkan entri utuh sumber yang lebih tinggi | [`managedMcpServers`](#managedmcpservers) |5587| Provided MCP servers | Menggabungkan nama server dari setiap sumber. Ketika dua sumber menetapkan nama yang sama, menerapkan entri utuh sumber yang lebih tinggi | [`managedMcpServers`](#managedmcpservers) |

5588| Read from the highest-priority source only | Membaca kunci hanya dari sumber prioritas tertinggi yang membawa kunci kebijakan, jadi nilai sumber yang lebih rendah diabaikan bahkan ketika sumber tertinggi tidak menetapkan apa pun | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), nilai `"claudeai"` dan `"console"` dari [`forceLoginMethod`](#forceloginmethod), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |5588| Read from the highest-priority source only | Membaca kunci hanya dari sumber prioritas tertinggi yang membawa kunci kebijakan, jadi nilai sumber yang lebih rendah diabaikan bahkan ketika sumber tertinggi tidak menetapkan apa pun | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |

5589| `env` | [Menggabungkan per variabel di seluruh sumber admin](https://code.claude.com/docs/id/managed-settings.md#keys-read-from-every-admin-source), di bawah `"first-wins"` dan `"merge"` | [`env`](#env) |5589| `env` | [Menggabungkan per variabel di seluruh sumber admin](https://code.claude.com/docs/id/managed-settings.md#keys-read-from-every-admin-source), di bawah `"first-wins"` dan `"merge"` | [`env`](#env) |

5590| Setiap kunci lainnya | Mengambil nilai dari sumber tertinggi yang menetapkannya | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |5590| Setiap kunci lainnya | Mengambil nilai dari sumber tertinggi yang menetapkannya | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |

5591 5591 


5596* **[`policyHelper`](#policyhelper)**: Claude Code menghormatinya hanya ketika sumber tertinggi yang membawa kunci kebijakan adalah kebijakan MDM atau file pengaturan terkelola, jadi di bawah pengaturan yang dikelola server tidak berlaku.5596* **[`policyHelper`](#policyhelper)**: Claude Code menghormatinya hanya ketika sumber tertinggi yang membawa kunci kebijakan adalah kebijakan MDM atau file pengaturan terkelola, jadi di bawah pengaturan yang dikelola server tidak berlaku.

5597* **[`modelOverrides`](#modeloverrides)**: berpasangan dengan `availableModels`. Claude Code mengambil `modelOverrides` dari sumber tertinggi yang menetapkannya, kecuali sumber yang lebih tinggi menetapkan `availableModels` tanpa `modelOverrides`. Dalam hal itu, ia mengabaikan `modelOverrides` dari setiap sumber.5597* **[`modelOverrides`](#modeloverrides)**: berpasangan dengan `availableModels`. Claude Code mengambil `modelOverrides` dari sumber tertinggi yang menetapkannya, kecuali sumber yang lebih tinggi menetapkan `availableModels` tanpa `modelOverrides`. Dalam hal itu, ia mengabaikan `modelOverrides` dari setiap sumber.

5598* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks), dan nilai `"gateway"` dari [`forceLoginMethod`](#forceloginmethod)**: Claude Code tidak pernah membaca salah satu dari mereka dari pengaturan yang dikelola server, jadi nilai di sana tidak berlaku atau menyembunyikan yang ditetapkan dalam kebijakan MDM atau file pengaturan terkelola. Di antara sumber admin di mesin, hanya yang tertinggi-peringkat yang membawa kunci kebijakan yang menyediakannya, terlepas dari apakah pengaturan yang dikelola server juga ada.5598* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks), dan nilai `"gateway"` dari [`forceLoginMethod`](#forceloginmethod)**: Claude Code tidak pernah membaca salah satu dari mereka dari pengaturan yang dikelola server, jadi nilai di sana tidak berlaku atau menyembunyikan yang ditetapkan dalam kebijakan MDM atau file pengaturan terkelola. Di antara sumber admin di mesin, hanya yang tertinggi-peringkat yang membawa kunci kebijakan yang menyediakannya, terlepas dari apakah pengaturan yang dikelola server juga ada.

5599* **[`forceLoginOrgUUID`](#forceloginorguuid) dan nilai `"claudeai"` dan `"console"` dari [`forceLoginMethod`](#forceloginmethod)**: cari nilai mana yang berlaku di [Sumber terkelola mana yang menyediakan kunci login](https://code.claude.com/docs/id/managed-settings.md#which-managed-source-supplies-login-keys), bukan di tabel.

5599* **[`allowedProviders`](#allowedproviders)**: setelah aturan tabel, daftar mesin itu sendiri masih membatasi hasilnya, seperti yang dinyatakan catatan Scope entrinya.5600* **[`allowedProviders`](#allowedproviders)**: setelah aturan tabel, daftar mesin itu sendiri masih membatasi hasilnya, seperti yang dinyatakan catatan Scope entrinya.

5600 5601 

5601Untuk mengonfirmasi sumber mana yang digabungkan di mesin, jalankan `/status` dan [baca baris `Setting sources`](https://code.claude.com/docs/id/managed-settings#read-the-source-in-/status).5602Untuk mengonfirmasi sumber mana yang digabungkan di mesin, jalankan `/status` dan [baca baris `Setting sources`](https://code.claude.com/docs/id/managed-settings#read-the-source-in-/status).

skills.md +10 −3

Details

395| Field | Wajib | Deskripsi |395| Field | Wajib | Deskripsi |

396| :- | :- | :- |396| :- | :- | :- |

397| `name` | Tidak | Nama perintah yang ditampilkan di menu `/`. Default-nya adalah nama direktori. Lihat [Bagaimana skill mendapatkan nama perintahnya](#how-a-skill-gets-its-command-name) untuk cara field ini berinteraksi dengan nama yang Anda ketik untuk memanggil skill. |397| `name` | Tidak | Nama perintah yang ditampilkan di menu `/`. Default-nya adalah nama direktori. Lihat [Bagaimana skill mendapatkan nama perintahnya](#how-a-skill-gets-its-command-name) untuk cara field ini berinteraksi dengan nama yang Anda ketik untuk memanggil skill. |

398| `description` | Direkomendasikan | Apa yang dilakukan skill dan kapan menggunakannya. Claude menggunakan ini untuk memutuskan kapan menerapkan skill. Jika dihilangkan, baris tidak kosong pertama dari konten markdown akan digunakan. Letakkan kasus penggunaan utama di awal: gabungan teks `description` dan `when_to_use` dipotong pada 1.536 karakter dalam daftar skill untuk mengurangi penggunaan konteks. |398| `description` | Direkomendasikan | Apa yang dilakukan skill dan kapan menggunakannya. Claude menggunakan ini untuk memutuskan kapan menerapkan skill. Jika dihilangkan, baris tidak kosong pertama dari konten markdown akan digunakan. Letakkan kasus penggunaan utama di awal: gabungan teks `description` dan `when_to_use` dipotong pada 1.536 karakter dalam daftar skill untuk mengurangi penggunaan konteks. Kurung sudut dalam teks [ditampilkan sebagai `&lt;` dan `&gt;`](#angle-brackets-in-a-skill-description). |

399| `when_to_use` | Tidak | Konteks tambahan tentang kapan Claude harus memanggil skill, seperti frasa pemicu atau contoh permintaan. Ditambahkan ke `description` dalam daftar skill dan dihitung dalam batas 1.536 karakter. |399| `when_to_use` | Tidak | Konteks tambahan tentang kapan Claude harus memanggil skill, seperti frasa pemicu atau contoh permintaan. Ditambahkan ke `description` dalam daftar skill dan dihitung dalam batas 1.536 karakter. |

400| `argument-hint` | Tidak | Petunjuk yang ditampilkan selama pelengkapan otomatis untuk menunjukkan argumen yang diharapkan. Contoh: `[issue-number]` atau `[filename] [format]`. |400| `argument-hint` | Tidak | Petunjuk yang ditampilkan selama pelengkapan otomatis untuk menunjukkan argumen yang diharapkan. Contoh: `[issue-number]` atau `[filename] [format]`. |

401| `arguments` | Tidak | Argumen posisional bernama untuk [substitusi `$name`](#available-string-substitutions) dalam konten skill. Menerima string yang dipisahkan spasi atau daftar YAML. Nama dipetakan ke posisi argumen secara berurutan. |401| `arguments` | Tidak | Argumen posisional bernama untuk [substitusi `$name`](#available-string-substitutions) dalam konten skill. Menerima string yang dipisahkan spasi atau daftar YAML. Nama dipetakan ke posisi argumen secara berurutan. |


778 778 

779Dengan shell `bash` default, tambahkan `|| true` ke perintah lain apa pun yang Anda harapkan keluar non-nol. Skrip pemeriksaan yang keluar 1 ketika menemukan masalah adalah satu contoh.779Dengan shell `bash` default, tambahkan `|| true` ke perintah lain apa pun yang Anda harapkan keluar non-nol. Skrip pemeriksaan yang keluar 1 ketika menemukan masalah adalah satu contoh.

780 780 

781#### Karakter kontrol dalam perintah yang diinjeksi781#### Ketika tidak ada perintah shell yang dijalankan

782 782 

783`No shell command in <name> was run` berarti salah satu perintah `!` dalam file berisi karakter kontrol mentah selain tab atau baris baru, sehingga tidak satu pun dari perintah tersebut dijalankan. Lihat [cara menemukan dan menghapus karakter tersebut](https://code.claude.com/docs/id/errors.md#no-shell-command-was-run).783`No shell command in <name> was run` berarti salah satu perintah shell di dalamnya berisi karakter yang tidak diterima oleh tool. Untuk menemukan dan menghapus karakter tersebut, lihat [referensi kesalahan](https://code.claude.com/docs/id/errors.md#no-shell-command-was-run).

784 784 

785#### Pemeriksaan izin pada perintah yang diinjeksi785#### Pemeriksaan izin pada perintah yang diinjeksi

786 786 


1229 1229 

1230Untuk menaikkan anggaran, atur pengaturan [`skillListingBudgetFraction`](https://code.claude.com/docs/id/settings-reference#skilllistingbudgetfraction) (misalnya `0.02` = 2%) atau variabel lingkungan `SLASH_COMMAND_TOOL_CHAR_BUDGET` ke jumlah karakter tetap. Untuk membebaskan anggaran untuk skill lain, atur entri prioritas rendah ke `"name-only"` di [`skillOverrides`](#override-skill-visibility-from-settings) sehingga mereka terdaftar tanpa deskripsi. Anda juga dapat memangkas teks `description` dan `when_to_use` di sumber: letakkan kasus penggunaan utama terlebih dahulu, karena teks gabungan setiap entri dibatasi pada 1.536 karakter terlepas dari anggaran. Batas dapat dikonfigurasi dengan [`skillListingMaxDescChars`](https://code.claude.com/docs/id/settings-reference#skilllistingmaxdescchars).1230Untuk menaikkan anggaran, atur pengaturan [`skillListingBudgetFraction`](https://code.claude.com/docs/id/settings-reference#skilllistingbudgetfraction) (misalnya `0.02` = 2%) atau variabel lingkungan `SLASH_COMMAND_TOOL_CHAR_BUDGET` ke jumlah karakter tetap. Untuk membebaskan anggaran untuk skill lain, atur entri prioritas rendah ke `"name-only"` di [`skillOverrides`](#override-skill-visibility-from-settings) sehingga mereka terdaftar tanpa deskripsi. Anda juga dapat memangkas teks `description` dan `when_to_use` di sumber: letakkan kasus penggunaan utama terlebih dahulu, karena teks gabungan setiap entri dibatasi pada 1.536 karakter terlepas dari anggaran. Batas dapat dikonfigurasi dengan [`skillListingMaxDescChars`](https://code.claude.com/docs/id/settings-reference#skilllistingmaxdescchars).

1231 1231 

1232### Kurung sudut dalam deskripsi skill ditampilkan sebagai `&lt;` dan `&gt;`

1233 

1234Claude Code menampilkan `<` dan `>` di kolom `description` dan `when_to_use` sebagai `&lt;` dan `&gt;`. Untuk menampilkan placeholder seperti `<branch>`, gunakan kurung siku atau [`argument-hint`](#frontmatter-reference):

1235 

1236* **Kurung siku**: ganti `<branch>` dengan `[branch]`, yang ditampilkan sesuai yang diketik

1237* **`argument-hint`**: pindahkan placeholder ke baris baru `argument-hint: <branch>`. Placeholder tersebut ditampilkan setelah nama perintah. Jika Anda juga mengunggah skill ke claude.ai atau Skills API, [periksa apakah `argument-hint` diterima di sana](#using-skill-frontmatter-outside-claude-code) terlebih dahulu.

1238 

1232### Personal skills hilang1239### Personal skills hilang

1233 1240 

1234Jika folder skill yang Anda buat di `~/.claude/skills/` hilang, lihat di `~/.claude/skills/.trash/`. Ketika Claude Code [menyinkronkan skill dari claude.ai](#how-synced-skills-behave), skill tersebut diunduh ke subfolder `synced` terpisah dan tidak memindahkan atau menghapus folder yang Anda buat.1241Jika folder skill yang Anda buat di `~/.claude/skills/` hilang, lihat di `~/.claude/skills/.trash/`. Ketika Claude Code [menyinkronkan skill dari claude.ai](#how-synced-skills-behave), skill tersebut diunduh ke subfolder `synced` terpisah dan tidak memindahkan atau menghapus folder yang Anda buat.

sub-agents.md +1 −1

Details

938 938 

939Untuk tetap bekerja selagi Claude menunggu, tekan **Ctrl+B** di terminal atau klik [**Run in background**](https://code.claude.com/docs/id/vs-code.md#move-a-running-command-or-subagent-to-the-background) di VS Code.939Untuk tetap bekerja selagi Claude menunggu, tekan **Ctrl+B** di terminal atau klik [**Run in background**](https://code.claude.com/docs/id/vs-code.md#move-a-running-command-or-subagent-to-the-background) di VS Code.

940 940 

941Jika Anda mengatur environment variable [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/id/env-vars) ke `1` alih-alih mematikan fork mode, Claude menunggu setiap subagent. Perintah background juga dimatikan, dan **Ctrl+B** tidak memindahkan apa pun ke background.941Jika Anda mengatur environment variable [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/id/env-vars) ke `1` alih-alih mematikan fork mode, Claude menunggu subagent selesai sebelum melanjutkan. Perintah background juga dimatikan, dan **Ctrl+B** tidak memindahkan apa pun ke background.

942 942 

943#### Tool, izin, dan hasil subagent background943#### Tool, izin, dan hasil subagent background

944 944 

Details

215> | `permission` | Batas dialog, termasuk prompt izin dan pemilih |215> | `permission` | Batas dialog, termasuk prompt izin dan pemilih |

216> | `remember` | Indikator memori dan `CLAUDE.md` |216> | `remember` | Indikator memori dan `CLAUDE.md` |

217>217>

218> #### Status colors218> #### Warna status

219>219>

220> Sinyal keberhasilan, kegagalan, dan status peringatan di seluruh pesan dan indikator.220> Sinyal keberhasilan, kegagalan, dan status peringatan di seluruh pesan dan indikator.

221>221>


226> | `warning` | Peringatan, pesan hati-hati, dan indikator mode otomatis |226> | `warning` | Peringatan, pesan hati-hati, dan indikator mode otomatis |

227> | `merged` | Status permintaan tarik yang digabungkan |227> | `merged` | Status permintaan tarik yang digabungkan |

228>228>

229> #### Input box and mode indicators229> #### Kotak input dan indikator mode

230>230>

231> Atur warna batas kotak input dan aksen yang ditampilkan saat mode izin atau indikator aktif.231> Atur warna batas kotak input dan aksen yang ditampilkan saat mode izin atau indikator aktif.

232>232>


240> | `fastMode` | Indikator mode cepat |240> | `fastMode` | Indikator mode cepat |

241> | `effortUltra` | Tag `ultracode` pada batas kotak input saat [ultracode](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) aktif. Penggantian warna Anda berlaku pada Claude Code v2.1.239 atau lebih baru |241> | `effortUltra` | Tag `ultracode` pada batas kotak input saat [ultracode](https://code.claude.com/docs/id/model-config.md#adjust-effort-level) aktif. Penggantian warna Anda berlaku pada Claude Code v2.1.239 atau lebih baru |

242>242>

243> #### Diff rendering243> #### Rendering diff

244>244>

245> Warna kode yang ditambahkan dan dihapus dalam edit dan ulasan file.245> Warna kode yang ditambahkan dan dihapus dalam edit dan ulasan file.

246>246>


253> | `diffAddedWord` | Sorotan tingkat kata dalam baris yang ditambahkan |253> | `diffAddedWord` | Sorotan tingkat kata dalam baris yang ditambahkan |

254> | `diffRemovedWord` | Sorotan tingkat kata dalam baris yang dihapus |254> | `diffRemovedWord` | Sorotan tingkat kata dalam baris yang dihapus |

255>255>

256> #### Fullscreen mode256> #### Mode fullscreen

257>257>

258> Claude Code menggunakan `userMessageBackgroundHover`, `selectionBg`, dan `composerSidebarBackground` hanya dalam [mode rendering fullscreen](https://code.claude.com/docs/id/fullscreen.md). Claude Code melukis `userMessageBackground`, `bashMessageBackgroundColor`, dan `memoryBackgroundColor` di kedua renderer default dan fullscreen.258> Claude Code menggunakan `userMessageBackgroundHover`, `selectionBg`, dan `composerSidebarBackground` hanya dalam [mode rendering fullscreen](https://code.claude.com/docs/id/fullscreen.md). Claude Code melukis `userMessageBackground`, `bashMessageBackgroundColor`, dan `memoryBackgroundColor` di kedua renderer default dan fullscreen.

259>259>


266> | `selectionBg` | Latar belakang teks yang dipilih dengan mouse |266> | `selectionBg` | Latar belakang teks yang dipilih dengan mouse |

267> | `composerSidebarBackground` | Latar belakang panel di samping percakapan, seperti [panel diff](https://code.claude.com/docs/id/fullscreen.md#watch-your-changes-in-the-diff-panel) atau [panel mod](https://code.claude.com/docs/id/plugins/mods/interface.md) |267> | `composerSidebarBackground` | Latar belakang panel di samping percakapan, seperti [panel diff](https://code.claude.com/docs/id/fullscreen.md#watch-your-changes-in-the-diff-panel) atau [panel mod](https://code.claude.com/docs/id/plugins/mods/interface.md) |

268>268>

269> #### Usage meter and speaker labels269> #### Meter penggunaan dan label pembicara

270>270>

271> Sesuaikan bilah yang ditampilkan dalam tampilan `/usage` dan label yang membedakan pesan Anda dari Claude.271> Sesuaikan bilah yang ditampilkan dalam tampilan `/usage` dan label yang membedakan pesan Anda dari Claude.

272>272>


277> | `briefLabelYou` | Warna label `You` pada pesan Anda |277> | `briefLabelYou` | Warna label `You` pada pesan Anda |

278> | `briefLabelClaude` | Warna label `Claude` pada pesan asisten |278> | `briefLabelClaude` | Warna label `Claude` pada pesan asisten |

279>279>

280> #### Shimmer variants and subagent colors280> #### Varian shimmer dan warna subagent

281>281>

282> Beberapa token memiliki varian shimmer berpasangan yang menyediakan warna lebih terang yang digunakan dalam gradien animasi spinner. Ganti shimmer bersama token dasarnya jika animasi terlihat tidak cocok.282> Beberapa token memiliki varian shimmer berpasangan yang menyediakan warna lebih terang yang digunakan dalam gradien animasi spinner. Ganti shimmer bersama token dasarnya jika animasi terlihat tidak cocok.

283>283>


345* Dalam prompt biasa dengan teks yang tersisa, Claude Code menghapus placeholder dan mengirimkan teks yang tersisa.345* Dalam prompt biasa dengan teks yang tersisa, Claude Code menghapus placeholder dan mengirimkan teks yang tersisa.

346* Dalam perintah [shell mode](https://code.claude.com/docs/id/interactive-mode.md#shell-mode-with-prefix) atau perintah `/`, di mana penghapusan akan mengubah apa yang berjalan, dan dalam prompt apa pun penghapusan meninggalkan kosong, Claude Code membatalkan pengiriman dan menyimpan teks asli di input, dengan placeholder masih di dalamnya. Hapus placeholder atau edit perintah, kemudian kirim ulang.346* Dalam perintah [shell mode](https://code.claude.com/docs/id/interactive-mode.md#shell-mode-with-prefix) atau perintah `/`, di mana penghapusan akan mengubah apa yang berjalan, dan dalam prompt apa pun penghapusan meninggalkan kosong, Claude Code membatalkan pengiriman dan menyimpan teks asli di input, dengan placeholder masih di dalamnya. Hapus placeholder atau edit perintah, kemudian kirim ulang.

347 347 

348## Edit prompts with Vim keybindings348## Edit prompt dengan pintasan keyboard Vim

349 349 

350Claude Code mencakup mode editing bergaya Vim untuk input prompt. Aktifkan melalui `/config` → Editor mode, atau dengan mengatur [`editorMode`](https://code.claude.com/docs/id/settings-reference#editormode) ke `"vim"` dalam `~/.claude/settings.json`. Atur Editor mode kembali ke `normal` untuk mematikannya.350Claude Code mencakup mode editing bergaya Vim untuk input prompt. Aktifkan melalui `/config` → Editor mode, atau dengan mengatur [`editorMode`](https://code.claude.com/docs/id/settings-reference#editormode) ke `"vim"` dalam `~/.claude/settings.json`. Atur Editor mode kembali ke `normal` untuk mematikannya.

351 351 

tools-reference.md +21 −21

Details

616 616 

617Tanpa tool Task, agent berkoordinasi dengan timnya melalui pesan alih-alih [daftar tugas bersama](https://code.claude.com/docs/id/agent-teams.md#assign-and-claim-tasks).617Tanpa tool Task, agent berkoordinasi dengan timnya melalui pesan alih-alih [daftar tugas bersama](https://code.claude.com/docs/id/agent-teams.md#assign-and-claim-tasks).

618 618 

619## Perilaku alat WebFetch619## Perilaku tool WebFetch

620 620 

621WebFetch mengambil URL dan prompt yang menjelaskan apa yang akan diekstrak. Tool ini mengambil halaman dan mengonversi respons ke Markdown ketika server mengembalikan HTML. Untuk sebagian besar pengambilan, tool ini kemudian menjalankan prompt terhadap konten dalam panggilan model terpisah, dan Claude menerima hasil panggilan tersebut, bukan halaman mentah. Langkah konversi tidak dapat dikonfigurasi.621WebFetch menerima URL dan prompt yang menjelaskan apa yang harus diekstrak. Tool ini mengambil halaman dan mengonversi respons ke Markdown ketika server mengembalikan HTML. Untuk sebagian besar pengambilan, tool ini kemudian menjalankan prompt terhadap konten dalam panggilan model terpisah, dan Claude menerima hasil panggilan tersebut, bukan halaman mentahnya. Langkah konversi ini tidak dapat dikonfigurasi.

622 622 

623Ini membuat WebFetch lossy secara desain. Prompt ekstraksi menentukan apa yang sampai ke Claude, jadi hasil yang mengatakan halaman tidak menyebutkan sesuatu mungkin hanya berarti prompt tidak menanyakannya. Minta Claude untuk mengambil lagi dengan prompt yang lebih spesifik, atau gunakan `curl` melalui Bash untuk halaman yang belum diproses.623Hal ini membuat WebFetch secara desain bersifat lossy. Prompt ekstraksi menentukan apa yang sampai ke Claude, sehingga hasil yang menyatakan bahwa suatu halaman tidak menyebutkan sesuatu mungkin hanya berarti prompt tersebut tidak menanyakannya. Minta Claude untuk mengambil ulang dengan prompt yang lebih spesifik, atau gunakan `curl` melalui Bash untuk mendapatkan halaman yang belum diproses.

624 624 

625Beberapa perilaku membentuk respons yang diterima Claude:625Beberapa perilaku membentuk respons yang diterima Claude:

626 626 

627* WebFetch menolak `localhost` dan nama host lainnya tanpa titik, seperti nama intranet biasa, sebelum membuat permintaan. [Kesalahan yang dikembalikannya](https://code.claude.com/docs/id/errors.md#webfetch-cannot-fetch-localhost) memberitahu Claude untuk menjangkau server lokal dengan `curl` melalui Bash sebagai gantinya.627* WebFetch menolak `localhost` dan hostname lain tanpa titik, seperti nama intranet tanpa domain, sebelum membuat permintaan. [Error yang dikembalikannya](https://code.claude.com/docs/id/errors.md#webfetch-cannot-fetch-localhost) memberi tahu Claude untuk menjangkau server lokal dengan `curl` melalui Bash sebagai gantinya.

628* URL HTTP secara otomatis ditingkatkan ke HTTPS.628* URL HTTP secara otomatis ditingkatkan ke HTTPS.

629* WebFetch membaca hingga 100.000 karakter konten halaman per panggilan. Pada Claude Code v2.1.290 atau lebih baru, hasil untuk halaman yang lebih panjang memberi tahu Claude berapa banyak yang belum terbaca, sehingga Claude dapat mengambil bagian berikutnya.629* WebFetch membaca hingga 100.000 karakter konten halaman per panggilan. Pada Claude Code v2.1.290 atau yang lebih baru, hasil untuk halaman yang lebih panjang memberi tahu Claude berapa banyak yang belum terbaca, sehingga Claude dapat mengambil bagian berikutnya.

630* WebFetch menyimpan cache setiap respons selama 15 menit secara default, jadi pengambilan berulang dari URL yang sama kembali dengan cepat. Pada Claude Code v2.1.233 atau lebih baru, atur [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](https://code.claude.com/docs/id/env-vars#variables) untuk mengubah berapa lama WebFetch menyimpan setiap respons.630* WebFetch menyimpan setiap respons dalam cache selama 15 menit secara default, sehingga pengambilan berulang atas URL yang sama kembali dengan cepat. Pada Claude Code v2.1.233 atau yang lebih baru, atur [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](https://code.claude.com/docs/id/env-vars#variables) untuk mengubah berapa lama WebFetch menyimpan setiap respons.

631* Halaman yang belum selesai diunduh dalam lima menit, termasuk pengalihan apa pun yang diikuti WebFetch, gagal dengan kesalahan batas waktu. Pada Claude Code v2.1.268 atau lebih baru, atur [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](https://code.claude.com/docs/id/env-vars#variables) untuk mengubah batas, atau ke `0` untuk menghapusnya.631* Halaman yang belum selesai diunduh dalam lima menit, termasuk pengalihan apa pun yang diikuti WebFetch, gagal dengan error tenggat waktu. Pada Claude Code v2.1.268 atau yang lebih baru, atur [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](https://code.claude.com/docs/id/env-vars#variables) untuk mengubah batasnya, atau ke `0` untuk menghapusnya.

632* Ketika URL dialihkan ke host yang berbeda, WebFetch mengembalikan hasil teks yang menyebutkan URL asli dan target pengalihan alih-alih mengikutinya. Claude kemudian mengambil URL baru dengan panggilan WebFetch kedua.632* Ketika URL dialihkan ke host yang berbeda, WebFetch mengembalikan hasil teks yang menyebutkan URL asli dan target pengalihan alih-alih mengikutinya. Claude kemudian mengambil URL baru tersebut dengan panggilan WebFetch kedua.

633* Ketika langkah ekstraksi mengalami API yang kelebihan beban, Claude Code mencoba ulang dengan backoff; pengambilan yang masih gagal mengembalikan hasil kesalahan.633* Ketika langkah ekstraksi menemui API yang kelebihan beban, Claude Code mencoba ulang dengan backoff; pengambilan yang tetap gagal mengembalikan hasil error.

634 634 

635Dalam mode Manual dan `acceptEdits` [permission modes](https://code.claude.com/docs/id/permission-modes.md), WebFetch meminta sebelum mengambil, kecuali untuk domain yang [permission rules](https://code.claude.com/docs/id/permissions.md#manage-permissions) Anda sudah izinkan atau tolak dan serangkaian domain dokumentasi pra-persetujuan bawaan yang mengambil tanpa prompt. Apa pun yang aturan Anda izinkan, pengambilan juga melewati [WebFetch domain safety check](https://code.claude.com/docs/id/data-usage.md#webfetch-domain-safety-check) terlebih dahulu; bagian itu mencakup apa yang dikirim pemeriksaan dan pengaturan yang melewatinya. Prompt menawarkan tiga opsi:635Dalam [mode izin](https://code.claude.com/docs/id/permission-modes.md) Manual dan `acceptEdits`, WebFetch meminta persetujuan sebelum mengambil, kecuali untuk domain yang sudah diizinkan atau ditolak oleh [aturan izin](https://code.claude.com/docs/id/permissions.md#manage-permissions) Anda serta sekumpulan domain dokumentasi bawaan yang telah disetujui sebelumnya yang diambil tanpa permintaan izin. Apa pun yang diizinkan aturan Anda, pengambilan juga harus lolos [pemeriksaan keamanan domain WebFetch](https://code.claude.com/docs/id/data-usage.md#webfetch-domain-safety-check) terlebih dahulu; bagian tersebut menjelaskan apa yang dikirim pemeriksaan itu dan pengaturan yang melewatinya. Permintaan izin menawarkan tiga opsi:

636 636 

637* **Ya**: menyetujui pengambilan ini saja. Panggilan WebFetch berikutnya meminta lagi, bahkan untuk domain yang sama.637* **Yes**: menyetujui pengambilan ini saja. Panggilan WebFetch berikutnya akan meminta persetujuan lagi, bahkan untuk domain yang sama.

638* **Ya, dan jangan tanya lagi untuk `<domain>`**: menyetujui pengambilan dan menyimpan aturan izin `WebFetch(domain:...)` untuk domain itu ke `.claude/settings.local.json` untuk repositori itu. Lihat [bagaimana persetujuan yang disimpan bertahan](https://code.claude.com/docs/id/permissions.md#permission-system). Ketika organisasi Anda menetapkan [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/id/permissions#managed-only-settings), Claude Code menyembunyikan opsi ini.638* **Yes, and don't ask again for `<domain>`**: menyetujui pengambilan dan menyimpan aturan allow `WebFetch(domain:...)` untuk domain tersebut ke `.claude/settings.local.json` untuk repositori tersebut. Lihat [bagaimana persetujuan yang disimpan bertahan](https://code.claude.com/docs/id/permissions.md#permission-system). Ketika organisasi Anda menetapkan [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/id/permissions#managed-only-settings), Claude Code menyembunyikan opsi ini.

639* **Tidak, dan beri tahu Claude apa yang harus dilakukan berbeda**: menolak pengambilan.639* **No, and tell Claude what to do differently**: menolak pengambilan.

640 640 

641Untuk mengizinkan domain sebelumnya tanpa prompt, tambahkan aturan izin seperti `WebFetch(domain:example.com)`; `WebFetch(domain:*)` mengizinkan setiap domain. Mode `auto` dan `bypassPermissions` [permission modes](https://code.claude.com/docs/id/permissions.md#permission-modes) melewati prompt, kecuali untuk domain yang cocok dengan aturan `ask` eksplisit.641Untuk mengizinkan domain terlebih dahulu tanpa permintaan izin, tambahkan aturan allow seperti `WebFetch(domain:example.com)`; `WebFetch(domain:*)` mengizinkan setiap domain. [Mode izin](https://code.claude.com/docs/id/permissions.md#permission-modes) `auto` dan `bypassPermissions` melewati permintaan izin, kecuali untuk domain yang cocok dengan aturan `ask` eksplisit.

642 642 

643Aturan `WebFetch(domain:...)` eksplisit dalam `deny`, `ask`, atau `allow` mengambil alih himpunan pra-persetujuan, jadi Anda dapat memblokir domain pra-persetujuan atau memerlukan prompt untuknya.643Aturan `WebFetch(domain:...)` eksplisit dalam `deny`, `ask`, atau `allow` diutamakan daripada kumpulan domain yang telah disetujui sebelumnya, sehingga Anda dapat memblokir domain yang telah disetujui sebelumnya atau mewajibkan permintaan izin untuknya.

644 644 

645Ketika URL adalah tautan [artifact](https://code.claude.com/docs/id/artifacts.md) claude.ai, Claude Code juga dapat meminta persetujuan untuk membaca artifact itu sendiri. Untuk kasus-kasus di mana Claude Code meminta persetujuan, lihat [Membaca artifact yang dibagikan kepada Anda](https://code.claude.com/docs/id/artifacts.md#read-an-artifact-shared-with-you).645Ketika URL adalah tautan [artifact](https://code.claude.com/docs/id/artifacts.md) claude.ai, Claude Code juga dapat meminta persetujuan untuk membaca artifact itu sendiri. Untuk kasus-kasus saat ia meminta persetujuan, lihat [Membaca artifact yang dibagikan kepada Anda](https://code.claude.com/docs/id/artifacts.md#read-an-artifact-shared-with-you).

646 646 

647WebFetch menetapkan header `User-Agent` yang dimulai dengan `Claude-User`, dan header `Accept` yang lebih menyukai Markdown daripada HTML sehingga server yang mendukung negosiasi konten dapat mengembalikan Markdown secara langsung.647WebFetch menetapkan header `User-Agent` yang diawali dengan `Claude-User`, dan header `Accept` yang lebih mengutamakan Markdown daripada HTML sehingga server yang mendukung negosiasi konten dapat mengembalikan Markdown secara langsung.

648 648 

649Perintah sandboxed tidak mewarisi himpunan domain dokumentasi pra-persetujuan bawaan WebFetch. Untuk membiarkan perintah sandboxed mencapai domain tanpa prompt, tambahkan domain ke [`allowedDomains`](https://code.claude.com/docs/id/settings-reference#sandbox-network-alloweddomains) atau izinkan dengan aturan `WebFetch(domain:...)`, yang [sandbox juga hormati](https://code.claude.com/docs/id/sandboxing.md#network-isolation). WebFetch tidak pernah membaca daftar allowlist sandbox sebagai gantinya, jadi menambahkan domain ke sandbox atau daftar allowlist jaringan organisasi tidak menghentikan WebFetch dari memintanya.649Perintah yang berjalan di sandbox tidak mewarisi kumpulan domain dokumentasi bawaan WebFetch yang telah disetujui sebelumnya. Agar perintah di sandbox dapat menjangkau suatu domain tanpa permintaan izin, tambahkan domain tersebut ke [`allowedDomains`](https://code.claude.com/docs/id/settings-reference#sandbox-network-alloweddomains) atau izinkan dengan aturan `WebFetch(domain:...)`, yang [juga dihormati oleh sandbox](https://code.claude.com/docs/id/sandboxing.md#network-isolation). Sebaliknya, WebFetch tidak pernah membaca allowlist sandbox, sehingga menambahkan domain ke allowlist jaringan sandbox atau organisasi tidak menghentikan WebFetch dari meminta persetujuan untuknya.

650 650 

651### Ketersediaan WebFetch651### Ketersediaan WebFetch

652 652 

653Pada Claude Code v2.1.285 atau lebih baru, atur [`CLAUDE_CODE_DISABLE_WEB_FETCH`](https://code.claude.com/docs/id/env-vars#variables) ke `1` untuk mematikan WebFetch.653Pada Claude Code v2.1.285 atau yang lebih baru, atur [`CLAUDE_CODE_DISABLE_WEB_FETCH`](https://code.claude.com/docs/id/env-vars#variables) ke `1` untuk mematikan WebFetch.

654 654 

655Jika Anda masuk dengan akun Team atau Enterprise claude.ai dan tidak terhubung melalui [LLM gateway](https://code.claude.com/docs/id/llm-gateway), WebFetch juga bergantung pada kebijakan organisasi Anda, yang Claude Code minta dari `api.anthropic.com` ketika sesi dimulai. Hal yang sama berlaku untuk sesi yang rencananya Claude Code tidak dapat ditentukan, seperti yang berjalan di bawah token claude.ai yang disediakan aplikasi lain.655Jika Anda masuk dengan akun claude.ai Team atau Enterprise dan tidak terhubung melalui [LLM gateway](https://code.claude.com/docs/id/llm-gateway), WebFetch juga bergantung pada kebijakan organisasi Anda, yang diminta Claude Code dari `api.anthropic.com` saat sesi dimulai. Hal yang sama berlaku untuk sesi yang paketnya tidak dapat ditentukan oleh Claude Code, seperti sesi yang berjalan dengan token claude.ai yang disediakan oleh aplikasi lain.

656 656 

657Jika WebFetch hilang dari sesi, jalankan `/status` dalam sesi. Jika baris `Organization policy` melaporkan bahwa kebijakan tidak dimuat dan menyebutkan pengambilan web di antara fitur yang menunggu, Claude Code menahan WebFetch sampai dapat mengonfirmasi bahwa organisasi Anda mengizinkannya. Di luar sesi, `claude doctor` membuat permintaannya sendiri dan mencetak baris yang sama. Setelah kebijakan yang mengizinkan WebFetch dimuat, alat kembali tanpa restart.657Jika WebFetch tidak ada dalam sesi, jalankan `/status` di sesi tersebut. Jika baris `Organization policy` melaporkan bahwa kebijakan tidak dimuat dan menyebutkan web fetch di antara fitur yang menunggunya, Claude Code menahan WebFetch hingga dapat memastikan bahwa organisasi Anda mengizinkannya. Di luar sesi, `claude doctor` membuat permintaannya sendiri dan mencetak baris yang sama. Setelah kebijakan yang mengizinkan WebFetch dimuat, tool tersebut kembali tersedia tanpa perlu memulai ulang.

658 658 

659## Perilaku alat WebSearch659## Perilaku alat WebSearch

660 660 

Details

1169 1169 

1170### OAuth login fails in WSL2, SSH, or containers1170### OAuth login fails in WSL2, SSH, or containers

1171 1171 

1172Saat Claude Code berjalan di WSL2, pada mesin remote melalui SSH, atau di dalam container, browser biasanya terbuka di host yang berbeda dan redirectnya tidak dapat menjangkau server callback lokal Claude Code. Setelah Anda sign in, browser menampilkan kode login alih-alih redirect kembali secara otomatis. Tempel kode itu ke terminal di prompt `Paste code here if prompted` untuk menyelesaikan login.1172Jika tidak ada browser yang terbuka, atau browser membuat Anda sign in lalu menampilkan error koneksi untuk alamat `localhost`, Anda dapat menyelesaikan sign in tanpa memperbaiki salah satu masalah tersebut. Sign in melalui URL login terpisah yang ditampilkan terminal di atas prompt tempelnya sebagai gantinya:

1173 1173 

1174Jika browser tidak terbuka sama sekali dari WSL2, atur environment variable `BROWSER` ke path Windows browser Anda:1174**1. Salin URL login**

1175 1175 

1176```bash theme={null}1176Di interactive login prompt, tekan `c` untuk menyalin URL, atau pilih URL tersebut di terminal. Dengan `claude auth login`, salin URL yang dicetaknya.

1177export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"1177 

1178claude1178**2. Sign in melalui URL tersebut**

1179```1179 

1180Buka URL di browser di mesin lokal Anda dan sign in. Browser kemudian menampilkan kode alih-alih kembali ke `localhost`.

1181 

1182**3. Tempel kode**

1180 1183 

1181Atau, tekan `c` di interactive login prompt untuk menyalin OAuth URL, atau salin URL yang `claude auth login` cetak, dan buka di browser di mesin lokal Anda.1184Tempel kode itu ke terminal di prompt yang dimulai dengan `Paste code here`.

1182 1185 

1183Jika menempel kode ke interactive prompt tidak melakukan apa pun, binding paste terminal Anda mungkin tidak menjangkau input field. Coba shortcut paste alternatif terminal Anda, sering kali right-click atau Shift+Insert di Windows Terminal, atau gunakan `claude auth login` sebagai gantinya, yang membaca kode yang ditempel dari standard input:1186Jika menempel kode ke interactive prompt tidak melakukan apa pun, binding paste terminal Anda mungkin tidak menjangkau input field. Coba shortcut paste alternatif terminal Anda, sering kali right-click atau Shift+Insert di Windows Terminal, atau gunakan `claude auth login` sebagai gantinya, yang membaca kode yang ditempel dari standard input:

1184 1187 


1188 1191 

1189Fallback ini juga berlaku di Windows native atau terminal apa pun di mana menempel ke interactive prompt gagal.1192Fallback ini juga berlaku di Windows native atau terminal apa pun di mana menempel ke interactive prompt gagal.

1190 1193 

1194Di WSL2, jika tidak ada browser yang terbuka, Anda juga dapat membiarkan Claude Code membuka browser Windows Anda di lain waktu dengan mengatur environment variable `BROWSER` ke path browser tersebut:

1195 

1196```bash theme={null}

1197export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"

1198claude

1199```

1200 

1191### Not logged in or token expired1201### Not logged in or token expired

1192 1202 

1193Jika Claude Code meminta Anda untuk login lagi setelah sesi, OAuth token Anda mungkin telah kedaluwarsa.1203Jika Claude Code meminta Anda untuk login lagi setelah sesi, OAuth token Anda mungkin telah kedaluwarsa.

vs-code.md +16 −5

Details

133 Ketika model saat ini mendukung [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level), pemilih juga menampilkan baris **Effort** dan tombol nama model menampilkan tingkat yang dipilih. Ketika Anda memilih tingkat selain `max`, Claude Code menyimpannya untuk model saat ini sebagai default Anda, di bawah [`modelSettings`](https://code.claude.com/docs/id/settings-reference#modelsettings) dalam pengaturan pengguna Anda; `max` hanya berlaku untuk sesi saat ini. Tombol nama model dan baris **Effort** memerlukan Claude Code v2.1.257 atau yang lebih baru.133 Ketika model saat ini mendukung [tingkat effort](https://code.claude.com/docs/id/model-config.md#adjust-effort-level), pemilih juga menampilkan baris **Effort** dan tombol nama model menampilkan tingkat yang dipilih. Ketika Anda memilih tingkat selain `max`, Claude Code menyimpannya untuk model saat ini sebagai default Anda, di bawah [`modelSettings`](https://code.claude.com/docs/id/settings-reference#modelsettings) dalam pengaturan pengguna Anda; `max` hanya berlaku untuk sesi saat ini. Tombol nama model dan baris **Effort** memerlukan Claude Code v2.1.257 atau yang lebih baru.

134 134 

135 Ketika [dynamic workflows](https://code.claude.com/docs/id/workflows.md) diaktifkan dan model saat ini mendukungnya, sakelar **Ultracode** muncul di bawah baris **Effort**. Aktifkan untuk membuat Claude merencanakan [workflow](https://code.claude.com/docs/id/workflows.md#let-claude-decide-with-ultracode) untuk setiap tugas substantif dalam sesi ini, pada tingkat effort yang dipilih. Selama aktif, tombol nama model menampilkan `· Ultracode` setelah tingkatnya. Sakelar ini memerlukan Claude Code v2.1.284 atau yang lebih baru.135 Ketika [dynamic workflows](https://code.claude.com/docs/id/workflows.md) diaktifkan dan model saat ini mendukungnya, sakelar **Ultracode** muncul di bawah baris **Effort**. Aktifkan untuk membuat Claude merencanakan [workflow](https://code.claude.com/docs/id/workflows.md#let-claude-decide-with-ultracode) untuk setiap tugas substantif dalam sesi ini, pada tingkat effort yang dipilih. Selama aktif, tombol nama model menampilkan `· Ultracode` setelah tingkatnya. Sakelar ini memerlukan Claude Code v2.1.284 atau yang lebih baru.

136* **Menu perintah**: klik `/` atau ketik `/` untuk membuka menu perintah. Opsinya meliputi melampirkan file, mengganti model, dan mengaktifkan/menonaktifkan extended thinking.136* **Menu perintah**: klik `/` atau ketik `/` untuk membuka menu perintah. Opsinya meliputi melampirkan file dan mengganti model.

137 137 

138 Bagian Customize mencakup entri seperti server MCP, perintah, gaya output, hook, memori, instruksi, izin, dan plugin. Item dengan ikon terminal terbuka di terminal terintegrasi.138 Bagian Customize mencakup entri seperti server MCP, perintah, gaya output, hook, memori, instruksi, izin, dan plugin. Item dengan ikon terminal terbuka di terminal terintegrasi.

139 139 


191 Untuk membuka peta ketika tidak ada jumlah agent yang ditampilkan, seperti ketika Claude telah memulai shell latar belakang tetapi tanpa subagent, ketik `/tasks` di kotak prompt. Tugas latar belakang di peta dan `/tasks` yang diketik memerlukan Claude Code v2.1.277 atau yang lebih baru.191 Untuk membuka peta ketika tidak ada jumlah agent yang ditampilkan, seperti ketika Claude telah memulai shell latar belakang tetapi tanpa subagent, ketik `/tasks` di kotak prompt. Tugas latar belakang di peta dan `/tasks` yang diketik memerlukan Claude Code v2.1.277 atau yang lebih baru.

192 192 

193 Dengan Claude Code v2.1.286 atau yang lebih baru, ketika Anda mengklik **Stop** atau menekan `Esc`, giliran saat ini berakhir. Agent latar belakang tetap berjalan hingga selesai atau Anda menghentikannya dari peta.193 Dengan Claude Code v2.1.286 atau yang lebih baru, ketika Anda mengklik **Stop** atau menekan `Esc`, giliran saat ini berakhir. Agent latar belakang tetap berjalan hingga selesai atau Anda menghentikannya dari peta.

194* **Extended thinking**: memungkinkan Claude menghabiskan lebih banyak waktu untuk bernalar melalui masalah yang kompleks. Aktifkan melalui menu perintah (`/`). Penalaran Claude muncul di percakapan sebagai blok yang diciutkan: klik blok untuk membacanya, atau tekan `Ctrl+O` untuk memperluas atau menciutkan setiap thinking block dalam sesi. Lihat [Extended thinking](https://code.claude.com/docs/id/model-config.md#extended-thinking) untuk detailnya.194* **Extended thinking**: memungkinkan Claude menghabiskan lebih banyak waktu untuk bernalar melalui masalah yang kompleks. Untuk menonaktifkan atau mengaktifkannya kembali, gunakan sakelar **Thinking** di bagian Model pada menu perintah (`/`). Pada model di mana [thinking tidak dapat dinonaktifkan](https://code.claude.com/docs/id/model-config.md#extended-thinking), menu tidak memiliki sakelar **Thinking** dan thinking tetap aktif.

195 

196 Thinking block yang hanya menampilkan label, seperti `Thought for 12s`, tidak memiliki teks dan tidak terbuka saat Anda mengkliknya. Untuk melihat ringkasan pemikiran, atur [`showThinkingSummaries`](https://code.claude.com/docs/id/settings-reference#showthinkingsummaries) ke `true` di `~/.claude/settings.json`, lalu jalankan **Developer: Reload Window** dari Command Palette.

197 

198 Thinking block yang sudah Anda miliki tetap kosong. Pada respons setelah pemuatan ulang, klik sebuah blok atau tekan `Ctrl+O` untuk memperluas semuanya.

195* **Input multi-baris**: tekan `Shift+Enter` untuk menambahkan baris baru tanpa mengirim. Ini juga berfungsi di input teks bebas "Other" pada dialog pertanyaan.199* **Input multi-baris**: tekan `Shift+Enter` untuk menambahkan baris baru tanpa mengirim. Ini juga berfungsi di input teks bebas "Other" pada dialog pertanyaan.

196 200 

197### Mereferensikan file dan folder201### Mereferensikan file dan folder


333 337 

334Jalankan `/usage` untuk membuka dialog Account & usage, yang menampilkan akun yang Anda gunakan untuk masuk dan penggunaan Anda. Angka penggunaan sesuai dengan cara Anda masuk:338Jalankan `/usage` untuk membuka dialog Account & usage, yang menampilkan akun yang Anda gunakan untuk masuk dan penggunaan Anda. Angka penggunaan sesuai dengan cara Anda masuk:

335 339 

336* **Paket claude.ai**: bilah penggunaan untuk batas paket Anda, seperti sesi saat ini dan minggu ini. Setiap bilah menunjukkan berapa lama hingga batasnya diatur ulang.340* **Paket claude.ai**: bilah penggunaan untuk batas paket Anda, seperti sesi saat ini dan minggu ini.

337 341 

338 Dialog juga merinci apa yang berkontribusi pada batas paket Anda:342 Dialog juga merinci apa yang berkontribusi pada batas paket Anda:

339 343 


580 584 

581Saat membuat pull request, Claude menghasilkan deskripsi berdasarkan perubahan kode aktual dan dapat menambahkan konteks tentang pengujian atau keputusan implementasi.585Saat membuat pull request, Claude menghasilkan deskripsi berdasarkan perubahan kode aktual dan dapat menambahkan konteks tentang pengujian atau keputusan implementasi.

582 586 

587### Buka kembali percakapan yang telah berpindah ke worktree

588 

589Pada percakapan yang dibuka kembali, banner **This session is in worktree** berarti direktori kerja percakapan tersebut adalah [worktree](https://code.claude.com/docs/id/worktrees.md) yang disebutkan di banner, bukan folder yang dibuka di jendela ini. Untuk membuka worktree di jendela VS Code baru, klik **Open worktree** pada banner.

590 

591Sebuah percakapan berpindah ke worktree ketika, misalnya, Anda [meminta Claude untuk bekerja di dalamnya](https://code.claude.com/docs/id/worktrees.md#ask-claude-to-create-a-worktree). Saat Anda membukanya kembali, atau panel [membukanya kembali setelah jendela dimuat ulang](#continue-conversations-after-a-reload), percakapan dilanjutkan di worktree tersebut jika Claude Code membuat worktree di bawah `.claude/worktrees/` dan worktree tersebut masih ada. Sebelum Claude Code v2.1.300, percakapan kosong yang terbuka sebagai gantinya. Pada versi-versi tersebut, perbarui ekstensi.

592 

583## Menjalankan pekerjaan di latar belakang593## Menjalankan pekerjaan di latar belakang

584 594 

585Kirim perintah atau subagent yang berjalan lama ke latar belakang, lalu periksa statusnya dari kotak prompt.595Kirim perintah atau subagent yang berjalan lama ke latar belakang, lalu periksa statusnya dari kotak prompt.


633| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Menyisipkan referensi ke file dan seleksi saat ini (memerlukan editor dalam keadaan difokuskan) |643| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Menyisipkan referensi ke file dan seleksi saat ini (memerlukan editor dalam keadaan difokuskan) |

634| Accept Change at Cursor | - | Menerima perubahan di posisi kursor saat [meninjau edit yang diusulkan](#get-started) satu perubahan demi satu perubahan. Memerlukan Claude Code v2.1.275 atau yang lebih baru |644| Accept Change at Cursor | - | Menerima perubahan di posisi kursor saat [meninjau edit yang diusulkan](#get-started) satu perubahan demi satu perubahan. Memerlukan Claude Code v2.1.275 atau yang lebih baru |

635| Reject Change at Cursor | - | Membatalkan perubahan di posisi kursor saat meninjau edit yang diusulkan satu perubahan demi satu perubahan. Memerlukan Claude Code v2.1.275 atau yang lebih baru |645| Reject Change at Cursor | - | Membatalkan perubahan di posisi kursor saat meninjau edit yang diusulkan satu perubahan demi satu perubahan. Memerlukan Claude Code v2.1.275 atau yang lebih baru |

636| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Menyembunyikan atau menampilkan aktivitas tool dalam percakapan. Berfungsi saat panel Claude atau sidebar terlihat. Memerlukan Claude Code v2.1.221 atau yang lebih baru |646| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Menyembunyikan atau menampilkan aktivitas tool dalam percakapan. Berfungsi saat panel Claude atau sidebar terlihat. Di Windows/Linux, `Ctrl+Alt+F` justru membuka fitur Find milik VS Code saat fokus berada di Debug Console atau daftar yang dapat dicari seperti Explorer. Fokuskan editor atau panel Claude lalu tekan pintasan tersebut lagi. Memerlukan Claude Code v2.1.221 atau yang lebih baru |

637| Rename Session Tab | - | Mengganti nama sesi di tab Claude yang aktif. Memerlukan Claude Code v2.1.257 atau yang lebih baru |647| Rename Session Tab | - | Mengganti nama sesi di tab Claude yang aktif. Memerlukan Claude Code v2.1.257 atau yang lebih baru |

638| Add Session Tab to Group | - | Menambahkan sesi di tab Claude yang aktif ke [grup sesi](#organize-sessions-into-groups) yang Anda pilih atau buat. Memerlukan Claude Code v2.1.257 atau yang lebih baru |648| Add Session Tab to Group | - | Menambahkan sesi di tab Claude yang aktif ke [grup sesi](#organize-sessions-into-groups) yang Anda pilih atau buat. Memerlukan Claude Code v2.1.257 atau yang lebih baru |

639| Mark Session as Unread | - | Menandai sesi di tab Claude yang aktif sebagai belum dibaca dalam daftar sesi. Memerlukan Claude Code v2.1.257 atau yang lebih baru |649| Mark Session as Unread | - | Menandai sesi di tab Claude yang aktif sebagai belum dibaca dalam daftar sesi. Memerlukan Claude Code v2.1.257 atau yang lebih baru |


679| Parameter | Deskripsi |689| Parameter | Deskripsi |

680| - | - |690| - | - |

681| `prompt` | Teks yang akan diisikan sebelumnya di kotak prompt. Harus di-encode sebagai URL. Prompt diisikan sebelumnya tetapi tidak dikirim secara otomatis. |691| `prompt` | Teks yang akan diisikan sebelumnya di kotak prompt. Harus di-encode sebagai URL. Prompt diisikan sebelumnya tetapi tidak dikirim secara otomatis. |

682| `session` | ID sesi yang akan dilanjutkan alih-alih memulai percakapan baru. Sesi harus milik workspace yang sedang terbuka di VS Code. Jika sesi tidak ditemukan, percakapan baru akan dimulai sebagai gantinya. Jika sesi sudah terbuka di sebuah tab, tab tersebut akan difokuskan. Untuk mendapatkan ID sesi secara terprogram, lihat [Melanjutkan percakapan](https://code.claude.com/docs/id/headless.md#continue-conversations). |692| `session` | ID sesi yang akan dilanjutkan, dari folder yang terbuka di VS Code. Dengan Claude Code v2.1.300 atau yang lebih baru, sesi dari checkout utama atau [worktree](https://code.claude.com/docs/id/worktrees.md) dari repositori folder tersebut juga dapat dilanjutkan. Jika sesi tidak ditemukan, percakapan baru akan dimulai sebagai gantinya. Jika sesi sudah terbuka di sebuah tab, tab tersebut akan difokuskan. Untuk mendapatkan ID sesi secara terprogram, lihat [Melanjutkan percakapan](https://code.claude.com/docs/id/headless.md#continue-conversations). |

683 693 

684Misalnya, untuk membuka tab yang diisi sebelumnya dengan "review my changes":694Misalnya, untuk membuka tab yang diisi sebelumnya dengan "review my changes":

685 695 


916| `Claude Code process exited with code 1`, atau kode lain | [Claude Code process exited with code N](https://code.claude.com/docs/id/errors.md#claude-code-process-exited-with-code-n) |926| `Claude Code process exited with code 1`, atau kode lain | [Claude Code process exited with code N](https://code.claude.com/docs/id/errors.md#claude-code-process-exited-with-code-n) |

917| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/id/errors.md#could-not-locate-the-claude-cli-on-path) |927| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/id/errors.md#could-not-locate-the-claude-cli-on-path) |

918| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/id/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |928| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/id/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |

929| `The Claude Code program for this computer, the <build> build, could not be found` | [The Claude Code program for this computer could not be found](https://code.claude.com/docs/id/errors.md#the-claude-code-program-for-this-computer-could-not-be-found) |

919| `claude` tidak ditemukan di terminal terintegrasi VS Code | [Menjalankan CLI di VS Code](#run-cli-in-vs-code) |930| `claude` tidak ditemukan di terminal terintegrasi VS Code | [Menjalankan CLI di VS Code](#run-cli-in-vs-code) |

920 931 

921### Ekstensi tidak dapat diinstal932### Ekstensi tidak dapat diinstal

worktrees.md +15 −1

Details

214 214 

215### Gunakan kembali nama worktree215### Gunakan kembali nama worktree

216 216 

217Melewatkan `--worktree` nama yang direktorinya sudah ada membuka worktree yang ada itu daripada membuat yang baru.217Jika worktree dengan nama yang Anda berikan ke `--worktree` sudah ada, Claude Code membukanya alih-alih membuat yang baru. Jika Claude Code berhenti dengan error yang berisi `belongs to a different repository` atau `is a leftover worktree`, lihat [Direktori worktree `belongs to a different repository`](#belongs-to-a-different-repository).

218 218 

219Dengan `"fresh"` [dasar](#choose-the-base-branch) default, worktree yang dibuka kembali disetel ulang ke branch default repositori daripada melanjutkan di ujung lamanya saat semua hal berikut berlaku:219Dengan `"fresh"` [dasar](#choose-the-base-branch) default, worktree yang dibuka kembali disetel ulang ke branch default repositori daripada melanjutkan di ujung lamanya saat semua hal berikut berlaku:

220 220 


353 353 

354Kesalahan yang berisi `This repository is a partial clone` berarti Claude Code tidak dapat mengambil setiap objek git yang dibutuhkan commit awal worktree. Lakukan langkah dalam kalimat pesan yang berakhir dengan `try again`. Kemudian coba ulang dari shell tempat Anda melakukannya: jalankan `claude --worktree`, atau mulai `claude` di sana dan minta lagi.354Kesalahan yang berisi `This repository is a partial clone` berarti Claude Code tidak dapat mengambil setiap objek git yang dibutuhkan commit awal worktree. Lakukan langkah dalam kalimat pesan yang berakhir dengan `try again`. Kemudian coba ulang dari shell tempat Anda melakukannya: jalankan `claude --worktree`, atau mulai `claude` di sana dan minta lagi.

355 355 

356### `Can only use --worktree in a git repository`

357 

358Kesalahan ini berarti Anda meneruskan `--worktree` di direktori yang bukan checkout git, dan tidak ada [hook `WorktreeCreate`](#non-git-version-control) yang aktif.

359 

360* Di folder tanpa kontrol versi, jalankan `git init` di sana, buat commit pertama, lalu coba lagi.

361* Di checkout sistem kontrol versi lain, siapkan hook yang disarankan pesan tersebut.

362* Untuk bekerja langsung di direktori tersebut, mulai Claude tanpa `--worktree`.

363 

364### Direktori worktree `belongs to a different repository`

365 

366Kesalahan `belongs to a different repository` dan `is a leftover worktree` keduanya berarti git mengaitkan direktori untuk nama worktree yang Anda teruskan dengan lokasi lain. Ini dapat terjadi setelah Anda menyalin atau memindahkan proyek.

367 

368Teruskan nama worktree yang berbeda. Jika direktori tersebut tidak memiliki pekerjaan yang perlu disimpan dan Anda tidak menyalin atau memindahkan proyek, Anda dapat menghapusnya dan mencoba ulang nama yang sama. Setelah penyalinan atau pemindahan, percobaan ulang tersebut dapat gagal dengan `is already checked out elsewhere in this repository`, jadi gunakan nama yang berbeda.

369 

356### Claude Code menolak untuk menggunakan worktree370### Claude Code menolak untuk menggunakan worktree

357 371 

358Kesalahan yang dimulai dengan `Refusing to use <path> as an isolation worktree` berarti Claude Code memeriksa identitas git direktori sebelum mengadopsinya sebagai checkout terisolasi sesi atau subagent, dan menolaknya. Pemeriksaan berjalan apakah Claude Code membuat worktree, memasuki yang ada, atau menggunakan kembali dari jalankan sebelumnya.372Kesalahan yang dimulai dengan `Refusing to use <path> as an isolation worktree` berarti Claude Code memeriksa identitas git direktori sebelum mengadopsinya sebagai checkout terisolasi sesi atau subagent, dan menolaknya. Pemeriksaan berjalan apakah Claude Code membuat worktree, memasuki yang ada, atau menggunakan kembali dari jalankan sebelumnya.