SpyBara
Go Premium

managed-settings.md 2026-09-13 21:00 UTC to 2026-09-14 22:58 UTC

This page contains 2 additions and 0 deletions.

2026
Sat 12 03:02 Mon 14 22:58 Fri 18 23:58 Tue 22 23:59 Thu 24 22:57 Fri 25 23:58

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:

File pengaturan terkelola, profil MDM, atau konsol claude.ai menerapkan satu kebijakan untuk semua orang yang dijangkaunya. Untuk memberikan satu kelompok pengembang kebijakan yang berbeda, terapkan file atau profil yang berbeda ke kelompok itu; konsol claude.ai belum dapat menargetkan grup, sementara 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 sumber terkelola lain yang mengirimkan kunci kebijakan 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.

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, terlepas dari kunci yang Claude Code baca dari setiap sumber admin. Bagaimana Claude Code menggabungkan sumber terkelola mencakup opt-in yang menerapkan keduanya.

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

    Tabel cakupan permukaan membandingkan Cowork dengan permukaan lainnya.

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

  • Perubahan yang memerlukan persetujuan: terlepas dari 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.
  • 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

Bagaimana Claude Code menggabungkan sumber terkelola

Ketika organisasi Anda mengirimkan lebih dari satu sumber terkelola ke mesin yang sama, kunci managedSourcesBehavior memutuskan apa yang Claude Code lakukan dengan yang lain:

  • "first-wins", default: Claude Code menggunakan sumber peringkat tertinggi yang mengirimkan setidaknya satu kunci kebijakan dan mengabaikan sisanya daripada menggabungkannya, terlepas dari beberapa kunci dalam Kunci yang dibaca dari setiap sumber admin. Claude Code tidak menunjukkan peringatan untuk sumber yang dilewatkan; /status menamai sumber yang digunakan dan yang dilewatkan.
  • "merge": Claude Code menerapkan setiap sumber admin yang mengirimkan kunci kebijakan dan menggabungkannya berdasarkan jenis kunci: pada sebagian besar kunci nilai sumber peringkat lebih tinggi berlaku, daftar bersatu, dan kunci mengambil nilai paling ketat. Susun setiap sumber terkelola mengatakan di mana menetapkan kunci dan bagaimana setiap jenis kunci digabungkan. Memerlukan Claude Code v2.1.242 atau lebih baru.

Kedua pengaturan menentukan peringkat sumber dengan cara yang sama. Dua istilah berulang 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 yang itu tidak dihitung, dan Claude Code melanjutkan ke sumber berikutnya.
  • Sumber admin: salah satu dari tiga sumber pertama di bawah. Registry HKCU yang dapat ditulis pengguna bukan satu.

Claude Code memeriksa sumber dalam urutan ini, prioritas tertinggi terlebih dahulu:

  1. Pengaturan jarak jauh, dikirimkan dari claude.ai sebagai pengaturan terkelola server atau oleh gateway aplikasi Claude. Claude Code mengambil sumber ini hanya ketika sesi mengautentikasi ke API Anthropic secara langsung dengan login atau kunci yang memenuhi syarat, atau masuk ke gateway dengan /login. Pada penyedia lain, atau ketika ANTHROPIC_BASE_URL menunjuk ke tempat lain selain API Anthropic, dimulai dari sumber berikutnya
  2. Kebijakan MDM atau tingkat OS: plist macOS atau kunci registry HKLM
  3. File pengaturan terkelola, managed-settings.d/*.json dan managed-settings.json digabungkan bersama
  4. Registry HKCU, di Windows, dan di WSL setelah registry HKLM atau file pengaturan terkelola Windows mengaktifkan wslInheritsWindowsSettings dan nilai HKCU juga menetapkannya. Claude Code membacanya hanya ketika tidak ada sumber di atasnya yang mengirimkan kunci kebijakan dan tidak ada pengaturan induk yang disediakan host yang menyediakan kunci yang ketat

Diagram ini menunjukkan peringkat, dengan contoh kunci lintas sumber yang Claude Code baca dari tiga sumber pertama di bawah pengaturan apa pun:

Diagram menunjukkan empat sumber pengaturan terkelola yang diberi peringkat dari pengaturan jarak jauh di atas melalui MDM, file pengaturan terkelola, dan registry HKCU di bawah. Secara default sumber pertama dengan kunci kebijakan menyediakan kebijakan dan sisanya dilewatkan; dengan managedSourcesBehavior diatur untuk merge, setiap sumber admin dengan kunci kebijakan berkontribusi, digabungkan berdasarkan jenis kunci, dan registry HKCU tetap keluar. Panel samping menunjukkan bahwa kunci lintas sumber seperti kunci sandbox, forceRemoteSettingsRefresh, dan per-variabel env merge dibaca dari setiap sumber admin, yang mengecualikan registry HKCU. Diagram menunjukkan empat sumber pengaturan terkelola yang diberi peringkat dari pengaturan jarak jauh di atas melalui MDM, file pengaturan terkelola, dan registry HKCU di bawah. Secara default sumber pertama dengan kunci kebijakan menyediakan kebijakan dan sisanya dilewatkan; dengan managedSourcesBehavior diatur untuk merge, setiap sumber admin dengan kunci kebijakan berkontribusi, digabungkan berdasarkan jenis kunci, dan registry HKCU tetap keluar. Panel samping menunjukkan bahwa kunci lintas sumber seperti kunci sandbox, forceRemoteSettingsRefresh, dan per-variabel env merge dibaca dari setiap sumber admin, yang mengecualikan registry HKCU.

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 dalam sumber peringkat lebih rendah bahkan ketika sumber yang dipilih membiarkan kunci itu tidak diatur.

Beberapa kunci bekerja berbeda. Claude Code membacanya dari setiap sumber admin, sehingga kebijakan MDM atau file pengaturan terkelola peringkat lebih rendah masih dapat menetapkannya ketika sumber yang dipilih tidak. Claude Code meninggalkan registry HKCU yang dapat ditulis pengguna dari pemindaian itu; ketika HKCU adalah satu-satunya sumber dan tidak ada host yang menyediakan pengaturan induk, HKCU berlaku seperti sumber yang dipilih.

Kunci lintas sumber mencakup:

  • sandbox.network.allowManagedDomainsOnly dan sandbox.filesystem.allowManagedReadPathsOnly: true dalam sumber admin apa pun mengaktifkan kunci. Saat kunci aktif, Claude Code menyatukan daftar yang dikunci, sandbox.network.allowedDomains bersama dengan aturan izin WebFetch(domain:...), atau sandbox.filesystem.allowRead, di seluruh setiap sumber admin. Tanpa kunci, Claude Code memperlakukan daftar seperti kunci lainnya, jadi di bawah "first-wins" daftar sumber admin yang tidak dipilih diabaikan
  • allowAllClaudeAiMcps
  • Jalur biner sandbox sandbox.bwrapPath dan sandbox.socatPath
  • Biner sandbox ripgrep, sandbox.ripgrep
  • sandbox.filesystem.disabled dan sandbox.network.strictAllowlist
  • useAutoModeDuringPlan dan syncClaudeAiSkills, di mana false dari sumber admin apa pun mematikan perilaku. false dalam pengaturan pengguna atau lokal pengembang juga mematikannya; setiap kunci hanya dapat menolak
  • enableArtifact, di mana false dari sumber admin apa pun mematikan alat Artifact. false dalam pengaturan pengguna, proyek, atau lokal pengembang juga mematikannya, dan tidak ada sumber yang mengaktifkannya kembali; lihat nilai tingkat lebih rendah mana yang masih berlaku. Memerlukan Claude Code v2.1.242 atau lebih baru
  • maxEffortLevel, di mana batas terendah dalam sumber admin apa pun berlaku. Jika pengembang menetapkan batas lebih rendah dalam pengaturan mereka sendiri atau dengan --settings, Claude Code menerapkan yang itu; tidak ada sumber yang dapat menaikkan batas. Memerlukan Claude Code v2.1.267 atau lebih baru
  • Opt-out trailer commit dalam attribution, atau dalam includeCoAuthoredBy yang sudah usang, dari tingkat apa pun
  • forceRemoteSettingsRefresh
  • env, digabungkan per variabel di seluruh sumber admin: setiap variabel berasal dari sumber prioritas tertinggi yang mendefinisikannya, jadi sumber lebih rendah mengisi variabel yang sumber lebih tinggi biarkan tidak diatur. Beberapa variabel mengikuti aturan mereka sendiri; Pengecualian per kunci di seluruh sumber terkelola menamai masing-masing. Memerlukan Claude Code v2.1.223 atau lebih baru. Sebelum v2.1.223, Claude Code menerapkan blok env sumber yang dipilih secara keseluruhan saja

Kunci gateway login, forceLoginGatewayUrl dan nilai "gateway" dari forceLoginMethod, mengikuti aturan terpisah. Claude Code tidak pernah membacanya dari pengaturan terkelola server, jadi sementara pengaturan terkelola server adalah sumber yang dipilih, sumber admin peringkat tertinggi di mesin yang membawa kunci kebijakan masih menyediakannya. Nilai dalam sumber admin yang diberi peringkat di bawah itu, atau dalam registry HKCU, diabaikan.

Susun setiap sumber terkelola

Untuk membuat Claude Code menerapkan setiap sumber admin yang organisasi Anda kirimkan, atur managedSourcesBehavior ke "merge" dalam sumber peringkat tertinggi yang Anda terapkan. Claude Code membaca kunci hanya dari sumber peringkat tertinggi yang membawa kunci atau kunci kebijakan, jadi sumber lebih rendah tidak dapat memilih dirinya sendiri untuk merge dengan sumber di atasnya, dan mesin yang tidak pernah menerima pengaturan terkelola server memerlukan kunci dalam profil MDM-nya juga. Registry HKCU yang dapat ditulis pengguna tidak pernah merge dengan sumber lain. Memerlukan Claude Code v2.1.242 atau lebih baru.

Di bawah "merge", Claude Code menambahkan entri daftar sumber lebih rendah, seperti aturan permissions.allow dan hooks, ke kebijakan, jadi aktifkan hanya ketika setiap sumber yang diberi peringkat di bawah yang tertinggi berada di bawah kontrol administrator.

Tabel ini menunjukkan bagaimana Claude Code menggabungkan setiap jenis kunci di bawah "merge". Entri managedSourcesBehavior menamai setiap kunci dalam tiga baris: daftar izin pembatasan, nilai yang diambil secara keseluruhan, dan kunci yang dibaca dari sumber peringkat tertinggi saja.

Jenis kunci Bagaimana Claude Code menggabungkannya Contoh
Daftar Menggabungkan entri dari setiap sumber permissions.allow, hooks, sandbox.network.allowedDomains, deniedMcpServers
Kunci Menerapkan nilai paling ketat yang sumber apa pun tetapkan; nilai yang lebih longgar berlaku hanya dari sumber peringkat tertinggi allowManagedHooksOnly, permissions.disableBypassPermissionsMode, crossSessionInbound
Daftar izin pembatasan Mengambil daftar secara keseluruhan dari sumber peringkat tertinggi yang menetapkannya, tanpa menambahkan entri dari sumber lebih rendah availableModels, allowedMcpServers, strictKnownMarketplaces, allowedChannelPlugins, dan rantai fallbackModel
Nilai yang diambil secara keseluruhan Mengambil nilai secara keseluruhan dari sumber peringkat tertinggi yang menetapkannya, tanpa menggabungkan entri atau bidang dari sumber lebih rendah sandbox.credentials.awsPairs, sandbox.ripgrep
Server MCP yang disediakan Menggabungkan nama server dari setiap sumber; ketika dua sumber menetapkan nama yang sama, menerapkan entri keseluruhan sumber peringkat lebih tinggi managedMcpServers
Kunci yang dibaca dari sumber peringkat tertinggi saja Mengabaikan kunci di setiap sumber lebih rendah, bahkan ketika sumber peringkat tertinggi membiarkan kunci tidak diatur Pembantu kredensial seperti apiKeyHelper, pin login seperti forceLoginOrgUUID, modelPicker, permissions.defaultMode
env Merge per variabel di seluruh sumber admin di bawah pengaturan apa pun, seperti Kunci yang dibaca dari setiap sumber admin menjelaskan
Setiap kunci lainnya Mengambil nilai dari sumber peringkat tertinggi yang menetapkannya model, cleanupPeriodDays

Untuk mengonfirmasi sumber mana yang digabungkan di mesin, baca baris Setting sources dalam /status; bagian itu mengatakan apa arti setiap label.

Hitung kebijakan dengan program pembantu

policyHelper adalah executable yang kebijakan MDM atau file pengaturan terkelola Anda namai, dan Claude Code menjalankannya untuk menghitung pengaturan terkelola saat startup. Ketika sumber yang dipilih mengonfigurasi satu dan pembantu mengeluarkan objek managedSettings, output itu mengubah apa yang Claude Code baca:

Untuk pembantu mana yang gagal, dan apa yang Claude Code lakukan ketika satu gagal, lihat Kegagalan pembantu.

Biarkan host embedding menambahkan kebijakan

Ketika aplikasi lain meluncurkan Claude Code, seperti Claude Desktop, ekstensi IDE, atau aplikasi Agent SDK, host itu dapat melewatkan pengaturan terkelolanya sendiri melalui opsi SDK managedSettings. Claude Code menyebut ini pengaturan induk.

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

Untuk membuat Claude Code merge pengaturan induk bersama sumber admin, atur parentSettingsBehavior ke "merge" dalam sumber terkelola prioritas tertinggi; Claude Code membaca kunci dari sumber itu saja.

Claude Code kemudian menyimpan hanya nilai host yang membatasi apa yang Claude dapat lakukan, dengan satu celah untuk diketahui: kecuali Anda juga menetapkan kunci allowManaged*Only, aturan izin allow host dan daftar izin sandbox masih berlaku. Lihat Batasi pengaturan induk untuk kunci.

policyHelper dapat mematikan penggabungan induk terlepas dari kunci ini; entrynya mengatakan kapan.

Claude Code juga menerapkan pemeriksaan ini ke nilai yang disediakan induk sendiri:

  • Ketika sumber admin apa pun menetapkan allowManagedPermissionRulesOnly, Claude Code menghapus aturan izin allow yang disediakan induk dan additionalDirectories saat membacanya, bahkan ketika sumber prioritas lebih tinggi membiarkan kunci tidak diatur. Efek kunci pada aturan izin Anda sendiri berasal dari pengaturan terkelola yang Claude Code terapkan, atau dari pengaturan induk yang telah Anda pilih untuk merge
  • Claude Code memberlakukan nilai forceLoginOrgUUID atau allowedMcpServers dalam pengaturan terkelola yang diterapkannya dan memblokir yang disediakan induk. Nilai dalam sumber admin lebih rendah yang Claude Code tidak terapkan tidak berlaku atau memblokir yang disediakan induk. Entri managedSourcesBehavior mengatakan sumber mana yang menyediakan setiap kunci di bawah "merge". Sebelum v2.1.223, nilai dalam sumber admin apa pun memblokir yang disediakan induk
  • Nilai availableModels mengikuti aturan yang sama dengan allowedMcpServers

Pertahankan akses folder Cowork ketika hanya aturan terkelola yang berlaku

Cowork di aplikasi Claude Desktop menjalankan sesinya di Claude Code dan memberikan setiap sesi akses ke folder kerjanya, seperti folder yang dihubungkan pengguna, melalui aturan izin yang disediakannya saat meluncurkan sesi. Ketika kebijakan terkelola Anda menetapkan allowManagedPermissionRulesOnly, Claude Code menyimpan hanya aturan izin dalam kebijakan terkelola: itu menghapus aturan izin yang host sediakan sebagai pengaturan induk, sebagai --allowedTools, atau dalam file pengaturan, jadi penulisan ke folder itu kehilangan pra-persetujuan mereka. Dalam sesi Cowork yang meminta sebelum edit, Cowork tidak dapat menampilkan prompt, dan Claude melaporkan setiap penulisan sebagai diblokir karena jalur diselesaikan ke lokasi yang dilindungi atau jalur di luar folder yang terhubung.

Untuk mengembalikan penulisan, tambahkan aturan izin untuk folder itu ke sumber terkelola yang Claude Code pilih di mesin itu: di armada yang dikelola MDM, itu adalah kebijakan MDM daripada file pengaturan terkelola terpisah. Contoh ini menggunakan bentuk file, dan kebijakan MDM mengambil kunci yang sama. Itu menyimpan allowManagedPermissionRulesOnly diatur dan memungkinkan edit di bawah folder CoworkProjects di direktori home setiap pengguna; ganti jalur dengan folder yang pengguna Anda hubungkan:

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

Setelah Anda terapkan kebijakan, Claude dapat menyimpan file di bawah folder itu dalam sesi Cowork baru. Aturan Read dan Edit mencakup sintaks jalur, termasuk bentuk // untuk jalur absolut.

Apa yang dapat diubah pengembang

File pengaturan pengembang sendiri, nilai --settings, dan file proyek tidak pernah mengganti nilai terkelola; pengecualian hanya membiarkan nilai tingkat lebih rendah yang lebih ketat berlaku. Empat hal duduk di luar aturan itu:

  • Model untuk sesi: model terkelola adalah default, bukan kunci. --model dan ANTHROPIC_MODEL masih memilih model untuk sesi itu, jadi terapkan availableModels untuk membatasi pilihan.
  • Hak admin lokal: pengembang yang merupakan administrator di mesin dapat mengedit sumber terkelola itu sendiri, itulah mengapa alat MDM dapat menerapkan kembali profil atau file sesuai jadwal dan mengapa registry HKLM dan domain preferensi terkelola macOS ada.
  • Cache terkelola server: pengaturan terkelola server berasal dari server Anthropic, dan edit ke cache lokal berlaku hanya sampai pengambilan berhasil berikutnya.
  • Alat lain: pengaturan terkelola mengikat Claude Code saja. Pengembang yang memanggil API dari alat lain tidak berada di bawahnya.

Periksa bahwa kebijakan berlaku

Pengembang melaporkan bahwa kebijakan tidak diterapkan, atau Anda ingin mengonfirmasi rollout mendarat sebelum mendorongnya ke armada. Dua perintah di mesin itu menjawabnya: /status menunjukkan sumber terkelola mana yang Claude Code pilih, dan claude doctor mencantumkan apa yang dihapusnya.

Baca sumber dalam /status

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

  • (remote): pengaturan terkelola 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 lebih rendah masih dapat menyediakan variabel env tanpa muncul dalam daftar. Memerlukan Claude Code v2.1.242 atau lebih baru
  • (HKCU): fallback registry yang dapat ditulis pengguna
  • (parent process): host embedding menyediakan pengaturan yang ketat
  • (helper): policyHelper dikonfigurasi oleh sumber MDM atau file yang dipilih

Ketika Claude Code menemukan sumber terkelola di mesin dan tidak memilihnya, baris kedua, Skipped sources, menamai setiap sumber seperti itu. Bacanya untuk membedakan kebijakan yang tidak pernah mencapai mesin dari yang mencapainya dan sumber prioritas lebih tinggi mengesampingkannya. Memerlukan Claude Code v2.1.242 atau lebih baru.

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

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

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

    Ketika Anda terapkan melalui pengaturan terkelola server sebagai gantinya, 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 hapus

Ketika file pengaturan terkelola, profil MDM, nilai registry, atau payload terkelola server gagal validasi skema, Claude Code pertama melewatkan entri individual yang dapat diperbaiki, seperti satu aturan izin yang tidak valid, dengan peringatan untuk masing-masing, kemudian menghapus kunci tingkat atas yang nilainya masih gagal dan terus memberlakukan setiap kunci yang valid yang tersisa.

Claude Code lebih ketat dengan managedSettings yang policyHelper pancarkan: itu membuat perbaikan entri yang sama, tetapi pelanggaran skema apa pun yang bertahan gagal seluruh jalankan pembantu, dan saat startup Claude Code menolak untuk memulai, sama seperti untuk pembantu yang keluar non-nol.

Ketika file pengaturan terkelola, file drop-in, plist MDM, atau nilai registry 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 mengirimkan 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 registry HKLM: nilai Settings bukan string, kosong, atau tidak menyimpan objek JSON

Tiga keadaan sumber tidak menyebabkan penolakan ini:

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

Jika file pengaturan terkelola, file drop-in, atau direktori managed-settings.d/ tidak dapat dibaca dan tidak ada sumber admin yang menyediakan kebijakan, sesi yang masuk dengan kredensial claude.ai atau Claude Console keluar saat startup dengan pesan untuk menghubungi administrator.

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

  • Sesi interaktif menunjukkan 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

Beberapa kunci penegakan tidak dihapus ketika tidak valid. Claude Code memberlakukan fallback yang lebih ketat sampai nilai diperbaiki; tabel menunjukkan apa yang diberlakukannya untuk setiap kunci:

Bidang Perilaku ketika ada tetapi tidak valid
allowedMcpServers Diberlakukan sebagai daftar izin kosong sampai nilai diperbaiki, jadi tidak ada server MCP yang pengguna tambahkan yang diakui. Server yang organisasi Anda berikan melalui managedMcpServers masih dimuat, dan server managed-mcp.json dimuat per Bagaimana server dievaluasi. Entri individual yang tidak valid dilepas dan subset yang valid diberlakukan.
allowedHttpHookUrls Claude Code memberlakukan daftar izin terkelola kosong allowlist sampai Anda memperbaiki nilai, jadi HTTP hook berjalan hanya jika file pengaturan lain mencantumkan URL-nya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri itu dan memberlakukan sisanya.
httpHookAllowedEnvVars Claude Code memberlakukan daftar izin terkelola kosong allowlist sampai Anda memperbaiki nilai, jadi variabel header diinterpolasi hanya jika file pengaturan lain menamainya. Jika hanya entri individual yang tidak valid, Claude Code melepas entri itu dan memberlakukan sisanya.
allowedChannelPlugins Claude Code memberlakukan daftar izin kosong sampai Anda memperbaiki nilai, jadi tidak ada plugin saluran yang dilewatkan ke --channels yang diakui. Jika hanya entri individual yang tidak valid, itu melepas entri itu dan memberlakukan sisanya.
allowManagedHooksOnly Diperlakukan sebagai true sampai diperbaiki: pembatasan hook berlaku dan, kecuali disableCommandPluginSources secara eksplisit false, plugin bersumber perintah dinonaktifkan.
allowManagedMcpServersOnly Diperlakukan sebagai true.
disableCommandPluginSources Diperlakukan sebagai true, jadi plugin bersumber perintah tetap dinonaktifkan sampai nilai diperbaiki.
availableModels Diberlakukan sebagai daftar izin kosong sampai diperbaiki, jadi hanya model Default yang tersedia; entri non-string dilepas dan subset yang valid diberlakukan.
enforceAvailableModels Diperlakukan sebagai true.
forceLoginOrgUUID Tidak ada organisasi yang diizinkan untuk masuk sampai nilai diperbaiki.
crossSessionInbound Diperlakukan sebagai refuse, nilai paling ketat, jadi 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 dihapus dengan peringatan, karena menolak setiap server akan memblokir server yang kebijakan tidak pernah namai.
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

allowedHttpHookUrls dan httpHookAllowedEnvVars menggabungkan di seluruh file pengaturan, jadi entri dalam pengaturan pengguna, proyek, atau lokal Anda masih berlaku sementara daftar terkelola kosong. Fallback untuk dua kunci itu dan untuk allowedChannelPlugins memerlukan Claude Code v2.1.267 atau lebih baru; versi sebelumnya menghapus seluruh kunci ketika nilainya atau entri apa pun tidak valid.

requiredMinimumVersion dan requiredMaximumVersion gagal terbuka dengan desain: nilai yang tidak valid dihapus 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 secara keseluruhan dan dilaporkan, dan entri individual yang gagal, seperti aturan izin yang salah bentuk, dilewatkan dengan peringatan sementara sisa file berlaku.

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 referensi pengaturan index mengatakan apakah itu terkelola saja; kunci terkelola saja yang tersisa di sana termasuk URL login gateway, versi, browser, mobile-simulator, host SSH, Desktop sesi lokal, jalur biner sandbox, harga model, dan kontrol CLAUDE.md.

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 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 menghapus server MCP yang server kirimkan melalui --mcp-config, selain entri type: "sdk" dalam proses, dan memulai sesi. 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 Claude Code dapat sarankan kepada pengguna
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 file pengaturan terkelola atau drop-in di bawah direktori itu yang mengirimkan kunci kebijakan; entri memberikan urutan

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, yang membuat Remote Control, mode auto default, dan fitur lain yang memerlukan pengambilan flag fitur tidak tersedia untuk pengembang itu.

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