SpyBara
Go Premium

settings.md 2026-06-16 21:57 UTC to 2026-06-17 17:02 UTC

110 added, 21 removed.

2026
Thu 18 02:02 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

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 saat menggunakan REPL interaktif, yang membuka antarmuka Pengaturan bertab di mana Anda dapat melihat informasi status dan memodifikasi opsi konfigurasi.

Cakupan konfigurasi

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.

Cakupan yang tersedia

Cakupan Lokasi Siapa yang terpengaruh Dibagikan dengan tim?
Managed Pengaturan yang dikelola server, plist / registry, atau managed-settings.json tingkat sistem Semua pengguna di mesin 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)

Kapan menggunakan setiap cakupan

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

Bagaimana cakupan berinteraksi

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.

Apa yang menggunakan cakupan

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.


File pengaturan

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 server Anthropic melalui konsol admin Claude.ai. Lihat pengaturan yang dikelola server.

    • 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\

      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 dan Konfigurasi MCP yang Dikelola untuk detail.

    Repositori ini mencakup template penyebaran pemula untuk Jamf, Iru (Kandji), Intune, dan Group Policy. Gunakan ini sebagai titik awal dan sesuaikan dengan kebutuhan Anda.

  • Konfigurasi lainnya disimpan dalam ~/.claude.json. File ini berisi sesi OAuth, konfigurasi MCP server 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.

{
  "$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 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.

Saat pengeditan berlaku

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 diaktifkan untuk setiap perubahan yang terdeteksi.

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

  • model: gunakan /model untuk beralih di tengah sesi
  • outputStyle: bagian dari prompt sistem, yang dibangun kembali pada /clear atau restart

Entri tidak valid dalam pengaturan yang dikelola

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

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

Pengaturan yang tersedia

settings.json mendukung sejumlah opsi:

Kunci Deskripsi Contoh
advisorModel {/* min-version: 2.1.98 /}Model untuk advisor tool 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 "code-reviewer"
agentPushNotifEnabled {/* min-version: 2.1.119 */}Ketika Remote Control terhubung, izinkan Claude mengirim notifikasi push proaktif ke ponsel Anda, misalnya ketika tugas panjang selesai. Default: false. Muncul di /config sebagai Push when Claude decides. Lihat 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 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 [{ "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 ["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 [{ "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 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 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 true
alwaysThinkingEnabled Aktifkan pemikiran yang diperluas 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 dalam env, yang menonaktifkan pemikiran pada Anthropic API kecuali pada Fable 5, yang tidak dapat memiliki pemikiran dimatikan. Pada penyedia pihak ketiga ini menghilangkan parameter thinking sebagai gantinya, dan model adaptive-reasoning mungkin masih berpikir true
apiKeyHelper Skrip khusus, yang akan dieksekusi dalam /bin/sh, 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 /bin/generate_temp_api_key.sh
attribution Sesuaikan atribusi untuk komit git dan pull request. Lihat Pengaturan atribusi {"commit": "🤖 Generated with Claude Code", "pr": ""}
autoCompactEnabled {/* min-version: 2.1.119 */}Secara otomatis kompak percakapan ketika konteks mendekati batas. Default: true. Muncul di /config sebagai Auto-compact. Untuk menonaktifkan melalui variabel lingkungan, atur DISABLE_AUTO_COMPACT dalam env false
autoMemoryDirectory Direktori khusus untuk penyimpanan memori otomatis. 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 Aktifkan memori otomatis. Saat false, Claude tidak membaca dari atau menulis ke direktori memori otomatis. Default: true. Anda juga dapat mengalihkan ini dengan /memory selama sesi. Untuk menonaktifkan melalui variabel lingkungan, atur CLAUDE_CODE_DISABLE_AUTO_MEMORY dalam env false
autoMode Sesuaikan apa yang diblokir dan diizinkan oleh pengklasifikasi mode otomatis. 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. Tidak dibaca dari pengaturan proyek bersama {"soft_deny": ["$defaults", "Never run terraform apply"]}
autoScrollEnabled Dalam rendering fullscreen, ikuti output baru ke bagian bawah percakapan. Default: true. Muncul di /config sebagai Auto-scroll. Prompt izin masih bergulir ke tampilan saat ini dimatikan false
autoUpdatesChannel Saluran rilis untuk diikuti untuk pembaruan. Gunakan "stable" untuk versi yang biasanya sekitar satu minggu lama dan melewati versi dengan regresi besar, atau "latest" (default) untuk rilis terbaru. Untuk menonaktifkan auto-updates sepenuhnya, atur DISABLE_AUTOUPDATER dalam env "stable"
availableModels Batasi model mana yang dapat dipilih pengguna untuk sesi utama, subagents, dan advisor. Lihat Batasi pemilihan model. Lihat enforceAvailableModels untuk juga membatasi Default ["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 true
awsAuthRefresh Skrip khusus yang memodifikasi direktori .aws (lihat konfigurasi kredensial lanjutan) aws sso login --profile myprofile
awsCredentialExport Skrip khusus yang menampilkan JSON dengan kredensial AWS (lihat konfigurasi kredensial lanjutan) /bin/generate_aws_grant.sh
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 [{ "source": "github", "repo": "untrusted/plugins" }]
channelsEnabled (Pengaturan yang dikelola saja) Izinkan channels untuk organisasi. Pada paket Claude.ai Team dan Enterprise, channels diblokir saat ini tidak diatur atau false. Untuk akun Anthropic Console 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 "Always run make lint before committing."
claudeMdExcludes Pola glob atau jalur absolut file CLAUDE.md untuk dilewati saat memuat 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 File sesi yang lebih lama dari periode ini dihapus saat startup (default: 30 hari, minimum 1). Pengaturan ke 0 ditolak dengan kesalahan validasi. Juga mengontrol cutoff usia untuk penghapusan otomatis worktrees subagent yatim piatu saat startup. Untuk menonaktifkan penulisan transkrip sepenuhnya, atur variabel lingkungan CLAUDE_CODE_SKIP_PROMPT_HISTORY, 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 Shell default untuk perintah ! input-box. Menerima "bash" (default) atau "powershell". Pengaturan "powershell" merutekan perintah ! interaktif melalui PowerShell di Windows. Memerlukan CLAUDE_CODE_USE_POWERSHELL_TOOL=1. Lihat 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 [{ "serverName": "filesystem" }]
disableAgentView Atur ke true untuk mematikan background agents dan agent view: claude agents, --bg, /background, dan supervisor on-demand. Biasanya diatur dalam pengaturan yang dikelola. Setara dengan pengaturan CLAUDE_CODE_DISABLE_AGENT_VIEW ke 1 true
disableAllHooks Nonaktifkan semua hooks dan status line khusus apa pun true
disableAutoMode Atur ke "disable" untuk mencegah mode otomatis diaktifkan. Menghapus auto dari siklus Shift+Tab dan menolak --permission-mode auto saat startup. Paling berguna dalam pengaturan yang dikelola di mana pengguna tidak dapat menimpanya "disable"
disableBundledSkills Atur ke true untuk menonaktifkan 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
disableDeepLinkRegistration Atur ke "disable" untuk mencegah Claude Code mendaftarkan penanganan protokol claude-cli:// dengan sistem operasi saat startup. 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: memblokir claude remote-control, flag --remote-control, auto-start, dan toggle dalam sesi. Biasanya ditempatkan dalam pengaturan yang dikelola untuk penegakan MDM per-perangkat, tetapi berfungsi dari cakupan apa pun. Memerlukan Claude Code v2.1.128 atau lebih baru true
disableSkillShellExecution Nonaktifkan eksekusi shell inline untuk blok !`...` dan ```! dalam 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 di mana pengguna tidak dapat menimpanya true
disableWorkflows Nonaktifkan dynamic workflows dan perintah workflow bundel. Default: false. Setara dengan pengaturan CLAUDE_CODE_DISABLE_WORKFLOWS ke 1 true
editorMode Mode binding kunci untuk prompt input: "normal" atau "vim". Default: "normal". Muncul di /config sebagai Editor mode "vim"
effortLevel Pertahankan tingkat usaha 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 menimpa ini untuk satu sesi. Lihat Sesuaikan tingkat usaha untuk model yang didukung "xhigh"
enableAllProjectMcpServers Secara otomatis menyetujui semua MCP servers yang ditentukan dalam file .mcp.json proyek true
enabledMcpjsonServers Daftar MCP servers spesifik dari file .mcp.json untuk menyetujui ["memory", "github"]
enforceAvailableModels {/* min-version: 2.1.175 */}Saat true dan availableModels adalah daftar non-kosong dalam pengaturan yang dikelola atau kebijakan, model Default juga dibatasi pada daftar putih. Lihat Batasi pemilihan model untuk detail dan perilaku penggabungan saat availableModels diatur di beberapa tingkat. 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 {"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 menimpa ini untuk satu sesi. Lihat Fallback model chains ["claude-sonnet-4-6", "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 true
feedbackSurveyRate Probabilitas (0–1) bahwa survei kualitas sesi muncul saat memenuhi syarat. Atur ke 0 untuk menekan sepenuhnya, atau atur CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY dalam env. Berguna saat menggunakan Bedrock, Vertex, atau Foundry di mana tingkat sampel default tidak berlaku 0.05
fileCheckpointingEnabled {/* min-version: 2.1.119 */}Snapshot file sebelum setiap edit sehingga /rewind dapat memulihkannya. Default: true. Muncul di /config sebagai Rewind code (checkpoints). Untuk menonaktifkan melalui variabel lingkungan, atur CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING dalam env false
fileSuggestion Konfigurasikan skrip khusus untuk pelengkapan otomatis file @. Lihat Pengaturan saran file {"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 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. Saat diatur dalam pengaturan yang dikelola, sesi yang diautentikasi oleh ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, atau apiKeyHelper diblokir saat startup, karena tidak ada nilai yang dapat dipenuhi tanpa OAuth pihak pertama. Sesi penyedia pihak ketiga seperti Bedrock, Vertex, dan Foundry tidak diblokir: mereka mengautentikasi terhadap penyedia cloud Anda daripada Anthropic claudeai
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 true
gcpAuthRefresh Skrip khusus yang menyegarkan GCP Application Default Credentials saat kedaluwarsa atau tidak dapat dimuat. Lihat konfigurasi kredensial lanjutan gcloud auth application-default login
hooks Konfigurasikan perintah khusus untuk dijalankan pada acara siklus hidup. Lihat dokumentasi hooks untuk format Lihat 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 ["MY_TOKEN", "HOOK_SECRET"]
includeCoAuthoredBy Usang: Gunakan attribution sebagai gantinya. Apakah akan menyertakan baris co-authored-by Claude dalam komit git dan pull request (default: true) false
includeGitInstructions Sertakan instruksi alur kerja komit dan PR bawaan dan snapshot status git dalam prompt sistem Claude (default: true). 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 */}Ketika Remote Control terhubung, kirim notifikasi push ke ponsel Anda ketika prompt izin atau pertanyaan menunggu input Anda. Default: false. Muncul di /config sebagai Push when actions required. Lihat 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 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"
maxSkillDescriptionChars {/* min-version: 2.1.105 */}Batas karakter per-skill pada teks description dan when_to_use gabungan dalam skill listing yang Claude lihat setiap giliran (default: 1536). 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. Memerlukan Claude Code v2.1.105 atau lebih baru 2048
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 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 menimpa ini untuk satu sesi "claude-sonnet-4-6"
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 {"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. Lihat Header dinamis /bin/generate_otel_headers.sh
outputStyle Konfigurasikan gaya output untuk menyesuaikan prompt sistem. Lihat dokumentasi gaya output "Explanatory"
parentSettingsBehavior {/* min-version: 2.1.133 */}(Pengaturan yang dikelola saja) 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. Default: "first-wins". Memerlukan Claude Code v2.1.133 atau lebih baru "merge"
permissions Lihat tabel di bawah untuk struktur izin.
plansDirectory Sesuaikan di mana file rencana disimpan. Jalur relatif terhadap akar proyek. Default: ~/.claude/plans "./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. Memerlukan Claude Code v2.1.136 atau lebih baru {"path": "/usr/local/bin/claude-policy"}
preferredNotifChannel Metode untuk notifikasi task-complete dan permission-prompt: "auto", "terminal_bell", "iterm2", "iterm2_with_bell", "kitty", "ghostty", atau "notifications_disabled". Default: "auto", yang 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 "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}"
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 Kontrol apakah pemilih file @ menghormati pola .gitignore. Saat true (default), file yang cocok dengan pola .gitignore dikecualikan dari saran false
showClearContextOnPlanAccept Tampilkan opsi "clear context" pada layar penerimaan rencana. Default ke false. Atur ke true untuk mengembalikan opsi true
showThinkingSummaries Tampilkan ringkasan pemikiran yang diperluas dalam sesi interaktif. Saat tidak diatur atau false (default dalam mode interaktif), 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 sebagai gantinya. Pengaturan ini tidak berpengaruh dalam mode non-interaktif (-p), Agent SDK, atau ekstensi IDE seperti VS Code true
showTurnDuration Tampilkan pesan durasi giliran setelah respons, misalnya "Cooked for 1m 6s". Default: true. Muncul di /config sebagai Show turn duration false
skillListingBudgetFraction {/* min-version: 2.1.105 */}Fraksi jendela konteks model yang dicadangkan untuk skill listing yang Claude lihat setiap giliran (default: 0.01 = 1%). 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
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. Memerlukan Claude Code v2.1.129 atau lebih baru {"legacy-context": "name-only", "deploy": "off"}
skipWebFetchPreflight Lewati pemeriksaan keamanan domain WebFetch 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 Tampilkan tips dalam spinner saat Claude bekerja. Atur ke false untuk menonaktifkan tips (default: true) 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. 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. Lihat dokumentasi statusLine {"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 [{ "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 ["skills", "hooks"]
syntaxHighlightingDisabled Nonaktifkan syntax highlighting dalam diffs, code blocks, dan file previews true
teammateMode Bagaimana rekan tim agent ditampilkan: auto (memilih panel terpisah di tmux atau iTerm2, dalam proses sebaliknya), in-process, atau tmux (panel terpisah menggunakan tmux atau iTerm2, dideteksi dari terminal Anda). --teammate-mode menimpa ini untuk satu sesi. Lihat pilih mode tampilan "in-process"
terminalProgressBarEnabled Tampilkan bilah kemajuan terminal di terminal yang didukung: ConEmu, Ghostty 1.2.0+, dan iTerm2 3.6.6+. Default: true. Muncul di /config sebagai Terminal progress bar false
theme {/* min-version: 2.1.119 */}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>". Default: "dark". Lihat Buat tema khusus. 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 "fullscreen"
ultracode Aktifkan ultracode untuk sesi. Hanya sesi dan tidak dibaca dari settings.json. Atur melalui /effort ultracode, --settings, atau permintaan kontrol Agent SDK true
useAutoModeDuringPlan Apakah plan mode menggunakan semantik mode otomatis saat mode otomatis tersedia. Default: true. Tidak dibaca dari pengaturan proyek bersama. Muncul di /config sebagai "Use auto mode during plan" false
verbose {/* min-version: 2.1.119 */}Tampilkan output tool lengkap daripada ringkasan yang dipotong. Default: false. 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: 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 */}Dalam rendering fullscreen, percepat kecepatan scroll mouse-wheel selama scroll cepat. Default: true. 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 */}Apakah kata kunci ultracode dalam prompt memicu dynamic workflow. Atur ke false untuk mengetik kata tanpa memicu satu. Pengaturan usaha ultracode, /workflows, dan perintah workflow yang disimpan tidak terpengaruh. Default: true. 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

Pengaturan konfigurasi global

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

Kunci Deskripsi Contoh
autoConnectIde Secara otomatis terhubung ke IDE yang sedang berjalan saat Claude Code dimulai dari terminal eksternal. Default: false. 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 menimpa ini saat diatur true
autoInstallIdeExtension Secara otomatis instal ekstensi IDE Claude Code saat berjalan dari terminal VS Code. Default: true. 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 false
externalEditorContext Tambahkan respons sebelumnya Claude sebagai konteks berkomentar # saat Anda membuka editor eksternal dengan Ctrl+G. Default: false. Muncul di /config sebagai Show last response in external editor true
teammateDefaultModel Model default untuk agent team 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"

Pengaturan worktree

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. "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 di akar proyek Anda daripada pengaturan.

Pengaturan izin

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 di bawah untuk detail pencocokan pola [ "Bash(git diff *)" ]
ask Array aturan izin untuk meminta konfirmasi saat penggunaan tool. Lihat Sintaks aturan izin 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 dan Batasan izin Bash [ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectories Direktori kerja tambahan untuk akses file. Sebagian besar konfigurasi .claude/ tidak ditemukan dari direktori ini [ "../docs/" ]
defaultMode Mode izin 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 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

Sintaks aturan izin

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

Pengaturan sandbox

Konfigurasikan perilaku sandboxing lanjutan. Sandboxing mengisolasi perintah bash dari sistem file dan jaringan Anda. Lihat 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 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
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
bwrapPath (Pengaturan yang dikelola saja, Linux/WSL2) Jalur absolut ke binary bubblewrap (bwrap). Menimpa deteksi otomatis melalui PATH. Hanya dihormati dari pengaturan yang dikelola, 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

Prefiks jalur sandbox

Jalur dalam filesystem.allowWrite, filesystem.denyWrite, filesystem.denyRead, dan filesystem.allowRead 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, yang menggunakan //path untuk absolut dan /path untuk relatif proyek. Jalur sistem file sandbox menggunakan konvensi standar: /tmp/build adalah jalur absolut.

Contoh konfigurasi:

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

Pengaturan atribusi

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

  • Komit menggunakan git 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

Atribusi komit default:

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Nama model dalam trailer mencerminkan model aktif untuk sesi.

Atribusi pull request default:

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Contoh:

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

Pengaturan saran file

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.

{
  "fileSuggestion": {
    "type": "command",
    "command": "~/.claude/file-suggestion.sh"
  }
}

Perintah berjalan dengan variabel lingkungan yang sama seperti hooks, termasuk CLAUDE_PROJECT_DIR. Ini menerima JSON melalui stdin dengan bidang query:

{"query": "src/comp"}

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

src/components/Button.tsx
src/components/Modal.tsx
src/components/Form.tsx

Contoh:

#!/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

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:

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

Konfigurasi hook

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

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

{
  "httpHookAllowedEnvVars": ["MY_TOKEN", "HOOK_SECRET"]
}

Hitung pengaturan yang dikelola dengan policy helper

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.

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:

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

Prioritas pengaturan

Pengaturan berlaku dalam urutan prioritas. Dari tertinggi ke terendah:

  1. Pengaturan yang dikelola (yang dikelola server, kebijakan tingkat MDM/OS, atau pengaturan yang dikelola)

    • 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: yang dikelola server > kebijakan tingkat MDM/OS > file-based (managed-settings.d/*.json + managed-settings.json) > registry HKCU (Windows saja). Hanya satu sumber yang dikelola yang digunakan; sumber tidak digabungkan di seluruh tingkat. 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 saat ada tingkat yang dikelola apa pun. Administrator dapat memilih dengan menetapkan parentSettingsBehavior 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, atau IDE 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.

Verifikasi pengaturan aktif

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 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, Claude Code menampilkan pemberitahuan masalah setup saat startup dan /status mencantumkan file yang terpengaruh. Jalankan /doctor untuk melihat detail untuk setiap kesalahan.

Poin kunci tentang sistem konfigurasi

  • 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. Pengecualian: fallbackModel, di mana cakupan dengan prioritas tertinggi yang mendefinisikannya memasok seluruh rantai, dan sejak v2.1.175, availableModels, di mana nilai yang dikelola atau kebijakan menggantikan entri prioritas lebih rendah sepenuhnya

Prompt sistem

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

Mengecualikan file sensitif

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:

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

Konfigurasi subagent

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.

Konfigurasi plugin

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.

Pengaturan plugin

Pengaturan terkait plugin dalam settings.json:

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

`enabledPlugins`

Mengontrol plugin mana yang diaktifkan. Format: "plugin-name@marketplace-name": true/false. Plugin tanpa entri di cakupan apa pun kembali ke nilai defaultEnabled 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

Contoh:

{
  "enabledPlugins": {
    "code-formatter@team-tools": true,
    "deployment-tools@team-tools": true,
    "experimental-features@personal": false
  }
}

`extraKnownMarketplaces`

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:

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

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.

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

`strictKnownMarketplaces`

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 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/sistem file (sumber yang diblokir tidak pernah dieksekusi)
  • 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 - pengguna dapat menambahkan marketplace apa pun
  • Array kosong []: Lockdown lengkap - 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:
{ "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/tag/SHA), path (opsional: subdirektori)

  1. Repositori Git:
{ "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/tag/SHA), path (opsional: subdirektori)

  1. Marketplace berbasis URL:
{ "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)

  1. Paket NPM:
{ "source": "npm", "package": "@acme-corp/claude-plugins" }
{ "source": "npm", "package": "@acme-corp/approved-marketplace" }

Bidang: package (diperlukan, mendukung paket berscopus)

  1. Jalur file:
{ "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)

  1. Jalur direktori:
{ "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)

  1. Pencocokan pola host:
{ "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
  1. Pencocokan pola jalur:
{ "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:

{
  "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:

{
  "strictKnownMarketplaces": []
}

Contoh: izinkan semua marketplace dari server git internal:

{
  "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:

// 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:

{
  "strictKnownMarketplaces": [
    { "source": "github", "repo": "acme-corp/plugins" }
  ]
}

extraKnownMarketplaces memerlukan marketplace bernama:

{
  "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:

{
  "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 untuk dokumentasi yang menghadap pengguna.

`strictPluginOnlyCustomization`

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.

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

{
  "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

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.

Mengelola plugin

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.

Variabel lingkungan

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

Lihat referensi variabel lingkungan untuk daftar lengkap.

Tools yang tersedia untuk Claude

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 untuk daftar lengkap dan detail perilaku tool Bash.

Lihat juga