Langsung ke konten utama
Pengaturan terkelola server memungkinkan Pemilik organisasi untuk mengonfigurasi Claude Code secara terpusat dari Organization settings > Claude Code > Managed settings di konsol claude.ai. Klien Claude Code secara otomatis mengambil pengaturan ini ketika pengguna melakukan autentikasi dengan kredensial yang memenuhi syarat di platform tempat pengiriman yang dikelola server didukung. Lihat Ketersediaan platform untuk kredensial dan platform yang memenuhi syarat.
Pengaturan yang dikelola server tersedia untuk pelanggan Claude for Teams dan Claude for Enterprise.

Persyaratan

Untuk menggunakan pengaturan yang dikelola server, Anda memerlukan:
  • Paket Claude for Teams atau Claude for Enterprise
  • Peran Owner atau Primary Owner di organisasi Claude Anda, untuk melihat dan mengedit konfigurasi
  • Akses jaringan ke api.anthropic.com

Pilih antara pengaturan yang dikelola server dan endpoint

Claude Code mendukung dua pendekatan untuk konfigurasi terpusat. Pengaturan yang dikelola server mengirimkan konfigurasi dari server Anthropic. Pengaturan yang dikelola endpoint digunakan langsung ke perangkat melalui kebijakan OS asli (preferensi terkelola macOS, registri Windows) atau file pengaturan terkelola. Jika perangkat Anda terdaftar dalam solusi MDM atau manajemen endpoint, pengaturan yang dikelola endpoint memberikan jaminan keamanan yang lebih kuat karena file pengaturan dapat dilindungi dari modifikasi pengguna di tingkat OS. Pengaturan yang dikelola endpoint tidak mencapai sesi cloud di lingkungan yang dihosting Anthropic, jadi organisasi yang pengembangnya menjalankan sesi cloud harus mengonfigurasi pengaturan yang dikelola server juga. Sesi di lingkungan yang dihosting sendiri juga membaca file pengaturan terkelola di gambar runner. Prioritas pengaturan di bawah mengatakan kapan file itu berlaku.

Konfigurasi pengaturan yang dikelola server

1

Buka konsol admin

Di konsol claude.ai, buka Organization settings > Claude Code > Managed settings.Dalam organisasi Team atau Enterprise, jika halaman menyatakan bahwa Anda tidak memiliki akses, minta Owner atau Primary Owner untuk membuat perubahan.
2

Tentukan pengaturan Anda

Tambahkan konfigurasi Anda sebagai JSON. Semua pengaturan yang tersedia di settings.json didukung kecuali yang dibatasi untuk pengiriman kebijakan tingkat OS; lihat Batasan saat ini untuk daftar singkat itu. Ini mencakup hooks, environment variable, dan pengaturan yang hanya dikelola seperti allowManagedPermissionRulesOnly.Contoh ini memberlakukan daftar penolakan izin, mencegah pengguna dari melewati izin, dan membatasi aturan izin hanya pada yang ditentukan dalam pengaturan terkelola. Aturan Bash(curl *) cocok dengan curl seperti yang ditulis Claude, bukan /usr/bin/curl atau sh -c 'curl …'; untuk penegakan jaringan yang tidak bergantung pada teks perintah, tambahkan blok sandbox dengan allowManagedDomainsOnly.
Hooks menggunakan format yang sama seperti di settings.json.Contoh ini menjalankan skrip audit setelah setiap pengeditan file di seluruh organisasi:
Karena hooks menjalankan perintah shell, pengguna dalam sesi interaktif melihat dialog persetujuan keamanan sebelum Claude Code menerapkannya.Untuk mengonfigurasi pengklasifikasi auto mode sehingga mengetahui repositori, bucket, dan domain mana yang dipercaya organisasi Anda, berikan blok autoMode dengan cara yang sama; lihat Konfigurasi auto mode untuk cara entri autoMode mempengaruhi apa yang diblokir pengklasifikasi dan peringatan penting tentang bidang environment, allow, soft_deny, dan hard_deny.
3

Simpan dan terapkan

Simpan perubahan Anda. Klien Claude Code menerima pengaturan yang diperbarui pada startup berikutnya atau siklus polling per jam.Editor memeriksa JSON Anda terhadap skema JSON yang dipublikasikan untuk pengaturan Claude Code. Jika editor menemukan masalah dalam JSON yang dapat di-parse, editor menampilkan peringatan dan mengubah label tombol simpan. Labelnya adalah Update with errors ketika pengaturan sudah disimpan, dan Add with errors ketika belum ada pengaturan yang disimpan. Tombol tersebut tetap menyimpan, karena peringatan skema tidak memblokir penyimpanan.Skema dapat tertinggal dari rilis terbaru, sehingga editor dapat menandai kunci atau nilai yang didokumentasikan dalam referensi pengaturan. Claude Code menerima kunci dan nilai yang Anda simpan dan menjalankan validasinya sendiri saat memuatnya.

Verifikasi pengiriman pengaturan

Untuk mengonfirmasi bahwa pengaturan sedang diterapkan, minta pengguna untuk memulai ulang Claude Code. Jika konfigurasi mencakup pengaturan yang memicu dialog persetujuan keamanan, pengguna melihat prompt yang menjelaskan pengaturan terkelola pada waktu Claude Code mengambilnya berikutnya: pada startup berikutnya, atau dalam satu jam dalam sesi interaktif yang sedang berjalan. Anda juga dapat memverifikasi bahwa aturan izin terkelola aktif dengan meminta pengguna menjalankan /permissions untuk melihat aturan izin efektif mereka. Untuk memeriksa hasil pengambilan pada mesin tertentu, minta pengguna menjalankan claude doctor dan baca baris Managed settings (remote). Memerlukan Claude Code v2.1.248 atau lebih baru. Baris ini melaporkan salah satu dari empat hasil:
  • Pengaturan yang dikirimkan dimuat
  • Organisasi Anda tidak memiliki pengaturan yang dikelola server yang dikonfigurasi
  • Pengambilan gagal, dengan penyebab dan apakah kebijakan yang di-cache masih berlaku
  • Claude Code melewati pengambilan, dengan alasannya. Lihat Ketersediaan platform untuk penyedia dan konfigurasi yang melewatinya
Sementara pengambilan masih berlangsung, baris melaporkan itu sebagai gantinya. Dalam sesi yang sedang berjalan, /status menunjukkan baris yang sama setelah pengambilan gagal, dan untuk beberapa penyebab pengambilan yang dilewati, seperti variabel penyedia pihak ketiga atau ANTHROPIC_BASE_URL kustom yang diekspor dalam shell pengguna.

Kontrol akses

Peran berikut dapat mengelola pengaturan yang dikelola server:
  • Primary Owner
  • Owner
Batasi akses ke personel terpercaya, karena perubahan pengaturan berlaku untuk semua pengguna dalam organisasi.

Pengaturan yang hanya dikelola

Sebagian besar kunci pengaturan bekerja dalam cakupan apa pun. Segelintir kunci hanya dibaca dari pengaturan terkelola dan tidak berpengaruh ketika ditempatkan dalam file pengaturan pengguna atau proyek. Lihat pengaturan yang hanya dikelola untuk kontrol izin dan plugin, atau baca kolom Scope dari indeks Semua pengaturan untuk set lengkapnya.

Batasan saat ini

Pengaturan yang dikelola server memiliki batasan berikut:
  • Pengaturan berlaku secara seragam untuk semua pengguna dalam organisasi. Konfigurasi per-grup belum didukung.
  • Anda tidak dapat mendistribusikan file managed-mcp.json melalui pengaturan yang dikelola server. Berikan kunci kebijakan allowedMcpServers dan deniedMcpServers di sana sebagai gantinya. Pada Claude Code v2.1.259 atau lebih baru, Anda juga dapat menyediakan server jarak jauh dengan managedMcpServers, yang menerima server http dan sse saja dan tidak mengambil kontrol eksklusif seperti yang dilakukan file. Claude Code membaca file managed-mcp.json yang digunakan di jalur sistemnya secara terpisah dari tingkat pengaturan terkelola, jadi file masih berlaku ketika pengaturan yang dikelola server berlaku.
  • Pengaturan yang dibatasi untuk sumber kebijakan tingkat OS, seperti policyHelper dan wslInheritsWindowsSettings, tidak dihormati. Terapkan melalui MDM atau file managed-settings.json sistem sebagai gantinya. policyHelper yang digunakan dengan cara itu berjalan hanya ketika sumbernya adalah yang dipilih di bawah prioritas dalam tingkat terkelola.

Pengiriman pengaturan

Prioritas pengaturan

Pengaturan yang dikelola server dan pengaturan yang dikelola endpoint sama-sama menempati tingkat tertinggi dalam hierarki pengaturan Claude Code. Key yang Anda tetapkan di sini diutamakan daripada key yang sama dalam file pengaturan milik pengguna sendiri atau dalam nilai --settings, kecuali untuk pengecualian terhadap prioritas pengaturan terkelola. Di dalam tingkat terkelola, secara default Claude Code menggunakan sumber pertama yang mengirimkan setidaknya satu key kebijakan, dengan memeriksa pengaturan yang dikelola server terlebih dahulu lalu pengaturan yang dikelola endpoint, kecuali untuk key pengecualian yang dibahas berikutnya. Cara Claude Code menggabungkan sumber terkelola memuat peringkat lengkapnya, pengecualian untuk key kontrol, serta opsi opt-in yang menerapkan setiap sumber. Jika sumber yang dipilih adalah kebijakan MDM atau file pengaturan terkelola yang policyHelper-nya menyediakan pengaturan terkelola, output helper tersebut menggantikan sumber itu sebagai satu-satunya konfigurasi terkelola untuk eksekusi tersebut. Claude Code tidak memeriksa policyHelper yang dikonfigurasi dalam MDM atau pengaturan berbasis file selama pengaturan yang dikelola server mengirimkan key kebijakan. Jika pengambilan berikutnya mendapati pengaturan yang dikelola server telah dihapus, Claude Code langsung menjalankan helper tersebut alih-alih menunggu peluncuran berikutnya. Entri policyHelper menjelaskan apa yang terjadi ketika eksekusi tersebut gagal. Jika Anda mengosongkan konfigurasi yang dikelola server di konsol admin dengan maksud beralih kembali ke kebijakan plist atau registry yang dikelola endpoint, perhatikan bahwa pengaturan yang di-cache tetap ada di mesin klien hingga pengambilan berikutnya berhasil, dan key yang hanya berlaku pada peluncuran berikutnya, seperti model, tetap berlaku hingga setiap klien diluncurkan ulang. Jalankan /status untuk melihat sumber terkelola mana yang aktif.

Pengecualian per key di seluruh sumber terkelola

Key berikut merupakan pengecualian terhadap aturan tanpa penggabungan:
  • Key penguncian lintas sumber: sekumpulan kecil key, seperti kunci allowlist sandbox, yang tercantum di halaman pengaturan terkelola. Claude Code mematuhinya ketika sumber terkelola mana pun yang dikendalikan admin menetapkannya; tingkat registry HKCU yang dapat ditulis pengguna dikecualikan. Ketika policyHelper menyediakan pengaturan terkelola, output-nya adalah satu-satunya sumber yang dibaca oleh pemeriksaan ini, kecuali forceRemoteSettingsRefresh, yang dibaca Claude Code langsung dari sumber admin saat startup.
  • Blok env: selain unit telemetri dan variabel routing yang dipasangkan dengan key kredensial, yang keduanya dibahas di bawah, blok ini digabungkan per key di seluruh sumber yang dikendalikan admin. Untuk setiap environment variable, sumber dengan prioritas tertinggi yang mendefinisikannya menang, dan sumber admin yang lebih rendah mengisi variabel yang tidak ditetapkan oleh sumber yang lebih tinggi. Dengan demikian, entri env yang dikelola endpoint berlaku setiap kali konfigurasi yang dikelola server tidak menetapkan variabel tersebut, atau selama nilai server yang di-cache untuk variabel tersebut ditahan menunggu konfirmasi server. Memerlukan Claude Code v2.1.223 atau yang lebih baru. Sebelum v2.1.223, Claude Code hanya menerapkan seluruh blok env dari sumber yang dipilih.
    • Unit telemetri: key exporter OTEL_EXPORTER_OTLP_*, toggle penangkapan konten OTEL_LOG_*, OTEL_LOGS_EXPORTER, serta variabel tracing beta ENABLE_BETA_TRACING_DETAILED dan BETA_TRACING_ENDPOINT mengikuti sumber tertinggi yang menetapkan salah satunya sebagai satu unit. Sumber yang mengirimkan key kredensial otelHeadersHelper juga mengklaim unit ini, tetapi hanya menerapkan variabel-variabel ini ketika sumber tersebut adalah sumber yang dipilih: sumber yang tidak dipilih tetapi mengirimkan key tersebut tidak menyumbangkan satu pun variabel ini dan tetap mencegah sumber yang lebih rendah mengisinya. Bagaimanapun, endpoint exporter dari satu sumber tidak pernah dapat dipasangkan dengan kredensial dari sumber lain.
    • Routing yang dipasangkan dengan kredensial: sumber yang memasangkan variabel routing dengan key kredensial yang hanya berlaku untuk sumber terpilih, seperti apiKeyHelper atau otelHeadersHelper, menyumbangkan variabel routing tersebut hanya ketika sumber itu memenangkan slot.
  • allowedProviders: daftar yang ditetapkan di mesin dan daftar yang dikelola server digabungkan sebagaimana dinyatakan dalam catatan Cakupan pada entrinya. Memerlukan Claude Code v2.1.285 atau yang lebih baru
  • Key masuk first-party: forceLoginOrgUUID serta nilai "claudeai" dan "console" dari forceLoginMethod. Jika Anda juga men-deploy kebijakan MDM atau file pengaturan terkelola, tetapkan key tersebut di sana dan di pengaturan yang dikelola server dari claude.ai hingga setiap klien menjalankan v2.1.299 atau yang lebih baru. Untuk mengetahui tempat menetapkan key tersebut setelahnya, dan nilai dari sumber mana yang berlaku, lihat Sumber terkelola mana yang menyediakan key login.
  • Key masuk gateway: Claude Code tidak pernah membaca forceLoginGatewayUrl, gatewayInternalNetworks, atau nilai "gateway" dari forceLoginMethod dari pengaturan yang dikelola server, sehingga nilai di sana tidak berlaku maupun menyembunyikan nilai yang ditetapkan dalam kebijakan MDM atau file pengaturan terkelola. Entri managedSourcesBehavior menjelaskan sumber admin mana di mesin yang menyediakannya.

Perilaku pengambilan dan caching

Claude Code mengambil pengaturan dari server Anthropic saat startup dan melakukan polling untuk pembaruan setiap jam selama sesi aktif. Klien yang masuk melalui Claude apps gateway mengambil pengaturannya dari gateway dan menunggu pengambilan tersebut sebelum sesi dimulai, sehingga pengambilan dalam daftar di bawah tidak berlaku untuknya. Menerapkan startup fail-closed menjelaskan apa yang terjadi ketika pengambilan tersebut gagal. Peluncuran pertama tanpa pengaturan yang di-cache:
  • Ketika pengembang masuk saat startup, misalnya pada eksekusi pertama atau setelah /logout, Claude Code menunggu hingga lima detik untuk pengambilan sebelum membuka sesi. Ketika kebijakan tiba tepat waktu, Claude Code menerapkannya sejak layar pertama dan menampilkan companyAnnouncements Anda di sana. Ketika payload memerlukan persetujuan keamanan, Claude Code mengakhiri penantian dan menerapkan payload setelah pengembang menyetujuinya
  • Pada startup lainnya, dan ketika penantian lima detik tersebut habis, Claude Code membuka sesi sementara pengambilan berlanjut, sehingga ada jeda singkat sebelum pengaturan dimuat dan pembatasan berlaku
  • Jika pengambilan gagal, Claude Code melanjutkan tanpa pengaturan yang dikelola server dan memperingatkan dalam sesi interaktif bahwa tidak ada kebijakan jarak jauh yang berlaku; pengaturan yang dikelola endpoint tetap berlaku. Jika sumber terkelola menetapkan forceRemoteSettingsRefresh, Claude Code akan keluar
Peluncuran berikutnya dengan pengaturan yang di-cache:
  • Pengaturan yang di-cache langsung berlaku saat startup, kecuali nilai modelPricing dan managedMcpServers yang di-cache; environment variable yang ditahan Claude Code hingga server mengonfirmasi payload; penghapusan, perubahan posisi, atau penonaktifan penjaga bawaan oleh daftar plugin yang di-cache; dan, pada mesin tempat sumber yang dikelola endpoint mencantumkan atau mengaktifkan plugin-nya sendiri, status organisasi dari plugin yang hanya diaktifkan oleh daftar yang di-cache
  • modelPricing yang di-cache tidak berlaku hingga pengambilan sesi mengonfirmasi payload. Sampai saat itu, angka biaya yang dilihat pengembang di /usage dan baris status menggunakan harga daftar
  • Blok managedMcpServers yang di-cache tidak berlaku hingga pengambilan sesi mengonfirmasi payload. Claude Code menunggu hingga 30 detik untuk pengambilan tersebut sebelum menghubungkan server MCP. Jika pengambilan gagal atau mengalami timeout, sesi dimulai tanpa server milik organisasi, /status menyatakan hal tersebut, dan server-server tersebut terhubung setelah pengambilan berikutnya mengonfirmasinya. Lihat Kapan server yang disediakan terhubung untuk perilaku lengkapnya, termasuk peluncuran pertama. Memerlukan Claude Code v2.1.259 atau yang lebih baru
  • Nilai prependPlugins, appendPlugins, atau enabledPlugins yang di-cache tidak dapat menghapus penjaga bawaan, mengubah posisinya, atau mematikannya hingga pengambilan sesi mengonfirmasi payload
  • Pada mesin tempat sumber yang dikelola endpoint mencantumkan atau mengaktifkan plugin-nya sendiri, plugin yang hanya diaktifkan oleh daftar yang di-cache dianggap sebagai milik pengguna, bukan milik organisasi Anda, hingga pengambilan mengonfirmasi payload
  • Claude Code mengambil pengaturan terbaru di latar belakang
  • Pengaturan yang di-cache tetap bertahan saat terjadi kegagalan jaringan. Jika pengambilan saat startup gagal, Claude Code memperingatkan dalam sesi interaktif bahwa kebijakan yang di-cache sedang berlaku
  • Hingga pengambilan berhasil, nilai yang ditahan saat startup tetap ditahan
Claude Code menahan beberapa kategori variabel dalam blok env yang di-cache hingga server mengonfirmasi payload untuk sesi tersebut. Hal ini mencegah nilai proxy, certificate authority, endpoint, atau kredensial yang di-cache mengalihkan, menyadap, atau mengautentikasi ulang pengambilan pengaturan yang mengonfirmasi payload. Penguatan ini hanya berlaku untuk cache pengaturan yang diambil dari server: pengaturan yang dikelola endpoint yang di-deploy melalui MDM atau managed-settings.json tidak terpengaruh. Kategori yang ditahan meliputi:
  • Konfigurasi proxy dan TLS, seperti HTTPS_PROXY, NODE_EXTRA_CA_CERTS, serta variabel sertifikat klien mTLS CLAUDE_CODE_CLIENT_CERT dan CLAUDE_CODE_CLIENT_KEY
  • Routing API dan pemilihan penyedia, termasuk ANTHROPIC_BASE_URL, variabel pemilihan penyedia seperti CLAUDE_CODE_USE_BEDROCK dan CLAUDE_CODE_USE_VERTEX, serta URL endpoint penyedia seperti ANTHROPIC_BEDROCK_BASE_URL
  • Kredensial autentikasi, seperti ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, dan CLAUDE_CODE_OAUTH_TOKEN
  • Pemilih direktori konfigurasi CLAUDE_CONFIG_DIR
  • Pemilih sumber kredensial dan direktori konfigurasi, di Claude Code v2.1.223 atau yang lebih baru: variabel Workload Identity Federation seperti ANTHROPIC_FEDERATION_RULE_ID dan ANTHROPIC_IDENTITY_TOKEN, pemilih profil dan direktori konfigurasi ANTHROPIC_PROFILE dan ANTHROPIC_CONFIG_DIR, serta variabel direktori sistem operasi HOME, XDG_CONFIG_HOME, APPDATA, dan USERPROFILE
Claude Code membaca variabel Workload Identity Federation serta pemilih ANTHROPIC_PROFILE dan ANTHROPIC_CONFIG_DIR hanya saat startup, sehingga nilai yang dikirim server untuk variabel tersebut tidak mengubah sumber kredensial sesi bahkan setelah pengambilan berhasil. Untuk mengirimkan pemilih tersebut di Claude Code v2.1.223 atau yang lebih baru, gunakan pengaturan yang dikelola endpoint seperti MDM atau managed-settings.json. Untuk CLAUDE_CONFIG_DIR dan variabel direktori sistem operasi, penahanan itu sendirilah yang menjadi perlindungannya: nilai yang di-cache tetap berada di luar environment hingga server mengonfirmasi payload. Setiap key lain dalam blok env yang di-cache berlaku saat startup. Setelah server mengonfirmasi payload, dan Anda menyetujuinya jika payload tersebut memerlukan persetujuan keamanan, variabel yang ditahan berlaku selama sisa sesi. Jika organisasi Anda memerlukan proxy untuk menjangkau api.anthropic.com, penahanan ini hanya memengaruhi blok env yang dikirim server itu sendiri: proxy yang ditetapkan dalam blok env yang dikelola endpoint melalui MDM atau managed-settings.json, dalam environment shell, atau dalam pengaturan pengguna akan menjangkau pengambilan pengaturan. Sumber yang dikelola endpoint memerlukan Claude Code v2.1.223 atau yang lebih baru: nilai proxy yang dikelola server dan di-cache ditahan hingga pengambilan mengonfirmasinya, sehingga nilai yang dikelola endpoint mengisinya per key dan menjangkau pengambilan itu sendiri. Sebelum v2.1.223, gunakan environment shell atau pengaturan pengguna agar proxy berlaku bersamaan dengan payload server yang di-cache. Peluncuran pertama tidak memiliki cache, sehingga sumber yang dikelola endpoint, environment shell, atau pengaturan pengguna tetap diperlukan untuk pengambilan awal. Claude Code menerapkan sebagian besar pembaruan pengaturan ke sesi yang sedang berjalan tanpa perlu memulai ulang. Beberapa pembaruan hanya berlaku pada peluncuran berikutnya, termasuk konfigurasi exporter OpenTelemetry, key model, dan penghapusan variabel dari blok env.

Entri tidak valid dalam pengaturan yang dikirim

Ketika sebagian payload gagal dalam validasi skema, Claude Code menampilkan kesalahan validasi dan menerapkan setiap pengaturan valid yang tersisa; Entri tidak valid dalam pengaturan terkelola menjelaskan apa yang dibuang dan key mana yang beralih ke nilai yang lebih ketat. Memerlukan Claude Code v2.1.169 atau yang lebih baru. Pengiriman yang dikelola server menambahkan perilaku berikut:
  • Startup yang berjalan menggunakan cache di ~/.claude/remote-settings.json memperlakukan entri tidak valid dengan cara yang sama seperti pengambilan yang menulis cache tersebut:
    • Entri yang gagal validasi tetap dibuang.
    • Key yang fail closed mempertahankan nilai yang lebih ketat.
    • Nilai cleanupPeriodDays atau desktopSessionCleanupPeriodDays yang tidak valid tetap berada dalam salinan yang di-cache dan tidak pernah diterapkan.
  • Claude Code tidak menerapkan apa pun dari payload dan membiarkan cache tidak berubah ketika ketiga kondisi berikut terpenuhi:
    • Setiap pengaturan dalam payload gagal validasi.
    • Tidak satu pun di antaranya beralih ke nilai yang lebih ketat.
    • Payload berisi key selain kedua key retensi tersebut.
    Pemberitahuan startup, /status, dan claude doctor kemudian melaporkan kegagalan pemuatan dengan penyebab no setting in the server response could be applied as written, dan entri tersebut menjelaskan kebijakan mana yang digunakan sesi. Klien yang menerapkan startup fail-closed akan keluar saat startup.
  • Dialog persetujuan keamanan mengevaluasi payload yang telah diselamatkan, sehingga entri tidak valid yang dihapus tidak pernah ditampilkan untuk persetujuan dan tidak pernah dieksekusi.
Untuk men-debug masalah pengiriman, jalankan claude --debug-file <path> dan cari Remote settings di log. Validasi perubahan payload dengan claude doctor pada mesin uji sebelum meluncurkannya ke organisasi.

Menerapkan startup fail-closed

Secara default, jika pengambilan pengaturan jarak jauh gagal saat startup, CLI melanjutkan dengan pengaturan yang di-cache dari pengambilan terakhir yang berhasil, kecuali nilai yang ditahan Claude Code hingga pengambilan berhasil. Pada mesin yang belum pernah mengambilnya, CLI melanjutkan tanpa pengaturan yang dikelola server dan tetap menerapkan pengaturan yang dikelola endpoint apa pun di perangkat. Untuk mencegah klien memulai dengan pengaturan yang dikelola server yang di-cache atau tidak ada, tetapkan forceRemoteSettingsRefresh: true dalam pengaturan terkelola Anda. Klien yang masuk melalui Claude apps gateway menunggu pengambilan saat startup terlepas dari apakah Anda menetapkan ini atau tidak, dan menangani pengambilan yang gagal sebagai berikut:
  • Jika gateway menjawab peluncuran interaktif yang diawasi dengan 401 dan pengaturan ini nonaktif, gateway telah mengakhiri proses masuk tersebut. Claude Code mencetak Cloud gateway session expired — run /login to reconnect. dan membuka sesi dalam keadaan keluar dari gateway hingga pengguna menjalankan /login.
  • Ketika pengambilan gagal dengan cara lain, atau pada jenis peluncuran lainnya kecuali subperintah claude auth, klien keluar dengan kesalahan.
Ketika pengaturan ini aktif dalam sesi yang mengambil pengaturan yang dikelola server, CLI memblokir saat startup hingga pengaturan jarak jauh berhasil diambil ulang. Jika pengambilan gagal, CLI keluar alih-alih melanjutkan tanpa kebijakan. Pengaturan ini melanggengkan dirinya sendiri: setelah dikirim dari server, pengaturan ini juga di-cache secara lokal sehingga startup berikutnya menerapkan perilaku yang sama bahkan sebelum pengambilan pertama yang berhasil pada sesi baru. Sesi yang tidak mengambil pengaturan yang dikelola server dimulai tanpa menunggu. Untuk mengaktifkannya, tambahkan key tersebut ke konfigurasi pengaturan terkelola Anda:
Anda juga dapat menetapkan key ini dalam profil MDM yang dikelola endpoint atau file managed-settings.json sistem untuk menerapkan perilaku fail-closed pada peluncuran pertama, sebelum payload server apa pun tiba. Flag ini merupakan pengecualian terhadap aturan prioritas di atas: Claude Code mematuhinya ketika sumber terkelola mana pun yang dikendalikan admin menetapkannya, bahkan jika payload yang dikelola server dan di-cache juga ada, sehingga Claude Code tidak mengabaikan nilai yang dikirim MDM ketika pengaturan yang dikelola server ada. Ketika policyHelper menyediakan pengaturan terkelola, output-nya menggantikan setiap sumber terkelola lainnya untuk key yang dibaca Claude Code setelah startup. Untuk sumber tempat Claude Code membaca key ini, lihat entri pengaturannya. Entri policyHelper menjelaskan dari sumber mana Claude Code membaca helper dan kapan helper dijalankan. Pengambilan pengaturan juga mengirimkan header Cache-Control: no-cache agar proxy HTTP perantara tidak menyajikan respons yang kedaluwarsa. Sebelum mengaktifkan pengaturan ini, pastikan kebijakan jaringan Anda mengizinkan konektivitas ke api.anthropic.com. Jika endpoint tersebut tidak dapat dijangkau, CLI keluar saat startup dan pengguna tidak dapat memulai Claude Code. Subperintah claude auth seperti claude auth login dikecualikan dari pemeriksaan ini dan dari keluarnya startup gateway, sehingga pengguna dapat mengautentikasi ulang ketika kredensial yang kedaluwarsa menjadi penyebab kegagalan pengambilan pengaturan.

Dialog persetujuan keamanan

Pengaturan tertentu yang dapat menimbulkan risiko keamanan memerlukan persetujuan eksplisit dari pengguna sebelum Claude Code menerapkannya dalam sesi interaktif:
  • Pengaturan perintah shell: pengaturan yang mengeksekusi perintah shell, seperti apiKeyHelper, statusLine, dan otelHeadersHelper
  • Pengaturan biner sandbox: sandbox.bwrapPath, sandbox.socatPath, dan sandbox.ripgrep. Masing-masing pengaturan ini menunjuk ke sebuah executable, dan Claude Code menjalankan executable tersebut
  • Pengaturan jaringan dan isolasi sandbox: pengaturan sandbox yang memungkinkan proxy sandbox membaca, mengalihkan, atau mengautentikasi lalu lintas, atau yang melemahkan isolasi sandbox: sandbox.network.tlsTerminate, sandbox.network.httpProxyPort, sandbox.network.socksProxyPort, sandbox.credentials, sandbox.allowAppleEvents, sandbox.allowNestedUserNamespaces, sandbox.enableWeakerNestedSandbox, sandbox.enableWeakerNetworkIsolation, sandbox.filesystem.disabled, sandbox.network.allowAllUnixSockets, sandbox.network.allowUnixSockets, dan sandbox.network.allowMachLookup. Blok sandbox.credentials yang hanya berisi aturan deny tidak memerlukan persetujuan, karena blok tersebut membatasi sandbox tanpa memberikan kredensial kepada proxy. Sebelum v2.1.251, Claude Code menerapkan pengaturan ini tanpa persetujuan
  • Environment variable kustom: variabel env yang dikirim dan memerlukan persetujuan pengguna, seperti variabel proxy dan base-URL; lihat Environment variable dan dialog persetujuan
  • Konfigurasi hook: definisi hook apa pun
Ketika pengaturan ini ada, pengguna melihat dialog keamanan yang menjelaskan apa yang sedang dikonfigurasi. Pengguna harus menyetujui untuk melanjutkan. Jika pengguna menolak pengaturan tersebut, Claude Code akan keluar. CLAUDE.md terkelola yang dikirim melalui key claudeMd tidak memerlukan persetujuan, karena berupa teks instruksi untuk Claude, bukan perintah yang dijalankan Claude Code. Claude Code tetap memeriksa izin untuk tool yang digunakan Claude saat mengikuti instruksi tersebut. Sebelum v2.1.260, nilai claudeMd juga memerlukan persetujuan.

Memori persetujuan

Claude Code mencatat persetujuan Anda di direktori konfigurasi Anda, yaitu ~/.claude kecuali Anda menetapkan CLAUDE_CONFIG_DIR. Apa yang dicatat bergantung pada kredensial yang digunakan oleh pengambilan pengaturan:
  • Login claude.ai yang disimpan oleh /login atau claude auth login, atau proses masuk Console tanpa kunci: satu persetujuan per organisasi, dipegang oleh akun yang terakhir menyetujuinya.
  • Proses masuk Claude apps gateway: satu persetujuan per gateway. Jika Anda keluar lalu masuk kembali ke gateway yang sama, Claude Code tidak menampilkan dialog lagi selama pengaturan yang memerlukan persetujuan tidak berubah. Claude Code menampilkannya lagi ketika pengaturan tersebut berubah, ketika Anda masuk ke gateway yang berbeda, dan ketika Anda menerima sertifikat baru untuk gateway yang sama. Claude Code tidak menyimpan persetujuan untuk gateway pengembangan loopback yang dijangkau melalui HTTP biasa, sehingga dialog muncul lagi setelah setiap proses masuk.
  • Kredensial lainnya, seperti kunci API atau CLAUDE_CODE_OAUTH_TOKEN: satu persetujuan untuk pengaturan yang dikirim, disimpan bersama salinan pengaturan yang di-cache di direktori konfigurasi tersebut. Claude Code menampilkan dialog lagi ketika pengaturan yang memerlukan persetujuan berubah, dan setelah Anda menjalankan /logout atau claude auth logout, yang masing-masing menghapus salinan yang di-cache.
Persetujuan untuk sandbox.credentials atau sandbox.network.tlsTerminate juga mencakup entri sandbox.network.allowedDomains dalam pengaturan yang dikirim yang sama, karena kedua pengaturan tersebut bekerja pada allowlist tersebut. Dialog muncul lagi ketika administrator Anda menambahkan atau menghapus salah satu entri tersebut, meskipun sandbox.network.allowedDomains sendiri tidak memerlukan persetujuan. Dengan login claude.ai yang tersimpan:
  • Jika Anda keluar lalu masuk kembali, atau beralih ke organisasi lain lalu kembali, Claude Code tidak menampilkan dialog lagi selama pengaturan tersebut tidak berubah, kecuali akun lain menyetujuinya untuk organisasi tersebut di direktori konfigurasi yang sama di antara waktu tersebut.
  • Jika Anda masuk ke organisasi yang sama dengan akun yang berbeda, Claude Code menampilkan dialog lagi meskipun pengaturannya tidak berubah. Persetujuan akun tersebut menggantikan persetujuan sebelumnya, sehingga ketika Anda beralih kembali, Claude Code menampilkan dialog sekali lagi.
Claude Code tidak selalu dapat menampilkan dialog. Setiap kasus di bawah menjelaskan pengaturan mana yang berlaku ketika dialog tidak dapat ditampilkan dan kapan Anda akan melihat dialog berikutnya:
  • Sesi interaktif yang tidak dapat menampilkan dialog: Claude Code tidak menerapkan pengaturan yang dikirim dan mempertahankan pengaturan yang terakhir disetujui. Dialog muncul di sesi berikutnya yang dapat menampilkannya.
  • claude install atau claude update: Claude Code tidak menampilkan dialog selama kedua perintah tersebut. Perintah berjalan dengan pengaturan yang terakhir disetujui, dan dialog muncul di sesi interaktif Anda berikutnya. Jika Claude Code menunggu pengambilan pengaturan saat startup, seperti ketika forceRemoteSettingsRefresh ditetapkan atau pada deployment Claude apps gateway, Claude Code menampilkan dialog selama perintah tersebut, dan instalasi yang dijalankan dari pipe akan gagal; lihat Raw mode is not supported selama instalasi. Sebelum v2.1.246, Claude Code juga mencoba menampilkan dialog selama perintah-perintah ini.
  • Perintah claude plugin yang mencetak ke terminal tetapi tidak dapat membaca dari keyboard: ketika Claude Code tidak menunggu pengambilan pengaturan saat startup, perintah tersebut tidak menerapkan pengaturan yang dikirim. Tanpa pengaturan yang di-cache, perintah yang mengubah plugin atau marketplace Anda berhenti dengan kesalahan. Dengan pengaturan yang di-cache, perintah berjalan dengan pengaturan yang terakhir disetujui. Dialog muncul saat Anda berikutnya menjalankan claude di terminal. Perintah tersebut tidak dapat membaca dari keyboard ketika Anda melakukan pipe atau mengalihkan input-nya dan, di macOS dan Linux, perintah tersebut juga tidak dapat membuka /dev/tty. Jika Anda juga melakukan pipe atau mengalihkan output-nya, eksekusi tersebut menjadi non-interaktif, dan pengaturan yang dikirim hanya berlaku untuk eksekusi tersebut.
  • Kesalahan menutup dialog sebelum Anda menjawab: Claude Code tidak menerapkan pengaturan yang dikirim dan mempertahankan pengaturan yang terakhir disetujui. Claude Code menampilkan dialog lagi di sesi berikutnya yang dapat menampilkannya.
  • Eksekusi non-interaktif, seperti claude -p, sesi Agent SDK, atau sesi di panel chat ekstensi VS Code atau tab Code aplikasi desktop: Claude Code tidak dapat menampilkan dialog. Ketika pengaturan yang dikirim memerlukan persetujuan, pengaturan tersebut hanya berlaku untuk eksekusi tersebut. Claude Code tidak mencatat pengaturan tersebut sebagai disetujui atau menuliskannya ke cache lokal, dan sesi interaktif berikutnya menampilkan dialog. Hingga pengguna menyetujui dalam sesi interaktif, setiap eksekusi non-interaktif mengambil pengaturan lagi saat startup.

Environment variable dan dialog persetujuan

Claude Code menerapkan beberapa variabel env yang dikirim tanpa menampilkan dialog persetujuan kepada pengguna, termasuk:
  • Toggle fitur dan perintah
  • Pengaturan pemilihan dan perilaku model, seperti ANTHROPIC_MODEL, DISABLE_PROMPT_CACHING, dan CLAUDE_CODE_EFFORT_LEVEL
  • Pengaturan context window dan compaction, seperti DISABLE_AUTO_COMPACT, tetapi tidak termasuk CLAUDE_CODE_DISABLE_1M_CONTEXT
  • Opsi UI terminal dan aksesibilitas
  • Batas numerik, anggaran, dan timeout
Variabel lain yang dikirim dapat memerlukan persetujuan pengguna sebelum berlaku. Misalnya, dalam sesi interaktif, variabel berikut selalu memerlukannya pada nilai tidak kosong apa pun:
  • Variabel proxy atau base-URL
  • OTEL_EXPORTER_OTLP_ENDPOINT
  • CLAUDE_CODE_DISABLE_1M_CONTEXT
Ketika variabel yang dikirim memerlukan persetujuan, dialog menyebutkan namanya, sehingga pengguna melihat dengan tepat apa yang diminta kebijakan untuk ditetapkan. Claude Code menentukan apakah empat toggle privasi memerlukan persetujuan berdasarkan nilai yang dikirim, bukan berdasarkan nama variabel: CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, DISABLE_ERROR_REPORTING, DISABLE_TELEMETRY, dan DO_NOT_TRACK. Nilai truthy seperti 1 atau true hanya mematikan pelacakan, pelaporan, atau lalu lintas nonesensial lainnya, sehingga Claude Code menerapkannya tanpa meminta pengguna. Untuk nilai tidak kosong lainnya, Claude Code menampilkan dialog. Claude Code juga menentukan apakah API_FORCE_IDLE_TIMEOUT memerlukan persetujuan berdasarkan nilai yang dikirim: nilai truthy hanya mengaktifkan body idle timeout, sehingga Claude Code menerapkannya tanpa meminta pengguna. Untuk nilai tidak kosong lainnya, Claude Code menampilkan dialog. Sebelum v2.1.248, nilai tidak kosong apa pun memicu dialog. Apakah ANTHROPIC_CUSTOM_HEADERS memerlukan persetujuan juga bergantung pada nilai yang dikirim. Header yang hanya menandai permintaan, seperti Accept-Language, berlaku tanpa dialog. Baris yang menyebutkan kredensial, pemilih org atau tenant, override routing atau host, atau header perilaku API, seperti Authorization, X-Api-Key, Host, anthropic-beta, atau header X-Amzn-Bedrock-*, memerlukan persetujuan. Sebuah baris juga memerlukan persetujuan ketika namanya bukan token header HTTP yang valid atau nilainya berisi karakter yang tidak dapat dibawa oleh header HTTP. Pemeriksaan ini mencocokkan kata-kata di dalam nama header, sehingga X-Client-Version, yang mengandung client dan version, juga memerlukan persetujuan. Sebelum v2.1.251, nilai ANTHROPIC_CUSTOM_HEADERS apa pun berlaku tanpa persetujuan. Nilai falsy seperti 0 atau false untuk ENABLE_BETA_TRACING_DETAILED atau OTEL_LOG_RAW_API_BODIES berlaku tanpa dialog, karena nilai tersebut hanya mematikan tracing terperinci atau penangkapan body API mentah. Nilai tidak kosong lainnya untuk salah satu variabel tersebut memerlukan persetujuan.

Ketersediaan platform

Pengaturan yang dikelola server memerlukan koneksi langsung ke api.anthropic.com. Pengiriman juga memerlukan sesi untuk melakukan autentikasi dengan salah satu kredensial berikut:
  • Login OAuth Team atau Enterprise
  • Token OAuth yang disediakan melalui CLAUDE_CODE_OAUTH_TOKEN
  • Kunci API yang dikonfigurasi secara langsung
  • Profil user_oauth Anthropic, kecuali profil menetapkan base_url selain API Anthropic. Memerlukan Claude Code v2.1.257 atau lebih baru.
Kunci yang dikembalikan oleh skrip apiKeyHelper maupun kredensial Workload Identity Federation tidak memicu pengambilan pengaturan. Sebuah sesi menerima pengaturan terkelola dari organisasi yang memiliki kredensial yang digunakan sesi tersebut untuk melakukan autentikasi. Kunci API dari Claude Console dimiliki oleh organisasi Console tempat kunci tersebut dibuat, yang merupakan organisasi terpisah dari organisasi Team atau Enterprise claude.ai Anda. Oleh karena itu, pengaturan yang Anda konfigurasikan di Admin Settings claude.ai tidak mencapai sesi yang melakukan autentikasi dengan kunci tersebut, seperti job CI yang menggunakan kunci API Console perusahaan Anda. Untuk menerapkannya ke job tersebut, gunakan salah satu opsi berikut. Opsi token OAuth tidak berlaku untuk job yang berjalan dengan --bare, karena bare mode tidak membaca CLAUDE_CODE_OAUTH_TOKEN.
  • Token OAuth: buat token dengan claude setup-token, otorisasi token tersebut untuk organisasi Team atau Enterprise Anda, dan atur sebagai CLAUDE_CODE_OAUTH_TOKEN di environment job. Hapus kredensial apa pun yang diutamakan daripada token dari environment tersebut, seperti ANTHROPIC_API_KEY.
  • Pengaturan terkelola endpoint: deploy file pengaturan terkelola ke mesin yang menjalankan job.
Dalam sesi Cowork di aplikasi Claude Desktop, Claude Code tidak mengambil pengaturan terkelola server dari konsol admin claude.ai, bahkan ketika pengguna masuk dengan akun Team atau Enterprise. Di mana dan kapan kebijakan berlaku mencakup kebijakan mana yang mencapai sesi Cowork di mesin pengguna dan sesi Cowork jarak jauh. claude.ai masih menerapkan daftar strictKnownMarketplaces dan blockedMarketplaces Anda sendiri ketika pengguna Cowork menambahkan marketplace dari repositori git di claude.ai atau dari Customize di Cowork. Bagaimana pembatasan bekerja menjelaskan pemeriksaan tersebut. Jika Anda mengekspor variabel penyedia CLAUDE_CODE_USE_* atau ANTHROPIC_BASE_URL non-default di shell Anda, Claude Code melewati pengambilan pengaturan untuk sesi Anda. claude doctor dan /status melaporkan pengambilan yang dilewati dan penyebabnya. Anda tidak dapat menghapus ekspor dengan blok env yang dikelola server, karena blok tiba melalui pengambilan yang dicegah oleh ekspor. Blok env pengaturan yang dikelola endpoint juga tidak mengembalikan pengambilan: Claude Code memeriksa kelayakan sebelum menerapkan blok env yang dikelola, jadi nilai yang dikelola endpoint mengubah pemilihan penyedia sesi tetapi pengambilan tetap dilewati. Untuk mengembalikan pengiriman yang dikelola server, hapus ekspor dari shell Anda, atau atur variabel ke "" di blok env pengaturan pengguna Anda, yang diterapkan sebelum pemeriksaan kelayakan. Untuk memberlakukan kebijakan tanpa mengandalkan pengguna untuk mengubah shell mereka, berikan pengaturan melalui saluran yang dikelola endpoint sebagai gantinya. Untuk penyebaran Amazon Bedrock, Platform Agen Google Cloud, Microsoft Foundry, dan Claude Platform on AWS, gateway aplikasi Claude yang di-host sendiri menyediakan pengiriman pengaturan yang dikelola jarak jauh yang setara: klien yang masuk ke gateway mengambil pengaturan yang dikelola dari gateway alih-alih api.anthropic.com. Semantik kegagalan berbeda saat startup: klien gateway yang tidak dapat menjangkau gateway keluar dengan kesalahan alih-alih kembali ke pengaturan yang di-cache, sementara penyegaran latar belakang per jam adalah fail-open di kedua saluran.

Audit logging

Acara log audit untuk perubahan pengaturan tersedia melalui API kepatuhan atau ekspor log audit. Hubungi tim akun Anthropic Anda untuk akses. Acara audit mencakup jenis tindakan yang dilakukan, akun dan perangkat yang melakukan tindakan, dan referensi ke nilai sebelumnya dan baru.

Pertimbangan keamanan

Pengaturan yang dikelola server menyediakan penegakan kebijakan terpusat, tetapi mereka beroperasi sebagai kontrol sisi klien, bukan batas keamanan. Pada perangkat yang tidak dikelola, pengguna tidak perlu akses admin atau sudo untuk melewatinya. Untuk mencatat pengeditan file pengaturan lokal, termasuk managed-settings.json, gunakan hook ConfigChange. Claude Code tidak menjalankannya ketika pengaturan yang dikelola server tiba atau menyegarkan, atau ketika profil MDM atau kebijakan registri berubah, dan hook tidak dapat memblokir perubahan policy_settings. Untuk membatasi organisasi mana yang dapat diakses pengguna Anda dengan kredensial yang disediakan klien, lihat Enforce network-level access control with Tenant Restrictions di Claude Help Center. Untuk jaminan penegakan yang lebih kuat, gunakan pengaturan yang dikelola endpoint pada perangkat yang terdaftar dalam solusi MDM.

Lihat juga

Halaman terkait untuk mengelola konfigurasi Claude Code: