117| [`gcpAuthRefresh`](#gcpauthrefresh) | Segarkan [kredensial Google Cloud](https://code.claude.com/docs/id/google-vertex-ai.md#advanced-credential-configuration) dengan perintah Anda sendiri | Authentication and providers | Any file |117| [`gcpAuthRefresh`](#gcpauthrefresh) | Segarkan [kredensial Google Cloud](https://code.claude.com/docs/id/google-vertex-ai.md#advanced-credential-configuration) dengan perintah Anda sendiri | Authentication and providers | Any file |
118| [`hooks`](#hooks) | Jalankan perintah Anda sendiri sebagai [hooks](https://code.claude.com/docs/id/hooks.md) pada titik dalam siklus hidup Claude Code | Hooks and automation | Any file |118| [`hooks`](#hooks) | Jalankan perintah Anda sendiri sebagai [hooks](https://code.claude.com/docs/id/hooks.md) pada titik dalam siklus hidup Claude Code | Hooks and automation | Any file |
119| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Batasi variabel env mana yang dapat dimasukkan [HTTP hooks](https://code.claude.com/docs/id/hooks.md) ke header | Hooks and automation | Any file |119| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Batasi variabel env mana yang dapat dimasukkan [HTTP hooks](https://code.claude.com/docs/id/hooks.md) ke header | Hooks and automation | Any file |
120| [`idleCompaction`](#idlecompaction) | Hentikan Claude Code dari melakukan compaction pada percakapan panjang saat sesi terminal Anda idle | Memory and context | Any file |120| [`idleCompaction`](#idlecompaction) | Hentikan Claude Code dari melakukan compaction pada percakapan panjang yang sedang Anda tinggalkan | Memory and context | Any file |
121| [`includeCoAuthoredBy`](#includecoauthoredby) | Deprecated; gunakan `attribution` untuk menyembunyikan atau mengubah atribusi commit dan PR | Git and attribution | Any file |121| [`includeCoAuthoredBy`](#includecoauthoredby) | Deprecated; gunakan `attribution` untuk menyembunyikan atau mengubah atribusi commit dan PR | Git and attribution | Any file |
122| [`includeGitInstructions`](#includegitinstructions) | Hapus instruksi commit dan PR bawaan dari konteks Claude | Git and attribution | Any file |122| [`includeGitInstructions`](#includegitinstructions) | Hapus instruksi commit dan PR bawaan dari konteks Claude | Git and attribution | Any file |
123| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Dapatkan [notifikasi push](https://code.claude.com/docs/id/remote-control.md#mobile-push-notifications) ketika Claude menunggu Anda | Remote, desktop, and notifications | Any file |123| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Dapatkan [notifikasi push](https://code.claude.com/docs/id/remote-control.md#mobile-push-notifications) ketika Claude menunggu Anda | Remote, desktop, and notifications | Any file |
1229Di platform yang tidak didukung sandbox, Claude Code tidak dapat dimulai dengan kunci ini aktif. Lihat [Enforce sandboxing with managed settings](https://code.claude.com/docs/id/sandboxing.md#enforce-sandboxing-with-managed-settings).1229Di platform yang tidak didukung sandbox, Claude Code tidak dapat dimulai dengan kunci ini aktif. Lihat [Enforce sandboxing with managed settings](https://code.claude.com/docs/id/sandboxing.md#enforce-sandboxing-with-managed-settings).
1230 1230
1231* **Scope**: [`Any file`](#scopes), dengan [batasan pada pengaturan proyek dan lokal](https://code.claude.com/docs/id/sandboxing.md#repository-settings-under-an-admin-required-sandbox)1231* **Scope**: [`Any file`](#scopes), dengan [batasan pada pengaturan proyek dan lokal](https://code.claude.com/docs/id/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
1232* **Type**: Boolean1232* **Tipe**: Boolean
1233 * `true`: Claude Code keluar dengan kesalahan saat startup ketika `sandbox.enabled` adalah `true` tetapi sandbox tidak dapat dimulai1233 * `true`: Claude Code keluar dengan error saat startup ketika `sandbox.enabled` bernilai `true` tetapi sandbox tidak dapat dimulai. Jika sandbox lolos pemeriksaan tersebut lalu gagal diinisialisasi, sesi tetap berjalan dan Claude Code [menolak setiap perintah yang di-sandbox](https://code.claude.com/docs/id/sandboxing.md#commands-refused-with-sandbox-is-required)
1234 * `false`: Claude Code menjalankan perintah tanpa sandbox ketika sandbox tidak dapat dimulai1234 * `false`: Claude Code menjalankan perintah tanpa sandbox ketika sandbox tidak dapat dimulai
1235* **Default**: `false`1235* **Default**: `false`
1236 1236
1237Ini membuat setiap mesin terkelola menjalankan perintah dalam sandbox atau menolak untuk dimulai:1237Contoh ini mengaktifkan sandbox untuk mesin terkelola dan menetapkan `failIfUnavailable` ke `true`:
1238 1238
1239```json managed-settings.json theme={null}1239```json managed-settings.json theme={null}
1240{1240{
2204 2204
2205## Memori dan konteks2205## Memori dan konteks
2206 2206
2207Kontrol apa yang dimuat Claude Code ke dalam konteks, bagaimana cara mengompaknya, dan di mana menyimpan memori dan rencana. Lihat [Kelola konteks](https://code.claude.com/docs/id/context-window.md) dan [Memori](https://code.claude.com/docs/id/memory.md).2207Kendalikan apa yang dimuat Claude Code ke dalam konteks, bagaimana Claude Code melakukan compaction, dan di mana Claude Code menyimpan memori dan rencana. Lihat [Kelola konteks](https://code.claude.com/docs/id/context-window.md) dan [Memori](https://code.claude.com/docs/id/memory.md).
2208 2208
2209### `autoCompactEnabled`2209### `autoCompactEnabled`
2210 2210
2211Buat Claude Code [mengompak percakapan secara otomatis](https://code.claude.com/docs/id/context-window.md#when-your-context-fills-up) ketika konteks mendekati batas. Muncul di `/config` sebagai **Auto-compact**, dan mengalihkannya di sana menulis kunci ini ke pengaturan pengguna Anda.2211Minta Claude Code [memadatkan percakapan secara otomatis](https://code.claude.com/docs/id/context-window.md#when-your-context-fills-up) saat konteks mendekati batas. Muncul di `/config` sebagai **Auto-compact**, dan mengubahnya di sana akan menulis kunci ini ke pengaturan pengguna Anda.
2212 2212
2213* **Scope**: [`Any file`](#scopes)2213* **Cakupan**: [`Any file`](#scopes)
2214* **Type**: Boolean2214* **Tipe**: Boolean
2215 * `true`: Claude Code mengompak percakapan secara otomatis ketika konteks mendekati batas2215 * `true`: Claude Code memadatkan percakapan secara otomatis saat konteks mendekati batas
2216 * `false`: Claude Code tidak mengompak secara otomatis2216 * `false`: Claude Code tidak memadatkan secara otomatis
2217* **Default**: `true`2217* **Default**: `true`
2218* **Per-session overrides**: [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/id/env-vars) mematikan auto-compact untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menghidupkannya kembali2218* **Override per sesi**: [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/id/env-vars) mematikan auto-compact untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menyalakannya kembali
2219 2219
2220```json settings.json theme={null}2220```json settings.json theme={null}
2221{2221{
2223}2223}
2224```2224```
2225 2225
2226Perintah manual `/compact` terus bekerja saat auto-compact dimatikan. Jika Anda mematikan auto-compact, [idle compaction](#idlecompaction) juga ikut mati.2226Perintah manual `/compact` tetap berfungsi saat auto-compact dimatikan. Jika Anda mematikan auto-compact, [idle compaction](#idlecompaction) juga ikut mati.
2227 2227
2228### `autoCompactWindow`2228### `autoCompactWindow`
2229 2229
2230Atur seberapa penuh jendela konteks sebelum Claude Code [mengompak secara otomatis](https://code.claude.com/docs/id/context-window.md#when-your-context-fills-up).2230Atur seberapa penuh context window sebelum Claude Code [melakukan compaction secara otomatis](https://code.claude.com/docs/id/context-window.md#when-your-context-fills-up).
2231 2231
2232* **Scope**: [`Any file`](#scopes)2232* **Cakupan**: [`Any file`](#scopes)
2233* **Type**: jumlah token, dari `100000` hingga `1000000`. Claude Code membatasi nilai pada jendela konteks model Anda; [ringkasan model](https://platform.claude.com/docs/en/about-claude/models/overview) mencantumkan jendela setiap model2233* **Tipe**: jumlah token, dari `100000` hingga `1000000`. Claude Code membatasi nilainya pada context window model Anda; [ikhtisar model](https://platform.claude.com/docs/en/about-claude/models/overview) mencantumkan window setiap model
2234* **Default**: tidak diatur, jadi Claude Code memilih jendela yang disesuaikan untuk model Anda2234* **Default**: tidak diatur, sehingga Claude Code memilih window yang disesuaikan untuk model Anda
2235* **Per-session overrides**: [`--autocompact`](https://code.claude.com/docs/id/cli-reference#cli-flags) diutamakan daripada kunci ini untuk satu sesi, dan [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](https://code.claude.com/docs/id/env-vars) diutamakan daripada keduanya kecuali Claude Code [mengabaikan nilai variabel tersebut](https://code.claude.com/docs/id/model-config.md#claude_code_auto_compact_window-values)2235* **Override per sesi**: [`--autocompact`](https://code.claude.com/docs/id/cli-reference#cli-flags) diutamakan daripada kunci ini untuk satu sesi, dan [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](https://code.claude.com/docs/id/env-vars) diutamakan daripada keduanya kecuali Claude Code [mengabaikan nilai variabel tersebut](https://code.claude.com/docs/id/model-config.md#claude_code_auto_compact_window-values)
2236 2236
2237```json settings.json theme={null}2237```json settings.json theme={null}
2238{2238{
2240}2240}
2241```2241```
2242 2242
2243Perintah [`/autocompact`](https://code.claude.com/docs/id/commands#all-commands) menyimpan window untuk model saat ini di bawah [`modelSettings`](#modelsettings), yang diutamakan daripada kunci ini dalam file yang sama untuk model tersebut. [Atur window auto-compact](https://code.claude.com/docs/id/model-config.md#set-the-auto-compact-window) mencakup cara perintah, flag, variabel, dan pengaturan berinteraksi.2243Perintah [`/autocompact`](https://code.claude.com/docs/id/commands#all-commands) menyimpan window untuk model saat ini di bawah [`modelSettings`](#modelsettings), yang diutamakan daripada kunci ini dalam file yang sama untuk model tersebut. [Mengatur auto-compact window](https://code.claude.com/docs/id/model-config.md#set-the-auto-compact-window) menjelaskan bagaimana perintah, flag, variabel, dan pengaturan saling berinteraksi.
2244 2244
2245### `autoMemoryDirectory`2245### `autoMemoryDirectory`
2246 2246
2247Simpan [memori otomatis](https://code.claude.com/docs/id/memory.md#storage-location) di direktori pilihan Anda alih-alih default per-proyek.2247Simpan [auto memory](https://code.claude.com/docs/id/memory.md#storage-location) di direktori pilihan Anda alih-alih default per proyek.
2248 2248
2249* **Scope**: [`Any file`](#scopes)2249* **Cakupan**: [`Any file`](#scopes)
2250* **Type**: string, jalur direktori absolut atau dengan awalan `~/`2250* **Tipe**: string, path direktori absolut atau berawalan `~/`
2251* **Default**: tidak diatur, jadi Claude Code menggunakan `~/.claude/projects/<project>/memory/`2251* **Default**: tidak diatur, sehingga Claude Code menggunakan `~/.claude/projects/<project>/memory/`
2252 2252
2253```json settings.json theme={null}2253```json settings.json theme={null}
2254{2254{
2256}2256}
2257```2257```
2258 2258
2259Dari pengaturan proyek atau lokal, Claude Code menghormati kunci ini di bawah [aturan kepercayaan ruang kerja yang sama dengan hooks](https://code.claude.com/docs/id/permissions.md#what-runs-before-you-trust-a-folder), karena repositori yang dikloning dapat menyediakan file-file tersebut.2259Dari pengaturan proyek atau lokal, Claude Code menghormati kunci ini berdasarkan [aturan kepercayaan workspace yang sama seperti hook](https://code.claude.com/docs/id/permissions.md#what-runs-before-you-trust-a-folder), karena repositori yang di-clone dapat menyediakan file-file tersebut.
2260 2260
2261### `autoMemoryEnabled`2261### `autoMemoryEnabled`
2262 2262
2263Hidupkan atau matikan [memori otomatis](https://code.claude.com/docs/id/memory.md#enable-or-disable-auto-memory). Ketika `false`, Claude tidak membaca dari atau menulis ke direktori memori otomatis. Anda juga dapat mengalihkannya dengan `/memory` selama sesi, yang menulis kunci ini ke pengaturan pengguna Anda.2263Nyalakan atau matikan [auto memory](https://code.claude.com/docs/id/memory.md#enable-or-disable-auto-memory). Jika `false`, Claude tidak membaca dari atau menulis ke direktori auto memory. Anda juga dapat mengubahnya dengan `/memory` selama sesi, yang menulis kunci ini ke pengaturan pengguna Anda.
2264 2264
2265* **Scope**: [`Any file`](#scopes)2265* **Cakupan**: [`Any file`](#scopes)
2266* **Type**: Boolean2266* **Tipe**: Boolean
2267 * `true`: sama dengan tidak diatur; memori otomatis tetap aktif kecuali sesuatu yang mengungguli kunci ini mematikannya untuk sesi, seperti `--bare`, mode aman, atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY`2267 * `true`: sama seperti tidak diatur; auto memory tetap menyala kecuali sesuatu yang berprioritas lebih tinggi daripada kunci ini mematikannya untuk sesi tersebut, seperti `--bare`, safe mode, atau `CLAUDE_CODE_DISABLE_AUTO_MEMORY`
2268 * `false`: Claude tidak membaca dari atau menulis ke direktori memori otomatis2268 * `false`: Claude tidak membaca dari atau menulis ke direktori auto memory
2269* **Default**: `true`2269* **Default**: `true`
2270* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](https://code.claude.com/docs/id/env-vars) mengambil alih kunci ini untuk satu sesi, dalam kedua arah2270* **Override per sesi**: [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](https://code.claude.com/docs/id/env-vars) diutamakan daripada kunci ini untuk satu sesi, ke arah mana pun
2271 2271
2272```json settings.json theme={null}2272```json settings.json theme={null}
2273{2273{
2277 2277
2278### `bashOutputMaxChars`2278### `bashOutputMaxChars`
2279 2279
2280Atur berapa banyak karakter dari [output](https://code.claude.com/docs/id/tools-reference.md#output-limits) perintah Bash atau PowerShell yang berhasil yang diterima Claude secara inline. Ketika output melampaui batas, Claude Code menyimpannya ke file dan Claude menerima pratinjau singkat ditambah jalur file. Naikkan batas ketika output perintah, seperti build verbose atau log test-suite lengkap, secara rutin melampaui default dan Anda ingin Claude membacanya tanpa membuka file. Memerlukan Claude Code v2.1.261 atau lebih baru.2280Atur berapa banyak karakter dari [output perintah Bash atau PowerShell yang berhasil yang diterima Claude secara inline](https://code.claude.com/docs/id/tools-reference.md#output-limits). Saat output melewati batas, Claude Code menyimpannya ke file dan Claude menerima pratinjau singkat beserta path file tersebut. Naikkan batasnya saat output perintah, seperti build yang verbose atau log test suite lengkap, secara rutin melebihi default dan Anda ingin Claude membacanya tanpa membuka file. Memerlukan Claude Code v2.1.261 atau yang lebih baru.
2281 2281
2282* **Scope**: [`Any file`](#scopes)2282* **Cakupan**: [`Any file`](#scopes)
2283* **Type**: jumlah karakter, bilangan bulat positif. Claude Code menjepit nilai ke dalam rentang `4000` hingga `128000`2283* **Tipe**: jumlah karakter, bilangan bulat positif. Claude Code membatasi nilainya dalam rentang `4000` hingga `128000`
2284* **Default**: tidak diatur, jadi Claude menerima hingga 30.000 karakter secara inline2284* **Default**: tidak diatur, sehingga Claude menerima hingga 30.000 karakter secara inline
2285 2285
2286```json settings.json theme={null}2286```json settings.json theme={null}
2287{2287{
2289}2289}
2290```2290```
2291 2291
2292Ketika Anda menetapkan kunci ini, Claude Code mengabaikan variabel lingkungan [`BASH_MAX_OUTPUT_LENGTH`](https://code.claude.com/docs/id/env-vars).2292Saat Anda mengatur kunci ini, Claude Code mengabaikan environment variable [`BASH_MAX_OUTPUT_LENGTH`](https://code.claude.com/docs/id/env-vars).
2293 2293
2294### `claudeMd`2294### `claudeMd`
2295 2295
2296Injeksikan instruksi gaya CLAUDE.md sebagai memori yang dikelola organisasi tanpa menerapkan file terpisah. Claude Code memuat teks sebagai entri memori terkelola di depan file CLAUDE.md pengguna dan proyek.2296Sisipkan instruksi bergaya CLAUDE.md sebagai memori yang dikelola organisasi tanpa men-deploy file terpisah. Claude Code memuat teks tersebut sebagai entri memori terkelola sebelum file CLAUDE.md pengguna dan proyek.
2297 2297
2298* **Scope**: [`Managed`](#scopes)2298* **Cakupan**: [`Managed`](#scopes)
2299* **Type**: string, teks file CLAUDE.md; tuliskan seperti yang Anda lakukan pada file, Markdown disertakan, dengan jeda baris sebagai `\n`2299* **Tipe**: string, teks file CLAUDE.md; tulis seperti Anda menulis file tersebut, termasuk Markdown, dengan jeda baris sebagai `\n`
2300* **Default**: tidak diatur2300* **Default**: tidak diatur
2301 2301
2302Contoh ini menerapkan dua aturan sebagai daftar Markdown pendek:2302Contoh ini men-deploy dua aturan sebagai daftar Markdown singkat:
2303 2303
2304```json managed-settings.json theme={null}2304```json managed-settings.json theme={null}
2305{2305{
2307}2307}
2308```2308```
2309 2309
2310Lihat [Terapkan CLAUDE.md di seluruh organisasi](https://code.claude.com/docs/id/memory.md#deploy-organization-wide-claude-md).2310Lihat [Deploy CLAUDE.md untuk seluruh organisasi](https://code.claude.com/docs/id/memory.md#deploy-organization-wide-claude-md).
2311 2311
2312### `claudeMdExcludes`2312### `claudeMdExcludes`
2313 2313
2314Lewati file `CLAUDE.md` tertentu ketika Claude Code memuat [memori](https://code.claude.com/docs/id/memory.md#exclude-specific-claude-md-files). Dalam monorepo besar, gunakan untuk melewati file CLAUDE.md dari tim lain yang tidak relevan dengan pekerjaan Anda; [Kecualikan file CLAUDE.md yang tidak relevan](https://code.claude.com/docs/id/large-codebases.md#exclude-irrelevant-claude-md-files) dalam panduan codebases besar memandu kasus tersebut. Pola cocok dengan jalur file absolut.2314Lewati file `CLAUDE.md` tertentu saat Claude Code memuat [memori](https://code.claude.com/docs/id/memory.md#exclude-specific-claude-md-files). Dalam monorepo besar, gunakan ini untuk melewati file CLAUDE.md dari tim lain yang tidak relevan dengan pekerjaan Anda; [Kecualikan file CLAUDE.md yang tidak relevan](https://code.claude.com/docs/id/large-codebases.md#exclude-irrelevant-claude-md-files) dalam panduan codebase besar membahas kasus tersebut. Pola dicocokkan dengan path file absolut.
2315 2315
2316* **Scope**: [`Any file`](#scopes)2316* **Cakupan**: [`Any file`](#scopes)
2317* **Type**: array string, masing-masing pola glob atau jalur absolut2317* **Tipe**: array string, masing-masing berupa pola glob atau path absolut
2318* **Default**: tidak diatur, jadi Claude Code memuat setiap CLAUDE.md yang ditemukannya2318* **Default**: tidak diatur, sehingga Claude Code memuat setiap CLAUDE.md yang ditemukannya
2319 2319
2320```json settings.json theme={null}2320```json settings.json theme={null}
2321{2321{
2327 2327
2328### `env`2328### `env`
2329 2329
2330Atur variabel lingkungan untuk setiap sesi dan untuk subproses yang dimulai Claude Code darinya. Variabel apa pun dalam [referensi variabel lingkungan](https://code.claude.com/docs/id/env-vars.md) dapat masuk di sini, yang merupakan cara Anda menerapkannya ke setiap sesi atau meluncurkannya ke tim Anda. Pengaturan proyek dan lokal tidak dapat menetapkan [beberapa di antaranya](#variables-claude-code-ignores-in-env).2330Atur environment variable untuk setiap sesi dan untuk subproses yang dijalankan Claude Code dari sesi tersebut. Sebagian besar variabel dalam [referensi environment variable](https://code.claude.com/docs/id/env-vars.md) dapat ditempatkan di sini, yang merupakan cara Anda menerapkan variabel ke setiap sesi atau meluncurkannya ke tim Anda. Pengaturan proyek dan lokal tidak dapat mengatur [sebagian di antaranya](#variables-claude-code-ignores-in-env).
2331 2331
2332* **Scope**: [`Any file`](#scopes)2332* **Cakupan**: [`Any file`](#scopes)
2333* **Type**: objek yang memetakan nama variabel ke nilai string2333* **Tipe**: objek yang memetakan nama variabel ke nilai string
2334* **Default**: tidak diatur2334* **Default**: tidak diatur
2335 2335
2336Contoh ini mematikan pemadatan otomatis dan merutekan permintaan API melalui proxy:2336Contoh ini mematikan compaction otomatis dan merutekan permintaan API melalui proxy:
2337 2337
2338```json settings.json theme={null}2338```json settings.json theme={null}
2339{2339{
2346 2346
2347#### Bagaimana nilai `env` berinteraksi dengan shell Anda2347#### Bagaimana nilai `env` berinteraksi dengan shell Anda
2348 2348
2349* Nilai di sini menimpa variabel yang sama yang diekspor di shell Anda, dan ketika lebih dari satu file pengaturan menetapkan variabel, [yang dengan preseden tertinggi](https://code.claude.com/docs/id/settings.md#settings-precedence) berlaku. [Variabel yang Claude Code abaikan dalam `env`](#variables-claude-code-ignores-in-env) mencantumkan pengecualian untuk pengaturan proyek dan lokal.2349* Nilai di sini menimpa variabel yang sama yang diekspor di shell Anda, dan saat lebih dari satu file pengaturan mengatur suatu variabel, yang memiliki [prioritas tertinggi](https://code.claude.com/docs/id/settings.md#settings-precedence) yang berlaku. [Variabel yang diabaikan Claude Code di `env`](#variables-claude-code-ignores-in-env) mencantumkan pengecualian untuk pengaturan proyek dan lokal.
2350* Ketika aplikasi Claude Desktop atau [lingkungan self-hosted](https://code.claude.com/docs/id/self-hosted-environments) runner memulai sesi, lingkungan peluncuran yang dibangunnya mengambil alih: Claude Code mengabaikan nilai `env` dari file pengaturan apa pun untuk variabel yang sudah ditetapkan lingkungan peluncuran. [Debug log](https://code.claude.com/docs/id/debug-your-config.md) menyebutkan setiap variabel yang diabaikan.2350* Saat aplikasi Claude Desktop atau runner [lingkungan self-hosted](https://code.claude.com/docs/id/self-hosted-environments) memulai sesi, lingkungan peluncuran yang dibangunnya yang diutamakan: Claude Code mengabaikan nilai `env` dari file pengaturan mana pun untuk variabel yang sudah diatur oleh lingkungan peluncuran. [Log debug](https://code.claude.com/docs/id/debug-your-config.md) menyebutkan setiap variabel yang diabaikan.
2351* Untuk membatalkan ekspor shell, atur variabel ke `""`. Claude Code memperlakukan nilai kosong sebagai tidak diatur untuk pemilihan penyedia, dan subproses mewarisi nilai kosong.2351* Untuk membatalkan ekspor shell, atur variabel ke `""`. Claude Code memperlakukan nilai kosong sebagai tidak diatur untuk pemilihan penyedia, dan subproses mewarisi nilai kosong tersebut.
2352* `NO_COLOR` dan `FORCE_COLOR` yang ditetapkan di sini hanya mencapai subproses. Untuk mengubah warna antarmuka Claude Code sendiri, atur di shell Anda sebelum meluncurkan `claude`.2352* `NO_COLOR` dan `FORCE_COLOR` yang diatur di sini hanya mencapai subproses. Untuk mengubah warna antarmuka Claude Code sendiri, atur keduanya di shell Anda sebelum menjalankan `claude`.
2353* Nilai di sini adalah teks biasa dalam file pengaturan dan mencapai setiap subproses yang dimulai Claude Code. Untuk token pembawa OTLP yang berputar, gunakan [`otelHeadersHelper`](#otelheadershelper); untuk kredensial API, gunakan [`apiKeyHelper`](#apikeyhelper).2353* Nilai di sini berupa teks biasa di file pengaturan dan mencapai setiap subproses yang dijalankan Claude Code. Untuk token bearer OTLP yang berotasi, gunakan [`otelHeadersHelper`](#otelheadershelper); untuk kredensial API, gunakan [`apiKeyHelper`](#apikeyhelper).
2354 2354
2355#### Ketika Claude Code menerapkan nilai `env`2355#### Kapan Claude Code menerapkan nilai `env`
2356 2356
2357* Dari pengaturan pengguna, `--settings`, dan pengaturan terkelola: saat startup, dan lagi dalam sesi yang berjalan ketika perubahan tersimpan mengubah `env` yang digabungkan.2357* Dari pengaturan pengguna, `--settings`, dan pengaturan terkelola: saat startup, dan lagi di sesi yang sedang berjalan saat perubahan yang disimpan mengubah `env` gabungan.
2358* Dari pengaturan proyek dan lokal: setelah Anda mempercayai ruang kerja, atau saat startup dalam mode `-p`, yang tidak pernah menampilkan dialog kepercayaan, dan lagi ketika perubahan tersimpan mengubah `env` yang digabungkan.2358* Dari pengaturan proyek dan lokal: setelah Anda memercayai workspace, atau saat startup dalam mode `-p`, yang tidak pernah menampilkan dialog kepercayaan, dan lagi saat perubahan yang disimpan mengubah `env` gabungan.
2359* Variabel yang Claude Code klasifikasikan sebagai aman, seperti pemilihan model, timeout dan batas, dan toggle fitur: saat startup dari setiap file pengaturan, kecuali [variabel yang tidak dapat ditetapkan pengaturan proyek dan lokal](#variables-claude-code-ignores-in-env).2359* Variabel yang diklasifikasikan Claude Code sebagai aman, seperti pemilihan model, timeout dan batas, serta toggle fitur: saat startup dari setiap file pengaturan, selain [variabel yang tidak dapat diatur oleh pengaturan proyek dan lokal](#variables-claude-code-ignores-in-env).
2360* Setelah Anda [memindahkan sesi dengan `/cd`](https://code.claude.com/docs/id/permissions#move-the-session-to-another-directory) pada v2.1.246 atau lebih baru: nilai `env` direktori baru, di atas direktori sebelumnya.2360* Setelah Anda [memindahkan sesi dengan `/cd`](https://code.claude.com/docs/id/permissions#move-the-session-to-another-directory) pada v2.1.246 atau yang lebih baru: nilai `env` proyek dan lokal dari direktori baru, di atas nilai dari direktori sebelumnya.
2361 2361
2362#### Variabel yang Claude Code abaikan dalam `env`2362#### Variabel yang diabaikan Claude Code di `env`
2363 2363
2364* Pengaturan proyek dan lokal tidak dapat menetapkan variabel yang tidak boleh dikontrol repositori yang diperiksa; atur di shell, pengaturan pengguna, atau pengaturan terkelola Anda. Claude Code menghapus masing-masing, kecuali beberapa nilai yang mematikan telemetri, dan mencatat peringatan yang dapat Anda lihat dengan `claude --debug`. Mereka termasuk:2364* Pengaturan proyek dan lokal tidak dapat mengatur variabel yang seharusnya tidak dikendalikan oleh repositori yang di-checkout; atur variabel tersebut di shell, pengaturan pengguna, atau pengaturan terkelola Anda. Claude Code membuang masing-masing variabel tersebut, selain beberapa nilai yang mematikan telemetri, dan mencatat peringatan yang dapat Anda lihat dengan `claude --debug`. Variabel tersebut meliputi:
2365 2365
2366 * Variabel yang memilih di mana Claude Code menyimpan atau menulis file-nya sendiri: `CLAUDE_CONFIG_DIR`, `CLAUDE_CODE_TMPDIR`, dan variabel direktori sistem operasi seperti `HOME`, `TMPDIR`, `TMP`, `TEMP`, dan keluarga `XDG_*`.2366 * Variabel yang memilih tempat Claude Code menyimpan atau menulis filenya sendiri: `CLAUDE_CONFIG_DIR`, `CLAUDE_CODE_TMPDIR`, dan variabel direktori sistem operasi seperti `HOME`, `TMPDIR`, `TMP`, `TEMP`, dan keluarga `XDG_*`.
2367 * Variabel Windows yang memilih program dan konfigurasi tingkat mesin untuk proses yang dimulai Claude Code, seperti `SystemRoot`, `ComSpec`, `ProgramData`, `LOCALAPPDATA`, `PATHEXT`, `PSModulePath`, dan keluarga `ProgramFiles`.2367 * Variabel Windows yang memilih program dan konfigurasi seluruh mesin untuk proses yang dijalankan Claude Code, seperti `SystemRoot`, `ComSpec`, `ProgramData`, `LOCALAPPDATA`, `PATHEXT`, `PSModulePath`, dan keluarga `ProgramFiles`.
2368 * Variabel yang mengekspor konten sesi: [`OTEL_LOG_RAW_API_BODIES`](https://code.claude.com/docs/id/env-vars#variables) dan pasangan pelacakan beta terperinci `ENABLE_BETA_TRACING_DETAILED` dan `BETA_TRACING_ENDPOINT`.2368 * Variabel yang mengekspor konten sesi: [`OTEL_LOG_RAW_API_BODIES`](https://code.claude.com/docs/id/env-vars#variables) dan pasangan tracing beta terperinci `ENABLE_BETA_TRACING_DETAILED` dan `BETA_TRACING_ENDPOINT`.
2369 * Variabel [OpenTelemetry exporter](https://code.claude.com/docs/id/monitoring-usage.md) yang menghidupkan telemetri, memilih ke mana telemetri pergi, atau memilih konten apa yang ditangkapnya:2369 * Variabel [exporter OpenTelemetry](https://code.claude.com/docs/id/monitoring-usage.md) yang menyalakan telemetri, memilih tujuannya, atau memilih konten yang ditangkapnya:
2370 2370
2371 * `CLAUDE_CODE_ENABLE_TELEMETRY`, ditambah pasangan telemetri yang ditingkatkan beta `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` dan `ENABLE_ENHANCED_TELEMETRY_BETA`2371 * `CLAUDE_CODE_ENABLE_TELEMETRY`, ditambah pasangan beta telemetri yang ditingkatkan `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` dan `ENABLE_ENHANCED_TELEMETRY_BETA`
2372 * Pemilih exporter `OTEL_LOGS_EXPORTER`, `OTEL_METRICS_EXPORTER`, dan `OTEL_TRACES_EXPORTER`2372 * Pemilih exporter `OTEL_LOGS_EXPORTER`, `OTEL_METRICS_EXPORTER`, dan `OTEL_TRACES_EXPORTER`
2373 * Variabel konten `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_ASSISTANT_RESPONSES`, `OTEL_LOG_TOOL_CONTENT`, dan `OTEL_LOG_TOOL_DETAILS`2373 * Variabel konten `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_ASSISTANT_RESPONSES`, `OTEL_LOG_TOOL_CONTENT`, dan `OTEL_LOG_TOOL_DETAILS`
2374 * Variabel `OTEL_EXPORTER_OTLP_*` yang namanya berakhir dengan `_ENDPOINT`, `_HEADERS`, `_PROTOCOL`, `_CERTIFICATE`, `_CLIENT_KEY`, atau `_INSECURE`, dalam bentuk generik dan per-sinyal, seperti `OTEL_EXPORTER_OTLP_ENDPOINT` dan `OTEL_EXPORTER_OTLP_METRICS_HEADERS`2374 * Variabel `OTEL_EXPORTER_OTLP_*` yang namanya diakhiri dengan `_ENDPOINT`, `_HEADERS`, `_PROTOCOL`, `_CERTIFICATE`, `_CLIENT_KEY`, atau `_INSECURE`, dalam bentuk generik dan per sinyal, seperti `OTEL_EXPORTER_OTLP_ENDPOINT` dan `OTEL_EXPORTER_OTLP_METRICS_HEADERS`
2375 * `OTEL_EXPORTER_PROMETHEUS_HOST` dan `OTEL_EXPORTER_PROMETHEUS_PORT`2375 * `OTEL_EXPORTER_PROMETHEUS_HOST` dan `OTEL_EXPORTER_PROMETHEUS_PORT`
2376 2376
2377 Hanya nilai-nilai ini yang masih berlaku dari pengaturan proyek dan lokal, karena mereka mematikan sesuatu: `none` untuk tiga pemilih exporter, dan nilai off seperti `0` untuk `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_CONTENT`, dan `OTEL_LOG_TOOL_DETAILS`. Nilai seperti itu menimpa variabel yang sama dalam pengaturan pengguna Anda, tetapi bukan yang ditetapkan lingkungan tempat Anda memulai Claude Code, file `--settings`, atau pengaturan terkelola.2377 Hanya nilai-nilai berikut yang masih berlaku dari pengaturan proyek dan lokal, karena nilai tersebut mematikan sesuatu: `none` untuk ketiga pemilih exporter, dan nilai mati seperti `0` untuk `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_CONTENT`, dan `OTEL_LOG_TOOL_DETAILS`. Nilai seperti itu menimpa variabel yang sama di pengaturan pengguna Anda, tetapi tidak menimpa variabel yang diatur oleh lingkungan tempat Anda menjalankan Claude Code, file `--settings`, atau pengaturan terkelola.
2378 2378
2379 Ketika file pengaturan proyek atau lokal menetapkan variabel dalam grup ini, sesi interaktif lokal menampilkan pemberitahuan saat startup. Jalankan `/status` atau `claude doctor` untuk melihat mana yang Claude Code abaikan dan mana yang mematikan telemetri; keduanya mencantumkan nama, tidak pernah nilai. Jalankan non-interaktif dengan `-p` atau sesi Agent SDK tidak menampilkan pemberitahuan, jadi periksa bahwa kolektor Anda masih menerima data setelah Anda upgrade. Jika tidak, atur variabel dalam pengaturan pengguna Anda, pengaturan terkelola, lingkungan pekerjaan, atau file yang Anda lewatkan dengan `--settings`.2379 Saat file pengaturan proyek atau lokal mengatur variabel dalam grup ini, sesi interaktif lokal menampilkan pemberitahuan saat startup. Jalankan `/status` atau `claude doctor` untuk melihat variabel mana yang diabaikan Claude Code dan mana yang mematikan telemetri; keduanya mencantumkan nama, tidak pernah nilai. Eksekusi non-interaktif dengan `-p` atau sesi Agent SDK tidak menampilkan pemberitahuan, jadi periksa bahwa collector Anda masih menerima data setelah Anda melakukan upgrade. Jika tidak, atur variabel tersebut di pengaturan pengguna, pengaturan terkelola, lingkungan job, atau file yang Anda berikan dengan `--settings`.
2380 2380
2381 Mengabaikan grup ini dalam pengaturan proyek dan lokal memerlukan Claude Code v2.1.282 atau lebih baru.2381 Pengabaian grup ini di pengaturan proyek dan lokal memerlukan Claude Code v2.1.282 atau yang lebih baru.
2382 * Variabel yang mengubah cara Claude Code dimulai atau disinkronkan, seperti `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR`, dan `CLAUDE_CODE_PLUGIN_SEED_DIR`.2382 * Variabel yang mengubah cara Claude Code dimulai atau disinkronkan, seperti `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR`, dan `CLAUDE_CODE_PLUGIN_SEED_DIR`.
2383 * Variabel [mode pembaca layar](https://code.claude.com/docs/id/accessibility.md) `CLAUDE_AX_SCREEN_READER` dan variabel lain yang namanya diawali dengan `CLAUDE_AX_`, seperti [`CLAUDE_AX_STARTUP_QUIET_MS`](https://code.claude.com/docs/id/env-vars#variables).2383 * Variabel [mode pembaca layar](https://code.claude.com/docs/id/accessibility.md) `CLAUDE_AX_SCREEN_READER` dan variabel lain yang namanya diawali dengan `CLAUDE_AX_`, seperti [`CLAUDE_AX_STARTUP_QUIET_MS`](https://code.claude.com/docs/id/env-vars#variables).
2384 * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](https://code.claude.com/docs/id/env-vars#variables), yang mengatur pengatur waktu pada dialog yang tidak dijawab.2384 * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](https://code.claude.com/docs/id/env-vars#variables), yang mengatur pengatur waktu pada dialog yang belum dijawab.
2385 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](https://code.claude.com/docs/id/env-vars#variables), yang mematikan pemrosesan lampiran.2385 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](https://code.claude.com/docs/id/env-vars#variables), yang mematikan pemrosesan lampiran.
2386 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/id/env-vars#variables), yang menghentikan Claude Code dari memperluas mention `@` untuk file dan direktori.2386 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/id/env-vars#variables), yang menghentikan Claude Code dari memperluas mention `@` untuk file dan direktori.
2387 2387
2388 Sebelum v2.1.251, pengaturan proyek dan lokal juga dapat menetapkan variabel dalam daftar ini yang memilih di mana Claude Code menulis file-nya atau yang mengekspor konten sesi, kecuali `HOME` dan `XDG_CONFIG_HOME`. Sebelum v2.1.290, pengaturan tersebut juga dapat menetapkan variabel pengatur waktu dialog dan `CLAUDE_CODE_DISABLE_ATTACHMENTS`.2388 Sebelum v2.1.251, pengaturan proyek dan lokal juga dapat mengatur variabel dalam daftar ini yang memilih tempat Claude Code menulis filenya atau yang mengekspor konten sesi, kecuali `HOME` dan `XDG_CONFIG_HOME`. Sebelum v2.1.290, pengaturan tersebut juga dapat mengatur variabel pengatur waktu dialog dan `CLAUDE_CODE_DISABLE_ATTACHMENTS`.
2389* Variabel identitas yang dimiliki lingkungan hosting Claude Code, seperti `CLAUDE_CODE_REMOTE` dan `CLAUDE_CODE_ACCOUNT_UUID`, diabaikan dari setiap file.2389* Variabel identitas yang dimiliki oleh lingkungan hosting Claude Code, seperti `CLAUDE_CODE_REMOTE` dan `CLAUDE_CODE_ACCOUNT_UUID`, diabaikan dari setiap file.
2390* [`CLAUDE_CODE_MESSAGING_SOCKET` dan `CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/id/env-vars#variables), yang diekspor Claude Code sendiri, diabaikan dari setiap file. Mengabaikan variabel soket memerlukan Claude Code v2.1.224 atau lebih baru, dan mengabaikan token memerlukan v2.1.228 atau lebih baru.2390* [`CLAUDE_CODE_MESSAGING_SOCKET` dan `CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/id/env-vars#variables), yang diekspor sendiri oleh Claude Code, diabaikan dari setiap file. Pengabaian variabel socket memerlukan Claude Code v2.1.224 atau yang lebih baru, dan pengabaian token memerlukan v2.1.228 atau yang lebih baru.
2391* [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/id/sessions#name-the-project-directory-yourself), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file; memerlukan v2.1.234 atau lebih baru.2391* [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/id/sessions#name-the-project-directory-yourself), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file; memerlukan v2.1.234 atau yang lebih baru.
2392* [`CLAUDE_CODE_RESTRICTED`](https://code.claude.com/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file.2392* [`CLAUDE_CODE_RESTRICTED`](https://code.claude.com/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file.
2393* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](https://code.claude.com/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file. Variabel memerlukan Claude Code v2.1.283 atau lebih baru.2393* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](https://code.claude.com/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file. Variabel ini memerlukan Claude Code v2.1.283 atau yang lebih baru.
2394* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT`, dan `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT`](https://code.claude.com/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file.2394* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT`, dan `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT`](https://code.claude.com/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file.
2395* [`CLAUDE_CODE_WARN_DISK_FREE_GIB` dan `CLAUDE_CODE_WARN_MEMORY_FREE_GIB`](https://code.claude.com/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file. Variabel-variabel ini memerlukan Claude Code v2.1.304 atau lebih baru.2395* [`CLAUDE_CODE_WARN_DISK_FREE_GIB` dan `CLAUDE_CODE_WARN_MEMORY_FREE_GIB`](https://code.claude.com/docs/id/env-vars#variables), yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file. Variabel ini memerlukan Claude Code v2.1.304 atau yang lebih baru.
2396 2396
2397### `fileCheckpointingEnabled`2397### `fileCheckpointingEnabled`
2398 2398
2399Buat Claude Code membuat snapshot file sebelum setiap edit sehingga [`/rewind`](https://code.claude.com/docs/id/checkpointing) dapat memulihkannya. Muncul di `/config` sebagai **Rewind code (checkpoints)**, dan mengalihkannya di sana menulis kunci ini ke pengaturan pengguna Anda.2399Minta Claude Code membuat snapshot file sebelum setiap pengeditan agar [`/rewind`](https://code.claude.com/docs/id/checkpointing) dapat memulihkannya. Muncul di `/config` sebagai **Rewind code (checkpoints)**, dan mengubahnya di sana akan menulis kunci ini ke pengaturan pengguna Anda.
2400 2400
2401* **Scope**: [`Any file`](#scopes)2401* **Cakupan**: [`Any file`](#scopes)
2402* **Type**: Boolean2402* **Tipe**: Boolean
2403 * `true`: Claude Code membuat snapshot file sebelum setiap edit sehingga `/rewind` dapat memulihkannya2403 * `true`: Claude Code membuat snapshot file sebelum setiap pengeditan agar `/rewind` dapat memulihkannya
2404 * `false`: Claude Code tidak membuat snapshot file, jadi `/rewind` tidak dapat memulihkannya2404 * `false`: Claude Code tidak membuat snapshot file, sehingga `/rewind` tidak dapat memulihkannya
2405* **Default**: `true`2405* **Default**: `true`
2406* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](https://code.claude.com/docs/id/env-vars) mematikan checkpointing untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menghidupkannya kembali2406* **Override per sesi**: [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](https://code.claude.com/docs/id/env-vars) mematikan checkpointing untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menyalakannya kembali
2407 2407
2408```json settings.json theme={null}2408```json settings.json theme={null}
2409{2409{
2411}2411}
2412```2412```
2413 2413
2414Dalam jalankan `-p` atau sesi Agent SDK, Claude Code mengabaikan kunci ini. SDK menghidupkan checkpointing dengan opsi `enableFileCheckpointing`-nya, dan jalankan `-p` bare memerlukan `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true`. Lihat [File checkpointing dalam Agent SDK](https://code.claude.com/docs/id/agent-sdk/file-checkpointing.md).2414Dalam eksekusi `-p` atau sesi Agent SDK, Claude Code mengabaikan kunci ini. SDK menyalakan checkpointing dengan opsi `enableFileCheckpointing`, dan eksekusi `-p` biasa memerlukan `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true`. Lihat [File checkpointing di Agent SDK](https://code.claude.com/docs/id/agent-sdk/file-checkpointing.md).
2415 2415
2416### `idleCompaction`2416### `idleCompaction`
2417 2417
2418Idle compaction [mengompak](https://code.claude.com/docs/id/context-window.md#what-survives-compaction) percakapan panjang yang Anda tinggalkan, sesaat sebelum prompt cache-nya kedaluwarsa. Pesan Anda berikutnya kemudian mengirim ringkasan alih-alih seluruh percakapan. Ketika Anda kembali, percakapan menampilkan baris yang diawali dengan `Compacted while idle, before the prompt cache expired`.2418Idle compaction [memadatkan](https://code.claude.com/docs/id/context-window.md#what-survives-compaction) percakapan panjang yang Anda tinggalkan. Pesan Anda berikutnya kemudian mengirimkan ringkasan alih-alih seluruh percakapan. Setelah dipadatkan, percakapan menampilkan pemberitahuan:
2419
2420* **Terminal**: baris yang diawali dengan `Compacted while idle, before the prompt cache expired`
2421* **[Panel chat VS Code](#idle-compaction-in-vs-code-and-the-desktop-app)**: pemberitahuan yang menyertakan `a summary written while you were away`
2422* **[Aplikasi desktop](#idle-compaction-in-vs-code-and-the-desktop-app)**: pemberitahuan yang sama, di dalam baris yang labelnya menyertakan `Claude Code notice`. Jika Anda tidak melihat baris tersebut atau teksnya, beralihlah ke [mode tampilan Verbose](https://code.claude.com/docs/id/desktop.md#switch-view-modes).
2419 2423
2420Idle compaction aktif secara default untuk percakapan yang memenuhi semua kondisi berikut:2424Idle compaction menyala secara default untuk percakapan yang memenuhi semua kondisi berikut:
2421 2425
2422* **Sesi**: Anda berada dalam sesi terminal interaktif2426* **Sesi**: Anda berada dalam sesi terminal interaktif, atau di panel chat ekstensi VS Code atau tab Code aplikasi desktop pada [akun yang dipilih Anthropic](#idle-compaction-in-vs-code-and-the-desktop-app)
2423* **Auto-compaction**: [`autoCompactEnabled`](#autocompactenabled) aktif2427* **Auto-compaction**: [`autoCompactEnabled`](#autocompactenabled) menyala
2424* **Prompt cache**: percakapan menggunakan [TTL prompt cache satu jam](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)2428* **Prompt cache**: percakapan menggunakan [TTL prompt cache satu jam](https://code.claude.com/docs/id/prompt-caching.md#which-ttl-each-request-gets)
2425* **Feature flag**: Claude Code dapat [mengambil feature flag dari Anthropic](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching)2429* **Feature flag**: Claude Code dapat [mengambil feature flag dari Anthropic](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching)
2426* **Ukuran**: konteks percakapan telah mencapai ambang token, yang dapat Anda [ubah](#change-the-idle-compaction-threshold) dari default 200.0002430* **Ukuran**: konteks percakapan telah mencapai ambang token, yang dapat Anda [ubah](#change-the-idle-compaction-threshold) dari default-nya sebesar 200.000
2427* **Waktu idle**: sekitar 54 menit telah berlalu sejak permintaan terakhir, dan komputer Anda dalam keadaan menyala pada saat itu2431* **Waktu idle**: sekitar 54 menit telah berlalu sejak permintaan terakhir, dan komputer Anda dalam keadaan menyala pada saat itu
2428 2432
2429Untuk mematikan idle compaction, atur kunci ini ke `false`.2433Untuk mematikan idle compaction, atur kunci ini ke `false`.
2430 2434
2431* **Scope**: [`Any file`](#scopes)2435* **Cakupan**: [`Any file`](#scopes)
2432* **Type**: Boolean2436* **Tipe**: Boolean
2433 * `true`: Claude Code mengompak percakapan idle yang memenuhi kondisi2437 * `true`: Claude Code memadatkan percakapan idle yang memenuhi kondisi
2434 * `false`: Claude Code tidak mengompak saat sesi Anda idle2438 * `false`: Claude Code tidak melakukan compaction saat sesi Anda idle
2435* **Default**: `true`2439* **Default**: `true`
2436* **Per-session overrides**: [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/id/env-vars) mematikan idle compaction bersama dengan auto-compaction2440* **Override per sesi**: [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/id/env-vars) mematikan idle compaction bersama dengan auto-compaction
2437 2441
2438```json settings.json theme={null}2442```json settings.json theme={null}
2439{2443{
2441}2445}
2442```2446```
2443 2447
2444Untuk mematikan atau mengaktifkan idle compaction dari dalam sesi, jalankan `/config` dan ubah baris **Idle compaction**. Pilihan Anda disimpan ke pengaturan pengguna Anda dan langsung berlaku. Baris ini memerlukan Claude Code v2.1.302 atau lebih baru. Jika Anda menjalankan salah satu versi tersebut dan `/config` tidak menampilkan baris tersebut, periksa penyebab berikut:2448Untuk mematikan atau menyalakan idle compaction dari dalam sesi terminal, jalankan `/config` dan ubah baris **Idle compaction**. Pilihan Anda disimpan ke pengaturan pengguna Anda dan langsung berlaku. Baris ini memerlukan Claude Code v2.1.302 atau yang lebih baru. Jika Anda menjalankan salah satu versi tersebut dan `/config` tidak menampilkan baris tersebut, periksa penyebab berikut:
2445 2449
2446* **Sumber pengaturan lain menetapkan kunci ini**: nilai dalam pengaturan terkelola, flag `--settings`, atau file pengaturan proyek atau lokal menimpa pengaturan pengguna Anda. Ubah kunci di sumber tersebut2450* **Sumber pengaturan lain mengatur kunci ini**: nilai di pengaturan terkelola, flag `--settings`, atau file pengaturan proyek atau lokal menimpa pengaturan pengguna Anda. Ubah kunci di sumber tersebut
2447* **Feature flag tidak tersedia**: di tempat Claude Code tidak dapat [mengambil feature flag dari Anthropic](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), idle compaction tidak berjalan, sehingga tidak ada yang perlu dimatikan2451* **Feature flag tidak tersedia**: jika Claude Code tidak dapat [mengambil feature flag dari Anthropic](https://code.claude.com/docs/id/env-vars.md#features-that-need-feature-flag-fetching), idle compaction tidak berjalan, sehingga tidak ada yang perlu dimatikan
2448 2452
2449Kunci ini memerlukan Claude Code v2.1.290 atau lebih baru. Pada versi sebelumnya, yang mengabaikan kunci ini, matikan [`autoCompactEnabled`](#autocompactenabled) untuk menghentikan idle compaction.2453Kunci ini memerlukan Claude Code v2.1.290 atau yang lebih baru. Pada versi sebelumnya, yang mengabaikan kunci ini, matikan [`autoCompactEnabled`](#autocompactenabled) untuk menghentikan idle compaction.
2450 2454
2451#### Ubah ambang idle compaction2455#### Mengubah ambang idle compaction
2452 2456
2453Atur [`CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS`](https://code.claude.com/docs/id/env-vars) ke jumlah token yang harus dicapai konteks percakapan sebelum idle compaction berlaku untuknya. Gunakan bilangan bulat positif. Nilai di bawah `100000` dinaikkan menjadi `100000`, ambang terendah.2457Atur [`CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS`](https://code.claude.com/docs/id/env-vars) ke jumlah token yang harus dicapai konteks percakapan sebelum idle compaction berlaku untuknya. Gunakan bilangan bulat positif. Nilai di bawah `100000` dinaikkan menjadi `100000`, ambang terendah.
2454 2458
2455Dengan default, percakapan pada context window 200K melakukan auto-compact sebelum mencapai 200.000 token. Contoh ini menurunkan ambang menjadi 150.000 sehingga percakapan tersebut memenuhi syarat:2459Pada default, percakapan pada context window 200K akan auto-compact sebelum mencapai 200.000 token. Contoh ini menurunkan ambang menjadi 150.000 agar percakapan tersebut memenuhi syarat:
2456 2460
2457```json settings.json theme={null}2461```json settings.json theme={null}
2458{2462{
2462}2466}
2463```2467```
2464 2468
2469#### Idle compaction di VS Code dan aplikasi desktop
2470
2471Pemberitahuan seperti ini berarti Claude Code [mengganti percakapan Anda sebelumnya dengan ringkasan](https://code.claude.com/docs/id/context-window.md#what-survives-compaction) yang sekarang menjadi dasar kerja Claude:
2472
2473```text theme={null}
2474Compacted using a summary written while you were away · turn off with "idleCompaction": false in settings.json
2475```
2476
2477Anda tidak perlu melakukan apa pun. Untuk mematikan idle compaction, atur `idleCompaction` ke `false` di `~/.claude/settings.json` atau [file pengaturan](https://code.claude.com/docs/id/settings.md#settings-files-and-who-they-affect) lainnya.
2478
2479Di panel chat ekstensi VS Code dan tab Code aplikasi desktop, idle compaction berjalan untuk akun yang dipilih Anthropic. Claude Code menulis ringkasan saat Anda tidak ada, lalu melakukan compaction dengan ringkasan tersebut hanya jika pesan Anda berikutnya datang satu jam atau lebih setelah permintaan terakhir.
2480
2465### `plansDirectory`2481### `plansDirectory`
2466 2482
2467Pilih di mana Claude Code menyimpan file rencana yang ditulisnya dalam [plan mode](https://code.claude.com/docs/id/permission-modes.md#analyze-before-you-edit-with-plan-mode). Claude Code menyelesaikan jalur relatif terhadap akar proyek.2483Pilih tempat Claude Code menyimpan file rencana yang ditulisnya dalam [plan mode](https://code.claude.com/docs/id/permission-modes.md#analyze-before-you-edit-with-plan-mode). Claude Code me-resolve path relatif terhadap root proyek.
2468 2484
2469* **Scope**: [`Any file`](#scopes)2485* **Cakupan**: [`Any file`](#scopes)
2470* **Type**: string, jalur relatif terhadap akar proyek2486* **Tipe**: string, path relatif terhadap root proyek
2471* **Default**: tidak diatur, jadi Claude Code menggunakan `~/.claude/plans`2487* **Default**: tidak diatur, sehingga Claude Code menggunakan `~/.claude/plans`
2472 2488
2473```json settings.json theme={null}2489```json settings.json theme={null}
2474{2490{
2478 2494
2479Claude Code menyimpan rencana di `~/.claude/plans` alih-alih direktori yang Anda atur dalam kasus seperti berikut:2495Claude Code menyimpan rencana di `~/.claude/plans` alih-alih direktori yang Anda atur dalam kasus seperti berikut:
2480 2496
2481* **Di luar akar proyek**: jalur diselesaikan di luar akar proyek, seperti halnya `"../plans"`.2497* **Di luar root proyek**: path ter-resolve ke luar root proyek, seperti `"../plans"`.
2482* **Backslash di macOS, Linux, dan WSL**: jalur yang diselesaikan mengandung backslash, seperti halnya `"docs\\plans"` gaya Windows. Tulis `"docs/plans"`, yang juga berfungsi di Windows.2498* **Backslash di macOS, Linux, dan WSL**: path yang ter-resolve berisi backslash, seperti `"docs\\plans"` bergaya Windows. Tulis `"docs/plans"`, yang juga berfungsi di Windows.
2483 2499
2484### `skillListingBudgetFraction`2500### `skillListingBudgetFraction`
2485 2501
2486Setiap giliran, Claude melihat [daftar keterampilan Anda](https://code.claude.com/docs/id/skills.md#skill-descriptions-are-cut-short) dengan deskripsinya, dan Claude Code membatasi daftar itu pada bagian jendela konteks. Ketika daftar melampaui batas, Claude Code menyimpan nama setiap keterampilan tetapi menghapus deskripsi keterampilan yang paling jarang digunakan, sehingga Claude masih dapat memanggil keterampilan tersebut tetapi kurang mungkin memilih satu sendiri. Naikkan kunci ini untuk menyimpan lebih banyak deskripsi yang terlihat dengan mengorbankan lebih banyak konteks per giliran.2502Setiap giliran, Claude melihat [daftar skill Anda](https://code.claude.com/docs/id/skills.md#skill-descriptions-are-cut-short) beserta deskripsinya, dan Claude Code membatasi daftar tersebut pada porsi tertentu dari context window. Saat daftar melebihi batas, Claude Code mempertahankan nama setiap skill tetapi membuang deskripsi skill yang paling jarang digunakan, sehingga Claude masih dapat memanggil skill tersebut tetapi lebih kecil kemungkinannya untuk memilihnya sendiri. Naikkan kunci ini untuk menjaga lebih banyak deskripsi tetap terlihat dengan konsekuensi lebih banyak konteks per giliran.
2487 2503
2488* **Scope**: [`Any file`](#scopes)2504* **Cakupan**: [`Any file`](#scopes)
2489* **Type**: angka, fraksi lebih besar dari `0` dan paling banyak `1`2505* **Tipe**: angka, pecahan yang lebih besar dari `0` dan paling banyak `1`
2490* **Default**: `0.01`, yang mereservasi 1% dari jendela konteks2506* **Default**: `0.01`, yang mencadangkan 1% dari context window
2491 2507
2492```json settings.json theme={null}2508```json settings.json theme={null}
2493{2509{
2495}2511}
2496```2512```
2497 2513
2498Untuk melihat berapa banyak konteks yang digunakan daftar dan keterampilan mana yang berkontribusi paling banyak, jalankan `/doctor`.2514Untuk melihat berapa banyak konteks yang digunakan daftar tersebut dan skill mana yang paling banyak berkontribusi, jalankan `/doctor`.
2499 2515
2500### `skillListingMaxDescChars`2516### `skillListingMaxDescChars`
2501 2517
2502Setiap giliran, Claude melihat [daftar keterampilan Anda](https://code.claude.com/docs/id/skills.md#skill-descriptions-are-cut-short) yang menampilkan teks `description` dan `when_to_use` setiap keterampilan. Kunci ini membatasi berapa banyak karakter dari teks itu yang ditampilkan Claude Code per keterampilan; teks yang lebih panjang dipotong pada batas.2518Setiap giliran, Claude melihat [daftar skill Anda](https://code.claude.com/docs/id/skills.md#skill-descriptions-are-cut-short) yang menampilkan teks `description` dan `when_to_use` setiap skill. Kunci ini membatasi berapa banyak karakter dari teks tersebut yang ditampilkan Claude Code per skill; teks yang lebih panjang dipotong pada batas tersebut.
2503 2519
2504* **Scope**: [`Any file`](#scopes)2520* **Cakupan**: [`Any file`](#scopes)
2505* **Type**: jumlah karakter, bilangan bulat positif2521* **Tipe**: jumlah karakter, bilangan bulat positif
2506* **Default**: `1536`2522* **Default**: `1536`
2507 2523
2508```json settings.json theme={null}2524```json settings.json theme={null}
2511}2527}
2512```2528```
2513 2529
2514Naikkan untuk menyimpan deskripsi panjang utuh dengan mengorbankan lebih banyak konteks per giliran; turunkan untuk menyesuaikan lebih banyak keterampilan di bawah [`skillListingBudgetFraction`](#skilllistingbudgetfraction).2530Naikkan untuk menjaga deskripsi panjang tetap utuh dengan konsekuensi lebih banyak konteks per giliran; turunkan untuk memuat lebih banyak skill di bawah [`skillListingBudgetFraction`](#skilllistingbudgetfraction).
2515 2531
2516### `taskOutputMaxChars`2532### `taskOutputMaxChars`
2517 2533
2518> [!WARNING]2534> [!WARNING]
2519>2535>
2520> Dihapus dalam v2.1.277, bersama dengan alat `TaskOutput` yang diukurnya. Menetapkannya tidak berpengaruh pada versi saat ini. Claude membaca [file output](https://code.claude.com/docs/id/tools-reference.md#background-commands) tugas latar belakang dengan `Read` sebagai gantinya.2536> Dihapus di v2.1.277, bersama dengan tool `TaskOutput` yang ukurannya diatur olehnya. Mengaturnya tidak berpengaruh pada versi saat ini. Claude membaca [file output](https://code.claude.com/docs/id/tools-reference.md#background-commands) tugas latar belakang dengan `Read` sebagai gantinya.
2521 2537
2522Melalui v2.1.276, Anda menetapkan kunci ini ke jumlah karakter dari [output tugas latar belakang](https://code.claude.com/docs/id/tools-reference.md#background-commands) yang diterima Claude secara inline ketika membacanya dengan alat `TaskOutput`.2538Hingga v2.1.276, Anda mengatur kunci ini ke jumlah karakter output [tugas latar belakang](https://code.claude.com/docs/id/tools-reference.md#background-commands) yang diterima Claude secara inline saat membaca tugas tersebut dengan tool `TaskOutput`.
2523 2539
2524## Interface dan terminal2540## Interface dan terminal
2525 2541
3522 3538
3523* **Hook terkelola dan SDK berjalan**: hooks dari pengaturan terkelola dan hooks yang didaftarkan [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md) dalam proses3539* **Hook terkelola dan SDK berjalan**: hooks dari pengaturan terkelola dan hooks yang didaftarkan [Agent SDK](https://code.claude.com/docs/id/agent-sdk/overview.md) dalam proses
3524* **Hook plugin yang dipaksa diaktifkan berjalan**: hooks dari plugin yang dipaksa diaktifkan oleh pengaturan terkelola Anda melalui [`enabledPlugins`](#enabledplugins). Claude Code cocok dengan ID `plugin@marketplace` lengkap, jadi plugin dengan nama yang sama dari marketplace berbeda tetap diblokir. Ini memungkinkan Anda mendistribusikan hooks yang telah diverifikasi melalui marketplace organisasi sambil memblokir segalanya. Sebuah [mod](https://code.claude.com/docs/id/plugins/mods/overview.md) dalam plugin seperti itu dimuat hanya ketika [dihitung sebagai milik organisasi Anda](https://code.claude.com/docs/id/plugins/mods/admin.md#install-your-organizations-mods)3540* **Hook plugin yang dipaksa diaktifkan berjalan**: hooks dari plugin yang dipaksa diaktifkan oleh pengaturan terkelola Anda melalui [`enabledPlugins`](#enabledplugins). Claude Code cocok dengan ID `plugin@marketplace` lengkap, jadi plugin dengan nama yang sama dari marketplace berbeda tetap diblokir. Ini memungkinkan Anda mendistribusikan hooks yang telah diverifikasi melalui marketplace organisasi sambil memblokir segalanya. Sebuah [mod](https://code.claude.com/docs/id/plugins/mods/overview.md) dalam plugin seperti itu dimuat hanya ketika [dihitung sebagai milik organisasi Anda](https://code.claude.com/docs/id/plugins/mods/admin.md#install-your-organizations-mods)
3541* **Monitor dari plugin lain diblokir**: [monitor](https://code.claude.com/docs/id/plugins/components.md#monitors) milik sebuah plugin tidak dimulai kecuali plugin tersebut dipaksa diaktifkan. Memerlukan Claude Code v2.1.310 atau lebih baru
3525* **Segalanya yang lain diblokir**: user, project, dan local hooks, hooks dan mods dari plugin lain yang diinstal, dan hooks yang dideklarasikan dalam frontmatter agent. [Mods yang tertanam dalam Claude Code](https://code.claude.com/docs/id/plugins/mods/overview.md#mods-built-into-claude-code) terus berjalan. Untuk memblokir hanya mods pengguna, atur [`allowManagedModsOnly`](https://code.claude.com/docs/id/plugins/mods/admin#set-options-on-the-built-in-guard) sebagai gantinya.3542* **Segalanya yang lain diblokir**: user, project, dan local hooks, hooks dan mods dari plugin lain yang diinstal, dan hooks yang dideklarasikan dalam frontmatter agent. [Mods yang tertanam dalam Claude Code](https://code.claude.com/docs/id/plugins/mods/overview.md#mods-built-into-claude-code) terus berjalan. Untuk memblokir hanya mods pengguna, atur [`allowManagedModsOnly`](https://code.claude.com/docs/id/plugins/mods/admin#set-options-on-the-built-in-guard) sebagai gantinya.
3526* **Plugin bersumber perintah dinonaktifkan**: Claude Code juga menonaktifkan plugin dengan [`command` source](https://code.claude.com/docs/id/plugins/marketplace-reference#command-plugin-source), termasuk plugin yang dipaksa diaktifkan dalam `enabledPlugins` terkelola, kecuali Anda menyetel [`disableCommandPluginSources`](#disablecommandpluginsources) ke `false` secara eksplisit3543* **Plugin bersumber perintah dinonaktifkan**: Claude Code juga menonaktifkan plugin dengan [`command` source](https://code.claude.com/docs/id/plugins/marketplace-reference#command-plugin-source), termasuk plugin yang dipaksa diaktifkan dalam `enabledPlugins` terkelola, kecuali Anda menyetel [`disableCommandPluginSources`](#disablecommandpluginsources) ke `false` secara eksplisit
3527* **Perintah marketplace `headersHelper` diblokir**: Claude Code juga memblokir marketplace [`headersHelper` commands](https://code.claude.com/docs/id/plugins/host-marketplace#authenticate-archive-downloads) kecuali [`disableCommandPluginSources`](#disablecommandpluginsources) secara eksplisit diatur ke `false`, kecuali untuk marketplace yang dideklarasikan oleh pengaturan terkelola itu sendiri. Memerlukan Claude Code v2.1.238 atau lebih baru3544* **Perintah marketplace `headersHelper` diblokir**: Claude Code juga memblokir marketplace [`headersHelper` commands](https://code.claude.com/docs/id/plugins/host-marketplace#authenticate-archive-downloads) kecuali [`disableCommandPluginSources`](#disablecommandpluginsources) secara eksplisit diatur ke `false`, kecuali untuk marketplace yang dideklarasikan oleh pengaturan terkelola itu sendiri. Memerlukan Claude Code v2.1.238 atau lebih baru