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:
- Kontrol pengiriman:
policyHelper,wslInheritsWindowsSettings, danmanagedSourcesBehavior - Kunci login gateway:
forceLoginGatewayUrl,gatewayInternalNetworks, dan nilai"gateway"dariforceLoginMethod
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
settingSourcesmengecualikan 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
strictKnownMarketplacesdanblockedMarketplaceskonsol 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 pada
forceRemoteSettingsRefresh,requiredMinimumVersion, dan beberapa kunci yang dapat diedit pengguna berlaku pada startup sesi berikutnya. - Entri
policyHelperyang baru atau berubah berlaku pada peluncuran berikutnya. Jika pengaturan terkelola server menaungi helper pada peluncuran itu, helper berjalan segera setelah pengambilan melaporkan pengaturan tersebut dihapus.
- Perubahan pada
-
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.
requiredMinimumVersionmemblokir 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 denganmanaged-settings.json, dengan pengaturan bersarang sebagai kamus dan daftar sebagai array plist. -
Registry HKLM Windows: JSON sebagai nilai
REG_SZatauREG_EXPAND_SZbernamaSettingsdi bawahHKLM\SOFTWARE\Policies\ClaudeCode. -
Berbasis file:
managed-settings.json, direktori opsionalmanaged-settings.d/, danmanaged-mcp.jsondi direktori sistem:/Library/Application Support/ClaudeCode/di macOS,/etc/claude-code/di Linux dan WSL, danC:\Program Files\ClaudeCode\di Windows. Claude Code tidak membaca jalur Windows warisanC:\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
/statusdanclaude doctor. Untuk menghapus peringatan, arahkan tautan ke target di dalam direktori sistem. -
Registry HKCU Windows: nilai
Settingsyang sama di bawahHKCU\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.denyatausandbox.network.allowedDomains: dua daftar digabungkan, dengan duplikat dihapus - Blok bersarang, seperti
envatausandbox: 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 keseluruhanextraKnownMarketplacesdanmanagedMcpServers: entri yang lebih baru dengan nama yang sama menggantikan yang lebih lama secara keseluruhanmodelPicker: 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;/statusmenyebutkan 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,
wslInheritsWindowsSettingsdanmanagedSourcesBehavior. 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:
- 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 ketikaANTHROPIC_BASE_URLmengarah ke tempat selain API Anthropic, Claude Code memulai dari sumber berikutnya - Kebijakan MDM atau tingkat OS: plist macOS atau kunci registri HKLM
- File pengaturan terkelola,
managed-settings.d/*.jsondanmanaged-settings.jsonyang digabungkan bersama - Registri HKCU, di Windows, dan di WSL setelah registri HKLM atau file pengaturan terkelola Windows mengaktifkan
wslInheritsWindowsSettingsdan 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:
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.dyang 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.allowManagedDomainsOnlydansandbox.filesystem.allowManagedReadPathsOnly: nilaitruedi sumber admin mana pun mengaktifkan penguncian. Selama penguncian aktif, Claude Code menggabungkan (union) allowlist yang dikuncinya, yaitusandbox.network.allowedDomainsbersama dengan aturan allowWebFetch(domain:...), atausandbox.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: nilaitruedi sumber admin mana pun mengaktifkan penguncian allowlist MCP. Selama penguncian aktif, daftarallowedMcpServersterkelola 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
allowedMcpServersdari 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 -
deniedMcpServersdandisableClaudeAiConnectors: entri atau nilaitruedi sumber admin mana pun berlaku. Memerlukan Claude Code v2.1.273 atau lebih baru -
Path biner sandbox
sandbox.bwrapPathdansandbox.socatPath -
Biner
ripgrepsandbox,sandbox.ripgrep -
sandbox.filesystem.disableddansandbox.network.strictAllowlist -
useAutoModeDuringPlan,syncClaudeAiSkills, dansyncClaudeAiPlugins, di mana nilaifalsedari sumber admin mana pun mematikan perilaku tersebut. Setiap kunci hanya dapat menolak:- Nilai
falsedi pengaturan user atau local milik developer juga mematikannya - Untuk
useAutoModeDuringPlan, nilaifalsedi file user atau local yang dikecualikan developer dengan opsi seperti--setting-sourcestidak dihitung. Pengabaian file yang dikecualikan memerlukan Claude Code v2.1.314 atau lebih baru
- Nilai
-
enableArtifact, di mana nilaifalsedari sumber admin mana pun mematikan tool Artifact. Nilaifalsedi 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 diincludeCoAuthoredByyang sudah deprecated, dari tingkat mana pun -
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 blokenvdari 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:
forceLoginOrgUUIDdanforceLoginMethodyang 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:
- Objek
managedSettingsyang dikeluarkan adalah satu-satunya pengaturan terkelola untuk sesi tersebut, termasuk untuk kunci yang biasanya dibacanya dari setiap sumber admin, kecualiforceRemoteSettingsRefresh, yang memiliki aturan startup sendiri
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 danadditionalDirectoriesyang 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
forceLoginOrgUUIDatauallowedMcpServersdi pengaturan terkelola yang diterapkannya dan memblokir nilai yang disediakan induk. Jika Anda mengirimkan lebih dari satu sumber terkelola, lihat sumber mana yang menyediakanforceLoginOrgUUID.Pada Claude Code v2.1.273 atau lebih baru, selama
allowManagedMcpServersOnlyaktif, daftarallowedMcpServersdari 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. EntrimanagedSourcesBehaviormenjelaskan 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"padamanagedSourcesBehavior, daftar di sumber admin mana pun juga memblokirnya. Memerlukan Claude Code v2.1.285 atau lebih baru -
blockedMarketplacesyang 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:
modelterkelola adalah default, bukan penguncian.--modeldanANTHROPIC_MODELtetap memilih model untuk sesi tersebut, jadi deployavailableModelsuntuk membatasi pilihan. - Jendela auto-compact untuk sebuah sesi:
autoCompactWindowterkelola juga merupakan default. Flag--autocompactdan variabelCLAUDE_CODE_AUTO_COMPACT_WINDOWtetap 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 variabelenvtanpa 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):policyHelperyang 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 sourcesmencantumkannya. 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:
plutilmacOS melaporkan plist yang salah bentuk, atau konten yang dikonversi bukan objek JSON - Nilai registri HKLM: nilai
Settingsbukan 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
/statusdanclaude doctorsebagai 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.
/statusdanclaude doctormencatat kegagalan, dan jalankan dengan-pjuga 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
-pmencetak ringkasan ke stderr. claude doctormencantumkan 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:
nullmenghapus kunci.disableAllHooksyang tidak valid, bahkan boolean yang dikutip, dijatuhkan dengan peringatan, karena memberlakukantruejuga 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/statusmeminta 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.defaultModeyang tidak valid membaca sebagaidefault.- Sementara daftar
denyatauaskdipermissionstidak dapat dibaca sama sekali, Claude Code menahanallowdanadditionalDirectories, 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, daftarsoft_denyatauhard_denyyang tidak dapat dibaca, atau yang kehilangan entri yang tidak valid, menahanallowdanenvironmentdengan 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,/statusmenampilkan pemberitahuan meminta Anda untuk menghapus tanda kutip. - Jika
failIfUnavailabletidak valid, Claude Code menjatuhkan nilai daripada memperlakukannya sebagaitrue, 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
enabledataunetwork.allowManagedDomainsOnly, dihitung sebagaitrue. Kunci yang melonggarkannya, sepertiallowUnsandboxedCommands, dihitung sebagaifalse. - Dalam daftar di luar
credentials, sepertiexcludedCommandsataunetwork.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.deniedDomainsatau entri apa pun di dalamnya tidak valid, Claude Code juga menahannetwork.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 menahanfilesystem.allowReaddanfilesystem.allowWritesampai 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 doctordi sana dan baca barisOrganization 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,/statusmenunjukkan 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
- Siapkan Claude Code untuk organisasi Anda: tentukan apa yang akan diberlakukan dan bagaimana
- Pengaturan terkelola server: kirimkan kebijakan dari konsol claude.ai atau gateway
- Konfigurasi MCP terkelola: kontrol server MCP mana yang dapat digunakan pengembang
- Semua pengaturan: setiap kunci, dengan apakah sumber terkelola dapat menetapkannya
- File pengaturan contoh:
managed-settings.jsonlengkap yang menunjukkan bentuk kunci terkelola