SpyBara
Go Premium

Documentation 2026-11-12 23:02 UTC to 2026-11-13 02:00 UTC

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

349 349 

350### Ketika model dinonaktifkan di tengah sesi350### Ketika model dinonaktifkan di tengah sesi

351 351 

352Jika akun Anda kehilangan akses ke model yang sesi Anda jalankan, misalnya karena administrator menonaktifkannya di akun Amazon Bedrock Anda, Claude Code beralih sesi ke model lain alih-alih gagal pada setiap permintaan, dan menampilkan `Switched to <fallback> because <model> is not available`. Claude Code mencoba model yang sama seperti fallback startup: versi sebelumnya dari tier yang sama terlebih dahulu dan, untuk sesi Opus tanpa versi Opus yang tersedia, model Sonnet default.352Ketika Amazon Bedrock menolak model sesi Anda karena tidak tersedia untuk akun Anda, Claude Code mengalihkan sesi Anda ke model lain, dan Anda dapat terus bekerja. Anda melihat pesan yang diawali dengan `Switched to <fallback> because <model> is not available`. Hal ini terjadi, misalnya, ketika administrator menonaktifkan model tersebut atau model terbaru belum tersedia untuk akun Anda.

353 353 

354Pengalihan hanya berlaku untuk tier yang belum Anda sematkan, kondisi yang sama seperti fallback startup. Sesi pada versi spesifik yang Anda pilih, atau pada [profil inferensi aplikasi ARN](#map-each-model-version-to-an-inference-profile), mempertahankan modelnya dan, tanpa rantai fallback model, permintaan gagal sebagai gantinya. Dalam [auto mode](https://code.claude.com/docs/id/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code hanya beralih ke model yang didukung auto mode di Amazon Bedrock. Jika tidak ada model tersebut yang tersedia, permintaan gagal dengan [AWS authentication failed](https://code.claude.com/docs/id/errors.md#aws-authentication-failed) dan petunjuk untuk mengaktifkan model.354Jika Anda mengonfigurasi [rantai fallback model](https://code.claude.com/docs/id/model-config.md#fallback-model-chains), Claude Code beralih ke fallback yang Anda konfigurasi sebagai gantinya. Tanpa rantai, permintaan gagal dalam kasus seperti berikut:

355 355 

356[Rantai fallback model](https://code.claude.com/docs/id/model-config.md#fallback-model-chains) yang Anda konfigurasi menggantikan pengalihan tier: pada penolakan ini Claude Code beralih ke fallback yang Anda konfigurasi sebagai gantinya. Untuk membuat permintaan yang ditolak gagal daripada beralih, atur [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/id/env-vars). Rantai fallback yang Anda konfigurasi masih beralih pada penolakan ini; hapus rantai juga jika Anda ingin setiap permintaan yang ditolak gagal.356* Sesi Anda berjalan pada model yang disematkan, versi spesifik yang Anda pilih, atau [profil inferensi aplikasi ARN](#map-each-model-version-to-an-inference-profile)

357* Tidak ada satu pun dari [model yang dicoba Claude Code](#startup-model-checks) yang tersedia. Dalam [auto mode](https://code.claude.com/docs/id/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code hanya beralih ke model yang didukung auto mode di Amazon Bedrock.

358 

359Untuk terus bekerja, jalankan `/model` dalam sesi dan tekan `s` pada model yang dapat digunakan akun Anda, yang membiarkan default Anda tidak berubah. `403` ditampilkan sebagai [AWS authentication failed](https://code.claude.com/docs/id/errors.md#aws-authentication-failed).

360 

361Untuk membuat permintaan yang ditolak gagal daripada beralih, atur [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/id/env-vars). Jika Anda mengonfigurasi rantai fallback model, hapus juga rantai tersebut, karena Claude Code tetap berpindah ke fallback tersebut.

357 362 

358## Prefiks profil inferensi lintas wilayah363## Prefiks profil inferensi lintas wilayah

359 364 

Details

315 {315 {

316 "matcher": "Edit|Write",316 "matcher": "Edit|Write",

317 "hooks": [317 "hooks": [

318 { "type": "command", "command": "npx prettier --write --ignore-unknown \"$(jq -r '.tool_input.file_path')\"" }318 { "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }

319 ]319 ]

320 }320 }

321 ]321 ]

Details

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

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

76| HTTPS | Gateway harus dapat dijangkau melalui `https://` dari laptop developer dan dari browser apa pun yang digunakan untuk masuk; gateway menyajikan halaman verifikasi perangkat pada listener yang sama. Sediakan sertifikat TLS melalui `listen.tls` atau jalankan di belakang ingress yang melakukan terminasi TLS, dan atur `listen.public_url` ke origin eksternal dalam kedua kasus. Saat `/login`, Claude Code menerima origin `http://` biasa hanya jika host gateway adalah loopback: `localhost`, `127.0.0.1`, atau `::1`. |76| HTTPS | Gateway harus dapat dijangkau melalui `https://` dari laptop developer dan dari browser apa pun yang digunakan untuk masuk; gateway menyajikan halaman verifikasi perangkat pada listener yang sama. Sediakan sertifikat TLS melalui `listen.tls` atau jalankan di belakang ingress yang melakukan terminasi TLS, dan atur `listen.public_url` ke origin eksternal dalam kedua kasus. Saat `/login`, Claude Code menerima origin `http://` biasa hanya jika host gateway adalah loopback: `localhost`, `127.0.0.1`, atau `::1`. |

77| Alamat jaringan privat | Saat `/login`, Claude Code mengharuskan hostname atau alamat IP gateway hanya di-resolve ke alamat privat: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7`, atau loopback. Untuk gateway yang Anda host, alamat publik apa pun di luar blok yang Anda deklarasikan akan ditolak; lihat [model ancaman](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#threat-model-summary) dalam panduan deployment. Jika mesin developer merutekan HTTPS melalui proxy perusahaan, proses masuk juga mengharuskan host proxy di-resolve ke alamat privat; jika tidak, tambahkan host gateway ke `NO_PROXY` agar CLI terhubung secara langsung. Jika jaringan internal Anda menggunakan penomoran dari ruang IPv4 publik yang dimiliki organisasi Anda, [deklarasikan blok-blok tersebut](#allow-a-gateway-on-public-address-space-you-own) agar `/login` menerima gateway di sana. |77| Alamat jaringan privat | `/login` Claude Code mengharuskan hostname atau alamat IP gateway hanya di-resolve ke alamat privat: rentang RFC 1918 dan link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7`, dan loopback. Lihat [model ancaman](https://code.claude.com/docs/id/claude-apps-gateway-deploy.md#threat-model-summary). Jika jaringan internal Anda menggunakan penomoran dari ruang IPv4 publik yang dimiliki organisasi Anda, [deklarasikan blok-blok tersebut](#allow-a-gateway-on-public-address-space-you-own) agar `/login` menerima gateway di sana. |

78| Runtime Linux | Server gateway hanya berjalan pada binary Linux native. macOS dapat digunakan untuk pengembangan lokal. Windows tidak didukung sebagai platform server. |78| Runtime Linux | Server gateway hanya berjalan pada binary Linux native. macOS dapat digunakan untuk pengembangan lokal. Windows tidak didukung sebagai platform server. |

79 79 

80Jika `HTTPS_PROXY` atau `HTTP_PROXY` berlaku untuk host gateway, proses masuk juga memerlukan proxy yang hostname-nya di-resolve ke alamat privat, atau host gateway dimasukkan ke `NO_PROXY` di mesin developer. Jika mesin tersebut juga mengatur `no_proxy`, tambahkan host gateway di sana juga; jika tidak, permintaan model tetap melewati proxy.

81 

80### Langkah-langkah82### Langkah-langkah

81 83 

82**1. Daftarkan klien OAuth di IdP Anda**84**1. Daftarkan klien OAuth di IdP Anda**

Details

656 656 

657| Penyiapan | Cara |657| Penyiapan | Cara |

658| - | - |658| - | - |

659| RBAC | Berikan identitas gateway `Azure AI User` atau `Cognitive Services User` pada resource Microsoft Foundry |659| RBAC | Berikan identitas gateway role `Foundry User` atau `Cognitive Services User` pada resource Microsoft Foundry |

660| Deployment | Microsoft Foundry menggunakan nama deployment yang dipilih admin, bukan ID model kanonis. Tambahkan blok [`models:`](#models) yang memetakan setiap ID kanonis ke nama deployment Anda. |660| Deployment | Microsoft Foundry menggunakan nama deployment yang dipilih admin, bukan ID model kanonis. Tambahkan blok [`models:`](#models) yang memetakan setiap ID kanonis ke nama deployment Anda. |

661| AKS (workload identity) | Federasikan User-Assigned Managed Identity dengan issuer OIDC cluster dan ikat ke service account gateway. `use_azure_ad: true` mengambilnya melalui `WorkloadIdentityCredential`. |661| AKS (workload identity) | Federasikan User-Assigned Managed Identity dengan issuer OIDC cluster dan ikat ke service account gateway. `use_azure_ad: true` mengambilnya melalui `WorkloadIdentityCredential`. |

662| ACI / App Service | Aktifkan managed identity system-assigned atau user-assigned pada resource. `use_azure_ad: true` akan mengambilnya. |662| ACI / App Service | Aktifkan managed identity system-assigned atau user-assigned pada resource. `use_azure_ad: true` akan mengambilnya. |


1001 1001 

1002Setiap kunci di bawah `upstream_model` harus cocok dengan `name` dari upstream yang dikonfigurasi, yang secara default adalah nama penyedia. Kunci yang tidak cocok dengan upstream mana pun menggagalkan boot, jadi hapus baris untuk penyedia yang tidak Anda gunakan.1002Setiap kunci di bawah `upstream_model` harus cocok dengan `name` dari upstream yang dikonfigurasi, yang secara default adalah nama penyedia. Kunci yang tidak cocok dengan upstream mana pun menggagalkan boot, jadi hapus baris untuk penyedia yang tidak Anda gunakan.

1003 1003 

1004Agar developer dapat menggunakan alias `fable` dengan `auto_include_builtin_models: false`, tambahkan entri `claude-fable-5` ke `models`. Itu adalah ID yang menjadi tujuan resolve [alias `fable`](https://code.claude.com/docs/id/model-config#fable-alias-resolution) untuk developer yang masuk ke gateway. Tanpanya, pesan mereka gagal dengan error yang diawali `API Error: 400 model claude-fable-5 is not in the operator's model allowlist`.

1005 

1004### `managed`1006### `managed`

1005 1007 

1006Blok `managed` mendefinisikan kebijakan akses berbasis peran yang dikunci pada grup IdP atau domain email. Kebijakan dievaluasi secara berurutan; secara default kecocokan pertama yang dipilih, lalu digabungkan ke basis catch-all `match: {}`. Pengguna yang cocok dengan dua kebijakan peran hanya mendapatkan yang pertama, sehingga aturan deny dari kebijakan kedua tidak berlaku kecuali Anda [menerapkan setiap kebijakan yang cocok](#apply-every-matching-policy). Kebijakan dilayani per pengguna di `GET /managed/settings` dengan caching ETag/304.1008Blok `managed` mendefinisikan kebijakan akses berbasis peran yang dikunci pada grup IdP atau domain email. Kebijakan dievaluasi secara berurutan; secara default kecocokan pertama yang dipilih, lalu digabungkan ke basis catch-all `match: {}`. Pengguna yang cocok dengan dua kebijakan peran hanya mendapatkan yang pertama, sehingga aturan deny dari kebijakan kedua tidak berlaku kecuali Anda [menerapkan setiap kebijakan yang cocok](#apply-every-matching-policy). Kebijakan dilayani per pengguna di `GET /managed/settings` dengan caching ETag/304.


1025Catch-all `match: {}`, yang secara konvensi dicantumkan terakhir, diperlakukan sebagai lapisan dasar. Setiap kebijakan lain mewarisi kunci apa pun yang tidak disetelnya dari catch-all, sehingga entri per peran hanya perlu mencantumkan apa yang berbeda dari default organisasi. Aturan penggabungan bergantung pada jenis kunci:1027Catch-all `match: {}`, yang secara konvensi dicantumkan terakhir, diperlakukan sebagai lapisan dasar. Setiap kebijakan lain mewarisi kunci apa pun yang tidak disetelnya dari catch-all, sehingga entri per peran hanya perlu mencantumkan apa yang berbeda dari default organisasi. Aturan penggabungan bergantung pada jenis kunci:

1026 1028 

1027* **Allow-list**: `availableModels` dan `permissions.allow`. Daftar kebijakan spesifik sepenuhnya menggantikan daftar dasar.1029* **Allow-list**: `availableModels` dan `permissions.allow`. Daftar kebijakan spesifik sepenuhnya menggantikan daftar dasar.

1028* **Deny-list dan array hook**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces`, `deniedModels`, dan setiap array tipe event `hooks`. Kunci ini mengambil gabungan (union) dari dasar dan kebijakan, sehingga deny atau hook audit di seluruh organisasi tidak dapat terhapus secara tidak sengaja oleh override per peran.1030* **Deny-list dan array hook**: ini mengambil gabungan (union) dari basis dan kebijakan:

1031 * `permissions.deny` dan `permissions.ask`

1032 * `disabledMcpjsonServers` dan `deniedMcpServers`

1033 * `blockedMarketplaces` dan `deniedModels`

1034 * Array jenis event `hooks`

1029* **Kunci bertipe record**: `env`, `modelOverrides`, dan `skillOverrides`. Kunci ini digabungkan secara dangkal (shallow-merge), sehingga blok `env` per peran menimpa kunci yang disetelnya dan mewarisi sisanya dari dasar.1035* **Kunci bertipe record**: `env`, `modelOverrides`, dan `skillOverrides`. Kunci ini digabungkan secara dangkal (shallow-merge), sehingga blok `env` per peran menimpa kunci yang disetelnya dan mewarisi sisanya dari dasar.

1030 1036 

1031`availableModels` juga ditegakkan di sisi server pada `/v1/messages`, sehingga model yang ditolak mengembalikan `400` terlepas dari apa yang dikirim klien. Daftar kosong menolak setiap model. Pemeriksaan ini juga mencakup model yang digunakan sesi saat dimulai sebelum developer memilih model, jadi [mulai sesi pada model yang diizinkan kebijakan](#start-sessions-on-a-model-the-policy-allows).1037`availableModels` juga ditegakkan di sisi server pada `/v1/messages`, sehingga model yang ditolak mengembalikan `400` terlepas dari apa yang dikirim klien. Daftar kosong menolak setiap model. Pemeriksaan ini juga mencakup model yang digunakan sesi saat dimulai sebelum developer memilih model, jadi [mulai sesi pada model yang diizinkan kebijakan](#start-sessions-on-a-model-the-policy-allows).

Details

92 92 

93Selain binary, image memerlukan:93Selain binary, image memerlukan:

94 94 

95* **Image berbasis glibc**: satu-satunya dependensi dinamis dari build glibc adalah library glibc. Image berbasis musl memerlukan build `linux-x64-musl` atau `linux-arm64-musl` ditambah paket tambahan; lihat [Penyiapan Alpine Linux](https://code.claude.com/docs/id/setup.md#alpine-linux-and-musl-based-distributions).95* **Image berbasis glibc**: satu-satunya dependensi dinamis dari build glibc adalah library glibc. Image berbasis musl memerlukan build `linux-x64-musl` atau `linux-arm64-musl`, yang satu-satunya dependensi dinamisnya adalah musl.

96* **Direktori state yang dapat ditulis**: gateway berjalan sebagai pengguna apa pun, tetapi image minimal tidak memiliki direktori home yang dapat ditulis. Atur `CLAUDE_CONFIG_DIR` ke path yang dapat ditulis seperti `/tmp/.claude`.96* **Direktori state yang dapat ditulis**: gateway berjalan sebagai pengguna apa pun, tetapi image minimal tidak memiliki direktori home yang dapat ditulis. Atur `CLAUDE_CONFIG_DIR` ke path yang dapat ditulis seperti `/tmp/.claude`.

97* **Perintah container**: `claude gateway --config /etc/claude/gateway.yaml`, dengan file konfigurasi di-mount secara read-only dan secret disediakan sebagai environment variable; gateway mendengarkan pada `listen.port`, default `8080`.97* **Perintah container**: `claude gateway --config /etc/claude/gateway.yaml`, dengan file konfigurasi di-mount secara read-only dan secret disediakan sebagai environment variable; gateway mendengarkan pada `listen.port`, default `8080`.

98 98 

Details

274 274 

275Thread berjalan dalam [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode), jadi Claude menjalankan perintah dan mengedit file di folder itu tanpa meminta Anda setiap kali. Jika auto mode tidak tersedia atau dimatikan di Claude Code komputer itu, thread berjalan tanpanya, dan prompt izin apa pun yang dimunculkannya menunggu jawaban Anda di thread, seperti yang dijelaskan [Buka blokir thread yang menunggu persetujuan](#unblock-a-thread-waiting-on-approval).275Thread berjalan dalam [auto mode](https://code.claude.com/docs/id/permission-modes.md#eliminate-prompts-with-auto-mode), jadi Claude menjalankan perintah dan mengedit file di folder itu tanpa meminta Anda setiap kali. Jika auto mode tidak tersedia atau dimatikan di Claude Code komputer itu, thread berjalan tanpanya, dan prompt izin apa pun yang dimunculkannya menunggu jawaban Anda di thread, seperti yang dijelaskan [Buka blokir thread yang menunggu persetujuan](#unblock-a-thread-waiting-on-approval).

276 276 

277Untuk menjalankan thread dalam mode lain, mulai `claude remote-control` dengan [`--settings`](https://code.claude.com/docs/id/remote-control#start-a-remote-control-session). Kemudian [`permissions.defaultMode`](https://code.claude.com/docs/id/permission-modes#start-in-a-different-mode), di file tersebut atau di pengaturan komputer itu, dapat memilih mode lain.

278 

277Saat thread berjalan, ikon laptop di headernya menunjukkan apakah komputer Anda terhubung. Klik untuk melihat folder mana yang digunakan thread atau untuk mematikan koneksi. Thread dijeda saat komputer itu tidur, dan berhenti jika aplikasi desktop atau `claude remote-control` berhenti.279Saat thread berjalan, ikon laptop di headernya menunjukkan apakah komputer Anda terhubung. Klik untuk melihat folder mana yang digunakan thread atau untuk mematikan koneksi. Thread dijeda saat komputer itu tidur, dan berhenti jika aplikasi desktop atau `claude remote-control` berhenti.

278 280 

279* **Untuk membuat thread berjalan lagi**: lihat [Kehilangan kontak dengan folder Anda](#lost-contact-with-your-folder)281* **Untuk membuat thread berjalan lagi**: lihat [Kehilangan kontak dengan folder Anda](#lost-contact-with-your-folder)

commands.md +0 −2

Details

35Tabel di bawah mencantumkan semua perintah yang disertakan dalam Claude Code. Sebagian besar adalah perintah bawaan yang perilakunya dikodekan ke dalam CLI. Dua jenis entri ditandai:35Tabel di bawah mencantumkan semua perintah yang disertakan dalam Claude Code. Sebagian besar adalah perintah bawaan yang perilakunya dikodekan ke dalam CLI. Dua jenis entri ditandai:

36 36 

37* **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills)**: sebuah skill bawaan. Ini bekerja seperti skill yang Anda tulis sendiri: prompt yang diberikan kepada Claude.37* **[Skill](https://code.claude.com/docs/id/skills.md#bundled-skills)**: sebuah skill bawaan. Ini bekerja seperti skill yang Anda tulis sendiri: prompt yang diberikan kepada Claude.

38 * `/verify` berjalan hanya ketika Anda menjalankannya.

39* **[Workflow](https://code.claude.com/docs/id/workflows.md#bundled-workflows)**: sebuah [dynamic workflow](https://code.claude.com/docs/id/workflows.md) bawaan yang menyebarkan pekerjaan di banyak subagent dan berjalan di latar belakang.38* **[Workflow](https://code.claude.com/docs/id/workflows.md#bundled-workflows)**: sebuah [dynamic workflow](https://code.claude.com/docs/id/workflows.md) bawaan yang menyebarkan pekerjaan di banyak subagent dan berjalan di latar belakang.

40 * `/deep-research` berjalan hanya ketika Anda menjalankannya.

41 39 

42Untuk menambahkan perintah Anda sendiri, lihat [skills](https://code.claude.com/docs/id/skills.md).40Untuk menambahkan perintah Anda sendiri, lihat [skills](https://code.claude.com/docs/id/skills.md).

43 41 

Details

71 71 

72Luncurkan **Claude** dari peluncur aplikasi Anda, atau jalankan `claude-desktop` dari terminal, dan masuk dengan akun Anthropic Anda.72Luncurkan **Claude** dari peluncur aplikasi Anda, atau jalankan `claude-desktop` dari terminal, dan masuk dengan akun Anthropic Anda.

73 73 

74Aplikasi Linux masuk dengan cara yang sama seperti di macOS dan Windows: dengan langganan claude.ai, atau melalui SSO organisasi Anda. Untuk autentikasi kunci API, gunakan [CLI](https://code.claude.com/docs/id/quickstart.md). Untuk menggunakan Desktop dengan Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, atau gateway LLM sebagai gantinya, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). Untuk server proxy dan otoritas sertifikat kustom dalam deployment tersebut, lihat [konfigurasi jaringan](https://code.claude.com/docs/id/network-config.md).74Aplikasi Linux masuk dengan cara yang sama seperti di macOS dan Windows: dengan langganan claude.ai, atau melalui SSO organisasi Anda. Untuk menggunakan Desktop dengan kunci API Claude, Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, atau gateway LLM sebagai gantinya, lihat [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). Untuk server proxy dan otoritas sertifikat kustom dalam deployment tersebut, lihat [konfigurasi jaringan](https://code.claude.com/docs/id/network-config.md).

75 75 

76### Instal dari file yang diunduh76### Instal dari file yang diunduh

77 77 

Details

83 83 

84**8. Pilih mode izin dan model**84**8. Pilih mode izin dan model**

85 85 

86Di toolbar kotak instruksi, pilih [mode izin](#permissions-for-scheduled-tasks) dan model. Jika Anda membiarkannya tidak berubah, eksekusi menggunakan pengaturan Claude Code Anda dan model default.86Di toolbar kotak instruksi, pilih [mode izin](#permissions-for-scheduled-tasks) dan model.

87 

88* **Mode izin**: jika Anda membiarkannya tidak berubah, eksekusi menggunakan pengaturan Claude Code Anda.

89* **Model**: jika menu model bertuliskan **Default · Set by admin** dan Anda tidak memilih model lain, eksekusi menggunakan model yang ditetapkan organisasi Anda di [pengaturan terkelola](https://code.claude.com/docs/id/managed-settings.md). [Eksekusi susulan](#missed-runs) yang dimulai saat aplikasi dibuka dapat menggunakan [default runtime untuk akun Anda](https://code.claude.com/docs/id/model-config.md#default-model-setting) sebagai gantinya.

87 90 

88**9. Buat tugas**91**9. Buat tugas**

89 92 

90Klik **Create**. Jika Anda belum mempercayai folder tersebut, Desktop akan meminta Anda untuk mempercayainya pada tahap ini. Halaman detail tugas terbuka.93Klik **Create**. Jika Anda belum mempercayai folder tersebut, Desktop akan meminta Anda untuk mempercayainya pada tahap ini. Halaman detail tugas terbuka.

91 94 

95Untuk melihat model mana yang diwakili oleh **Default · Set by admin**, klik **Run now** di halaman detail untuk langsung menjalankan tugas. Kemudian [buka sesi eksekusi tersebut](#find-a-runs-session), tempat baris di bawah kotak prompt menampilkan nama model.

96 

92Di halaman detail, klik ikon pensil untuk membuka [formulir **Edit**](#manage-scheduled-tasks). Di sana Anda dapat mengubah **Description** yang diisi Desktop dari instruksi Anda, memilih **Worktree**, atau mengubah jadwal menjadi **Manual** atau **Custom**.97Di halaman detail, klik ikon pensil untuk membuka [formulir **Edit**](#manage-scheduled-tasks). Di sana Anda dapat mengubah **Description** yang diisi Desktop dari instruksi Anda, memilih **Worktree**, atau mengubah jadwal menjadi **Manual** atau **Custom**.

93 98 

94Anda juga dapat membuat tugas dengan mendeskripsikan apa yang Anda inginkan dalam sesi apa pun. Misalnya, "siapkan code review harian yang berjalan setiap pagi jam 9" membuat tugas berulang. Permintaan seperti "ingatkan saya besok jam 3 sore untuk memeriksa deploy" membuat tugas satu kali yang menonaktifkan dirinya sendiri setelah dijalankan.99Anda juga dapat membuat tugas dengan mendeskripsikan apa yang Anda inginkan dalam sesi apa pun. Misalnya, "siapkan code review harian yang berjalan setiap pagi jam 9" membuat tugas berulang. Permintaan seperti "ingatkan saya besok jam 3 sore untuk memeriksa deploy" membuat tugas satu kali yang menonaktifkan dirinya sendiri setelah dijalankan.


181 186 

182Untuk memungkinkan tugas mengubah jadwal atau prompt-nya sendiri dengan tool MCP `update_scheduled_task`, klik **Run now** dan setujui panggilan tersebut setiap kali.187Untuk memungkinkan tugas mengubah jadwal atau prompt-nya sendiri dengan tool MCP `update_scheduled_task`, klik **Run now** dan setujui panggilan tersebut setiap kali.

183 188 

184Untuk mengedit prompt tugas di disk, buka `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (atau di bawah [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/id/env-vars) jika diatur). File menggunakan frontmatter YAML untuk `name` dan `description`, dengan prompt sebagai body. Perubahan berlaku pada run berikutnya. Schedule, folder, model, dan enabled state tidak ada dalam file ini: ubah melalui formulir Edit atau minta Claude.189Untuk mengedit prompt tugas di disk, buka `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (atau di bawah [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/id/env-vars) jika diatur). File menggunakan frontmatter YAML untuk `name` dan `description`, dengan prompt sebagai body. Perubahan berlaku pada run berikutnya. Schedule, folder, dan enabled state tidak ada dalam file ini: ubah melalui formulir Edit atau minta Claude.

185 190 

186## Sumber daya terkait191## Sumber daya terkait

187 192 

errors.md +51 −8

Details

122| `A request to MCP server "<name>" was sent without your stored credentials` | [Authentication](#couldnt-read-the-stored-credentials-for-mcp-server) |122| `A request to MCP server "<name>" was sent without your stored credentials` | [Authentication](#couldnt-read-the-stored-credentials-for-mcp-server) |

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

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

125| `Stopped an OAuth request` | [Autentikasi](#stopped-an-oauth-request) |

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

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

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


251| `Ultrareview did not start` | [Command-line errors](#ultrareview-did-not-start) |252| `Ultrareview did not start` | [Command-line errors](#ultrareview-did-not-start) |

252| `Remote Control did not start: "<question>" got no answer` | [Kesalahan command-line](#remote-control-did-not-start-got-no-answer) |253| `Remote Control did not start: "<question>" got no answer` | [Kesalahan command-line](#remote-control-did-not-start-got-no-answer) |

253| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Command-line errors](#not-carried-over-to-the-sessions-remote-control-starts) |254| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Command-line errors](#not-carried-over-to-the-sessions-remote-control-starts) |

255| `Remote Control did not start, because sessions would skip part or all of the --settings file` | [Kesalahan baris perintah](#remote-control-did-not-start-because-of-the-settings-file) |

256| `The settings file <file> has changed since Remote Control started, so this session did not start` | [Kesalahan baris perintah](#settings-file-changed-since-remote-control-started) |

254| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Command-line errors](#sandbox-is-not-supported-by-claude-remote-control) |257| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Command-line errors](#sandbox-is-not-supported-by-claude-remote-control) |

255| `` `claude import` is not yet available in this build `` | [Command-line errors](#claude-import-is-not-yet-available-in-this-build) |258| `` `claude import` is not yet available in this build `` | [Command-line errors](#claude-import-is-not-yet-available-in-this-build) |

256| `Could not read Claude Code config` | [Command-line errors](#could-not-read-claude-code-config) |259| `Could not read Claude Code config` | [Command-line errors](#could-not-read-claude-code-config) |


825Panggilan berikutnya dalam respons Claude yang sama dapat ditolak dengan alasan ini:828Panggilan berikutnya dalam respons Claude yang sama dapat ditolak dengan alasan ini:

826 829 

827```text theme={null}830```text theme={null}

828another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged831another call in this response was changed after auto mode reviewed it, or could not be confirmed unchanged

829```832```

830 833 

831Claude kemudian dapat mengeluarkan kembali setiap panggilan yang ditolak agar server meninjaunya. Jika dialog izin terbuka, jawablah. Anda tidak perlu melakukan hal lain kecuali Claude menyatakan dalam balasannya bahwa auto mode tidak dapat memeriksa panggilan tersebut. Dalam hal itu, hentikan perubahan tersebut atau setujui panggilan sendiri, lalu minta Claude untuk mencoba panggilan itu lagi:834Claude kemudian dapat mengeluarkan kembali setiap panggilan yang ditolak agar server meninjaunya. Jika dialog izin terbuka, jawablah. Anda tidak perlu melakukan hal lain kecuali Claude menyatakan dalam balasannya bahwa auto mode tidak dapat memeriksa panggilan tersebut. Dalam hal itu, hentikan perubahan tersebut atau setujui panggilan sendiri, lalu minta Claude untuk mencoba panggilan itu lagi:


1822 1825 

1823Sebelum v2.1.232, Claude Code menggunakan runtime v2 hanya dalam peluncuran bertahap atau ketika Anda mengatur `MCP_SDK_GENERATION=v2`.1826Sebelum v2.1.232, Claude Code menggunakan runtime v2 hanya dalam peluncuran bertahap atau ketika Anda mengatur `MCP_SDK_GENERATION=v2`.

1824 1827 

1828### Stopped an OAuth request

1829 

1830Pesan ini berarti Claude Code menghentikan [permintaan OAuth untuk server MCP](https://code.claude.com/docs/id/mcp.md#authenticate-with-remote-mcp-servers) karena endpoint OAuth mengalihkannya. Dalam kedua bentuk pesan, alamat pertama adalah alamat yang mengirimkan pengalihan:

1831 

1832```text theme={null}

1833Stopped an OAuth request, which can hold secrets: https://auth.example.com redirected it to https://other.example.com. Ask the owner of https://auth.example.com to remove that redirect.

1834Stopped an OAuth request: https://auth.example.com redirected it more than 5 times. Ask the owner of https://auth.example.com to fix those redirects.

1835```

1836 

1837**Yang harus dilakukan:**

1838 

1839* Minta siapa pun yang menjalankan alamat pertama, seperti operator server MCP, untuk menghapus atau memperbaiki pengalihan tersebut. Kemudian coba lagi dari `/mcp`.

1840 

1825### Refusing to send credentials to non-https token endpoint1841### Refusing to send credentials to non-https token endpoint

1826 1842 

1827Pada [runtime v2](https://code.claude.com/docs/id/mcp.md#mcp-client-runtimes), Claude Code mengirimkan permintaan token [OAuth MCP](https://code.claude.com/docs/id/mcp.md#authenticate-with-remote-mcp-servers) hanya ke token endpoint yang dilayani melalui HTTPS atau di `localhost`, `127.0.0.1`, atau `::1`. Pesan ini berarti token endpoint server bukan keduanya, sehingga Claude Code berhenti sebelum mengirimkan permintaan. Hal itu terjadi setelah proses masuk browser, sehingga langkah browser berhasil terlebih dahulu, dan terjadi lagi setiap kali Claude Code me-refresh token server.1843Pada [runtime v2](https://code.claude.com/docs/id/mcp.md#mcp-client-runtimes), Claude Code mengirimkan permintaan token [OAuth MCP](https://code.claude.com/docs/id/mcp.md#authenticate-with-remote-mcp-servers) hanya ke token endpoint yang dilayani melalui HTTPS atau di `localhost`, `127.0.0.1`, atau `::1`. Pesan ini berarti token endpoint server bukan keduanya, sehingga Claude Code berhenti sebelum mengirimkan permintaan. Hal itu terjadi setelah proses masuk browser, sehingga langkah browser berhasil terlebih dahulu, dan terjadi lagi setiap kali Claude Code me-refresh token server.


2207 2223 

2208### Host not allowed in a cloud session2224### Host not allowed in a cloud session

2209 2225 

2210Permintaan HTTP keluar dari sesi cloud atau tugas terjadwal cloud diblokir oleh kebijakan jaringan lingkungan.2226Dalam sesi cloud atau tugas terjadwal cloud, `403` atau kesalahan DNS seperti `ENOTFOUND` dapat berarti bahwa host yang diminta tidak ada dalam [allowlist lingkungan cloud](https://code.claude.com/docs/id/cloud-environments.md#access-levels). Untuk memastikannya, periksa host tersebut terhadap daftar itu. `403` dengan header ini memastikan pemblokiran, tetapi tidak setiap `403` dari permintaan yang diblokir memilikinya:

2211 2227 

2212```text theme={null}2228```text theme={null}

2213HTTP 4032229HTTP 403


2565 2581 

2566Claude Code biasanya mengubah ukuran gambar besar secara otomatis. Error ini berarti gambar tidak dapat didekode atau diubah ukurannya agar sesuai dengan batas API.2582Claude Code biasanya mengubah ukuran gambar besar secara otomatis. Error ini berarti gambar tidak dapat didekode atau diubah ukurannya agar sesuai dengan batas API.

2567 2583 

2584Kesalahan yang Anda lihat dapat menyebutkan batas piksel yang berbeda, seperti `2576x2576px` di tempat contoh-contoh ini menyebutkan `2000x2000px`.

2585 

2568**Yang perlu dilakukan:**2586**Yang perlu dilakukan:**

2569 2587 

2570* Jika pesan meminta Anda mengonversi gambar, konversikan ke PNG, JPEG, GIF, atau WebP dan lampirkan lagi. Claude Code dapat memverifikasi dimensi untuk format-format ini dari header file, tanpa mendekode gambar.2588* Jika pesan meminta Anda mengonversi gambar, konversikan ke PNG, JPEG, GIF, atau WebP dan lampirkan lagi. Claude Code dapat memverifikasi dimensi untuk format-format ini dari header file, tanpa mendekode gambar.


2880 2898 

2881### Couldn't save it as your default2899### Couldn't save it as your default

2882 2900 

2883Anda memilih model untuk disimpan sebagai default Anda, misalnya dengan `/model <name>` atau Enter di pemilih `/model`, dan Claude Code tidak dapat menulis pilihan tersebut ke file pengaturan pengguna Anda, `~/.claude/settings.json`. Pergantian itu sendiri diterapkan, sehingga sesi saat ini berjalan pada model yang Anda pilih, tetapi default Anda tidak berubah dan sesi berikutnya dimulai dengan nilai lama.2901Anda memilih model untuk disimpan sebagai default, misalnya dengan `/model <name>` atau `Enter` di pemilih `/model`, dan Claude Code tidak dapat menulis pilihan tersebut ke file pengaturan pengguna Anda, `~/.claude/settings.json`. Perpindahan itu sendiri diterapkan, sehingga sesi saat ini berjalan pada model yang Anda pilih, tetapi default Anda tidak berubah dan sesi berikutnya dimulai dengan nilai lama.

2884 2902 

2885```text theme={null}2903```text theme={null}

2886Set model to Fable 5.1 for this session only · couldn't save it as your default: ~/.claude/settings.json can't be written (EROFS)2904Set model to Fable 5.1 for this session only · couldn't save it as your default: ~/.claude/settings.json can't be written (EROFS)


3499* **`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`.3517* **`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`.

3500* **`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.3518* **`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.

3501* **`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`.3519* **`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`.

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

3503 3521 

3504Sebelum v2.1.309, `claude ultrareview` tidak menerima `--trust-workspace`.3522Sebelum v2.1.309, `claude ultrareview` tidak menerima `--trust-workspace`.

3505 3523 


3522Anda memulai [Remote Control](https://code.claude.com/docs/id/remote-control.md) dengan flag `claude` global sebelum kata kerja `remote-control`, yaitu flag yang akan membatasi atau mengonfigurasi sesi yang dimulai Remote Control, seperti `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools`, atau `--mcp-config`. Flag yang ditempatkan sebelum kata kerja tidak pernah mencapai sesi tersebut. Claude Code menolak untuk memulai, dengan menyebutkan flag tersebut:3540Anda memulai [Remote Control](https://code.claude.com/docs/id/remote-control.md) dengan flag `claude` global sebelum kata kerja `remote-control`, yaitu flag yang akan membatasi atau mengonfigurasi sesi yang dimulai Remote Control, seperti `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools`, atau `--mcp-config`. Flag yang ditempatkan sebelum kata kerja tidak pernah mencapai sesi tersebut. Claude Code menolak untuk memulai, dengan menyebutkan flag tersebut:

3523 3541 

3524```text theme={null}3542```text theme={null}

3525Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).3543Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`). Pass settings with `claude remote-control --settings <file>`.

3526```3544```

3527 3545 

3528Claude Code tidak menolak flag global yang aman untuk diabaikan, seperti `--verbose`, `--model`, atau `--session-id` atau `--plugin-dir` yang disisipkan oleh wrapper: Claude Code mengabaikannya dan Remote Control dimulai.3546Claude Code tidak menolak flag global yang aman untuk diabaikan, seperti `--verbose`, `--model`, atau `--session-id` atau `--plugin-dir` yang disisipkan oleh wrapper: Claude Code mengabaikannya dan Remote Control dimulai.


3536 3554 

3537Sebelum v2.1.248, `claude remote-control` tidak menerima flag-nya sendiri ketika flag global muncul lebih dulu, dan perintah gagal dengan kesalahan `unknown option`.3555Sebelum v2.1.248, `claude remote-control` tidak menerima flag-nya sendiri ketika flag global muncul lebih dulu, dan perintah gagal dengan kesalahan `unknown option`.

3538 3556 

3557### Remote Control did not start karena file `--settings`

3558 

3559File yang Anda teruskan ke [`claude remote-control --settings`](https://code.claude.com/docs/id/remote-control#start-a-remote-control-session) memiliki masalah:

3560 

3561```text theme={null}

3562Error: Remote Control did not start, because sessions would skip part or all of the --settings file ./rc-settings.json: Invalid or malformed JSON

3563```

3564 

3565**Yang harus dilakukan:**

3566 

3567* Perbaiki masalah yang disebutkan pesan, lalu jalankan perintah `claude remote-control` Anda lagi

3568 

3569### The settings file has changed since Remote Control started

3570 

3571Pesan ini di terminal yang menjalankan `claude remote-control` berarti sesi tidak akan dimulai dari file yang Anda teruskan ke [`--settings`](https://code.claude.com/docs/id/remote-control#start-a-remote-control-session) dalam keadaannya saat ini:

3572 

3573```text theme={null}

3574Session failed: Error: The settings file /path/to/settings.json has changed since Remote Control started, so this session did not start. Restart `claude remote-control` to use it as it is now.

3575```

3576 

3577**Yang harus dilakukan:**

3578 

3579* Untuk menggunakan file dalam keadaannya saat ini, hentikan `claude remote-control` dan jalankan perintah yang sama lagi. Untuk mengembalikan sesi yang sedang dilayaninya, lihat [Melanjutkan sesi setelah menghentikan server](https://code.claude.com/docs/id/remote-control.md#resume-sessions-after-stopping-the-server).

3580* Untuk mempertahankan pengaturan yang digunakan saat Remote Control dimulai, kembalikan isi file seperti semula, lalu jalankan perintah lagi jika `claude remote-control` telah keluar

3581 

3539### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3582### `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3540 3583 

3541Error ini berarti perintah yang memulai server [Remote Control](https://code.claude.com/docs/id/remote-control.md) Anda meneruskan `--sandbox` atau `--no-sandbox` setelah `remote-control`, dan `claude remote-control` tidak menerima kedua flag tersebut. Server keluar dengan kode 1 alih-alih dimulai:3584Error ini berarti perintah yang memulai server [Remote Control](https://code.claude.com/docs/id/remote-control.md) Anda meneruskan `--sandbox` atau `--no-sandbox` setelah `remote-control`, dan `claude remote-control` tidak menerima kedua flag tersebut. Server keluar dengan kode 1 alih-alih dimulai:


3806 3849 

3807String serupa muncul sebelum perintah dijalankan sama sekali:3850String serupa muncul sebelum perintah dijalankan sama sekali:

3808 3851 

3809* `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) menjelaskan hasil mana yang membatalkan di setiap mode izin dan cara menyetujui perintah terlebih dahulu dengan `allowed-tools`3852* `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 dalam setiap mode izin dan cara menyetujui perintah sebelumnya dengan `allowed-tools`

3810* ``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)3853* ``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 sisipan dijalankan](https://code.claude.com/docs/id/skills.md#how-injected-commands-run)

3811 3854 

3812**Yang perlu dilakukan:**3855**Yang perlu dilakukan:**

3813 3856 


3960 4003 

3961* **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 atas4004* **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

3962* **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>`)``4005* **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>`)``

3963* **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 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`.4006* **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`.

3964 4007 

3965**Yang perlu dilakukan:**4008**Yang perlu dilakukan:**

3966 4009 

gateways.md +1 −1

Details

63* **Telemetri klien**: Claude Code menonaktifkan analitik klien terikat Anthropic ketika sesi masuk ke Claude apps gateway. Untuk menjaga analitik startup pra-masuk tetap mati juga, berikan [`DISABLE_TELEMETRY`](https://code.claude.com/docs/id/managed-settings#turn-telemetry-off-for-your-organization) dalam [pengaturan terkelola sisi klien](https://code.claude.com/docs/id/claude-apps-gateway-config.md#client-side-managed-settings) di setiap perangkat.63* **Telemetri klien**: Claude Code menonaktifkan analitik klien terikat Anthropic ketika sesi masuk ke Claude apps gateway. Untuk menjaga analitik startup pra-masuk tetap mati juga, berikan [`DISABLE_TELEMETRY`](https://code.claude.com/docs/id/managed-settings#turn-telemetry-off-for-your-organization) dalam [pengaturan terkelola sisi klien](https://code.claude.com/docs/id/claude-apps-gateway-config.md#client-side-managed-settings) di setiap perangkat.

64* **Telemetri klien di gateway lain**: apakah Claude Code mengirimkan aliran telemetri klien opsional tergantung pada penyedia Anda, dan [tabel default telemetri](https://code.claude.com/docs/id/data-usage.md#default-behaviors-by-api-provider) mencakup setiap kasus.64* **Telemetri klien di gateway lain**: apakah Claude Code mengirimkan aliran telemetri klien opsional tergantung pada penyedia Anda, dan [tabel default telemetri](https://code.claude.com/docs/id/data-usage.md#default-behaviors-by-api-provider) mencakup setiap kasus.

65* **Tujuan telemetri**: ke mana Claude Code mengirimkan telemetri sesi gateway tergantung pada cara sesi masuk, dan [What's enforced on developers](https://code.claude.com/docs/id/claude-apps-gateway#whats-enforced-on-developers) mengatakan ke mana ekspor setiap jenis sesi pergi.65* **Tujuan telemetri**: ke mana Claude Code mengirimkan telemetri sesi gateway tergantung pada cara sesi masuk, dan [What's enforced on developers](https://code.claude.com/docs/id/claude-apps-gateway#whats-enforced-on-developers) mengatakan ke mana ekspor setiap jenis sesi pergi.

66* **Proxy HTTP perusahaan**: `HTTPS_PROXY` berada di antara Claude Code dan setiap server yang dibicarakannya, termasuk gateway. Jika jaringan Anda memerlukan satu, [konfigurasikan proxy](https://code.claude.com/docs/id/network-config.md) selain gateway. Untuk Claude apps gateway yang Anda hosting, [masuk memeriksa bahwa host proxy juga berada di jaringan pribadi](https://code.claude.com/docs/id/claude-apps-gateway#prerequisites); jika tidak, tambahkan host gateway ke `NO_PROXY` sehingga CLI terhubung langsung ke sana.66* **Proxy HTTP perusahaan**: Claude Code mengirimkan permintaannya, termasuk permintaan ke gateway, melalui proxy di `HTTPS_PROXY`. Jika jaringan Anda memerlukan proxy, [konfigurasikan proxy tersebut](https://code.claude.com/docs/id/network-config.md). Jika proxy berlaku untuk Claude apps gateway yang Anda hosting, [proses masuk](https://code.claude.com/docs/id/claude-apps-gateway#prerequisites) memerlukan hostname proxy untuk di-resolve ke alamat pribadi, atau host gateway berada di `NO_PROXY`.

67 67 

68## Next steps68## Next steps

69 69 

Details

84> Buat aplikasi Microsoft Entra dengan kredensial terfederasi untuk repositori Anda, mengikuti [panduan Microsoft untuk mengautentikasi dari GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect):84> Buat aplikasi Microsoft Entra dengan kredensial terfederasi untuk repositori Anda, mengikuti [panduan Microsoft untuk mengautentikasi dari GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect):

85>85>

86> * Daftarkan aplikasi Microsoft Entra dan tambahkan kredensial identitas terfederasi yang mempercayai token yang dikeluarkan GitHub ke repositori Anda. Identitas terkelola yang ditetapkan pengguna berfungsi sebagai pengganti aplikasi. Keduanya memiliki ID klien yang Anda catat di bawah86> * Daftarkan aplikasi Microsoft Entra dan tambahkan kredensial identitas terfederasi yang mempercayai token yang dikeluarkan GitHub ke repositori Anda. Identitas terkelola yang ditetapkan pengguna berfungsi sebagai pengganti aplikasi. Keduanya memiliki ID klien yang Anda catat di bawah

87> * Tetapkan aplikasi peran `Azure AI User` pada sumber daya Foundry Anda. Lihat [konfigurasi Azure RBAC](https://code.claude.com/docs/id/microsoft-foundry.md#azure-rbac-configuration) untuk peran kustom yang lebih sempit87> * Tetapkan aplikasi peran `Foundry User` pada sumber daya Foundry Anda. Lihat [konfigurasi Azure RBAC](https://code.claude.com/docs/id/microsoft-foundry.md#azure-rbac-configuration) untuk peran bawaan lainnya dan peran kustom

88>88>

89> Catat ID klien aplikasi, ID penyewa Anda, dan ID langganan Anda. Anda menambahkannya sebagai rahasia di langkah berikutnya.89> Catat ID klien aplikasi, ID penyewa Anda, dan ID langganan Anda. Anda menambahkannya sebagai rahasia di langkah berikutnya.

90 90 

Details

228 228 

229### Ketika model dinonaktifkan di tengah sesi229### Ketika model dinonaktifkan di tengah sesi

230 230 

231Jika proyek Anda kehilangan akses ke model yang sesi Anda jalankan, misalnya karena administrator menonaktifkannya di [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden), Claude Code beralih sesi ke model lain alih-alih gagal pada setiap permintaan, dan menampilkan `Switched to <fallback> because <model> is not available`. Ia mencoba model yang sama seperti fallback startup: versi sebelumnya dari tier yang sama terlebih dahulu dan, untuk sesi Opus tanpa versi Opus yang tersedia, model Sonnet default.231Ketika Agent Platform menolak model sesi Anda karena tidak tersedia di proyek atau region Anda, Claude Code mengalihkan sesi Anda ke model lain, dan Anda dapat terus bekerja. Anda akan melihat pesan yang diawali dengan `Switched to <fallback> because <model> is not available`. Hal ini terjadi, misalnya, ketika administrator menonaktifkan model di [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) atau model tersebut tidak dilayani di region Anda.

232 232 

233Pengalihan hanya berlaku untuk tier yang belum Anda pinkan, kondisi yang sama seperti fallback startup. Sesi pada versi spesifik yang Anda pilih mempertahankan modelnya dan, tanpa rantai model fallback, permintaan gagal sebagai gantinya. Dalam [mode auto](https://code.claude.com/docs/id/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code hanya beralih ke model yang didukung mode auto di Agent Platform. Jika tidak ada model tersebut yang tersedia, permintaan gagal.233Jika Anda mengonfigurasi [rantai model fallback](https://code.claude.com/docs/id/model-config.md#fallback-model-chains), Claude Code beralih ke fallback yang Anda konfigurasi sebagai gantinya. Tanpa rantai, permintaan gagal dalam kasus-kasus seperti berikut:

234 234 

235[Rantai model fallback](https://code.claude.com/docs/id/model-config.md#fallback-model-chains) yang Anda konfigurasi menggantikan pengalihan tier: pada penolakan ini Claude Code beralih ke fallback yang Anda konfigurasi sebagai gantinya. Untuk membuat permintaan yang ditolak gagal daripada beralih, atur [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/id/env-vars). Rantai fallback yang Anda konfigurasi masih beralih pada penolakan ini; hapus rantai juga jika Anda ingin setiap permintaan yang ditolak gagal.235* Sesi Anda berjalan pada model yang dipinkan atau versi spesifik yang Anda pilih

236* Tidak ada satu pun dari [model yang dicoba Claude Code](#startup-model-checks) yang tersedia. Dalam [auto mode](https://code.claude.com/docs/id/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code hanya beralih ke model yang didukung auto mode di Agent Platform.

237 

238Untuk terus bekerja, jalankan `/model` di sesi dan tekan `s` pada model yang tersedia di proyek dan region Anda, yang membuat default Anda tidak berubah.

239 

240Untuk membuat permintaan yang ditolak gagal daripada beralih, atur [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/id/env-vars). Jika Anda mengonfigurasi rantai model fallback, hapus juga rantai tersebut, karena Claude Code tetap berpindah ke fallback tersebut.

236 241 

237## Konfigurasi IAM242## Konfigurasi IAM

238 243 

hooks.md +9 −3

Details

3000 3000 

3001Berjalan ketika file konfigurasi berubah selama sesi. Gunakan ini untuk mengaudit perubahan pengaturan, menegakkan kebijakan keamanan, atau memblokir modifikasi yang tidak sah pada file konfigurasi.3001Berjalan ketika file konfigurasi berubah selama sesi. Gunakan ini untuk mengaudit perubahan pengaturan, menegakkan kebijakan keamanan, atau memblokir modifikasi yang tidak sah pada file konfigurasi.

3002 3002 

3003Claude Code menjalankan hook ConfigChange ketika file pengaturan, file kebijakan terkelola, atau file skill berubah. Untuk kebijakan terkelola, Claude Code menjalankannya hanya ketika `managed-settings.json` atau file di `managed-settings.d/` berubah. Claude Code menerapkan [pengaturan yang dikelola server](https://code.claude.com/docs/id/server-managed-settings.md) dan perubahan pada preferensi terkelola macOS atau kebijakan registri Windows tanpa menjalankannya. Di WSL dengan [`wslInheritsWindowsSettings`](https://code.claude.com/docs/id/settings-reference#wslinheritswindowssettings), Claude Code juga menerapkan file pengaturan terkelola sisi Windows yang berubah pada polling kebijakannya tanpa menjalankannya.3003Claude Code menjalankan hook ConfigChange ketika file pengaturan, file kebijakan terkelola, atau file skill berubah. Untuk kebijakan terkelola, Claude Code menjalankannya hanya ketika `managed-settings.json` atau file di `managed-settings.d/` berubah.

3004 3004 

3005Matcher memfilter berdasarkan sumber konfigurasi:3005Matcher memfilter berdasarkan sumber konfigurasi:

3006 3006 


3012| `policy_settings` | `managed-settings.json` atau file di `managed-settings.d/` berubah |3012| `policy_settings` | `managed-settings.json` atau file di `managed-settings.d/` berubah |

3013| `skills` | File skill di `.claude/skills/` berubah |3013| `skills` | File skill di `.claude/skills/` berubah |

3014 3014 

3015Contoh ini mencatat semua perubahan konfigurasi untuk audit keamanan:3015Perubahan seperti berikut berlaku tanpa menjalankan hook:

3016 

3017* Aturan dan pengaturan yang Anda simpan dengan **Yes, and don't ask again**, `/permissions`, atau `/model`, di sesi tempat Anda menyimpannya. Jika sesi lain yang terbuka memuat file yang sama, hook dijalankan di sana.

3018* Pembaruan pada [pengaturan terkelola server](https://code.claude.com/docs/id/server-managed-settings.md), preferensi terkelola macOS, atau kebijakan registry Windows

3019* Di WSL dengan [`wslInheritsWindowsSettings`](https://code.claude.com/docs/id/settings-reference#wslinheritswindowssettings), file pengaturan terkelola sisi Windows yang berubah, yang diambil Claude Code pada polling kebijakannya

3020 

3021Contoh ini mencatat perubahan konfigurasi untuk audit keamanan:

3016 3022 

3017```json theme={null}3023```json theme={null}

3018{3024{


3335 "hooks": [3341 "hooks": [

3336 {3342 {

3337 "type": "command",3343 "type": "command",

3338 "command": "bash -c 'jq -r .worktree_path | xargs rm -rf'"3344 "command": "bash -c 'p=$(jq -er .worktree_path) && rm -rf -- \"$p\"'"

3339 }3345 }

3340 ]3346 ]

3341 }3347 }

hooks-guide.md +3 −3

Details

50 "PostToolUse": [50 "PostToolUse": [

51 {51 {

52 "matcher": "Edit|Write",52 "matcher": "Edit|Write",

53 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]53 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }]

54 }54 }

55 ],55 ],

56 "Notification": [56 "Notification": [


221 "hooks": [221 "hooks": [

222 {222 {

223 "type": "command",223 "type": "command",

224 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"224 "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\""

225 }225 }

226 ]226 ]

227 }227 }


336 336 

337Lacak ketika file pengaturan atau skills berubah selama sesi. Acara `ConfigChange` aktif ketika proses eksternal atau editor memodifikasi file konfigurasi, sehingga Anda dapat mencatat perubahan untuk kepatuhan atau memblokir modifikasi yang tidak sah.337Lacak ketika file pengaturan atau skills berubah selama sesi. Acara `ConfigChange` aktif ketika proses eksternal atau editor memodifikasi file konfigurasi, sehingga Anda dapat mencatat perubahan untuk kepatuhan atau memblokir modifikasi yang tidak sah.

338 338 

339Contoh ini menambahkan setiap perubahan ke log audit. Tambahkan ini ke `~/.claude/settings.json`:339Contoh ini menambahkan setiap acara ke log audit. Tambahkan ini ke `~/.claude/settings.json`:

340 340 

341```json theme={null}341```json theme={null}

342{342{

Details

32| `Ctrl+Z` | Jeda Claude Code | Unix saja. Menangguhkan proses ke shell Anda; jalankan `fg` untuk melanjutkan |32| `Ctrl+Z` | Jeda Claude Code | Unix saja. Menangguhkan proses ke shell Anda; jalankan `fg` untuk melanjutkan |

33| `Panah Kiri/Kanan` | Siklus melalui tab dialog | Navigasi antar tab dalam dialog izin dan menu. Dalam dialog bertab, kunci beralih tab sementara baris tab memiliki fokus. Lihat [Tindakan tab](https://code.claude.com/docs/id/keybindings.md#tabs-actions) untuk cara fokus bergerak |33| `Panah Kiri/Kanan` | Siklus melalui tab dialog | Navigasi antar tab dalam dialog izin dan menu. Dalam dialog bertab, kunci beralih tab sementara baris tab memiliki fokus. Lihat [Tindakan tab](https://code.claude.com/docs/id/keybindings.md#tabs-actions) untuk cara fokus bergerak |

34| `Tab` | Terima saran pelengkapan otomatis, atau tambahkan komentar ke jawaban izin | Saat saran pelengkapan otomatis ditampilkan dalam input prompt, menerima saran yang dipilih. Pada sebagian besar prompt izin, dengan **Ya** atau **Tidak** fokus, membuka bidang komentar pada opsi itu, dan menekannya lagi menutup bidang. Lihat [tambahkan komentar saat Anda menjawab prompt izin](https://code.claude.com/docs/id/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |34| `Tab` | Terima saran pelengkapan otomatis, atau tambahkan komentar ke jawaban izin | Saat saran pelengkapan otomatis ditampilkan dalam input prompt, menerima saran yang dipilih. Pada sebagian besar prompt izin, dengan **Ya** atau **Tidak** fokus, membuka bidang komentar pada opsi itu, dan menekannya lagi menutup bidang. Lihat [tambahkan komentar saat Anda menjawab prompt izin](https://code.claude.com/docs/id/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |

35| `Panah Atas/Bawah` atau `Ctrl+P`/`Ctrl+N` | Pindahkan kursor atau navigasi riwayat perintah | Ketika input mencakup lebih dari satu baris visual, baik dibungkus atau multiline, pertama kali memindahkan kursor dalam prompt. Setelah kursor berada di baris visual pertama atau terakhir, menekan lagi menavigasi riwayat perintah. Sementara Anda memiliki pesan antrian, `Atas` dari baris pertama malah [membawanya kembali](#take-back-what-you-queued) |35| `Panah Atas/Bawah` atau `Ctrl+P`/`Ctrl+N` | Pindahkan kursor atau navigasi riwayat perintah | Ketika input mencakup lebih dari satu baris visual, baik dibungkus atau multiline, pertama kali memindahkan kursor dalam prompt. Setelah kursor berada di baris visual pertama atau terakhir, menekan lagi menavigasi riwayat perintah. Sementara Anda memiliki pesan antrian, `Up` dari baris pertama malah [membawanya kembali](#take-back-what-you-queued) |

36| `Esc` | Interupsi Claude, atau tutup dialog | Hentikan respons atau panggilan alat saat ini di tengah giliran sehingga Anda dapat mengalihkan. Claude menyimpan pekerjaan yang dilakukan sejauh ini. Jika Anda memiliki [pesan antrian](#queue-messages-while-claude-works), Claude Code mengirimnya selanjutnya. Ketika dialog terbuka, `Esc` menutup dialog. Saat item footer dipilih, seperti baris di [panel subagen](https://code.claude.com/docs/id/sub-agents.md#run-subagents-in-foreground-or-background) di bawah prompt, `Esc` [membatalkan pilihannya](https://code.claude.com/docs/id/keybindings.md#footer-actions) alih-alih mengganggu. Pada prompt izin, `Esc` menolak tindakan, sama seperti [**Tidak** tanpa komentar](https://code.claude.com/docs/id/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |36| `Esc` | Interupsi Claude, atau tutup dialog | Hentikan respons atau panggilan alat saat ini di tengah giliran sehingga Anda dapat mengalihkan. Claude menyimpan pekerjaan yang dilakukan sejauh ini. Jika Anda memiliki [pesan antrian](#queue-messages-while-claude-works), Claude Code mengirimnya selanjutnya. Ketika dialog terbuka, `Esc` menutup dialog. Saat item footer dipilih, seperti baris di [panel subagen](https://code.claude.com/docs/id/sub-agents.md#run-subagents-in-foreground-or-background) di bawah prompt, `Esc` [membatalkan pilihannya](https://code.claude.com/docs/id/keybindings.md#footer-actions) alih-alih mengganggu. Pada prompt izin, `Esc` menolak tindakan, sama seperti [**Tidak** tanpa komentar](https://code.claude.com/docs/id/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |

37| `Esc` + `Esc` | Hapus draf input, atau putar ulang | Ketika input prompt berisi teks, `Esc` ganda menghapusnya dan menyimpan draf ke riwayat sehingga `Atas` mengingatnya. Ketika input kosong, `Esc` ganda membuka [menu putar ulang](https://code.claude.com/docs/id/checkpointing.md) untuk memulihkan atau merangkum kode dan percakapan dari titik sebelumnya |37| `Esc` + `Esc` | Hapus draf input, atau putar ulang | Ketika input prompt berisi teks, `Esc` ganda menghapusnya dan menyimpan draf ke riwayat sehingga `Up` mengingatnya. Ketika input kosong, `Esc` ganda membuka [menu putar ulang](https://code.claude.com/docs/id/checkpointing.md) untuk memulihkan atau merangkum kode dan percakapan dari titik sebelumnya |

38| `Ctrl+Enter` atau `Ctrl+X Ctrl+S` | Kirim pesan antrian sekarang | Mengirim [pesan antrian](#queue-messages-while-claude-works) Anda, dan draf Anda bersama mereka, keluar segera. [Ketika Claude Code mengirim apa yang Anda antrekan](#when-claude-code-sends-what-you-queued) mencakup apa yang terjadi pada giliran yang sedang dikerjakan Claude. Dalam [mode shell](#shell-mode-with-prefix), kunci hanya mengantrekan perintah Anda. Di terminal yang tidak melaporkan kunci diperluas, `Ctrl+Enter` tiba sebagai `Enter` biasa; `Ctrl+X Ctrl+S` bekerja di terminal apa pun. Memerlukan Claude Code v2.1.275 atau yang lebih baru |38| `Ctrl+Enter` atau `Ctrl+X Ctrl+S` | Kirim pesan antrian sekarang | Mengirim [pesan antrian](#queue-messages-while-claude-works) Anda, dan draf Anda bersama mereka, keluar segera. [Ketika Claude Code mengirim apa yang Anda antrekan](#when-claude-code-sends-what-you-queued) mencakup apa yang terjadi pada giliran yang sedang dikerjakan Claude. Dalam [mode shell](#shell-mode-with-prefix), kunci hanya mengantrekan perintah Anda. Di terminal yang tidak melaporkan kunci diperluas, `Ctrl+Enter` tiba sebagai `Enter` biasa; `Ctrl+X Ctrl+S` bekerja di terminal apa pun. Memerlukan Claude Code v2.1.275 atau yang lebih baru |

39| `Shift+Tab`, atau `Alt+M` di Windows ketika runtime Node atau Bun tidak mengaktifkan mode input VT | Mode izin siklus | Siklus melalui `default` (berlabel Manual dalam indikator mode), `acceptEdits`, `plan`, dan, ketika tersedia, `bypassPermissions` dan kemudian `auto`. Dari `auto`, tekan pertama beralih ke `default`. Lihat [mode izin](https://code.claude.com/docs/id/permission-modes.md). Pada prompt izin file, kunci yang sama menutup [bidang komentar](https://code.claude.com/docs/id/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) yang terbuka. Tanpa bidang terbuka, ini memilih opsi yang memungkinkan tindakan untuk sisa sesi, ketika prompt menawarkan opsi itu |39| `Shift+Tab`, atau `Alt+M` di Windows ketika runtime Node atau Bun tidak mengaktifkan mode input VT | Siklus mode izin | Siklus melalui `default` (berlabel Manual dalam indikator mode), `acceptEdits`, dan `plan`, lalu `bypassPermissions` dan `auto` jika tersedia. Lihat [mode izin](https://code.claude.com/docs/id/permission-modes.md). Pada permintaan izin file, tombol yang sama menutup [bidang komentar](https://code.claude.com/docs/id/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) yang terbuka. Tanpa bidang terbuka, ini memilih opsi yang mengizinkan tindakan untuk sisa sesi, ketika permintaan tersebut menawarkan opsi itu. Pada permintaan persetujuan rencana, ini menyetujui rencana |

40| `Option+P` (macOS) atau `Alt+P` (Windows/Linux) | Model switch | Alihkan model tanpa menghapus prompt Anda |40| `Option+P` (macOS) atau `Alt+P` (Windows/Linux) | Model switch | Alihkan model tanpa menghapus prompt Anda |

41| `Option+T` (macOS) atau `Alt+T` (Windows/Linux) | Alihkan extended thinking | Aktifkan atau nonaktifkan mode extended thinking. Tidak berpengaruh pada Opus 5.5, Sonnet 5.5, Haiku 5.5, atau model Fable, yang selalu menggunakan extended thinking. Bekerja di macOS tanpa mengonfigurasi Option sebagai Meta |41| `Option+T` (macOS) atau `Alt+T` (Windows/Linux) | Alihkan extended thinking | Aktifkan atau nonaktifkan mode extended thinking. Tidak berpengaruh pada Opus 5.5, Sonnet 5.5, Haiku 5.5, atau model Fable, yang selalu menggunakan extended thinking. Bekerja di macOS tanpa mengonfigurasi Option sebagai Meta |

42| `Option+O` (macOS) atau `Alt+O` (Windows/Linux) | Alihkan mode cepat | Aktifkan atau nonaktifkan [mode cepat](https://code.claude.com/docs/id/fast-mode.md) |42| `Option+O` (macOS) atau `Alt+O` (Windows/Linux) | Alihkan mode cepat | Aktifkan atau nonaktifkan [mode cepat](https://code.claude.com/docs/id/fast-mode.md) |


81| :- | :- | :- |81| :- | :- | :- |

82| Escape cepat | `\` + `Enter` | Bekerja di semua terminal |82| Escape cepat | `\` + `Enter` | Bekerja di semua terminal |

83| Tombol Option | `Option+Enter` | Setelah mengaktifkan [Option sebagai Meta](https://code.claude.com/docs/id/terminal-config.md#enable-option-key-shortcuts-on-macos) di macOS |83| Tombol Option | `Option+Enter` | Setelah mengaktifkan [Option sebagai Meta](https://code.claude.com/docs/id/terminal-config.md#enable-option-key-shortcuts-on-macos) di macOS |

84| Shift+Enter | `Shift+Enter` | Asli di iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal. Untuk terminal lain, lihat [Masukkan prompt multiline](https://code.claude.com/docs/id/terminal-config.md#enter-multiline-prompts) |84| Shift+Enter | `Shift+Enter` | Asli di iTerm2, WezTerm, Ghostty, Kitty, Warp, Windows Terminal. Untuk terminal lain, lihat [Masukkan prompt multiline](https://code.claude.com/docs/id/terminal-config.md#enter-multiline-prompts) |

85| Urutan kontrol | `Ctrl+J` | Bekerja di terminal apa pun tanpa konfigurasi |85| Urutan kontrol | `Ctrl+J` | Bekerja di terminal apa pun tanpa konfigurasi |

86| Mode tempel | Tempel langsung | Untuk blok kode, log |86| Mode tempel | Tempel langsung | Untuk blok kode, log |

87 87 


137 137 

138Aktifkan pengeditan gaya vim melalui `/config` → Editor mode.138Aktifkan pengeditan gaya vim melalui `/config` → Editor mode.

139 139 

140Claude Code menyimpan mode vim dan posisi kursor Anda saat Anda mengalihkan [penampil transkrip](#transcript-viewer) dengan `Ctrl+O` atau membuka dan menutup panel seperti `/config`. Jika Anda meninggalkan prompt dalam mode NORMAL, mode tersebut masih dalam mode NORMAL saat Anda kembali, dengan kursor di tempat Anda meninggalkannya.

141 

142### Pengalihan mode140### Pengalihan mode

143 141 

144| Perintah | Tindakan | Dari mode |142| Perintah | Tindakan | Dari mode |


302 * Tekan `Ctrl+C` untuk membatalkan dan mengembalikan input asli Anda300 * Tekan `Ctrl+C` untuk membatalkan dan mengembalikan input asli Anda

303 * Tekan `Backspace` pada pencarian kosong untuk membatalkan301 * Tekan `Backspace` pada pencarian kosong untuk membatalkan

304 302 

305Menerima kecocokan atau membatalkan pencarian berlaku segera, bahkan saat Claude Code masih memuat riwayat.

306 

307Untuk menemukan prompt sebelumnya ketika yang Anda ingat hanyalah sesuatu yang panjang yang Anda tempelkan ke dalamnya, seperti log error, tekan `Ctrl+R` dan ketik sebuah kata dari tempelan tersebut. Memerlukan Claude Code v2.1.314 atau yang lebih baru.303Untuk menemukan prompt sebelumnya ketika yang Anda ingat hanyalah sesuatu yang panjang yang Anda tempelkan ke dalamnya, seperti log error, tekan `Ctrl+R` dan ketik sebuah kata dari tempelan tersebut. Memerlukan Claude Code v2.1.314 atau yang lebih baru.

308 304 

309## Perintah Bash latar belakang305## Perintah Bash latar belakang


524 520 

525Untuk mematikan fitur ini, atur [`emojiCompletionEnabled`](https://code.claude.com/docs/id/settings-reference#emojicompletionenabled) ke `false` dalam `settings.json`. Ini menonaktifkan popup saran dan penggantian inline.521Untuk mematikan fitur ini, atur [`emojiCompletionEnabled`](https://code.claude.com/docs/id/settings-reference#emojicompletionenabled) ke `false` dalam `settings.json`. Ini menonaktifkan popup saran dan penggantian inline.

526 522 

527## Periksa ejaan saat Anda mengetik523## Memeriksa ejaan saat Anda mengetik

528 524 

529Claude Code dapat menggarisbawahi kata-kata yang salah eja dalam input prompt saat Anda mengetik. Ini hanya memeriksa teks dalam kotak input, tidak pernah balasan Claude atau file Anda. Ini juga tidak memeriksa apa pun saat kotak input berada dalam [mode shell](#shell-mode-with-prefix), pencarian riwayat `Ctrl+R`, atau [dikte suara](https://code.claude.com/docs/id/voice-dictation.md).525Claude Code dapat menggarisbawahi kata yang salah eja di input prompt saat Anda mengetik. Claude Code hanya memeriksa teks di kotak input, tidak pernah balasan Claude atau file Anda. Claude Code juga tidak memeriksa apa pun saat kotak input berada dalam [mode shell](#shell-mode-with-prefix), pencarian riwayat `Ctrl+R`, atau [dikte suara](https://code.claude.com/docs/id/voice-dictation.md).

530 526 

531Pemeriksaan ejaan dimatikan secara default, dan Claude Code tidak memeriksa apa pun dalam [mode pembaca layar](https://code.claude.com/docs/id/accessibility.md). Memerlukan Claude Code v2.1.235 atau lebih baru.527Pemeriksaan ejaan nonaktif secara default, dan Claude Code tidak memeriksa apa pun dalam [mode pembaca layar](https://code.claude.com/docs/id/accessibility.md). Memerlukan Claude Code v2.1.235 atau yang lebih baru.

532 528 

533### Prasyarat529### Prasyarat

534 530 

535* Instal [aspell](https://github.com/GNUAspell/aspell), [hunspell](https://github.com/hunspell/hunspell), atau [ispell](https://en.wikipedia.org/wiki/Ispell) dan pastikan berada di `PATH` Anda. Claude Code menjalankan yang pertama dari ketiga program yang ditemukannya, dalam urutan itu, di setiap platform, termasuk shim `.cmd` yang diinstal pengelola paket di Windows.531* Instal [aspell](https://github.com/GNUAspell/aspell), [hunspell](https://github.com/hunspell/hunspell), atau [ispell](https://en.wikipedia.org/wiki/Ispell) dan pastikan program tersebut ada di `PATH` Anda. Claude Code menjalankan program pertama dari ketiganya yang ditemukannya, sesuai urutan tersebut, di setiap platform, termasuk shim `.cmd` yang dipasang oleh package manager di Windows.

536* Untuk memeriksa bahwa program berada di `PATH` Anda, jalankan `aspell --version`, `hunspell --version`, atau `ispell -v` di terminal Anda. Kesalahan "command not found" berarti belum berada di `PATH` Anda.532* Untuk memeriksa bahwa program tersebut ada di `PATH` Anda, jalankan `aspell --version`, `hunspell --version`, atau `ispell -v` di terminal Anda. Error "command not found" berarti program tersebut belum ada di `PATH` Anda.

537 533 

538### Nyalakan atau matikan pemeriksaan ejaan534### Mengaktifkan atau menonaktifkan pemeriksaan ejaan

539 535 

540Claude Code membaca pengaturan [`spellcheck`](https://code.claude.com/docs/id/settings-reference#spellcheck) dari tiga tempat, dan mengabaikannya di `.claude/settings.json` dan `.claude/settings.local.json` proyek. Nyalakan dari mana pun yang Anda gunakan:536Claude Code membaca pengaturan [`spellcheck`](https://code.claude.com/docs/id/settings-reference#spellcheck) dari tiga tempat, dan mengabaikannya di `.claude/settings.json` dan `.claude/settings.local.json` milik proyek. Aktifkan dari tempat mana pun yang Anda gunakan:

541 537 

542> [tab] Pengaturan pengguna538> [tab] Pengaturan pengguna

543>539>

544> Tambahkan `spellcheck` ke `~/.claude/settings.json`. Ini berlaku di setiap proyek yang Anda buka, seperti sisa [pengaturan pengguna](https://code.claude.com/docs/id/settings.md#where-settings-live) Anda:540> Tambahkan `spellcheck` ke `~/.claude/settings.json`. Pengaturan ini berlaku di setiap proyek yang Anda buka, seperti [pengaturan pengguna](https://code.claude.com/docs/id/settings.md#where-settings-live) Anda lainnya:

545>541>

546> ```json theme={null}542> ```json theme={null}

547> {543> {


559> }555> }

560> ```556> ```

561>557>

562> Kemudian teruskan file ke `--settings`. Ini berlaku untuk sesi itu saja:558> Kemudian berikan file tersebut ke `--settings`. Pengaturan ini hanya berlaku untuk sesi tersebut:

563>559>

564> ```bash theme={null}560> ```bash theme={null}

565> claude --settings spellcheck.json561> claude --settings spellcheck.json


567 563 

568> [tab] Pengaturan terkelola564> [tab] Pengaturan terkelola

569>565>

570> Tambahkan `spellcheck` ke salah satu [sumber pengaturan terkelola](https://code.claude.com/docs/id/permissions.md#managed-settings) organisasi Anda. Ini berlaku untuk setiap pengguna yang menerima pengaturan tersebut, dan mereka tidak dapat mematikannya:566> Tambahkan `spellcheck` ke salah satu [sumber pengaturan terkelola](https://code.claude.com/docs/id/permissions.md#managed-settings) organisasi Anda. Pengaturan ini berlaku untuk setiap pengguna yang menerima pengaturan tersebut, dan mereka tidak dapat menonaktifkannya:

571>567>

572> ```json theme={null}568> ```json theme={null}

573> {569> {


575> }571> }

576> ```572> ```

577 573 

578Untuk memeriksa bahwa pemeriksaan ejaan aktif, ketik kata yang salah eja dan spasi. Claude Code menggarisbawahi kata tersebut. Jika tidak, lihat [Ketika Claude Code tidak menggarisbawahi apa pun](#when-claude-code-underlines-nothing). Untuk mematikan pemeriksaan ejaan lagi, atur `enabled` ke `false` di tempat yang sama, atau hapus `spellcheck`.574Untuk memeriksa bahwa pemeriksaan ejaan aktif, ketik kata yang salah eja dan sebuah spasi. Claude Code akan menggarisbawahi kata tersebut. Jika tidak, lihat [Saat Claude Code tidak menggarisbawahi apa pun](#when-claude-code-underlines-nothing). Untuk menonaktifkan pemeriksaan ejaan lagi, atur `enabled` ke `false` di tempat yang sama, atau hapus `spellcheck`.

579 575 

580Untuk memilih program mana dari ketiga program yang Claude Code jalankan, kamus mana yang digunakan, atau warna garis bawah, tambahkan salah satu dari bidang ini di sebelah `enabled`, di tempat yang sama:576Untuk memilih program mana dari ketiganya yang dijalankan Claude Code, kamus mana yang digunakannya, atau warna garis bawah, tambahkan salah satu dari field berikut di samping `enabled`, di tempat yang sama:

581 577 

582* `checker`: `aspell`, `hunspell`, atau `ispell`. Claude Code tidak kembali dari pemeriksa yang Anda beri nama, dan memperlakukan nilai apa pun sebagai `auto`.578* `checker`: `aspell`, `hunspell`, atau `ispell`. Claude Code tidak beralih ke pemeriksa lain jika pemeriksa yang Anda sebutkan tidak tersedia, dan memperlakukan nilai apa pun selain ketiga nilai tersebut sebagai `auto`.

583* `language`: nama kamus dalam bentuk pemeriksa Anda, seperti `en_GB`. Claude Code mengabaikan nilai apa pun yang bukan nama kamus biasa, seperti jalur atau nama dengan spasi, dan pemeriksa menggunakan kamus defaultnya.579* `language`: nama kamus dalam format pemeriksa Anda, seperti `en_GB`. Claude Code mengabaikan nilai apa pun yang bukan nama kamus biasa, seperti path atau nama yang mengandung spasi, dan pemeriksa akan menggunakan kamus default-nya.

584* `color`: nama warna seperti `yellow`, atau nilai `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)`, atau `ansi:<name>`. Claude Code menggunakan warna kesalahan tema Anda secara default dan untuk nilai apa pun yang tidak dikenalinya.580* `color`: nama warna seperti `yellow`, atau nilai `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)`, atau `ansi:<name>`. Claude Code menggunakan warna error tema Anda secara default dan untuk nilai apa pun yang tidak dikenalinya.

585 581 

586Sebagai contoh, pengaturan `spellcheck` ini menjalankan hunspell dengan kamus `en_GB` dan menggarisbawahi kata-kata dalam warna kuning. Ini bekerja sama di `~/.claude/settings.json`, dalam file yang Anda teruskan ke `--settings`, dan dalam pengaturan terkelola:582Sebagai contoh, pengaturan `spellcheck` ini menjalankan hunspell dengan kamus `en_GB`-nya dan menggarisbawahi kata dengan warna kuning. Pengaturan ini bekerja dengan cara yang sama di `~/.claude/settings.json`, di file yang Anda berikan ke `--settings`, dan di pengaturan terkelola:

587 583 

588```json theme={null}584```json theme={null}

589{585{


596}592}

597```593```

598 594 

599Jika lebih dari satu dari tiga tempat memiliki pengaturan `spellcheck`, Claude Code hanya menggunakan satu dari mereka: pengaturan terkelola terlebih dahulu, kemudian `--settings`, kemudian pengaturan pengguna. Ini tidak menggabungkan bidang dari dua tempat. Sebagai contoh, ketika `--settings` menetapkan `spellcheck`, `language` dalam pengaturan pengguna Anda tidak berpengaruh.595Jika lebih dari satu dari ketiga tempat tersebut memiliki pengaturan `spellcheck`, Claude Code hanya menggunakan salah satunya: pengaturan terkelola terlebih dahulu, kemudian `--settings`, kemudian pengaturan pengguna. Claude Code tidak menggabungkan field dari dua tempat. Sebagai contoh, saat `--settings` mengatur `spellcheck`, `language` di pengaturan pengguna Anda tidak berpengaruh.

600 596 

601### Apa yang Claude Code garisbawahi597### Apa yang digarisbawahi Claude Code

602 598 

603Tidak lama setelah Anda berhenti mengetik, Claude Code menggarisbawahi kata-kata yang tidak diketahui kamus. Ini membiarkan kata yang masih Anda ketik sendirian sampai Anda melewatinya, dan tidak pernah mengubah teks Anda. Ini juga melewati teks yang terlihat seperti kode:599Sesaat setelah Anda berhenti mengetik, Claude Code menggarisbawahi kata-kata yang tidak dikenal oleh kamus. Claude Code membiarkan kata yang masih Anda ketik sampai Anda melewatinya. Claude Code juga melewati teks yang terlihat seperti kode:

604 600 

605* Perintah seperti `/help`, penyebutan `@`, URL, jalur file, dan bendera seperti `--verbose`601* Perintah seperti `/help`, mention `@`, URL, path file, dan flag seperti `--verbose`

606* Kata-kata dengan digit, garis bawah, atau huruf besar setelah yang pertama, dan teks dalam backtick602* Kata yang mengandung angka, garis bawah, atau huruf kapital setelah huruf pertama, serta teks di dalam backtick

607 603 

608Claude Code juga melewati teks Cina, Jepang, Korea, Thai, Lao, Khmer, dan Myanmar.604Claude Code juga melewati teks bahasa Tionghoa, Jepang, Korea, Thai, Lao, Khmer, dan Myanmar.

609 605 

610Claude Code tidak memiliki daftar kata sendiri: sebuah kata salah eja ketika pemeriksa Anda mengatakan demikian. Untuk menghentikan Claude Code dari menggarisbawahi sebuah kata, tambahkan kata tersebut ke kamus pribadi pemeriksa Anda, mengikuti dokumentasi pemeriksa sendiri. Claude Code mengambil kata baru setelah Anda memulainya ulang.606Claude Code tidak memiliki daftar kata sendiri: sebuah kata dianggap salah eja jika pemeriksa Anda menyatakannya demikian. Untuk menghentikan Claude Code menggarisbawahi sebuah kata, tambahkan kata tersebut ke kamus pribadi pemeriksa Anda, dengan mengikuti dokumentasi pemeriksa tersebut. Claude Code akan mengenali kata baru tersebut setelah Anda memulai ulang Claude Code.

611 607 

612### Ketika Claude Code tidak menggarisbawahi apa pun608### Saat Claude Code tidak menggarisbawahi apa pun

613 609 

614Claude Code tidak menggarisbawahi apa pun ketika tidak dapat menjaga pemeriksa tetap berjalan:610Claude Code tidak menggarisbawahi apa pun saat tidak dapat menjaga pemeriksa tetap berjalan:

615 611 

616* Tidak ada pemeriksa yang diinstal, atau yang Anda beri nama dalam `checker` hilang612* Tidak ada pemeriksa yang terinstal, atau pemeriksa yang Anda sebutkan di `checker` tidak ada

617* Pemeriksa gagal dua kali berturut-turut, saat startup atau nanti dalam sesi. Claude Code memulainya ulang setelah kegagalan pertama dan berhenti memeriksa setelah yang kedua, sampai Anda memulai ulang Claude Code613* Pemeriksa gagal dua kali berturut-turut, saat startup atau kemudian dalam sesi. Claude Code memulai ulang pemeriksa setelah kegagalan pertama dan berhenti memeriksa setelah kegagalan kedua, hingga Anda memulai ulang Claude Code

618* Pemeriksa membutuhkan waktu lebih dari 15 detik untuk menjawab, tiga kali. Setiap kali, Claude Code membiarkan kata-kata yang ditungguinya tidak ditandai; setelah yang ketiga, berhenti memeriksa sampai Anda memulai ulang Claude Code614* Pemeriksa membutuhkan lebih dari 15 detik untuk menjawab, sebanyak tiga kali. Setiap kali, Claude Code membiarkan kata-kata yang sedang ditunggunya tanpa tanda; setelah kali ketiga, Claude Code berhenti memeriksa hingga Anda memulai ulang Claude Code

619 615 

620Untuk mengetahui mana dari ini yang terjadi, mulai `claude --debug` dengan pemeriksaan ejaan aktif dan ketik sebuah kata. Kemudian cari baris `[spellcheck]` dalam log debug di `~/.claude/debug/<session-id>.txt`. Satu baris menamai program yang dimulai Claude Code, atau mencantumkan yang dicarinya dan tidak ditemukan. Baris-baris kemudian mengatakan mengapa berhenti. Kesalahan kamus yang hilang di sana berarti pemeriksa tidak memiliki kamus untuk nilai `language` Anda, atau tidak ada default ketika `language` tidak diatur. Instal satu, atau atur `language` ke kamus yang Anda miliki.616Untuk mengetahui mana yang terjadi, jalankan `claude --debug` dengan pemeriksaan ejaan aktif dan ketik sebuah kata. Kemudian cari baris `[spellcheck]` di log debug di `~/.claude/debug/<session-id>.txt`. Satu baris menyebutkan program yang dijalankan Claude Code, atau mencantumkan program yang dicarinya dan tidak ditemukan. Baris-baris berikutnya menyebutkan alasan pemeriksaan berhenti. Error kamus tidak ditemukan di sana berarti pemeriksa tidak memiliki kamus untuk nilai `language` Anda, atau tidak memiliki kamus default saat `language` tidak diatur. Instal kamus, atau atur `language` ke kamus yang Anda miliki.

621 617 

622## Karakter tak terlihat dalam prompt618## Karakter tak terlihat dalam prompt

623 619 

keybindings.md +6 −1

Details

581 581 

582Claude Code mengikat chord default ini pada awalan `ctrl+x`, berdasarkan konteks:582Claude Code mengikat chord default ini pada awalan `ctrl+x`, berdasarkan konteks:

583 583 

584* `Chat`: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s`, dan `ctrl+x tab`584* `Chat`: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s`, `ctrl+x tab`, `ctrl+x ctrl+=`, `ctrl+x ctrl+-`, `ctrl+x ctrl+_`, `ctrl+x =`, dan `ctrl+x -`

585* `Task`: `ctrl+x ctrl+b`585* `Task`: `ctrl+x ctrl+b`

586* `DiffPanel`: `ctrl+x b`586* `DiffPanel`: `ctrl+x b`

587* `Pane`: `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down`, dan `ctrl+x x`587* `Pane`: `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down`, dan `ctrl+x x`


631 "ctrl+x ctrl+a": null,631 "ctrl+x ctrl+a": null,

632 "ctrl+x ctrl+s": null,632 "ctrl+x ctrl+s": null,

633 "ctrl+x tab": null,633 "ctrl+x tab": null,

634 "ctrl+x ctrl+=": null,

635 "ctrl+x ctrl+-": null,

636 "ctrl+x ctrl+_": null,

637 "ctrl+x =": null,

638 "ctrl+x -": null,

634 "ctrl+x": "chat:newline"639 "ctrl+x": "chat:newline"

635 }640 }

636 }641 }

Details

156 156 

157### Konflik dengan login yang ada157### Konflik dengan login yang ada

158 158 

159Variabel kredensial gateway diutamakan daripada login claude.ai yang disimpan atau kunci Console. Dengan `ANTHROPIC_AUTH_TOKEN`, variabel langsung diutamakan. Dengan `ANTHROPIC_API_KEY`, Anda diminta sekali dalam mode interaktif untuk menyetujui kunci sebelum kunci tersebut diutamakan.159Permintaan Anda menggunakan variabel kredensial gateway, bukan login claude.ai yang disimpan. Dengan `ANTHROPIC_AUTH_TOKEN`, variabel langsung diutamakan. Dengan `ANTHROPIC_API_KEY`, Anda diminta sekali dalam mode interaktif untuk menyetujui kunci sebelum kunci tersebut mulai digunakan.

160 160 

161Jalankan `/status` untuk mengonfirmasi sumber kredensial mana yang aktif. Jika startup menampilkan peringatan konflik auth yang menamai dua sumber, lihat baris pertama [tabel pemecahan masalah](#troubleshoot-gateway-errors) untuk mengetahui mana yang harus dihapus. Untuk menghapus login yang disimpan sehingga hanya kredensial gateway yang tersisa, jalankan `/logout`.161Jalankan `/status` untuk mengonfirmasi sumber kredensial mana yang aktif. Jika startup menampilkan peringatan konflik auth yang menamai dua sumber, lihat baris pertama [tabel pemecahan masalah](#troubleshoot-gateway-errors) untuk mengetahui mana yang harus dihapus. Untuk menghapus login yang disimpan sehingga hanya kredensial gateway yang tersisa, jalankan `/logout`.

162 162 


506 506 

507| Kesalahan | Penyebab | Perbaikan |507| Kesalahan | Penyebab | Perbaikan |

508| :- | :- | :- |508| :- | :- | :- |

509| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif; variabel digunakan untuk permintaan, tetapi login basi dapat menyebabkan perilaku auth yang tidak terduga | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway |509| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway |

510| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut |510| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut |

511| `Your apiKeyHelper script is failing`, atau `apiKeyHelper failed:` pada stderr dalam mode non-interaktif | Perintah dalam pengaturan [`apiKeyHelper`](https://code.claude.com/docs/id/settings-reference#apikeyhelper) tidak menghasilkan kunci yang dapat digunakan, sehingga permintaan membawa kunci placeholder | Jalankan perintah secara langsung untuk melihat mengapa itu gagal, dan autentikasi ulang dengan penyedia kredensial Anda jika itu melaporkan sesi yang kedaluwarsa; lihat [referensi kesalahan](https://code.claude.com/docs/id/errors.md#your-apikeyhelper-script-is-failing) |511| `Your apiKeyHelper script is failing`, atau `apiKeyHelper failed:` pada stderr dalam mode non-interaktif | Perintah dalam pengaturan [`apiKeyHelper`](https://code.claude.com/docs/id/settings-reference#apikeyhelper) tidak menghasilkan kunci yang dapat digunakan, sehingga permintaan membawa kunci placeholder | Jalankan perintah secara langsung untuk melihat mengapa itu gagal, dan autentikasi ulang dengan penyedia kredensial Anda jika itu melaporkan sesi yang kedaluwarsa; lihat [referensi kesalahan](https://code.claude.com/docs/id/errors.md#your-apikeyhelper-script-is-failing) |

512| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` ketika tidak ada yang menjawab di alamat, atau `Can't reach the API server — check your internet or DNS (ENOTFOUND)` ketika hostname tidak terselesaikan, sering setelah jeda senyap sementara Claude Code [mencoba ulang dengan backoff](https://code.claude.com/docs/id/errors.md#automatic-retries). Kode dalam tanda kurung bervariasi; [Unable to connect to API](https://code.claude.com/docs/id/errors.md#unable-to-connect-to-api) mencakup ejaan kode dan kata-kata sebelumnya | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda |512| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` ketika tidak ada yang menjawab di alamat, atau `Can't reach the API server — check your internet or DNS (ENOTFOUND)` ketika hostname tidak terselesaikan, sering setelah jeda senyap sementara Claude Code [mencoba ulang dengan backoff](https://code.claude.com/docs/id/errors.md#automatic-retries). Kode dalam tanda kurung bervariasi; [Unable to connect to API](https://code.claude.com/docs/id/errors.md#unable-to-connect-to-api) mencakup ejaan kode dan kata-kata sebelumnya | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda |


520| `/fast` melaporkan `Fast mode unavailable due to network connectivity issues` sementara permintaan inference bekerja | Pemeriksaan ketersediaan [fast mode](https://code.claude.com/docs/id/fast-mode.md) berjalan langsung ke `api.anthropic.com` dan tidak mengikuti `ANTHROPIC_BASE_URL`, jadi egress langsung yang diblokir gagal pemeriksaan | Tambahkan `api.anthropic.com` ke allowlist jika egress diblokir, atau atur variabel skip. Lihat [gunakan fast mode di belakang proxy dan LLM gateway](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |520| `/fast` melaporkan `Fast mode unavailable due to network connectivity issues` sementara permintaan inference bekerja | Pemeriksaan ketersediaan [fast mode](https://code.claude.com/docs/id/fast-mode.md) berjalan langsung ke `api.anthropic.com` dan tidak mengikuti `ANTHROPIC_BASE_URL`, jadi egress langsung yang diblokir gagal pemeriksaan | Tambahkan `api.anthropic.com` ke allowlist jika egress diblokir, atau atur variabel skip. Lihat [gunakan fast mode di belakang proxy dan LLM gateway](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

521| `/fast` melaporkan `Fast mode is currently unavailable` dalam sesi yang diautentikasi dengan kunci yang dikeluarkan gateway di `ANTHROPIC_API_KEY` | Selama `ANTHROPIC_BASE_URL` mengarah ke gateway Anda dan kunci tidak berformat kunci API Anthropic, Claude Code tidak mengirim pemeriksaan ketersediaan [fast mode](https://code.claude.com/docs/id/fast-mode.md). Tanpa pemeriksaan berhasil sebelumnya yang tersimpan di cache, Claude Code memperlakukan fast mode sebagai tidak tersedia | Atur `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1`; lihat [gunakan fast mode di belakang proxy dan LLM gateway](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |521| `/fast` melaporkan `Fast mode is currently unavailable` dalam sesi yang diautentikasi dengan kunci yang dikeluarkan gateway di `ANTHROPIC_API_KEY` | Selama `ANTHROPIC_BASE_URL` mengarah ke gateway Anda dan kunci tidak berformat kunci API Anthropic, Claude Code tidak mengirim pemeriksaan ketersediaan [fast mode](https://code.claude.com/docs/id/fast-mode.md). Tanpa pemeriksaan berhasil sebelumnya yang tersimpan di cache, Claude Code memperlakukan fast mode sebagai tidak tersedia | Atur `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1`; lihat [gunakan fast mode di belakang proxy dan LLM gateway](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

522| `/fast` melaporkan `Fast mode has been disabled by your organization` dalam sesi yang diautentikasi dengan `ANTHROPIC_AUTH_TOKEN`, meskipun organisasi memiliki fast mode yang diaktifkan | Pemeriksaan ketersediaan memerlukan login claude.ai atau kunci API; dengan hanya token bearer, Claude Code memperlakukan fast mode sebagai dinonaktifkan tanpa mengirim pemeriksaan | Atur `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`; lihat [gunakan fast mode di belakang proxy dan LLM gateway](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |522| `/fast` melaporkan `Fast mode has been disabled by your organization` dalam sesi yang diautentikasi dengan `ANTHROPIC_AUTH_TOKEN`, meskipun organisasi memiliki fast mode yang diaktifkan | Pemeriksaan ketersediaan memerlukan login claude.ai atau kunci API; dengan hanya token bearer, Claude Code memperlakukan fast mode sebagai dinonaktifkan tanpa mengirim pemeriksaan | Atur `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`; lihat [gunakan fast mode di belakang proxy dan LLM gateway](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

523| `/feedback` menyimpan file lokal dalam sesi yang menggunakan `ANTHROPIC_BASE_URL` | Di belakang gateway, `ANTHROPIC_AUTH_TOKEN` dan kunci yang tidak berformat kunci API Anthropic bukanlah kredensial Anthropic. Tanpa kredensial tersebut, Claude Code menulis laporan ke arsip lokal di bawah `~/.claude/feedback-bundles/` alih-alih mengirimkannya | Kirim file tersebut ke perwakilan akun Anthropic Anda atau lampirkan ke permintaan dukungan. Lihat [layanan telemetri](https://code.claude.com/docs/id/data-usage.md#telemetry-services) |

523| Claude Code meminta Anda untuk masuk meskipun [tes curl](#verify-the-connection) berhasil | CLI tidak memiliki kredensial sendiri: URL dasar yang dapat dijangkau bukan satu, dan dalam sesi interaktif blok `env` di `.claude/settings.json` atau `.claude/settings.local.json` proyek hanya berlaku setelah wizard first-run dan [prompt kepercayaan](https://code.claude.com/docs/id/permissions.md#what-runs-before-you-trust-a-folder) | Atur `ANTHROPIC_AUTH_TOKEN` di mana pun Claude Code membaca sebelum pengaturan first-run: ekspor shell, blok `env` di `~/.claude/settings.json`, atau pengaturan terkelola |524| Claude Code meminta Anda untuk masuk meskipun [tes curl](#verify-the-connection) berhasil | CLI tidak memiliki kredensial sendiri: URL dasar yang dapat dijangkau bukan satu, dan dalam sesi interaktif blok `env` di `.claude/settings.json` atau `.claude/settings.local.json` proyek hanya berlaku setelah wizard first-run dan [prompt kepercayaan](https://code.claude.com/docs/id/permissions.md#what-runs-before-you-trust-a-folder) | Atur `ANTHROPIC_AUTH_TOKEN` di mana pun Claude Code membaca sebelum pengaturan first-run: ekspor shell, blok `env` di `~/.claude/settings.json`, atau pengaturan terkelola |

524| `ANTHROPIC_API_KEY` diatur tetapi diabaikan, tanpa prompt | Kunci memerlukan persetujuan satu kali dalam sesi interaktif, dan kunci yang sebelumnya ditolak diabaikan tanpa bertanya lagi | Aktifkannya di bawah `/config` dengan opsi `Use custom API key` |525| `ANTHROPIC_API_KEY` diatur tetapi diabaikan, tanpa prompt | Kunci memerlukan persetujuan satu kali dalam sesi interaktif, dan kunci yang sebelumnya ditolak diabaikan tanpa bertanya lagi | Aktifkannya di bawah `/config` dengan opsi `Use custom API key` |

525| `This machine's managed settings require a first-party login`, atau [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) ketika pengaturan terkelola menetapkan `forceLoginMethod` ke `"gateway"` atau juga menetapkan `forceLoginGatewayUrl` | Pengaturan terkelola menyertakan `forceLoginMethod` atau `forceLoginOrgUUID`, yang tidak dapat hidup berdampingan dengan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` | Administrator Anda harus menghapus `forceLoginMethod`, `forceLoginOrgUUID`, dan `forceLoginGatewayUrl` dari pengaturan terkelola untuk menggunakan kredensial gateway, atau menghapus kredensial gateway dan menggunakan sign-in yang diminta pengaturan terkelola. Keduanya tidak dapat digabungkan |526| `This machine's managed settings require a first-party login`, atau [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/id/errors#administrator-policy-requires-a-cloud-gateway-sign-in) ketika pengaturan terkelola menetapkan `forceLoginMethod` ke `"gateway"` atau juga menetapkan `forceLoginGatewayUrl` | Pengaturan terkelola menyertakan `forceLoginMethod` atau `forceLoginOrgUUID`, yang tidak dapat hidup berdampingan dengan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` | Administrator Anda harus menghapus `forceLoginMethod`, `forceLoginOrgUUID`, dan `forceLoginGatewayUrl` dari pengaturan terkelola untuk menggunakan kredensial gateway, atau menghapus kredensial gateway dan menggunakan sign-in yang diminta pengaturan terkelola. Keduanya tidak dapat digabungkan |

Details

142claude -p "Reply with one word: connected"142claude -p "Reply with one word: connected"

143```143```

144 144 

145**Checkpoint**: prompt mengembalikan respons, dan permintaan muncul dalam log gateway sebagai `POST` ke jalur `/v1/messages` dengan status `200`. Claude Code menambahkan string kueri seperti `?beta=true`, jadi cocokkan pada jalur, bukan URL lengkap. Dua pesan kegagalan menunjuk ke arah berbeda:145**Checkpoint**: prompt mengembalikan respons, dan permintaan muncul dalam log gateway sebagai `POST` ke jalur `/v1/messages` dengan status `200`. Claude Code menambahkan string kueri seperti `?beta=true`, jadi cocokkan pada jalur, bukan URL lengkap. Periksa pesan kegagalannya:

146 146 

147* `Not logged in`: periksa log gateway untuk membedakan dua penyebab. Jika kosong, tidak ada kredensial yang mencapai sesi dan tidak ada permintaan yang meninggalkan mesin; jalankan kembali ekspor di shell yang Anda uji. Jika menunjukkan permintaan yang ditolak dengan `x-api-key` dalam badan `401`, gateway mengharapkan kunci di header itu; beralih ke `ANTHROPIC_API_KEY`147* `Not logged in`: periksa log gateway. Jika kosong, tidak ada kredensial yang mencapai sesi dan tidak ada permintaan yang meninggalkan mesin; jalankan kembali ekspor di shell yang Anda gunakan untuk menguji. Jika menunjukkan `401` dari gateway yang menyebutkan `x-api-key`, gateway mengharapkan kunci di header itu; beralih ke `ANTHROPIC_API_KEY`. Jika menunjukkan `401` dari `api.anthropic.com` atau endpoint penyedia Anda, perbaiki kredensial penyedia yang dipegang gateway

148* `Failed to authenticate. API Error: 401` berarti kredensial dikirim dan ditolak, dan log gateway mengatakan di mana: `401` yang menyebutkan `api.anthropic.com` atau endpoint penyedia Anda berarti gateway mencapai upstream tetapi kredensial penyedia yang dipegang gateway ditolak, jadi kunci pengembang bekerja dan kredensial penyedia yang dipegang gateway salah atau placeholder148* `Failed to authenticate. API Error: 401` berarti kredensial dikirim dan ditolak, dan log gateway mengatakan di mana: `401` yang menyebutkan `api.anthropic.com` atau endpoint penyedia Anda berarti gateway mencapai upstream tetapi kredensial penyedia yang dipegang gateway ditolak, jadi kunci pengembang bekerja dan kredensial penyedia yang dipegang gateway salah atau placeholder

149 149 

150URL dasar yang salah atau tidak dapat dijangkau menghasilkan gejala berbeda: Claude Code [mencoba ulang koneksi dengan backoff](https://code.claude.com/docs/id/errors.md#automatic-retries) dan dapat duduk tanpa output selama beberapa menit sebelum melaporkan kesalahan. Jika perintah tampak hang, periksa log gateway daripada menunggu; tidak ada permintaan yang tiba berarti `ANTHROPIC_BASE_URL` tidak menunjuk ke gateway.150URL dasar yang salah atau tidak dapat dijangkau menghasilkan gejala berbeda: Claude Code [mencoba ulang koneksi dengan backoff](https://code.claude.com/docs/id/errors.md#automatic-retries) dan dapat duduk tanpa output selama beberapa menit sebelum melaporkan kesalahan. Jika perintah tampak hang, periksa log gateway daripada menunggu; tidak ada permintaan yang tiba berarti `ANTHROPIC_BASE_URL` tidak menunjuk ke gateway.


247 247 

248Anda seharusnya melihat baris `data:` tiba secara bertahap. Seluruh respons tiba sekaligus setelah jeda berarti gateway membuffer, yang menghentikan Claude Code; `404` berarti nama model tidak dirutekan. Ulangi per nama model.248Anda seharusnya melihat baris `data:` tiba secara bertahap. Seluruh respons tiba sekaligus setelah jeda berarti gateway membuffer, yang menghentikan Claude Code; `404` berarti nama model tidak dirutekan. Ulangi per nama model.

249 249 

250Kemudian mulai `claude` dan kirim pesan. Setiap gejala pada langkah ini memiliki satu penyebab:250Kemudian mulai `claude`, kirim pesan, dan cocokkan apa yang Anda lihat:

251 251 

252* Prompt login berarti celah kredensial. Jalankan `/status` dan buka tab **Status**: ketika baris `Setting sources` tidak mencakup pengaturan terkelola, distribusi tidak mencapai mesin; ketika itu terjadi, kredensial pengembang tidak dikirimkan, jadi atur `ANTHROPIC_AUTH_TOKEN` atau `apiKeyHelper`252* Layar login, atau `Not logged in` tanpa entri baru di log gateway, berarti celah kredensial. Jalankan `/status` dan buka tab **Status**: ketika baris `Setting sources` tidak mencakup pengaturan terkelola, distribusi tidak mencapai mesin; ketika mencakupnya, kredensial pengembang tidak dikirimkan, jadi atur `ANTHROPIC_AUTH_TOKEN` atau `apiKeyHelper`

253* Kesalahan `Failed to authenticate` berarti gateway menolak permintaan; lognya mengatakan kredensial mana yang gagal. Penolakan yang dicatat gateway sendiri menyebutkan kunci pengembang, sementara `401` dari `api.anthropic.com` atau endpoint penyedia Anda berarti kredensial penyedia yang dipegang gateway ditolak253* `Please run /login · API Error: 401`, `Not logged in`, atau `Invalid API key` dengan `401` di log gateway: periksa siapa yang menulis `401` tersebut. Perbaiki kunci pengembang atau header-nya jika gateway yang menulisnya, atau kredensial penyedia yang dipegang gateway jika berasal dari `api.anthropic.com` atau endpoint penyedia Anda

254* Prompt persetujuan satu kali untuk kunci diharapkan pada penggunaan pertama ketika gateway mengharapkan kunci di header `x-api-key`, ditetapkan sebagai `ANTHROPIC_API_KEY`254* Prompt persetujuan satu kali untuk kunci diharapkan pada penggunaan pertama ketika gateway mengharapkan kunci di header `x-api-key`, ditetapkan sebagai `ANTHROPIC_API_KEY`

255 255 

256Jika organisasi Anda menggunakan [fast mode](https://code.claude.com/docs/id/fast-mode.md), jalankan `/fast` di sini juga: pemeriksaan ketersediaan memanggil `api.anthropic.com` secara langsung daripada mengikuti URL dasar gateway, sehingga sesi yang dirutekan gateway dapat melaporkan fast mode sebagai tidak tersedia atau dinonaktifkan meskipun inferensi berfungsi. [Gunakan fast mode di belakang proxy dan gateway LLM](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) memetakan setiap pesan ke variabel yang mengembalikannya, didistribusikan dengan [sisa konfigurasi](#distribute-the-configuration).256Jika organisasi Anda menggunakan [fast mode](https://code.claude.com/docs/id/fast-mode.md), jalankan `/fast` di sini juga: pemeriksaan ketersediaan memanggil `api.anthropic.com` secara langsung daripada mengikuti URL dasar gateway, sehingga sesi yang dirutekan gateway dapat melaporkan fast mode sebagai tidak tersedia atau dinonaktifkan meskipun inferensi berfungsi. [Gunakan fast mode di belakang proxy dan gateway LLM](https://code.claude.com/docs/id/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) memetakan setiap pesan ke variabel yang mengembalikannya, didistribusikan dengan [sisa konfigurasi](#distribute-the-configuration).

Details

147 147 

148## Konfigurasi Azure RBAC148## Konfigurasi Azure RBAC

149 149 

150Peran default `Azure AI User` dan `Cognitive Services User` mencakup semua izin yang diperlukan untuk memanggil model Claude.150Jika Anda melakukan autentikasi dengan Microsoft Entra ID atau bearer token yang diterbitkannya, tetapkan peran `Foundry User` atau `Cognitive Services User` kepada identitas Anda pada resource Foundry Anda. Anda mungkin masih melihat `Foundry User` dengan nama sebelumnya, `Azure AI User`.

151 151 

152Untuk izin yang lebih ketat, buat peran khusus dengan yang berikut:152Jika peran-peran ini tidak memenuhi kebutuhan Anda, lihat [dokumentasi RBAC Microsoft Foundry](https://learn.microsoft.com/en-us/azure/foundry/concepts/rbac-foundry) untuk peran khusus.

153 

154```json theme={null}

155{

156 "permissions": [

157 {

158 "dataActions": [

159 "Microsoft.CognitiveServices/accounts/providers/*"

160 ]

161 }

162 ]

163}

164```

165 

166Untuk detail, lihat [dokumentasi RBAC Microsoft Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry).

167 153 

168## 1M token context window154## 1M token context window

169 155 

model-config.md +1 −1

Details

903 903 

904### Mengoreksi jendela untuk gateway atau ID model kustom904### Mengoreksi jendela untuk gateway atau ID model kustom

905 905 

906Salah satu dari peringatan saat startup berikut berarti Claude Code tidak mengenali ID model sesi Anda, sehingga Claude Code tidak dapat mengetahui context window model tersebut dan mengasumsikan 200K token:906Salah satu dari peringatan berikut berarti Claude Code tidak mengenali ID model sesi Anda, sehingga Claude Code tidak dapat mengetahui context window model tersebut dan mengasumsikan 200K token:

907 907 

908```text theme={null}908```text theme={null}

909⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...909⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...

Details

431> * **Tidak ada spasi yang diizinkan**: nilai tidak dapat berisi spasi. Misalnya, `user.organizationName=My Company` tidak valid431> * **Tidak ada spasi yang diizinkan**: nilai tidak dapat berisi spasi. Misalnya, `user.organizationName=My Company` tidak valid

432> * **Format**: harus berupa pasangan kunci=nilai yang dipisahkan koma: `key1=value1,key2=value2`432> * **Format**: harus berupa pasangan kunci=nilai yang dipisahkan koma: `key1=value1,key2=value2`

433> * **Karakter yang diizinkan**: hanya karakter US-ASCII yang mengecualikan karakter kontrol, spasi, tanda kutip ganda, koma, titik koma, dan garis miring terbalik433> * **Karakter yang diizinkan**: hanya karakter US-ASCII yang mengecualikan karakter kontrol, spasi, tanda kutip ganda, koma, titik koma, dan garis miring terbalik

434> * **Karakter khusus**: karakter di luar rentang yang diizinkan harus dikodekan persen434> * **Karakter khusus**: karakter di luar rentang yang diizinkan harus dikodekan persen, dan `=` di dalam sebuah nilai harus ditulis sebagai `%3D`

435>435>

436> Untuk nilai yang memerlukan spasi, gunakan garis bawah atau camelCase sebagai gantinya. Contoh berikut menetapkan `org.name` dengan setiap bentuk:436> Untuk nilai yang memerlukan spasi, gunakan garis bawah atau camelCase sebagai gantinya. Contoh berikut menetapkan `org.name` dengan setiap bentuk:

437>437>

Details

304claude --permission-mode plan304claude --permission-mode plan

305```305```

306 306 

307Tekan `Shift+Tab` lagi untuk keluar dari plan mode tanpa menyetujui rencana.307Saat tidak ada permintaan persetujuan yang terbuka, tekan `Shift+Tab` lagi untuk keluar dari plan mode. Pada permintaan persetujuan, tekan `Esc` terlebih dahulu, karena menekan `Shift+Tab` di sana akan menyetujui rencana.

308 308 

309### Meninjau dan menyetujui rencana309### Meninjau dan menyetujui rencana

310 310 

Details

344 "PostToolUse": [344 "PostToolUse": [

345 {345 {

346 "matcher": "Write|Edit",346 "matcher": "Write|Edit",

347 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]347 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npm run lint:fix -- \"$f\"" }]

348 }348 }

349 ]349 ]

350 }350 }

Details

196 196 

197### Memeriksa hasil dengan `expect`197### Memeriksa hasil dengan `expect`

198 198 

199Kit ini memiliki asersi berikut, dan asersi yang Anda pilih ditempatkan setelah nilai yang sedang Anda periksa, seperti dalam `expect(answer.text).toBe('ok')`:199`expect` memiliki kumpulan asersinya sendiri, seperti `toEqual` dan `toHaveLength`, yang ditempatkan setelah nilai yang sedang Anda periksa, seperti dalam `expect(answer.text).toBe('ok')`. Untuk daftar lengkapnya, cari `type Matchers` di `claude-code/index.d.ts` dalam [tipe untuk build Anda](https://code.claude.com/docs/id/plugins/mods/create.md#get-the-types-for-your-build). Letakkan `.not` sebelum asersi untuk memeriksa kebalikannya. Untuk memeriksa nilai akhir sebuah promise, letakkan `.resolves` atau `.rejects` tepat setelah `expect(...)` dan gunakan `await` pada baris tersebut, seperti dalam `await expect(promise).rejects.toThrow()`.

200 

201* **Kesetaraan**: `toBe` untuk nilai atau objek yang sama, `toEqual` untuk struktur, `toStrictEqual` untuk struktur beserta field `undefined` dan prototipe, serta `toMatchObject` untuk field yang Anda sebutkan

202* **Teks**: `toMatch`, yang menerima regular expression atau substring, `toStartWith`, dan `toEndWith`

203* **Angka**: `toBeGreaterThan`, `toBeGreaterThanOrEqual`, `toBeLessThan`, `toBeLessThanOrEqual`

204* **Isi**: `toContain` untuk substring atau anggota, `toContainEqual` untuk anggota yang dibandingkan berdasarkan struktur, `toHaveLength`, dan `toHaveProperty`

205* **Keberadaan dan tipe**: `toBeDefined`, `toBeUndefined`, `toBeNull`, `toBeTruthy`, `toBeFalsy`, `toBeNaN`, `toBeInstanceOf`

206* **Pelemparan error**: `toThrow`, untuk fungsi yang dipanggil oleh `expect`, atau untuk promise yang Anda periksa dengan `.rejects`

207 

208Letakkan `.not` di depan sebuah asersi untuk memeriksa kebalikannya, dan `.resolves` atau `.rejects` untuk memeriksa nilai akhir sebuah promise.

209 200 

210Ketika sebuah `expect` gagal di dalam stub atau hook yang Anda berikan ke `on` sebagai fungsi biasa, bukan sebagai async generator, pengujian gagal. Engine melewati hook tersebut, dan output kegagalan menyebutkannya, seperti `in the test's store.set hook`.201Ketika sebuah `expect` gagal di dalam stub atau hook yang Anda berikan ke `on` sebagai fungsi biasa, bukan sebagai async generator, pengujian gagal. Engine melewati hook tersebut, dan output kegagalan menyebutkannya, seperti `in the test's store.set hook`.

211 202 

Details

67> | `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |67> | `--capacity <N>` | Jumlah maksimum sesi bersamaan. Default adalah 32. Tidak dapat digunakan dengan `--spawn=session`. |

68> | `--[no-]create-session-in-dir` | Buat sesi di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default. Jika Anda melewatkan `--no-create-session-in-dir` untuk memulai tanpa sesi, Claude Code mengarsipkan sesi server saat Anda menghentikannya, sehingga tidak ada yang dapat [dilanjutkan](#resume-sessions-after-stopping-the-server). |68> | `--[no-]create-session-in-dir` | Buat sesi di direktori saat ini ketika server dimulai, sehingga Anda memiliki tempat untuk mengetik segera. Dalam mode `worktree` sesi ini tetap berada di direktori saat ini sementara sesi sesuai permintaan mendapatkan worktree terisolasi. Aktif secara default. Jika Anda melewatkan `--no-create-session-in-dir` untuk memulai tanpa sesi, Claude Code mengarsipkan sesi server saat Anda menghentikannya, sehingga tidak ada yang dapat [dilanjutkan](#resume-sessions-after-stopping-the-server). |

69> | `--permission-mode <mode>` | Atur [mode izin](https://code.claude.com/docs/id/permission-modes.md) awal untuk sesi server, seperti `acceptEdits`. Menerima `manual` sebagai alias untuk `default`; mode yang tidak dikenali menghentikan server saat startup dan mencantumkan mode yang valid. |69> | `--permission-mode <mode>` | Atur [mode izin](https://code.claude.com/docs/id/permission-modes.md) awal untuk sesi server, seperti `acceptEdits`. Menerima `manual` sebagai alias untuk `default`; mode yang tidak dikenali menghentikan server saat startup dan mencantumkan mode yang valid. |

70> | `--settings <file>` | Terapkan file pengaturan JSON ke sesi server, pada [prioritas](https://code.claude.com/docs/id/settings.md#settings-precedence) yang sama dengan `claude --settings`. Berikan path file, bukan string JSON. Memerlukan Claude Code v2.1.321 atau lebih baru. |

70> | `--chrome` / `--no-chrome` | Aktifkan atau matikan [integrasi Chrome](https://code.claude.com/docs/id/chrome.md) di sesi yang dibuat server, sehingga Claude dapat menggunakan Chrome di mesin Anda saat Anda bekerja dari perangkat lain. Tanpa salah satu flag, sesi yang dimulai server sebelumnya dan sesi apa pun yang Anda mulai sendiri dari claude.ai/code atau aplikasi Claude dimulai dengan Chrome mati, bahkan jika Anda [mengaktifkan Chrome secara default](https://code.claude.com/docs/id/chrome.md#enable-chrome-by-default). Sesi yang dimulai server untuk salah satu [project](https://code.claude.com/docs/id/claude-projects.md) thread Anda mengikuti pengaturan itu sebagai gantinya, kecuali dalam mode `bypassPermissions`. Memerlukan Claude Code v2.1.273 atau lebih baru. |71> | `--chrome` / `--no-chrome` | Aktifkan atau matikan [integrasi Chrome](https://code.claude.com/docs/id/chrome.md) di sesi yang dibuat server, sehingga Claude dapat menggunakan Chrome di mesin Anda saat Anda bekerja dari perangkat lain. Tanpa salah satu flag, sesi yang dimulai server sebelumnya dan sesi apa pun yang Anda mulai sendiri dari claude.ai/code atau aplikasi Claude dimulai dengan Chrome mati, bahkan jika Anda [mengaktifkan Chrome secara default](https://code.claude.com/docs/id/chrome.md#enable-chrome-by-default). Sesi yang dimulai server untuk salah satu [project](https://code.claude.com/docs/id/claude-projects.md) thread Anda mengikuti pengaturan itu sebagai gantinya, kecuali dalam mode `bypassPermissions`. Memerlukan Claude Code v2.1.273 atau lebih baru. |

71> | `-d`, `--debug[=<filter>]` | Aktifkan logging debug untuk server, secara opsional disaring berdasarkan kategori. Lewatkan filter hanya dalam bentuk `=`, seperti `--debug=api,hooks`. Memerlukan Claude Code v2.1.282 atau lebih baru. |72> | `-d`, `--debug[=<filter>]` | Aktifkan logging debug untuk server, secara opsional disaring berdasarkan kategori. Lewatkan filter hanya dalam bentuk `=`, seperti `--debug=api,hooks`. Memerlukan Claude Code v2.1.282 atau lebih baru. |

72> | `--debug-file <path>` | Tulis log debug ke file yang diberikan. |73> | `--debug-file <path>` | Tulis log debug ke file yang diberikan. |

73> | `--verbose` | Tampilkan log koneksi dan sesi terperinci. |74> | `--verbose` | Tampilkan log koneksi dan sesi terperinci. |

74> | `--sandbox`, `--no-sandbox` | Dihapus di v2.1.300. Jika Anda melewatkan salah satu flag ini, server [keluar dengan kesalahan](https://code.claude.com/docs/id/errors.md#sandbox-is-not-supported-by-claude-remote-control) alih-alih dimulai. |75> | `--sandbox`, `--no-sandbox` | Dihapus di v2.1.300. Jika Anda melewatkan salah satu flag ini, server [keluar dengan kesalahan](https://code.claude.com/docs/id/errors.md#sandbox-is-not-supported-by-claude-remote-control) alih-alih dimulai. |

75>76>

76> Jika Anda melewatkan flag global `claude` sebelum `remote-control`, atau skrip wrapper menambahkan satu, Claude Code tidak membawa flag ke sesi yang dibuat server. Claude Code membiarkan flag melewati hanya ketika menjatuhkannya diketahui tidak mengubah apa yang dapat dilakukan sesi tersebut, seperti `--verbose` atau `--model`. Untuk flag lainnya, seperti `--settings`, Claude Code [menolak untuk memulai](https://code.claude.com/docs/id/errors.md#not-carried-over-to-the-sessions-remote-control-starts) dan menyebutkan flag yang akan dihapus.77> Jika Anda melewatkan flag global `claude` sebelum `remote-control`, atau skrip wrapper menambahkan satu, Claude Code tidak membawa flag ke sesi yang dibuat server. Server tetap dimulai dengan beberapa flag, seperti `--verbose` atau `--model`. Dengan flag lainnya, server [tidak dimulai](https://code.claude.com/docs/id/errors.md#not-carried-over-to-the-sessions-remote-control-starts). Untuk melewatkan file pengaturan, letakkan `--settings` setelah `remote-control`.

77>78>

78> Untuk sandbox sesi yang dimulai server, aktifkan [sandboxing](https://code.claude.com/docs/id/sandboxing.md) dalam file pengaturan.79> Untuk sandbox sesi yang dimulai server, aktifkan [sandboxing](https://code.claude.com/docs/id/sandboxing.md) dalam file pengaturan.

79>80>

routines.md +1 −1

Details

431 431 

432Setiap tugas terjadwal menggunakan [lingkungan cloud](https://code.claude.com/docs/id/cloud-environments.md) yang mengontrol akses jaringan, environment variable, dan skrip penyiapan. Tugas mewarisi kebijakan jaringan lingkungan pada setiap eksekusi.432Setiap tugas terjadwal menggunakan [lingkungan cloud](https://code.claude.com/docs/id/cloud-environments.md) yang mengontrol akses jaringan, environment variable, dan skrip penyiapan. Tugas mewarisi kebijakan jaringan lingkungan pada setiap eksekusi.

433 433 

434Lingkungan **Default** menggunakan akses **Limited** dengan **Allow package managers** dicentang, sehingga eksekusinya dapat menjangkau [allowlist default](https://code.claude.com/docs/id/cloud-environments.md#default-allowed-domains). Permintaan ke host yang diblokir gagal dengan `403` dan `x-deny-reason: host_not_allowed`. Lalu lintas konektor MCP dirutekan melalui server Anthropic, sehingga konektor yang Anda tambahkan ke tugas berfungsi tanpa perlu menambahkan host-nya ke **Allowed domains**. Hapus konektor yang tidak Anda perlukan di bawah [Konektor](#connectors).434Lingkungan **Default** menggunakan akses **Limited** dengan **Allow package managers** dicentang, sehingga eksekusinya dapat menjangkau [allowlist default](https://code.claude.com/docs/id/cloud-environments.md#default-allowed-domains). Permintaan ke host yang diblokir gagal dengan [error seperti `403` atau `ENOTFOUND`](https://code.claude.com/docs/id/errors#host-not-allowed-in-a-cloud-session). Lalu lintas konektor MCP dirutekan melalui server Anthropic, sehingga konektor yang Anda tambahkan ke tugas berfungsi tanpa perlu menambahkan host-nya ke **Allowed domains**. Hapus konektor yang tidak Anda perlukan di bawah [Konektor](#connectors).

435 435 

436Untuk mengizinkan domain tambahan pada salah satu lingkungan Anda sendiri, ikuti langkah-langkah ini. [Lingkungan yang dibagikan organisasi](https://code.claude.com/docs/id/cloud-environments.md#organization-shared-environments) terbuka dalam mode read-only di sini, sehingga Owner mengubah akses jaringannya dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings).436Untuk mengizinkan domain tambahan pada salah satu lingkungan Anda sendiri, ikuti langkah-langkah ini. [Lingkungan yang dibagikan organisasi](https://code.claude.com/docs/id/cloud-environments.md#organization-shared-environments) terbuka dalam mode read-only di sini, sehingga Owner mengubah akses jaringannya dari halaman **Cloud environments** di [pengaturan admin](https://claude.ai/admin-settings).

437 437 

sandboxing.md +5 −3

Details

276 276 

277Path ini diberlakukan di tingkat OS, sehingga semua perintah yang berjalan di dalam sandbox, termasuk proses turunannya, mematuhinya. Ini adalah pendekatan yang direkomendasikan ketika sebuah tool memerlukan akses tulis ke lokasi tertentu, alih-alih mengecualikan tool tersebut dari sandbox sepenuhnya dengan `excludedCommands`.277Path ini diberlakukan di tingkat OS, sehingga semua perintah yang berjalan di dalam sandbox, termasuk proses turunannya, mematuhinya. Ini adalah pendekatan yang direkomendasikan ketika sebuah tool memerlukan akses tulis ke lokasi tertentu, alih-alih mengecualikan tool tersebut dari sandbox sepenuhnya dengan `excludedCommands`.

278 278 

279Di Linux dan WSL2, entri untuk path yang belum ada tidak berpengaruh apa pun, jadi buat path tersebut terlebih dahulu.

280 

279Ketika Anda mendefinisikan array filesystem yang sama di beberapa [cakupan pengaturan](https://code.claude.com/docs/id/settings.md#settings-precedence), Claude Code menggabungkannya, yaitu mengombinasikan path dari setiap cakupan alih-alih mengganti array dari satu cakupan dengan array dari cakupan lain. Claude Code tidak menyertakan sebuah entri dalam penggabungan ketika entri tersebut dicakup oleh kunci yang dijelaskan di [Mencegah developer memperluas kebijakan](#keep-developers-from-widening-the-policy).281Ketika Anda mendefinisikan array filesystem yang sama di beberapa [cakupan pengaturan](https://code.claude.com/docs/id/settings.md#settings-precedence), Claude Code menggabungkannya, yaitu mengombinasikan path dari setiap cakupan alih-alih mengganti array dari satu cakupan dengan array dari cakupan lain. Claude Code tidak menyertakan sebuah entri dalam penggabungan ketika entri tersebut dicakup oleh kunci yang dijelaskan di [Mencegah developer memperluas kebijakan](#keep-developers-from-widening-the-policy).

280 282 

281Jika Anda mengecualikan suatu sumber dengan [`--setting-sources`](https://code.claude.com/docs/id/cli-reference) di CLI atau [`settingSources`](https://code.claude.com/docs/id/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) di Agent SDK, Claude Code mengabaikan entri `sandbox.filesystem`, aturan izin `Edit`, dan aturan deny `Read` dari sumber tersebut saat membangun konfigurasi sandbox. Memerlukan Claude Code v2.1.246 atau lebih baru.283Jika Anda mengecualikan suatu sumber dengan [`--setting-sources`](https://code.claude.com/docs/id/cli-reference) di CLI atau [`settingSources`](https://code.claude.com/docs/id/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) di Agent SDK, Claude Code mengabaikan entri `sandbox.filesystem`, aturan izin `Edit`, dan aturan deny `Read` dari sumber tersebut saat membangun konfigurasi sandbox. Memerlukan Claude Code v2.1.246 atau lebih baru.


376 378 

377Karena mematikan isolasi filesystem memperluas apa yang dapat dilakukan perintah sandbox, Claude Code hanya menghormati `filesystem.disabled` dari sumber pengaturan berikut:379Karena mematikan isolasi filesystem memperluas apa yang dapat dilakukan perintah sandbox, Claude Code hanya menghormati `filesystem.disabled` dari sumber pengaturan berikut:

378 380 

379* Pengaturan pengguna, pengaturan terkelola, dan flag CLI `--settings` dapat mengaturnya. Pengaturan proyek di `.claude/settings.json` dan `.claude/settings.local.json` tidak dapat, sehingga proyek yang di-checkout tidak dapat mematikan isolasi filesystem.381* Pengaturan pengguna, pengaturan terkelola, dan flag CLI `--settings` dapat mengaturnya. Pengaturan proyek di `.claude/settings.json` dan `.claude/settings.local.json` tidak dapat mengaturnya.

380* Ketika pengaturan terkelola mengonfigurasi `sandbox.filesystem` dengan cara apa pun, atau mencantumkan entri `sandbox.credentials.files` apa pun dengan `"mode": "deny"`, hanya pengaturan terkelola yang dapat mengatur kunci tersebut. Ini mencegah developer mematikan isolasi filesystem dalam deployment semacam itu; untuk mematikannya bagi semua orang, atur `"disabled": true` di pengaturan terkelola.382* Ketika pengaturan terkelola mengonfigurasi `sandbox.filesystem` dengan cara apa pun, atau mencantumkan entri `sandbox.credentials.files` apa pun dengan `"mode": "deny"`, hanya pengaturan terkelola yang dapat mengatur kunci tersebut. Untuk mematikan isolasi filesystem bagi semua orang, atur `"disabled": true` di pengaturan terkelola.

381* Ketika [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/id/env-vars) diatur, Claude Code mengabaikan `filesystem.disabled` dari setiap sumber, termasuk pengaturan terkelola, dan tetap mengaktifkan isolasi filesystem.383* Ketika [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/id/env-vars) diatur, Claude Code mengabaikan `filesystem.disabled` dari setiap sumber, termasuk pengaturan terkelola.

382 384 

383Entri `mask` yang [valid](https://code.claude.com/docs/id/settings-reference.md#invalid-credential-entries-in-managed-settings) tidak mengunci kunci tersebut, bahkan ketika Claude Code [melakukan fallback ke `deny`](#mask-credential-files) untuk entri tersebut saat startup. Cantumkan path yang tidak dapat di-mask, seperti direktori kredensial, sebagai entri `deny` eksplisit di pengaturan terkelola, yang mengunci kunci tersebut.385Entri `mask` yang [valid](https://code.claude.com/docs/id/settings-reference.md#invalid-credential-entries-in-managed-settings) tidak mengunci kunci tersebut, bahkan ketika Claude Code [melakukan fallback ke `deny`](#mask-credential-files) untuk entri tersebut saat startup. Cantumkan path yang tidak dapat di-mask, seperti direktori kredensial, sebagai entri `deny` eksplisit di pengaturan terkelola, yang mengunci kunci tersebut.

384 386 

settings.md +1 −1

Details

177 177 

178Claude Code memantau file pengaturan Anda dan memuat ulang saat berubah, jadi ia menerapkan sebagian besar pengeditan ke sesi yang sedang berjalan tanpa restart, termasuk pengeditan ke `permissions`, `hooks`, dan pembantu kredensial seperti `apiKeyHelper`. Claude Code juga memuat file pengaturan yang Anda buat di tengah sesi jika foldernya ada saat sesi dimulai. Untuk folder `.claude/` proyek, ia memuat file bahkan ketika Anda membuat folder di sesi yang sama.178Claude Code memantau file pengaturan Anda dan memuat ulang saat berubah, jadi ia menerapkan sebagian besar pengeditan ke sesi yang sedang berjalan tanpa restart, termasuk pengeditan ke `permissions`, `hooks`, dan pembantu kredensial seperti `apiKeyHelper`. Claude Code juga memuat file pengaturan yang Anda buat di tengah sesi jika foldernya ada saat sesi dimulai. Untuk folder `.claude/` proyek, ia memuat file bahkan ketika Anda membuat folder di sesi yang sama.

179 179 

180Reload mencakup pengaturan pengguna, proyek, lokal, dan yang dikelola, dan Claude Code menjalankan hook [`ConfigChange`](https://code.claude.com/docs/id/hooks#configchange) untuk setiap perubahan file pengaturan yang terdeteksi, bukan untuk pengaturan yang dikelola yang tiba dari MDM atau konsol claude.ai. Pengaturan yang dikelola yang tiba melalui MDM atau dari konsol claude.ai mencapai sesi yang sedang berjalan sesuai jadwal daripada saat disimpan; [tabel pengiriman](https://code.claude.com/docs/id/managed-settings.md#choose-a-delivery-mechanism) memberikannya per sumber.180Pemuatan ulang mencakup pengaturan pengguna, proyek, lokal, dan terkelola. Claude Code menjalankan [hook `ConfigChange`](https://code.claude.com/docs/id/hooks#configchange) untuk pengeditan langsung pada file pengaturan, bukan untuk pengaturan terkelola yang tiba dari MDM atau konsol claude.ai. Pengaturan terkelola yang tiba melalui MDM atau dari konsol claude.ai mencapai sesi yang sedang berjalan sesuai jadwal, bukan saat disimpan; [tabel pengiriman](https://code.claude.com/docs/id/managed-settings.md#choose-a-delivery-mechanism) menjelaskannya per sumber.

181 181 

182Claude Code membaca beberapa kunci hanya sekali, saat startup sesi, jadi pengeditan ke salah satunya tidak mencapai sesi yang sedang berjalan. Kunci tingkat admin yang juga menunggu restart, seperti `requiredMinimumVersion`, tercantum di bawah [tempat dan kapan kebijakan berlaku](https://code.claude.com/docs/id/managed-settings.md#where-and-when-a-policy-applies). Yang paling mungkin Anda edit di tengah sesi:182Claude Code membaca beberapa kunci hanya sekali, saat startup sesi, jadi pengeditan ke salah satunya tidak mencapai sesi yang sedang berjalan. Kunci tingkat admin yang juga menunggu restart, seperti `requiredMinimumVersion`, tercantum di bawah [tempat dan kapan kebijakan berlaku](https://code.claude.com/docs/id/managed-settings.md#where-and-when-a-policy-applies). Yang paling mungkin Anda edit di tengah sesi:

183 183 

Details

1533}1533}

1534```1534```

1535 1535 

1536Di Linux dan WSL2, entri untuk jalur yang belum ada tidak berpengaruh, jadi buat jalur tersebut terlebih dahulu.

1537 

1536Claude Code menggabungkan entri `allowWrite` dan path dari aturan allow `Edit(...)` Anda di seluruh cakupan pengaturan yang dimuat sesi, dengan mengecualikan yang berasal dari pengaturan repositori selama [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) aktif. [Penguncian repositori](https://code.claude.com/docs/id/sandboxing.md#repository-settings-under-an-admin-required-sandbox) juga dapat mengecualikan entri repositori. Entri `allowWrite` tidak dapat mencabut [path yang dilindungi](https://code.claude.com/docs/id/sandboxing.md#protected-paths).1538Claude Code menggabungkan entri `allowWrite` dan path dari aturan allow `Edit(...)` Anda di seluruh cakupan pengaturan yang dimuat sesi, dengan mengecualikan yang berasal dari pengaturan repositori selama [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) aktif. [Penguncian repositori](https://code.claude.com/docs/id/sandboxing.md#repository-settings-under-an-admin-required-sandbox) juga dapat mengecualikan entri repositori. Entri `allowWrite` tidak dapat mencabut [path yang dilindungi](https://code.claude.com/docs/id/sandboxing.md#protected-paths).

1537 1539 

1538### `sandbox.filesystem.denyWrite`1540### `sandbox.filesystem.denyWrite`

setup.md +8 −26

Details

40>40>

41> **macOS, Linux, WSL:**41> **macOS, Linux, WSL:**

42>42>

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

44> curl -fsSL https://claude.ai/install.sh | bash44> curl -fsSL https://claude.ai/install.sh | bash

45> ```45> ```

46>46>


48>48>

49> **Windows PowerShell:**49> **Windows PowerShell:**

50>50>

51> ```powershell theme={null}51> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

52> irm https://claude.ai/install.ps1 | iex52> irm https://claude.ai/install.ps1 | iex

53> ```53> ```

54>54>

55> **Windows CMD:**55> **Windows CMD:**

56>56>

57> ```batch theme={null}57> ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

59> ```59> ```

60>60>


72 72 

73> [tab] Homebrew73> [tab] Homebrew

74>74>

75> ```bash theme={null}75> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

76> brew install --cask claude-code76> brew install --cask claude-code

77> ```77> ```

78>78>


84 84 

85> [tab] WinGet85> [tab] WinGet

86>86>

87> ```powershell theme={null}87> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

88> winget install Anthropic.ClaudeCode88> winget install Anthropic.ClaudeCode

89> ```89> ```

90>90>


141 141 

142### Alpine Linux dan distribusi berbasis musl142### Alpine Linux dan distribusi berbasis musl

143 143 

144Menginstal Claude Code di Alpine dan distribusi berbasis musl/uClibc lainnya memerlukan `bash` dan `curl` untuk perintah instalasi, serta `libgcc`, `libstdc++`, dan `ripgrep` saat runtime. Alpine tidak menyertakan `bash` atau `curl` secara default, jadi perintah instalasi yang didokumentasikan gagal dengan kesalahan `not found` sampai Anda menginstalnya. Instal paket-paket ini menggunakan manajer paket distribusi Anda, kemudian atur `USE_BUILTIN_RIPGREP=0`.144Di Alpine dan distribusi berbasis musl lainnya, [perintah instalasi](#install-claude-code) memerlukan `bash` dan `curl`, dan Claude Code sendiri memerlukan `bash` atau `zsh`. Alpine tidak menyertakan `bash` atau `curl` secara default, jadi perintah instalasi yang didokumentasikan gagal dengan kesalahan `not found` sampai Anda menginstalnya.

145 145 

146Contoh ini menginstal paket yang diperlukan di Alpine:146Contoh ini menginstal paket yang diperlukan di Alpine:

147 147 

148```bash theme={null}148```bash theme={null}

149apk add bash curl libgcc libstdc++ ripgrep149apk add bash curl

150```

151 

152Di Alpine, `ripgrep` berada di repositori komunitas. Jika `apk` melaporkan bahwa paket hilang, tambahkan repositori komunitas ke `/etc/apk/repositories`, menggunakan versi Alpine Anda:

153 

154```bash theme={null}

155echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories

156```

157 

158Jalankan `apk update` untuk menyegarkan indeks paket, dan coba lagi perintah `apk add`.

159 

160Kemudian atur `USE_BUILTIN_RIPGREP` ke `0` di file [`settings.json`](https://code.claude.com/docs/id/settings-reference#all-settings) Anda:

161 

162```json theme={null}

163{

164 "env": {

165 "USE_BUILTIN_RIPGREP": "0"

166 }

167}

168```150```

169 151 

170## Verifikasi instalasi Anda152## Verifikasi instalasi Anda


443> wget -O /etc/apk/keys/claude-code.rsa.pub \425> wget -O /etc/apk/keys/claude-code.rsa.pub \

444> https://downloads.claude.ai/keys/claude-code.rsa.pub426> https://downloads.claude.ai/keys/claude-code.rsa.pub

445> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories427> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

446> apk add claude-code428> apk add bash claude-code

447> ```429> ```

448>430>

449> Untuk beralih ke saluran `latest`, hapus baris repositori `stable` dan tambahkan repositori `latest`:431> Untuk beralih ke saluran `latest`, hapus baris repositori `stable` dan tambahkan repositori `latest`:

Details

26 26 

27| Terminal | Shift+Enter untuk newline |27| Terminal | Shift+Enter untuk newline |

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

29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Berfungsi tanpa setup |29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Windows Terminal | Berfungsi tanpa setup |

30| Terminal lain yang mendukung protokol keyboard kitty, seperti foot dan Alacritty 0.16 atau lebih baru | Berfungsi tanpa setup. Memerlukan Claude Code v2.1.269 atau lebih baru |30| Terminal lain yang mendukung protokol keyboard kitty, seperti foot dan Alacritty 0.16 atau lebih baru | Berfungsi tanpa setup. Memerlukan Claude Code v2.1.269 atau lebih baru |

31| VS Code, Cursor, Devin Desktop, Alacritty sebelum 0.16, Zed | Jalankan `/terminal-setup` sekali |31| VS Code, Cursor, Devin Desktop, Alacritty sebelum 0.16, Zed | Jalankan `/terminal-setup` sekali |

32| gnome-terminal, JetBrains IDEs seperti PyCharm dan Android Studio | Tidak tersedia; gunakan Ctrl+J atau `\` lalu Enter |32| gnome-terminal, JetBrains IDEs seperti PyCharm dan Android Studio | Tidak tersedia; gunakan Ctrl+J atau `\` lalu Enter |

Details

127 127 

128Claude menggunakan `AskUserQuestion` untuk mengajukan pertanyaan pilihan ganda kepada Anda ketika memerlukan keputusan atau klarifikasi. Jawab dengan memilih opsi, atau ketik teks Anda sendiri melalui baris `Other` atau kolom catatan.128Claude menggunakan `AskUserQuestion` untuk mengajukan pertanyaan pilihan ganda kepada Anda ketika memerlukan keputusan atau klarifikasi. Jawab dengan memilih opsi, atau ketik teks Anda sendiri melalui baris `Other` atau kolom catatan.

129 129 

130Ketika Anda menjawab dengan mengetik teks Anda sendiri, Claude Code menyampaikan jawaban dengan redaksi netral sehingga Claude mengikuti apa yang Anda tulis, termasuk permintaan untuk menunggu atau menjelaskan terlebih dahulu.

131 

132### Timeout auto-continue pertanyaan130### Timeout auto-continue pertanyaan

133 131 

134Pertanyaan tetap terbuka sampai Anda menjawabnya. Jika Anda ingin pertanyaan yang Anda biarkan tanpa jawaban akhirnya ditutup dan membiarkan Claude melanjutkan tanpa Anda, atur pengaturan [`askUserQuestionTimeout`](https://code.claude.com/docs/id/settings-reference#askuserquestiontimeout) ke `60s`, `5m`, atau `10m`, baik di `settings.json` pengguna Anda atau dari baris **Question auto-continue timeout** di `/config`.132Pertanyaan tetap terbuka sampai Anda menjawabnya. Jika Anda ingin pertanyaan yang Anda biarkan tanpa jawaban akhirnya ditutup dan membiarkan Claude melanjutkan tanpa Anda, atur pengaturan [`askUserQuestionTimeout`](https://code.claude.com/docs/id/settings-reference#askuserquestiontimeout) ke `60s`, `5m`, atau `10m`, baik di `settings.json` pengguna Anda atau dari baris **Question auto-continue timeout** di `/config`.


525 523 

526## Perilaku alat Read524## Perilaku alat Read

527 525 

528Alat Read mengambil jalur file dan mengembalikan isinya dengan nomor baris. Claude diinstruksikan untuk selalu melewatkan jalur absolut.526Tool Read mengambil jalur file dan mengembalikan isinya dengan nomor baris.

529 527 

530Membaca file kosong mengembalikan pemberitahuan bahwa file ada tetapi isinya kosong, dan `offset` melampaui baris terakhir mengembalikan pemberitahuan yang memberikan jumlah baris file.528Membaca file kosong mengembalikan pemberitahuan bahwa file ada tetapi isinya kosong, dan `offset` melampaui baris terakhir mengembalikan pemberitahuan yang memberikan jumlah baris file.

531 529 

Details

388> Get-Command claude | Select-Object Source388> Get-Command claude | Select-Object Source

389> ```389> ```

390 390 

391Di Linux, periksa shared libraries yang hilang. Jika `ldd` menunjukkan library yang hilang, Anda mungkin perlu menginstal paket sistem. Di Alpine Linux dan distribusi berbasis musl lainnya, lihat [Alpine Linux setup](https://code.claude.com/docs/id/setup.md#alpine-linux-and-musl-based-distributions).391Di Linux, periksa shared libraries yang hilang. Jika `ldd` menunjukkan library yang hilang, Anda mungkin perlu menginstal paket sistem. Di Alpine Linux dan distribusi berbasis musl lainnya, lihat [Ketidakcocokan binary musl atau glibc di Linux](#linux-musl-or-glibc-binary-mismatch).

392 392 

393```bash theme={null}393```bash theme={null}

394ldd "$(command -v claude)" | grep "not found"394ldd "$(command -v claude)" | grep "not found"


402 402 

403## Masalah instalasi umum403## Masalah instalasi umum

404 404 

405Ini adalah masalah instalasi yang paling sering dihadapi dan solusinya.405Berikut adalah masalah instalasi yang paling sering ditemui beserta solusinya.

406 406 

407### Install script returns HTML instead of a shell script407### Skrip instalasi mengembalikan HTML, bukan skrip shell

408 408 

409Perintah install gagal dengan salah satu error berikut ketika yang diunduhnya bukan script instalasi.409Perintah instalasi gagal dengan salah satu error berikut ketika yang diunduhnya bukan skrip instalasi.

410 410 

411**Bash atau Zsh**: error mengutip baris pertama dari halaman yang dikembalikan.411**Bash atau Zsh**: error tersebut mengutip baris pertama dari halaman yang dikembalikan.

412 412 

413```text theme={null}413```text theme={null}

414bash: line 1: syntax error near unexpected token `<'414bash: line 1: syntax error near unexpected token `<'

415bash: line 1: `<!DOCTYPE html>'415bash: line 1: `<!DOCTYPE html>'

416```416```

417 417 

418**PowerShell, parse errors**: error menunjuk ke halaman yang dikembalikan, dengan `iex` mencoba menjalankan HTML dan CSS sebagai PowerShell.418**PowerShell, error parse**: error tersebut menunjuk ke dalam halaman yang dikembalikan, dengan `iex` mencoba menjalankan HTML dan CSS sebagai PowerShell.

419 419 

420```text theme={null}420```text theme={null}

421iex : At line:1 char:2310421iex : At line:1 char:2310


424...424...

425```425```

426 426 

427Kata-katanya bervariasi dengan versi PowerShell dan bahasa sistem: Anda mungkin melihat `Missing expression after unary operator '--'` atau `ParserError` dengan `ParseException` sebagai gantinya. Tag HTML atau CSS dalam teks yang dikutip mengidentifikasi kegagalan ini. Jika Anda mengunduh dengan `-OutFile install.ps1` sebagai gantinya, file yang disimpan adalah halaman web yang sama, jadi itu tidak membantu juga.427Kata-katanya bervariasi tergantung versi PowerShell dan bahasa sistem: Anda mungkin melihat `Missing expression after unary operator '--'` atau `ParserError` dengan `ParseException` sebagai gantinya. Tag HTML atau CSS dalam teks yang dikutip menandakan kegagalan ini. Jika Anda mengunduh dengan `-OutFile install.ps1` sebagai gantinya, file yang disimpan adalah halaman web yang sama, sehingga cara itu juga tidak membantu.

428 428 

429**PowerShell, `System.Xml.XmlDocument`**: error menyebutkan tipe ini alih-alih mengutip halaman.429**PowerShell, `System.Xml.XmlDocument`**: error tersebut menyebutkan tipe ini alih-alih mengutip halaman.

430 430 

431```text theme={null}431```text theme={null}

432System.Xml.XmlDocument : The term 'System.Xml.XmlDocument' is not recognized as the name of a cmdlet, function, script432System.Xml.XmlDocument : The term 'System.Xml.XmlDocument' is not recognized as the name of a cmdlet, function, script

433file, or operable program.433file, or operable program.

434```434```

435 435 

436Ketika `irm` dapat mem-parse respons sebagai XML, ia mengembalikan objek XML alih-alih teks, lalu `iex` mencoba menjalankan nama tipe objek tersebut sebagai perintah. Script instalasi adalah kode PowerShell dan tidak dapat di-parse sebagai XML, jadi error ini juga berarti respons tersebut adalah sesuatu selain script. Kata-kata di sekitar nama tipe bervariasi dengan versi PowerShell dan bahasa sistem, tetapi `System.Xml.XmlDocument` itu sendiri tetap sama, jadi cocokkan berdasarkan nama tipe.436Ketika `irm` dapat mem-parse respons sebagai XML, ia mengembalikan objek XML alih-alih teks, lalu `iex` mencoba menjalankan nama tipe objek tersebut sebagai perintah. Skrip instalasi adalah kode PowerShell dan tidak dapat di-parse sebagai XML, sehingga error ini juga berarti respons tersebut adalah sesuatu selain skrip. Kata-kata di sekitar nama tipe bervariasi tergantung versi PowerShell dan bahasa sistem, tetapi `System.Xml.XmlDocument` itu sendiri tetap sama, jadi cocokkan berdasarkan nama tipe tersebut.

437 437 

438**CMD**: Anda melihat error ini, diikuti oleh HTML dari halaman yang dikembalikan.438**CMD**: Anda melihat error ini, diikuti oleh HTML dari halaman yang dikembalikan.

439 439 


443C:\Users\you><!DOCTYPE html>...443C:\Users\you><!DOCTYPE html>...

444```444```

445 445 

446Baris pertama muncul dalam bahasa sistem Anda, jadi cari HTML yang mengikutinya.446Baris pertama muncul dalam bahasa sistem Anda, jadi carilah HTML yang mengikutinya.

447 447 

448**403 tanpa halaman**: tergantung pada bagaimana permintaan dirutekan, curl melaporkan status 403 tanpa body HTML.448**403 tanpa halaman**: tergantung bagaimana permintaan dirutekan, curl melaporkan status 403 tanpa body HTML.

449 449 

450```text theme={null}450```text theme={null}

451curl: (22) The requested URL returned error: 403451curl: (22) The requested URL returned error: 403

452```452```

453 453 

454Semuanya berarti URL instalasi mengembalikan halaman web, dokumen XML, atau status error alih-alih script instalasi. Jika output error mengutip "App unavailable in region," Claude Code tidak tersedia di negara Anda. Lihat [supported countries](https://www.anthropic.com/supported-countries).454Semua ini berarti URL instalasi mengembalikan halaman web, dokumen XML, atau status error alih-alih skrip instalasi. Jika output error mengutip "App unavailable in region," Claude Code tidak tersedia di negara Anda. Lihat [negara yang didukung](https://www.anthropic.com/supported-countries).

455 455 

456403 tanpa body sering memiliki penyebab yang sama, tetapi juga dapat berasal dari proxy perusahaan atau firewall yang memblokir download. Jika Anda berada di negara yang didukung dan masih melihat 403, kerjakan [Check network connectivity](#check-network-connectivity) sebelum mencoba installer alternatif di bawah, karena installer tersebut menjangkau host yang sama.456403 polos tanpa body sering kali memiliki penyebab yang sama, tetapi juga dapat berasal dari proxy atau firewall perusahaan yang memblokir unduhan. Jika Anda berada di negara yang didukung dan masih melihat 403, ikuti langkah-langkah di [Periksa konektivitas jaringan](#check-network-connectivity) sebelum mencoba penginstal alternatif di bawah, karena penginstal tersebut menjangkau host yang sama.

457 457 

458Sebaliknya, ini dapat terjadi karena masalah jaringan, routing regional, atau gangguan layanan sementara.458Selain itu, hal ini dapat terjadi karena masalah jaringan, perutean regional, atau gangguan layanan sementara.

459 459 

460**Solusi:**460**Solusi:**

461 461 

4621. **Coba lagi setelah beberapa menit**: masalahnya sering bersifat sementara. Tunggu dan coba perintah asli lagi.4621. **Coba lagi setelah beberapa menit**: masalah ini sering kali bersifat sementara. Tunggu dan coba lagi perintah aslinya.

463 463 

4642. **Gunakan metode instalasi alternatif**: tidak seperti instalasi native, instalasi Homebrew atau WinGet [tidak memperbarui dirinya sendiri secara default](https://code.claude.com/docs/id/setup.md#auto-updates).4642. **Gunakan metode instalasi alternatif**: tidak seperti instalasi native, instalasi Homebrew atau WinGet [tidak memperbarui dirinya sendiri secara default](https://code.claude.com/docs/id/setup.md#auto-updates).

465 465 


475 winget install Anthropic.ClaudeCode475 winget install Anthropic.ClaudeCode

476 ```476 ```

477 477 

478 Kemudian jalankan `claude --version` untuk mengonfirmasi: perintah mencetak nomor versi seperti `2.1.211 (Claude Code)`. Jika shell melaporkan `claude` tidak ditemukan, buka jendela terminal baru dan coba ulang: sesi tempat Anda menginstal menyimpan `PATH` lamanya.478 Kemudian jalankan `claude --version` untuk memastikan: perintah tersebut mencetak nomor versi seperti `2.1.211 (Claude Code)`. Jika shell melaporkan bahwa `claude` tidak ditemukan, buka jendela terminal baru dan coba lagi: sesi tempat Anda menginstal tetap menggunakan `PATH` lamanya.

479 479 

480### `command not found: claude` after installation480### `command not found: claude` setelah instalasi

481 481 

482Instalasi selesai tetapi `claude` tidak berfungsi. Error yang tepat bervariasi menurut platform:482Instalasi selesai tetapi `claude` tidak berfungsi. Error persisnya bervariasi menurut platform:

483 483 

484| Platform | Pesan error |484| Platform | Pesan error |

485| :- | :- |485| :- | :- |


488| Windows CMD | `'claude' is not recognized as an internal or external command` |488| Windows CMD | `'claude' is not recognized as an internal or external command` |

489| PowerShell | `claude : The term 'claude' is not recognized as the name of a cmdlet` |489| PowerShell | `claude : The term 'claude' is not recognized as the name of a cmdlet` |

490 490 

491Di Windows, jika error mulai muncul tepat setelah Claude Code diperbarui, lihat [pulihkan `claude.exe` dari backup-nya](#claude-exe-missing-after-an-update-on-windows).491Di Windows, jika error mulai muncul tepat setelah Claude Code diperbarui, lihat [pulihkan `claude.exe` dari cadangannya](#claude-exe-missing-after-an-update-on-windows).

492 492 

493Jika tidak, lihat [Verifikasi PATH Anda](#verify-your-path) untuk perbaikan di setiap platform.493Jika tidak, lihat [Verifikasi PATH Anda](#verify-your-path) untuk perbaikan di setiap platform.

494 494 

495### `permission denied` when adding to your PATH495### `permission denied` saat menambahkan ke PATH Anda

496 496 

497Jika perintah `echo` yang menambahkan `~/.local/bin` ke PATH Anda mencetak `zsh: permission denied: /Users/you/.zshrc` atau `bash: /home/you/.bashrc: Permission denied`, pengguna Anda tidak dapat menulis ke file tersebut dan tidak ada yang disimpan. Di terminal Anda, periksa siapa pemilik file tersebut, menggunakan nama file shell Anda sebagai pengganti `~/.zshrc`:497Jika perintah `echo` yang menambahkan `~/.local/bin` ke PATH Anda mencetak `zsh: permission denied: /Users/you/.zshrc` atau `bash: /home/you/.bashrc: Permission denied`, pengguna Anda tidak dapat menulis ke file tersebut dan tidak ada yang tersimpan. Di terminal Anda, periksa siapa pemilik file tersebut, dengan menggunakan nama file shell Anda sebagai pengganti `~/.zshrc`:

498 498 

499```bash theme={null}499```bash theme={null}

500ls -l ~/.zshrc500ls -l ~/.zshrc


503Kolom ketiga dari output adalah pemiliknya.503Kolom ketiga dari output adalah pemiliknya.

504 504 

505* **Pemiliknya adalah pengguna lain, seperti `root`**: ambil alih kepemilikan dengan `sudo chown $(whoami) ~/.zshrc`, yang memerlukan hak administrator.505* **Pemiliknya adalah pengguna lain, seperti `root`**: ambil alih kepemilikan dengan `sudo chown $(whoami) ~/.zshrc`, yang memerlukan hak administrator.

506* **Pemiliknya adalah Anda**: file tersebut read-only. Jadikan dapat ditulis dengan `chmod u+w ~/.zshrc`.506* **Pemiliknya adalah Anda**: file tersebut bersifat read-only. Jadikan dapat ditulis dengan `chmod u+w ~/.zshrc`.

507 507 

508Kemudian jalankan lagi dua perintah PATH untuk shell Anda di [Verifikasi PATH Anda](#verify-your-path).508Kemudian jalankan lagi dua perintah PATH untuk shell Anda di [Verifikasi PATH Anda](#verify-your-path).

509 509 

510### `curl: (56) Failure writing output to destination`510### `curl: (56) Failure writing output to destination`

511 511 

512Perintah `curl ... | bash` mengunduh script dan menyalurkannya ke Bash untuk dieksekusi. Error ini, dan error terkait `curl: (23) Failure writing output to destination`, berarti Bash tidak menerima script lengkap. Exit code 56 menunjukkan download itu sendiri terputus, dan exit code 23 menunjukkan curl tidak dapat menulis apa yang diterima ke pipe, biasanya karena Bash keluar lebih awal.512Perintah `curl ... | bash` mengunduh skrip dan menyalurkannya (pipe) ke Bash untuk dieksekusi. Error ini, dan error terkait `curl: (23) Failure writing output to destination`, berarti Bash tidak menerima skrip secara lengkap. Exit code 56 menunjukkan bahwa unduhan itu sendiri terputus, dan exit code 23 menunjukkan bahwa curl tidak dapat menulis apa yang diterimanya ke pipe, biasanya karena Bash keluar lebih awal.

513 513 

514Uji bahwa Anda dapat menjangkau `downloads.claude.ai` dengan pemeriksaan di [Check network connectivity](#check-network-connectivity). Jika Anda menjangkau server, kegagalan asli mungkin bersifat intermiten; coba ulang perintah install. Anda juga dapat [mencoba metode instalasi alternatif](https://code.claude.com/docs/id/setup.md#install-claude-code).514Uji apakah Anda dapat menjangkau `downloads.claude.ai` dengan pemeriksaan di [Periksa konektivitas jaringan](#check-network-connectivity). Jika Anda berhasil menjangkau server, kegagalan awal kemungkinan bersifat intermiten; coba lagi perintah instalasi. Anda juga dapat [mencoba metode instalasi alternatif](https://code.claude.com/docs/id/setup.md#install-claude-code).

515 515 

516### Homebrew cask unavailable or outdated516### Cask Homebrew tidak tersedia atau usang

517 517 

518Homebrew melaporkan `Error: Cask 'claude-code' is unavailable: No Cask with this name exists` ketika salinan lokal indeks cask Homebrew Anda mendahului publikasi cask. Segarkan indeks dan coba ulang:518Homebrew melaporkan `Error: Cask 'claude-code' is unavailable: No Cask with this name exists` ketika salinan lokal indeks cask Homebrew Anda lebih lama daripada publikasi cask tersebut. Perbarui indeks dan coba lagi:

519 519 

520```bash theme={null}520```bash theme={null}

521brew update521brew update

522brew install --cask claude-code522brew install --cask claude-code

523```523```

524 524 

525Jika Homebrew menginstal versi Claude Code yang lebih lama dari yang Anda harapkan, indeks yang sudah usang biasanya menjadi penyebabnya. Cask `claude-code` melacak saluran stabil dan biasanya tertinggal sekitar satu minggu dari rilis terbaru; untuk versi terbaru jalankan `brew install --cask claude-code@latest` sebagai gantinya. Lihat [Configure release channel](https://code.claude.com/docs/id/setup.md#configure-release-channel) untuk perbedaan antara dua cask.525Jika Homebrew menginstal versi Claude Code yang lebih lama dari yang Anda harapkan, indeks usang yang sama biasanya menjadi penyebabnya. Cask `claude-code` mengikuti saluran stabil dan biasanya tertinggal sekitar satu minggu dari rilis terbaru; untuk versi terbaru, jalankan `brew install --cask claude-code@latest` sebagai gantinya. Lihat [Konfigurasi saluran rilis](https://code.claude.com/docs/id/setup.md#configure-release-channel) untuk perbedaan antara kedua cask tersebut.

526 526 

527### `Cask 'claude-code@latest' is not installed`527### `Cask 'claude-code@latest' is not installed`

528 528 


532brew list --cask | grep claude-code532brew list --cask | grep claude-code

533```533```

534 534 

535Upgrade cask yang dicetaknya. Jika tidak mencetak apa pun, tidak ada cask yang terinstal.535Tingkatkan cask yang dicetaknya. Jika tidak mencetak apa pun, tidak ada cask yang terinstal.

536 536 

537### TLS or SSL connection errors537### Error koneksi TLS atau SSL

538 538 

539Error seperti ini berarti TLS handshake gagal:539Error seperti berikut berarti handshake TLS gagal:

540 540 

541* `curl: (35) TLS connect error`541* `curl: (35) TLS connect error`

542* `schannel: next InitializeSecurityContext failed`542* `schannel: next InitializeSecurityContext failed`

543* PowerShell's `Could not create SSL/TLS secure channel`543* `Could not create SSL/TLS secure channel` dari PowerShell

544* PowerShell's `Could not establish trust relationship for the SSL/TLS secure channel`544* `Could not establish trust relationship for the SSL/TLS secure channel` dari PowerShell

545 545 

546Untuk `CRYPT_E_NO_REVOCATION_CHECK` atau `CRYPT_E_REVOCATION_OFFLINE`, langsung ke langkah 4.546Untuk `CRYPT_E_NO_REVOCATION_CHECK` atau `CRYPT_E_REVOCATION_OFFLINE`, lanjutkan ke langkah 4.

547 547 

548**Solusi:**548**Solusi:**

549 549 


555 sudo apt-get update && sudo apt-get install ca-certificates555 sudo apt-get update && sudo apt-get install ca-certificates

556 ```556 ```

557 557 

558 Di macOS, curl sistem menggunakan Keychain trust store; memperbarui macOS itu sendiri memperbarui root certificates.558 Di macOS, curl sistem menggunakan trust store Keychain; memperbarui macOS itu sendiri akan memperbarui sertifikat root.

559 559 

5602. **Di Windows PowerShell 5.1, aktifkan TLS 1.2**:5602. **Di Windows PowerShell 5.1, aktifkan TLS 1.2**:

561 ```powershell theme={null}561 ```powershell theme={null}

562 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12562 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

563 ```563 ```

564 Kemudian jalankan installer di jendela yang sama:564 Kemudian jalankan penginstal di jendela yang sama:

565 ```powershell theme={null}565 ```powershell theme={null}

566 irm https://claude.ai/install.ps1 | iex566 irm https://claude.ai/install.ps1 | iex

567 ```567 ```

568 568 

5693. **Periksa gangguan proxy atau firewall**: proxy perusahaan yang melakukan TLS inspection dapat menyebabkan error ini, termasuk `unable to get local issuer certificate`, `unable to verify the first certificate`, dan `SELF_SIGNED_CERT_IN_CHAIN`. Buat download install mempercayai CA proxy perusahaan Anda:5693. **Periksa gangguan proxy atau firewall**: proxy perusahaan yang melakukan inspeksi TLS dapat menyebabkan error ini, termasuk `unable to get local issuer certificate`, `unable to verify the first certificate`, dan `SELF_SIGNED_CERT_IN_CHAIN`. Buat unduhan instalasi memercayai CA proxy perusahaan Anda:

570 570 

571 > [tab] macOS/Linux571 > [tab] macOS/Linux

572 >572 >

573 > Atur `CURL_CA_BUNDLE` untuk download `curl` milik script install, dan [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/id/network-config#custom-ca-certificates) untuk perintah `claude install` yang kemudian dijalankan oleh script. Minta file PEM berisi sertifikat root CA proxy Anda kepada tim IT jika Anda belum memilikinya. Contoh ini mengatur keduanya ke file CA proxy Anda dan menjalankan script di terminal yang sama:573 > Atur `CURL_CA_BUNDLE` untuk unduhan `curl` skrip instalasi, dan [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/id/network-config#custom-ca-certificates) untuk perintah `claude install` yang kemudian dijalankan oleh skrip. Mintalah file PEM berisi sertifikat CA root proxy Anda kepada tim IT jika Anda belum memilikinya. Contoh ini mengatur keduanya ke file CA proxy Anda dan menjalankan skrip di terminal yang sama:

574 >574 >

575 > ```bash theme={null}575 > ```bash theme={null}

576 > export CURL_CA_BUNDLE=/path/to/corporate-ca.pem576 > export CURL_CA_BUNDLE=/path/to/corporate-ca.pem


578 > curl -fsSL https://claude.ai/install.sh | bash578 > curl -fsSL https://claude.ai/install.sh | bash

579 > ```579 > ```

580 >580 >

581 > Jika instalasi masih gagal dengan salah satu error sertifikat tersebut, minta tim IT Anda untuk file yang berisi root certificate publik sekaligus rantai CA lengkap proxy Anda. Kemudian atur kedua variabel ke file tersebut.581 > Jika instalasi masih gagal dengan salah satu error sertifikat tersebut, mintalah kepada tim IT Anda file yang berisi sertifikat root publik sekaligus rantai CA lengkap proxy Anda. Kemudian atur kedua variabel ke file tersebut.

582 582 

583 > [tab] Windows PowerShell583 > [tab] Windows PowerShell

584 >584 >

585 > PowerShell installer mengunduh melalui .NET, yang memvalidasi TLS terhadap Windows certificate store. Minta tim IT Anda untuk menambahkan sertifikat CA proxy ke Windows store jika belum ada, kemudian jalankan installer:585 > Penginstal PowerShell mengunduh melalui .NET, yang memvalidasi TLS terhadap penyimpanan sertifikat Windows. Mintalah tim IT Anda untuk menambahkan sertifikat CA proxy ke penyimpanan Windows jika belum ada, lalu jalankan penginstal:

586 >586 >

587 > ```powershell theme={null}587 > ```powershell theme={null}

588 > irm https://claude.ai/install.ps1 | iex588 > irm https://claude.ai/install.ps1 | iex

589 > ```589 > ```

590 590 

591 Untuk Claude Code itu sendiri setelah diinstal, atur `NODE_EXTRA_CA_CERTS` sehingga permintaan API mempercayai bundle yang sama:591 Untuk Claude Code itu sendiri setelah terinstal, atur `NODE_EXTRA_CA_CERTS` agar permintaan API memercayai bundle yang sama:

592 592 

593 > [tab] macOS/Linux593 > [tab] macOS/Linux

594 >594 >


602 > $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'602 > $env:NODE_EXTRA_CA_CERTS = 'C:\path\to\corporate-ca.pem'

603 > ```603 > ```

604 604 

6054. **Di Windows, lewati pemeriksaan revokasi sertifikat yang diblokir**. Error `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` dan `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` berarti curl menjangkau server tetapi jaringan Anda memblokir pencarian revokasi sertifikat, yang umum di belakang firewall perusahaan. Jika perintah yang gagal adalah `curl` yang mengunduh `install.cmd`, jalankan ulang dari Command Prompt dengan `--ssl-revoke-best-effort` ditambahkan:6054. **Di Windows, gunakan solusi alternatif untuk mengatasi pemeriksaan revokasi yang diblokir**. Error `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` dan `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` berarti curl berhasil menjangkau server tetapi jaringan Anda memblokir pencarian revokasi sertifikat, yang umum terjadi di balik firewall perusahaan. Jika perintah yang gagal adalah `curl` yang mengunduh `install.cmd`, jalankan ulang dari Command Prompt dengan menambahkan `--ssl-revoke-best-effort`:

606 ```batch theme={null}606 ```batch theme={null}

607 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd607 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

608 ```608 ```

609 Ketika download script itu sendiri mengalami error yang sama, script mencoba ulang dengan pemeriksaan revokasi best-effort secara otomatis, jadi flag hanya diperlukan pada perintah yang Anda jalankan sendiri. Pemeriksaan best-effort mentoleransi server revokasi yang tidak dapat dijangkau tetapi masih menolak sertifikat yang diketahui telah dicabut, sesuai dengan cara browser menangani revokasi. Anda juga dapat menghindari pemeriksaan revokasi curl sepenuhnya dengan menjalankan PowerShell installer dari PowerShell, yang mengunduh melalui .NET dan tidak gagal ketika server revokasi tidak dapat dijangkau:609 Ketika unduhan milik skrip itu sendiri mengalami error yang sama, skrip secara otomatis mencobanya ulang dengan pemeriksaan revokasi best-effort, sehingga flag tersebut hanya diperlukan pada perintah yang Anda jalankan sendiri. Pemeriksaan best-effort menoleransi server revokasi yang tidak dapat dijangkau tetapi tetap menolak sertifikat yang diketahui telah dicabut, sesuai dengan cara browser menangani revokasi. Anda juga dapat sepenuhnya menghindari pemeriksaan revokasi curl dengan menjalankan penginstal PowerShell dari PowerShell, yang mengunduh melalui .NET dan tidak gagal ketika server revokasi tidak dapat dijangkau:

610 ```powershell theme={null}610 ```powershell theme={null}

611 irm https://claude.ai/install.ps1 | iex611 irm https://claude.ai/install.ps1 | iex

612 ```612 ```

613 Anda juga dapat menginstal dengan `winget install Anthropic.ClaudeCode`, yang menghindari curl sepenuhnya.613 Anda juga dapat menginstal dengan `winget install Anthropic.ClaudeCode`, yang sepenuhnya menghindari curl.

614 614 

615### `Failed to fetch version from downloads.claude.ai`615### `Failed to fetch version from downloads.claude.ai`

616 616 

617Bagian akhir pesan menyebutkan alasannya. Jika alasannya adalah error sertifikat seperti `unable to verify the first certificate`, lihat [TLS or SSL connection errors](#tls-or-ssl-connection-errors). Untuk alasan lainnya, lihat [Check network connectivity](#check-network-connectivity).617Bagian akhir pesan memberikan alasannya. Jika berupa error sertifikat seperti `unable to verify the first certificate`, lihat [Error koneksi TLS atau SSL](#tls-or-ssl-connection-errors). Untuk alasan lainnya, lihat [Periksa konektivitas jaringan](#check-network-connectivity).

618 618 

619### The connection dropped while downloading the update619### The connection dropped while downloading the update

620 620 

621Koneksi ke server download tertutup saat `claude install` atau `claude update` sedang mengambil binary Claude Code, dan retry tidak berhasil memulihkannya. Claude Code mencoba ulang download ketika koneksi terputus, transfer macet, atau file yang diunduh gagal dalam pemeriksaan checksum, hingga total tiga kali percobaan. Error HTTP yang sudah selesai, seperti 404, tidak dicoba ulang karena server sudah menjawab. Sebelum v2.1.202, satu koneksi yang terputus langsung menggagalkan download dengan error polos `aborted` alih-alih mencoba ulang.621Koneksi ke server unduhan tertutup saat `claude install` atau `claude update` sedang mengambil binary Claude Code, dan retry tidak berhasil memulihkannya. Claude Code mencoba ulang unduhan ketika koneksi terputus, transfer macet, atau file yang diunduh gagal dalam pemeriksaan checksum, hingga total tiga kali percobaan. Error HTTP yang sudah selesai, seperti 404, tidak dicoba ulang karena server sudah menjawab. Sebelum v2.1.202, satu koneksi yang terputus langsung menggagalkan unduhan dengan error polos `aborted` alih-alih mencoba ulang.

622 622 

623```text theme={null}623```text theme={null}

624The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.624The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.


626 626 

627Teks dalam tanda kurung menyebutkan percobaan mana yang gagal dan error jaringan yang mendasarinya. `claude update` mendahului pesan tersebut dengan `Error: Failed to install native update` di stderr.627Teks dalam tanda kurung menyebutkan percobaan mana yang gagal dan error jaringan yang mendasarinya. `claude update` mendahului pesan tersebut dengan `Error: Failed to install native update` di stderr.

628 628 

629Download yang tetap terhubung tetapi tidak selesai dalam 10 menit gagal dengan `Download timed out: exceeded the total deadline` sebagai gantinya. Claude Code tidak mencoba ulang download yang timeout, karena koneksi yang terlalu lambat untuk selesai dalam batas waktu juga tidak akan selesai pada retry langsung. Langkah-langkah di bawah berlaku untuk kedua pesan.629Unduhan yang tetap terhubung tetapi tidak selesai dalam 10 menit akan gagal dengan `Download timed out: exceeded the total deadline` sebagai gantinya. Claude Code tidak mencoba ulang unduhan yang kehabisan waktu, karena koneksi yang terlalu lambat untuk selesai dalam batas waktu juga tidak akan selesai pada retry langsung. Langkah-langkah di bawah berlaku untuk kedua pesan tersebut.

630 630 

631Proxy atau gateway dapat menutup transfer yang panjang sebelum selesai, dan binary Claude Code adalah download yang besar.631Proxy atau gateway dapat menutup transfer yang panjang sebelum selesai, dan binary Claude Code merupakan unduhan yang besar.

632 632 

633**Yang harus dilakukan:**633**Yang harus dilakukan:**

634 634 

635* Jalankan `claude update` lagi. Pada jaringan yang selain itu sehat, download biasanya berhasil pada percobaan berikutnya. Untuk pesan timeout, jalankan lagi dari jaringan yang lebih cepat atau kurang dibatasi.635* Jalankan `claude update` lagi. Pada jaringan yang selain itu sehat, unduhan biasanya berhasil pada percobaan berikutnya. Untuk pesan kehabisan waktu, jalankan lagi dari jaringan yang lebih cepat atau yang tidak terlalu dibatasi.

636* Jika jaringan Anda memerlukan proxy, atur `HTTPS_PROXY` sebelum menjalankan installer atau `claude update`. Lihat [Check network connectivity](#check-network-connectivity).636* Jika jaringan Anda memerlukan proxy, atur `HTTPS_PROXY` sebelum menjalankan penginstal atau `claude update`. Lihat [Periksa konektivitas jaringan](#check-network-connectivity).

637* Jika proxy perusahaan terus menutup transfer, minta tim jaringan Anda untuk mengizinkan download penuh dari `downloads.claude.ai`. Lihat [Network access requirements](https://code.claude.com/docs/id/network-config.md#network-access-requirements).637* Jika proxy perusahaan terus menutup transfer, mintalah tim jaringan Anda untuk mengizinkan unduhan penuh dari `downloads.claude.ai`. Lihat [Persyaratan akses jaringan](https://code.claude.com/docs/id/network-config.md#network-access-requirements).

638* Jalankan `claude doctor` dari shell Anda untuk diagnostik instalasi638* Jalankan `claude doctor` dari shell Anda untuk diagnostik instalasi

639 639 

640### Release verification failed for Claude Code640### Release verification failed for Claude Code

641 641 

642Pesan dari `claude update` atau `claude install` ini berarti Claude Code tidak dapat mengonfirmasi bahwa rilis yang akan diinstalnya asli, sehingga tidak ada yang diinstal. Versi apa pun yang sudah Anda miliki tetap berfungsi.642Pesan dari `claude update` atau `claude install` ini berarti Claude Code tidak dapat memastikan bahwa rilis yang akan diinstalnya asli, sehingga tidak menginstal apa pun. Versi apa pun yang sudah Anda miliki tetap berfungsi.

643 643 

644```text theme={null}644```text theme={null}

645Release verification failed for Claude Code <version> (<reason>). The update was not installed.645Release verification failed for Claude Code <version> (<reason>). The update was not installed.

646```646```

647 647 

648Ambil langkah yang sesuai dengan nilai dalam tanda kurung di pesan Anda:648Lakukan langkah yang sesuai dengan nilai dalam tanda kurung pada pesan Anda:

649 649 

650* **Nilai yang dimulai dengan `sidecar_fetch_`**: jalankan perintah yang sama lagi dari shell Anda. `claude update` berhasil jika mencetak baris yang dimulai dengan `Successfully updated from`, dan `claude install` berhasil jika mencetak `Claude Code successfully installed!`.650* **Nilai yang diawali dengan `sidecar_fetch_`**: jalankan lagi perintah yang sama dari shell Anda. `claude update` berhasil jika mencetak baris yang diawali dengan `Successfully updated from`, dan `claude install` berhasil jika mencetak `Claude Code successfully installed!`.

651* **Nilai lainnya**: coba perintah yang sama lagi nanti651* **Nilai lainnya**: coba lagi perintah yang sama nanti

652 652 

653Untuk nilai apa pun, jika pesan tersebut muncul lagi, [laporkan masalahnya](#still-stuck) dan sertakan pesan lengkapnya.653Dengan nilai apa pun, jika pesan tersebut terus muncul, [laporkan masalahnya](#still-stuck) dan sertakan pesan lengkapnya.

654 654 

655### `Auto-update failed · Run claude doctor` in the session footer655### `Auto-update failed · Run claude doctor` di footer sesi

656 656 

657Baris merah ini berarti Claude Code mencoba memperbarui dirinya sendiri di latar belakang dan pembaruan tersebut tidak terinstal. Anda dapat terus bekerja tanpa melakukan apa pun.657Baris merah ini berarti Claude Code mencoba memperbarui dirinya sendiri di latar belakang dan pembaruan tersebut tidak terinstal. Anda dapat terus bekerja tanpa melakukan apa pun.

658 658 

659Baris tersebut mengarahkan Anda ke `claude doctor`, yang baris `Last update attempt: failed (install_failed)`-nya memberikan tanggal tetapi tidak menyebutkan penyebab. Untuk menyelesaikan pembaruan atau melihat mengapa gagal, jalankan `claude update` di shell Anda sebagai gantinya. Jika instalasi itu juga gagal, cari error yang dicetak `claude update` di bawah [Find your error](#find-your-error).659Baris tersebut mengarahkan Anda ke `claude doctor`, yang baris `Last update attempt: failed (install_failed)`-nya memberikan tanggal tetapi tidak menyebutkan penyebabnya. Untuk menyelesaikan pembaruan atau melihat mengapa pembaruan gagal, jalankan `claude update` di shell Anda sebagai gantinya. Jika instalasi tersebut juga gagal, cari error yang dicetak oleh `claude update` di bawah [Temukan error Anda](#find-your-error).

660 660 

661### Wrong install command on Windows661### Perintah instalasi yang salah di Windows

662 662 

663Jika Anda melihat `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'`, atau `'bash' is not recognized as the name of a cmdlet`, Anda menyalin perintah install untuk shell atau sistem operasi yang berbeda. Jika perintah mencetak teks script alih-alih menginstal apa pun, Anda menjalankan hanya sebagian darinya.663Jika Anda melihat `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'`, atau `'bash' is not recognized as the name of a cmdlet`, Anda menyalin perintah instalasi untuk shell atau sistem operasi yang berbeda. Jika perintah mencetak teks skrip alih-alih menginstal apa pun, Anda hanya menjalankan sebagian darinya.

664 664 

665* **`irm` not recognized**: Anda berada di CMD, bukan PowerShell. Anda memiliki dua opsi:665* **`irm` tidak dikenali**: Anda berada di CMD, bukan PowerShell. Anda memiliki dua opsi:

666 666 

667 Buka PowerShell dengan mencari "PowerShell" di Start menu, kemudian jalankan perintah install asli:667 Buka PowerShell dengan mencari "PowerShell" di menu Start, lalu jalankan perintah instalasi aslinya:

668 668 

669 ```powershell theme={null}669 ```powershell theme={null}

670 irm https://claude.ai/install.ps1 | iex670 irm https://claude.ai/install.ps1 | iex

671 ```671 ```

672 672 

673 Atau tetap di CMD dan gunakan CMD installer sebagai gantinya:673 Atau tetap di CMD dan gunakan penginstal CMD sebagai gantinya:

674 674 

675 ```batch theme={null}675 ```batch theme={null}

676 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd676 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

677 ```677 ```

678 678 

679* **`&&` not a valid statement separator**: Anda berada di PowerShell tetapi menjalankan perintah CMD installer. Gunakan PowerShell installer:679* **`&&` bukan pemisah pernyataan yang valid**: Anda berada di PowerShell tetapi menjalankan perintah penginstal CMD. Gunakan penginstal PowerShell:

680 ```powershell theme={null}680 ```powershell theme={null}

681 irm https://claude.ai/install.ps1 | iex681 irm https://claude.ai/install.ps1 | iex

682 ```682 ```

683 683 

684* **`A parameter cannot be found that matches parameter name 'fsSL'`**: Anda menjalankan installer macOS/Linux `curl -fsSL ... | bash` di Windows PowerShell, di mana `curl` adalah alias untuk `Invoke-WebRequest` dan menolak flag `-fsSL`. Gunakan PowerShell installer sebagai gantinya:684* **`A parameter cannot be found that matches parameter name 'fsSL'`**: Anda menjalankan penginstal macOS/Linux `curl -fsSL ... | bash` di Windows PowerShell, tempat `curl` merupakan alias untuk `Invoke-WebRequest` dan menolak flag `-fsSL`. Gunakan penginstal PowerShell sebagai gantinya:

685 ```powershell theme={null}685 ```powershell theme={null}

686 irm https://claude.ai/install.ps1 | iex686 irm https://claude.ai/install.ps1 | iex

687 ```687 ```

688 688 

689* **`bash` not recognized**: Anda menjalankan installer macOS/Linux di Windows. Gunakan PowerShell installer sebagai gantinya:689* **`bash` tidak dikenali**: Anda menjalankan penginstal macOS/Linux di Windows. Gunakan penginstal PowerShell sebagai gantinya:

690 ```powershell theme={null}690 ```powershell theme={null}

691 irm https://claude.ai/install.ps1 | iex691 irm https://claude.ai/install.ps1 | iex

692 ```692 ```

693 693 

694* **Perintah mencetak teks script alih-alih menginstal**: Anda menjalankan bagian download dari perintah tanpa bagian yang mengeksekusinya. `irm https://claude.ai/install.ps1` sendirian mencetak script yang diunduh ke terminal. Salurkan ke `iex` untuk menjalankannya:694* **Perintah mencetak teks skrip alih-alih menginstal**: Anda menjalankan separuh perintah yang mengunduh tanpa bagian yang mengeksekusinya. `irm https://claude.ai/install.ps1` saja akan mencetak skrip yang diunduh ke terminal. Salurkan (pipe) ke `iex` untuk menjalankannya:

695 695 

696 ```powershell theme={null}696 ```powershell theme={null}

697 irm https://claude.ai/install.ps1 | iex697 irm https://claude.ai/install.ps1 | iex

698 ```698 ```

699 699 

700 Di CMD, `curl -fsSL https://claude.ai/install.cmd` tanpa `-o` mencetak batch script alih-alih menyimpannya. Jalankan perintah lengkap:700 Di CMD, `curl -fsSL https://claude.ai/install.cmd` tanpa `-o` mencetak skrip batch alih-alih menyimpannya. Jalankan perintah lengkapnya:

701 701 

702 ```batch theme={null}702 ```batch theme={null}

703 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd703 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

704 ```704 ```

705 705 

706Installer mana pun yang Anda gunakan, konfirmasi itu berfungsi: buka terminal baru dan jalankan `claude --version`, yang mencetak nomor versi seperti `2.1.211 (Claude Code)`.706Penginstal mana pun yang Anda gunakan, pastikan penginstal tersebut berhasil: buka terminal baru dan jalankan `claude --version`, yang mencetak nomor versi seperti `2.1.211 (Claude Code)`.

707 707 

708### `running scripts is disabled on this system`708### `running scripts is disabled on this system`

709 709 


715 + CategoryInfo : SecurityError: (:) [], PSSecurityException715 + CategoryInfo : SecurityError: (:) [], PSSecurityException

716```716```

717 717 

718Error yang sama menyebutkan `claude.ps1` ketika Anda menjalankan `claude` setelah npm install. Kebijakan eksekusi PowerShell memblokir script launcher `.ps1` yang npm buat untuk perintahnya. Kebijakan berlaku untuk file script, jadi tidak mempengaruhi PowerShell installer `irm https://claude.ai/install.ps1 | iex`, yang menjalankan teks yang diunduh secara langsung.718Error yang sama menyebutkan `claude.ps1` ketika Anda menjalankan `claude` setelah instalasi npm. Kebijakan eksekusi PowerShell memblokir skrip peluncur `.ps1` yang dibuat npm untuk perintah-perintahnya. Kebijakan tersebut berlaku untuk file skrip, sehingga tidak memengaruhi penginstal PowerShell `irm https://claude.ai/install.ps1 | iex`, yang menjalankan teks yang diunduh secara langsung.

719 719 

720**Solusi:**720**Solusi:**

721 721 

7221. **Izinkan script yang dibuat secara lokal untuk pengguna Anda**, kemudian coba ulang:7221. **Izinkan skrip yang dibuat secara lokal untuk pengguna Anda**, lalu coba lagi:

723 ```powershell theme={null}723 ```powershell theme={null}

724 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser724 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

725 ```725 ```

7262. **Panggil launcher `.cmd` sebagai gantinya**: `npm.cmd` dan `claude.cmd` melakukan pekerjaan yang sama, dan kebijakan tidak mencakup mereka.7262. **Panggil peluncur `.cmd` sebagai gantinya**: `npm.cmd` dan `claude.cmd` melakukan pekerjaan yang sama, dan kebijakan tersebut tidak mencakup keduanya.

7273. **Gunakan [PowerShell installer](https://code.claude.com/docs/id/setup.md#install-claude-code)** alih-alih npm. Ini menginstal binary alih-alih script `.ps1`.7273. **Gunakan [penginstal PowerShell](https://code.claude.com/docs/id/setup.md#install-claude-code)** alih-alih npm. Penginstal ini menginstal binary, bukan skrip `.ps1`.

728 728 

729### `The process cannot access the file` during Windows install729### `The process cannot access the file` saat instalasi Windows

730 730 

731Jika PowerShell installer gagal dengan `Failed to download binary: The process cannot access the file ... because it is being used by another process`, installer tidak dapat menulis ke `%USERPROFILE%\.claude\downloads`. Ini biasanya berarti upaya install sebelumnya masih berjalan, atau software antivirus memindai binary yang sebagian diunduh di folder itu.731Jika penginstal PowerShell gagal dengan `Failed to download binary: The process cannot access the file ... because it is being used by another process`, penginstal tidak dapat menulis ke `%USERPROFILE%\.claude\downloads`. Hal ini biasanya berarti upaya instalasi sebelumnya masih berjalan, atau perangkat lunak antivirus sedang memindai binary yang terunduh sebagian di folder tersebut.

732 732 

733Tutup jendela PowerShell lain yang menjalankan installer dan tunggu pemindaian antivirus melepaskan file. Kemudian hapus folder downloads dan jalankan installer lagi:733Tutup jendela PowerShell lain yang menjalankan penginstal dan tunggu hingga pemindaian antivirus melepaskan file tersebut. Kemudian hapus folder downloads dan jalankan penginstal lagi:

734 734 

735```powershell theme={null}735```powershell theme={null}

736Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"736Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"

737irm https://claude.ai/install.ps1 | iex737irm https://claude.ai/install.ps1 | iex

738```738```

739 739 

740### `claude.exe` missing after an update on Windows740### `claude.exe` hilang setelah pembaruan di Windows

741 741 

742Jika terminal Anda melaporkan `'claude' is not recognized` tepat setelah Claude Code diperbarui di Windows, periksa apakah `%USERPROFILE%\.local\bin` masih berisi `claude.exe`. Jika direktori itu tidak ada di PATH Anda sama sekali, lihat [Verifikasi PATH Anda](#verify-your-path) sebagai gantinya. Untuk memperbarui di Windows, Claude Code mengganti nama `claude.exe` yang ada ke samping sebagai backup dan memindahkan versi baru ke tempatnya. Jika memindahkan versi baru ke tempat gagal dan Claude Code tidak dapat mengganti nama backup kembali juga, direktori menyimpan backup tetapi tidak memiliki `claude.exe`.742Jika terminal Anda melaporkan `'claude' is not recognized` tepat setelah Claude Code diperbarui di Windows, periksa apakah `%USERPROFILE%\.local\bin` masih berisi `claude.exe`. Jika direktori tersebut sama sekali tidak ada di PATH Anda, lihat [Verifikasi PATH Anda](#verify-your-path) sebagai gantinya. Untuk memperbarui di Windows, Claude Code mengganti nama `claude.exe` yang ada menjadi cadangan dan memindahkan versi baru ke tempatnya. Jika pemindahan versi baru ke tempatnya gagal dan Claude Code juga tidak dapat mengembalikan nama cadangan tersebut, direktori tersebut tetap menyimpan cadangan tetapi tidak memiliki `claude.exe`.

743 743 

744Backup adalah file di direktori yang sama yang namanya dimulai dengan `claude.exe.old.` diikuti oleh timestamp numerik. Jalankan yang berikut di PowerShell untuk mengganti nama backup terbaru kembali ke `claude.exe`:744Cadangan tersebut adalah file di direktori yang sama yang namanya diawali dengan `claude.exe.old.` diikuti timestamp numerik. Jalankan perintah berikut di PowerShell untuk mengganti nama cadangan terbaru kembali menjadi `claude.exe`:

745 745 

746```powershell theme={null}746```powershell theme={null}

747Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe747Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe

748```748```

749 749 

750Kemudian jalankan `claude --version` untuk mengonfirmasi perbaikan. `claude.exe` yang dipulihkan mencetak nomor versi.750Kemudian jalankan `claude --version` untuk memastikan perbaikan berhasil. `claude.exe` yang dipulihkan akan mencetak nomor versi.

751 751 

752Jika tidak ada file `claude.exe.old.*`, atau `claude` masih gagal setelah penggantian nama, instal ulang sebagai gantinya:752Jika tidak ada file `claude.exe.old.*`, atau `claude` masih gagal setelah penggantian nama, instal ulang sebagai gantinya:

753 753 


755irm https://claude.ai/install.ps1 | iex755irm https://claude.ai/install.ps1 | iex

756```756```

757 757 

758Sebelum v2.1.281, Claude Code dapat menghapus backup sementara `claude.exe` masih hilang.758Sebelum v2.1.281, Claude Code dapat menghapus cadangan saat `claude.exe` masih hilang.

759 759 

760### Install killed on low-memory Linux servers760### Instalasi dihentikan di server Linux dengan memori rendah

761 761 

762Pesan `Killed` selama install biasanya berarti Linux out-of-memory (OOM) killer menghentikan langkah `claude install` karena sistem kehabisan memori bebas. Ini umum di VPS dan cloud instance kecil. Script install melaporkan penyebabnya dan keluar dengan kode 137. Dalam contoh ini, nomor baris dan ID proses bervariasi menurut rilis dan eksekusi:762Pesan `Killed` saat instalasi biasanya berarti OOM (out-of-memory) killer Linux menghentikan langkah `claude install` karena sistem kehabisan memori bebas. Hal ini umum terjadi pada VPS kecil dan instans cloud. Skrip instalasi melaporkan penyebabnya dan keluar dengan kode 137. Dalam contoh ini, nomor baris dan ID proses bervariasi menurut rilis dan eksekusi:

763 763 

764```text theme={null}764```text theme={null}

765Setting up Claude Code...765Setting up Claude Code...


768Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.768Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

769```769```

770 770 

771Instalasi memerlukan kira-kira 512 MB memori bebas, dan menjalankan Claude Code memerlukan lebih banyak. Lihat [system requirements](https://code.claude.com/docs/id/setup.md#system-requirements).771Instalasi memerlukan sekitar 512 MB memori bebas, dan menjalankan Claude Code memerlukan lebih banyak lagi. Lihat [persyaratan sistem](https://code.claude.com/docs/id/setup.md#system-requirements).

772 772 

773**Solusi:**773**Solusi:**

774 774 

7751. **Tambahkan swap space** jika server Anda memiliki RAM terbatas. Swap menggunakan ruang disk sebagai memori overflow, memungkinkan instalasi selesai bahkan dengan RAM fisik rendah.7751. **Tambahkan ruang swap** jika server Anda memiliki RAM terbatas. Swap menggunakan ruang disk sebagai memori luapan, sehingga instalasi dapat selesai meskipun RAM fisik rendah.

776 776 

777 Buat file swap 2 GB dan aktifkan:777 Buat file swap 2 GB dan aktifkan:

778 778 


783 sudo swapon /swapfile783 sudo swapon /swapfile

784 ```784 ```

785 785 

786 Kemudian coba ulang instalasi:786 Kemudian coba lagi instalasi:

787 787 

788 ```bash theme={null}788 ```bash theme={null}

789 curl -fsSL https://claude.ai/install.sh | bash789 curl -fsSL https://claude.ai/install.sh | bash

790 ```790 ```

791 791 

7922. **Tutup proses lain** untuk membebaskan memori sebelum menginstal.7922. **Tutup proses lain** untuk mengosongkan memori sebelum menginstal.

793 793 

7943. **Gunakan instance yang lebih besar** jika memungkinkan. Claude Code memerlukan setidaknya 4 GB RAM.7943. **Gunakan instans yang lebih besar** jika memungkinkan. Claude Code memerlukan RAM minimal 4 GB.

795 795 

796### Installation was killed before it could finish796### Installation was killed before it could finish

797 797 

798Script install melaporkan ketika langkah `claude install` dihentikan oleh sinyal. Di Linux, exit code 137 berarti proses menerima SIGKILL, dan pada host dengan memori rendah itu biasanya adalah kernel out-of-memory (OOM) killer. Script mencetak penjelasan ini dan keluar dengan kode 137:798Skrip instalasi melaporkan ketika langkah `claude install` dihentikan oleh sinyal. Di Linux, exit code 137 berarti proses menerima SIGKILL, dan pada host dengan memori rendah, itu biasanya berasal dari OOM (out-of-memory) killer kernel. Skrip mencetak penjelasan ini dan keluar dengan kode 137:

799 799 

800```text theme={null}800```text theme={null}

801Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.801Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

802Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.802Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

803```803```

804 804 

805Untuk sinyal fatal lainnya, dan untuk exit code 137 di macOS, script mencetak `Installation was killed before it could finish (exit code <N>)` dengan exit code yang sebenarnya dan menghilangkan penjelasan out-of-memory. Pesan ini berasal dari script install yang digunakan macOS dan Linux, yang juga mencakup instalasi di dalam WSL; script install Windows native tidak pernah mencetaknya. Sebelum v2.1.200, script keluar hanya dengan baris `Killed` polos dari shell.805Untuk sinyal fatal lainnya, dan untuk exit code 137 di macOS, skrip mencetak `Installation was killed before it could finish (exit code <N>)` dengan exit code yang sebenarnya dan menghilangkan penjelasan tentang kehabisan memori. Pesan ini berasal dari skrip instalasi yang digunakan macOS dan Linux, yang juga mencakup instalasi di dalam WSL; skrip instalasi Windows native tidak pernah mencetaknya. Sebelum v2.1.200, skrip keluar hanya dengan baris `Killed` polos dari shell.

806 806 

807**Yang harus dilakukan:**807**Yang harus dilakukan:**

808 808 

809* Hentikan proses lain untuk membebaskan memori, lalu jalankan ulang installer809* Hentikan proses lain untuk mengosongkan memori, lalu jalankan ulang penginstal

810* Tambahkan swap space atau pindah ke instance yang lebih besar. Lihat [Install killed on low-memory Linux servers](#install-killed-on-low-memory-linux-servers) untuk perintah file swap.810* Tambahkan ruang swap atau pindah ke instans yang lebih besar. Lihat [Instalasi dihentikan di server Linux dengan memori rendah](#install-killed-on-low-memory-linux-servers) untuk perintah file swap.

811 811 

812### Install hangs in Docker812### Instalasi macet di Docker

813 813 

814Saat menginstal Claude Code di Docker container, menginstal sebagai root ke `/` dapat menyebabkan hang.814Saat menginstal Claude Code di container Docker, menginstal sebagai root ke `/` dapat menyebabkan instalasi macet.

815 815 

816**Solusi:**816**Solusi:**

817 817 

8181. **Atur direktori kerja** sebelum menjalankan installer. Saat dijalankan dari `/`, installer memindai seluruh filesystem, yang menyebabkan penggunaan memori berlebihan. Mengatur `WORKDIR` membatasi pemindaian ke direktori kecil:8181. **Atur direktori kerja** sebelum menjalankan penginstal. Ketika dijalankan dari `/`, penginstal memindai seluruh filesystem, yang menyebabkan penggunaan memori berlebihan. Mengatur `WORKDIR` membatasi pemindaian ke direktori kecil:

819 ```dockerfile theme={null}819 ```dockerfile theme={null}

820 WORKDIR /tmp820 WORKDIR /tmp

821 RUN curl -fsSL https://claude.ai/install.sh | bash821 RUN curl -fsSL https://claude.ai/install.sh | bash

822 ```822 ```

823 823 

8242. **Berikan Docker lebih banyak memori** jika menggunakan Docker Desktop. Container build berbagi memori yang dialokasikan ke virtual machine Docker Desktop, jadi buka **Settings > Resources** di Docker Desktop, naikkan batas memori, dan jalankan ulang build.8242. **Berikan lebih banyak memori ke Docker** jika menggunakan Docker Desktop. Container build berbagi memori yang dialokasikan ke mesin virtual Docker Desktop, jadi buka **Settings > Resources** di Docker Desktop, naikkan batas memori, dan jalankan ulang build.

825 825 

826### `Raw mode is not supported` during install826### `Raw mode is not supported` saat instalasi

827 827 

828Ketika [server-managed settings](https://code.claude.com/docs/id/server-managed-settings.md) organisasi Anda menyertakan perubahan yang memerlukan [security approval](https://code.claude.com/docs/id/server-managed-settings.md#security-approval-dialogs), versi Claude Code sebelum 2.1.246 mencoba menampilkan dialog persetujuan selama `claude install`. Dialog memerlukan terminal di stdin. Ketika installer menjalankan `claude install` dari pipe, seperti yang dilakukan `curl -fsSL https://claude.ai/install.sh | bash`, stdin adalah pipe alih-alih terminal, jadi install gagal dengan error yang berisi `Raw mode is not supported`.828Ketika [pengaturan yang dikelola server](https://code.claude.com/docs/id/server-managed-settings.md) organisasi Anda menyertakan perubahan yang memerlukan [persetujuan keamanan](https://code.claude.com/docs/id/server-managed-settings.md#security-approval-dialogs), versi Claude Code sebelum 2.1.246 mencoba menampilkan dialog persetujuan selama `claude install`. Dialog tersebut memerlukan terminal pada stdin. Ketika penginstal menjalankan `claude install` dari pipe, seperti yang dilakukan `curl -fsSL https://claude.ai/install.sh | bash`, stdin adalah pipe dan bukan terminal, sehingga instalasi gagal dengan error yang berisi `Raw mode is not supported`.

829 829 

830Claude Code v2.1.246 dan lebih baru tidak menampilkan dialog selama `claude install` atau `claude update`. Perintah berjalan dengan pengaturan yang terakhir Anda setujui, dan Claude Code menampilkan dialog di sesi interaktif Anda berikutnya. Jika konfigurasi startup organisasi Anda [menunggu pengambilan pengaturan](https://code.claude.com/docs/id/server-managed-settings.md#enforce-fail-closed-startup), seperti ketika mengatur `forceRemoteSettingsRefresh`, dialog masih muncul selama perintah ini, dan install yang dijalankan dari pipe masih gagal.830Claude Code v2.1.246 dan yang lebih baru tidak menampilkan dialog tersebut selama `claude install` atau `claude update`. Perintah berjalan dengan pengaturan yang terakhir Anda setujui, dan Claude Code menampilkan dialog tersebut di sesi interaktif Anda berikutnya. Jika konfigurasi startup organisasi Anda [menunggu pengambilan pengaturan](https://code.claude.com/docs/id/server-managed-settings.md#enforce-fail-closed-startup), seperti ketika konfigurasi tersebut mengatur `forceRemoteSettingsRefresh`, dialog tersebut tetap muncul selama perintah-perintah ini, dan instalasi yang dijalankan dari pipe tetap gagal.

831 831 

832Di setiap konfigurasi lain, menjalankan ulang installer melewati error ini, karena script menjalankan perintah `install` rilis terbaru bahkan ketika Anda memintanya untuk menginstal versi yang lebih lama. Jalankan ulang perintah untuk platform Anda:832Dalam setiap konfigurasi lainnya, menjalankan ulang penginstal akan melewati error ini, karena skrip menjalankan perintah `install` dari rilis terbaru bahkan ketika Anda memintanya untuk menginstal versi yang lebih lama. Jalankan ulang perintah untuk platform Anda:

833 833 

834> [tab] macOS/Linux834> [tab] macOS/Linux

835>835>


845 845 

846`claude --version` mencetak versi yang diinstal oleh eksekusi ulang tersebut.846`claude --version` mencetak versi yang diinstal oleh eksekusi ulang tersebut.

847 847 

848### `claude update` or `claude doctor` hangs848### `claude update` atau `claude doctor` macet

849 849 

850`claude update` dan `claude doctor` memindai file konfigurasi shell Anda untuk alias `claude` yang sudah usang: `~/.zshrc`, `~/.bashrc`, dan `~/.config/fish/config.fish`, plus di macOS yang pertama dari `~/.bash_profile`, `~/.bash_login`, atau `~/.profile` yang ada. Jika Anda mengatur `ZDOTDIR`, file Zsh adalah `$ZDOTDIR/.zshrc` sebagai gantinya. Ketika salah satu path tersebut adalah direktori, Claude Code melewatinya dan kedua perintah selesai secara normal. Sebelum v2.1.214, direktori di salah satu path tersebut membuat kedua perintah hang dan meninggalkan bagian System diagnostics dari `/status` kosong. `claude doctor` hang tanpa output; `claude update` hang tepat setelah mencetak `Checking for updates`.850`claude update` dan `claude doctor` memindai file konfigurasi shell Anda untuk mencari alias `claude` yang usang: `~/.zshrc`, `~/.bashrc`, dan `~/.config/fish/config.fish`, ditambah di macOS file pertama yang ada di antara `~/.bash_profile`, `~/.bash_login`, atau `~/.profile`. Jika Anda mengatur `ZDOTDIR`, file Zsh-nya adalah `$ZDOTDIR/.zshrc` sebagai gantinya. Ketika salah satu path tersebut adalah direktori, Claude Code melewatinya dan kedua perintah selesai secara normal. Sebelum v2.1.214, direktori di salah satu path tersebut membuat kedua perintah macet dan membiarkan bagian System diagnostics dari `/status` kosong. `claude doctor` macet tanpa output; `claude update` macet tepat setelah mencetak `Checking for updates`.

851 851 

852Jika Anda mengalami hang pada versi sebelumnya, temukan direktorinya. Dalam output perintah ini, baris yang dimulai dengan `d` menandai path itu sebagai direktori. Baris `No such file or directory` berarti tidak ada apa pun di path itu dan bukan penyebabnya:852Jika Anda mengalami macet ini pada versi yang lebih lama, temukan direktori tersebut. Dalam output perintah ini, baris yang diawali dengan `d` menandai path tersebut sebagai direktori. Baris `No such file or directory` berarti tidak ada apa pun di path tersebut dan bukan penyebabnya:

853 853 

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

855ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish855ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish

856```856```

857 857 

858Pindahkan direktori ke samping, atau perbarui ke v2.1.214 atau lebih baru. Karena `claude update` hang pada versi yang terpengaruh, perbarui dengan menjalankan ulang [install script](https://code.claude.com/docs/id/setup.md#install-claude-code) sebagai gantinya.858Pindahkan direktori tersebut ke tempat lain, atau perbarui ke v2.1.214 atau yang lebih baru. Karena `claude update` macet pada versi yang terdampak, perbarui dengan menjalankan ulang [skrip instalasi](https://code.claude.com/docs/id/setup.md#install-claude-code) sebagai gantinya.

859 859 

860### Claude Desktop overrides the `claude` command on Windows860### Claude Desktop menimpa perintah `claude` di Windows

861 861 

862Jika Anda menginstal versi Claude Desktop yang lebih lama, aplikasi tersebut mungkin mendaftarkan `Claude.exe` di direktori `WindowsApps` yang mendapat prioritas PATH di atas Claude Code CLI. Menjalankan `claude` membuka Desktop app alih-alih CLI.862Jika Anda menginstal versi lama Claude Desktop, aplikasi tersebut mungkin mendaftarkan `Claude.exe` di direktori `WindowsApps` yang mendapat prioritas PATH di atas Claude Code CLI. Menjalankan `claude` akan membuka aplikasi Desktop alih-alih CLI.

863 863 

864Perbarui Claude Desktop ke versi terbaru untuk memperbaiki masalah ini.864Perbarui Claude Desktop ke versi terbaru untuk memperbaiki masalah ini.

865 865 

866### Claude Code on Windows requires either Git for Windows (for bash) or PowerShell866### Claude Code on Windows requires either Git for Windows (for bash) or PowerShell

867 867 

868Git for Windows bersifat opsional. Claude Code menggunakan [PowerShell tool](https://code.claude.com/docs/id/tools-reference.md#powershell-tool) saat Git Bash tidak ada, jadi error ini berarti tidak ada shell yang ditemukan.868Git for Windows bersifat opsional. Claude Code menggunakan [tool PowerShell](https://code.claude.com/docs/id/tools-reference.md#powershell-tool) ketika Git Bash tidak ada, sehingga error ini berarti tidak ada shell yang ditemukan.

869 869 

870**Jika PowerShell hilang dari PATH Anda**, lokasi defaultnya adalah `C:\Windows\System32\WindowsPowerShell\v1.0\`. Tambahkan direktori itu ke `PATH` Anda, atau instal [PowerShell 7](https://aka.ms/powershell), yang menyediakan `pwsh`.870**Jika PowerShell tidak ada di PATH Anda**, lokasi default-nya adalah `C:\Windows\System32\WindowsPowerShell\v1.0\`. Tambahkan direktori tersebut ke `PATH` Anda, atau instal [PowerShell 7](https://aka.ms/powershell), yang menyediakan `pwsh`.

871 871 

872**Untuk menginstal Git for Windows sebagai gantinya**, unduh dari [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Selama setup, pilih "Add to PATH." Restart terminal Anda setelah menginstal. Menginstalnya mengaktifkan Bash tool, berguna saat bekerja dengan script dan tooling berbasis Bash.872**Untuk menginstal Git for Windows sebagai gantinya**, unduh dari [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Selama penyiapan, pilih "Add to PATH." Mulai ulang terminal Anda setelah menginstal. Menginstalnya akan mengaktifkan tool Bash, yang berguna saat bekerja dengan skrip dan alat berbasis Bash.

873 873 

874**Jika Git sudah terinstal** tetapi Claude Code tidak dapat menemukannya, bandingkan lokasinya dengan tempat yang diperiksa Claude Code. Ketika `CLAUDE_CODE_GIT_BASH_PATH` tidak diatur, Claude Code mencari `bash.exe` dalam urutan ini:874**Jika Git sudah terinstal** tetapi Claude Code tidak dapat menemukannya, bandingkan lokasinya dengan tempat-tempat yang diperiksa Claude Code. Ketika `CLAUDE_CODE_GIT_BASH_PATH` tidak diatur, Claude Code mencari `bash.exe` dengan urutan berikut:

875 875 

8761. Lokasi instalasi default `C:\Program Files\Git` dan `C:\Program Files (x86)\Git`.8761. Lokasi instalasi default `C:\Program Files\Git` dan `C:\Program Files (x86)\Git`.

8772. `git` di `PATH` Anda, menggunakan `bin\bash.exe` dari instalasi Git itu.8772. `git` di `PATH` Anda, menggunakan `bin\bash.exe` dari instalasi Git tersebut.

878 878 

879Di langkah 2, Claude Code melewati `git` yang berada di folder tempat Anda meluncurkan Claude Code, atau di bawahnya di path yang berisi `node_modules` atau folder virtual-environment seperti `.venv` atau `env`, misalnya `C:\dev\env\myproject\Git` ketika Anda meluncurkan dari `C:\dev\env\myproject`. Ini mencegah Claude Code menjalankan executable yang ditempatkan proyek di sana. Jika Git Anda berada di lokasi seperti itu, arahkan `CLAUDE_CODE_GIT_BASH_PATH` ke sana.879Pada langkah 2, Claude Code melewati `git` yang berada di folder tempat Anda meluncurkan Claude Code, atau di bawahnya dalam path yang berisi `node_modules` atau folder virtual environment seperti `.venv` atau `env`, misalnya `C:\dev\env\myproject\Git` ketika Anda meluncurkan dari `C:\dev\env\myproject`. Hal ini mencegah Claude Code menjalankan executable yang ditempatkan di sana oleh sebuah proyek. Jika Git Anda berada di lokasi seperti itu, arahkan `CLAUDE_CODE_GIT_BASH_PATH` ke lokasi tersebut.

880 880 

881**Untuk mengarahkan Claude Code ke instalasi Git tertentu**, temukan dengan menjalankan `where.exe git` di PowerShell, kemudian atur path `bin\bash.exe` dari instalasi itu sebagai `CLAUDE_CODE_GIT_BASH_PATH` di [file settings.json](https://code.claude.com/docs/id/settings.md) Anda:881**Untuk mengarahkan Claude Code ke instalasi Git tertentu**, temukan dengan menjalankan `where.exe git` di PowerShell, lalu atur path `bin\bash.exe` dari instalasi tersebut sebagai `CLAUDE_CODE_GIT_BASH_PATH` di [file settings.json](https://code.claude.com/docs/id/settings.md) Anda:

882 882 

883```json theme={null}883```json theme={null}

884{884{


888}888}

889```889```

890 890 

891**Jika `CLAUDE_CODE_GIT_BASH_PATH` diatur ke path yang benar dan file ada** tetapi Claude Code masih tidak menggunakannya, periksa nama file terlebih dahulu. Claude Code hanya menerima file bernama `bash.exe`, `sh.exe`, `bash`, atau `sh`; dengan nama lain, seperti launcher `git-bash.exe` milik Git for Windows, Claude Code mengabaikan variabel dan mendeteksi Git Bash secara otomatis seolah-olah variabel tidak diatur, sambil mencatat warning yang terlihat dengan `--debug`. Path yang tidak ada mendapat fallback dan warning yang sama. Sebelum v2.1.219, Claude Code menggunakan file apa pun yang ada sebagai shell tanpa memeriksa namanya, dan keluar saat startup dengan `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` ketika path tidak ada.891**Jika `CLAUDE_CODE_GIT_BASH_PATH` diatur ke path yang benar dan file tersebut ada** tetapi Claude Code tetap tidak menggunakannya, periksa nama file tersebut terlebih dahulu. Claude Code hanya menerima file bernama `bash.exe`, `sh.exe`, `bash`, atau `sh`; dengan nama lain, seperti peluncur `git-bash.exe` milik Git for Windows, Claude Code mengabaikan variabel tersebut dan mendeteksi Git Bash secara otomatis seolah-olah variabel itu tidak diatur, sambil mencatat peringatan yang terlihat dengan `--debug`. Path yang tidak ada mendapatkan fallback dan peringatan yang sama. Sebelum v2.1.219, Claude Code menggunakan file apa pun yang ada sebagai shell tanpa memeriksa namanya, dan keluar saat startup dengan `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` ketika path tersebut tidak ada.

892 892 

893Jika nama file benar, software endpoint security seperti AppLocker, Group Policy software restriction policies, atau EDR agent mungkin mengganggu. Minta tim IT Anda untuk memasukkan `claude.exe` dan proses yang dijalankannya, termasuk `cmd.exe` dan `bash.exe`, ke allowlist dalam kebijakan endpoint protection Anda.893Jika nama file sudah benar, perangkat lunak keamanan endpoint seperti AppLocker, kebijakan pembatasan perangkat lunak Group Policy, atau agent EDR mungkin mengganggu. Mintalah tim IT Anda untuk menambahkan `claude.exe` dan proses yang dijalankannya, termasuk `cmd.exe` dan `bash.exe`, ke allowlist dalam kebijakan perlindungan endpoint Anda.

894 894 

895### Claude Code does not support 32-bit Windows895### Claude Code does not support 32-bit Windows

896 896 

897Windows menyertakan dua entri PowerShell di Start menu: `Windows PowerShell` dan `Windows PowerShell (x86)`. Entri x86 berjalan sebagai proses 32-bit dan memicu error ini bahkan di mesin 64-bit. Untuk memeriksa kasus mana yang Anda alami, jalankan ini di jendela yang sama yang menghasilkan error:897Windows menyertakan dua entri PowerShell di menu Start: `Windows PowerShell` dan `Windows PowerShell (x86)`. Entri x86 berjalan sebagai proses 32-bit dan memicu error ini bahkan pada mesin 64-bit. Untuk memeriksa kasus mana yang Anda alami, jalankan ini di jendela yang sama yang menghasilkan error:

898 898 

899```powershell theme={null}899```powershell theme={null}

900[Environment]::Is64BitOperatingSystem900[Environment]::Is64BitOperatingSystem

901```901```

902 902 

903Jika ini mencetak `True`, sistem operasi Anda baik-baik saja. Tutup jendela, buka `Windows PowerShell` tanpa suffix x86, dan jalankan perintah install lagi.903Jika ini mencetak `True`, sistem operasi Anda tidak bermasalah. Tutup jendela tersebut, buka `Windows PowerShell` tanpa akhiran x86, dan jalankan lagi perintah instalasi.

904 904 

905Jika ini mencetak `False`, Anda berada di edisi Windows 32-bit. Claude Code memerlukan sistem operasi 64-bit. Lihat [system requirements](https://code.claude.com/docs/id/setup.md#system-requirements).905Jika ini mencetak `False`, Anda menggunakan edisi Windows 32-bit. Claude Code memerlukan sistem operasi 64-bit. Lihat [persyaratan sistem](https://code.claude.com/docs/id/setup.md#system-requirements).

906 906 

907### Linux musl or glibc binary mismatch907### Ketidakcocokan binary musl atau glibc di Linux

908 908 

909Jika Anda melihat error tentang shared libraries yang hilang seperti `libstdc++.so.6` atau `libgcc_s.so.1` setelah instalasi, installer mungkin telah mengunduh varian binary yang salah untuk sistem Anda.909Jika Anda melihat error tentang shared library yang hilang seperti `ld-linux-x86-64.so.2` atau `ld-linux-aarch64.so.1` setelah instalasi, penginstal mungkin telah mengunduh varian binary yang salah untuk sistem Anda.

910 910 

911```text theme={null}911```text theme={null}

912Error loading shared library libstdc++.so.6: No such file or directory912Error loading shared library ld-linux-x86-64.so.2: No such file or directory

913```913```

914 914 

915Ini dapat terjadi pada sistem berbasis glibc yang memiliki paket cross-compilation musl terinstal, menyebabkan installer salah mendeteksi sistem sebagai musl.

916 

917**Solusi:**915**Solusi:**

918 916 

9191. **Periksa libc mana yang digunakan sistem Anda**:9171. **Periksa libc mana yang digunakan sistem Anda**:


922 ```920 ```

923 Output yang menyebutkan `GNU libc` atau `GLIBC` berarti glibc. Output yang menyebutkan `musl` berarti musl.921 Output yang menyebutkan `GNU libc` atau `GLIBC` berarti glibc. Output yang menyebutkan `musl` berarti musl.

924 922 

9252. **Jika Anda berada di glibc tetapi mendapat binary musl**, hapus instalasi dan instal ulang. Anda juga dapat secara manual mengunduh binary yang benar menggunakan manifest di `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Buat [GitHub issue](https://github.com/anthropics/claude-code/issues) dengan output `ldd --version` dan `ls /lib/libc.musl*`.9232. **Jika Anda menggunakan glibc tetapi mendapatkan binary musl**, hapus instalasi dan instal ulang. Anda juga dapat mengunduh binary yang benar secara manual menggunakan manifest di `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Ajukan [issue GitHub](https://github.com/anthropics/claude-code/issues) dengan output dari `ldd --version` dan `ls /lib/libc.musl*`.

926 924 

9273. **Jika Anda benar-benar di musl**, seperti Alpine Linux, instal paket yang diperlukan:9253. **Jika Anda menggunakan musl tetapi mendapatkan binary glibc**, [hapus instalasi](https://code.claude.com/docs/id/setup.md#uninstall-claude-code). Di Alpine Linux, instal terlebih dahulu paket-paket yang disebutkan dalam [penyiapan Alpine Linux](https://code.claude.com/docs/id/setup.md#alpine-linux-and-musl-based-distributions). Kemudian jalankan [perintah instalasi](https://code.claude.com/docs/id/setup.md#install-claude-code), yang menginstal binary musl.

928 ```bash theme={null}

929 apk add libgcc libstdc++ ripgrep

930 ```

931 Di Alpine, `ripgrep` berada di community repository. Jika `apk` melaporkan bahwa paket hilang, lihat [Alpine Linux setup](https://code.claude.com/docs/id/setup.md#alpine-linux-and-musl-based-distributions).

932 926 

933### `Illegal instruction`927### `Illegal instruction`

934 928 

935Jika menjalankan `claude` atau installer mencetak `Illegal instruction`, binary native menggunakan instruksi CPU yang tidak didukung prosesor Anda. Ada dua penyebab yang berbeda.929Jika menjalankan `claude` atau penginstal mencetak `Illegal instruction`, binary native menggunakan instruksi CPU yang tidak didukung prosesor Anda. Ada dua penyebab berbeda.

936 930 

937**Ketidakcocokan arsitektur.** Installer mengunduh binary yang salah, misalnya x86 di server ARM. Periksa dengan `uname -m` di macOS atau Linux, atau `$env:PROCESSOR_ARCHITECTURE` di PowerShell. Jika hasilnya tidak cocok dengan binary yang Anda terima, [buat GitHub issue](https://github.com/anthropics/claude-code/issues) dengan output tersebut.931**Ketidakcocokan arsitektur.** Penginstal mengunduh binary yang salah, misalnya x86 pada server ARM. Periksa dengan `uname -m` di macOS atau Linux, atau `$env:PROCESSOR_ARCHITECTURE` di PowerShell. Jika hasilnya tidak cocok dengan binary yang Anda terima, [ajukan issue GitHub](https://github.com/anthropics/claude-code/issues) dengan output tersebut.

938 932 

939**Set instruksi AVX tidak ada.** Jika arsitektur Anda benar tetapi Anda masih melihat `Illegal instruction`, CPU Anda mungkin tidak memiliki AVX atau instruksi lain yang diperlukan binary. Ini mempengaruhi kira-kira prosesor Intel dan AMD sebelum 2013, dan virtual machine di mana hypervisor tidak meneruskan AVX ke guest.933**Set instruksi AVX tidak ada.** Jika arsitektur Anda benar tetapi Anda masih melihat `Illegal instruction`, CPU Anda kemungkinan tidak memiliki AVX atau instruksi lain yang diperlukan binary. Hal ini memengaruhi prosesor Intel dan AMD dari sekitar sebelum tahun 2013, serta mesin virtual yang hypervisor-nya tidak meneruskan AVX ke guest.

940 934 

941Di VPS atau VM, jalankan `grep -m1 -ow avx /proc/cpuinfo`; hasil kosong berarti AVX tidak tersedia untuk guest.935Pada VPS atau VM, jalankan `grep -m1 -ow avx /proc/cpuinfo`; hasil kosong berarti AVX tidak tersedia untuk guest.

942 936 

943Tidak ada workaround untuk binary native; pantau [issue #50384](https://github.com/anthropics/claude-code/issues/50384) untuk status, dan sertakan model CPU Anda dari `grep -m1 "model name" /proc/cpuinfo` di Linux atau `sysctl -n machdep.cpu.brand_string` di macOS saat melaporkan.937Tidak ada solusi alternatif untuk binary native; pantau [issue #50384](https://github.com/anthropics/claude-code/issues/50384) untuk statusnya, dan sertakan model CPU Anda dari `grep -m1 "model name" /proc/cpuinfo` di Linux atau `sysctl -n machdep.cpu.brand_string` di macOS saat melapor.

944 938 

945Metode instalasi alternatif mengunduh binary native yang sama dan tidak akan menyelesaikan penyebab mana pun.939Metode instalasi alternatif mengunduh binary native yang sama dan tidak akan mengatasi kedua penyebab tersebut.

946 940 

947### `dyld: cannot load` on macOS941### `dyld: cannot load` di macOS

948 942 

949Jika Anda melihat `dyld: Symbol not found`, `dyld: cannot load`, atau `Abort trap: 6` selama instalasi, binary tidak kompatibel dengan versi macOS atau hardware Anda.943Jika Anda melihat `dyld: Symbol not found`, `dyld: cannot load`, atau `Abort trap: 6` saat instalasi, binary tersebut tidak kompatibel dengan versi macOS atau perangkat keras Anda.

950 944 

951Error `Symbol not found` yang mereferensikan `libicucore` berarti versi macOS Anda lebih lama dari yang didukung binary:945Error `Symbol not found` yang merujuk ke `libicucore` berarti versi macOS Anda lebih lama daripada yang didukung binary:

952 946 

953```text theme={null}947```text theme={null}

954dyld: Symbol not found: _ubrk_clone948dyld: Symbol not found: _ubrk_clone


956 Expected in: /usr/lib/libicucore.A.dylib950 Expected in: /usr/lib/libicucore.A.dylib

957```951```

958 952 

959Loader dapat juga menolak load commands binary, yang juga berarti versi macOS Anda terlalu lama:953Loader juga dapat menolak load command binary, yang juga berarti versi macOS Anda terlalu lama:

960 954 

961```text theme={null}955```text theme={null}

962dyld: cannot load 'claude-2.1.42-darwin-x64' (load command 0x80000034 is unknown)956dyld: cannot load 'claude-2.1.42-darwin-x64' (load command 0x80000034 is unknown)


965 959 

966**Solusi:**960**Solusi:**

967 961 

9681. **Periksa versi macOS Anda**: Claude Code memerlukan macOS 13.0 atau lebih baru. Buka menu Apple dan pilih About This Mac untuk memeriksa versi Anda.9621. **Periksa versi macOS Anda**: Claude Code memerlukan macOS 13.0 atau yang lebih baru. Buka menu Apple dan pilih About This Mac untuk memeriksa versi Anda.

969 963 

9702. **Perbarui macOS** jika Anda berada di versi yang lebih lama. Binary menggunakan load commands dan system libraries yang tidak didukung versi macOS yang lebih lama. Metode instalasi alternatif seperti Homebrew mengunduh binary yang sama dan tidak akan menyelesaikan error ini.9642. **Perbarui macOS** jika Anda menggunakan versi yang lebih lama. Binary menggunakan load command dan library sistem yang tidak didukung oleh versi macOS yang lebih lama. Metode instalasi alternatif seperti Homebrew mengunduh binary yang sama dan tidak akan mengatasi error ini.

971 965 

972### `Bus error` while a session is running966### `Bus error` saat sesi sedang berjalan

973 967 

974Jika sesi yang sedang berjalan keluar dan shell Anda mencetak `Bus error`, salah satu penyebabnya adalah Claude Code tidak lagi dapat membaca file executable-nya sendiri dari disk. Misalnya, file tersebut terpotong, atau dihapus di network storage, saat sesi berjalan.968Jika sesi yang sedang berjalan keluar dan shell Anda mencetak `Bus error`, salah satu penyebabnya adalah Claude Code tidak lagi dapat membaca file executable-nya sendiri dari disk. Misalnya, file tersebut terpotong, atau dihapus di penyimpanan jaringan, saat sesi berjalan.

975 969 

976Sebelum pesan dari shell, runtime Claude Code dapat mencetak laporan crash yang menyertakan `panic(main thread): Bus error at address` dan `oh no: Bun has crashed. This indicates a bug in Bun, not your code.` Ketika executable menjadi tidak dapat dibaca, crash berasal dari file yang tidak dapat dibaca, bukan dari bug di Bun. Laporan tersebut juga bisa tidak muncul, jika runtime juga tidak dapat membaca kode yang mencetaknya.970Sebelum pesan shell, runtime Claude Code dapat mencetak laporan crash yang mencakup `panic(main thread): Bus error at address` dan `oh no: Bun has crashed. This indicates a bug in Bun, not your code.` Ketika executable menjadi tidak dapat dibaca, crash tersebut berasal dari file yang tidak dapat dibaca, bukan dari bug di Bun. Laporan tersebut juga bisa tidak muncul, jika runtime juga tidak dapat membaca kode yang mencetaknya.

977 971 

978Mulai sesi baru untuk melanjutkan. Jika Claude Code diinstal di network storage, ikuti [Install on network storage](https://code.claude.com/docs/id/setup.md#install-on-network-storage) agar upgrade tidak menghapus binary yang masih dibutuhkan oleh sesi yang sedang berjalan.972Mulai sesi baru untuk melanjutkan. Jika Claude Code diinstal di penyimpanan jaringan, ikuti [Instal di penyimpanan jaringan](https://code.claude.com/docs/id/setup.md#install-on-network-storage) agar peningkatan versi tidak menghapus binary yang masih dibutuhkan oleh sesi yang sedang berjalan.

979 973 

980### `Exec format error` on WSL1974### `Exec format error` di WSL1

981 975 

982Jika menjalankan `claude` di WSL mencetak `cannot execute binary file: Exec format error`, Anda berada di WSL1 dan mengalami regresi binary native yang sudah diketahui dan dilacak di [issue #38788](https://github.com/anthropics/claude-code/issues/38788). Program headers binary berubah dengan cara yang tidak dapat ditangani oleh loader WSL1.976Jika menjalankan `claude` di WSL mencetak `cannot execute binary file: Exec format error`, Anda menggunakan WSL1 dan mengalami regresi binary native yang diketahui dan dilacak di [issue #38788](https://github.com/anthropics/claude-code/issues/38788). Program header binary berubah dengan cara yang tidak dapat ditangani oleh loader WSL1.

983 977 

984Perbaikan paling bersih adalah mengonversi distribusi Anda ke WSL2 dari PowerShell:978Perbaikan paling bersih adalah mengonversi distribusi Anda ke WSL2 dari PowerShell:

985 979 


987wsl --set-version <DistroName> 2981wsl --set-version <DistroName> 2

988```982```

989 983 

990Jika Anda perlu tetap di WSL1, panggil binary melalui dynamic linker. Tambahkan fungsi ini ke `~/.bashrc` di dalam WSL, ganti path jika direktori home Anda berbeda:984Jika Anda perlu tetap menggunakan WSL1, panggil binary melalui dynamic linker. Tambahkan fungsi ini ke `~/.bashrc` di dalam WSL, ganti path-nya jika direktori home Anda berbeda:

991 985 

992```bash theme={null}986```bash theme={null}

993claude() {987claude() {


995}989}

996```990```

997 991 

998Kemudian jalankan `source ~/.bashrc` dan coba ulang `claude`.992Kemudian jalankan `source ~/.bashrc` dan coba lagi `claude`.

999 993 

1000### npm install errors in WSL994### Error instalasi npm di WSL

1001 995 

1002Masalah ini berlaku jika Anda menginstal Claude Code dengan `npm install -g` di dalam WSL. Jika Anda menggunakan [native installer](https://code.claude.com/docs/id/setup.md), lewati bagian ini. Di npm 12, instal seperti yang dijelaskan dalam [Memperbaiki instalasi npm 12](#fix-an-npm-12-install).996Masalah-masalah ini berlaku jika Anda menginstal Claude Code dengan `npm install -g` di dalam WSL. Jika Anda menggunakan [penginstal native](https://code.claude.com/docs/id/setup.md), lewati bagian ini. Di npm 12, instal sebagaimana dijelaskan di [Perbaiki instalasi npm 12](#fix-an-npm-12-install).

1003 997 

1004**Masalah deteksi OS atau platform.** Jika npm melaporkan ketidakcocokan platform selama instalasi, WSL mungkin mengambil `npm` Windows. Jalankan `npm config set os linux` terlebih dahulu, kemudian instal dengan `npm install -g @anthropic-ai/claude-code --force`. Jangan gunakan `sudo`.998**Masalah deteksi OS atau platform.** Jika npm melaporkan ketidakcocokan platform saat instalasi, WSL kemungkinan menggunakan `npm` Windows. Jalankan `npm config set os linux` terlebih dahulu, lalu instal dengan `npm install -g @anthropic-ai/claude-code --force`. Jangan gunakan `sudo`.

1005 999 

1006**`exec: node: not found` saat menjalankan `claude`.** Lingkungan WSL Anda mungkin menggunakan instalasi Windows Node.js. Konfirmasi dengan `which npm` dan `which node`: path yang dimulai dengan `/mnt/c/` adalah binary Windows, sementara path Linux dimulai dengan `/usr/`. Untuk memperbaiki ini, instal Node melalui package manager distribusi Linux Anda atau melalui [`nvm`](https://github.com/nvm-sh/nvm).1000**`exec: node: not found` saat menjalankan `claude`.** Lingkungan WSL Anda kemungkinan menggunakan instalasi Node.js Windows. Konfirmasikan dengan `which npm` dan `which node`: path yang diawali dengan `/mnt/c/` adalah binary Windows, sedangkan path Linux diawali dengan `/usr/`. Untuk memperbaikinya, instal Node melalui package manager distribusi Linux Anda atau melalui [`nvm`](https://github.com/nvm-sh/nvm).

1007 1001 

1008**Konflik versi nvm.** Jika Anda memiliki nvm terinstal di WSL dan Windows, beralih versi Node di WSL mungkin rusak karena WSL mengimpor PATH Windows secara default dan nvm Windows mendapat prioritas. Penyebab paling umum adalah nvm tidak dimuat di shell Anda. Tambahkan nvm loader ke `~/.bashrc` atau `~/.zshrc`:1002**Konflik versi nvm.** Jika Anda memiliki nvm yang terinstal di WSL dan Windows, berpindah versi Node di WSL mungkin gagal karena WSL mengimpor PATH Windows secara default dan nvm Windows mendapat prioritas. Penyebab paling umum adalah nvm tidak dimuat di shell Anda. Tambahkan loader nvm ke `~/.bashrc` atau `~/.zshrc`:

1009 1003 

1010```bash theme={null}1004```bash theme={null}

1011export NVM_DIR="$HOME/.nvm"1005export NVM_DIR="$HOME/.nvm"


1013[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"1007[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

1014```1008```

1015 1009 

1016Atau muat di sesi saat ini:1010Atau muat di sesi Anda saat ini:

1017 1011 

1018```bash theme={null}1012```bash theme={null}

1019source ~/.nvm/nvm.sh1013source ~/.nvm/nvm.sh

1020```1014```

1021 1015 

1022Jika nvm dimuat tetapi path Windows masih mendapat prioritas, tambahkan path Node Linux Anda di depan secara eksplisit:1016Jika nvm sudah dimuat tetapi path Windows masih mendapat prioritas, tambahkan path Node Linux Anda di awal secara eksplisit:

1023 1017 

1024```bash theme={null}1018```bash theme={null}

1025export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"1019export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"


1027 1021 

1028> [!WARNING]1022> [!WARNING]

1029>1023>

1030> Hindari menonaktifkan impor PATH Windows melalui `appendWindowsPath = false` karena ini merusak kemampuan untuk memanggil executable Windows dari WSL. Demikian pula, hindari menghapus instalasi Node.js dari Windows jika Anda menggunakannya untuk pengembangan Windows.1024> Hindari menonaktifkan impor PATH Windows melalui `appendWindowsPath = false` karena hal ini merusak kemampuan untuk memanggil executable Windows dari WSL. Demikian pula, hindari menghapus instalasi Node.js dari Windows jika Anda menggunakannya untuk pengembangan Windows.

1031 1025 

1032### Permission errors during installation1026### Error permission saat instalasi

1033 1027 

1034Jika native installer gagal dengan error permission, direktori target mungkin tidak dapat ditulis. Lihat [Check directory permissions](#check-directory-permissions).1028Jika penginstal native gagal dengan error permission, direktori target mungkin tidak dapat ditulis. Lihat [Periksa hak akses direktori](#check-directory-permissions).

1035 1029 

1036Jika Anda sebelumnya menginstal dengan npm dan mengalami error permission khusus npm, beralih ke native installer:1030Jika sebelumnya Anda menginstal dengan npm dan mengalami error permission khusus npm, beralihlah ke penginstal native:

1037 1031 

1038```bash theme={null}1032```bash theme={null}

1039curl -fsSL https://claude.ai/install.sh | bash1033curl -fsSL https://claude.ai/install.sh | bash

1040```1034```

1041 1035 

1042### Native binary not found after npm install1036### Binary native tidak ditemukan setelah instalasi npm

1043 1037 

1044Paket npm `@anthropic-ai/claude-code` mengunduh binary native sebagai optional dependency per platform, seperti `@anthropic-ai/claude-code-darwin-arm64`. `claude` adalah script placeholder sampai langkah postinstall paket `@anthropic-ai/claude-code` berjalan dan mengganti placeholder tersebut dengan binary itu. Jika download atau langkah postinstall dilewati, placeholder tetap ada, dan menjalankan `claude` di macOS dan Linux mencetak:1038Paket npm `@anthropic-ai/claude-code` mengunduh binary native sebagai dependensi opsional per platform, seperti `@anthropic-ai/claude-code-darwin-arm64`. `claude` merupakan skrip placeholder hingga langkah postinstall paket `@anthropic-ai/claude-code` berjalan dan mengganti placeholder tersebut dengan binary itu. Jika unduhan atau langkah postinstall dilewati, placeholder tetap berada di tempatnya, dan menjalankan `claude` di macOS dan Linux akan mencetak:

1045 1039 

1046```text theme={null}1040```text theme={null}

1047Error: claude native binary not installed.1041Error: claude native binary not installed.


1056Or reinstall without --ignore-scripts / --omit=optional.1050Or reinstall without --ignore-scripts / --omit=optional.

1057```1051```

1058 1052 

1059Di Windows, `bin/claude.exe` adalah script placeholder yang sama alih-alih executable nyata, jadi PowerShell dan CMD melaporkan bahwa mereka tidak dapat menjalankan file alih-alih mencetak pesan ini.1053Di Windows, `bin/claude.exe` adalah placeholder skrip shell yang sama, bukan executable sungguhan, sehingga PowerShell dan CMD melaporkan bahwa mereka tidak dapat menjalankan file tersebut alih-alih mencetak pesan ini.

1060 1054 

1061Periksa penyebab berikut:1055Periksa penyebab-penyebab berikut:

1062 1056 

1063* **npm 12 melewati langkah postinstall secara default.** Ketika Anda menginstal atau memperbarui Claude Code dengan npm 12, npm tetap menyelesaikan instalasi tanpa menjalankan langkah tersebut. Lihat [Memperbaiki instalasi npm 12](#fix-an-npm-12-install).1057* **npm 12 melewati langkah postinstall secara default.** Ketika Anda menginstal atau memperbarui Claude Code dengan npm 12, npm tetap menyelesaikan instalasi tanpa menjalankan langkah tersebut. Lihat [Perbaiki instalasi npm 12](#fix-an-npm-12-install).

1064* **Optional dependencies dinonaktifkan.** Hapus `--omit=optional` dari perintah npm install Anda, `--no-optional` dari pnpm, atau `--ignore-optional` dari yarn, dan periksa bahwa `.npmrc` tidak mengatur `optional=false`. Kemudian instal ulang. Binary native disampaikan hanya sebagai optional dependency, jadi tidak ada fallback JavaScript jika dilewati, dan menjalankan `install.cjs` lagi tidak dapat menempatkan binary yang tidak pernah diunduh.1058* **Dependensi opsional dinonaktifkan.** Hapus `--omit=optional` dari perintah instalasi npm Anda, `--no-optional` dari pnpm, atau `--ignore-optional` dari yarn, dan periksa bahwa `.npmrc` tidak mengatur `optional=false`. Kemudian instal ulang. Binary native hanya dikirimkan sebagai dependensi opsional, sehingga tidak ada fallback JavaScript jika dilewati, dan menjalankan `install.cjs` lagi tidak dapat menempatkan binary yang tidak pernah diunduh.

1065* **Install scripts dinonaktifkan.** `--ignore-scripts` dan beberapa konfigurasi pnpm melewati langkah postinstall tetapi masih mengunduh paket platform. Jalankan `node node_modules/@anthropic-ai/claude-code/install.cjs` seperti yang disarankan pesan, atau instal ulang tanpa flag. Jika postinstall tidak dapat berjalan di lingkungan Anda sama sekali, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` menemukan paket yang diunduh dan meluncurkannya, dengan biaya proses Node tambahan di setiap start. Jika wrapper mencetak `Could not find native binary package` sebagai gantinya, paket platform tidak pernah diunduh, jadi perbaiki penyebab optional-dependencies di atas terlebih dahulu.1059* **Skrip instalasi dinonaktifkan.** `--ignore-scripts` dan beberapa konfigurasi pnpm melewati langkah postinstall tetapi tetap mengunduh paket platform. Jalankan `node node_modules/@anthropic-ai/claude-code/install.cjs` seperti yang disarankan pesan tersebut, atau instal ulang tanpa flag tersebut. Jika postinstall sama sekali tidak dapat berjalan di lingkungan Anda, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` menemukan paket yang diunduh dan meluncurkannya, dengan konsekuensi adanya proses Node tambahan pada setiap startup. Jika wrapper mencetak `Could not find native binary package` sebagai gantinya, paket platform tidak pernah diunduh, jadi perbaiki terlebih dahulu penyebab dependensi opsional di atas.

1066* **Platform tidak didukung.** Binary prebuilt dipublikasikan untuk `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, dan `win32-arm64`. Claude Code tidak menyediakan binary untuk platform lain; lihat [system requirements](https://code.claude.com/docs/id/setup.md#system-requirements). Di FreeBSD, installer melaporkan platform sebagai tidak didukung. Sebelum v2.1.205, installer memperlakukan FreeBSD sebagai Linux dan mengunduh binary yang tidak dapat dijalankan.1060* **Platform tidak didukung.** Binary prebuilt dipublikasikan untuk `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, dan `win32-arm64`. Claude Code tidak menyediakan binary untuk platform lain; lihat [persyaratan sistem](https://code.claude.com/docs/id/setup.md#system-requirements). Di FreeBSD, penginstal melaporkan platform tersebut sebagai tidak didukung. Sebelum v2.1.205, penginstal memperlakukan FreeBSD sebagai Linux dan mengunduh binary yang tidak dapat berjalan.

1067* **Mirror npm perusahaan tidak memiliki paket platform.** Pastikan registry Anda mencerminkan kedelapan paket platform `@anthropic-ai/claude-code-*` selain paket meta.1061* **Mirror npm perusahaan tidak memiliki paket platform.** Pastikan registry Anda mencerminkan kedelapan paket platform `@anthropic-ai/claude-code-*` selain paket meta.

1068 1062 

1069#### Memperbaiki instalasi npm 121063#### Perbaiki instalasi npm 12

1070 1064 

1071Jika `claude` mencetak `Error: claude native binary not installed.` setelah instalasi atau pembaruan npm, atau di Windows shell tidak dapat menjalankannya, jalankan `npm --version`. Versi yang dimulai dengan `12` berarti bahwa, kecuali konfigurasi npm Anda mengizinkannya, npm melewati langkah postinstall Claude Code, yang menempatkan binary. Untuk versi lainnya, periksa [penyebab lain](#native-binary-not-found-after-npm-install).1065Jika `claude` mencetak `Error: claude native binary not installed.` setelah instalasi atau pembaruan npm, atau di Windows shell tidak dapat menjalankannya, jalankan `npm --version`. Versi yang diawali dengan `12` berarti bahwa, kecuali konfigurasi npm Anda mengizinkannya, npm melewati langkah postinstall Claude Code, yang bertugas menempatkan binary. Untuk versi lainnya, periksa [penyebab lain](#native-binary-not-found-after-npm-install).

1072 1066 

1073Untuk memperbaiki instalasi npm 12, beralih ke native installer atau izinkan langkah tersebut:1067Untuk memperbaiki instalasi npm 12, beralihlah ke penginstal native atau izinkan langkah tersebut:

1074 1068 

1075* **Beralih ke native installer**: [instal dengan native installer](https://code.claude.com/docs/id/setup.md#install-claude-code), lalu [hapus instalasi paket npm](https://code.claude.com/docs/id/setup.md#uninstall-with-npm). Pembaruan selanjutnya tidak menggunakan npm, sehingga error tidak muncul kembali.1069* **Beralih ke penginstal native**: [instal dengan penginstal native](https://code.claude.com/docs/id/setup.md#install-claude-code), lalu [hapus instalasi paket npm](https://code.claude.com/docs/id/setup.md#uninstall-with-npm). Pembaruan selanjutnya tidak menggunakan npm, sehingga error tersebut tidak akan muncul kembali.

1076* **Tetap menggunakan npm**: untuk instalasi npm global, tambahkan Claude Code ke `allow-scripts` di konfigurasi npm pengguna Anda. npm kemudian menjalankan install scripts Claude Code pada setiap instalasi dan pembaruan berikutnya, serta dalam instalasi proyek yang `package.json`-nya tidak mengatur `allowScripts`.1070* **Tetap menggunakan npm**: untuk instalasi npm global, tambahkan Claude Code ke `allow-scripts` dalam konfigurasi npm pengguna Anda. npm kemudian menjalankan skrip instalasi Claude Code pada setiap instalasi dan pembaruan berikutnya, serta pada instalasi proyek yang `package.json`-nya tidak mengatur `allowScripts`.

1077 1071 

1078 Gunakan native installer untuk instalasi lokal di `~/.claude/local`. Gunakan juga jika script `package.json` Anda memanggil `npm install` dan Anda menjalankannya dengan pnpm 9, pnpm 10, Yarn 1, atau alat lain yang meneruskan pengaturan ini kepadanya. Di npm 12.1 dan lebih baru, instalasi tersebut dapat gagal dengan `EALLOWSCRIPTS` setelah pengaturan disimpan.1072 Gunakan penginstal native untuk instalasi lokal di `~/.claude/local`. Gunakan juga penginstal native jika skrip `package.json` Anda memanggil `npm install` dan Anda menjalankannya dengan pnpm 9, pnpm 10, Yarn 1, atau alat lain yang meneruskan pengaturan ini kepada skrip tersebut. Di npm 12.1 dan yang lebih baru, instalasi tersebut dapat gagal dengan `EALLOWSCRIPTS` setelah pengaturan disimpan.

1079 1073 

1080 1. Jika `npm --version` mencetak 12.0.x, perbarui npm ke 12.1 atau lebih baru, misalnya dengan `npm install -g npm@latest`. Di 12.0.x, instalasi proyek yang dimulai oleh alat `npx` atau script `npm run` dapat gagal dengan `EALLOWSCRIPTS` setelah pengaturan disimpan.1074 1. Jika `npm --version` mencetak 12.0.x, perbarui npm ke 12.1 atau yang lebih baru, misalnya dengan `npm install -g npm@latest`. Di 12.0.x, instalasi proyek yang dimulai oleh tool `npx` atau skrip `npm run` dapat gagal dengan `EALLOWSCRIPTS` setelah pengaturan disimpan.

1081 1075 

1082 2. Jalankan `npm config get allow-scripts` dan catat paket apa pun yang dicantumkannya, karena perintah berikutnya menggantikan seluruh nilai. Simpan pengaturan dengan paket-paket tersebut di dalam tanda kutip, seperti dalam `"allow-scripts=@anthropic-ai/claude-code,<package>"`:1076 2. Jalankan `npm config get allow-scripts` dan catat paket apa pun yang dicantumkannya, karena perintah berikutnya menggantikan seluruh nilainya. Simpan pengaturan dengan paket-paket tersebut di dalam tanda kutip, seperti pada `"allow-scripts=@anthropic-ai/claude-code,<package>"`:

1083 1077 

1084 ```bash theme={null}1078 ```bash theme={null}

1085 npm config set "allow-scripts=@anthropic-ai/claude-code" --location=user1079 npm config set "allow-scripts=@anthropic-ai/claude-code" --location=user


1091 npm install -g @anthropic-ai/claude-code1085 npm install -g @anthropic-ai/claude-code

1092 ```1086 ```

1093 1087 

1094 Jika perintah ini atau langkah 1 gagal dengan `EACCES`, beralih ke native installer alih-alih menjalankannya ulang dengan `sudo`. Claude Code menjalankan npm tanpa `sudo` saat memperbarui dirinya sendiri, sehingga pembaruan otomatis akan gagal dengan cara yang sama.1088 Jika langkah ini atau langkah 1 gagal dengan `EACCES`, beralihlah ke penginstal native alih-alih menjalankannya ulang dengan `sudo`. Claude Code menjalankan npm tanpa `sudo` saat memperbarui dirinya sendiri, sehingga pembaruan otomatis akan gagal dengan cara yang sama.

1095 1089 

1096 4. Jika `claude --version` tidak mencetak nomor versi, periksa [penyebab lain](#native-binary-not-found-after-npm-install).1090 4. Jika `claude --version` tidak mencetak nomor versi, periksa [penyebab lain](#native-binary-not-found-after-npm-install).

1097 1091 

1098 Untuk membatalkan, atur daftar lagi tanpa `@anthropic-ai/claude-code`, atau hapus seluruh daftar dengan `npm config delete allow-scripts --location=user`. Di npm 12, error tersebut akan muncul kembali setelah pembaruan Anda berikutnya.1092 Untuk membatalkan, atur daftar tersebut lagi tanpa `@anthropic-ai/claude-code`, atau hapus seluruh daftar dengan `npm config delete allow-scripts --location=user`. Di npm 12, error tersebut kemudian akan muncul kembali setelah pembaruan Anda berikutnya.

1099 1093 

1100### npm `ENOTEMPTY` error during update or reinstall1094### Error npm `ENOTEMPTY` saat pembaruan atau instalasi ulang

1101 1095 

1102Ketika Anda menjalankan `npm install -g @anthropic-ai/claude-code` di atas instalasi yang ada, npm dapat gagal saat memindahkan direktori paket lama ke samping:1096Ketika Anda menjalankan `npm install -g @anthropic-ai/claude-code` di atas instalasi yang sudah ada, npm dapat gagal saat memindahkan direktori paket lama ke tempat lain:

1103 1097 

1104```text theme={null}1098```text theme={null}

1105npm error code ENOTEMPTY1099npm error code ENOTEMPTY


1110npm error ENOTEMPTY: directory not empty, rename '...'1104npm error ENOTEMPTY: directory not empty, rename '...'

1111```1105```

1112 1106 

1113Baris `npm error path` menyebutkan direktori yang tidak dapat dipindahkan npm. Hapus direktori itu dan direktori `.claude-code-*` sisa apa pun di sebelahnya, yang dapat ditinggalkan oleh eksekusi sebelumnya yang terputus. Perintah di bawah menemukan direktori paket global Anda dengan `npm root -g`; jika direktori yang disebutkan baris `npm error path` tidak berada di bawah direktori yang dicetak `npm root -g`, misalnya karena Anda beralih versi Node dengan nvm, hapus direktori yang disebutkan error sebagai gantinya:1107Baris `npm error path` menyebutkan direktori yang tidak dapat dipindahkan npm. Hapus direktori tersebut beserta direktori `.claude-code-*` sisa di sebelahnya, yang dapat ditinggalkan oleh eksekusi sebelumnya yang terputus. Perintah di bawah menemukan direktori paket global Anda dengan `npm root -g`; jika direktori yang disebutkan baris `npm error path` tidak berada di bawah direktori yang dicetak `npm root -g`, misalnya karena Anda berpindah versi Node dengan nvm, hapus direktori yang disebutkan oleh error tersebut sebagai gantinya:

1114 1108 

1115> [tab] macOS/Linux1109> [tab] macOS/Linux

1116>1110>


1118> rm -rf "$(npm root -g)/@anthropic-ai/claude-code"1112> rm -rf "$(npm root -g)/@anthropic-ai/claude-code"

1119> ```1113> ```

1120>1114>

1121> Kemudian hapus direktori temp sisa apa pun. Jika Zsh mencetak `no matches found`, tidak ada yang perlu dihapus:1115> Kemudian hapus direktori sementara sisa. Jika Zsh mencetak `no matches found`, tidak ada yang perlu dihapus:

1122>1116>

1123> ```bash theme={null}1117> ```bash theme={null}

1124> rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*1118> rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*


1130> Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"1124> Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"

1131> ```1125> ```

1132 1126 

1133Kemudian instal ulang. Di npm 12, ikuti [Memperbaiki instalasi npm 12](#fix-an-npm-12-install). Jika tidak, jalankan:1127Kemudian instal ulang. Di npm 12, ikuti [Perbaiki instalasi npm 12](#fix-an-npm-12-install). Jika tidak, jalankan:

1134 1128 

1135```bash theme={null}1129```bash theme={null}

1136npm install -g @anthropic-ai/claude-code1130npm install -g @anthropic-ai/claude-code

1137```1131```

1138 1132 

1139Konfirmasi dengan `claude --version`, yang mencetak nomor versi seperti `2.1.211 (Claude Code)`.1133Konfirmasikan dengan `claude --version`, yang mencetak nomor versi seperti `2.1.211 (Claude Code)`.

1140 1134 

1141## Login and authentication1135## Login and authentication

1142 1136 

Details

152> apk add ripgrep152> apk add ripgrep

153> ```153> ```

154>154>

155> `ripgrep` berada di repositori komunitas Alpine. Jika `apk` melaporkan bahwa paket hilang, lihat [Alpine Linux setup](https://code.claude.com/docs/id/setup.md#alpine-linux-and-musl-based-distributions).155> `ripgrep` berada di repositori komunitas Alpine.

156 156 

157> [tab] Arch157> [tab] Arch

158>158>

workflows.md +0 −2

Details

75| :- | :- |75| :- | :- |

76| `/deep-research <question>` | Menyebarkan pencarian web pada pertanyaan di beberapa sudut, mengambil dan memeriksa silang sumber yang ditemukannya, memilih setiap klaim, dan mengembalikan laporan yang dikutip dengan klaim yang tidak bertahan pemeriksaan silang disaring. Memerlukan [alat WebSearch](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior) tersedia |76| `/deep-research <question>` | Menyebarkan pencarian web pada pertanyaan di beberapa sudut, mengambil dan memeriksa silang sumber yang ditemukannya, memilih setiap klaim, dan mengembalikan laporan yang dikutip dengan klaim yang tidak bertahan pemeriksaan silang disaring. Memerlukan [alat WebSearch](https://code.claude.com/docs/id/tools-reference.md#websearch-tool-behavior) tersedia |

77 77 

78`/deep-research` berjalan hanya ketika Anda menjalankannya.

79 

80[Alur kerja yang Anda simpan](#save-the-workflow-for-reuse) sendiri menjadi perintah dengan cara yang sama dan muncul dalam `/` autocomplete bersama yang bundel.78[Alur kerja yang Anda simpan](#save-the-workflow-for-reuse) sendiri menjadi perintah dengan cara yang sama dan muncul dalam `/` autocomplete bersama yang bundel.

81 79 

82### Tonton run80### Tonton run