SpyBara
Go Premium

managed-settings.md 2026-11-10 21:57 UTC to 2026-11-11 22:59 UTC

This page contains 86 additions and 86 deletions.

2026
Tue 3 23:58 Wed 11 22:59

Terapkan pengaturan terkelola

Terapkan pengaturan terkelola ke mesin setiap pengembang: mekanisme pengiriman per OS, bagaimana Claude Code menggabungkan sumber terkelola, dan cara memverifikasi penegakan.

Pengaturan terkelola adalah pengaturan yang organisasi Anda terapkan ke mesin setiap pengembang. Claude Code menerapkannya di atas setiap level lainnya, sehingga tidak ada nilai pengguna, proyek, lokal, atau --settings yang dapat menggantinya, kecuali beberapa pengecualian sensitif keamanan di mana nilai yang lebih ketat dari level yang lebih rendah masih berlaku.

Halaman ini untuk administrator yang menerapkan pengaturan terkelola atau men-debug mengapa salah satu tidak diterapkan. Untuk memutuskan apa yang akan diberlakukan, mulai dengan tabel Tentukan apa yang akan diberlakukan. Untuk jalur konsol claude.ai, lihat Pengaturan terkelola server. Untuk file tempat nilai pengembang sendiri disimpan, lihat Pengaturan.

Terapkan file pengaturan terkelola

Ini adalah cara tercepat untuk menempatkan kebijakan di setiap mesin: file managed-settings.json. Jika Anda belum memilih cara mengirimkan pengaturan terkelola, atau perangkat Anda berada di bawah MDM atau pengembang menjalankan sesi cloud, baca Pilih mekanisme pengiriman terlebih dahulu.

1. Tulis managed-settings.json

Tulis managed-settings.json yang menyimpan kunci yang telah Anda putuskan untuk diberlakukan, dalam bentuk JSON yang sama dengan settings.json. Tabel Tentukan apa yang akan diberlakukan mencantumkan kunci di balik setiap kontrol, dan setiap entri dalam referensi pengaturan mengatakan apakah sumber terkelola dapat menetapkannya. File ini memblokir dua pembacaan file, mematikan mode bypass, dan membuat Claude Code mengabaikan aturan izin dari file pengguna, proyek, dan lokal serta dari --allowedTools:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./secrets/**)"
    ],
    "disableBypassPermissionsMode": "disable"
  },
  "allowManagedPermissionRulesOnly": true
}

Untuk contoh yang lebih lengkap yang menunjukkan bentuk kunci terkelola lainnya, termasuk metode login, model, server MCP, dan marketplace, lihat Pengaturan terkelola organisasi.

2. Tempatkan file di setiap mesin

Simpan file sebagai managed-settings.json di direktori sistem untuk sistem operasi, menggunakan alat apa pun yang sudah menempatkan file di armada Anda:

  • 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

3. Konfirmasi kebijakan diterapkan

Di satu mesin, jalankan /status di dalam Claude Code. Baris Setting sources menunjukkan Enterprise managed settings (file). Lanjutkan ke sisa armada setelah itu; Periksa bahwa kebijakan berlaku mencakup apa yang harus dilihat ketika baris hilang.

Pilih mekanisme pengiriman

File dalam langkah-langkah di atas adalah salah satu dari empat cara untuk mendapatkan pengaturan terkelola ke mesin. Setiap mekanisme membawa kunci kebijakan yang sama dengan file settings.json, sehingga referensi pengaturan berlaku untuk semuanya. Beberapa kunci terikat pada sumber tertentu, dan baris Scope setiap entri mengatakan yang mana:

Dengan file pengaturan terkelola atau profil MDM, semua orang yang dijangkaunya mendapatkan satu kebijakan. Untuk memberikan satu kelompok pengembang kebijakan yang berbeda, terapkan file atau profil yang berbeda ke kelompok itu. Pada paket Enterprise, Anda juga dapat memberikan konfigurasi tersendiri untuk setiap grup dalam pengaturan terkelola server. Gateway aplikasi Claude yang di-host sendiri mengirimkan pengaturan terkelola per grup IdP.

Ketika lebih dari satu mekanisme mengirimkan kebijakan ke mesin yang sama, Claude Code secara default menggunakan satu dan mengabaikan yang lain. Bagaimana Claude Code menggabungkan sumber terkelola memberikan urutan dan opt-in yang menerapkan setiap sumber.

Baris MDM dan file bersama-sama disebut pengaturan terkelola endpoint, karena kebijakan disimpan di perangkat pengembang, berbeda dengan baris terkelola server, di mana Claude Code mengambilnya.

Pilih mekanisme berdasarkan cara Anda sudah mengelola perangkat, menggunakan tabel di bawah.

Mekanisme Cara Anda mengirimkannya Kapan Claude Code membacanya Gunakan ketika
Pengaturan terkelola server Di konsol admin claude.ai, atau di gateway aplikasi Claude yang di-host sendiri Diambil saat startup dan dipolling setiap jam; lihat perubahan yang memerlukan persetujuan Anda ingin satu tempat untuk mengubah kebijakan untuk organisasi claude.ai tanpa menyentuh setiap mesin
Kebijakan MDM atau tingkat OS Sebagai profil konfigurasi macOS atau nilai registry Windows HKLM, melalui Jamf, Intune, Group Policy, atau alat serupa; lihat di mana setiap mekanisme menyimpan kebijakan Dibaca saat startup dan diperiksa untuk perubahan setiap 30 menit Anda sudah mengelola perangkat dengan MDM atau Group Policy
Berbasis file Sebagai managed-settings.json di direktori sistem di setiap mesin; lihat di mana setiap mekanisme menyimpan kebijakan Dibaca saat startup dan dimuat ulang ketika file berubah Mesin tanpa MDM, host Linux, atau gambar yang Anda bangun sendiri
Registry HKCU, Windows dan WSL Sebagai nilai registry Windows HKCU; lihat di mana setiap mekanisme menyimpan kebijakan Dibaca saat startup dan diperiksa untuk perubahan setiap 30 menit; Claude Code menggunakannya hanya ketika tidak ada dokumen admin yang ada di atasnya dan tidak ada pengaturan induk yang disediakan host yang menyediakan kunci yang ketat Anda tidak dapat menulis kunci tingkat mesin HKLM

Template pemula untuk Jamf, Iru, Intune, dan Group Policy ada di repositori contoh MDM.

Jika organisasi Anda menerapkan konfigurasi HIPAA, lihat settings-hipaa.json dan README-hipaa.md di repositori contoh pengaturan untuk managed-settings.json yang lebih lengkap dengan sandboxing, allowlist jaringan, perlindungan kredensial, dan retensi data lokal.

Untuk server MCP terkelola, yang Anda terapkan bersama salah satu dari ini melalui managed-mcp.json atau sediakan melalui kunci managedMcpServers, lihat Konfigurasi MCP terkelola.

Di mana dan kapan kebijakan berlaku

Kebijakan yang diterapkan mencapai sesi pengembang sebagai berikut:

  • Permukaan: di mesin pengembang, terminal, ekstensi VS Code dan JetBrains, tab Code aplikasi desktop, dan sesi Agent SDK membaca semua sumber ini. Sesi Agent SDK memuat pengaturan terkelola bahkan ketika settingSources mengecualikan file pengguna, proyek, dan lokal.

  • Sesi cloud: sesi di lingkungan yang dihosting Anthropic tidak membaca profil MDM atau file perangkat, jadi kebijakan untuk itu harus berasal dari pengaturan terkelola server. Sesi di lingkungan yang di-host sendiri juga membaca file pengaturan terkelola di gambar runner-nya, secara default hanya ketika pengaturan terkelola server tidak mengirimkan kunci kebijakan, kecuali kunci yang Claude Code baca dari setiap sumber admin. Bagaimana Claude Code menggabungkan sumber terkelola mencakup opt-in yang menerapkan keduanya.

  • Sesi Claude Tag: sesi Claude Tag berjalan di lingkungan cloud tetapi tidak menerima pengaturan terkelola server. Di lingkungan yang di-host sendiri, mereka masih membaca file pengaturan terkelola di gambar runner. Konfigurasikan Claude Tag itu sendiri di pengaturan admin Claude Tag.

  • Sesi Cowork: Cowork di aplikasi Claude Desktop menjalankan sesinya di Claude Code. Dalam sesi Cowork, Claude Code tidak pernah mengambil pengaturan terkelola server dari konsol admin claude.ai, bahkan ketika pengguna masuk dengan akun Team atau Enterprise, jadi kebijakan mana yang berlaku tergantung di mana sesi berjalan:

    • Di mesin pengguna: secara default, Claude Code dalam sesi Cowork membaca kebijakan MDM atau tingkat OS dan file pengaturan terkelola di perangkat itu, jadi terapkan kebijakan di sana.
    • Di sandbox VM penuh: ketika konfigurasi terkelola Claude Desktop Anda menetapkan requireCoworkFullVmSandbox, Claude Code berjalan di dalam mesin virtual di mana kebijakan MDM perangkat dan file pengaturan terkelola tidak ada.
    • Sesi Cowork jarak jauh: ini berjalan di VM yang dikelola Anthropic, di mana Claude Code tidak memiliki kebijakan perangkat untuk dibaca.

    Di mana pun sesi berjalan, claude.ai menerapkan daftar strictKnownMarketplaces dan blockedMarketplaces konsol admin itu sendiri ketika siapa pun menambahkan marketplace dari repositori git di claude.ai atau dari Customize di Cowork. Bagaimana pembatasan bekerja menjelaskan pemeriksaan itu. Tabel cakupan surface membandingkan Cowork dengan surface lainnya.

  • Sesi yang berjalan: sebagian besar perubahan mencapai sesi yang berjalan sesuai jadwal dalam tabel mekanisme pengiriman, tanpa restart.

  • Perubahan yang memerlukan persetujuan: kecuali untuk pembaruan yang menunggu peluncuran berikutnya, perubahan terkelola server ke pengaturan yang memerlukan persetujuan, seperti hook atau variabel env, menunggu pengembang menerima dialog dalam sesi interaktif, dan berlaku untuk run saat ini dalam sesi yang dihosting ekstensi IDE atau Agent SDK. Perubahan terkelola server lainnya berlaku pada polling berikutnya.

  • Sesi yang tahan lama: sesi yang dibiarkan terbuka selama berminggu-minggu masih bisa tertinggal dari rollout. requiredMinimumVersion memblokir biner yang ketinggalan zaman dari memulai dan tidak mengakhiri sesi yang sudah berjalan.

Di mana setiap mekanisme menyimpan kebijakan

Kuncinya sama di mana-mana, tetapi setiap mekanisme menyimpannya di tempat dan bentuk yang berbeda:

  • Terkelola server: server Anthropic, atau gateway Anda, menyimpan kebijakan. Claude Code menyimpan cache lokal yang diterapkannya saat startup dan diganti pada setiap pengambilan yang berhasil.

  • Profil konfigurasi macOS: domain preferensi terkelola com.anthropic.claudecode. Gunakan kunci tingkat atas yang sama dengan managed-settings.json, dengan pengaturan bersarang sebagai kamus dan daftar sebagai array plist.

  • Registry HKLM Windows: JSON sebagai nilai REG_SZ atau REG_EXPAND_SZ bernama Settings di bawah HKLM\SOFTWARE\Policies\ClaudeCode.

  • Berbasis file: managed-settings.json, direktori opsional managed-settings.d/, dan managed-mcp.json di direktori sistem: /Library/Application Support/ClaudeCode/ di macOS, /etc/claude-code/ di Linux dan WSL, dan C:\Program Files\ClaudeCode\ di Windows. Claude Code tidak membaca jalur Windows warisan C:\ProgramData\ClaudeCode\managed-settings.json.

    Anda dapat menerapkan file mana pun dari file-file ini sebagai tautan simbolis, dan Claude Code membaca file yang dituju oleh tautan tersebut. Kebijakan tetap berlaku ketika tautan mengarah ke luar direktori sistem atau Claude Code tidak dapat memastikan bahwa tautan tersebut tetap berada di dalamnya. Peringatan yang menyebutkan nama file tersebut kemudian muncul di /status dan claude doctor. Untuk menghapus peringatan, arahkan tautan ke target di dalam direktori sistem.

  • Registry HKCU Windows: nilai Settings yang sama di bawah HKCU\SOFTWARE\Policies\ClaudeCode.

Pisahkan kebijakan berbasis file di seluruh tim

Jika beberapa tim memiliki bagian dari satu kebijakan, letakkan setiap bagian di file sendiri di managed-settings.d/, di sebelah managed-settings.json di direktori sistem yang sama, alih-alih mengedit satu file bersama.

Claude Code menggabungkan managed-settings.json terlebih dahulu, kemudian setiap file *.json di direktori dalam urutan abjad. Beri nama file dengan awalan numerik untuk mengontrol urutan, seperti 10-telemetry.json dan 20-security.json. Claude Code mengabaikan file tersembunyi dan file yang tidak berakhir dengan .json.

Ketika dua file menetapkan kunci yang sama, Claude Code menggabungkannya dengan aturan ini:

  • Nilai tunggal, seperti "model": "opus" atau "cleanupPeriodDays": 7: nilai file yang lebih baru menggantikan yang lebih lama
  • Daftar, seperti permissions.deny atau sandbox.network.allowedDomains: dua daftar digabungkan, dengan duplikat dihapus
  • Blok bersarang, seperti env atau sandbox: dua blok digabungkan kunci demi kunci, dan setiap kunci di dalamnya mengikuti aturan yang sama ini
  • fallbackModel: rantai yang lebih baru menggantikan yang lebih lama secara keseluruhan
  • extraKnownMarketplaces dan managedMcpServers: entri yang lebih baru dengan nama yang sama menggantikan yang lebih lama secara keseluruhan
  • modelPicker: lineup yang lebih baru menggantikan yang lebih lama secara keseluruhan

Cara Claude Code menggabungkan sumber terkelola

Ketika organisasi Anda mengirimkan lebih dari satu sumber terkelola ke mesin yang sama, kunci managedSourcesBehavior menentukan apa yang dilakukan Claude Code terhadap sumber lainnya:

  • "first-wins", default: Claude Code menggunakan sumber dengan peringkat tertinggi yang mengirimkan setidaknya satu kunci kebijakan dan mengabaikan sisanya alih-alih menggabungkannya, kecuali kunci-kunci di Kunci yang dibaca dari setiap sumber admin. Claude Code tidak menampilkan peringatan untuk sumber yang dilewatinya; /status menyebutkan sumber yang digunakan dan sumber yang dilewati.
  • "merge": Claude Code menerapkan setiap sumber admin yang mengirimkan kunci kebijakan dan menggabungkannya berdasarkan jenis kunci: pada sebagian besar kunci, nilai dari sumber dengan peringkat lebih tinggi yang berlaku, daftar digabungkan (union), dan kunci penguncian mengambil nilai yang paling ketat. Menyusun setiap sumber terkelola menjelaskan di mana kunci tersebut diatur dan bagaimana setiap jenis kunci digabungkan. Memerlukan Claude Code v2.1.242 atau lebih baru.

Kedua pengaturan memberi peringkat pada sumber dengan cara yang sama. Istilah-istilah berikut muncul berulang kali di bagian ini:

  • Kunci kebijakan: kunci pengaturan apa pun selain dua kunci kontrol, wslInheritsWindowsSettings dan managedSourcesBehavior. File pengaturan terkelola atau kebijakan MDM yang hanya berisi kunci-kunci tersebut tidak dihitung, dan Claude Code beralih ke sumber berikutnya.
  • Sumber admin: salah satu dari tiga sumber pertama di bawah ini. Registri HKCU dapat ditulis oleh pengguna dan tidak termasuk sumber admin.

Claude Code memeriksa sumber-sumber dalam urutan ini, dimulai dari prioritas tertinggi:

  1. Pengaturan jarak jauh, yang dikirimkan dari claude.ai sebagai pengaturan yang dikelola server atau oleh Claude apps gateway. Claude Code mengambil sumber ini hanya ketika sesi melakukan autentikasi langsung ke API Anthropic dengan kredensial yang memenuhi syarat, masuk ke gateway dengan /login, atau berjalan di tab Code pada Claude Desktop di belakang gateway yang menyajikan pengaturan untuk sesi tersebut. Pada penyedia lain, atau ketika ANTHROPIC_BASE_URL mengarah ke tempat selain API Anthropic, Claude Code memulai dari sumber berikutnya
  2. Kebijakan MDM atau tingkat OS: plist macOS atau kunci registri HKLM
  3. File pengaturan terkelola, managed-settings.d/*.json dan managed-settings.json yang digabungkan bersama
  4. Registri HKCU, di Windows, dan di WSL setelah registri HKLM atau file pengaturan terkelola Windows mengaktifkan wslInheritsWindowsSettings dan nilai HKCU juga mengaturnya. Claude Code membacanya hanya ketika tidak ada dokumen admin di atasnya dan tidak ada pengaturan induk yang disediakan host yang menyediakan kunci restriktif

Diagram ini menunjukkan peringkat tersebut, beserta contoh kunci lintas sumber yang dibaca Claude Code dari tiga sumber pertama di bawah kedua pengaturan:

Diagram yang menunjukkan empat sumber pengaturan terkelola yang diurutkan dari pengaturan jarak jauh di bagian atas, melalui MDM, file pengaturan terkelola, hingga registri HKCU di bagian bawah. Secara default, sumber pertama yang memiliki kunci kebijakan menyediakan kebijakan dan sisanya dilewati; dengan managedSourcesBehavior diatur ke merge, setiap sumber admin yang memiliki kunci kebijakan ikut berkontribusi, digabungkan berdasarkan jenis kunci, dan registri HKCU tetap dikecualikan. Panel samping menunjukkan bahwa kunci lintas sumber seperti kunci penguncian sandbox, forceRemoteSettingsRefresh, dan penggabungan env per variabel dibaca dari setiap sumber admin, yang tidak mencakup registri HKCU.

Kapan dokumen admin dianggap ada

Dalam peringkat sumber terkelola, Claude Code tidak pernah menerapkan registri HKCU yang dapat ditulis pengguna di bawah dokumen admin yang ada. Sebuah dokumen dianggap ada ketika:

  • Dokumen tersebut mengatur kunci kebijakan apa pun ke nilai selain null, bahkan nilai yang tidak dapat dibaca oleh Claude Code
  • Dokumen tersebut berupa nilai HKLM, file pengaturan terkelola, atau direktori managed-settings.d yang ada tetapi tidak dapat dibaca

Di WSL, /etc/claude-code juga dapat ditulis oleh pengguna, dan entri wslInheritsWindowsSettings menjelaskan kapan dokumen Windows berada di atasnya.

Kunci yang dibaca dari setiap sumber admin

Di bawah pengaturan default "first-wins", Claude Code membaca sebagian besar kunci hanya dari sumber yang dipilihnya, dan mengabaikan nilai di sumber dengan peringkat lebih rendah bahkan ketika sumber yang dipilih tidak mengatur kunci tersebut.

Beberapa kunci bekerja secara berbeda. Claude Code membacanya dari setiap sumber admin, sehingga kebijakan MDM atau file pengaturan terkelola dengan peringkat lebih rendah tetap dapat mengaturnya ketika sumber yang dipilih tidak mengaturnya. Claude Code mengecualikan registri HKCU yang dapat ditulis pengguna dari pemindaian tersebut; ketika HKCU adalah satu-satunya sumber dan tidak ada host yang menyediakan pengaturan induk, HKCU berlaku seperti sumber terpilih lainnya.

Kunci lintas sumber tersebut mencakup:

  • sandbox.network.allowManagedDomainsOnly dan sandbox.filesystem.allowManagedReadPathsOnly: nilai true di sumber admin mana pun mengaktifkan penguncian. Selama penguncian aktif, Claude Code menggabungkan (union) allowlist yang dikuncinya, yaitu sandbox.network.allowedDomains bersama dengan aturan allow WebFetch(domain:...), atau sandbox.filesystem.allowRead, di seluruh sumber admin. Tanpa penguncian, Claude Code memperlakukan allowlist seperti kunci lainnya, sehingga di bawah "first-wins" allowlist dari sumber admin yang tidak dipilih akan diabaikan

  • allowAllClaudeAiMcps

  • allowManagedMcpServersOnly: nilai true di sumber admin mana pun mengaktifkan penguncian allowlist MCP. Selama penguncian aktif, daftar allowedMcpServers terkelola berasal dari sumber admin dengan peringkat tertinggi yang mengaturnya. Daftar yang dikelola server menggantikan daftar dari sumber yang lebih rendah alih-alih digabungkan dengannya.

    Jika tidak ada sumber admin yang mengatur daftar, setiap server yang lolos denylist akan dimuat, kecuali jika pengaturan induk menyediakan daftar.

    Tanpa penguncian, Claude Code membaca allowedMcpServers dari sumber terkelola yang diterapkannya, sehingga di bawah "first-wins" daftar dari sumber admin yang tidak dipilih akan diabaikan. Memerlukan Claude Code v2.1.273 atau lebih baru

  • deniedMcpServers dan disableClaudeAiConnectors: entri atau nilai true di sumber admin mana pun berlaku. Memerlukan Claude Code v2.1.273 atau lebih baru

  • Path biner sandbox sandbox.bwrapPath dan sandbox.socatPath

  • Biner ripgrep sandbox, sandbox.ripgrep

  • sandbox.filesystem.disabled dan sandbox.network.strictAllowlist

  • useAutoModeDuringPlan, syncClaudeAiSkills, dan syncClaudeAiPlugins, di mana nilai false dari sumber admin mana pun mematikan perilaku tersebut. Setiap kunci hanya dapat menolak:

    • Nilai false di pengaturan user atau local milik developer juga mematikannya
    • Untuk useAutoModeDuringPlan, nilai false di file user atau local yang dikecualikan developer dengan opsi seperti --setting-sources tidak dihitung. Pengabaian file yang dikecualikan memerlukan Claude Code v2.1.314 atau lebih baru
  • enableArtifact, di mana nilai false dari sumber admin mana pun mematikan tool Artifact. Nilai false di pengaturan user, project, atau local milik developer juga mematikannya, dan tidak ada sumber yang dapat menyalakannya kembali; lihat nilai tingkat lebih rendah mana yang tetap dihitung. Memerlukan Claude Code v2.1.242 atau lebih baru

  • maxEffortLevel, di mana batas terendah di sumber admin mana pun yang berlaku. Jika developer mengatur batas yang lebih rendah di pengaturannya sendiri atau dengan --settings, Claude Code menerapkan batas tersebut; tidak ada sumber yang dapat menaikkan batas. Memerlukan Claude Code v2.1.267 atau lebih baru

  • Opt-out commit-trailer di attribution, atau di includeCoAuthoredBy yang sudah deprecated, dari tingkat mana pun

  • forceRemoteSettingsRefresh

  • env, digabungkan per variabel di seluruh sumber admin: setiap variabel berasal dari sumber dengan prioritas tertinggi yang mendefinisikannya, sehingga sumber yang lebih rendah mengisi variabel yang tidak diatur oleh sumber yang lebih tinggi. Beberapa variabel mengikuti aturannya sendiri; Pengecualian per kunci di seluruh sumber terkelola menyebutkan masing-masing. Memerlukan Claude Code v2.1.223 atau lebih baru. Sebelum v2.1.223, Claude Code hanya menerapkan seluruh blok env dari sumber yang dipilih

allowedProviders memiliki aturannya sendiri: catatan Cakupan pada entrinya menjelaskan bagaimana daftar yang diatur di mesin digabungkan dengan daftar yang dikelola server. Memerlukan Claude Code v2.1.285 atau lebih baru.

Ketika sebuah sumber admin mengatur allowManagedMcpServersOnly atau daftar allowedMcpServers dan nilai tersebut bukan nilai yang berlaku, /status dan claude doctor menyebutkan sumber dan kunci tersebut.

Sumber terkelola mana yang menyediakan kunci login

Pada mesin dengan kebijakan MDM atau file pengaturan terkelola, Claude Code mengambil kunci login dari kebijakan atau file tersebut, bahkan untuk kunci yang juga diatur oleh pengaturan jarak jauh. Pengaturan dari konsol admin claude.ai merupakan pengaturan jarak jauh, jadi atur kunci login seperti forceLoginOrgUUID di kebijakan MDM atau file.

Jika sebuah mesin memiliki kebijakan MDM sekaligus file pengaturan terkelola, gunakan kebijakan MDM. Ketika kebijakan tersebut mengatur kunci kebijakan apa pun, Claude Code mengabaikan kunci login di file, bahkan di bawah managedSourcesBehavior: "merge".

Kunci login tersebut adalah:

  • forceLoginOrgUUID dan forceLoginMethod yang diatur ke "claudeai" atau "console": jika kebijakan atau file tidak menyertakan salah satu kunci, nilai di pengaturan jarak jauh yang berlaku. Sampai setiap klien menjalankan v2.1.299 atau lebih baru, atur juga kunci-kunci tersebut di pengaturan yang dikelola server dari claude.ai
  • Kunci login gateway: Claude Code tidak menggunakan nilai di pengaturan jarak jauh untuk proses masuk gateway

Menyusun setiap sumber terkelola

Agar Claude Code menerapkan setiap sumber admin yang dikirimkan organisasi Anda, atur managedSourcesBehavior ke "merge" di sumber dengan peringkat tertinggi yang Anda deploy. Claude Code membaca kunci tersebut hanya dari sumber dengan peringkat tertinggi yang memuat kunci tersebut atau kunci kebijakan, sehingga sumber yang lebih rendah tidak dapat mengikutsertakan dirinya untuk digabungkan dengan sumber di atasnya, dan mesin yang tidak pernah menerima pengaturan yang dikelola server juga memerlukan kunci tersebut di profil MDM-nya. Registri HKCU yang dapat ditulis pengguna tidak pernah digabungkan dengan sumber lain. Memerlukan Claude Code v2.1.242 atau lebih baru.

Di bawah "merge", Claude Code menambahkan entri daftar dari sumber yang lebih rendah, seperti aturan permissions.allow dan hook, ke dalam kebijakan, jadi aktifkan hanya ketika setiap sumber yang berperingkat di bawah sumber tertinggi Anda berada di bawah kendali administrator.

Tabel ini menunjukkan bagaimana Claude Code menggabungkan setiap jenis kunci di bawah "merge". Entri managedSourcesBehavior menyebutkan setiap kunci di tiga baris: allowlist pembatasan, nilai yang diambil utuh, dan kunci yang hanya dibaca dari sumber dengan peringkat tertinggi.

Jenis kunci Cara Claude Code menggabungkannya Contoh
Daftar Menggabungkan entri dari setiap sumber permissions.allow, hooks, sandbox.network.allowedDomains, deniedMcpServers, deniedModels
Kunci penguncian Menerapkan nilai paling ketat yang diatur oleh sumber mana pun; nilai yang lebih longgar hanya berlaku dari sumber dengan peringkat tertinggi allowManagedHooksOnly, permissions.disableBypassPermissionsMode, crossSessionInbound, availableModelsMatch
Allowlist pembatasan Mengambil daftar secara utuh dari sumber dengan peringkat tertinggi yang mengaturnya, tanpa menambahkan entri dari sumber yang lebih rendah availableModels, allowedMcpServers, strictKnownMarketplaces, allowedChannelPlugins, dan rantai fallbackModel
Nilai yang diambil utuh Mengambil nilai secara utuh dari sumber dengan peringkat tertinggi yang mengaturnya, tanpa menggabungkan entri atau field dari sumber yang lebih rendah sandbox.credentials.awsPairs, sandbox.ripgrep
Server MCP yang disediakan Menggabungkan nama server dari setiap sumber; ketika dua sumber mengatur nama yang sama, menerapkan seluruh entri dari sumber dengan peringkat lebih tinggi managedMcpServers
Kunci yang hanya dibaca dari sumber dengan peringkat tertinggi Mengabaikan kunci di setiap sumber yang lebih rendah, bahkan ketika sumber dengan peringkat tertinggi tidak mengaturnya modelPicker, permissions.defaultMode, dan helper kredensial seperti apiKeyHelper
env Digabungkan per variabel di seluruh sumber admin di bawah kedua pengaturan, seperti yang dijelaskan di Kunci yang dibaca dari setiap sumber admin
Kunci login Di bawah kedua pengaturan, mengambilnya dari kebijakan MDM atau file pengaturan terkelola, mana pun yang berperingkat lebih tinggi dan memuat kunci kebijakan, mendahului pengaturan jarak jauh forceLoginOrgUUID, forceLoginMethod, dan kunci login gateway
Setiap kunci lainnya Mengambil nilai dari sumber dengan peringkat tertinggi yang mengaturnya model, cleanupPeriodDays

Untuk memastikan sumber mana yang digabungkan di sebuah mesin, baca baris Setting sources di /status; bagian tersebut menjelaskan arti setiap label.

Menghitung kebijakan dengan program helper

policyHelper adalah executable yang disebutkan oleh kebijakan MDM atau file pengaturan terkelola Anda, dan Claude Code menjalankannya untuk menghitung pengaturan terkelola saat startup. Ketika sumber yang dipilih mengonfigurasinya dan helper mengeluarkan objek managedSettings, output tersebut mengubah apa yang dibaca Claude Code:

Untuk mengetahui eksekusi helper mana yang dianggap gagal, dan apa yang dilakukan Claude Code ketika terjadi kegagalan, lihat Kegagalan helper.

Mengizinkan host penyemat menambahkan kebijakan

Ketika aplikasi lain meluncurkan Claude Code, seperti Claude Desktop, ekstensi IDE, atau aplikasi Agent SDK, host tersebut dapat meneruskan pengaturan terkelolanya sendiri melalui opsi managedSettings pada SDK. Claude Code menyebutnya pengaturan induk.

Secara default, Claude Code mengabaikan pengaturan induk setiap kali ada sumber admin: pengaturan yang dikelola server, kebijakan MDM atau tingkat OS, atau file pengaturan terkelola.

Agar Claude Code menggabungkan pengaturan induk bersama sumber admin, atur parentSettingsBehavior ke "merge" di sumber terkelola dengan prioritas tertinggi; Claude Code membaca kunci tersebut hanya dari sumber itu.

Claude Code kemudian hanya mempertahankan nilai host yang membatasi apa yang dapat dilakukan Claude, dengan satu celah yang perlu diketahui: kecuali Anda juga mengatur kunci penguncian allowManaged*Only, aturan allow dan allowlist sandbox milik host tetap berlaku. Lihat Membatasi pengaturan induk untuk kunci penguncian tersebut.

policyHelper dapat mematikan penggabungan induk terlepas dari kunci ini; entrinya menjelaskan kapan.

Claude Code juga menerapkan pemeriksaan berikut pada nilai yang disediakan induk secara tersendiri:

  • Ketika sumber admin mana pun mengatur allowManagedPermissionRulesOnly, Claude Code membuang aturan allow dan additionalDirectories yang disediakan induk saat membacanya, bahkan ketika sumber dengan prioritas lebih tinggi tidak mengatur kunci tersebut. Efek kunci tersebut pada aturan izin Anda sendiri berasal dari pengaturan terkelola yang diterapkan Claude Code, atau dari pengaturan induk yang telah Anda pilih untuk digabungkan

  • Claude Code memberlakukan nilai forceLoginOrgUUID atau allowedMcpServers di pengaturan terkelola yang diterapkannya dan memblokir nilai yang disediakan induk. Jika Anda mengirimkan lebih dari satu sumber terkelola, lihat sumber mana yang menyediakan forceLoginOrgUUID.

    Pada Claude Code v2.1.273 atau lebih baru, selama allowManagedMcpServersOnly aktif, daftar allowedMcpServers dari sumber admin dengan peringkat tertinggi yang mengaturnya berlaku dan memblokir daftar milik induk, sebagai kunci lintas sumber. Daftar milik induk hanya berlaku ketika tidak ada sumber admin yang mengaturnya. Entri managedSourcesBehavior menjelaskan sumber mana yang menyediakan setiap kunci di bawah "merge". Sebelum v2.1.223, nilai di sumber admin mana pun memblokir nilai milik induk

  • Untuk availableModels, Claude Code memberlakukan nilai di pengaturan terkelola yang diterapkannya dan memblokir daftar yang disediakan induk

  • Untuk strictKnownMarketplaces, Claude Code juga memberlakukan daftar di pengaturan terkelola yang diterapkannya dan memblokir daftar yang disediakan induk. Daftar milik induk hanya berlaku ketika tidak ada sumber terkelola yang diterapkan yang mengaturnya. Memerlukan Claude Code v2.1.282 atau lebih baru

  • Untuk allowedProviders, daftar di sumber terkelola yang dipilih memblokir daftar yang disediakan induk, dan di bawah opt-in "merge" pada managedSourcesBehavior, daftar di sumber admin mana pun juga memblokirnya. Memerlukan Claude Code v2.1.285 atau lebih baru

  • blockedMarketplaces yang disediakan induk berlaku sebagai tambahan untuk blocklist apa pun yang diatur oleh sumber terkelola. Memerlukan Claude Code v2.1.282 atau lebih baru

Mempertahankan akses folder Cowork ketika hanya aturan terkelola yang berlaku

Cowork di aplikasi Claude Desktop menjalankan sesinya di atas Claude Code dan memberikan setiap sesi akses ke folder kerjanya, seperti folder yang dihubungkan pengguna, melalui aturan allow yang disediakannya saat meluncurkan sesi. Ketika kebijakan terkelola Anda mengatur allowManagedPermissionRulesOnly, Claude Code hanya mempertahankan aturan allow di kebijakan terkelola: Claude Code membuang aturan allow yang disediakan host sebagai pengaturan induk, sebagai --allowedTools, atau di file pengaturan, sehingga penulisan ke folder-folder tersebut kehilangan pra-persetujuannya. Dalam sesi Cowork yang meminta konfirmasi sebelum pengeditan, Cowork tidak dapat menampilkan dialog izin, dan Claude melaporkan setiap penulisan sebagai diblokir karena path di-resolve ke lokasi yang dilindungi atau ke path di luar folder yang terhubung.

Untuk memulihkan penulisan, tambahkan aturan allow untuk folder-folder tersebut ke sumber terkelola yang dipilih Claude Code di mesin-mesin tersebut: pada armada yang dikelola MDM, itu adalah kebijakan MDM, bukan file pengaturan terkelola terpisah. Contoh ini menggunakan bentuk file, dan kebijakan MDM menerima kunci yang sama. Contoh ini tetap mengatur allowManagedPermissionRulesOnly dan mengizinkan pengeditan di bawah folder CoworkProjects di direktori home setiap pengguna; ganti path tersebut dengan folder yang dihubungkan pengguna Anda:

{
  "allowManagedPermissionRulesOnly": true,
  "permissions": {
    "allow": [
      "Edit(~/CoworkProjects/**)"
    ]
  }
}

Setelah Anda men-deploy kebijakan tersebut, Claude dapat menyimpan file di bawah folder tersebut dalam sesi Cowork yang baru. Aturan Read dan Edit membahas sintaks path, termasuk bentuk // untuk path absolut.

Apa yang dapat diubah oleh developer

File pengaturan milik developer sendiri, nilai --settings, dan file proyek tidak pernah menimpa nilai terkelola; pengecualian hanya memungkinkan nilai tingkat lebih rendah yang lebih ketat untuk dihitung. Kasus-kasus berikut berada di luar aturan tersebut:

  • Model untuk sebuah sesi: model terkelola adalah default, bukan penguncian. --model dan ANTHROPIC_MODEL tetap memilih model untuk sesi tersebut, jadi deploy availableModels untuk membatasi pilihan.
  • Jendela auto-compact untuk sebuah sesi: autoCompactWindow terkelola juga merupakan default. Flag --autocompact dan variabel CLAUDE_CODE_AUTO_COMPACT_WINDOW tetap mengatur jendela auto-compact untuk sesi tersebut.
  • Hak admin lokal: developer yang merupakan administrator di mesin tersebut dapat mengedit sumber terkelola itu sendiri, itulah sebabnya alat MDM dapat men-deploy ulang profil atau file sesuai jadwal dan mengapa registri HKLM serta domain preferensi terkelola macOS ada.
  • Cache yang dikelola server: pengaturan yang dikelola server berasal dari server Anthropic, dan pengeditan pada cache lokal hanya bertahan sampai pengambilan berikutnya yang berhasil.
  • Alat lain: pengaturan terkelola hanya mengikat Claude Code. Developer yang memanggil API dari alat lain tidak tunduk padanya.

Periksa bahwa kebijakan sedang berlaku

Seorang pengembang melaporkan bahwa kebijakan tidak diterapkan, atau Anda ingin mengonfirmasi bahwa peluncuran telah berhasil sebelum mendorongnya ke armada. Dua perintah pada mesin tersebut menjawabnya: /status menunjukkan sumber terkelola mana yang dipilih Claude Code, dan claude doctor mencantumkan apa yang dijatuhkannya.

Baca sumber di /status

Pada mesin pengembang, jalankan /status di dalam Claude Code dan baca baris Setting sources. Ketika sumber terkelola berlaku, baris tersebut mencantumkan Enterprise managed settings dengan sumber yang dipilih Claude Code dalam tanda kurung:

  • (remote): pengaturan yang dikelola server dari claude.ai atau gateway
  • (plist) atau (HKLM): kebijakan MDM atau OS
  • (file), (drop-ins), atau (file + drop-ins): managed-settings.json, direktori drop-in, atau keduanya
  • (remote + file, merged), atau daftar lain yang diakhiri dengan , merged: organisasi Anda menyusun setiap sumber terkelola, dan Claude Code menggabungkan sumber yang tercantum ke dalam kebijakan. Sumber yang lebih rendah masih dapat menyediakan variabel env tanpa muncul dalam daftar. Memerlukan Claude Code v2.1.242 atau lebih baru
  • (HKCU): fallback registri yang dapat ditulis pengguna
  • (parent process): host penyematan menyediakan pengaturan pembatasan
  • (helper): policyHelper yang dikonfigurasi oleh sumber MDM atau file yang dipilih

Ketika Claude Code menemukan sumber terkelola pada mesin dan tidak memilihnya, baris kedua, Skipped sources, menamai setiap sumber tersebut. Bacalah untuk membedakan kebijakan yang tidak pernah mencapai mesin dari kebijakan yang mencapainya dan yang sumber prioritas lebih tinggi mengesampingkan. Memerlukan Claude Code v2.1.242 atau lebih baru.

Ketika kebijakan tidak diterapkan, baris Setting sources memberi tahu Anda masalah mana dari dua masalah yang Anda miliki:

  • Baris hilang: Claude Code tidak menemukan sumber terkelola yang memberikan kunci kebijakan.

    Jika Anda menerapkan file pengaturan terkelola, periksa bahwa file tersebut berada di jalur untuk OS dan bahwa file tersebut berisi kunci kebijakan daripada hanya kunci kontrol. File yang bukan JSON yang valid tidak menghasilkan status ini; Claude Code menolak untuk memulai sebagai gantinya.

    Ketika Anda justru menerapkan melalui pengaturan yang dikelola server, jalankan claude doctor, yang melaporkan hasil pengambilan.

  • Baris menamai sumber selain yang Anda terapkan: sumber prioritas lebih tinggi ada dan Claude Code mengabaikan milik Anda, dan Skipped sources mencantumkannya. Bagaimana Claude Code menggabungkan sumber terkelola memberikan urutan.

Temukan entri yang Claude Code jatuhkan

Jika file pengaturan terkelola, profil MDM, nilai registri, atau payload yang dikelola server gagal validasi skema, Claude Code terlebih dahulu melewati setiap entri individual yang dapat diperbaiki, seperti satu aturan izin yang tidak valid, dan memperingatkan tentang masing-masing. Claude Code kemudian menjatuhkan nilai apa pun yang masih gagal, kecuali nilai tersebut termasuk dalam salah satu kunci yang gagal tertutup sebagai gantinya.

Claude Code lebih ketat dengan managedSettings yang policyHelper memancarkan: Claude Code melakukan perbaikan entri yang sama, tetapi pelanggaran skema apa pun yang bertahan gagal seluruh jalankan helper, dan saat startup Claude Code menolak untuk memulai, sama seperti untuk helper yang keluar dengan non-zero.

Ketika file pengaturan terkelola, file drop-in, plist MDM, atau nilai registri HKLM ada tetapi tidak dapat diuraikan sebagai objek JSON, Claude Code menolak untuk memulai dan mencetak kesalahan yang menamai sumber, bahkan ketika sumber admin lain memberikan kebijakan yang valid. Setiap sumber gagal dengan cara ini ketika:

  • File pengaturan terkelola atau file drop-in: file bukan JSON yang valid, atau tingkat atasnya bukan objek
  • Plist MDM: plutil macOS melaporkan plist yang salah bentuk, atau konten yang dikonversi bukan objek JSON
  • Nilai registri HKLM: nilai Settings bukan string, kosong, atau tidak menyimpan objek JSON

Tiga status sumber tidak menyebabkan penolakan ini:

  • File, profil, atau nilai registri yang tidak ada bukan kegagalan; Claude Code berjalan tanpa sumber tersebut.
  • File pengaturan terkelola yang kosong dihitung sebagai {}.
  • Nilai yang salah bentuk dalam kunci registri HKCU yang dapat ditulis pengguna tidak pernah memblokir peluncuran. Claude Code melaporkannya sebagai pemberitahuan di /status dan claude doctor sebagai gantinya.

Ketika file pengaturan terkelola, file drop-in, direktori managed-settings.d/, profil MDM, atau nilai registri HKLM ada tetapi tidak dapat dibaca, dan tidak ada sumber admin yang menyediakan kebijakan, apa yang terjadi tergantung pada alasan pembacaan gagal:

  • Jika sistem operasi menolak pembacaan, misalnya pada file hanya root, setiap sesi dimulai tanpa kebijakan sumber tersebut. /status dan claude doctor mencatat kegagalan, dan jalankan dengan -p juga mencetaknya ke stderr.
  • Untuk kegagalan pembacaan lainnya, seperti kesalahan I/O, setiap sesi keluar saat startup dengan pesan untuk menghubungi administrator.

Untuk menemukan entri yang dijatuhkan, lihat di salah satu dari tiga tempat:

  • Sesi interaktif menampilkan dialog saat startup yang mencantumkan entri yang tidak valid.
  • Jalankan non-interaktif dengan -p mencetak ringkasan ke stderr.
  • claude doctor mencantumkan setiap entri yang tidak valid dengan sumber dan bidangnya.

Kunci yang gagal tertutup

Ketika sumber terkelola menetapkan kunci tingkat atas yang memiliki nilai pembatasan tunggal, seperti allowManagedPermissionRulesOnly, disableAutoMode, atau skipDangerousModePermissionPrompt, ke sesuatu yang Claude Code tidak dapat membaca, kunci membaca sebagai nilai tersebut sampai Anda memperbaikinya. Laporan mengatakan kunci was present but invalid dan menamai nilai yang Claude Code perlakukan sebagai. Untuk kunci di dalam sandbox, lihat Nilai yang tidak valid di dalam sandbox.

Kasus-kasus ini tidak gagal tertutup:

  • null menghapus kunci.
  • disableAllHooks yang tidak valid, bahkan boolean yang dikutip, dijatuhkan dengan peringatan, karena memberlakukan true juga akan membongkar hook yang pengaturan terkelola Anda sendiri terapkan.
  • Untuk setiap kunci boolean lainnya yang aturan cakup, string "true" atau "false" membaca sebagai boolean tersebut, dengan pemberitahuan di /status meminta Anda untuk menghapus tanda kutip.

Claude Code memperbaiki blok permissions, autoMode, worktree, dan attribution per bidang daripada menjatuhkan seluruhnya:

  • Kunci kunci di dalamnya, seperti permissions.disableBypassPermissionsMode, membaca sebagai nilai pembatasannya.
  • permissions.defaultMode yang tidak valid membaca sebagai default.
  • Sementara daftar deny atau ask di permissions tidak dapat dibaca sama sekali, Claude Code menahan allow dan additionalDirectories, sehingga hibah tidak pernah diterapkan tanpa pembatasan yang ditulis di sebelahnya. Laporan menamai setiap hibah yang ditahan dan daftar yang tidak dapat dibaca.
  • Di autoMode, daftar soft_deny atau hard_deny yang tidak dapat dibaca, atau yang kehilangan entri yang tidak valid, menahan allow dan environment dengan cara yang sama.

Aturan gagal-tertutup untuk kunci dengan nilai pembatasan tunggal dan perbaikan per-bidang memerlukan Claude Code v2.1.282 atau lebih baru.

Kunci-kunci ini memiliki fallback mereka sendiri:

Bidang Perilaku ketika ada tetapi tidak valid
allowedMcpServers Diberlakukan sebagai allowlist kosong sampai nilai diperbaiki, sehingga tidak ada server MCP yang ditambahkan pengguna yang diterima. Server yang organisasi Anda berikan melalui managedMcpServers masih dimuat, dan server managed-mcp.json dimuat sesuai Server yang melewati pemeriksaan allowlist. Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan.
allowedProviders Diberlakukan sebagai allowlist kosong sampai nilai diperbaiki, sehingga setiap penyedia API ditolak dan Claude Code tidak memulai pada mesin. Jika hanya entri individual yang bukan nama penyedia yang dikenal, Claude Code menjatuhkan dan melaporkan entri tersebut dan memberlakukan sisanya.
allowedHttpHookUrls Claude Code memberlakukan allowlist terkelola kosong sampai Anda memperbaiki nilai, sehingga hook HTTP berjalan hanya jika file pengaturan lain mencantumkan URL-nya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri tersebut dan memberlakukan sisanya.
httpHookAllowedEnvVars Claude Code memberlakukan allowlist terkelola kosong sampai Anda memperbaiki nilai, sehingga variabel header diinterpolasi hanya jika file pengaturan lain menamakannya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri tersebut dan memberlakukan sisanya.
allowedChannelPlugins Claude Code memberlakukan allowlist kosong sampai Anda memperbaiki nilai, sehingga tidak ada plugin channel yang dilewatkan ke --channels yang diterima. Jika hanya entri individual yang tidak valid, Claude Code melepas entri tersebut dan memberlakukan sisanya.
strictKnownMarketplaces Diberlakukan sebagai allowlist kosong sampai nilai diperbaiki, sehingga tidak ada sumber marketplace yang diterima. Entri individual yang tidak valid atau tidak dapat diberlakukan, seperti regex hostPattern yang tidak dikompilasi, dilepas dan subset yang valid diberlakukan.
availableModels Diberlakukan sebagai allowlist kosong sampai diperbaiki, sehingga hanya model Default yang tersedia; entri non-string dilepas dan subset yang valid diberlakukan.
availableModelsMatch Diperlakukan sebagai exact sampai nilai diperbaiki.
forceLoginOrgUUID Tidak ada organisasi yang diizinkan untuk masuk sampai nilai diperbaiki.
gatewayInternalNetworks Ketika nilai yang tidak valid berasal dari sumber terkelola tertinggi pada mesin, /login menolak setiap gateway cloud masuk baru pada mesin tersebut sampai nilai diperbaiki.
crossSessionInbound Diperlakukan sebagai refuse, nilai paling pembatas, sehingga pesan lintas sesi masuk ditolak sampai nilai diperbaiki. Pengembang melihat peringatan.
deniedMcpServers Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan, karena menolak setiap server akan memblokir server yang kebijakan tidak pernah namai.
deniedModels Entri non-string dilepas dan sisa daftar diberlakukan. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan dan tidak memblokir model apa pun sampai diperbaiki.
blockedMarketplaces Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan. Entri yang diuraikan tetapi tidak pernah dapat cocok, seperti regex hostPattern yang tidak dikompilasi, disimpan dengan peringatan. Ini tidak memblokir apa pun sampai diperbaiki, tetapi pembatasan marketplace tetap aktif. Nilai yang sepenuhnya tidak valid dijatuhkan dengan peringatan, karena memblokir setiap marketplace akan memblokir sumber yang kebijakan tidak pernah namai.
sandbox Ketika satu nilai di dalam blok tidak valid, Claude Code tidak menjatuhkan seluruh blok. Untuk apa yang terjadi pada setiap jenis bidang yang tidak valid, lihat Nilai yang tidak valid di dalam sandbox.
sandbox.credentials Entri yang tidak valid yang dapat dipulihkan diturunkan ke mode: "deny" dengan peringatan; yang tidak dapat dipulihkan dilepas; entri yang valid tetap diberlakukan. Lihat entri kredensial yang tidak valid.
strictPluginOnlyCustomization Diperlakukan sebagai true, mengunci keempat surface, ketika nilai bukan boolean maupun array. Entri array yang versi ini tidak mengenali sebagai surface tidak mengunci apa pun; catatan status menghitung entri tersebut sehingga Anda dapat memeriksanya untuk kesalahan ketik.
enabledPlugins Entri yang tidak valid dijatuhkan dengan peringatan dan entri lainnya tetap diberlakukan. Nilai yang bukan peta ID plugin, atau yang setiap entrinya tidak valid, dijatuhkan seluruhnya dengan peringatan.

allowedHttpHookUrls dan httpHookAllowedEnvVars digabungkan di seluruh file pengaturan, sehingga entri dalam pengaturan pengguna, proyek, atau lokal Anda masih berlaku sementara daftar terkelola kosong.

Fallback untuk kedua kunci tersebut dan untuk allowedChannelPlugins memerlukan Claude Code v2.1.267 atau lebih baru; versi sebelumnya menjatuhkan seluruh kunci ketika nilainya atau entri apa pun tidak valid. Fallback strictKnownMarketplaces dan blockedMarketplaces memerlukan Claude Code v2.1.277 atau lebih baru; versi sebelumnya menjatuhkan seluruh kunci ketika nilainya atau entri apa pun tidak valid. Fallback strictPluginOnlyCustomization dan enabledPlugins memerlukan Claude Code v2.1.282 atau lebih baru.

requiredMinimumVersion dan requiredMaximumVersion gagal terbuka sesuai desain: nilai yang tidak valid dijatuhkan daripada diberlakukan.

Toleransi ini hanya berlaku untuk pengaturan terkelola. File pengaturan pengguna, proyek, dan lokal tetap ketat: file yang JSON atau bentuk tingkat atasnya gagal validasi ditolak seluruhnya dan dilaporkan, dan entri individual yang gagal, seperti aturan izin yang salah bentuk, dilewati dengan peringatan sementara sisa file berlaku.

Nilai yang tidak valid di dalam sandbox

Ketika satu nilai dalam blok sandbox terkelola Anda tidak valid, Claude Code tidak menjatuhkan seluruh blok, karena Claude Code memvalidasi setiap bidang sendiri. Penanganan per-bidang ini memerlukan Claude Code v2.1.283 atau lebih baru. Pada versi sebelum v2.1.283, Claude Code menjatuhkan setiap bidang sandbox kecuali credentials ketika nilai di luar credentials tidak valid.

Peringatan yang Anda dapatkan untuk bidang yang tidak valid menamai bidang dan memberi tahu Anda apa yang terjadi padanya. Apa yang terjadi tergantung pada apa yang dikendalikan bidang:

  • Jika Anda menetapkan kunci Boolean ke "true" atau "false" yang dikutip, nilai dihitung sebagai Boolean tersebut. Alih-alih peringatan, /status menampilkan pemberitahuan meminta Anda untuk menghapus tanda kutip.
  • Jika failIfUnavailable tidak valid, Claude Code menjatuhkan nilai daripada memperlakukannya sebagai true, sehingga nilai yang tidak dapat dibaca tidak pernah menghentikan sesi dari memulai di seluruh armada Anda.
  • Claude Code memperlakukan setiap Boolean yang tidak valid lainnya sebagai nilai yang membuat sandbox paling ketat sampai Anda memperbaikinya. Kunci yang mengaktifkan sandbox atau salah satu pembatasannya, seperti enabled atau network.allowManagedDomainsOnly, dihitung sebagai true. Kunci yang melonggarkannya, seperti allowUnsandboxedCommands, dihitung sebagai false.
  • Dalam daftar di luar credentials, seperti excludedCommands atau network.allowedDomains, Claude Code menjatuhkan entri yang tidak valid dan menyimpan sisa daftar. Daftar yang bukan array, atau yang tidak memiliki entri yang valid, tidak berlaku sama sekali.
  • Sementara network.deniedDomains atau entri apa pun di dalamnya tidak valid, Claude Code juga menahan network.allowedDomains, sehingga allowlist terkelola tidak memberikan apa pun sampai Anda memperbaiki daftar penolakan.
  • Sementara filesystem.denyRead, filesystem.denyWrite, atau entri apa pun di salah satu tidak valid, Claude Code juga menahan filesystem.allowRead dan filesystem.allowWrite sampai Anda memperbaiki daftar penolakan.

Kunci yang hanya sumber terkelola yang dapat atur

Claude Code membaca kunci berikut hanya dari sumber terkelola; menempatkannya dalam file pengaturan pengguna atau proyek tidak berpengaruh.

Sebagian besar adalah kunci: nilai yang dikunci, seperti aturan izin atau sandbox.network.allowedDomains, adalah kunci biasa yang dapat diatur tingkat apa pun, dan kunci memberi tahu Claude Code untuk menghormati hanya nilai terkelola.

Tabel mencakup kontrol izin, plugin, dan pengiriman. Untuk kunci apa pun yang tidak tercantum di sini, kolom Scope dari indeks referensi pengaturan mengatakan apakah itu terkelola saja.

Pengaturan Deskripsi
allowAllClaudeAiMcps Muat konektor claude.ai yang Claude Code ambil sendiri bersama managed-mcp.json yang diterapkan alih-alih menekannya
allowedChannelPlugins Daftar izin plugin channel yang dapat mendorong pesan. Mengganti daftar izin Anthropic default ketika diatur. Memerlukan channelsEnabled: true. Lihat Batasi plugin channel mana yang dapat berjalan
allowManagedHooksOnly Ketika true, membatasi hook mana yang berjalan; lihat apa yang berjalan di bawah allowManagedHooksOnly untuk daftar efek lengkap
allowManagedMcpServersOnly Ketika true, hanya allowedMcpServers dari pengaturan terkelola yang dihormati. deniedMcpServers masih merge dari semua sumber. Lihat Kunci yang dibaca dari setiap sumber admin untuk sumber terkelola mana yang dapat mengaturnya, dan Konfigurasi MCP terkelola
allowManagedPermissionRulesOnly Membuat pengaturan terkelola satu-satunya sumber pengaturan aturan izin. Entri mencantumkan setiap sumber yang diabaikannya
blockedMarketplaces Daftar blokir sumber marketplace. Sumber yang diblokir diperiksa sebelum mengunduh, jadi mereka tidak pernah menyentuh filesystem. Lihat pembatasan marketplace terkelola
channelsEnabled Izinkan channels untuk organisasi. Lihat kontrol enterprise untuk default di setiap paket
disableCommandPluginSources Ketika true, memblokir sumber plugin command sepenuhnya, jadi perintah yang dideklarasikan marketplace tidak pernah berjalan. Juga memblokir perintah headersHelper marketplace, kecuali untuk marketplace yang pengaturan terkelola sendiri deklarasikan. Ketika tidak diatur, mengikuti allowManagedHooksOnly. Memerlukan Claude Code v2.1.229 atau lebih baru, dan blok headersHelper memerlukan v2.1.238 atau lebih baru
disableSideloadFlags Tolak flag --plugin-dir, --plugin-url, --agents, dan --mcp-config saat startup. Dalam sesi cloud, Claude Code malah memulai sesi dan menghapus server yang dikirimkan server --mcp-config, selain dari pengecualian yang entri referensinya cantumkan. Memerlukan Claude Code v2.1.193 atau lebih baru
forceRemoteSettingsRefresh Ketika true, memblokir startup CLI sampai pengaturan terkelola jarak jauh diambil segar dan keluar jika pengambilan gagal. Lihat penegakan fail-closed
managedMcpServers Server MCP jarak jauh yang disediakan untuk setiap pengguna bersama milik mereka sendiri. Ini menyediakan server daripada mengunci apa pun. Lihat Sediakan server melalui pengaturan terkelola. Memerlukan Claude Code v2.1.259 atau lebih baru
managedSourcesBehavior Apakah Claude Code menerapkan hanya sumber terkelola prioritas tertinggi atau menyusun setiap satu
parentSettingsBehavior Apakah pengaturan induk yang disediakan host merge di bawah kebijakan terkelola
pluginSuggestionMarketplaces Marketplace yang plugin-nya dapat disarankan Claude Code kepada pengguna di terminal
pluginTrustMessage Pesan khusus ditambahkan ke peringatan kepercayaan plugin yang ditampilkan sebelum instalasi
policyHelper Executable yang menghitung pengaturan terkelola saat startup; lihat Hitung pengaturan terkelola dengan pembantu kebijakan
sandbox.filesystem.allowManagedReadPathsOnly Ketika true, hanya jalur filesystem.allowRead dari pengaturan terkelola yang dihormati. denyRead masih merge dari semua sumber
sandbox.network.allowManagedDomainsOnly Hormati hanya allowedDomains terkelola dan aturan izin WebFetch(domain:...); blokir domain lain tanpa meminta
strictKnownMarketplaces Mengontrol sumber marketplace plugin mana yang pengguna dapat tambahkan dan instal plugin darinya. Lihat pembatasan marketplace terkelola
strictPluginOnlyCustomization Blokir skills, agents, hooks, dan server MCP dari sumber pengguna dan proyek; true mengunci keempat, array menamai yang mana
wslInheritsWindowsSettings Ketika diatur dalam registry HKLM atau file di bawah C:\Program Files\ClaudeCode, biarkan WSL membaca rantai kebijakan Windows, dan baca /etc/claude-code hanya ketika tidak ada dokumen admin Windows yang ada; entri memberikan urutan

[!NOTE]

Pada paket Team dan Enterprise, Owner mengaktifkan atau menonaktifkan Remote Control dan sesi cloud di seluruh organisasi dalam pengaturan admin Claude Code. Ketika Owner mematikan Remote Control, sesi yang sudah terhubung yang menjalankan Claude Code v2.1.286 atau lebih baru juga terputus. Setiap sesi terputus saat berikutnya sesi tersebut menyegarkan kebijakan organisasi Anda, sekitar sekali per jam. Untuk apa yang terjadi dalam sesi tersebut, lihat Remote Control was turned off by your organization's policy.

Remote Control dapat juga dinonaktifkan per perangkat dengan pengaturan disableRemoteControl. Sesi cloud tidak memiliki kunci pengaturan terkelola per perangkat.

Untuk memeriksa apakah pengaturan organisasi ini mencapai mesin tertentu, jalankan claude doctor di sana dan baca baris Organization policy, yang mengatakan di mana Claude Code memuat kebijakan atau mengapa tidak memuat. Memerlukan Claude Code v2.1.261 atau lebih baru. Dalam sesi yang berjalan, /status menunjukkan baris yang sama ketika kebijakan tidak memuat.

Matikan telemetri untuk organisasi Anda

Claude Code mengirimkan telemetri operasional Anthropic secara default pada sesi yang menggunakan API Anthropic, baik secara langsung, melalui gateway LLM, atau melalui ANTHROPIC_BASE_URL khusus; Perilaku default oleh penyedia API mengatakan penyedia mana yang mengirimkannya. Untuk mematikannya untuk setiap pengembang tanpa mengandalkan shell setiap orang, kirimkan DISABLE_TELEMETRY melalui blok env pengaturan terkelola Anda. Contoh ini menetapkan DISABLE_TELEMETRY untuk semua orang yang kebijakan jangkau:

{
  "env": {
    "DISABLE_TELEMETRY": "1"
  }
}

Claude Code menerapkan nilai 1 tanpa menunjukkan pengguna dialog persetujuan.

Jika Anda matikan telemetri, Claude Code berhenti mengirimkan data penggunaan yang memberi makan dasbor analitik organisasi Anda untuk pengembang yang kebijakan jangkau. Variabel juga mematikan pengambilan flag fitur untuk pengembang itu. Untuk Remote Control, lihat persyaratan Remote Control.

Di mana dan kapan kebijakan berlaku mengatakan mekanisme pengiriman mana yang menjangkau setiap permukaan, dan Ketersediaan platform mengatakan sesi mana yang melewatkan pengambilan pengaturan terkelola server.

Jika organisasi Anda menggunakan kunci enkripsi yang dikelola pelanggan dan merutekan Claude Code melalui gateway, Konfigurasi proxy dan gateway mengatakan mengapa sesi itu memerlukan variabel ini.

Lihat juga