--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: filemanaged-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 Untuk contoh yang lebih lengkap yang menunjukkan bentuk kunci terkelola lainnya, termasuk metode login, model, server MCP, dan marketplace, lihat Pengaturan terkelola organisasi.
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:managed-settings.json
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 filesettings.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
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.
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 dimanaged-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
Bagaimana Claude Code menggabungkan sumber terkelola
Ketika organisasi Anda mengirimkan lebih dari satu sumber terkelola ke mesin yang sama, kuncimanagedSourcesBehavior menentukan apa yang dilakukan Claude Code dengan yang lain:
"first-wins", pengaturan default: Claude Code menggunakan sumber dengan peringkat tertinggi yang mengirimkan setidaknya satu kunci kebijakan dan mengabaikan sisanya daripada menggabungkannya, kecuali untuk kunci dalam Kunci yang dibaca dari setiap sumber admin. Claude Code tidak menampilkan peringatan untuk sumber yang dilewati;/statusmenamai sumber yang digunakan dan yang dilewati."merge": Claude Code menerapkan setiap sumber admin yang mengirimkan kunci kebijakan dan menggabungkannya berdasarkan jenis kunci: pada sebagian besar kunci nilai sumber dengan 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 menggabungkan. Memerlukan Claude Code v2.1.242 atau lebih baru.
- Kunci kebijakan: kunci pengaturan apa pun selain dua kunci kontrol,
wslInheritsWindowsSettingsdanmanagedSourcesBehavior. File pengaturan terkelola atau kebijakan MDM yang hanya berisi yang tersebut tidak dihitung, dan Claude Code melanjutkan ke sumber berikutnya. - Sumber admin: salah satu dari tiga sumber pertama di bawah. Registri HKCU dapat ditulis pengguna dan bukan salah satunya.
- 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 kredensial yang memenuhi syarat, masuk ke gateway dengan
/login, atau berjalan di tab Code Claude Desktop di belakang gateway yang menyajikan pengaturan ke sesi tersebut. Pada penyedia lain, atau ketikaANTHROPIC_BASE_URLmenunjuk ke tempat lain selain API Anthropic, dimulai dari sumber berikutnya - Kebijakan MDM atau tingkat OS: plist macOS atau kunci registri HKLM
- File pengaturan terkelola,
managed-settings.d/*.jsondanmanaged-settings.jsondigabungkan bersama - Registri HKCU, di Windows, dan di WSL setelah registri HKLM atau file pengaturan terkelola Windows mengaktifkan
wslInheritsWindowsSettingsdan nilai HKCU juga menetapkannya. Claude Code membacanya hanya ketika tidak ada dokumen admin yang ada di atasnya dan tidak ada pengaturan induk yang disediakan host yang menyediakan kunci pembatasan
Kapan dokumen admin dihitung sebagai ada
Dalam peringkat sumber terkelola, Claude Code tidak pernah menerapkan registri HKCU yang dapat ditulis pengguna di bawah dokumen admin yang ada. Dokumen dianggap ada ketika:- Dokumen tersebut menetapkan kunci kebijakan apa pun ke nilai selain
null, bahkan nilai yang tidak dapat dibaca Claude Code - Dokumen tersebut adalah nilai HKLM, file pengaturan terkelola, atau direktori
managed-settings.dyang ada tetapi tidak dapat dibaca
/etc/claude-code juga dapat ditulis pengguna, dan entri wslInheritsWindowsSettings menjelaskan kapan dokumen Windows berdiri 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 dalam sumber dengan 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 dengan peringkat lebih rendah masih dapat menetapkannya ketika sumber yang dipilih tidak. Claude Code mengeluarkan registri 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.allowManagedDomainsOnlydansandbox.filesystem.allowManagedReadPathsOnly:truedalam sumber admin apa pun mengaktifkan kunci. Saat kunci aktif, Claude Code menyatukan allowlist yang dikunci,sandbox.network.allowedDomainsbersama dengan aturan izinWebFetch(domain:...), atausandbox.filesystem.allowRead, di seluruh setiap sumber admin. Tanpa kunci, Claude Code memperlakukan allowlist seperti kunci lainnya, jadi di bawah"first-wins"allowlist sumber admin yang tidak dipilih diabaikan -
allowAllClaudeAiMcps -
allowManagedMcpServersOnly:truedalam sumber admin apa pun mengaktifkan kunci allowlist MCP. Saat kunci aktif, daftarallowedMcpServersterkelola berasal dari sumber admin dengan peringkat tertinggi yang menetapkan satu. Daftar terkelola server menggantikan daftar sumber yang lebih rendah daripada menggabungkannya. Jika tidak ada sumber admin yang menetapkan daftar, setiap server yang melewati denylist dimuat, kecuali pengaturan induk menyediakan daftar. Tanpa kunci, Claude Code membacaallowedMcpServersdari sumber terkelola yang diterapkannya, jadi di bawah"first-wins"daftar sumber admin yang tidak dipilih diabaikan. Memerlukan Claude Code v2.1.273 atau lebih baru -
deniedMcpServersdandisableClaudeAiConnectors: entri atautruedalam sumber admin apa pun berlaku. Memerlukan Claude Code v2.1.273 atau lebih baru -
Jalur biner sandbox
sandbox.bwrapPathdansandbox.socatPath -
Biner sandbox
ripgrep,sandbox.ripgrep -
sandbox.filesystem.disableddansandbox.network.strictAllowlist -
useAutoModeDuringPlan,syncClaudeAiSkills, dansyncClaudeAiPlugins, di manafalsedari sumber admin apa pun mematikan perilaku.falsedalam pengaturan pengguna atau lokal pengembang juga mematikannya; setiap kunci hanya dapat menolak -
enableArtifact, di manafalsedari sumber admin apa pun mematikan tool Artifact.falsedalam pengaturan pengguna, proyek, atau lokal pengembang juga mematikannya, dan tidak ada sumber yang mengaktifkannya kembali; lihat nilai tingkat lebih rendah mana yang masih dihitung. 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 komit dalam
attribution, atau dalamincludeCoAuthoredByyang sudah deprecated, dari tingkat apa pun -
forceRemoteSettingsRefresh -
env, digabungkan per variabel di seluruh sumber admin: setiap variabel berasal dari sumber prioritas tertinggi yang mendefinisikannya, sehingga sumber yang lebih rendah mengisi variabel yang tidak ditetapkan oleh sumber yang lebih tinggi. 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 blokenvseluruh sumber yang dipilih saja
allowedProviders memiliki aturannya sendiri: catatan Scope entrinya mengatakan bagaimana daftar yang ditetapkan di mesin menggabungkan dengan yang terkelola server. Memerlukan Claude Code v2.1.285 atau lebih baru.
Ketika sumber admin menetapkan allowManagedMcpServersOnly atau daftar allowedMcpServers dan nilai itu bukan yang berlaku, /status dan claude doctor menamai sumber dan kunci itu.
Susun setiap sumber terkelola
Untuk membuat Claude Code menerapkan setiap sumber admin yang disampaikan organisasi Anda, aturmanagedSourcesBehavior ke "merge" dalam sumber dengan peringkat tertinggi yang Anda terapkan. Claude Code membaca kunci hanya dari sumber dengan peringkat tertinggi yang membawa kunci atau kunci kebijakan, sehingga sumber yang lebih rendah tidak dapat memilih dirinya sendiri untuk menggabungkan dengan sumber di atasnya, dan mesin yang tidak pernah menerima pengaturan terkelola server memerlukan kunci dalam profil MDM juga. Registri HKCU yang dapat ditulis pengguna tidak pernah menggabungkan dengan sumber lain. Memerlukan Claude Code v2.1.242 atau lebih baru.
Di bawah "merge", Claude Code menambahkan entri daftar sumber yang lebih rendah, seperti aturan permissions.allow dan hook, 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: allowlist pembatasan, nilai yang diambil seluruhnya, dan kunci yang dibaca dari sumber dengan peringkat tertinggi saja.
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 dinamai kebijakan MDM atau file pengaturan terkelola Anda, dan Claude Code menjalankannya untuk menghitung pengaturan terkelola saat startup. Ketika sumber yang dipilih mengonfigurasi satu dan pembantu memancarkan objek managedSettings, output itu mengubah apa yang dibaca Claude Code:
- Objek
managedSettingsyang dipancarkan adalah satu-satunya pengaturan terkelola untuk sesi, termasuk untuk kunci yang sebaliknya dibacanya dari setiap sumber admin, kecualiforceRemoteSettingsRefresh, yang memiliki aturan startup sendiri
Biarkan host penyematan menambahkan kebijakan
Ketika aplikasi lain meluncurkan Claude Code, seperti Claude Desktop, ekstensi IDE, atau aplikasi Agent SDK, host itu dapat meneruskan pengaturan terkelolanya sendiri melalui opsi SDKmanagedSettings. Claude Code menyebut ini pengaturan induk.
Secara default, Claude Code mengabaikan pengaturan induk kapan pun sumber admin ada: pengaturan terkelola server, kebijakan MDM atau tingkat OS, atau file pengaturan terkelola.
Untuk membuat Claude Code menggabungkan pengaturan induk bersama sumber admin, atur parentSettingsBehavior ke "merge" dalam sumber terkelola dengan prioritas tertinggi; Claude Code membaca kunci dari sumber itu saja.
Claude Code kemudian menyimpan hanya nilai host yang membatasi apa yang dapat dilakukan Claude, dengan satu celah untuk diketahui: kecuali Anda juga menetapkan kunci allowManaged*Only, aturan izin allow milik host dan allowlist sandbox masih berlaku. Lihat Batasi pengaturan induk untuk kunci.
policyHelper dapat mematikan penggabungan induk terlepas dari kunci ini; entrinya 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 danadditionalDirectoriessaat membacanya, bahkan ketika sumber prioritas lebih tinggi membiarkan kunci tidak diatur. Efek kunci 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
forceLoginOrgUUIDatauallowedMcpServersdalam pengaturan terkelola yang diterapkannya dan memblokir yang disediakan induk. Di luar kunci allowlist MCP, nilai dalam sumber admin yang lebih rendah yang tidak diterapkan Claude Code tidak berlaku atau memblokir yang disediakan induk. Pada Claude Code v2.1.273 atau lebih baru, saatallowManagedMcpServersOnlyaktif, daftarallowedMcpServersdari sumber admin dengan peringkat tertinggi yang menetapkan satu berlaku dan memblokir yang disediakan induk, sebagai kunci lintas sumber. Daftar induk berlaku hanya ketika tidak ada sumber admin yang menetapkan satu. EntrimanagedSourcesBehaviormengatakan sumber mana yang menyediakan setiap kunci di bawah"merge". Sebelum v2.1.223, nilai dalam sumber admin apa pun memblokir yang disediakan induk -
Untuk
availableModels, Claude Code memberlakukan nilai dalam pengaturan terkelola yang diterapkannya dan memblokir daftar yang disediakan induk -
Untuk
strictKnownMarketplaces, Claude Code demikian juga memberlakukan daftar dalam pengaturan terkelola yang diterapkannya dan memblokir yang disediakan induk. Daftar induk berlaku hanya ketika tidak ada sumber terkelola yang diterapkan menetapkan satu. Memerlukan Claude Code v2.1.282 atau lebih baru -
Untuk
allowedProviders, daftar dalam sumber terkelola yang dipilih memblokir yang disediakan induk, dan di bawah opt-in"merge"managedSourcesBehavior, daftar dalam sumber admin apa pun juga memblokirnya. Memerlukan Claude Code v2.1.285 atau lebih baru -
blockedMarketplacesyang disediakan induk berlaku selain denylist apa pun yang ditetapkan sumber terkelola. Memerlukan Claude Code v2.1.282 atau lebih baru
Pertahankan akses folder Cowork ketika hanya aturan terkelola yang berlaku
Cowork dalam 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 menetapkanallowManagedPermissionRulesOnly, Claude Code menyimpan hanya aturan izin dalam kebijakan terkelola: itu menghapus aturan izin yang disediakan host sebagai pengaturan induk, sebagai --allowedTools, atau dalam file pengaturan, sehingga penulisan ke folder tersebut kehilangan pra-persetujuan mereka. Dalam sesi Cowork yang meminta sebelum edit, Cowork tidak dapat menampilkan permintaan izin, dan Claude melaporkan setiap penulisan sebagai diblokir karena jalur diselesaikan ke lokasi yang dilindungi atau jalur di luar folder yang terhubung.
Untuk memulihkan penulisan, tambahkan aturan izin untuk folder tersebut ke sumber terkelola yang dipilih Claude Code pada mesin tersebut: pada 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 dihubungkan pengguna Anda:
managed-settings.json
// untuk jalur absolut.
Apa yang dapat diubah pengembang
File pengaturan pengembang sendiri, nilai--settings, dan file proyek tidak pernah menimpa nilai terkelola; pengecualian hanya membiarkan nilai tingkat lebih rendah yang lebih ketat dihitung. Kasus-kasus ini berada di luar aturan itu:
- Model untuk sesi:
modelterkelola adalah default, bukan kunci.--modeldanANTHROPIC_MODELmasih memilih model untuk sesi itu, jadi terapkanavailableModelsuntuk membatasi pilihan. - Jendela auto-compact untuk sesi:
autoCompactWindowterkelola juga merupakan default. Flag--autocompactdan variabelCLAUDE_CODE_AUTO_COMPACT_WINDOWmasih menetapkan jendela auto-compact untuk sesi itu. - 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 registri HKLM dan domain preferensi terkelola macOS ada.
- Cache terkelola server: pengaturan terkelola server berasal dari server Anthropic, dan edit ke cache lokal berlangsung hanya sampai pengambilan berikutnya yang berhasil.
- Alat lain: pengaturan terkelola mengikat Claude Code saja. Pengembang yang memanggil API dari alat lain tidak berada di bawahnya.
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
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 denganmanagedSettings 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
- 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.
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.
- 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, sepertiallowManagedPermissionRulesOnly, 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.
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.
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 atausandbox.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.
Pada paket Team dan Enterprise, Owner mengaktifkan atau menonaktifkan Remote Control dan sesi cloud di seluruh organisasi dalam pengaturan admin Claude Code. Ketika Owner mematikan Remote Control, sesi yang sudah terhubung yang menjalankan Claude Code v2.1.286 atau lebih baru juga terputus. Setiap sesi terputus saat berikutnya sesi tersebut menyegarkan kebijakan organisasi Anda, sekitar sekali per jam. Untuk apa yang terjadi dalam sesi tersebut, lihat
Remote Control was turned off by your organization's policy.Remote Control dapat juga dinonaktifkan per perangkat dengan pengaturan disableRemoteControl. Sesi cloud tidak memiliki kunci pengaturan terkelola per perangkat.Untuk memeriksa apakah pengaturan organisasi ini mencapai mesin tertentu, jalankan claude doctor di sana dan baca baris Organization policy, yang mengatakan di mana Claude Code memuat kebijakan atau mengapa tidak memuat. Memerlukan Claude Code v2.1.261 atau lebih baru. Dalam sesi yang berjalan, /status menunjukkan baris yang sama ketika kebijakan tidak memuat.Matikan telemetri untuk organisasi Anda
Claude Code mengirimkan telemetri operasional Anthropic secara default pada sesi yang menggunakan API Anthropic, baik secara langsung, melalui gateway LLM, atau melaluiANTHROPIC_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:
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