> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Pengaturan Claude Code

> Konfigurasikan Claude Code dengan pengaturan global dan tingkat proyek, serta variabel lingkungan.

Claude Code menawarkan berbagai pengaturan untuk mengonfigurasi perilakunya sesuai kebutuhan Anda. Anda dapat mengonfigurasi Claude Code dengan menjalankan perintah `/config`, yang membuka antarmuka Pengaturan bertab di mana Anda dapat melihat informasi status dan memodifikasi opsi konfigurasi. {/* min-version: 2.1.181 */}Mulai dari v2.1.181, Anda dapat mengubah satu opsi tanpa membuka antarmuka dengan melewatkan `key=value` ke `/config`, misalnya `/config verbose=true`.

<h2 id="configuration-scopes">
  Cakupan konfigurasi
</h2>

Claude Code menggunakan sistem cakupan untuk menentukan di mana konfigurasi berlaku dan siapa yang membagikannya. Memahami cakupan membantu Anda memutuskan cara mengonfigurasi Claude Code untuk penggunaan pribadi, kolaborasi tim, atau penyebaran perusahaan.

<h3 id="available-scopes">
  Cakupan yang tersedia
</h3>

| Cakupan     | Lokasi                                                                                         | Siapa yang terpengaruh                                                                                                                                                                    | Dibagikan dengan tim?  |
| :---------- | :--------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------- |
| **Managed** | Pengaturan yang dikelola server, plist / registry, atau `managed-settings.json` tingkat sistem | Semua anggota organisasi untuk pengiriman yang dikelola server; semua pengguna di mesin untuk plist, HKLM registry, dan pengiriman file; pengguna saat ini untuk pengiriman HKCU registry | Ya (digunakan oleh IT) |
| **User**    | Direktori `~/.claude/`                                                                         | Anda, di semua proyek                                                                                                                                                                     | Tidak                  |
| **Project** | `.claude/` di repositori                                                                       | Semua kolaborator di repositori ini                                                                                                                                                       | Ya (dikomit ke git)    |
| **Local**   | `.claude/settings.local.json`                                                                  | Anda, hanya di repositori ini                                                                                                                                                             | Tidak (diabaikan git)  |

<h3 id="when-to-use-each-scope">
  Kapan menggunakan setiap cakupan
</h3>

**Cakupan Managed** adalah untuk:

* Kebijakan keamanan yang harus diterapkan di seluruh organisasi
* Persyaratan kepatuhan yang tidak dapat ditimpa
* Konfigurasi standar yang digunakan oleh IT/DevOps

**Cakupan User** paling baik untuk:

* Preferensi pribadi yang Anda inginkan di mana-mana (tema, pengaturan editor)
* Tools dan plugins yang Anda gunakan di semua proyek
* Kunci API dan autentikasi (disimpan dengan aman)

**Cakupan Project** paling baik untuk:

* Pengaturan bersama tim (izin, hooks, MCP servers)
* Plugins yang harus dimiliki seluruh tim
* Standardisasi tooling di seluruh kolaborator

**Cakupan Local** paling baik untuk:

* Penggantian pribadi untuk proyek tertentu
* Pengaturan pengujian sebelum dibagikan dengan tim
* Pengaturan spesifik mesin yang tidak akan berfungsi untuk orang lain

<h3 id="how-scopes-interact">
  Bagaimana cakupan berinteraksi
</h3>

Ketika pengaturan yang sama muncul dalam beberapa cakupan, Claude Code menerapkannya dalam urutan prioritas:

1. **Managed** (tertinggi): tidak dapat ditimpa oleh apa pun
2. **Argumen baris perintah**: penggantian sesi sementara
3. **Local**: menimpa pengaturan proyek dan pengguna
4. **Project**: menimpa pengaturan pengguna
5. **User** (terendah): berlaku ketika tidak ada yang menentukan pengaturan

Misalnya, jika pengaturan pengguna Anda menetapkan `spinnerTipsEnabled` ke `true` dan pengaturan proyek menetapkannya ke `false`, nilai proyek berlaku. Aturan izin berperilaku berbeda karena mereka menggabungkan di seluruh cakupan daripada menimpa. Lihat [Preseden pengaturan](#settings-precedence).

<h3 id="what-uses-scopes">
  Apa yang menggunakan cakupan
</h3>

Cakupan berlaku untuk banyak fitur Claude Code:

| Fitur           | Lokasi pengguna           | Lokasi proyek                        | Lokasi lokal                  |
| :-------------- | :------------------------ | :----------------------------------- | :---------------------------- |
| **Settings**    | `~/.claude/settings.json` | `.claude/settings.json`              | `.claude/settings.local.json` |
| **Subagents**   | `~/.claude/agents/`       | `.claude/agents/`                    | Tidak ada                     |
| **MCP servers** | `~/.claude.json`          | `.mcp.json`                          | `~/.claude.json` (per-proyek) |
| **Plugins**     | `~/.claude/settings.json` | `.claude/settings.json`              | `.claude/settings.local.json` |
| **CLAUDE.md**   | `~/.claude/CLAUDE.md`     | `CLAUDE.md` atau `.claude/CLAUDE.md` | `CLAUDE.local.md`             |

Di Windows, jalur yang ditampilkan sebagai `~/.claude` diselesaikan ke `%USERPROFILE%\.claude`.

***

<h2 id="settings-files">
  File pengaturan
</h2>

File `settings.json` adalah mekanisme resmi untuk mengonfigurasi Claude Code melalui pengaturan hierarki:

* **Pengaturan pengguna** didefinisikan dalam `~/.claude/settings.json` dan berlaku untuk semua proyek.
* **Pengaturan proyek** disimpan di direktori proyek Anda:
  * `.claude/settings.json` untuk pengaturan yang diperiksa ke dalam kontrol sumber dan dibagikan dengan tim Anda
  * `.claude/settings.local.json` untuk pengaturan yang tidak diperiksa, berguna untuk preferensi pribadi dan eksperimen. Ketika Claude Code membuat `.claude/settings.local.json`, Claude Code mengonfigurasi git untuk mengabaikan file tersebut. Jika Anda membuat file sendiri, tambahkan ke gitignore secara manual.
* **Pengaturan Managed**: Untuk organisasi yang memerlukan kontrol terpusat, Claude Code mendukung beberapa mekanisme pengiriman untuk pengaturan yang dikelola. Semua menggunakan format JSON yang sama dan tidak dapat ditimpa oleh pengaturan pengguna atau proyek:

  * **Pengaturan yang dikelola server**: dikirimkan dari jarak jauh saat sign-in, baik dari server Anthropic melalui konsol admin claude.ai atau dari [Claude apps gateway](/id/claude-apps-gateway) yang di-host sendiri. Lihat [pengaturan yang dikelola server](/id/server-managed-settings).
  * **Kebijakan tingkat MDM/OS**: dikirimkan melalui manajemen perangkat asli di macOS dan Windows:
    * macOS: domain preferensi terkelola `com.anthropic.claudecode`. Kunci tingkat atas plist mencerminkan `managed-settings.json`, dengan pengaturan bersarang sebagai kamus dan array sebagai array plist. Terapkan melalui profil konfigurasi di Jamf, Iru (Kandji), atau alat MDM serupa.
    * Windows: kunci registry `HKLM\SOFTWARE\Policies\ClaudeCode` dengan nilai `Settings` (REG\_SZ atau REG\_EXPAND\_SZ) berisi JSON (digunakan melalui Group Policy atau Intune)
    * Windows (tingkat pengguna): `HKCU\SOFTWARE\Policies\ClaudeCode` (prioritas kebijakan terendah, hanya digunakan ketika tidak ada sumber tingkat admin)
  * **Berbasis file**: `managed-settings.json` dan `managed-mcp.json` digunakan ke direktori sistem:

    * macOS: `/Library/Application Support/ClaudeCode/`
    * Linux dan WSL: `/etc/claude-code/`
    * Windows: `C:\Program Files\ClaudeCode\`

    <Warning>
      Jalur Windows warisan `C:\ProgramData\ClaudeCode\managed-settings.json` tidak lagi didukung sejak v2.1.75. Administrator yang menggunakan pengaturan ke lokasi tersebut harus memigrasikan file ke `C:\Program Files\ClaudeCode\managed-settings.json`.
    </Warning>

    Pengaturan yang dikelola berbasis file juga mendukung direktori drop-in di `managed-settings.d/` dalam direktori sistem yang sama bersama `managed-settings.json`. Ini memungkinkan tim terpisah untuk menggunakan fragmen kebijakan independen tanpa mengoordinasikan pengeditan ke file tunggal.

    Mengikuti konvensi systemd, `managed-settings.json` digabungkan terlebih dahulu sebagai dasar, kemudian semua file `*.json` dalam direktori drop-in diurutkan secara alfabetis dan digabungkan di atas. File yang lebih baru menimpa yang lebih awal untuk nilai skalar; array digabungkan dan dihilangkan duplikatnya; objek digabungkan secara mendalam. File tersembunyi yang dimulai dengan `.` diabaikan.

    Gunakan prefiks numerik untuk mengontrol urutan penggabungan, misalnya `10-telemetry.json` dan `20-security.json`.

  Lihat [pengaturan yang dikelola](/id/permissions#managed-only-settings) dan [Konfigurasi MCP yang Dikelola](/id/managed-mcp) untuk detail.

  [Repositori](https://github.com/anthropics/claude-code/tree/main/examples/mdm) ini mencakup template penyebaran pemula untuk Jamf, Iru (Kandji), Intune, dan Group Policy. Gunakan ini sebagai titik awal dan sesuaikan dengan kebutuhan Anda.

  <Note>
    Penyebaran yang dikelola juga dapat membatasi **penambahan marketplace plugin** menggunakan `strictKnownMarketplaces`. Untuk informasi lebih lanjut, lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions).
  </Note>
* **Konfigurasi lainnya** disimpan dalam `~/.claude.json`. File ini berisi sesi OAuth, konfigurasi [MCP server](/id/mcp) untuk cakupan pengguna dan lokal, status per-proyek (tools yang diizinkan, pengaturan kepercayaan), dan berbagai cache. MCP servers dengan cakupan proyek disimpan secara terpisah dalam `.mcp.json`.

<Note>
  Claude Code secara otomatis membuat cadangan file konfigurasi dengan stempel waktu dan menyimpan lima cadangan terbaru untuk mencegah kehilangan data.
</Note>

```JSON Contoh settings.json theme={null}
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test *)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl *)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  },
  "companyAnnouncements": [
    "Welcome to Acme Corp! Review our code guidelines at docs.acme.com",
    "Reminder: Code reviews required for all PRs",
    "New security policy in effect"
  ]
}
```

Baris `$schema` dalam contoh di atas menunjuk ke [skema JSON resmi](https://json.schemastore.org/claude-code-settings.json) untuk pengaturan Claude Code. Menambahkannya ke `settings.json` Anda memungkinkan pelengkapan otomatis dan validasi inline di VS Code, Cursor, dan editor lain yang mendukung validasi skema JSON.

Skema yang dipublikasikan diperbarui secara berkala dan mungkin tidak menyertakan pengaturan yang ditambahkan dalam rilis CLI terbaru, jadi peringatan validasi pada bidang yang baru didokumentasikan tidak harus berarti konfigurasi Anda tidak valid.

<h3 id="when-edits-take-effect">
  Saat pengeditan berlaku
</h3>

Claude Code memantau file pengaturan Anda dan memuat ulang saat berubah, jadi pengeditan pada sebagian besar kunci berlaku untuk sesi yang sedang berjalan tanpa restart. Ini termasuk `permissions`, `hooks`, dan credential helpers seperti `apiKeyHelper`. Reload mencakup pengaturan pengguna, proyek, lokal, dan yang dikelola, dan [hook `ConfigChange`](/id/hooks#configchange) diaktifkan untuk setiap perubahan yang terdeteksi.

Beberapa kunci dibaca sekali saat startup sesi dan berlaku pada restart berikutnya:

* `model`: gunakan [`/model`](/id/model-config#setting-your-model) untuk beralih di tengah sesi
* [`outputStyle`](/id/output-styles): bagian dari prompt sistem, yang dibangun kembali pada `/clear` atau restart

<h3 id="invalid-entries-in-managed-settings">
  Entri tidak valid dalam pengaturan yang dikelola
</h3>

Pengaturan yang dikelola diuraikan dengan toleran. Ketika konfigurasi yang dikelola berisi entri yang gagal validasi skema, Claude Code menghapus entri tersebut, mencatat peringatan, dan menegakkan setiap kebijakan yang valid yang tersisa. Satu kesalahan ketik tidak dapat menonaktifkan kebijakan organisasi Anda yang lainnya. Perilaku ini konsisten di ketiga mekanisme pengiriman: [pengaturan yang dikelola server](/id/server-managed-settings), kebijakan plist dan registry yang digunakan melalui MDM, dan file `managed-settings.json`. Memerlukan Claude Code v2.1.169 atau lebih baru.

Bidang penegakan keamanan ditangani per bidang daripada dihapus secara grosir saat ada tetapi tidak valid:

| Bidang                       | Perilaku saat ada tetapi tidak valid                                                                                                                                                                                                                                                                               |
| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowedMcpServers`          | Diterapkan sebagai daftar putih kosong, jadi tidak ada MCP servers yang diterima sampai nilainya diperbaiki. Entri individual yang tidak valid dihapus dan subset yang valid diterapkan.                                                                                                                           |
| `allowManagedMcpServersOnly` | Diperlakukan sebagai `true`.                                                                                                                                                                                                                                                                                       |
| `availableModels`            | {/* min-version: 2.1.175 */}Diterapkan sebagai daftar putih kosong, jadi hanya model Default yang tersedia sampai nilainya diperbaiki. Entri non-string individual dihapus dan subset yang valid diterapkan. Berlaku dalam v2.1.175 dan lebih baru.                                                                |
| `enforceAvailableModels`     | {/* min-version: 2.1.175 */}Diperlakukan sebagai `true`. Berlaku dalam v2.1.175 dan lebih baru.                                                                                                                                                                                                                    |
| `forceLoginOrgUUID`          | Tidak ada organisasi yang diizinkan untuk login sampai nilainya diperbaiki.                                                                                                                                                                                                                                        |
| `deniedMcpServers`           | Entri individual yang tidak valid dihapus dan subset yang valid diterapkan. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan, karena menolak setiap server akan memblokir servers yang kebijakan tidak pernah namakan.                                                                               |
| `sandbox.credentials`        | {/* min-version: 2.1.191 */}Entri individual yang tidak valid dalam `files` atau `envVars` dihapus dengan peringatan dan subset yang valid diterapkan. Nilai `credentials` yang sepenuhnya tidak valid dijatuhkan dengan peringatan sementara sisa `sandbox` masih berlaku. Berlaku dalam v2.1.191 dan lebih baru. |

`requiredMinimumVersion` dan `requiredMaximumVersion` gagal terbuka dengan desain: nilai yang tidak valid dihapus daripada diterapkan, jadi push kebijakan yang buruk tidak dapat mencegah Claude Code dari memulai.

Kesalahan validasi muncul di tiga tempat:

* Sesi interaktif menampilkan dialog saat startup yang mencantumkan entri yang tidak valid.
* Jalankan headless dengan `-p` cetak ringkasan ke stderr.
* [`claude doctor`](/id/debug-your-config) mencantumkan setiap entri yang tidak valid dengan sumber dan bidangnya.

Validasi perubahan kebijakan dengan menjalankan `claude doctor` pada mesin uji sebelum menggunakannya di seluruh armada.

Toleransi ini hanya berlaku untuk pengaturan yang dikelola. File pengaturan pengguna, proyek, dan lokal tetap ketat: file yang gagal validasi ditolak secara keseluruhan dan dilaporkan.

<h3 id="available-settings">
  Pengaturan yang tersedia
</h3>

`settings.json` mendukung sejumlah opsi:

| Kunci                             | Deskripsi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Contoh                                                                                                                           |
| :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |
| `advisorModel`                    | {/* min-version: 2.1.98 */}Model untuk [advisor tool](/id/advisor) sisi server. Menerima alias model seperti `"opus"`, `"sonnet"`, atau `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+), atau ID model lengkap. Ditulis secara otomatis saat Anda menjalankan `/advisor`. Tidak diatur untuk menonaktifkan advisor. Memerlukan Claude Code v2.1.98 atau lebih baru                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `"opus"`                                                                                                                         |
| `agent`                           | Jalankan thread utama sebagai subagent bernama, dan atur agent default untuk sesi yang dikirimkan dari `claude agents`. Menerapkan prompt sistem subagent, pembatasan tool, dan model. Lihat [Panggil subagents secara eksplisit](/id/sub-agents#invoke-subagents-explicitly)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | `"code-reviewer"`                                                                                                                |
| `agentPushNotifEnabled`           | {/* min-version: 2.1.119 */}**Default**: `false`. Ketika [Remote Control](/id/remote-control) terhubung, izinkan Claude mengirim notifikasi push proaktif ke ponsel Anda, misalnya ketika tugas panjang selesai. Muncul di `/config` sebagai **Push when Claude decides**. Lihat [Mobile push notifications](/id/remote-control#mobile-push-notifications). Memerlukan Claude Code v2.1.119 atau lebih baru                                                                                                                                                                                                                                                                                                                                                                                                                                           | `true`                                                                                                                           |
| `allowAllClaudeAiMcps`            | (Pengaturan yang dikelola saja) Muat konektor claude.ai bersama `managed-mcp.json` yang digunakan, yang sebaliknya mengambil kontrol eksklusif dan menekan mereka. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `true`                                                                                                                           |
| `allowedChannelPlugins`           | (Pengaturan yang dikelola saja) Daftar putih plugin channel yang dapat mendorong pesan. Menggantikan daftar putih Anthropic default saat diatur. Tidak terdefinisi = kembali ke default, array kosong = blokir semua plugin channel. Memerlukan `channelsEnabled: true`. Lihat [Batasi plugin channel mana yang dapat dijalankan](/id/channels#restrict-which-channel-plugins-can-run)                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]`                                                           |
| `allowedHttpHookUrls`             | Daftar putih pola URL yang dapat ditargetkan oleh HTTP hooks. Mendukung `*` sebagai wildcard. Saat diatur, hooks dengan URL yang tidak cocok diblokir. Tidak terdefinisi = tidak ada pembatasan, array kosong = blokir semua HTTP hooks. Array digabungkan di seluruh sumber pengaturan. Lihat [Konfigurasi Hook](#hook-configuration)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `["https://hooks.example.com/*"]`                                                                                                |
| `allowedMcpServers`               | Saat diatur dalam managed-settings.json, daftar putih MCP servers yang dapat dikonfigurasi pengguna. Tidak terdefinisi = tidak ada pembatasan, array kosong = lockdown. Berlaku untuk semua cakupan. Daftar hitam memiliki prioritas. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `[{ "serverName": "github" }]`                                                                                                   |
| `allowManagedHooksOnly`           | (Pengaturan yang dikelola saja) Hanya hooks yang dikelola, SDK hooks, dan hooks dari plugins yang dipaksa diaktifkan dalam pengaturan yang dikelola `enabledPlugins` yang dimuat. Hooks pengguna, proyek, dan semua plugin hooks lainnya diblokir. Lihat [Konfigurasi Hook](#hook-configuration)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `true`                                                                                                                           |
| `allowManagedMcpServersOnly`      | (Pengaturan yang dikelola saja) Hanya `allowedMcpServers` dari pengaturan yang dikelola yang dihormati. `deniedMcpServers` masih digabungkan dari semua sumber. Pengguna masih dapat menambahkan MCP servers, tetapi hanya daftar putih yang ditentukan admin yang berlaku. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | `true`                                                                                                                           |
| `allowManagedPermissionRulesOnly` | (Pengaturan yang dikelola saja) Cegah pengaturan pengguna dan proyek dari mendefinisikan aturan izin `allow`, `ask`, atau `deny`. Hanya aturan dalam pengaturan yang dikelola yang berlaku. Lihat [Pengaturan khusus yang dikelola](/id/permissions#managed-only-settings)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `true`                                                                                                                           |
| `alwaysThinkingEnabled`           | Aktifkan [pemikiran yang diperluas](/id/model-config#extended-thinking) secara default untuk semua sesi. Biasanya dikonfigurasi melalui perintah `/config` daripada mengedit langsung. Untuk memaksa pemikiran mati terlepas dari pengaturan ini, atur [`MAX_THINKING_TOKENS=0`](/id/env-vars) dalam `env`, yang menonaktifkan pemikiran pada Anthropic API kecuali pada Fable 5, yang tidak dapat memiliki pemikiran dimatikan. Pada [penyedia pihak ketiga](/id/third-party-integrations) ini menghilangkan parameter `thinking` sebagai gantinya, dan model adaptive-reasoning mungkin masih berpikir                                                                                                                                                                                                                                              | `true`                                                                                                                           |
| `apiKeyHelper`                    | Skrip khusus, yang akan dieksekusi dalam `/bin/sh` pada macOS dan Linux, `cmd` pada Windows, untuk menghasilkan nilai auth. Nilai ini akan dikirim sebagai header `X-Api-Key` dan `Authorization: Bearer` untuk permintaan model. Atur interval penyegaran dengan [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/id/env-vars)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `/bin/generate_temp_api_key.sh`                                                                                                  |
| `attribution`                     | Sesuaikan atribusi untuk komit git dan pull request. Lihat [Pengaturan atribusi](#attribution-settings)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `{"commit": "🤖 Generated with Claude Code", "pr": ""}`                                                                          |
| `autoCompactEnabled`              | {/* min-version: 2.1.119 */}**Default**: `true`. Secara otomatis kompak percakapan ketika konteks mendekati batas. Muncul di `/config` sebagai **Auto-compact**. Untuk menonaktifkan melalui variabel lingkungan, atur [`DISABLE_AUTO_COMPACT`](/id/env-vars) dalam `env`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `false`                                                                                                                          |
| `autoMemoryDirectory`             | Direktori khusus untuk penyimpanan [memori otomatis](/id/memory#storage-location). Menerima jalur absolut atau jalur dengan awalan `~/`. Dari pengaturan proyek atau lokal, ini dihormati hanya setelah Anda menerima dialog kepercayaan workspace, karena repositori yang diklon dapat menyediakan file ini                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `"~/my-memory-dir"`                                                                                                              |
| `autoMemoryEnabled`               | **Default**: `true`. Aktifkan [memori otomatis](/id/memory#enable-or-disable-auto-memory). Saat `false`, Claude tidak membaca dari atau menulis ke direktori memori otomatis. Anda juga dapat mengalihkan ini dengan `/memory` selama sesi. Untuk menonaktifkan melalui variabel lingkungan, atur [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/id/env-vars) dalam `env`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `false`                                                                                                                          |
| `autoMode`                        | Sesuaikan apa yang diblokir dan diizinkan oleh pengklasifikasi [mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode). Berisi array aturan prosa `environment`, `allow`, `soft_deny`, dan `hard_deny`. Sertakan string literal `"$defaults"` dalam array untuk mewarisi aturan bawaan pada posisi tersebut. Lihat [Konfigurasikan mode otomatis](/id/auto-mode-config). Tidak dibaca dari pengaturan proyek bersama                                                                                                                                                                                                                                                                                                                                                                                                                   | `{"soft_deny": ["$defaults", "Never run terraform apply"]}`                                                                      |
| `autoMode.classifyAllShell`       | {/* min-version: 2.1.193 */}**Default**: `false`. Saat `true`, menangguhkan setiap aturan allow Bash dan PowerShell saat mode otomatis aktif sehingga semua perintah shell merutekan melalui pengklasifikasi, bukan hanya aturan yang cocok dengan pola eksekusi kode arbitrer. Lihat [Rutekan semua perintah shell melalui pengklasifikasi](/id/auto-mode-config#route-all-shell-commands-through-the-classifier). Memerlukan Claude Code v2.1.193 atau lebih baru                                                                                                                                                                                                                                                                                                                                                                                   | `true`                                                                                                                           |
| `autoScrollEnabled`               | **Default**: `true`. Dalam [rendering fullscreen](/id/fullscreen), ikuti output baru ke bagian bawah percakapan. Muncul di `/config` sebagai **Auto-scroll**. Prompt izin masih bergulir ke tampilan saat ini dimatikan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `false`                                                                                                                          |
| `autoUpdatesChannel`              | **Default**: `"latest"`. Saluran rilis untuk diikuti untuk pembaruan. Gunakan `"stable"` untuk versi yang biasanya sekitar satu minggu lama dan melewati versi dengan regresi besar, atau `"latest"` untuk rilis terbaru. Untuk menonaktifkan auto-updates sepenuhnya, atur [`DISABLE_AUTOUPDATER`](/id/setup#disable-auto-updates) dalam `env`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `"stable"`                                                                                                                       |
| `availableModels`                 | Batasi model mana yang dapat dipilih pengguna untuk sesi utama, [subagents](/id/sub-agents), [skills](/id/skills), dan [advisor](/id/advisor). Tidak mempengaruhi opsi Default kecuali `enforceAvailableModels` juga diatur. Lihat [Batasi pemilihan model](/id/model-config#restrict-model-selection)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `["sonnet", "haiku"]`                                                                                                            |
| `awaySummaryEnabled`              | Tampilkan ringkasan sesi satu baris saat Anda kembali ke terminal setelah beberapa menit pergi. Atur ke `false` atau matikan Session recap di `/config` untuk menonaktifkan. Sama dengan [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/id/env-vars)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `true`                                                                                                                           |
| `awsAuthRefresh`                  | Skrip khusus yang memodifikasi direktori `.aws` (lihat [konfigurasi kredensial lanjutan](/id/amazon-bedrock#advanced-credential-configuration))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `aws sso login --profile myprofile`                                                                                              |
| `awsCredentialExport`             | Skrip khusus yang menampilkan JSON dengan kredensial AWS (lihat [konfigurasi kredensial lanjutan](/id/amazon-bedrock#advanced-credential-configuration))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | `/bin/generate_aws_grant.sh`                                                                                                     |
| `axScreenReader`                  | {/* min-version: 2.1.181 */}Render output yang ramah screen-reader: teks datar tanpa border dekoratif atau animasi. Mode screen-reader selalu menggunakan renderer klasik, jadi pengaturan `tui` tidak berpengaruh saat aktif. Variabel lingkungan [`CLAUDE_AX_SCREEN_READER`](/id/env-vars) dan flag [`--ax-screen-reader`](/id/cli-reference#cli-flags) memiliki prioritas. Memerlukan Claude Code v2.1.181 atau lebih baru                                                                                                                                                                                                                                                                                                                                                                                                                         | `true`                                                                                                                           |
| `blockedMarketplaces`             | (Pengaturan yang dikelola saja) Daftar hitam sumber marketplace. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh sistem file. Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions)                                                                                                                                                                                                                                                                                                                                                           | `[{ "source": "github", "repo": "untrusted/plugins" }]`                                                                          |
| `channelsEnabled`                 | (Pengaturan yang dikelola saja) Izinkan [channels](/id/channels) untuk organisasi. Pada paket Claude.ai Team dan Enterprise, channels diblokir saat ini tidak diatur atau `false`. Untuk akun [Anthropic Console](/id/authentication#claude-console-authentication) menggunakan autentikasi kunci API, channels diizinkan secara default kecuali organisasi Anda menggunakan pengaturan yang dikelola, dalam hal ini kunci ini harus diatur ke `true`                                                                                                                                                                                                                                                                                                                                                                                                 | `true`                                                                                                                           |
| `claudeMd`                        | (Pengaturan yang dikelola saja) Instruksi gaya CLAUDE.md yang disuntikkan sebagai memori yang dikelola organisasi. Hanya dihormati saat diatur dalam pengaturan yang dikelola atau kebijakan dan diabaikan dalam pengaturan pengguna, proyek, dan lokal. Lihat [CLAUDE.md di seluruh organisasi](/id/memory#deploy-organization-wide-claude-md)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `"Always run make lint before committing."`                                                                                      |
| `claudeMdExcludes`                | Pola glob atau jalur absolut file `CLAUDE.md` untuk dilewati saat memuat [memory](/id/memory). Pola cocok dengan jalur file absolut. Hanya berlaku untuk memori pengguna, proyek, dan lokal; file kebijakan yang dikelola tidak dapat dikecualikan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | `["**/vendor/**/CLAUDE.md"]`                                                                                                     |
| `cleanupPeriodDays`               | **Default**: `30` hari, minimum `1`. File sesi yang lebih lama dari periode ini dihapus saat startup. Pengaturan ke `0` ditolak dengan kesalahan validasi. Juga mengontrol cutoff usia untuk penghapusan otomatis [worktrees subagent yatim piatu](/id/worktrees#clean-up-worktrees) saat startup. Untuk menonaktifkan penulisan transkrip sepenuhnya, atur variabel lingkungan [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/id/env-vars), atau dalam mode non-interaktif (`-p`) gunakan flag `--no-session-persistence` atau opsi SDK `persistSession: false`.                                                                                                                                                                                                                                                                                               | `20`                                                                                                                             |
| `companyAnnouncements`            | Pengumuman untuk ditampilkan kepada pengguna saat startup. Jika beberapa pengumuman disediakan, mereka akan diputar secara acak.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]`                                                          |
| `defaultShell`                    | **Default**: `"bash"`, atau `"powershell"` di Windows saat Bash tidak tersedia. Shell default untuk perintah `!` input-box. Menerima `"bash"` atau `"powershell"`. Pengaturan `"powershell"` merutekan perintah `!` interaktif melalui PowerShell di Windows. Memerlukan `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Lihat [PowerShell tool](/id/tools-reference#powershell-tool)                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `"powershell"`                                                                                                                   |
| `deniedMcpServers`                | Saat diatur dalam managed-settings.json, daftar hitam MCP servers yang secara eksplisit diblokir. Berlaku untuk semua cakupan termasuk servers yang dikelola. Daftar hitam memiliki prioritas atas daftar putih. Lihat [Konfigurasi MCP yang Dikelola](/id/managed-mcp)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `[{ "serverName": "filesystem" }]`                                                                                               |
| `disableAgentView`                | Atur ke `true` untuk mematikan [background agents dan agent view](/id/agent-view): `claude agents`, `--bg`, `/background`, dan supervisor on-demand. Biasanya diatur dalam [pengaturan yang dikelola](/id/permissions#managed-settings). Setara dengan pengaturan `CLAUDE_CODE_DISABLE_AGENT_VIEW` ke `1`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `true`                                                                                                                           |
| `disableAllHooks`                 | Nonaktifkan semua [hooks](/id/hooks) dan [status line](/id/statusline) khusus apa pun                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `true`                                                                                                                           |
| `disableArtifact`                 | Atur ke `true` untuk menonaktifkan tool [Artifact](/id/artifacts), yang menerbitkan output sesi sebagai halaman web pribadi di claude.ai. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_ARTIFACT` ke `1`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | `true`                                                                                                                           |
| `disableAutoMode`                 | Atur ke `"disable"` untuk mencegah [mode otomatis](/id/permission-modes#eliminate-prompts-with-auto-mode) diaktifkan. Menghapus `auto` dari siklus `Shift+Tab` dan menolak `--permission-mode auto` saat startup. Paling berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) di mana pengguna tidak dapat menimpanya                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `"disable"`                                                                                                                      |
| `disableBundledSkills`            | Atur ke `true` untuk menonaktifkan [skills](/id/skills) dan workflows yang dikirimkan dengan Claude Code: skills bundel dan workflows dihapus sepenuhnya, sementara perintah slash bawaan seperti `/init` tetap dapat diketik tetapi disembunyikan dari model. Skills dari plugins, `.claude/skills/`, dan `.claude/commands/` tidak terpengaruh. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` ke `1`                                                                                                                                                                                                                                                                                                                                                                                                                                | `true`                                                                                                                           |
| `disableClaudeAiConnectors`       | {/* min-version: 2.1.182 */}Nonaktifkan [claude.ai MCP connectors](/id/mcp#use-mcp-servers-from-claude-ai) sehingga mereka tidak auto-fetched atau terhubung. Atur dalam cakupan pengaturan apa pun. `true` dalam sumber apa pun memiliki prioritas, jadi `.claude/settings.json` proyek yang diperiksa dapat memilih repositori dari konektor cloud, tetapi proyek-level `false` tidak dapat menimpa tingkat pengguna atau kebijakan `true`. Servers yang dilewatkan secara eksplisit melalui `--mcp-config` tidak terpengaruh. Untuk menolak konektor individual daripada semuanya, gunakan [`deniedMcpServers`](/id/managed-mcp). Memerlukan Claude Code v2.1.182 atau lebih baru                                                                                                                                                                  | `true`                                                                                                                           |
| `disableDeepLinkRegistration`     | Atur ke `"disable"` untuk mencegah Claude Code mendaftarkan penanganan protokol `claude-cli://` dengan sistem operasi saat startup. [Deep links](/id/deep-links) memungkinkan tools eksternal membuka sesi Claude Code dengan prompt yang sudah diisi sebelumnya. Berguna di lingkungan di mana pendaftaran penanganan protokol dibatasi atau dikelola secara terpisah                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `"disable"`                                                                                                                      |
| `disabledMcpjsonServers`          | Daftar MCP servers spesifik dari file `.mcp.json` untuk menolak                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `["filesystem"]`                                                                                                                 |
| `disableRemoteControl`            | {/* min-version: 2.1.128 */}Nonaktifkan [Remote Control](/id/remote-control): memblokir `claude remote-control`, flag `--remote-control`, auto-start, dan toggle dalam sesi. Biasanya ditempatkan dalam [pengaturan yang dikelola](/id/permissions#managed-settings) untuk penegakan MDM per-perangkat, tetapi berfungsi dari cakupan apa pun. Memerlukan Claude Code v2.1.128 atau lebih baru                                                                                                                                                                                                                                                                                                                                                                                                                                                        | `true`                                                                                                                           |
| `disableSideloadFlags`            | {/* min-version: 2.1.193 */}(Pengaturan yang dikelola saja) Tolak flag CLI `--plugin-dir`, `--plugin-url`, `--agents`, dan `--mcp-config` saat startup, yang pengguna dapat lewatkan untuk melewati [`strictKnownMarketplaces`](#strictknownmarketplaces) untuk satu run. Juga menolak flag ini dari permukaan apa pun yang meluncurkan CLI dengan mereka secara internal, saat ini [Cowork](/id/desktop) sesi lokal di aplikasi desktop. `--mcp-config` yang servers-nya semuanya entri `type: "sdk"` dalam proses masih diterima, jadi Agent SDK dan ekstensi VS Code tetap bekerja. Tidak memblokir `claude mcp add`, `.mcp.json`, atau SDK `setMcpServers()`; pasangkan dengan [`allowedMcpServers`](/id/managed-mcp) untuk kontrol MCP per-server. Memerlukan Claude Code v2.1.193 atau lebih baru                                               | `true`                                                                                                                           |
| `disableSkillShellExecution`      | Nonaktifkan eksekusi shell inline untuk blok `` !`...` `` dan ` ```! ` dalam [skills](/id/skills) dan perintah khusus dari sumber pengguna, proyek, plugin, atau direktori tambahan. Perintah diganti dengan `[shell command execution disabled by policy]` daripada dijalankan. Skills bundel dan yang dikelola tidak terpengaruh. Paling berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) di mana pengguna tidak dapat menimpanya                                                                                                                                                                                                                                                                                                                                                                                         | `true`                                                                                                                           |
| `disableWorkflows`                | **Default**: `false`. Nonaktifkan [dynamic workflows](/id/workflows#turn-workflows-off) dan perintah workflow bundel. Setara dengan pengaturan `CLAUDE_CODE_DISABLE_WORKFLOWS` ke `1`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `true`                                                                                                                           |
| `editorMode`                      | **Default**: `"normal"`. Mode binding kunci untuk prompt input: `"normal"` atau `"vim"`. Muncul di `/config` sebagai **Editor mode**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `"vim"`                                                                                                                          |
| `effortLevel`                     | Pertahankan [tingkat usaha](/id/model-config#adjust-effort-level) di seluruh sesi. Menerima `"low"`, `"medium"`, `"high"`, atau `"xhigh"`. Ditulis secara otomatis saat Anda menjalankan `/effort` dengan salah satu nilai tersebut. `--effort` dan [`CLAUDE_CODE_EFFORT_LEVEL`](/id/env-vars) menimpa ini untuk satu sesi. Lihat [Sesuaikan tingkat usaha](/id/model-config#adjust-effort-level) untuk model yang didukung                                                                                                                                                                                                                                                                                                                                                                                                                           | `"xhigh"`                                                                                                                        |
| `enableAllProjectMcpServers`      | Secara otomatis menyetujui semua MCP servers yang ditentukan dalam file `.mcp.json` proyek. {/* min-version: 2.1.196 */}Sejak v2.1.196, `claude mcp list` dan `claude mcp get` menghormati kunci ini dalam folder yang tidak terpercaya hanya dari [file pengaturan yang tidak diperiksa ke dalam repositori](/id/mcp#managing-your-servers)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `true`                                                                                                                           |
| `enableArtifact`                  | {/* min-version: 2.1.196 */}Aktifkan atau nonaktifkan tool [Artifact](/id/artifacts) untuk pengguna ini. Saat tidak diatur, default mengikuti [ketersediaan](/id/artifacts#availability) fitur untuk akun Anda. Baris **Artifacts** di `/config` menulis kunci ini. `disableArtifact` yang dikelola dan [pengaturan admin](/id/artifacts#manage-artifacts-for-your-organization) organisasi Anda memiliki prioritas, dan kunci diabaikan dalam pengaturan proyek dan lokal (`.claude/settings.json`, `.claude/settings.local.json`), yang repositori dapat diperiksa. Memerlukan Claude Code v2.1.196 atau lebih baru                                                                                                                                                                                                                                 | `true`                                                                                                                           |
| `enabledMcpjsonServers`           | Daftar MCP servers spesifik dari file `.mcp.json` untuk menyetujui. {/* min-version: 2.1.196 */}Sejak v2.1.196, `claude mcp list` dan `claude mcp get` menghormati kunci ini dalam folder yang tidak terpercaya hanya dari [file pengaturan yang tidak diperiksa ke dalam repositori](/id/mcp#managing-your-servers)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `["memory", "github"]`                                                                                                           |
| `enforceAvailableModels`          | {/* min-version: 2.1.175 */}Perluas daftar putih `availableModels` ke model Default. Saat `true` dalam pengaturan yang dikelola dan `availableModels` adalah array non-kosong, opsi Default kembali ke entri yang diizinkan pertama yang tersedia, tetapi hanya ketika model default untuk tipe akun pengguna tidak ada dalam daftar putih; default yang diizinkan disimpan sebagainya. Tidak berpengaruh saat `availableModels` tidak diatur atau kosong. Lihat [Paksakan daftar putih untuk model Default](/id/model-config#enforce-the-allowlist-for-the-default-model). Memerlukan Claude Code v2.1.175 atau lebih baru                                                                                                                                                                                                                           | `true`                                                                                                                           |
| `env`                             | Variabel lingkungan yang diterapkan ke setiap sesi dan ke subprocess yang Claude Code luncurkan darinya. {/* min-version: 2.1.143 */}Sejak v2.1.143, `NO_COLOR` dan `FORCE_COLOR` yang diatur di sini dilewatkan ke subprocess tetapi tidak mengubah warna antarmuka Claude Code sendiri. Atur ini di shell Anda sebelum meluncurkan `claude` untuk mengubah warna antarmuka. {/* min-version: 2.1.195 */}Sejak v2.1.195, variabel identitas yang lingkungan hosting Claude Code atur, misalnya `CLAUDE_CODE_REMOTE` dan `CLAUDE_CODE_ACCOUNT_UUID`, diabaikan saat diatur di sini                                                                                                                                                                                                                                                                    | `{"FOO": "bar"}`                                                                                                                 |
| `fallbackModel`                   | Model fallback untuk dicoba secara berurutan ketika model utama kelebihan beban atau tidak tersedia. Claude Code beralih ke model berikutnya yang tersedia dalam rantai untuk sisa giliran dan menampilkan pemberitahuan. `"default"` berkembang menjadi model default. Rantai dibatasi pada tiga model; entri ekstra diabaikan. Tidak seperti sebagian besar pengaturan array, kunci ini tidak digabungkan di seluruh file pengaturan: file dengan prioritas tertinggi yang mendefinisikannya memasok seluruh rantai. Flag [`--fallback-model`](/id/cli-reference#cli-flags) menimpa ini untuk satu sesi. Lihat [Fallback model chains](/id/model-config#fallback-model-chains)                                                                                                                                                                      | `["claude-sonnet-5", "claude-haiku-4-5"]`                                                                                        |
| `fastModePerSessionOptIn`         | Saat `true`, mode cepat tidak bertahan di seluruh sesi. Setiap sesi dimulai dengan mode cepat mati, memerlukan pengguna untuk mengaktifkannya dengan `/fast`. Preferensi mode cepat pengguna masih disimpan. Lihat [Memerlukan opt-in per sesi](/id/fast-mode#require-per-session-opt-in)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `true`                                                                                                                           |
| `feedbackSurveyRate`              | Probabilitas (0–1) bahwa [survei kualitas sesi](/id/data-usage#session-quality-surveys) muncul saat memenuhi syarat. Atur ke `0` untuk menekan sepenuhnya, atau atur [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/id/env-vars) dalam `env`. Berguna saat menggunakan Bedrock, Vertex, atau Foundry di mana tingkat sampel default tidak berlaku                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `0.05`                                                                                                                           |
| `fileCheckpointingEnabled`        | {/* min-version: 2.1.119 */}**Default**: `true`. Snapshot file sebelum setiap edit sehingga [`/rewind`](/id/checkpointing) dapat memulihkannya. Muncul di `/config` sebagai **Rewind code (checkpoints)**. Untuk menonaktifkan melalui variabel lingkungan, atur [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/id/env-vars) dalam `env`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `false`                                                                                                                          |
| `fileSuggestion`                  | Konfigurasikan skrip khusus untuk pelengkapan otomatis file `@`. Lihat [Pengaturan saran file](#file-suggestion-settings)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}`                                                                 |
| `footerLinksRegexes`              | {/* min-version: 2.1.176 */}Render lencana yang dapat diklik tambahan di footer saat regex cocok dengan output giliran. Setiap entri memiliki `pattern`, template `url` dengan placeholder `{name}` yang diisi dari grup penangkapan bernama, dan `label` opsional. Dibaca dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja. Lihat [Footer link badges](#footer-link-badges) untuk batasan URL, daftar skema yang diizinkan, dan batas. Memerlukan Claude Code v2.1.176 atau lebih baru                                                                                                                                                                                                                                                                                                                                 | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]`  |
| `forceLoginMethod`                | Gunakan `claudeai` untuk membatasi login ke akun Claude.ai, `console` untuk membatasi login ke akun Claude Console, atau `gateway` untuk membatasi login ke cloud gateway; lihat [Claude apps gateway](/id/claude-apps-gateway). Saat diatur dalam pengaturan yang dikelola, sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup, karena kredensial lingkungan tidak dapat memenuhi metode login yang diperlukan. Sesi penyedia pihak ketiga seperti Bedrock, Vertex, dan Foundry tidak diblokir: mereka mengautentikasi terhadap penyedia cloud Anda daripada Anthropic                                                                                                                                                                                                              | `claudeai`                                                                                                                       |
| `forceLoginGatewayUrl`            | Pra-isi dan kunci URL gateway pada layar Cloud gateway `/login`. Baik kunci ini atau `forceLoginMethod: "gateway"` menampilkan layar itu; atur keduanya sehingga URL diisi. Dihormati hanya di tingkat kebijakan yang dikelola; diabaikan dalam pengaturan pengguna dan proyek. Lihat [Claude apps gateway](/id/claude-apps-gateway#set-the-gateway-url)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | `"https://claude-gateway.example.com"`                                                                                           |
| `forceLoginOrgUUID`               | Memerlukan login untuk milik organisasi Anthropic tertentu. Menerima string UUID tunggal, yang juga pra-memilih organisasi tersebut selama login, atau array UUID di mana organisasi yang terdaftar apa pun diterima tanpa pra-pemilihan. Saat diatur dalam pengaturan yang dikelola, login gagal jika akun yang diautentikasi tidak milik organisasi yang terdaftar, dan sesi yang diautentikasi oleh `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` diblokir saat startup karena keanggotaan organisasi tidak dapat diverifikasi untuk mereka. Sesi penyedia pihak ketiga seperti Bedrock, Vertex, dan Foundry tidak diblokir: gunakan IAM cloud Anda untuk membatasi akun cloud mana yang dapat digunakan. Array kosong gagal tertutup dan memblokir login dengan pesan salah konfigurasi                                        | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` atau `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |
| `forceRemoteSettingsRefresh`      | (Pengaturan yang dikelola saja) Blokir startup CLI sampai pengaturan yang dikelola jarak jauh segar diambil dari server. Jika pengambilan gagal, CLI keluar daripada melanjutkan dengan pengaturan yang di-cache atau tidak ada. Saat tidak diatur, startup berlanjut tanpa menunggu pengaturan jarak jauh. Lihat [penegakan fail-closed](/id/server-managed-settings#enforce-fail-closed-startup)                                                                                                                                                                                                                                                                                                                                                                                                                                                    | `true`                                                                                                                           |
| `gcpAuthRefresh`                  | Skrip khusus yang menyegarkan GCP Application Default Credentials saat kedaluwarsa atau tidak dapat dimuat. Lihat [konfigurasi kredensial lanjutan](/id/google-vertex-ai#advanced-credential-configuration)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `gcloud auth application-default login`                                                                                          |
| `hooks`                           | Konfigurasikan perintah khusus untuk dijalankan pada acara siklus hidup. Lihat [dokumentasi hooks](/id/hooks) untuk format                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Lihat [hooks](/id/hooks)                                                                                                         |
| `httpHookAllowedEnvVars`          | Daftar putih nama variabel lingkungan yang dapat diinterpolasi oleh HTTP hooks ke dalam header. Saat diatur, `allowedEnvVars` efektif setiap hook adalah persimpangan dari daftar sendiri dan pengaturan ini. Tidak terdefinisi = tidak ada pembatasan. Array digabungkan di seluruh sumber pengaturan. Lihat [Konfigurasi Hook](#hook-configuration)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `["MY_TOKEN", "HOOK_SECRET"]`                                                                                                    |
| `includeGitInstructions`          | **Default**: `true`. Sertakan instruksi alur kerja komit dan PR bawaan dan snapshot status git dalam prompt sistem Claude. Atur ke `false` untuk menghapus keduanya, misalnya saat menggunakan skills alur kerja git Anda sendiri. Variabel lingkungan `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` memiliki prioritas atas pengaturan ini saat diatur                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                                                                                                                          |
| `inputNeededNotifEnabled`         | {/* min-version: 2.1.119 */}**Default**: `false`. Ketika [Remote Control](/id/remote-control) terhubung, kirim notifikasi push ke ponsel Anda ketika prompt izin atau pertanyaan menunggu input Anda. Muncul di `/config` sebagai **Push when actions required**. Lihat [Mobile push notifications](/id/remote-control#mobile-push-notifications). Memerlukan Claude Code v2.1.119 atau lebih baru                                                                                                                                                                                                                                                                                                                                                                                                                                                    | `true`                                                                                                                           |
| `language`                        | Konfigurasikan bahasa respons pilihan Claude (misalnya, `"japanese"`, `"spanish"`, `"french"`). Claude akan merespons dalam bahasa ini secara default. Juga menetapkan bahasa [voice dictation](/id/voice-dictation#change-the-dictation-language) dan judul sesi yang dibuat secara otomatis. {/* min-version: 2.1.176 */}Sejak v2.1.176, saat tidak diatur, judul sesi cocok dengan bahasa percakapan Anda                                                                                                                                                                                                                                                                                                                                                                                                                                          | `"japanese"`                                                                                                                     |
| `minimumVersion`                  | Lantai yang mencegah auto-updates latar belakang dan `claude update` dari menginstal versi di bawah ini. Beralih dari saluran `"latest"` ke `"stable"` melalui `/config` meminta Anda untuk tetap pada versi saat ini atau memungkinkan downgrade. Memilih untuk tetap menetapkan nilai ini. Juga berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) untuk menyematkan minimum di seluruh organisasi. Untuk lantai keras yang memblokir startup sepenuhnya, lihat `requiredMinimumVersion`                                                                                                                                                                                                                                                                                                                                    | `"2.1.100"`                                                                                                                      |
| `model`                           | Timpa model default untuk digunakan untuk Claude Code. `--model` dan [`ANTHROPIC_MODEL`](/id/model-config#environment-variables) menimpa ini untuk satu sesi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `"claude-sonnet-5"`                                                                                                              |
| `modelOverrides`                  | Peta ID model Anthropic ke ID model spesifik penyedia seperti ARN profil inferensi Bedrock. Setiap entri pemilih model menggunakan nilai yang dipetakan saat memanggil API penyedia. Lihat [Timpa ID model per versi](/id/model-config#override-model-ids-per-version)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `{"claude-opus-4-6": "arn:aws:bedrock:..."}`                                                                                     |
| `otelHeadersHelper`               | Skrip untuk menghasilkan header OpenTelemetry dinamis. Berjalan saat startup dan secara berkala. Atur interval penyegaran dengan [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/id/env-vars). Lihat [Header dinamis](/id/monitoring-usage#dynamic-headers)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `/bin/generate_otel_headers.sh`                                                                                                  |
| `outputStyle`                     | Konfigurasikan gaya output untuk menyesuaikan prompt sistem. Lihat [dokumentasi gaya output](/id/output-styles)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `"Explanatory"`                                                                                                                  |
| `parentSettingsBehavior`          | {/* min-version: 2.1.133 */}(Pengaturan yang dikelola saja) **Default**: `"first-wins"`. Mengontrol apakah pengaturan yang dikelola yang disediakan secara terprogram oleh proses host penyematan, seperti Agent SDK atau ekstensi IDE, berlaku saat tingkat yang dikelola yang digunakan admin juga ada. `"first-wins"`: pengaturan yang disediakan parent dijatuhkan dan hanya tingkat admin yang berlaku. `"merge"`: pengaturan yang disediakan parent berlaku di bawah tingkat admin, disaring sehingga mereka dapat mengencangkan kebijakan tetapi tidak melonggarkannya. Tidak berpengaruh saat tidak ada tingkat admin yang digunakan. Memerlukan Claude Code v2.1.133 atau lebih baru                                                                                                                                                         | `"merge"`                                                                                                                        |
| `permissions`                     | Lihat tabel di bawah untuk struktur izin.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                  |
| `plansDirectory`                  | **Default**: `~/.claude/plans`. Sesuaikan di mana file rencana disimpan. Jalur relatif terhadap akar proyek.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `"./plans"`                                                                                                                      |
| `pluginSuggestionMarketplaces`    | (Pengaturan yang dikelola saja) Nama marketplace yang plugin-nya dapat muncul sebagai saran instalasi kontekstual. Tidak ada saran yang dideklarasikan marketplace muncul tanpa daftar putih ini; tip desain frontend pihak pertama bawaan tidak terpengaruh. Saran berasal dari deklarasi `relevance` setiap plugin dalam entri marketplace-nya. Nama hanya berlaku saat marketplace terdaftar di mesin dan sumber terdaftarnya juga dideklarasikan dalam pengaturan yang dikelola, baik sebagai entri `extraKnownMarketplaces` untuk nama itu atau sebagai entri `strictKnownMarketplaces`. Marketplace yang terdaftar dari sumber berbeda di bawah nama yang diizinkan diabaikan. Marketplace resmi dikecualikan dari persyaratan sumber: mengizinkan namanya saja sudah cukup, karena nama itu hanya dapat terdaftar dari sumber Anthropic resmi. | `["acme-corp-plugins"]`                                                                                                          |
| `pluginTrustMessage`              | (Pengaturan yang dikelola saja) Pesan khusus ditambahkan ke peringatan kepercayaan plugin yang ditampilkan sebelum instalasi. Gunakan ini untuk menambahkan konteks spesifik organisasi, misalnya untuk mengonfirmasi bahwa plugin dari marketplace internal Anda telah disaring.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `"All plugins from our marketplace are approved by IT"`                                                                          |
| `policyHelper`                    | {/* min-version: 2.1.136 */}Admin-deployed executable yang menghitung pengaturan yang dikelola secara dinamis saat startup. Hanya dihormati dari MDM atau file `managed-settings.json` sistem. Lihat [Hitung pengaturan yang dikelola dengan policy helper](#compute-managed-settings-with-a-policy-helper). Memerlukan Claude Code v2.1.136 atau lebih baru                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `{"path": "/usr/local/bin/claude-policy"}`                                                                                       |
| `preferredNotifChannel`           | **Default**: `"auto"`. Metode untuk notifikasi task-complete dan permission-prompt: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"`, atau `"notifications_disabled"`. `"auto"` mengirim notifikasi desktop di iTerm2, Ghostty, dan Kitty dan tidak melakukan apa pun di terminal lain. Atur `"terminal_bell"` untuk membunyikan karakter bell di terminal apa pun. Muncul di `/config` sebagai **Notifications**. Lihat [Dapatkan terminal bell atau notifikasi](/id/terminal-config#get-a-terminal-bell-or-notification)                                                                                                                                                                                                                                                                                       | `"terminal_bell"`                                                                                                                |
| `prefersReducedMotion`            | Kurangi atau nonaktifkan animasi UI (spinners, shimmer, efek flash) untuk aksesibilitas                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `true`                                                                                                                           |
| `prUrlTemplate`                   | Template URL untuk lencana PR yang ditampilkan di footer dan dalam ringkasan hasil tool. Mengganti `{host}`, `{owner}`, `{repo}`, `{number}`, dan `{url}` dari URL PR yang dilaporkan `gh`. Gunakan untuk mengarahkan tautan PR ke alat review kode internal daripada `github.com`. Tidak mempengaruhi autolinks `#123` dalam prosa Claude                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"`                                                                     |
| `remoteControlAtStartup`          | {/* min-version: 2.1.119 */}Hubungkan [Remote Control](/id/remote-control) secara otomatis saat setiap sesi interaktif dimulai, daripada menunggu `/remote-control`. Atur ke `true` untuk selalu auto-connect, `false` untuk tidak pernah auto-connect, atau biarkan tidak diatur untuk mengikuti default organisasi Anda. Muncul di `/config` sebagai **Enable Remote Control for all sessions**. Lihat [Enable Remote Control for all sessions](/id/remote-control#enable-remote-control-for-all-sessions)                                                                                                                                                                                                                                                                                                                                          | `false`                                                                                                                          |
| `requiredMaximumVersion`          | Pengaturan yang dikelola saja. Versi Claude Code maksimum yang diizinkan untuk memulai. Jika versi yang sedang berjalan lebih baru, Claude Code keluar saat startup dan menginstruksikan pengguna untuk menginstal versi yang disetujui melalui metode yang disetujui organisasi; `claude install <version>` juga dapat berfungsi. Auto-updates latar belakang dan `claude update` melewati versi di atas batas, jadi instalasi dalam jangkauan tetap dalam jangkauan. `claude update`, `claude install`, dan `claude doctor` terus bekerja di atas batas sehingga pengguna dapat pulih. Versi yang mendahului pengaturan ini mengabaikannya                                                                                                                                                                                                          | `"2.1.150"`                                                                                                                      |
| `requiredMinimumVersion`          | Pengaturan yang dikelola saja. Versi Claude Code minimum yang diperlukan untuk memulai. Jika versi yang sedang berjalan lebih lama, Claude Code keluar saat startup dan menginstruksikan pengguna untuk memperbarui melalui metode yang disetujui organisasi. `claude update`, `claude install`, dan `claude doctor` terus bekerja di bawah lantai sehingga pengguna dapat pulih. Berbeda dari `minimumVersion`, yang mencegah downgrade tetapi tidak pernah memblokir startup. Versi yang mendahului pengaturan ini mengabaikannya                                                                                                                                                                                                                                                                                                                   | `"2.1.150"`                                                                                                                      |
| `respectGitignore`                | **Default**: `true`. Kontrol apakah pemilih file `@` menghormati pola `.gitignore`. Saat `true`, file yang cocok dengan pola `.gitignore` dikecualikan dari saran                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `false`                                                                                                                          |
| `respondToBashCommands`           | {/* min-version: 2.1.186 */}**Default**: `true`. Apakah Claude merespons setelah perintah shell input-box `!` berjalan. Atur ke `false` untuk menambahkan output perintah ke konteks tanpa respons. Lihat [Shell mode with `!` prefix](/id/interactive-mode#shell-mode-with-prefix). Memerlukan Claude Code v2.1.186 atau lebih baru                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `false`                                                                                                                          |
| `showClearContextOnPlanAccept`    | **Default**: `false`. Tampilkan opsi "clear context" pada layar penerimaan rencana. Atur ke `true` untuk mengembalikan opsi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `true`                                                                                                                           |
| `showThinkingSummaries`           | **Default**: `false`. Tampilkan ringkasan [pemikiran yang diperluas](/id/model-config#extended-thinking) dalam sesi interaktif. Saat tidak diatur atau `false`, blok pemikiran diredaksi oleh API dan ditampilkan sebagai stub yang runtuh. Redaksi hanya mengubah apa yang Anda lihat, bukan apa yang dihasilkan model: untuk mengurangi pengeluaran pemikiran, [turunkan anggaran atau nonaktifkan pemikiran](/id/model-config#extended-thinking) sebagai gantinya. Pengaturan ini tidak berpengaruh dalam mode non-interaktif (`-p`), Agent SDK, atau ekstensi IDE seperti VS Code                                                                                                                                                                                                                                                                 | `true`                                                                                                                           |
| `showTurnDuration`                | **Default**: `true`. Tampilkan pesan durasi giliran setelah respons, misalnya "Cooked for 1m 6s". Muncul di `/config` sebagai **Show turn duration**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `false`                                                                                                                          |
| `skillListingBudgetFraction`      | {/* min-version: 2.1.105 */}**Default**: `0.01` (1%). Fraksi jendela konteks model yang dicadangkan untuk [skill listing](/id/skills#skill-descriptions-are-cut-short) yang Claude lihat setiap giliran. Saat listing melebihi anggaran, deskripsi untuk skills yang paling jarang digunakan runtuh menjadi nama telanjang sehingga Claude masih dapat menginvokasinya tetapi tidak akan melihat mengapa. Naikkan untuk menjaga lebih banyak deskripsi terlihat dengan biaya lebih banyak konteks per giliran. `/doctor` menunjukkan jumlah pemotongan saat ini dan skills mana yang terpengaruh. Memerlukan Claude Code v2.1.105 atau lebih baru                                                                                                                                                                                                     | `0.02`                                                                                                                           |
| `skillListingMaxDescChars`        | {/* min-version: 2.1.105 */}**Default**: `1536`. Batas karakter per-skill pada teks `description` dan `when_to_use` gabungan dalam [skill listing](/id/skills#skill-descriptions-are-cut-short) yang Claude lihat setiap giliran. Teks yang lebih panjang dari ini dipotong. Naikkan untuk menjaga deskripsi panjang tetap utuh dengan biaya lebih banyak konteks per giliran; turunkan untuk menyesuaikan lebih banyak skills di bawah [`skillListingBudgetFraction`](#available-settings). Memerlukan Claude Code v2.1.105 atau lebih baru                                                                                                                                                                                                                                                                                                          | `2048`                                                                                                                           |
| `skillOverrides`                  | {/* min-version: 2.1.129 */}Penggantian visibilitas per-skill yang dikunci berdasarkan nama skill. Nilai adalah `"on"`, `"name-only"`, `"user-invocable-only"`, atau `"off"`. Memungkinkan Anda menyembunyikan atau menciutkan skill tanpa mengedit SKILL.md-nya. Tidak berlaku untuk plugin skills, yang dikelola melalui `/plugin`. Menu `/skills` menulis ini ke `.claude/settings.local.json`. Lihat [Timpa visibilitas skill dari pengaturan](/id/skills#override-skill-visibility-from-settings). Memerlukan Claude Code v2.1.129 atau lebih baru                                                                                                                                                                                                                                                                                               | `{"legacy-context": "name-only", "deploy": "off"}`                                                                               |
| `skipWebFetchPreflight`           | Lewati [pemeriksaan keamanan domain WebFetch](/id/data-usage#webfetch-domain-safety-check) yang mengirim setiap nama host yang diminta ke `api.anthropic.com` sebelum mengambil. Atur ke `true` di lingkungan yang memblokir lalu lintas ke Anthropic, seperti penyebaran Bedrock, Vertex AI, atau Foundry dengan egress yang ketat. Saat dilewati, WebFetch mencoba URL apa pun tanpa berkonsultasi dengan daftar blokir                                                                                                                                                                                                                                                                                                                                                                                                                             | `true`                                                                                                                           |
| `spinnerTipsEnabled`              | **Default**: `true`. Tampilkan tips dalam spinner saat Claude bekerja. Atur ke `false` untuk menonaktifkan tips                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `false`                                                                                                                          |
| `spinnerTipsOverride`             | Timpa tips spinner dengan string khusus. `tips`: array string tip. `excludeDefault`: jika `true`, hanya tampilkan tips khusus; jika `false` atau tidak ada, tips khusus digabungkan dengan tips bawaan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }`                                                                |
| `spinnerVerbs`                    | Sesuaikan kata kerja aksi yang ditampilkan saat giliran sedang berlangsung. Atur `mode` ke `"replace"` untuk menggunakan hanya kata kerja Anda, atau `"append"` untuk menambahkannya ke default                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}`                                                                         |
| `sshConfigs`                      | Koneksi SSH untuk ditampilkan dalam dropdown lingkungan [Desktop](/id/desktop#pre-configure-ssh-connections-for-your-team). Setiap entri memerlukan `id`, `name`, dan `sshHost`; `sshPort`, `sshIdentityFile`, dan `startDirectory` bersifat opsional. Saat diatur dalam pengaturan yang dikelola, koneksi bersifat read-only untuk pengguna. Dibaca dari pengaturan yang dikelola dan pengguna saja                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]`                                                        |
| `statusLine`                      | Konfigurasikan status line khusus untuk menampilkan konteks. Bidang opsional objek `padding`, `refreshInterval`, dan `hideVimModeIndicator` mengontrol spasi, re-run berkala, dan apakah indikator mode vim bawaan di bawah prompt disembunyikan. Lihat [dokumentasi `statusLine`](/id/statusline#manually-configure-a-status-line)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | `{"type": "command", "command": "~/.claude/statusline.sh"}`                                                                      |
| `strictKnownMarketplaces`         | (Pengaturan yang dikelola saja) Daftar putih sumber marketplace plugin. Tidak terdefinisi = tidak ada pembatasan, array kosong = lockdown. Diterapkan pada penambahan marketplace dan instalasi plugin, pembaruan, penyegaran, dan auto-update, jadi marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk mengambil plugin. Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions)                                                                                                                                                                                                                                                                                                                                                                                   | `[{ "source": "github", "repo": "acme-corp/plugins" }]`                                                                          |
| `strictPluginOnlyCustomization`   | (Pengaturan yang dikelola saja) Blokir skills, agents, hooks, dan MCP servers dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugins atau pengaturan yang dikelola. `true` mengunci keempat permukaan; array mengunci hanya yang dinamai. Lihat [`strictPluginOnlyCustomization`](#strictpluginonlycustomization)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `["skills", "hooks"]`                                                                                                            |
| `syntaxHighlightingDisabled`      | Nonaktifkan syntax highlighting dalam diffs, code blocks, dan file previews                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `true`                                                                                                                           |
| `teammateMode`                    | **Default**: `in-process`. Bagaimana [rekan tim agent](/id/agent-teams) ditampilkan: `in-process`, `auto` (panel terpisah saat berjalan di dalam tmux atau iTerm2, dalam proses sebaliknya), `tmux` (panel terpisah menggunakan tmux atau iTerm2, dideteksi dari terminal Anda), atau {/* min-version: 2.1.186 */}`iterm2` (panel terpisah iTerm2 asli melalui CLI `it2`, ditambahkan dalam v2.1.186). Default berubah dari `auto` dalam v2.1.179. `--teammate-mode` menimpa ini untuk satu sesi. Lihat [pilih mode tampilan](/id/agent-teams#choose-a-display-mode)                                                                                                                                                                                                                                                                                  | `"auto"`                                                                                                                         |
| `terminalProgressBarEnabled`      | **Default**: `true`. Tampilkan bilah kemajuan terminal di terminal yang didukung: ConEmu, Ghostty 1.2.0+, dan iTerm2 3.6.6+. Muncul di `/config` sebagai **Terminal progress bar**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | `false`                                                                                                                          |
| `theme`                           | {/* min-version: 2.1.119 */}**Default**: `"dark"`. Tema warna untuk antarmuka: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"`, atau referensi tema khusus seperti `"custom:<slug>"` atau `"custom:<plugin-name>:<slug>"`. Lihat [Buat tema khusus](/id/terminal-config#create-a-custom-theme). Muncul di `/config` sebagai **Theme**                                                                                                                                                                                                                                                                                                                                                                                                                                                         | `"dark"`                                                                                                                         |
| `tui`                             | Renderer UI terminal. Gunakan `"fullscreen"` untuk renderer alt-screen bebas flicker dengan scrollback virtual. Gunakan `"default"` untuk renderer main-screen klasik. Atur melalui `/tui`. Anda juga dapat menetapkan variabel lingkungan [`CLAUDE_CODE_NO_FLICKER`](/id/env-vars)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | `"fullscreen"`                                                                                                                   |
| `ultracode`                       | Aktifkan [ultracode](/id/workflows#let-claude-decide-with-ultracode) untuk sesi. Hanya sesi dan tidak dibaca dari `settings.json`. Atur melalui `/effort ultracode`, `--settings`, atau permintaan kontrol Agent SDK                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `true`                                                                                                                           |
| `useAutoModeDuringPlan`           | **Default**: `true`. Apakah plan mode menggunakan semantik mode otomatis saat mode otomatis tersedia. Tidak dibaca dari pengaturan proyek bersama. Muncul di `/config` sebagai "Use auto mode during plan"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `false`                                                                                                                          |
| `verbose`                         | {/* min-version: 2.1.119 */}**Default**: `false`. Tampilkan output tool lengkap daripada ringkasan yang dipotong. Muncul di `/config` sebagai **Verbose output**. Flag `--verbose` menimpa ini untuk satu sesi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | `true`                                                                                                                           |
| `viewMode`                        | Mode tampilan transkrip default saat startup: `"default"`, `"verbose"`, atau `"focus"`. Menimpa pemilihan `/focus` yang lengket saat diatur. Flag `--verbose` menimpa ini untuk satu sesi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `"verbose"`                                                                                                                      |
| `voice`                           | Pengaturan [voice dictation](/id/voice-dictation): `enabled` mengaktifkan dictation, `mode` memilih `"hold"` atau `"tap"`, dan `autoSubmit` mengirim prompt pada pelepasan kunci dalam mode hold. Ditulis secara otomatis saat Anda menjalankan `/voice`. Memerlukan akun Claude.ai                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | `{ "enabled": true, "mode": "tap" }`                                                                                             |
| `voiceEnabled`                    | Alias warisan untuk `voice.enabled`. Lebih suka objek `voice`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | `true`                                                                                                                           |
| `wheelScrollAccelerationEnabled`  | {/* min-version: 2.1.174 */}**Default**: `true`. Dalam [rendering fullscreen](/id/fullscreen#mouse-wheel-scrolling), percepat kecepatan scroll mouse-wheel selama scroll cepat. Atur ke `false` untuk laju scroll konstan per notch wheel. Memerlukan Claude Code v2.1.174 atau lebih baru                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `false`                                                                                                                          |
| `workflowKeywordTriggerEnabled`   | {/* min-version: 2.1.157 */}**Default**: `true`. Apakah kata kunci `ultracode` dalam prompt memicu [dynamic workflow](/id/workflows#ask-for-a-workflow-in-your-prompt). Atur ke `false` untuk mengetik kata tanpa memicu satu. Pengaturan usaha ultracode, `/workflows`, dan perintah workflow yang disimpan tidak terpengaruh. Muncul di `/config` sebagai **Ultracode keyword trigger**. Ditambahkan dalam v2.1.157; sebelum v2.1.160 kata kunci pemicu adalah `workflow`                                                                                                                                                                                                                                                                                                                                                                           | `false`                                                                                                                          |
| `wslInheritsWindowsSettings`      | (Pengaturan yang dikelola Windows saja) Saat `true`, Claude Code di WSL membaca pengaturan yang dikelola dari rantai kebijakan Windows selain `/etc/claude-code`, dengan sumber Windows memiliki prioritas. Hanya dihormati saat diatur dalam kunci registry HKLM atau `C:\Program Files\ClaudeCode\managed-settings.json`, keduanya memerlukan admin Windows untuk menulis. Untuk kebijakan HKCU juga berlaku di WSL, flag harus juga diatur di HKCU itu sendiri. Tidak berpengaruh pada Windows asli                                                                                                                                                                                                                                                                                                                                                | `true`                                                                                                                           |

<h3 id="global-config-settings">
  Pengaturan konfigurasi global
</h3>

Pengaturan ini disimpan dalam `~/.claude.json` daripada `settings.json`. Menambahkannya ke `settings.json` akan memicu kesalahan validasi skema.

<Note>
  Versi sebelum v2.1.119 juga menyimpan sejumlah kunci preferensi `/config` di sini daripada dalam `settings.json`, termasuk `theme`, `verbose`, `editorMode`, `autoCompactEnabled`, dan `preferredNotifChannel`.
</Note>

| Kunci                     | Deskripsi                                                                                                                                                                                                                                                                                                                                               | Contoh     |
| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------- |
| `autoConnectIde`          | **Default**: `false`. Secara otomatis terhubung ke IDE yang sedang berjalan saat Claude Code dimulai dari terminal eksternal. Muncul di `/config` sebagai **Auto-connect to IDE (external terminal)** saat berjalan di luar terminal VS Code atau JetBrains. Variabel lingkungan [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/id/env-vars) menimpa ini saat diatur | `true`     |
| `autoInstallIdeExtension` | **Default**: `true`. Secara otomatis instal ekstensi IDE Claude Code saat berjalan dari terminal VS Code. Muncul di `/config` sebagai **Auto-install IDE extension** saat berjalan di dalam terminal VS Code atau JetBrains. Anda juga dapat menetapkan variabel lingkungan [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/id/env-vars)                         | `false`    |
| `externalEditorContext`   | **Default**: `false`. Tambahkan respons sebelumnya Claude sebagai konteks berkomentar `#` saat Anda membuka editor eksternal dengan `Ctrl+G`. Muncul di `/config` sebagai **Show last response in external editor**                                                                                                                                     | `true`     |
| `teammateDefaultModel`    | Model default untuk [agent team](/id/agent-teams) teammates saat prompt spawn tidak menentukan satu. Atur ke alias model seperti `"sonnet"`, atau `null` untuk mewarisi pemilihan `/model` saat ini lead. Muncul di `/config` sebagai **Default teammate model**                                                                                        | `"sonnet"` |

<h3 id="worktree-settings">
  Pengaturan worktree
</h3>

Konfigurasikan bagaimana `--worktree` membuat dan mengelola git worktrees.

| Kunci                         | Deskripsi                                                                                                                                                                                                                                                                                                                                                       | Contoh                                |
| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------ |
| `worktree.baseRef`            | Ref mana yang baru worktrees cabang dari. `"fresh"` (default) cabang dari `origin/<default-branch>` untuk pohon bersih yang cocok dengan remote. `"head"` cabang dari `HEAD` lokal Anda saat ini, jadi komit yang tidak didorong dan status cabang fitur ada di worktree. Berlaku untuk `--worktree`, tool `EnterWorktree`, dan isolasi subagent                | `"head"`                              |
| `worktree.symlinkDirectories` | Direktori untuk symlink dari repositori utama ke setiap worktree untuk menghindari duplikasi direktori besar di disk. Tidak ada direktori yang disymlink secara default                                                                                                                                                                                         | `["node_modules", ".cache"]`          |
| `worktree.sparsePaths`        | Direktori untuk diperiksa di setiap worktree melalui git sparse-checkout. Hanya jalur yang terdaftar plus file tingkat root yang ditulis ke disk, yang lebih cepat di monorepo besar                                                                                                                                                                            | `["packages/my-app", "shared/utils"]` |
| `worktree.bgIsolation`        | {/* min-version: 2.1.143 */}Mode isolasi untuk [background sessions](/id/agent-view#how-file-edits-are-isolated). `"worktree"` (default) memblokir `Edit`/`Write` dalam checkout utama sampai `EnterWorktree` dipanggil. `"none"` memungkinkan pekerjaan latar belakang mengedit salinan kerja secara langsung. Memerlukan Claude Code v2.1.143 atau lebih baru | `"none"`                              |

Untuk menyalin file yang diabaikan git seperti `.env` ke worktrees baru, gunakan file [`.worktreeinclude`](/id/worktrees#copy-gitignored-files-into-worktrees) di akar proyek Anda daripada pengaturan.

<h3 id="permission-settings">
  Pengaturan izin
</h3>

| Kunci                               | Deskripsi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Contoh                                                                 |
| :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |
| `allow`                             | Array aturan izin untuk memungkinkan penggunaan tool. Glob nama tool didukung hanya dalam posisi tool setelah prefiks `mcp__<server>__` literal, seperti `mcp__github__get_*`; segmen server harus bebas glob. Lihat [Sintaks aturan izin](#permission-rule-syntax) di bawah untuk detail pencocokan pola                                                                                                                                                                                                                                             | `[ "Bash(git diff *)" ]`                                               |
| `ask`                               | Array aturan izin untuk meminta konfirmasi saat penggunaan tool. Lihat [Sintaks aturan izin](#permission-rule-syntax) di bawah                                                                                                                                                                                                                                                                                                                                                                                                                        | `[ "Bash(git push *)" ]`                                               |
| `deny`                              | Array aturan izin untuk menolak penggunaan tool. Gunakan ini untuk mengecualikan file sensitif dari akses Claude Code. Nama tool menerima pola glob: `"*"` menolak setiap tool dan `"mcp__*"` menolak semua tools MCP. Lihat [Sintaks aturan izin](#permission-rule-syntax) dan [Batasan izin Bash](/id/permissions#tool-specific-permission-rules)                                                                                                                                                                                                   | `[ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]` |
| `additionalDirectories`             | [Direktori kerja](/id/permissions#working-directories) tambahan untuk akses file. Sebagian besar konfigurasi `.claude/` [tidak ditemukan](/id/permissions#additional-directories-grant-file-access-not-configuration) dari direktori ini                                                                                                                                                                                                                                                                                                              | `[ "../docs/" ]`                                                       |
| `defaultMode`                       | Mode [izin](/id/permission-modes) default saat membuka Claude Code. Nilai yang valid: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`. {/* min-version: 2.1.142 */}Sejak Claude Code v2.1.142, `auto` diabaikan saat diatur dalam pengaturan proyek atau lokal (`.claude/settings.json`, `.claude/settings.local.json`) sehingga repositori tidak dapat memberikan dirinya sendiri mode otomatis. Atur di `~/.claude/settings.json` sebagai gantinya. Flag CLI `--permission-mode` menimpa pengaturan ini untuk sesi tunggal | `"acceptEdits"`                                                        |
| `disableBypassPermissionsMode`      | Atur ke `"disable"` untuk mencegah mode `bypassPermissions` diaktifkan. Ini menonaktifkan flag baris perintah `--dangerously-skip-permissions`. Paling berguna dalam [pengaturan yang dikelola](/id/permissions#managed-settings) untuk menegakkan kebijakan organisasi, tetapi berfungsi dari cakupan apa pun                                                                                                                                                                                                                                        | `"disable"`                                                            |
| `skipDangerousModePermissionPrompt` | Lewati prompt konfirmasi yang ditampilkan sebelum memasuki mode bypass permissions melalui `--dangerously-skip-permissions` atau `defaultMode: "bypassPermissions"`. Diabaikan saat diatur dalam pengaturan proyek (`.claude/settings.json`) untuk mencegah repositori yang tidak terpercaya dari auto-bypass prompt                                                                                                                                                                                                                                  | `true`                                                                 |

<h3 id="permission-rule-syntax">
  Sintaks aturan izin
</h3>

Aturan izin mengikuti format `Tool` atau `Tool(specifier)`. Aturan dievaluasi secara berurutan: aturan deny terlebih dahulu, kemudian ask, kemudian allow. Aturan pertama yang cocok menentukan hasil terlepas dari spesifisitas aturan. Lihat [urutan evaluasi aturan izin](/id/permissions#manage-permissions) untuk detail.

Contoh cepat:

| Aturan                         | Efek                                                |
| :----------------------------- | :-------------------------------------------------- |
| `Bash`                         | Cocok dengan semua perintah Bash                    |
| `Bash(npm run *)`              | Cocok dengan perintah yang dimulai dengan `npm run` |
| `Read(./.env)`                 | Cocok dengan membaca file `.env`                    |
| `WebFetch(domain:example.com)` | Cocok dengan permintaan fetch ke example.com        |

Untuk referensi sintaks aturan lengkap, termasuk perilaku wildcard, pola spesifik tool untuk Read, Edit, WebFetch, MCP, dan aturan Agent, dan batasan keamanan pola Bash, lihat [Sintaks aturan izin](/id/permissions#permission-rule-syntax).

<h3 id="sandbox-settings">
  Pengaturan sandbox
</h3>

Konfigurasikan perilaku sandboxing lanjutan. Sandboxing mengisolasi perintah bash dari sistem file dan jaringan Anda. Lihat [Sandboxing](/id/sandboxing) untuk detail.

| Kunci                                  | Deskripsi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Contoh                                               |
| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |
| `enabled`                              | Aktifkan bash sandboxing (macOS, Linux, dan WSL2). Default: false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `true`                                               |
| `failIfUnavailable`                    | Keluar dengan kesalahan saat startup jika `sandbox.enabled` adalah true tetapi sandbox tidak dapat dimulai (dependensi yang hilang atau platform yang tidak didukung). Saat false (default), peringatan ditampilkan dan perintah berjalan tanpa sandbox. Dimaksudkan untuk penyebaran pengaturan yang dikelola yang memerlukan sandboxing sebagai gerbang keras                                                                                                                                                                                                                                               | `true`                                               |
| `autoAllowBashIfSandboxed`             | Secara otomatis menyetujui perintah bash saat sandboxed. Default: true                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | `true`                                               |
| `excludedCommands`                     | Perintah yang harus dijalankan di luar sandbox                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `["docker *"]`                                       |
| `allowUnsandboxedCommands`             | Izinkan perintah dijalankan di luar sandbox melalui parameter `dangerouslyDisableSandbox`. Saat diatur ke `false`, pintu keluar `dangerouslyDisableSandbox` sepenuhnya dinonaktifkan dan semua perintah harus dijalankan sandboxed (atau berada dalam `excludedCommands`). Berguna untuk kebijakan perusahaan yang memerlukan sandboxing ketat. Default: true                                                                                                                                                                                                                                                 | `false`                                              |
| `filesystem.allowWrite`                | Jalur tambahan di mana perintah sandboxed dapat menulis. Array digabungkan di seluruh semua cakupan pengaturan: jalur pengguna, proyek, dan yang dikelola digabungkan, bukan diganti. Juga digabungkan dengan jalur dari aturan izin `Edit(...)` allow. Lihat [prefiks jalur sandbox](#sandbox-path-prefixes) di bawah.                                                                                                                                                                                                                                                                                       | `["/tmp/build", "~/.kube"]`                          |
| `filesystem.denyWrite`                 | Jalur di mana perintah sandboxed tidak dapat menulis. Array digabungkan di seluruh semua cakupan pengaturan. Juga digabungkan dengan jalur dari aturan izin `Edit(...)` deny.                                                                                                                                                                                                                                                                                                                                                                                                                                 | `["/etc", "/usr/local/bin"]`                         |
| `filesystem.denyRead`                  | Jalur di mana perintah sandboxed tidak dapat membaca. Array digabungkan di seluruh semua cakupan pengaturan. Juga digabungkan dengan jalur dari aturan izin `Read(...)` deny.                                                                                                                                                                                                                                                                                                                                                                                                                                 | `["~/.aws/credentials"]`                             |
| `filesystem.allowRead`                 | Jalur untuk mengizinkan kembali pembacaan dalam region `denyRead`. Memiliki prioritas atas `denyRead`. Array digabungkan di seluruh semua cakupan pengaturan. Gunakan ini untuk membuat pola akses baca khusus workspace.                                                                                                                                                                                                                                                                                                                                                                                     | `["."]`                                              |
| `filesystem.allowManagedReadPathsOnly` | (Pengaturan yang dikelola saja) Hanya jalur `filesystem.allowRead` dari pengaturan yang dikelola yang dihormati. `denyRead` masih digabungkan dari semua sumber. Default: false                                                                                                                                                                                                                                                                                                                                                                                                                               | `true`                                               |
| `credentials.files`                    | File kredensial atau direktori yang perintah sandboxed tidak dapat membaca. Menerapkan blokir baca yang sama seperti `filesystem.denyRead`; kunci terpisah menjaga jalur kredensial dikelompokkan dengan `credentials.envVars` dan terpisah dari aturan sistem file umum. Setiap entri adalah `{ "path": "...", "mode": "deny" }`. Jalur menggunakan [prefiks](#sandbox-path-prefixes) yang sama seperti pengaturan `filesystem.*`. Array digabungkan di seluruh semua cakupan pengaturan. Hanya `deny` yang didukung. Memerlukan Claude Code v2.1.187 atau lebih baru.                                       | `[{ "path": "~/.aws/credentials", "mode": "deny" }]` |
| `credentials.envVars`                  | Variabel lingkungan untuk tidak diatur sebelum menjalankan perintah sandboxed. Setiap entri adalah `{ "name": "...", "mode": "deny" }`. Array digabungkan di seluruh semua cakupan pengaturan. Hanya `deny` yang didukung. Memerlukan Claude Code v2.1.187 atau lebih baru.                                                                                                                                                                                                                                                                                                                                   | `[{ "name": "GITHUB_TOKEN", "mode": "deny" }]`       |
| `network.allowUnixSockets`             | (macOS saja) Jalur soket Unix yang dapat diakses dalam sandbox. Diabaikan di Linux dan WSL2, di mana filter seccomp tidak dapat memeriksa jalur soket; gunakan `allowAllUnixSockets` sebagai gantinya.                                                                                                                                                                                                                                                                                                                                                                                                        | `["~/.ssh/agent-socket"]`                            |
| `network.allowAllUnixSockets`          | Izinkan semua koneksi soket Unix dalam sandbox. Di Linux dan WSL2 ini adalah satu-satunya cara untuk mengizinkan soket Unix, karena melewati filter seccomp yang sebaliknya memblokir panggilan `socket(AF_UNIX, ...)`. Default: false                                                                                                                                                                                                                                                                                                                                                                        | `true`                                               |
| `network.allowLocalBinding`            | Izinkan pengikatan ke port localhost (macOS saja). Default: false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `true`                                               |
| `network.allowMachLookup`              | Nama layanan XPC/Mach tambahan yang dapat dicari sandbox (macOS saja). Mendukung `*` tunggal di akhir untuk pencocokan prefiks. Diperlukan untuk tools yang berkomunikasi melalui XPC seperti iOS Simulator atau Playwright.                                                                                                                                                                                                                                                                                                                                                                                  | `["com.apple.coresimulator.*"]`                      |
| `network.allowedDomains`               | Array domain untuk memungkinkan lalu lintas jaringan keluar. Mendukung wildcard (misalnya, `*.example.com`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `["github.com", "*.npmjs.org"]`                      |
| `network.deniedDomains`                | Array domain untuk memblokir lalu lintas jaringan keluar. Mendukung sintaks wildcard yang sama seperti `allowedDomains`. Memiliki prioritas atas `allowedDomains` saat keduanya cocok. Digabungkan dari semua sumber pengaturan terlepas dari `allowManagedDomainsOnly`.                                                                                                                                                                                                                                                                                                                                      | `["sensitive.cloud.example.com"]`                    |
| `network.allowManagedDomainsOnly`      | (Pengaturan yang dikelola saja) Hanya `allowedDomains` dan aturan allow `WebFetch(domain:...)` dari pengaturan yang dikelola yang dihormati. Domain dari pengaturan pengguna, proyek, dan lokal diabaikan. Domain yang tidak diizinkan diblokir secara otomatis tanpa meminta pengguna. Domain yang ditolak masih dihormati dari semua sumber. Default: false                                                                                                                                                                                                                                                 | `true`                                               |
| `network.httpProxyPort`                | Port proxy HTTP yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri.                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `8080`                                               |
| `network.socksProxyPort`               | Port proxy SOCKS5 yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri.                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `8081`                                               |
| `enableWeakerNestedSandbox`            | Aktifkan sandbox yang lebih lemah untuk lingkungan Docker tanpa hak istimewa (Linux dan WSL2 saja). **Mengurangi keamanan.** Default: false                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | `true`                                               |
| `enableWeakerNetworkIsolation`         | (macOS saja) Izinkan akses ke layanan kepercayaan TLS sistem (`com.apple.trustd.agent`) dalam sandbox. Diperlukan untuk tools berbasis Go seperti `gh`, `gcloud`, dan `terraform` untuk memverifikasi sertifikat TLS saat menggunakan `httpProxyPort` dengan proxy MITM dan CA khusus. **Mengurangi keamanan** dengan membuka jalur eksfiltrasi data potensial. Default: false                                                                                                                                                                                                                                | `true`                                               |
| `allowAppleEvents`                     | (macOS saja) Izinkan perintah sandboxed mengirim Apple Events. Diperlukan untuk `open`, `osascript`, dan tools yang membuka URL di browser, yang sebaliknya gagal dengan error `-600`. **Menghapus isolasi eksekusi kode.** Perintah sandboxed dapat meluncurkan aplikasi lain tanpa sandbox dengan tidak ada prompt pengguna; mereka juga dapat mengirim perintah AppleScript ke aplikasi yang sedang berjalan seperti Terminal, tunduk pada prompt persetujuan otomasi per-app macOS (TCC). Hanya dihormati dari pengaturan pengguna, yang dikelola, atau CLI, bukan dari pengaturan proyek. Default: false | `true`                                               |
| `bwrapPath`                            | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary bubblewrap (`bwrap`). Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari [pengaturan yang dikelola](/id/settings#settings-precedence), bukan dari pengaturan pengguna atau proyek. Berguna saat `bwrap` diinstal di lokasi non-standar di lingkungan yang dikelola.                                                                                                                                                                                                                                                            | `/opt/admin/bwrap`                                   |
| `socatPath`                            | (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary `socat` yang digunakan untuk proxy jaringan sandbox. Menimpa deteksi otomatis melalui `PATH`. Hanya dihormati dari pengaturan yang dikelola.                                                                                                                                                                                                                                                                                                                                                                                              | `/opt/admin/socat`                                   |

<h4 id="sandbox-path-prefixes">
  Prefiks jalur sandbox
</h4>

Jalur dalam `filesystem.allowWrite`, `filesystem.denyWrite`, `filesystem.denyRead`, `filesystem.allowRead`, dan `credentials.files` mendukung prefiks ini:

| Prefiks                     | Arti                                                                                                | Contoh                                                                           |
| :-------------------------- | :-------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------- |
| `/`                         | Jalur absolut dari akar sistem file                                                                 | `/tmp/build` tetap `/tmp/build`                                                  |
| `~/`                        | Relatif terhadap direktori home                                                                     | `~/.kube` menjadi `$HOME/.kube`                                                  |
| `./` atau tidak ada prefiks | Relatif terhadap akar proyek untuk pengaturan proyek, atau ke `~/.claude` untuk pengaturan pengguna | `./output` dalam `.claude/settings.json` diselesaikan ke `<project-root>/output` |

Prefiks `//path` yang lebih lama untuk jalur absolut masih berfungsi. Jika Anda sebelumnya menggunakan `/path` tunggal mengharapkan resolusi relatif proyek, beralih ke `./path`. Sintaks ini berbeda dari [aturan izin Read dan Edit](/id/permissions#read-and-edit), yang menggunakan `//path` untuk absolut dan `/path` untuk relatif proyek. Jalur sistem file sandbox menggunakan konvensi standar: `/tmp/build` adalah jalur absolut.

**Contoh konfigurasi:**

```json theme={null}
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["docker *"],
    "filesystem": {
      "allowWrite": ["/tmp/build", "~/.kube"],
      "denyRead": ["~/.aws/credentials"]
    },
    "network": {
      "allowedDomains": ["github.com", "*.npmjs.org", "registry.yarnpkg.com"],
      "deniedDomains": ["uploads.github.com"],
      "allowUnixSockets": [
        "/var/run/docker.sock"
      ],
      "allowLocalBinding": true
    }
  }
}
```

**Pembatasan sistem file dan jaringan** dapat dikonfigurasi dalam dua cara yang digabungkan bersama:

* **Pengaturan `sandbox.filesystem`** (ditampilkan di atas): Kontrol jalur pada batas sandbox tingkat OS. Pembatasan ini berlaku untuk semua perintah subprocess (misalnya, `kubectl`, `terraform`, `npm`), bukan hanya tools file Claude.
* **Aturan izin**: Gunakan aturan allow/deny `Edit` untuk mengontrol akses tools file Claude, aturan deny `Read` untuk memblokir pembacaan, dan aturan allow/deny `WebFetch` untuk mengontrol domain jaringan. Jalur dari aturan ini juga digabungkan ke dalam konfigurasi sandbox.

<h3 id="attribution-settings">
  Pengaturan atribusi
</h3>

Claude Code menambahkan atribusi ke komit git dan pull request. Ini dikonfigurasi secara terpisah:

* Komit menggunakan [git trailers](https://git-scm.com/docs/git-interpret-trailers) (seperti `Co-Authored-By`) secara default, yang dapat disesuaikan atau dinonaktifkan
* Deskripsi pull request adalah teks biasa

| Kunci        | Deskripsi                                                                                                                                                                                                                                        |
| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `commit`     | Atribusi untuk komit git, termasuk trailer apa pun. String kosong menyembunyikan atribusi komit                                                                                                                                                  |
| `pr`         | Atribusi untuk deskripsi pull request. String kosong menyembunyikan atribusi pull request                                                                                                                                                        |
| `sessionUrl` | Apakah akan menambahkan tautan sesi claude.ai sebagai trailer `Claude-Session` pada komit dan tautan dalam deskripsi pull request saat berjalan dari sesi web atau Remote Control. Default ke `true`. Atur ke `false` untuk menghilangkan tautan |

**Atribusi komit default:**

```text theme={null}
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
```

Nama model dalam trailer mencerminkan model aktif untuk sesi.

**Atribusi pull request default:**

```text theme={null}
🤖 Generated with [Claude Code](https://claude.com/claude-code)
```

**Contoh:**

```json theme={null}
{
  "attribution": {
    "commit": "Generated with AI\n\nCo-Authored-By: AI <ai@example.com>",
    "pr": ""
  }
}
```

<Note>
  Pengaturan `attribution` memiliki prioritas atas pengaturan `includeCoAuthoredBy` yang usang. Untuk menyembunyikan semua atribusi, atur `commit` dan `pr` ke string kosong dan `sessionUrl` ke `false`.
</Note>

<h3 id="file-suggestion-settings">
  Pengaturan saran file
</h3>

Konfigurasikan perintah khusus untuk pelengkapan otomatis jalur file `@`. Saran file bawaan menggunakan traversal sistem file cepat, tetapi monorepo besar mungkin mendapat manfaat dari pengindeksan spesifik proyek seperti indeks file yang telah dibangun sebelumnya atau tooling khusus.

```json theme={null}
{
  "fileSuggestion": {
    "type": "command",
    "command": "~/.claude/file-suggestion.sh"
  }
}
```

Perintah berjalan dengan variabel lingkungan yang sama seperti [hooks](/id/hooks), termasuk `CLAUDE_PROJECT_DIR`. Ini menerima JSON melalui stdin dengan bidang `query`:

```json theme={null}
{"query": "src/comp"}
```

Keluarkan jalur file yang dipisahkan baris baru ke stdout (saat ini dibatasi hingga 15):

```text theme={null}
src/components/Button.tsx
src/components/Modal.tsx
src/components/Form.tsx
```

**Contoh:**

```bash theme={null}
#!/bin/bash
query=$(cat | jq -r '.query')
# Ganti your-repo-file-index dengan perintah pencarian file Anda sendiri
your-repo-file-index --query "$query" | head -20
```

<h3 id="footer-link-badges">
  Lencana tautan footer
</h3>

Pengaturan `footerLinksRegexes` merender lencana yang dapat diklik tambahan di footer di bawah kotak input. Gunakan untuk mengubah ID yang dicetak oleh CLI proyek, seperti tools review dan issue trackers, menjadi tautan sesi.

Regex `pattern` setiap entri dicocokkan dengan output giliran: hasil tool, termasuk konten file dan halaman yang diambil, dan respons Claude sendiri. Placeholder `{name}` dalam `url` dan `label` diisi dari grup penangkapan bernama dalam pola.

Contoh berikut merender lencana setiap kali kunci masalah seperti `PROJ-1234` muncul dalam output giliran. Grup bernama `(?<key>...)` menangkap kunci, dan `{key}` menggantikannya ke dalam URL dan label:

```json ~/.claude/settings.json theme={null}
{
  "footerLinksRegexes": [
    {
      "type": "regex",
      "pattern": "\\b(?<key>PROJ-\\d+)\\b",
      "url": "https://issues.example.com/browse/{key}",
      "label": "{key}"
    }
  ]
}
```

Dengan ini dikonfigurasi, saat `PROJ-1234` muncul dalam hasil tool atau dalam balasan Claude, chip `PROJ-1234` muncul di footer menghubungkan ke `https://issues.example.com/browse/PROJ-1234`.

Batasan berikut berlaku untuk setiap entri:

| Batasan            | Perilaku                                                                                                                                                                                                      |
| :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Asal URL           | Nilai yang ditangkap adalah URL-encoded dan URL yang dibangun harus berbagi asal literal template. Penangkapan dapat mengisi segmen jalur atau nilai kueri tetapi tidak dapat mengubah tempat tautan menunjuk |
| Panjang URL        | URL yang dibangun lebih panjang dari 2048 karakter dijatuhkan                                                                                                                                                 |
| Skema URL          | Harus `https`, `http`, atau skema deep-link editor atau workspace yang diakui: `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma`            |
| Label              | Default ke teks yang cocok dan dipotong ke 28 kolom tampilan                                                                                                                                                  |
| Jumlah lencana     | Paling banyak 5 lencana render. Yang tertua digantikan oleh kecocokan yang lebih baru dan `/clear` menghapusnya                                                                                               |
| Cakupan pengaturan | Dibaca dari pengaturan pengguna, flag `--settings`, dan pengaturan yang dikelola saja. Diabaikan dalam `.claude/settings.json` proyek dan `.claude/settings.local.json` lokal                                 |

Saat giliran selesai, Claude Code mencocokkan regex `pattern` setiap entri dengan output giliran pada thread utama, jadi regex lambat memblokir UI sampai selesai. Quantifier bersarang seperti `(a+)+$` dapat memakan waktu secara eksponensial terhadap input tertentu dan membekukan sesi, jadi jaga setiap `pattern` linear dan hindari bersarang `+` atau `*`.

Lencana footer render bersama [status line khusus](/id/statusline) saat satu dikonfigurasi; tidak satupun menggantikan yang lain. Gunakan status line untuk baris yang didorong skrip yang menghitung kontennya sendiri dari data sesi, dan lencana footer untuk mengubah ID dari percakapan menjadi tautan tanpa skrip.

<h3 id="hook-configuration">
  Konfigurasi hook
</h3>

Pengaturan ini mengontrol hook mana yang diizinkan untuk dijalankan dan apa yang dapat diakses oleh HTTP hooks. Pengaturan `allowManagedHooksOnly` hanya dapat dikonfigurasi dalam [pengaturan yang dikelola](#settings-files). Daftar putih URL dan env var dapat diatur di tingkat pengaturan apa pun dan digabungkan di seluruh sumber.

**Perilaku saat `allowManagedHooksOnly` adalah `true`:**

* Hooks yang dikelola dan hooks SDK dimuat
* Hooks dari plugins yang dipaksa diaktifkan dalam pengaturan yang dikelola `enabledPlugins` dimuat. Ini memungkinkan administrator mendistribusikan hooks yang disaring melalui marketplace organisasi sambil memblokir segalanya. Kepercayaan diberikan oleh ID `plugin@marketplace` penuh, jadi plugin dengan nama yang sama dari marketplace berbeda tetap diblokir
* Hooks pengguna, hooks proyek, dan semua plugin hooks lainnya diblokir

**Batasi URL HTTP hook:**

Batasi URL mana yang dapat ditargetkan oleh HTTP hooks. Mendukung `*` sebagai wildcard untuk pencocokan. Saat array didefinisikan, HTTP hooks yang menargetkan URL yang tidak cocok diblokir secara diam-diam. Pencocokan nama host tidak peka huruf besar-kecil dan mengabaikan titik FQDN di akhir, mencocokkan semantik DNS.

```json theme={null}
{
  "allowedHttpHookUrls": ["https://hooks.example.com/*", "http://localhost:*"]
}
```

**Batasi variabel lingkungan HTTP hook:**

Batasi nama variabel lingkungan mana yang dapat diinterpolasi oleh HTTP hooks ke dalam nilai header. `allowedEnvVars` efektif setiap hook adalah persimpangan dari daftar sendiri dan pengaturan ini.

```json theme={null}
{
  "httpHookAllowedEnvVars": ["MY_TOKEN", "HOOK_SECRET"]
}
```

<h3 id="compute-managed-settings-with-a-policy-helper">
  Hitung pengaturan yang dikelola dengan policy helper
</h3>

Pengaturan `policyHelper` menunjuk ke executable yang menghitung pengaturan yang dikelola saat startup, sehingga admin dapat menurunkan kebijakan dari postur perangkat, identitas, atau layanan jarak jauh daripada file statis. Konfigurasikan dari MDM atau file `managed-settings.json` sistem. Claude Code mengabaikan `policyHelper` saat muncul dalam cakupan apa pun, termasuk pengaturan pengguna, pengaturan proyek, hive registry HKCU, dan [pengaturan yang dikelola server](/id/server-managed-settings).

Pengaturan menerima kunci ini:

| Kunci               | Tipe   | Deskripsi                                                                                                                         |
| ------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------- |
| `path`              | string | Jalur absolut ke executable helper                                                                                                |
| `timeoutMs`         | number | Berapa lama menunggu helper sebelum memperlakukan run sebagai gagal                                                               |
| `refreshIntervalMs` | number | Seberapa sering menjalankan kembali helper di latar belakang. Atur ke `0` untuk menonaktifkan refresh, atau ke setidaknya `60000` |

Helper menulis amplop JSON ke stdout. Letakkan pengaturan di bawah kunci `managedSettings` daripada di tingkat atas, karena objek pengaturan telanjang diuraikan dengan `managedSettings` tidak terdefinisi dan menerapkan tidak ada:

```json theme={null}
{
  "managedSettings": {
    "permissions": { "deny": ["Read(//etc/secrets/**)"] }
  },
  "claudeMd": "# Organization context\n...",
  "appendSystemPrompt": "Always cite the internal style guide."
}
```

Saat helper memancarkan `managedSettings`, objek itu menggantikan pengaturan yang dikelola berbasis file untuk run. Saat helper keluar non-zero saat startup, Claude Code mencetak kesalahan dan menolak untuk memulai, jadi helper yang memerlukan ketahanan pemadaman harus melayani dari cache sendiri dan keluar `0`.

<h3 id="settings-precedence">
  Prioritas pengaturan
</h3>

Pengaturan berlaku dalam urutan prioritas. Dari tertinggi ke terendah:

1. **Pengaturan yang dikelola** ([yang dikelola server](/id/server-managed-settings), [kebijakan tingkat MDM/OS](#configuration-scopes), atau [pengaturan yang dikelola](/id/settings#settings-files))
   * Kebijakan yang digunakan oleh IT melalui pengiriman server, profil konfigurasi MDM, kebijakan registry, atau file pengaturan yang dikelola
   * Tidak dapat ditimpa oleh tingkat apa pun, termasuk argumen baris perintah
   * Dalam tingkat yang dikelola, prioritas adalah: output [`policyHelper`](#compute-managed-settings-with-a-policy-helper), yang ketika dikonfigurasi adalah satu-satunya sumber yang dikelola yang digunakan > remote (pengaturan yang dikelola server claude.ai atau kebijakan yang dikirimkan [Claude apps gateway](/id/claude-apps-gateway)) > kebijakan tingkat MDM/OS > berbasis file (`managed-settings.d/*.json` + `managed-settings.json`) > registry HKCU (Windows saja). Hanya satu sumber yang dikelola yang digunakan; sumber tidak digabungkan di seluruh tingkat, dengan satu pengecualian: kunci sandbox lock `sandbox.network.allowManagedDomainsOnly` dan `sandbox.filesystem.allowManagedReadPathsOnly`, dengan daftar putih terkait mereka, `allowAllClaudeAiMcps`, dan jalur binary sandbox `sandbox.bwrapPath` dan `sandbox.socatPath` dihormati ketika sumber yang dikelola yang dikontrol admin apa pun menetapkannya; tingkat HKCU yang dapat ditulis pengguna dikecualikan. Dalam tingkat berbasis file, file drop-in dan file dasar digabungkan bersama.
   * Host penyematan seperti Claude Desktop dapat memasok kebijakan melalui opsi SDK `managedSettings`. Secara default ini diabaikan ketika ada sumber yang dikelola yang digunakan admin: pengaturan yang dikelola server, kebijakan MDM atau OS-level, atau file pengaturan yang dikelola. Fallback registry HKCU yang dapat ditulis pengguna tidak dihitung sebagai sumber yang dikelola yang digunakan admin. Administrator dapat memilih dengan menetapkan [`parentSettingsBehavior`](#available-settings) ke `"merge"`. Nilai embedder disaring sehingga mereka dapat mengencangkan kebijakan yang dikelola tetapi tidak melonggarkannya.

2. **Argumen baris perintah**
   * Penggantian sementara untuk sesi tertentu. JSON yang dilewatkan melalui `--settings <file-or-json>` digabungkan dengan pengaturan berbasis file menggunakan aturan yang sama seperti lapisan lainnya: kunci yang diatur di sini menimpa kunci yang sama dalam pengaturan lokal, proyek, atau pengguna, dan menghilangkan kunci membiarkan nilai lapisan lebih rendah tetap ada

3. **Pengaturan proyek lokal** (`.claude/settings.local.json`)
   * Pengaturan proyek pribadi

4. **Pengaturan proyek bersama** (`.claude/settings.json`)
   * Pengaturan proyek bersama tim dalam kontrol sumber

5. **Pengaturan pengguna** (`~/.claude/settings.json`)
   * Pengaturan global pribadi

Hierarki ini memastikan bahwa kebijakan organisasi selalu diterapkan sambil tetap memungkinkan tim dan individu untuk menyesuaikan pengalaman mereka. Prioritas yang sama berlaku apakah Anda menjalankan Claude Code dari CLI, [ekstensi VS Code](/id/vs-code), atau [IDE JetBrains](/id/jetbrains).

Misalnya, jika pengaturan pengguna Anda menetapkan `permissions.defaultMode` ke `acceptEdits` dan pengaturan bersama proyek menetapkannya ke `default`, nilai proyek berlaku. Contoh di bawah mencakup bagaimana pengaturan bernilai array seperti aturan izin digabungkan sebagai gantinya.

<Note>
  **Pengaturan array digabungkan di seluruh cakupan.** Ketika pengaturan yang bernilai array yang sama (seperti `sandbox.filesystem.allowWrite` atau `permissions.allow`) muncul dalam beberapa cakupan, array **digabungkan dan dihilangkan duplikatnya**, bukan diganti. Ini berarti cakupan prioritas lebih rendah dapat menambahkan entri tanpa menimpa yang ditetapkan oleh cakupan prioritas lebih tinggi, dan sebaliknya. Misalnya, jika pengaturan yang dikelola menetapkan `allowWrite` ke `["/opt/company-tools"]` dan pengguna menambahkan `["~/.kube"]`, kedua jalur disertakan dalam konfigurasi akhir.

  Dua pengaturan array tidak digabungkan dengan cara ini:

  * [`fallbackModel`](#available-settings) adalah rantai yang dipesan di mana posisi membawa makna: file dengan prioritas tertinggi yang mendefinisikannya memasok seluruh nilai.
  * [`availableModels`](#available-settings): {/* min-version: 2.1.175 */}saat [sumber yang dikelola dengan prioritas tertinggi](/id/server-managed-settings#settings-precedence) mendefinisikannya, daftar itu berlaku sebagainya dan entri pengguna, proyek, dan lokal tidak dapat memperluas. Di seluruh cakupan non-managed array digabungkan seperti biasa. Lihat [Perilaku penggabungan](/id/model-config#merge-behavior).
</Note>

<h3 id="verify-active-settings">
  Verifikasi pengaturan aktif
</h3>

Jalankan `/status` di dalam Claude Code untuk melihat sumber pengaturan mana yang aktif. Di dalam menu, tab **Status** mencakup baris `Setting sources` yang mencantumkan setiap lapisan Claude Code yang dimuat untuk sesi saat ini, seperti `User settings` atau `Project local settings`. Ketika [pengaturan yang dikelola](/id/admin-setup#decide-how-settings-reach-devices) berlaku, entri menunjukkan saluran pengiriman dalam tanda kurung, misalnya `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)`, atau `(file)`. Lapisan muncul dalam daftar hanya saat sumber itu dimuat dengan setidaknya satu kunci, jadi daftar kosong berarti tidak ada sumber pengaturan yang ditemukan.

Baris `Setting sources` mengonfirmasi sumber mana yang sedang dibaca. Ini tidak menunjukkan lapisan mana yang memasok setiap kunci individual. Tab **Config** dalam dialog yang sama adalah editor untuk set toggle tetap seperti tema dan output verbose, bukan tampilan konten `settings.json` Anda.

Jika file pengaturan berisi kesalahan, seperti JSON tidak valid atau nilai yang gagal validasi, `/status` mencantumkan file yang terpengaruh. Jalankan `/doctor` untuk melihat detail untuk setiap kesalahan.

<h3 id="key-points-about-the-configuration-system">
  Poin kunci tentang sistem konfigurasi
</h3>

* **File memori (`CLAUDE.md`)**: Berisi instruksi dan konteks yang dimuat Claude saat startup
* **File pengaturan (JSON)**: Konfigurasikan izin, variabel lingkungan, dan perilaku tool
* **Skills**: Prompt khusus yang dapat dipanggil dengan `/skill-name` atau dimuat oleh Claude secara otomatis
* **MCP servers**: Perluas Claude Code dengan tools dan integrasi tambahan
* **Prioritas**: Konfigurasi tingkat lebih tinggi (Managed) menimpa yang tingkat lebih rendah (User/Project)
* **Warisan**: Pengaturan digabungkan di seluruh cakupan; nilai skalar dari cakupan prioritas lebih tinggi menimpa, dan array digabungkan, dengan dua pengecualian yang dijelaskan dalam [Catatan penggabungan array](#settings-precedence)

<h3 id="system-prompt">
  Prompt sistem
</h3>

Prompt sistem internal Claude Code tidak dipublikasikan. Untuk menambahkan instruksi khusus, gunakan file `CLAUDE.md` atau flag `--append-system-prompt`.

<h3 id="exclude-sensitive-files">
  Mengecualikan file sensitif
</h3>

Untuk mencegah Claude Code mengakses file yang berisi informasi sensitif seperti kunci API, rahasia, dan file lingkungan, gunakan pengaturan `permissions.deny` dalam file `.claude/settings.json` Anda:

```json theme={null}
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}
```

Ini menggantikan konfigurasi `ignorePatterns` yang usang. File yang cocok dengan pola ini dikecualikan dari penemuan file dan hasil pencarian, dan operasi baca pada file ini ditolak.

<h2 id="subagent-configuration">
  Konfigurasi subagent
</h2>

Claude Code mendukung subagents AI khusus yang dapat dikonfigurasi di tingkat pengguna dan proyek. Subagents ini disimpan sebagai file Markdown dengan frontmatter YAML:

* **Subagents pengguna**: `~/.claude/agents/`, tersedia di semua proyek Anda
* **Subagents proyek**: `.claude/agents/`, spesifik untuk proyek Anda dan dapat dibagikan dengan tim Anda

File subagent mendefinisikan asisten AI khusus dengan prompt khusus dan izin tool. Pelajari lebih lanjut tentang membuat dan menggunakan subagents dalam [dokumentasi subagents](/id/sub-agents).

<h2 id="plugin-configuration">
  Konfigurasi plugin
</h2>

Claude Code mendukung sistem plugin yang memungkinkan Anda memperluas fungsionalitas dengan skills, agents, hooks, dan MCP servers. Plugin didistribusikan melalui marketplace dan dapat dikonfigurasi di tingkat pengguna dan repositori.

<h3 id="plugin-settings">
  Pengaturan plugin
</h3>

Pengaturan terkait plugin dalam `settings.json`:

```json theme={null}
{
  "enabledPlugins": {
    "formatter@acme-tools": true,
    "deployer@acme-tools": true,
    "analyzer@security-plugins": false
  },
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": {
        "source": "github",
        "repo": "acme-corp/claude-plugins"
      }
    }
  }
}
```

<h4 id="enabledplugins">
  `enabledPlugins`
</h4>

Mengontrol plugin mana yang diaktifkan. Format: `"plugin-name@marketplace-name": true/false`. Plugin tanpa entri di cakupan apa pun kembali ke nilai [`defaultEnabled`](/id/plugins-reference#default-enablement) nya.

**Cakupan**:

* **Pengaturan pengguna** (`~/.claude/settings.json`): Preferensi plugin pribadi
* **Pengaturan proyek** (`.claude/settings.json`): Plugin spesifik proyek yang dibagikan dengan tim
* **Pengaturan lokal** (`.claude/settings.local.json`): Penggantian per-mesin, diabaikan saat Claude Code membuatnya
* **Pengaturan yang dikelola** (`managed-settings.json`): Penggantian kebijakan organisasi yang memblokir instalasi di semua cakupan dan menyembunyikan plugin dari marketplace

<Note>
  Pengaturan proyek memiliki prioritas lebih tinggi daripada pengaturan pengguna, jadi mengatur plugin ke `false` dalam `~/.claude/settings.json` tidak menonaktifkan plugin yang diaktifkan oleh `.claude/settings.json` proyek. Untuk menolak plugin yang diaktifkan proyek di mesin Anda, atur ke `false` dalam `.claude/settings.local.json` sebagai gantinya.

  Plugin yang dipaksa diaktifkan oleh pengaturan yang dikelola tidak dapat dinonaktifkan dengan cara ini, karena pengaturan yang dikelola menggantikan pengaturan lokal.

  Mengaktifkan plugin dari sumber eksternal seperti repositori GitHub atau paket npm dalam `.claude/settings.json` proyek tidak menginstalnya untuk orang lain. Mulai dari Claude Code v2.1.195, setiap jalur yang memuat plugin meminta setiap pengguna untuk [menginstal dan mempercayai plugin](/id/discover-plugins#configure-team-marketplaces) sebelum dijalankan.
</Note>

**Contoh**:

```json theme={null}
{
  "enabledPlugins": {
    "code-formatter@team-tools": true,
    "deployment-tools@team-tools": true,
    "experimental-features@personal": false
  }
}
```

<h4 id="extraknownmarketplaces">
  `extraKnownMarketplaces`
</h4>

Mendefinisikan marketplace tambahan yang harus tersedia untuk repositori. Biasanya digunakan dalam pengaturan tingkat repositori untuk memastikan anggota tim memiliki akses ke sumber plugin yang diperlukan.

**Ketika repositori menyertakan `extraKnownMarketplaces`**:

1. Anggota tim diminta untuk menginstal marketplace saat mereka mempercayai folder
2. Anggota tim kemudian diminta untuk menginstal plugin dari marketplace tersebut
3. Pengguna dapat melewati marketplace atau plugin yang tidak diinginkan (disimpan dalam pengaturan pengguna)
4. Instalasi menghormati batas kepercayaan dan memerlukan persetujuan eksplisit

**Contoh**:

```json theme={null}
{
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": {
        "source": "github",
        "repo": "acme-corp/claude-plugins"
      }
    },
    "security-plugins": {
      "source": {
        "source": "git",
        "url": "https://git.example.com/security/plugins.git"
      }
    }
  }
}
```

**Jenis sumber marketplace**:

* `github`: Repositori GitHub (menggunakan `repo`)
* `git`: URL git apa pun (menggunakan `url`)
* `directory`: Jalur sistem file lokal (menggunakan `path`, hanya untuk pengembangan)
* `hostPattern`: Pola regex untuk mencocokkan host marketplace (menggunakan `hostPattern`)
* `settings`: marketplace inline yang dideklarasikan langsung dalam settings.json tanpa repositori yang dihosting terpisah (menggunakan `name` dan `plugins`)

Jenis sumber `git` bekerja dengan layanan hosting git apa pun, termasuk GitLab dan Bitbucket yang dihosting sendiri. Claude Code mengkloning repositori dengan autentikasi yang sama yang akan digunakan `git clone` di mesin tersebut: pembantu kredensial yang dikonfigurasi, kunci SSH, atau variabel lingkungan token khusus host. Lihat [Repositori pribadi](/id/plugin-marketplaces#private-repositories) untuk detail pengaturan.

Untuk sumber `github` dan `git`, atur `"skipLfs": true` di dalam objek `source` (bersama `repo` atau `url`) untuk melewati unduhan Git LFS saat Claude Code mengkloning atau memperbarui repositori marketplace. File pointer LFS tetap sebagai pointer daripada mengunduh kontennya. Gunakan ini ketika repositori berisi objek LFS besar yang tidak terkait dengan konten plugin. {/* min-version: 2.1.153 */}Memerlukan Claude Code v2.1.153 atau lebih baru.

Setiap entri marketplace juga menerima Boolean `autoUpdate` opsional. Atur `"autoUpdate": true` bersama `source` untuk membuat Claude Code menyegarkan marketplace tersebut dan memperbarui plugin yang terinstal saat startup. Jika dihilangkan, marketplace Anthropic resmi default ke `true` dan semua marketplace lainnya default ke `false`. Lihat [Konfigurasi pembaruan otomatis](/id/discover-plugins#configure-auto-updates).

Gunakan `source: 'settings'` untuk mendeklarasikan serangkaian plugin kecil inline tanpa menyiapkan repositori marketplace yang dihosting. Plugin yang terdaftar di sini harus mereferensikan sumber eksternal seperti GitHub atau npm. Anda masih perlu mengaktifkan setiap plugin secara terpisah dalam `enabledPlugins`.

```json theme={null}
{
  "extraKnownMarketplaces": {
    "team-tools": {
      "source": {
        "source": "settings",
        "name": "team-tools",
        "plugins": [
          {
            "name": "code-formatter",
            "source": {
              "source": "github",
              "repo": "acme-corp/code-formatter"
            }
          }
        ]
      }
    }
  }
}
```

<h4 id="strictknownmarketplaces">
  `strictKnownMarketplaces`
</h4>

**Pengaturan yang dikelola saja**: Mengontrol marketplace plugin mana yang diizinkan pengguna untuk ditambahkan dan menginstal plugin darinya. Pengaturan ini hanya dapat dikonfigurasi dalam [pengaturan yang dikelola](/id/settings#settings-files) dan memberikan administrator kontrol ketat atas sumber marketplace.

**Lokasi file pengaturan yang dikelola**:

* **macOS**: `/Library/Application Support/ClaudeCode/managed-settings.json`
* **Linux dan WSL**: `/etc/claude-code/managed-settings.json`
* **Windows**: `C:\Program Files\ClaudeCode\managed-settings.json`

**Karakteristik kunci**:

* Hanya tersedia dalam pengaturan yang dikelola (`managed-settings.json`)
* Tidak dapat ditimpa oleh pengaturan pengguna atau proyek (prioritas tertinggi)
* Diterapkan sebelum operasi jaringan dan sistem file, sehingga sumber yang diblokir tidak pernah dijalankan
* Menggunakan pencocokan tepat untuk spesifikasi sumber (termasuk `ref`, `path` untuk sumber git), kecuali `hostPattern` dan `pathPattern`, yang menggunakan pencocokan regex

**Perilaku daftar putih**:

* `undefined` (default): tidak ada pembatasan, sehingga pengguna dapat menambahkan marketplace apa pun
* Array kosong `[]`: lockdown lengkap, sehingga pengguna tidak dapat menambahkan marketplace baru apa pun
* Daftar sumber: pengguna hanya dapat menambahkan marketplace yang cocok dengan tepat

**Semua jenis sumber yang didukung**:

Daftar putih mendukung beberapa jenis sumber marketplace. Sebagian besar sumber menggunakan pencocokan tepat, sementara `hostPattern` dan `pathPattern` menggunakan pencocokan regex terhadap host marketplace dan jalur sistem file masing-masing.

1. **Repositori GitHub**:

```json theme={null}
{ "source": "github", "repo": "acme-corp/approved-plugins" }
{ "source": "github", "repo": "acme-corp/security-tools", "ref": "v2.0" }
{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }
```

Bidang: `repo` (diperlukan), `ref` (opsional: cabang atau tag), `path` (opsional: subdirektori)

2. **Repositori Git**:

```json theme={null}
{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git" }
{ "source": "git", "url": "https://bitbucket.org/acme-corp/plugins.git", "ref": "production" }
{ "source": "git", "url": "ssh://git@git.example.com/plugins.git", "ref": "v3.1", "path": "approved" }
```

Bidang: `url` (diperlukan), `ref` (opsional: cabang atau tag), `path` (opsional: subdirektori)

3. **Marketplace berbasis URL**:

```json theme={null}
{ "source": "url", "url": "https://plugins.example.com/marketplace.json" }
{ "source": "url", "url": "https://cdn.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }
```

Bidang: `url` (diperlukan), `headers` (opsional: header HTTP untuk akses terautentikasi)

<Note>
  Marketplace berbasis URL hanya mengunduh file `marketplace.json`. Mereka tidak mengunduh file plugin dari server. Plugin dalam marketplace berbasis URL harus menggunakan sumber eksternal (GitHub, npm, atau URL git) daripada jalur relatif. Untuk plugin dengan jalur relatif, gunakan marketplace berbasis Git sebagai gantinya. Lihat [Troubleshooting](/id/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces) untuk detail.
</Note>

4. **Paket NPM**:

```json theme={null}
{ "source": "npm", "package": "@acme-corp/claude-plugins" }
{ "source": "npm", "package": "@acme-corp/approved-marketplace" }
```

Bidang: `package` (diperlukan, mendukung paket berscopus)

5. **Jalur file**:

```json theme={null}
{ "source": "file", "path": "/usr/local/share/claude/acme-marketplace.json" }
{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }
```

Bidang: `path` (diperlukan: jalur absolut ke file marketplace.json)

6. **Jalur direktori**:

```json theme={null}
{ "source": "directory", "path": "/usr/local/share/claude/acme-plugins" }
{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }
```

Bidang: `path` (diperlukan: jalur absolut ke direktori yang berisi `.claude-plugin/marketplace.json`)

7. **Pencocokan pola host**:

```json theme={null}
{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }
{ "source": "hostPattern", "hostPattern": "^gitlab\\.internal\\.example\\.com$" }
```

Bidang: `hostPattern` (diperlukan: pola regex untuk mencocokkan terhadap host marketplace)

Gunakan pencocokan pola host saat Anda ingin memungkinkan semua marketplace dari host tertentu tanpa menghitung setiap repositori secara individual. Ini berguna untuk organisasi dengan server GitHub Enterprise atau GitLab internal di mana pengembang membuat marketplace mereka sendiri.

Ekstraksi host berdasarkan jenis sumber:

* `github`: selalu cocok dengan `github.com`
* `git`: mengekstrak nama host dari URL (mendukung format HTTPS dan SSH)
* `url`: mengekstrak nama host dari URL
* `npm`, `file`, `directory`: tidak didukung untuk pencocokan pola host

8. **Pencocokan pola jalur**:

```json theme={null}
{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }
{ "source": "pathPattern", "pathPattern": ".*" }
```

Bidang: `pathPattern` (diperlukan: pola regex yang dicocokkan terhadap bidang `path` dari sumber `file` dan `directory`)

Gunakan pencocokan pola jalur untuk memungkinkan marketplace berbasis sistem file bersama dengan pembatasan `hostPattern` untuk sumber jaringan. Atur `".*"` untuk memungkinkan semua jalur lokal, atau pola yang lebih sempit untuk membatasi ke direktori tertentu.

**Contoh konfigurasi**:

Contoh: izinkan marketplace spesifik saja:

```json theme={null}
{
  "strictKnownMarketplaces": [
    {
      "source": "github",
      "repo": "acme-corp/approved-plugins"
    },
    {
      "source": "github",
      "repo": "acme-corp/security-tools",
      "ref": "v2.0"
    },
    {
      "source": "url",
      "url": "https://plugins.example.com/marketplace.json"
    },
    {
      "source": "npm",
      "package": "@acme-corp/compliance-plugins"
    }
  ]
}
```

Contoh: nonaktifkan semua penambahan marketplace:

```json theme={null}
{
  "strictKnownMarketplaces": []
}
```

Contoh: izinkan semua marketplace dari server git internal:

```json theme={null}
{
  "strictKnownMarketplaces": [
    {
      "source": "hostPattern",
      "hostPattern": "^github\\.example\\.com$"
    }
  ]
}
```

**Persyaratan pencocokan tepat**:

Sumber marketplace harus cocok dengan tepat agar penambahan pengguna diizinkan. Untuk sumber berbasis git (`github` dan `git`), ini termasuk semua bidang opsional:

* `repo` atau `url` harus cocok dengan tepat
* Bidang `ref` harus cocok dengan tepat (atau keduanya tidak terdefinisi)
* Bidang `path` harus cocok dengan tepat (atau keduanya tidak terdefinisi)

Contoh sumber yang tidak cocok:

```json theme={null}
// Ini adalah sumber BERBEDA:
{ "source": "github", "repo": "acme-corp/plugins" }
{ "source": "github", "repo": "acme-corp/plugins", "ref": "main" }

// Ini juga BERBEDA:
{ "source": "github", "repo": "acme-corp/plugins", "path": "marketplace" }
{ "source": "github", "repo": "acme-corp/plugins" }
```

**Perbandingan dengan `extraKnownMarketplaces`**:

| Aspek                | `strictKnownMarketplaces`                           | `extraKnownMarketplaces`                    |
| -------------------- | --------------------------------------------------- | ------------------------------------------- |
| **Tujuan**           | Penegakan kebijakan organisasi                      | Kenyamanan tim                              |
| **File pengaturan**  | `managed-settings.json` saja                        | File pengaturan apa pun                     |
| **Perilaku**         | Blokir penambahan yang tidak ada dalam daftar putih | Instal otomatis marketplace yang hilang     |
| **Saat diterapkan**  | Sebelum operasi jaringan/sistem file                | Setelah prompt kepercayaan pengguna         |
| **Dapat ditimpa**    | Tidak (prioritas tertinggi)                         | Ya (oleh pengaturan prioritas lebih tinggi) |
| **Format sumber**    | Objek sumber langsung                               | Marketplace bernama dengan sumber bersarang |
| **Kasus penggunaan** | Pembatasan kepatuhan, keamanan                      | Onboarding, standardisasi                   |

**Perbedaan format**:

`strictKnownMarketplaces` menggunakan objek sumber langsung:

```json theme={null}
{
  "strictKnownMarketplaces": [
    { "source": "github", "repo": "acme-corp/plugins" }
  ]
}
```

`extraKnownMarketplaces` memerlukan marketplace bernama:

```json theme={null}
{
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": { "source": "github", "repo": "acme-corp/plugins" }
    }
  }
}
```

**Menggunakan keduanya bersama**:

`strictKnownMarketplaces` adalah gerbang kebijakan: mengontrol apa yang dapat ditambahkan pengguna tetapi tidak mendaftarkan marketplace apa pun. Untuk membatasi dan pra-mendaftarkan marketplace untuk semua pengguna, atur keduanya dalam `managed-settings.json`:

```json theme={null}
{
  "strictKnownMarketplaces": [
    { "source": "github", "repo": "acme-corp/plugins" }
  ],
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": { "source": "github", "repo": "acme-corp/plugins" }
    }
  }
}
```

Dengan hanya `strictKnownMarketplaces` yang diatur, pengguna masih dapat menambahkan marketplace yang diizinkan secara manual melalui `/plugin marketplace add`, tetapi tidak tersedia secara otomatis.

**Catatan penting**:

* Pembatasan diperiksa sebelum permintaan jaringan atau operasi sistem file apa pun
* Saat diblokir, pengguna melihat pesan kesalahan yang jelas menunjukkan sumber diblokir oleh kebijakan yang dikelola
* Pembatasan diterapkan pada penambahan marketplace dan pada instalasi plugin, pembaruan, penyegaran, dan pembaruan otomatis. Marketplace yang ditambahkan sebelum kebijakan ditetapkan tidak dapat digunakan untuk menginstal atau memperbarui plugin setelah sumbernya tidak lagi cocok dengan daftar putih
* Pengaturan yang dikelola memiliki prioritas tertinggi dan tidak dapat ditimpa

Lihat [Pembatasan marketplace yang dikelola](/id/plugin-marketplaces#managed-marketplace-restrictions) untuk dokumentasi yang menghadap pengguna.

<h4 id="strictpluginonlycustomization">
  `strictPluginOnlyCustomization`
</h4>

**Pengaturan yang dikelola saja**: memblokir skills, agents, hooks, dan MCP servers dari sumber pengguna dan proyek, sehingga mereka hanya dapat berasal dari plugin atau pengaturan yang dikelola. Gabungkan dengan `strictKnownMarketplaces` untuk mengontrol rantai pasokan kustomisasi penuh: daftar putih marketplace mengontrol plugin mana yang dapat diinstal pengguna, dan pengaturan ini memblokir semua yang tidak berasal dari plugin atau dari pengaturan yang dikelola.

<Note>
  `strictPluginOnlyCustomization` memerlukan Claude Code v2.1.82 atau lebih baru. Versi sebelumnya mengabaikan kunci dan terus memuat kustomisasi pengguna dan proyek, jadi lockdown tidak diterapkan sampai klien diperbarui.
</Note>

Nilainya adalah `true` untuk mengunci keempat permukaan, atau array yang menamai permukaan yang akan dikunci:

```json theme={null}
{
  "strictPluginOnlyCustomization": ["skills", "hooks"]
}
```

Untuk setiap permukaan yang dikunci, Claude Code melewati sumber tingkat pengguna dan proyek dan hanya memuat sumber yang disediakan plugin dan yang dikelola:

| Permukaan | Diblokir saat dikunci                                              | Masih memuat                                                                   |
| :-------- | :----------------------------------------------------------------- | :----------------------------------------------------------------------------- |
| `skills`  | `~/.claude/skills/`, `.claude/skills/`                             | Plugin skills, bundled skills, skills dalam direktori kebijakan yang dikelola  |
| `agents`  | `~/.claude/agents/`, `.claude/agents/`                             | Plugin agents, built-in agents, agents dalam direktori kebijakan yang dikelola |
| `hooks`   | Hooks dalam pengaturan `settings.json` pengguna, proyek, dan lokal | Plugin hooks, hooks dalam pengaturan yang dikelola                             |
| `mcp`     | Servers dalam `~/.claude.json` dan `.mcp.json`                     | Plugin MCP servers, servers [`managed-mcp.json`](/id/managed-mcp)              |

Nama permukaan yang tidak dikenali oleh versi Claude Code diabaikan daripada gagal file pengaturan, jadi Anda dapat menambahkan nama permukaan baru sebelum semua klien diperbarui.

<h3 id="manage-plugins">
  Mengelola plugin
</h3>

Gunakan perintah `/plugin` untuk mengelola plugin secara interaktif:

* Jelajahi plugin yang tersedia dari marketplace
* Instal/copot plugin
* Aktifkan/nonaktifkan plugin
* Lihat detail plugin (skills, agents, hooks yang disediakan)
* Tambah/hapus marketplace

Pelajari lebih lanjut tentang sistem plugin dalam [dokumentasi plugins](/id/plugins).

<h2 id="environment-variables">
  Variabel lingkungan
</h2>

Variabel lingkungan memungkinkan Anda mengontrol perilaku Claude Code tanpa mengedit file pengaturan. Variabel apa pun juga dapat dikonfigurasi dalam [`settings.json`](#available-settings) di bawah kunci `env` untuk menerapkannya ke setiap sesi atau mengulanginya ke tim Anda.

Lihat [referensi variabel lingkungan](/id/env-vars) untuk daftar lengkap.

<h2 id="tools-available-to-claude">
  Tools yang tersedia untuk Claude
</h2>

Claude Code memiliki akses ke serangkaian tools untuk membaca, mengedit, mencari, menjalankan perintah, dan mengorkestrasi subagents. Nama tool adalah string tepat yang Anda gunakan dalam aturan izin dan pencocokan hook.

Lihat [referensi tools](/id/tools-reference) untuk daftar lengkap dan detail perilaku tool Bash.

<h2 id="see-also">
  Lihat juga
</h2>

* [Permissions](/id/permissions): sistem izin, sintaks aturan, pola spesifik tool, dan kebijakan yang dikelola
* [Authentication](/id/authentication): atur akses pengguna ke Claude Code
* [Debug your configuration](/id/debug-your-config): diagnosis mengapa pengaturan, hook, atau server MCP tidak berlaku
* [Troubleshoot installation and login](/id/troubleshoot-install): instalasi, autentikasi, dan masalah platform
