~/.claude.json sebagai gantinya. Untuk memilih file, atau memeriksa prioritas, mulai dengan File pengaturan dan prioritas.
Indeks pengaturan
Setiap kunci di bawah menautkan ke entrinya. Scope mencantumkan file tempat kunci dapat digunakan:User adalah ~/.claude/settings.json, Project adalah .claude/settings.json, Local adalah .claude/settings.local.json, dan Managed adalah apa yang organisasi Anda terapkan. Any file berarti keempat file tersebut, dan Global config berarti ~/.claude.json.
Model dan respons
Pilih model mana yang digunakan Claude Code dan cara meresponsnya. Untuk cara pengaturan ini berinteraksi dengan perintah/model dan variabel lingkungan, lihat Konfigurasi model.
advisorModel
Pilih model mana yang menjawab ketika Claude memanggil alat advisor di sisi server. Biarkan tidak disetel untuk mematikan advisor. Advisor harus setidaknya sama mampu dengan model utama Anda. Lihat Pilih model advisor untuk pasangan yang diterima dan apa yang terjadi ketika Anda memilih yang tidak diterima.
Anda biasanya tidak mengedit kunci ini dengan tangan. Jalankan /advisor untuk membuka pemilih yang menunjukkan pilihan saat ini, model yang dapat memberikan saran, dan Tidak ada advisor. Claude Code menyimpan pilihan Anda ke kunci ini di ~/.claude/settings.json. Jika Anda memilih dari klien Remote Control atau dalam sesi yang terpasang ke pekerja jarak jauh, pilihan berlaku hanya untuk sesi itu dan tidak mengubah kunci ini.
Jika akun Anda memerlukan persetujuan kredit penggunaan, terima terlebih dahulu dengan menjalankan /model fable. Sampai Anda melakukannya, memilih Fable di /advisor tidak menyimpan apa pun dan Claude Code memberi tahu Anda untuk menjalankan /model fable terlebih dahulu.
- Scope:
Any file - Type: string, salah satu alias
"fable","opus", atau"sonnet", yang diselesaikan ke versi default Claude Code saat ini dari keluarga model itu, atau ID model lengkap seperti"claude-opus-5-5" - Default: tidak disetel, jadi advisor dimatikan
- Per-session overrides:
--advisormengambil alih kunci ini untuk satu sesi.CLAUDE_CODE_DISABLE_ADVISOR_TOOLmematikan advisor, dan kunci ini tidak dapat menghidupkannya kembali
settings.json
"fable" memerlukan akses Fable.
alwaysThinkingEnabled
Matikan extended thinking untuk setiap sesi dengan menetapkan ini ke false. Thinking aktif secara default, jadi true tidak mengubah apa pun. Sebagian besar orang menetapkan ini melalui /config daripada mengedit file.
Pada model yang selalu berpikir, seperti Opus 5.5, Sonnet 5.5, Haiku 5.5, dan model Fable, false tidak berpengaruh. Pada penyedia pihak ketiga Claude Code menghilangkan parameter thinking daripada mematikan thinking, jadi model adaptive-reasoning mungkin masih berpikir. Dengan thinking dimatikan di Anthropic API, Claude Code mengirim effort high daripada level yang lebih tinggi ke model yang diketahui tidak menerima kombinasi itu, seperti Opus 5.
- Scope:
Any file - Type: Boolean
true: tidak berpengaruh; thinking sudah aktiffalse: Claude Code mematikan extended thinking untuk setiap sesi
- Default: tidak disetel, jadi thinking aktif untuk model yang mendukungnya
- Per-session overrides:
MAX_THINKING_TOKENSmengambil alih kunci ini untuk satu sesi:0mematikan thinking, di bawah batasan model dan penyedia yang sama sepertifalse, dan nilai positif menghidupkan thinking bahkan ketika kunci inifalse. Pada model adaptive-reasoning angka itu sendiri diabaikan
settings.json
availableModels
Batasi model mana yang dapat dipilih orang untuk sesi utama, subagents, skills, dan advisor. Daftar terkelola membatasi /model, --model, dan kunci model dalam file pengembang sendiri; model di luar itu tidak dapat dipilih. Dengan pencocokan awalan default, ini tidak menyentuh opsi Default dengan sendirinya; pasangkan dengan enforceAvailableModels untuk itu.
- Scope:
Any file. Terapkan dalam pengaturan terkelola untuk memberlakukannya untuk organisasi. - Type: array alias model atau ID
- Default: tidak disetel, jadi setiap model tersedia
settings.json
"claude-opus-5" juga memungkinkan versi yang lebih baru yang memperpanjangnya, seperti Opus 5.5. Untuk memblokir salah satu versi itu, gunakan deniedModels. Untuk membuat setiap entri ID model hanya memungkinkan versi yang dinamainya, gunakan availableModelsMatch. Lihat Batasi pemilihan model.
availableModelsMatch
Pilih bagaimana entri availableModels cocok dengan ID model. Secara default entri ID model juga memungkinkan versi yang lebih baru yang memperpanjangnya, jadi "claude-opus-5" memungkinkan Opus 5.5. Dengan "exact", setiap entri ID model hanya memungkinkan versi yang dinamainya, jadi versi yang lebih baru dari model itu tetap diblokir sampai Anda mencantumkannya. Memerlukan Claude Code v2.1.283 atau lebih baru.
- Scope:
Managed. Claude Code mengabaikan kunci dalam pengaturan pengguna, proyek, dan lokal serta dalam--settings, dengan peringatan - Type: string, salah satu dari:
"prefix": entri ID model memungkinkan versinya dan ID model apa pun yang memperpanjangnya dengan segmen lain"exact": entri ID model hanya memungkinkan versi yang dinamainya, termasuk ID tanggal versi itu, jadi"claude-opus-5"memungkinkan Opus 5 tetapi bukanclaude-opus-5-5. Alias keluarga seperti"opus"masih memungkinkan seluruh keluarga, dan entribest,opusplan, dandefaultdiabaikan
- Default:
"prefix"
managed-settings.json
"exact", opsi Default juga dibatasi pada model yang tercantum kapan pun daftar menamai setidaknya satu model atau keluarga. Lihat Blokir model atau versi tertentu.
deniedModels
Blokir model tertentu, dengan atau tanpa daftar availableModels dan bahkan ketika daftar itu memungkinkannya. Claude Code menyembunyikan model yang diblokir dari pemilih /model, dan model tidak dapat dipilih di mana pun availableModels diberlakukan. Sesi pada opsi Default juga tidak menjalankan model yang diblokir, seperti yang dijelaskan Blokir model atau versi tertentu. Memerlukan Claude Code v2.1.283 atau lebih baru.
- Scope:
Managed. Claude Code mengabaikan kunci dalam pengaturan pengguna, proyek, dan lokal serta dalam--settings, dengan peringatan - Type: array alias model atau ID
- Alias keluarga seperti
"opus"memblokir setiap model dalam keluarga itu - ID model seperti
"claude-opus-5-5"memblokir versi itu dalam setiap ejaan, termasuk ID tanggal dan khusus penyedia - ID model tanpa versi minor, seperti
"claude-opus-5", juga memblokir versi minor yang lebih baru seperti Opus 5.5. Tulis"claude-opus-5-0"untuk memblokir Opus 5 saja - Entri
best,opusplan, dandefaultdiabaikan
- Alias keluarga seperti
- Default: tidak disetel, jadi tidak ada model yang diblokir
managed-settings.json
effortLevel
Tetapkan tingkat effort default untuk model yang belum Anda simpan tingkatnya. Level yang lebih rendah lebih cepat dan lebih murah pada tugas yang mudah, dan level yang lebih tinggi bernalar lebih dalam pada masalah yang kompleks.
Ketika Anda menjalankan /effort low, medium, high, atau xhigh dalam sesi interaktif di mesin Anda, Claude Code menyimpan level untuk model aktif di bawah modelSettings daripada menulis kunci ini. Sebelum v2.1.251, /effort menulis kunci ini.
Dalam file pengaturan yang sama, Claude Code menggunakan level yang disimpan model daripada kunci ini. modelSettings menyatakan preseden lintas file.
Dalam sesi yang terpasang ke pekerja jarak jauh, dalam jalankan -p, dan dalam Agent SDK, /effort berlaku hanya untuk sesi itu. Sesuaikan tingkat effort mencantumkan pilihan interaktif yang juga berlaku hanya untuk sesi itu. Pesan yang dicetak /effort mengatakan mana yang terjadi.
- Scope:
Any file - Type: string, salah satu dari:
"low": penalaran paling sedikit, untuk tugas pendek, terbatas, sensitif latensi yang bukan sensitif intelijen"medium": mengurangi penggunaan token untuk pekerjaan sensitif biaya yang dapat menukar beberapa intelijen"high": menyeimbangkan penggunaan token dan intelijen"xhigh": penalaran lebih dalam dengan pengeluaran token yang lebih tinggi
- Default: tidak disetel
- Per-session overrides:
--effortmengambil alih kunci ini untuk satu sesi, danCLAUDE_CODE_EFFORT_LEVELmengambil alih keduanya
settings.json
~/.claude/settings.json, kunci ini adalah bentuk yang lebih lama /effort ditulis sebelum menyimpan level per model, dan terus berlaku di mana ia berlaku sebelumnya, pada Opus 5, Fable 5.1, dan model yang lebih awal. Opus 5.5 dan model yang dirilis setelahnya mengabaikannya dan mulai pada default mereka sendiri sampai Anda menyimpan level untuk mereka, yang ditulis /effort di bawah modelSettings. Dalam pengaturan proyek, lokal, dan terkelola, dan dengan --settings, kunci ini berlaku untuk setiap model.
enforceAvailableModels
Pemilih /model memiliki opsi Default, dan default model setting menjelaskan model yang diselesaikannya. Daftar availableModels membatasi model yang dapat Anda beri nama, tetapi dengan pencocokan awalan default itu tidak memetakan ulang default tipe akun Anda, jadi Default masih dapat diselesaikan ke model di luar daftar. Kunci ini menutup celah itu. Memerlukan Claude Code v2.1.175 atau lebih baru.
Ketika organisasi Anda menerapkan pengaturan terkelola apa pun, Claude Code membaca kunci ini dari sumber terkelola saja dan mengabaikannya dalam file lain Anda.
Untuk cara kunci ini berlaku pada pemeriksaan model saat startup, lihat Amazon Bedrock dan Agent Platform Google Cloud.
- Scope:
Any file - Type: Boolean
true: ketika Default akan diselesaikan ke model di luaravailableModels, Claude Code menyelesaikannya ke model pertama yang tersedia dalam daftarfalse: kunci ini tidak mengubah cara Default diselesaikan
- Default:
false
settings.json
availableModels tidak disetel atau kosong. Lihat Berlakukan daftar untuk model Default. Memerlukan Claude Code v2.1.175 atau lebih baru.
fallbackModel
Beri nama model cadangan untuk Claude Code coba, secara berurutan, ketika model utama Anda kelebihan beban atau tidak tersedia. Claude Code beralih ke model yang tersedia berikutnya dalam rantai untuk sisa giliran dan menunjukkan pemberitahuan. Tanpa rantai, Claude Code mencoba ulang model yang sama dan kemudian menampilkan kesalahan server, dan Anda mencoba ulang atau beralih model sendiri.
Beralih berarti satu giliran dengan cache prompt dingin pada model fallback; pesan Anda berikutnya mencoba model utama terlebih dahulu lagi.
- Scope:
Any file - Type: array alias model atau ID;
"default"berkembang ke model default - Default: tidak disetel, jadi permintaan yang gagal tidak dicoba ulang pada model lain
- Per-session overrides:
--fallback-modelmengambil alih kunci ini untuk satu sesi
settings.json
["claude-sonnet-5"] dan file pengguna Anda menetapkan ["claude-haiku-4-5"], rantainya adalah ["claude-sonnet-5"] saja. Claude Code menyimpan paling banyak tiga model yang diizinkan berbeda dari daftar dan mengabaikan sisanya. Lihat Rantai model fallback.
fastMode
Hidupkan fast mode untuk sesi tempat tersedia, untuk pekerjaan interaktif seperti iterasi cepat atau debugging langsung tempat Anda menginginkan kecepatan dengan biaya yang lebih tinggi per token. Anda biasanya tidak mengedit kunci ini dengan tangan: menjalankan /fast menulis fastMode: true ke ~/.claude/settings.json, dan menjalankannya lagi untuk mematikan fast mode menghapus kunci. Fast mode berjalan hanya pada Opus 5.5, Opus 5, dan Opus 4.8: menghidupkannya dari model lain beralih Anda ke Opus, dan beralih ke model yang tidak didukung mematikannya. Lihat Beralih model saat fast mode aktif.
- Scope:
Any file - Type: Boolean
true: Claude Code menghidupkan fast mode untuk sesi tempat tersediafalse: fast mode tetap mati
- Default: tidak disetel, jadi fast mode mati
- Per-session overrides:
CLAUDE_CODE_DISABLE_FAST_MODEmematikan fast mode untuk satu sesi, dan kunci ini tidak dapat menghidupkannya kembali
settings.json
fastModePerSessionOptIn
Biasanya, menjalankan /fast menyimpan fastMode ke pengaturan pengguna seseorang, jadi fast mode aktif di awal setiap sesi yang lebih baru. Tetapkan kunci ini ke true untuk menghentikan itu: fastMode: true yang disimpan tidak lagi menghidupkan fast mode di awal sesi, dan setiap orang harus menjalankan /fast dalam setiap sesi yang mereka inginkan. Claude Code meninggalkan kunci fastMode dalam file mereka, jadi mematikan kunci ini mengembalikan perilaku lama.
Pemilik pada paket Team atau Enterprise dapat menerapkannya di seluruh organisasi melalui pengaturan terkelola server. Ketika pengaturan terkelola menetapkan kunci, /fast on ditolak di luar sesi terminal interaktif dan melaporkan bahwa organisasi Anda telah menonaktifkan fast mode. Itu mencakup mode non-interaktif, ekstensi VS Code, dan sesi cloud.
- Scope:
Any file - Type: Boolean
true:fastMode: trueyang disimpan tidak lagi menghidupkan fast mode di awal sesi, jadi setiap orang menjalankan/fastdalam setiap sesi yang mereka inginkan;fastMode: trueyang dilewatkan dengan--settingsmasih dihitung untuk sesi itu kecuali pengaturan terkelola menetapkan kunci inifalse:fastMode: trueyang disimpan menghidupkan fast mode di awal setiap sesi yang lebih baru
- Default:
false
settings.json
language
Buat Claude merespons dalam bahasa selain Inggris secara default. Tidak ada daftar tetap untuk respons: Claude Code meneruskan nilai secara harfiah ke Claude sebagai instruksi untuk selalu merespons dalam bahasa itu, jadi nama bahasa apa pun yang dapat dibaca Claude berfungsi. Claude Code tidak memeriksa nilai, jadi nama yang salah eja mencapai Claude seperti yang ditulis daripada menghasilkan kesalahan. Nilai yang sama menetapkan bahasa untuk voice dictation, yang memiliki daftar tetap bahasa dictation yang didukung, dan untuk judul sesi yang dibuat secara otomatis.
- Scope:
Any file - Type: string, nama bahasa apa pun, seperti
"japanese","spanish", atau"french"; Claude Code tidak memvalidasinya - Default: tidak disetel; judul sesi kemudian cocok dengan bahasa percakapan Anda
settings.json
maxEffortLevel
Batasi tingkat effort yang dapat digunakan sesi, meninggalkan level yang lebih rendah tersedia. Level yang lebih tinggi apa pun berjalan pada batas sebagai gantinya, termasuk dari /effort, pemilih /model, --effort, CLAUDE_CODE_EFFORT_LEVEL, frontmatter effort skill atau subagent, atau default model itu sendiri. Claude Code menerapkan batas itu sendiri sebelum setiap permintaan, jadi itu berlaku pada setiap penyedia, termasuk Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry. Memerlukan Claude Code v2.1.267 atau lebih baru.
- Scope:
Any file. Terapkan dalam pengaturan terkelola untuk memberlakukannya untuk organisasi. Ketika beberapa scope menetapkan batas, yang terendah berlaku, jadi batas yang ditetapkan dalam satu scope tidak dapat dinaikkan dari scope lain - Type: string, salah satu dari
"low","medium","high","xhigh", atau"max". Nilai"max"tidak menetapkan batas - Default: tidak disetel, jadi tidak ada batas yang berlaku
- Per-model caps: tambahkan
maxEffortLevelke entrimodelSettingsmodel. Entri itu menggantikan kunci ini untuk model saja dalam sumber pengaturan yang menetapkan keduanya, seperti pengaturan pengguna Anda atau satu sumber terkelola. Tetapkan"max"di sana untuk mengecualikan model dari batas sumber itu; Claude Code masih menerapkan batas dari sumber lain
medium dan mengecualikan Sonnet 4.6:
settings.json
model
Tetapkan model yang digunakan setiap sesi baru, jadi Anda tidak harus memilih satu dengan /model setiap kali. Menetapkannya di sini tidak menghentikan Anda dari beralih di tengah sesi. Jika admin Anda menetapkan model default organisasi untuk mengesampingkan pilihan pengguna, Anda mendapatkan model itu bahkan ketika Anda menetapkan kunci ini dalam pengaturan pengguna, proyek, atau lokal.
- Scope:
Any file - Type: string, alias model atau ID model lengkap
- Default: tidak disetel, jadi Claude Code menggunakan model default akun Anda
- Per-session overrides:
--modelmengambil alihANTHROPIC_MODEL, dan keduanya mengambil alih kunci ini untuk satu sesi, termasuk atasmodelterkelola; daftaravailableModelsmasih berlaku untuk pilihan
settings.json
ANTHROPIC_DEFAULT_MODEL, yang Claude Code gunakan hanya ketika tidak ada yang lain memilih model.
modelOverrides
Petakan ID model Anthropic ke ID model khusus penyedia, seperti ARN profil inferensi Amazon Bedrock. Setiap entri pemilih model kemudian menggunakan nilai yang dipetakan saat memanggil API penyedia. Administrator menggunakan ini pada Amazon Bedrock, Agent Platform Google Cloud, dan Microsoft Foundry untuk merutekan setiap versi model ke profil inferensi, nama versi, atau deployment tertentu untuk tata kelola, alokasi biaya, atau perutean regional.
- Scope:
Any file - Type: object memetakan ID model ke ID model penyedia
- Default: tidak disetel
settings.json
modelPicker
Daftar model yang ditawarkan pemilih /model, dalam urutan yang Anda tulis dan di bawah label yang Anda pilih, jadi pemilih mencantumkan model yang dijalankan organisasi Anda, setelah barisan bawaan atau sebagai gantinya. model setiap baris diambil secara harfiah, jadi itu menerima apa pun yang diterima --model: alias seperti opus, ID model Anthropic, atau ID format penyedia untuk Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry, atau gateway LLM. Memerlukan Claude Code v2.1.242 atau lebih baru.
- Scope:
User or managed. Claude Code membaca kunci dari pengaturan terkelola,--settings, dan pengaturan pengguna, dan mengabaikannya dalam pengaturan proyek dan lokal jadi repositori yang Anda klon tidak dapat memberi label ulang pemilih. Yang tertinggi dari ketiga itu yang menetapkan kunci memasok seluruh barisan, dan Claude Code tidak pernah menggabungkan barisan dari dua sumber. - Type: object dengan array
optionsdari baris dan BooleanreplaceBuiltInOptionsopsional - Default: tidak disetel, jadi pemilih menunjukkan barisan bawaan
managed-settings.json
Bidang untuk modelPicker
Kunci mengambil dua bidang, satu untuk baris itu sendiri dan satu untuk apakah mereka menggantikan barisan bawaan atau menambahnya.
Entri dalam
options juga dapat membawa behavesAs string opsional di samping model nya, yang memerlukan v2.1.257 atau lebih baru. Tetapkan ke ID model yang sudah diketahui versi Claude Code Anda, seperti claude-opus-4-8, pada entri yang model nya lebih baru dari versi Anda. Claude Code kemudian menerapkan kemampuan model yang diketahui itu dan default effort ke entri daripada memperlakukan modelnya sebagai tidak dikenal. Label entri dan ID model yang dikirim Claude Code dalam permintaan tidak berubah.
Dengan replaceBuiltInOptions aktif, Claude Code menyembunyikan setiap baris lain: barisan bawaan, baris yang ditambahkannya untuk entri availableModels, model yang ditemukan penemuan gateway, dan ANTHROPIC_CUSTOM_MODEL_OPTION. Dengan itu mati, Claude Code melewati model yang tercantum yang sudah dicakup barisan bawaan. Label mengubah apa yang ditunjukkan pemilih, bukan model mana yang dijalankan Claude Code.
Daftar availableModels masih berlaku untuk baris ini. Sebelum Anda menambahkan model yang tercantum ke daftar, baca Perilaku penggabungan: ID model tertentu mempersempit entri wildcard keluarganya. Claude Code juga memeriksa setiap baris terhadap sesi sebelum menunjukkan pemilih:
- Dijatuhkan: baris yang tidak dapat disajikan Claude Code, seperti model yang pensiun atau model yang tidak memiliki akses organisasi Anda
- Diarsir: baris yang tidak dapat Anda pilih belum, ditampilkan dengan alasan
- Tidak ada baris yang bertahan: Claude Code menyimpan barisan bawaan, disaring oleh daftar seperti biasa
modelPricing
Laporkan pengeluaran pada tarif yang dibayar organisasi Anda daripada harga daftar. Tetapkan ketika organisasi Anda memiliki tarif kontrak, jadi angka dolar yang dilihat pengembang cocok dengan tagihan Anda. Claude Code menerapkan tarif dalam /usage, baris status, total_cost_usd Agent SDK, batas --max-budget-usd, dan OpenTelemetry metrik biaya dan acara. Anda memasok tarif: Claude Code tidak membacanya dari kontrak atau Claude Console Anda. Memerlukan Claude Code v2.1.242 atau lebih baru.
- Scope:
Managed. Terapkan kunci melalui pengaturan terkelola server, kebijakan MDM, filemanaged-settings.json, atau pembantu kebijakan. Claude Code mengabaikannya dalam pengaturan pengguna, proyek, dan lokal, dalam--settings, dan di Windows dalam registri HKCU yang dapat ditulis pengguna. Dengan pengaturan terkelola server, setiap sesi melaporkan biaya pada harga daftar sampai pengambilan pengaturan sesi itu telah mengkonfirmasi pengaturan. Aplikasi host yang menyematkan Claude Code dan menetapkanCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTdapat memasok tabel miliknya sendiri melalui opsi SDKmanagedSettings, yang Claude Code gunakan hanya ketika tidak ada sumber terkelola yang menetapkan kunci dan hanya dalam Claude Code v2.1.246 atau lebih baru. - Type: object dengan
multiplieropsional dan petaoverridesopsional - Default: tidak disetel, jadi Claude Code melaporkan harga daftar kecuali aplikasi host memasok tabel
multiplier saja untuk diskon atau markup datar, overrides saja untuk tarif per model, atau keduanya.
Contoh ini menetapkan tarif kontrak untuk Sonnet 4.6 dan kemudian mengurangi setiap angka, baris Sonnet disertakan, sebesar 15%:
managed-settings.json
multiplier di atas 1, hingga 10, untuk menandai setiap angka. Markup memerlukan Claude Code v2.1.271 atau lebih baru. Versi yang lebih awal mengabaikan multiplier di atas 1 dengan peringatan dan menyimpan sisa pengaturan.
Untuk langkah-langkahnya, termasuk cara mengkonfirmasi tarif berlaku, lihat Laporkan pengeluaran pada tarif kontrak Anda.
Bidang untuk modelPricing
Claude Code menggunakan tarif baris persis seperti yang Anda tulis, tanpa menambahkan surcharge fast-mode atau tarif inferensi hanya AS. Jika Anda juga menetapkan
multiplier, Claude Code menerapkannya di atas tarif baris. Claude Code menjatuhkan baris dengan tarif yang tidak dapat diuraikan, atau multiplier yang tidak dapat diuraikan, dan menyimpan sisanya; lihat Perbaiki file pengaturan yang rusak.
Model mana yang berlaku baris modelPricing
Claude Code memutuskan model mana yang berlaku baris dari kunci baris:
- ID model bawaan: kunci yang digunakan Claude Code itu sendiri untuk model bawaan, apakah kunci itu ID model itu sendiri, seperti
claude-sonnet-4-6, atau ID Bedrock, Agent Platform, atau Foundry-nya. Claude Code menerapkan baris ke setiap ID snapshot tanggal dan ID khusus penyedia model itu. - Kunci lain apa pun: kunci yang bukan ID model bawaan, seperti alias model gateway. Claude Code menerapkan baris ke ID itu saja. Ketika ID model cocok dengan salah satu kunci Anda persis dan juga jatuh di bawah baris yang dikunci oleh ID model bawaan, Claude Code menggunakan kecocokan persis.
- Profil inferensi aplikasi Bedrock: setelah Claude Code telah menyelesaikan profil ke model yang dirutekannya, melalui peta
modelOverridesAnda atau pencarianbedrock:GetInferenceProfile, Claude Code menerapkan baris model itu ke profil.
modelSettings
Simpan tingkat effort untuk setiap model yang Anda gunakan. Memerlukan Claude Code v2.1.251 atau lebih baru.
Dalam sesi interaktif di mesin Anda, ketika Anda menyimpan low, medium, high, atau xhigh sebagai default Anda dengan /effort atau slider effort pemilih /model, Claude Code menulis level itu di sini di bawah model yang Anda gunakan, jadi Anda jarang mengedit kunci ini sendiri. Ketika Anda memilih salah satu level itu dalam pemilih model ekstensi VS Code, Claude Code menyimpannya di sini dengan cara yang sama. Entri effortLevel mencantumkan sesi tempat /effort berlaku hanya untuk sesi itu.
Edit kunci dengan tangan untuk mengubah atau menghapus level yang Anda simpan.
effortLevel model di sini mengambil preseden atas effortLevel tingkat atas dalam file pengaturan yang sama. Di seluruh file, Claude Code menyelesaikan setiap model secara terpisah: file pengaturan dengan preseden tertinggi yang menetapkan effortLevel untuk model itu atau effortLevel tingkat atas yang berlaku untuk model itu memutuskan, jadi effortLevel dalam pengaturan terkelola mengalahkan level yang Anda simpan dalam pengaturan pengguna. Sesuaikan tingkat effort mencantumkan apa lagi yang dapat mengesampingkan level yang disimpan, seperti --effort saat peluncuran.
Untuk membatasi effort satu model daripada menetapkan levelnya, tambahkan bidang maxEffortLevel ke entri model itu. Bidang memerlukan Claude Code v2.1.267 atau lebih baru.
- Scope:
Any file - Type: object yang memetakan nama model ke object dengan salah satu dari bidang berikut:
effortLevel: salah satu dari"low","medium","high", atau"xhigh"maxEffortLevel: tingkat effort tertinggi yang dapat digunakan modelautoCompactWindow: jumlah token dari100000hingga1000000, atau"auto"untuk jendela yang disesuaikan untuk model./autocompactmenyimpan di sini. Untuk model itu, nilai ini diutamakan daripadaautoCompactWindowtingkat atas dalam file pengaturan yang sama. Memerlukan Claude Code v2.1.288 atau lebih baru
- Default: tidak disetel
claude-opus-5-5, dan mencocokkan alias model itu, tanggal-akhiran, [1m], dan ID khusus penyedia yang dikenali ke entri yang sama.
Contoh ini menyimpan Opus 5.5 pada high sementara model lain menggunakan level yang disimpan atau default mereka sendiri:
settings.json
/effort auto untuk menghapus level yang disimpan untuk model yang Anda gunakan. Claude Code meninggalkan entri lain dan effortLevel tingkat atas apa pun di tempat.
outputStyle
Pilih gaya output berdasarkan nama. Gaya output adalah set instruksi yang disimpan yang mengubah peran, nada, dan format output Claude, seperti gaya Explanatory dan Learning bawaan atau yang Anda tulis sendiri.
Jika Anda mengubah kunci ini selama sesi, Claude menggunakan gaya baru mulai dari pesan Anda berikutnya. Untuk apa biaya pesan itu dalam prompt caching, lihat Mengubah gaya output. Sebelum v2.1.251, edit berlaku hanya setelah Anda menjalankan /clear atau memulai sesi baru.
- Scope:
Any file - Type: string, nama bawaan atau kustom gaya output
- Default: tidak disetel, jadi Claude Code menggunakan gaya default
settings.json
promptCacheTtl
Pilih berapa lama prompt cache menyimpan percakapan utama. Kunci ini berlaku untuk giliran interaktif, -p, dan Agent SDK Anda, bersama dengan pembantu yang dijalankan Claude Code secara inline dengannya. Masa pakai satu jam menjaga cache tetap hangat di seluruh jeda yang lebih lama, dan API menagih setiap penulisan cache pada tarif yang lebih tinggi daripada masa pakai lima menit. Memerlukan Claude Code v2.1.242 atau lebih baru.
- Scope:
Any file - Type: string, salah satu dari:
"5m": cache menyimpan selama lima menit"1h": cache menyimpan selama satu jam
- Default: tidak disetel, jadi setiap permintaan percakapan utama mendapat masa pakai defaultnya
- Per-session overrides:
FORCE_PROMPT_CACHING_5Mmengambil alih segalanya, kemudianCLAUDE_CODE_PROMPT_CACHE_TTL, kemudian kunci ini, dan terakhirENABLE_PROMPT_CACHING_1H
settings.json
showThinkingSummaries
Lihat ringkasan extended thinking Claude dalam sesi interaktif. Tetapkan jika Anda menginginkan ringkasan lengkap ketika Anda memperluas thinking dengan Ctrl+O. Ketika tidak disetel atau false, Anthropic API menyensor blok thinking dan Claude Code menunjukkan stub yang runtuh; penyedia pihak ketiga tidak menyensor.
- Scope:
Any file - Type: Boolean
true: Anda melihat ringkasan thinking lengkap ketika Anda memperluas thinking denganCtrl+Ofalse: Anthropic API menyensor blok thinking dan Claude Code menunjukkan stub yang runtuh
- Default:
false
settings.json
subagentPromptCacheTtl
Pilih berapa lama prompt cache menyimpan permintaan yang dibuat Claude Code di luar percakapan utama. Kunci ini berlaku untuk subagents, workflows, dan permintaan latar belakang dan pembantu Claude Code sendiri, seperti pemadatan dan judul sesi. Masa pakai satu jam menjaga cache tetap hangat di seluruh jeda yang lebih lama, dan API menagih setiap penulisan cache pada tarif yang lebih tinggi daripada masa pakai lima menit. Memerlukan Claude Code v2.1.242 atau lebih baru.
- Scope:
Any file - Type: string, salah satu dari:
"5m": cache menyimpan selama lima menit"1h": cache menyimpan selama satu jam
- Default: tidak disetel, jadi setiap permintaan ini mendapat masa pakai defaultnya
- Per-session overrides:
FORCE_PROMPT_CACHING_5Mmengambil alih segalanya, kemudianCLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL, kemudian kunci ini, kemudianENABLE_PROMPT_CACHING_1H, yang meminta masa pakai satu jam pada setiap permintaan. Untuk di mana nilai frontmatter subagent sendiri berada, lihat Pilih TTL sendiri
settings.json
promptCacheTtl, jadi tetapkan keduanya untuk memilih masa pakai untuk setiap permintaan yang dibuat Claude Code. Untuk bagaimana cache subagent berbeda dari percakapan utama, lihat Subagents dan cache.
switchModelsOnFlag
Pilih apa yang terjadi ketika pengklasifikasi keamanan menandai permintaan: beralih ke model fallback dan lanjutkan, atau jeda sehingga Anda dapat memilih antara beralih dan mengedit prompt.
- Scope:
Any file. Muncul dalam/configsebagai Switch models when a message is flagged, dengan opsi Switch automatically dan Ask each time. - Type: Boolean
true: Claude Code beralih ke model fallback dan lanjutkanfalse: dalam sesi interaktif Claude Code jeda sehingga Anda dapat memilih antara beralih dan mengedit prompt; di mana tidak ada dialog yang dapat ditampilkan, seperti jalankan-p, permintaan yang ditandai berakhir sebagai kesalahan
- Default: tidak disetel. Claude Code beralih secara otomatis, meskipun mungkin bertanya terlebih dahulu dalam sesi interaktif
settings.json
ultracode
Mulai sesi dengan ultracode aktif. Dengan itu aktif, Claude merencanakan workflow untuk setiap tugas substansial daripada menunggu Anda meminta. Claude merencanakan workflows hanya ketika dynamic workflows diaktifkan untuk Anda dan model Anda mendukung effort xhigh. Kunci ini tidak mengubah tingkat effort sesi: ultracode berjalan pada level mana pun yang digunakan sesi. Claude Code membaca kunci ini tetapi tidak pernah menulisnya: /effort ultracode menghidupkan ultracode hanya untuk sesi saat ini.
- Scope:
Any file - Type: Boolean
true: sesi dimulai dengan ultracode aktif ketika dynamic workflows diaktifkan untuk Anda dan model Anda mendukungxhighfalse: sesi dimulai dengan ultracode mati
- Default: tidak disetel, jadi ultracode mati
- Per-session overrides:
/effort ultracodemenghidupkan ultracode untuk satu sesi tanpa kunci ini, dan/effort ultracode offmematikannya untuk satu sesi ketika kunci initrue. Flag--effort ultracodejuga menghidupkannya untuk satu sesi, pada effortxhigh
settings.json
effortLevel, modelSettings, dan sumber effort lainnya, dan batas effort seperti maxEffortLevel menurunkan level itu tanpa mematikan ultracode. Ini dan bentuk /effort ultracode off memerlukan Claude Code v2.1.284 atau lebih baru. Sebelum v2.1.284, ultracode: true menjalankan sesi pada effort xhigh, dan batas effort di bawah xhigh membuat ultracode tidak tersedia. Permintaan kontrol apply_flag_settings Agent SDK juga menerima kunci.
Pengaturan izin
Tentukan apa yang dapat dilakukan Claude tanpa bertanya, mode izin mana yang digunakan saat sesi dimulai, dan apa yang diizinkan pengklasifikasi auto mode. Untuk sintaks aturan dan model izin, lihat Konfigurasi izin.allowManagedPermissionRulesOnly
Jadikan pengaturan terkelola satu-satunya sumber pengaturan aturan izin. Claude Code kemudian mengabaikan aturan allow, ask, dan deny dalam file pengguna, proyek, lokal, dan --settings, mengabaikan --allowedTools, menyembunyikan pilihan selalu-izinkan dalam dialog izin, dan berhenti menyimpan aturan baru.
Ketika pengaturan induk dari host penyematan berlaku, Claude Code memperlakukan mereka sebagai bagian dari tingkat terkelola. Claude Code menghapus aturan allow dan additionalDirectories mereka, dan mempertahankan aturan deny dan ask mereka kecuali aturan Read dan Edit yang polanya dimulai dengan !. Host tidak dapat mengukir jalur dari aturan terkelola dengan aturan !, terlepas dari apakah Anda menetapkan kunci ini.
Aturan --disallowedTools dan aturan deny dan ask sesi saat ini masih berlaku, termasuk setelah Claude Code memuat ulang pengaturan di tengah sesi. Mereka hanya membatasi, jadi mereka tidak dapat memperluas apa yang diberikan aturan terkelola. Sebelum v2.1.257, Claude Code menghapus aturan baris perintah dan sesi tersebut pada pemuatan ulang pengaturan pertama.
Untuk apa yang dapat diukir pola ! dalam aturan --disallowedTools atau sesi, lihat aturan Read dan Edit.
Ketika Anda menetapkan kunci ini, Claude Code v2.1.282 atau lebih baru juga mengabaikan frontmatter allowed-tools dalam skill dan file .claude/commands/ dari sumber-sumber berikut:
- Direktori
.claude/milik repositori - Direktori
~/.claude/skills/dan~/.claude/commands/Anda, termasuk skill yang disinkronkan dari claude.ai - Direktori
--add-dir - Plugin yang dideklarasikan dengan manifest
.claude-plugindi dalam~/.claude/skills/atau.claude/skills/proyek
allowed-tools mereka. disallowed-tools milik skill tetap berlaku. Untuk apa yang dilihat pengembang ketika Claude Code mengabaikan field tersebut, lihat Ketika hanya aturan izin terkelola yang berlaku.
- Scope:
Managed - Type: Boolean
true: pengaturan terkelola menjadi satu-satunya sumber pengaturan aturan izinfalse: Claude Code menerapkan aturan izin dari file pengguna, proyek, lokal, dan--settingsselain yang terkelola
- Default: tidak diatur, jadi Claude Code menerapkan aturan izin dari pengaturan pengguna, proyek, dan lokal serta dari
--settings, selain yang terkelola
managed-settings.json
allowManagedMcpServersOnly. Lihat Pengaturan hanya terkelola.
autoMode
Tambahkan aturan Anda sendiri ke apa yang diblokir dan diizinkan oleh pengklasifikasi auto mode. Gunakan untuk memberi tahu pengklasifikasi repo, bucket, dan domain mana yang dipercaya organisasi Anda, sehingga berhenti memblokir operasi internal sehari-hari. Pengklasifikasi dilengkapi dengan aturan allow dan deny bawaan. Sertakan string literal "$defaults" dalam array untuk mempertahankan aturan bawaan tersebut pada posisi itu dan tambahkan milik Anda di sekitarnya; tinggalkan untuk menggantinya dengan milik Anda.
- Scope:
User or managed - Type: objek dengan array
environment,allow,soft_deny, danhard_denydari aturan prosa, ditambah BooleanclassifyAllShell - Default: tidak diatur, jadi pengklasifikasi hanya menggunakan aturan bawaannya
soft_deny bawaan, melalui "$defaults", dan menambahkan satu lagi yang memblokir terraform apply:
settings.json
autoMode.classifyAllShell
Kirim setiap perintah Bash dan PowerShell melalui pengklasifikasi auto mode saat auto mode aktif. Secara default, auto mode hanya menangguhkan aturan allow yang dapat menjalankan kode arbitrer: aturan untuk seluruh tool dan aturan wildcard seperti Bash(*), dan awalan interpreter atau shell-wrapper seperti Bash(python *). Perintah yang cocok dengan aturan allow lain, seperti Bash(npm test), melewati pengklasifikasi kecuali membawa domain yang diizinkan per-perintah. Ketika melewati, argumen destruktif yang tidak diantisipasi awalan aturan dapat lolos tanpa terlihat. Menetapkan kunci ini menangguhkan setiap aturan allow shell untuk sesi sehingga pengklasifikasi melihat setiap perintah. Memerlukan Claude Code v2.1.193 atau lebih baru.
- Scope:
User or managed. Dibaca di mana punautoModedibaca. - Type: Boolean
true: saat auto mode aktif, Claude Code mengirim setiap perintah Bash dan PowerShell melalui pengklasifikasi dan menangguhkan aturan allow shell Anda; di luar auto mode aturan masih berlakufalse: auto mode hanya menangguhkan aturan allow yang dapat menjalankan kode arbitrer, sepertiBash(*)danBash(python *); perintah yang cocok dengan aturan allow lain melewati pengklasifikasi kecuali membawa domain yang diizinkan per-perintah, dan setiap perintah shell lainnya melaluinya
- Default:
false
settings.json
disableAutoMode
Hapus auto mode dari siklus Shift+Tab. Setiap sesi yang sebaliknya akan dimulai dalam auto mode, baik dari --permission-mode auto, file pengaturan, atau default bawaan, dimulai dalam default sebagai gantinya. Administrator menetapkannya dalam pengaturan terkelola untuk mencegah pengembang di organisasi mereka menggunakan auto mode.
- Scope:
Any file. Paling berguna dalam pengaturan terkelola, di mana pengguna tidak dapat menimpanya. Juga diterima di bawahpermissionssebagaipermissions.disableAutoMode. - Type: string
"disable" - Default: tidak diatur
settings.json
permissions
Kontrol tool mana yang dapat digunakan Claude tanpa bertanya, tool mana yang selalu meminta konfirmasi, dan tool mana yang diblokir, serta atur mode izin yang digunakan saat sesi dimulai. Setiap kunci permissions.* di bawah bersarang di bawah objek ini.
- Scope:
Any file - Type: objek dengan
allow,ask,deny,additionalDirectories,blockReadsOutsideWorkingDirectories,defaultMode,disableBypassPermissionsMode, dandisableAutoMode - Default: tidak diatur
npm run tanpa bertanya, meminta konfirmasi sebelum git push, memblokir pembacaan .env, dan memulai sesi dalam acceptEdits:
settings.json
permissions.allow. Untuk bagaimana aturan izin dari file berbeda digabungkan, lihat bagaimana aturan izin digabungkan di seluruh cakupan; untuk bagaimana kunci pengaturan secara umum digabungkan, lihat Prioritas pengaturan pada panduan pengaturan.
useAutoModeDuringPlan
Pilih apakah Claude Code menggunakan pengklasifikasi auto mode untuk meninjau perintah shell dalam plan mode. Dengan default true, pengklasifikasi meninjau setiap perintah selama perencanaan ketika auto mode tersedia dan Anda tidak melihat permintaan izin, kecuali untuk penghapusan jalur kritis. Atur false untuk mendapatkan permintaan izin untuk setiap perintah di luar set read-only bawaan. Muncul dalam /config sebagai Use auto mode during plan.
- Scope:
User, local, or managed. Repositori tidak dapat mematikannya untuk Anda. - Type: Boolean
true: sama dengan tidak diatur; ketika auto mode tersedia, pengklasifikasi meninjau setiap perintah shell selama perencanaan alih-alih meminta persetujuan Anda, kecuali penghapusan jalur kritis.falsedi salah satu file ini masih mematikannyafalse: Anda mendapatkan permintaan izin untuk setiap perintah di luar set read-only bawaan
- Default:
true
settings.json
permissions.allow
Daftar penggunaan tool yang disetujui Claude Code tanpa bertanya kepada Anda. Dalam aturan MCP, * hanya dapat muncul dalam nama tool setelah awalan mcp__<server>__, seperti mcp__github__get_*; tidak dapat muncul dalam nama server.
- Scope:
Any file - Type: array string aturan izin
- Default: tidak diatur
- Per-session overrides:
--allowedToolsmenambahkan aturan allow untuk satu sesi, dan aturan deny dari file pengaturan apa pun masih memblokir tool yang dinamainya
git diff dan memungkinkan Claude Code membaca .zshrc Anda tanpa bertanya:
settings.json
allow dari .claude/settings.json proyek hanya setelah Anda menerima dialog kepercayaan workspace untuk folder itu.
Sintaks aturan izin
Aturan izin mengikuti formatTool atau Tool(specifier). Claude Code mengevaluasi aturan deny terlebih dahulu, kemudian ask, kemudian allow, dan kecocokan pertama memutuskan terlepas dari seberapa spesifik setiap aturan; lihat urutan evaluasi aturan izin.
Setiap baris menunjukkan satu bentuk aturan dan apa yang cocok dengannya.
Untuk sintaks aturan lengkap, termasuk perilaku wildcard, pola khusus tool untuk aturan Read, Edit, WebFetch, MCP, dan Agent, serta keterbatasan keamanan pola Bash, lihat Sintaks aturan izin.
permissions.ask
Daftar penggunaan tool yang meminta konfirmasi Anda bahkan dalam mode izin yang sebaliknya akan menyetujuinya, seperti acceptEdits atau bypassPermissions. Dalam mode dontAsk Claude Code menolak penggunaan tool yang cocok alih-alih meminta konfirmasi.
- Scope:
Any file - Type: array string aturan izin
- Default: tidak diatur
settings.json
permissions.deny
Daftar penggunaan tool yang diblokir Claude Code. Gunakan untuk file yang menyimpan kunci API, rahasia, atau nilai lingkungan: Claude Code mengecualikan file yang cocok dari penemuan file dan hasil pencarian, menolak pembacaannya, dan memblokir tool Edit dan Write pada jalur yang cocok.
Aturan deny Read dan Edit berlaku untuk tool file bawaan Claude, untuk perintah file yang dikenali Claude Code dalam Bash, seperti cat, head, tail, sed, dan tee, dan untuk target pengalihan Bash seperti > file dan < file; aturan tersebut tidak berlaku untuk perintah yang membaca file tanpa menamakannya, seperti grep -r pattern ., atau untuk subprocess arbitrer, jadi untuk penegakan tingkat OS aktifkan sandbox.
- Scope:
Any file - Type: array string aturan izin
- Default: tidak diatur
- Per-session overrides:
--disallowedToolsmenambahkan aturan deny untuk satu sesi bersama kunci ini
.env, direktori secrets, dan file kredensial, serta memblokir perintah curl:
settings.json
"*" memblokir setiap tool dan "mcp__*" memblokir setiap tool MCP. Claude Code mengabaikan aturan deny untuk tool EndConversation selama tool lain masih tersedia untuk Claude. Aturan deny Bash cocok dengan perintah seperti yang ditulis Claude, jadi Bash(curl *) tidak menghentikan /usr/bin/curl atau sh -c 'curl …'; lihat apa yang tidak cocok dengan aturan Bash. Kunci ini menggantikan konfigurasi ignorePatterns yang sudah deprecated.
permissions.additionalDirectories
Berikan akses file kepada Claude ke direktori di luar direktori tempat Anda memulai, sebagai direktori kerja tambahan. Sebagian besar konfigurasi .claude/ tidak ditemukan dari direktori ini.
- Scope:
Any file, dengan batasan pada akses tulis sandbox yang diberikan oleh entri proyek dan lokal - Type: array jalur direktori
- Default: tidak diatur
- Per-session overrides:
--add-dirdan/add-dirmenambahkan direktori untuk satu sesi bersama kunci ini
settings.json
allow, entri dalam .claude/settings.json proyek berlaku hanya setelah Anda menerima dialog kepercayaan workspace untuk folder itu.
permissions.blockReadsOutsideWorkingDirectories
Buat tool file Claude menolak pembacaan di luar direktori kerja Anda dalam setiap mode izin, termasuk bypassPermissions. Claude Code menolak panggilan Read, Grep, Glob, dan LSP pada jalur tersebut dan memberi tahu Claude untuk meminta Anda menambahkan direktori dengan /add-dir. File yang dibutuhkan Claude Code sendiri tetap dapat dibaca, seperti skill, plugin, aturan, agent, perintah Anda, dan file memori CLAUDE.md di bawah ~/.claude/. Memerlukan Claude Code v2.1.257 atau lebih baru.
Claude Code tidak menolak perintah shell dengan cara yang sama:
- Tindakan yang tidak disetujui otomatis oleh mode mana pun mencakup kapan perintah shell yang membaca jalur tersebut meminta konfirmasi Anda
- Perintah sandboxed di bawah blokir mencakup apa yang dapat dibaca perintah sandboxed
bypassPermissions. Permintaan izin muncul bahkan ketika perintah tidak menamai jalur apa pun di luar direktori kerja. Permintaan izin ini tidak berlaku ketika perintah berjalan dalam sandbox dan sandbox memberlakukan blokir.
Claude Code juga menulis true di sini ketika Anda memilih untuk memblokir pembacaan tersebut pada permintaan izin auto mode sebelum pembacaan pertama di luar direktori kerja.
- Scope:
Any file.truedi file apa pun berlaku, jadi repositori dapat mengaktifkan blokir untuk dirinya sendiri tetapi tidak dapat mengangkat blokir Anda. - Type: Boolean
true: tool file Claude menolak pembacaan di luar direktori kerjafalse: sama dengan tidak diatur; blokir masih berlaku jika file lain menetapkantrue
- Default: tidak diatur, jadi pembacaan di luar direktori kerja mengikuti mode izin Anda
settings.json
--add-dir, /add-dir, atau additionalDirectories dalam pengaturan pengguna atau terkelola Anda dihitung sebagai direktori kerja untuk blokir. Direktori yang ditambahkan hanya dalam pengaturan repositori tidak dihitung: yang ada di .claude/settings.json, dan yang ada di .claude/settings.local.json kecuali git melaporkan file itu sebagai tidak dilacak. Dalam direktori yang bukan repositori git, atau ketika git melacak file tersebut, Claude Code memperlakukan .claude/settings.local.json sebagai pengaturan repositori, jadi letakkan direktori yang ingin tetap dapat dibaca dalam pengaturan pengguna Anda sebagai gantinya.
Ketika autoMemoryDirectory berasal dari .claude/settings.json proyek, atau dari .claude/settings.local.json yang diperlakukan sebagai disediakan repositori, Claude Code tidak memuat auto memory apa pun dari direktori itu dan tidak menyimpan apa pun ke dalamnya.
Untuk mengangkat blokir, hapus kunci dari setiap file pengaturan yang menetapkannya, kemudian mulai sesi baru.
Perintah sandboxed di bawah blokir
Ketika sandboxing aktif, blokir juga mencakup perintah sandboxed. Claude Code menolak akses baca perintah tersebut ke direktori home Anda dan ke akar lain yang menyimpan file pengguna:/Users, /home, /root, /Volumes, /mnt, /media, /run/media, dan /srv. Kemudian Claude Code membuka kembali direktori kerja, worktree yang dibuat Claude Code dalam sesi, direktori temp sesi, dan bagian dari ~/.claude yang dibutuhkan perintah, seperti skill dan plugin. Saat blokir berlaku, entri allowRead dan allowWrite dari pengaturan repositori tidak dihitung.
Ketika direktori kerja sesi adalah git worktree yang ditautkan, termasuk yang dimasuki Claude Code di tengah sesi, direktori .git umum repositori tetap dapat dibaca dan ditulis oleh perintah sandboxed, sehingga git terus bekerja di sana.
Dalam kasus-kasus ini blokir tidak menjangkau perintah sandboxed, sementara tool file Claude terus memberlakukannya:
- Isolasi sistem file dimatikan melalui
sandbox.filesystem.disabled allowManagedReadPathsOnlydiatur- Jalur direktori tempat Anda memulai Claude Code mengandung karakter glob seperti
*,?, atau[
git tetap mempertahankan identitas dan pengaturan Anda:
~/.gitconfig- File
config,ignore, danattributesdi bawah$XDG_CONFIG_HOME/git, yang default ke~/.config/git - File yang dinamai konfigurasi git global Anda melalui
[include],[includeIf],core.excludesFile, ataucore.attributesFile
git kemudian berjalan tanpanya. ~/.git-credentials dan $XDG_CONFIG_HOME/git/credentials tetap diblokir.
Jika file yang dibuka kembali menyimpan rahasia, seperti token http.extraHeader, tambahkan jalurnya ke sandbox.filesystem.denyRead. Entri denyRead yang mencakup file selalu diutamakan daripada pembukaan kembali ini.
permissions.defaultMode
Atur mode izin yang digunakan saat sesi baru dimulai. Ketika Anda membiarkannya tidak diatur, sesi dimulai dalam default bawaan untuk surface Anda.
- Scope:
Any file.autodanbypassPermissionstidak berlaku dari pengaturan proyek atau lokal, jadi atur keduanya dalam~/.claude/settings.jsonsebagai gantinya. Sebelum v2.1.257,bypassPermissionsberlaku dari file apa pun. Untuk percakapan yang dimulai ekstensi VS Code, Claude Code hanya membaca nilai pengguna, terkelola, dan--settings. - Type: string, salah satu dari:
"default": Claude Code hanya menjalankan pembacaan tanpa bertanya"acceptEdits": Claude Code juga menjalankan pengeditan file dan perintah sistem file umum sepertimkdirdanmvtanpa bertanya"plan": Claude Code membaca dan merencanakan tetapi memblokir pengeditan sampai Anda menyetujui rencana"auto": Claude Code berjalan tanpa permintaan izin sehari-hari; sebelum tindakan seperti perintah shell dan permintaan jaringan berjalan, pengklasifikasi latar belakang memeriksa bahwa tindakan tersebut selaras dengan permintaan Anda"dontAsk": Claude Code secara otomatis menolak setiap panggilan yang sebaliknya akan meminta konfirmasi, meskipun mod yang Anda instal masih dapat menyetujui sebagian dari panggilan tersebut. Pembacaan file di dalam direktori kerja Anda, tindakan lain yang tidak memerlukan persetujuan, dan tool yang sudah disetujui sebelumnya masih berjalan, kecuali pembacaan dari jalur jaringan"bypassPermissions": Claude Code menjalankan semuanya tanpa bertanya"manual": alias untuk"default"
- Default: tidak diatur
- Per-session overrides:
--permission-mode, dan ekuivalennya--dangerously-skip-permissionsuntukbypassPermissions, diutamakan daripada kunci ini untuk satu sesi
settings.json
deny memblokir dalam setiap mode, termasuk bypassPermissions. Lihat Mode izin. Dalam sesi cloud, Claude Code hanya menghormati acceptEdits, plan, default, dan auto dari kunci ini. Untuk percakapan yang dimulai ekstensi VS Code, lihat pengaturan mana yang dibaca ekstensi untuk mode izin awal.
permissions.disableBypassPermissionsMode
Cegah siapa pun memasuki mode bypassPermissions. Claude Code kemudian menolak flag --dangerously-skip-permissions, dan mengabaikan permissionMode: bypassPermissions dalam definisi agent, sehingga subagent berjalan dengan mode izin sesi induk.
- Scope:
Any file. Biasanya diatur dalam pengaturan terkelola untuk menegakkan kebijakan organisasi. - Type: string
"disable" - Default: tidak diatur
- Per-session overrides: kunci ini diutamakan daripada
--dangerously-skip-permissions, yang ditolak Claude Code saat kunci diatur
settings.json
skipAutoPermissionPrompt
Lewati pemberitahuan satu kali yang menjelaskan auto mode yang ditampilkan Claude Code ketika Anda pertama kali memasuki auto mode sendiri, misalnya melalui pengaturan Anda sendiri atau pemilih mode, bukan ketika default bawaan memulai sesi di dalamnya. Claude Code menampilkan pemberitahuan itu sekali dan kemudian mencatat bahwa pemberitahuan itu sudah ditampilkan, jadi kunci ini hanya penting di tempat pemberitahuan belum muncul.
- Scope:
User or managed. Repositori tidak dapat menetapkannya untuk Anda. - Type: Boolean
true: Claude Code melewati pemberitahuanfalse: sama dengan tidak diatur; pemberitahuan muncul sekali kecuali file lain di antara file ini menetapkantrue
- Default: tidak diatur, jadi pemberitahuan muncul sekali
settings.json
skipDangerousModePermissionPrompt
Lewati dialog konfirmasi yang ditampilkan Claude Code sebelum sesi memasuki mode bypassPermissions, baik dari --dangerously-skip-permissions atau dari defaultMode: "bypassPermissions". Claude Code menulis true di sini dalam pengaturan pengguna Anda ketika Anda menerima dialog itu sekali.
- Scope:
User, local, or managed. Repositori yang tidak dipercaya tidak dapat melewati dialog untuk Anda. - Type: Boolean
true: Claude Code melewati dialog konfirmasi sebelum sesi memasuki modebypassPermissionsfalse: sama dengan tidak diatur; dialog muncul kecuali file lain di antara file ini menetapkantrue
- Default: tidak diatur, jadi dialog muncul
settings.json
Pengaturan sandbox
Isolasi perintah yang dijalankan Claude dari sistem file, jaringan, dan kredensial Anda. Untuk cara kerja sandboxing dan persyaratan platform, lihat Sandboxing.sandbox
Isolasi perintah Bash yang dijalankan Claude dari sistem file dan jaringan Anda dengan sandboxing. Aktifkan sandbox dengan enabled, kemudian perluas atau persempit apa yang dapat disentuh perintah bersandbox dengan sub-objek filesystem, network, dan credentials. Sandbox berjalan di macOS, Linux, dan WSL2.
- Scope:
Any file - Type: object dengan
enabled,failIfUnavailable,autoAllowBashIfSandboxed,excludedCommands,allowUnsandboxedCommands,enableWeakerNestedSandbox,enableWeakerNetworkIsolation,allowAppleEvents,bwrapPath,socatPath,ignoreViolations, danripgrep, ditambah objekfilesystem,network, dancredentials - Default: tidak diatur, jadi Claude Code menjalankan perintah tanpa sandbox
docker di luar sandbox, membuka dua jalur penulisan tambahan, menyembunyikan file kredensial AWS Anda, dan pra-mengizinkan GitHub dan npm:
settings.json
enabled atau failIfUnavailable, nilai tersebut menimpa apa pun yang ditetapkan pengembang. Claude Code menggabungkan kunci array di seluruh cakupan pengaturan yang dimuat sesi, jadi pengembang dapat menambahkan entri; lihat Keep developers from widening the policy untuk kunci khusus pengaturan terkelola. Untuk mewajibkan sandbox bagi organisasi, lihat Enforce sandboxing with managed settings.
sandbox.enabled
Aktifkan sandboxing untuk perintah Bash. Ketika Anda memilih mode di panel /sandbox, Claude Code menulis kunci ini ke .claude/settings.local.json untuk proyek saat ini; atur di ~/.claude/settings.json untuk menerapkan sandbox pada setiap proyek.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: Boolean
true: Claude Code membuat sandbox untuk perintah Bashfalse: Perintah Bash berjalan tanpa sandbox
- Default:
false
settings.json
bubblewrap dan socat; lihat Set up Linux and WSL2. Ketika sandbox tidak dapat dimulai, Claude Code menjalankan perintah tanpa sandbox kecuali Anda juga menetapkan failIfUnavailable.
sandbox.failIfUnavailable
Buat Claude Code keluar dengan kesalahan saat startup ketika sandbox.enabled adalah true tetapi sandbox tidak dapat dimulai, karena dependensi hilang atau platform tidak didukung. Tanpa kunci ini, Claude Code menjalankan perintah tanpa sandbox. Deployment terkelola yang mewajibkan sandboxing sebagai gerbang keamanan dapat menggunakan pengaturan ini.
Di platform yang tidak didukung sandbox, Claude Code tidak dapat dimulai dengan kunci ini aktif. Lihat Enforce sandboxing with managed settings.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: Boolean
true: Claude Code keluar dengan kesalahan saat startup ketikasandbox.enabledadalahtruetetapi sandbox tidak dapat dimulaifalse: Claude Code menjalankan perintah tanpa sandbox ketika sandbox tidak dapat dimulai
- Default:
false
managed-settings.json
sandbox.autoAllowBashIfSandboxed
Biarkan Claude Code menjalankan perintah Bash bersandbox tanpa permintaan izin. Perintah yang tidak dapat berjalan di sandbox masih melalui alur izin reguler, dan aturan deny serta aturan ask yang dibatasi konten seperti Bash(git push *) masih berlaku; aturan Bash ask yang kosong dilewati untuk perintah bersandbox. Atur ke false untuk mengirim perintah bersandbox melalui alur izin reguler juga, yang disebut tab Mode /sandbox sebagai mode izin reguler.
- Scope:
Any file - Type: Boolean
true: Claude Code menjalankan perintah Bash bersandbox tanpa permintaan izin, kecuali dalam kasus yang dijelaskan di Auto-allow mode;CLAUDE_CODE_SUBPROCESS_ENV_SCRUBmematikan auto-allowfalse: perintah bersandbox melalui alur izin reguler, jadi aturan allow dan mode izin Anda yang memutuskan. Tab Mode/sandboxmenyebut ini mode izin reguler
- Default:
true
settings.json
sandbox.excludedCommands
Sebutkan perintah yang dijalankan Claude Code di luar sandbox, seperti alat yang tidak berfungsi di dalamnya. Setiap entri menggunakan sintaks yang sama dengan konten aturan izin Bash(...): perintah yang persis, awalan seperti docker *, atau pola wildcard. Pola tanpa wildcard adalah kecocokan persis, jadi docker hanya cocok dengan docker tanpa argumen.
Entri Anda mengeluarkan panggilan Bash dari sandbox hanya ketika entri tersebut mencakup setiap perintah di dalamnya, dan beberapa bentuk panggilan tetap bersandbox bahkan dalam kondisi itu. Entri docker * saja tidak mengeluarkan npm ci && docker build . dari sandbox.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: array pola perintah
- Default: tidak diatur, jadi tidak ada perintah yang dikecualikan
settings.json
- Perintah yang dimulai dengan
sudo,eval, atauxargs cd,pushd, ataupopd, di mana pun muncul dalam panggilan- Substitusi perintah, subshell, atau blok alur kontrol seperti
ifataufor - Pengalihan, seperti
docker build . > build.log, selain yang hanya menduplikasi deskriptor file, seperti2>&1 - Nama perintah yang berasal dari variabel
git clone,git init,git worktree add,git worktree move, ataugit bundle createdengan argumen jalur yang absolut, dimulai dengan~, atau berisi segmen..
cd build && docker compose up tetap bersandbox di bawah entri docker *, dan menambahkan entri cd tidak mengubah itu. Di bawah entri git *, git clone <url> vendor/lib berjalan di luar sandbox, tetapi git clone <url> ~/tools tetap bersandbox. Sebuah clone menulis seluruh pohon file, mungkin termasuk file yang dapat dieksekusi, ke mana pun jalur tujuannya menunjuk.
Perintah yang dikecualikan masih melalui alur izin reguler. Pengecualian adalah kemudahan, bukan batas keamanan: ketika alat hanya perlu menulis ke tempat tertentu, filesystem.allowWrite menjaganya tetap bersandbox.
Entri dari cakupan pengaturan yang dimuat sesi digabungkan menjadi satu daftar kecuali sandbox diwajibkan admin. Selama sandbox diwajibkan admin, Claude Code mengabaikan entri di .claude/settings.json dan .claude/settings.local.json, sehingga repositori yang di-clone tidak dapat mengeluarkan perintah dari sandbox. Entri di pengaturan terkelola, --settings, dan ~/.claude/settings.json Anda tetap berlaku, dan tidak ada kunci khusus pengaturan terkelola yang mencakup daftar ini.
sandbox.allowUnsandboxedCommands
Biarkan Claude mencoba ulang perintah di luar sandbox dengan parameter dangerouslyDisableSandbox setelah sandbox memblokirnya. Ketika bernilai false, Claude Code mengabaikan parameter itu. Selama sandbox berjalan, perintah yang dijalankan Claude kemudian bersandbox kecuali cocok dengan entri excludedCommands. Tab Overrides /sandbox menampilkan status itu sebagai Strict sandbox mode. Nilai false di pengaturan terkelola mengaktifkan strict sandbox mode untuk pengembang yang dicakupnya.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: Boolean
true: Claude dapat mencoba ulang perintah di luar sandbox dengan parameterdangerouslyDisableSandboxsetelah sandbox memblokirnyafalse: Claude Code mengabaikan parameter itu, jadi selama sandbox berjalan, perintah yang dijalankan Claude bersandbox kecuali cocok dengan entriexcludedCommands
- Default:
true
managed-settings.json
false dari pengaturan terkelola atau --settings juga membuat sandbox diwajibkan admin. Nilai false di pengaturan pengguna Anda tetap berlaku terhadap nilai true dari proyek, tetapi tidak membuat sandbox diwajibkan admin. Tetap berlaku terhadap nilai proyek memerlukan Claude Code v2.1.285 atau lebih baru.
Siapa yang menyetujui retry tanpa sandbox bergantung pada mode izin dan aturan allow Anda. Lihat The unsandboxed retry escape hatch.
Untuk melihat kapan perintah yang Anda ketik sendiri di prompt mode shell ! berjalan bersandbox, lihat strict sandbox mode.
sandbox.filesystem
Kontrol jalur mana yang dapat dibaca dan ditulis perintah bersandbox. Secara default perintah tersebut dapat menulis ke direktori kerja, direktori temp per pengguna, dan direktori yang Anda tambahkan dengan --add-dir, /add-dir, atau permissions.additionalDirectories, dan dapat membaca sisa sistem file, termasuk file kredensial. Perluas atau persempit itu dengan empat daftar jalur, atau matikan lapisan sistem file dengan disabled. Lihat Filesystem isolation untuk batas default.
- Scope:
Any file - Type: object dengan array
allowWrite,denyWrite,denyRead, danallowRead, ditambah BooleanallowManagedReadPathsOnlydandisabled - Default: tidak diatur, jadi batas baca dan tulis default berlaku
settings.json
kubectl, terraform, atau npm. Claude Code menambahkan aturan izin Anda ke daftar yang sama: aturan allow dan deny Edit ke allowWrite dan denyWrite, aturan deny Read ke denyRead, dan aturan allow dan deny WebFetch(domain:...) ke daftar domain network.
Kecuali ada kunci yang berlaku, Claude Code menggabungkan daftar ini di seluruh file pengaturan yang dimuat sesi. allowManagedReadPathsOnly membatasi allowRead ke entri dari pengaturan terkelola, dan allowManagedDomainsOnly melakukan hal yang sama untuk domain yang diizinkan. Kunci repositori mengecualikan entri dari file pengaturan repositori.
Configure sandboxing mencakup sumber yang Anda kecualikan dengan --setting-sources. Ketika Anda mengedit daftar selama sesi, Claude Code menerapkan perubahan ke sesi yang berjalan.
Awalan jalur sandbox
Jalur diallowWrite, denyWrite, denyRead, allowRead, dan credentials.files diselesaikan berdasarkan awalannya:
Awalan
//path untuk jalur absolut juga berfungsi. Jika Anda menggunakan /path dengan slash tunggal dan mengharapkan resolusi relatif proyek, beralihlah ke ./path. Sintaks ini berbeda dari Read and Edit permission rules, yang menggunakan //path untuk absolut dan /path untuk relatif proyek: jalur sistem file sandbox menggunakan konvensi standar, jadi /tmp/build adalah jalur absolut.
Claude Code menghapus garis miring di akhir jalur direktori, jadi ~/.aws dan ~/.aws/ cocok dengan direktori yang sama. Sebelum v2.1.224, Claude Code meneruskan garis miring di akhir tersebut ke sandbox, dan Claude masih dapat membaca atau menulis jalur di bawah entri denyRead atau denyWrite yang ditulis dengan garis miring di akhir.
Claude Code juga menghapus /** di akhir, jadi ~/build/** dan ~/build mencakup direktori yang sama. Apakah wildcard seperti * berfungsi bergantung pada daftar tempat entri berada dan pada platform:
allowWritedandenyWrite: di macOS, wildcard berfungsi. Di Linux dan WSL2, sandbox memasang jalur konkret, jadi Claude Code melewati entri yang berisi*,?, atau[setelah/**di akhir dihapus, dan entri itu tidak berpengaruh. Claude Code menambahkan jalur dari aturan izinEditAnda ke daftar ini, jadi batas yang sama berlaku untuknya, dan tab Config/sandboxmemperingatkan tentang aturan izinEditdanReadyang berisi wildcard.denyReaddanallowRead: wildcard berfungsi di setiap platform. Di Linux dan WSL2, Claude Code memperluas entri baca ke jalur konkret yang cocok, yang tidak dilakukannya untuk daftar tulis.
~/data/{keys,tokens} mencakup direktori yang secara harfiah bernama {keys,tokens}, bukan dua alternatif. Untuk mencakup ~/data/keys dan ~/data/tokens, tambahkan masing-masing sebagai entri tersendiri.
sandbox.filesystem.allowWrite
Tambahkan jalur tempat perintah bersandbox dapat menulis, di luar direktori kerja, direktori temp per pengguna, dan direktori yang telah Anda tambahkan dengan --add-dir, /add-dir, atau permissions.additionalDirectories. Gunakan ketika subprocess seperti kubectl atau alat build perlu menulis di luar proyek.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: array string jalur, menggunakan sandbox path prefixes
- Default: tidak diatur, jadi perintah bersandbox dapat menulis ke direktori kerja, direktori temp per pengguna, direktori yang telah Anda tambahkan dengan
--add-diratau/add-dir, dan direktori dipermissions.additionalDirectories
/tmp/build dan memungkinkan kubectl memperbarui kubeconfig Anda:
settings.json
allowWrite dan jalur dari aturan izin allow Edit(...) Anda di seluruh cakupan pengaturan yang dimuat sesi, dengan mengecualikan yang berasal dari pengaturan repositori selama permissions.blockReadsOutsideWorkingDirectories aktif. Kunci repositori juga dapat mengecualikan entri repositori. Entri allowWrite tidak dapat membuka protected path.
sandbox.filesystem.denyWrite
Blokir perintah bersandbox dari menulis ke jalur tertentu, termasuk jalur di dalam direktori yang sebenarnya dapat ditulis.
- Scope:
Any file - Type: array string jalur, menggunakan sandbox path prefixes
- Default: tidak diatur
settings.json
Edit(...) Anda.
sandbox.filesystem.denyRead
Blokir perintah bersandbox dari membaca jalur tertentu, seperti file kredensial yang jika tidak akan terekspos oleh kebijakan baca default. Untuk melindungi file kredensial dan menjaganya tetap dapat digunakan melalui proxy sandbox, lihat sandbox.credentials sebagai gantinya.
- Scope:
Any file - Type: array string jalur, menggunakan sandbox path prefixes
- Default: tidak diatur, jadi perintah bersandbox mempertahankan default read access, yang mencakup file kredensial seperti
~/.aws/credentials
settings.json
Read(...) Anda. Ketika filesystem.disabled adalah true, Claude Code tidak memberlakukan entri ini.
sandbox.filesystem.allowRead
Buka kembali pembacaan untuk jalur tertentu di dalam wilayah yang diblokir denyRead, untuk membangun akses baca yang hanya mencakup workspace. Entri denyRead yang persis atau wildcard tetap diblokir di dalam allowRead yang lebih luas, seperti yang ditunjukkan overlap table. Ketika entri denyRead wildcard seperti ~/**/.env cocok dengan direktori, Claude Code juga memblokir pembacaan isinya. Sebelum v2.1.236 di macOS, Claude Code membuka kembali jalur yang cocok dengan entri denyRead wildcard di mana pun entri allowRead yang lebih luas mencakupnya, dan membiarkan isi direktori yang cocok tetap dapat dibaca.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: array string jalur, menggunakan sandbox path prefixes
- Default: tidak diatur
settings.json
. ke akar proyek dalam pengaturan proyek dan ke ~/.claude dalam pengaturan pengguna. Claude Code menggabungkan entri di seluruh file pengaturan yang dimuat sesi kecuali allowManagedReadPathsOnly diatur, dan mengecualikan entri dari pengaturan repositori selama permissions.blockReadsOutsideWorkingDirectories aktif. Kunci repositori juga dapat mengecualikan entri repositori.
sandbox.filesystem.allowManagedReadPathsOnly
Hormati hanya entri allowRead yang berasal dari pengaturan terkelola, sehingga pengembang tidak dapat membuka kembali akses baca ke jalur yang diblokir organisasi Anda. Claude Code tetap menggabungkan entri denyRead dari setiap cakupan pengaturan yang dimuat sesi.
- Scope:
Managed - Type: Boolean
true: Claude Code hanya menghormati entriallowReaddari pengaturan terkelolafalse: entriallowReaddari file pengaturan lain dapat ikut digabungkan
- Default:
false
~/work, dan mencegah pengembang membuka kembali apa pun selain itu:
managed-settings.json
sandbox.filesystem.disabled
Lewati isolasi sistem file sambil mempertahankan isolasi jaringan. Perintah bersandbox mendapatkan akses baca dan tulis tanpa batas ke sistem file host, dan egress jaringannya tetap terbatas pada network.allowedDomains. Gunakan ketika Anda memakai sandbox untuk mengontrol tempat perintah terhubung, bukan apa yang ditulisnya. Memerlukan Claude Code v2.1.216 atau lebih baru.
- Scope:
User or managed. Ketika pengaturan terkelola mengonfigurasisandbox.filesystemsama sekali, atau mencantumkan entrisandbox.credentials.filesdengan"mode": "deny", hanya pengaturan terkelola yang dapat menetapkannya. - Type: Boolean
true: Claude Code melewati isolasi sistem file dan mempertahankan isolasi jaringanfalse: isolasi sistem file tetap aktif
- Default:
false, jadi isolasi sistem file tetap aktif
settings.json
denyRead atau entri deny credentials.files, sementara entri credentials.envVars dan entri mask yang diterapkan tetap bekerja. autoAllowBashIfSandboxed tetap default ke true, jadi atur ke false agar permintaan izin tetap muncul. Lihat Disable filesystem isolation untuk daftar lengkap sumber yang dapat menetapkannya dan apa yang berubah ketika isolasi mati. Memerlukan Claude Code v2.1.216 atau lebih baru.
sandbox.ignoreViolations
Senyapkan laporan pelanggaran sandbox untuk jalur yang Anda perkirakan akan diperiksa perintah lalu ditolak, seperti alat yang memeriksa /etc/hosts saat startup, sehingga penolakan itu tidak muncul sebagai pelanggaran atau dalam apa yang dilihat Claude. Sandbox tetap memblokir akses; hanya laporannya yang ditekan. Kunci adalah substring untuk dicocokkan dengan perintah, dengan * cocok dengan setiap perintah, dan nilai adalah substring pelanggaran yang diabaikan untuk perintah itu, seperti jalur sistem file.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: object yang memetakan substring perintah ke array substring pelanggaran, biasanya jalur
- Default: tidak diatur, jadi setiap pelanggaran dilaporkan
settings.json
sandbox.enableWeakerNestedSandbox
Jalankan sandbox Linux di dalam kontainer Docker tanpa hak istimewa, tempat bubblewrap tidak dapat memasang /proc baru. Sebagai gantinya, sandbox bagian dalam melakukan bind-mount /proc milik kontainer yang sudah ada, yang mengekspos informasi proses yang akan disembunyikan oleh mount baru. Ini mengurangi keamanan; gunakan hanya ketika kontainer luar sudah menyediakan isolasi yang Anda butuhkan.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: Boolean
true: sandbox bagian dalam melakukan bind-mount/procmilik kontainer yang sudah ada alih-alih memasang yang barufalse: sandbox memasang/procbaru, yang tidak berfungsi dalam kontainer Docker tanpa hak istimewa
- Default:
false
settings.json
sandbox.enableWeakerNetworkIsolation
Biarkan perintah bersandbox di macOS menjangkau layanan kepercayaan TLS sistem, com.apple.trustd.agent. Alat berbasis Go seperti gh, gcloud, dan terraform membutuhkannya untuk memverifikasi sertifikat TLS ketika Anda menggunakan network.httpProxyPort dengan proxy MITM dan CA kustom. Ini mengurangi keamanan dengan membuka jalur eksfiltrasi data potensial melalui layanan kepercayaan.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: Boolean
true: perintah bersandbox di macOS dapat menjangkaucom.apple.trustd.agentfalse: perintah bersandbox di macOS tidak dapat menjangkau layanan kepercayaan TLS sistem
- Default:
false
settings.json
excludedCommands sebagai gantinya; lihat Go-based CLIs fail TLS verification on macOS.
sandbox.allowAppleEvents
Biarkan perintah bersandbox di macOS mengirim Apple Events, yang dibutuhkan open, osascript, dan alat yang membuka URL di browser; tanpanya alat-alat tersebut gagal dengan kesalahan -600. Ini menghapus isolasi eksekusi kode: perintah bersandbox dapat meluncurkan aplikasi lain tanpa sandbox tanpa permintaan kepada pengguna, dan dapat mengirim perintah AppleScript ke aplikasi yang sedang berjalan seperti Terminal, tunduk pada permintaan persetujuan otomasi per aplikasi macOS (TCC).
- Scope:
User or managed - Type: Boolean
true: perintah bersandbox di macOS dapat mengirim Apple Eventsfalse: perintah bersandbox di macOS tidak dapat mengirim Apple Events, jadiopendanosascriptgagal dengan kesalahan-600
- Default:
false
settings.json
excludedCommands sebagai gantinya. Lihat Apple Events on macOS.
sandbox.ripgrep
Arahkan sandbox ke binari ripgrep milik Anda sendiri alih-alih yang digunakan Claude Code, misalnya ketika platform Anda memerlukan rg yang di-build secara berbeda.
- Scope:
User or managed - Type: object dengan
command, jalur ke binari ripgrep, danargsopsional, array argumen untuk ditambahkan di depan - Default: tidak diatur, jadi sandbox menggunakan binari ripgrep yang sama dengan Claude Code. Itu adalah binari bawaan kecuali Anda menetapkan
USE_BUILTIN_RIPGREPke0
settings.json
sandbox.bwrapPath
Arahkan sandbox ke binari bubblewrap yang dipasang di luar PATH, seperti salinan vendor di host air-gapped. Claude Code menggunakan jalur ini baik untuk pemeriksaan dependensi saat startup maupun ketika membungkus setiap perintah bersandbox.
- Scope:
Managed. Claude Code membacanya hanya dari pengaturan terkelola sehingga file pengguna, proyek, atau lokal tidak dapat mengarahkan sandbox ke binari yang berbeda. - Type: string, jalur absolut; Claude Code membuang jalur relatif dan kembali ke pencarian
PATH - Default: tidak diatur, jadi Claude Code menemukan
bwrapdiPATH
managed-settings.json
sandbox.socatPath
Arahkan proxy jaringan sandbox ke binari socat yang dipasang di luar PATH.
- Scope:
Managed - Type: string, jalur absolut; Claude Code membuang jalur relatif dan kembali ke pencarian
PATH - Default: tidak diatur, jadi Claude Code menemukan
socatdiPATH
managed-settings.json
sandbox.credentials
Deklarasikan file kredensial dan environment variable yang akan dilindungi dari perintah bersandbox. Setiap entri menyebutkan path file atau name variabel dan sebuah mode: deny menyembunyikan kredensial di dalam sandbox, dan mask menampilkan placeholder kepada perintah bersandbox sementara sandbox proxy mengganti nilai aslinya pada permintaan keluar. Claude Code hanya melindungi entri yang Anda cantumkan; tidak ada daftar deny kredensial bawaan.
- Scope:
Any file. Claude Code menghormati entrimask,allowPlaintextInject,awsPairs, dansigv4hanya dari pengaturan pengguna, pengaturan terkelola, dan flag--settings. - Type: object dengan
files,envVars,allowPlaintextInject,awsPairs, dansigv4 - Default: tidak diatur, jadi tidak ada kredensial yang dilindungi
GITHUB_TOKEN dari perintah bersandbox:
settings.json
deny adalah bagian dari lapisan sistem file, jadi tidak berlaku ketika Anda menonaktifkan isolasi sistem file; perlindungan environment variable tetap berlaku.
Entri kredensial tidak valid dalam pengaturan terkelola
Ketika entrisandbox.credentials terkelola gagal validasi, Claude Code tetap melindungi kredensial sejauh memungkinkan:
- Entri di
filesatauenvVarsyang masih memilikipathataunameyang valid danmodebernilaimaskataudeny, seperti entri yang polaextract-nya tidak memiliki grup penangkap, diturunkan menjadimode: "deny"dengan peringatan, sehingga kredensial tetap diblokir, bukan disamarkan, sampai Anda memperbaiki entri tersebut. Entrifilesyang diturunkan menguncifilesystem.disabledseperti entridenyeksplisit, dan peringatannya mencatat bahwa blok bacanya tidak diberlakukan jika pengaturan terkelola mematikan isolasi sistem file. - Entri dengan
modeyang tidak dikenal ataupathataunameyang tidak valid dihapus. - Setiap kasus memunculkan peringatan; baik entri diturunkan maupun dihapus, entri valid yang tersisa tetap diberlakukan.
sandbox.credentials.files
Lindungi file atau direktori kredensial dari perintah bersandbox. Dengan "mode": "deny", Claude Code memblokir pembacaan jalur di dalam sandbox, blok baca yang sama dengan sandbox.filesystem.denyRead. Dengan "mode": "mask", perintah bersandbox di Linux dan WSL2 membaca salinan sentinel dari file, dan proxy sandbox mengganti nilai aslinya pada permintaan keluar ke injectHosts milik entri itu; di macOS, file justru tidak dapat dibaca di dalam sandbox. "mode": "mask" memerlukan Claude Code v2.1.221 atau lebih baru.
- Scope:
Any file. Claude Code membuang entrimaskdari.claude/settings.jsonproyek dan.claude/settings.local.jsonlokal. - Type: array objek, masing-masing dengan
pathdanmodebernilai"deny"atau"mask", ditambah mask fields for files opsional - Default: tidak diatur, jadi tidak ada file kredensial yang dilindungi
gh, mengganti nilai aslinya hanya pada permintaan ke api.github.com:
settings.json
sandbox.filesystem.*, dan Claude Code menggabungkan array dari setiap cakupan pengaturan yang dimuat sesi. Protect credentials mencakup apa yang masih berlaku dari sumber yang Anda kecualikan dengan --setting-sources. Entri mask memerlukan Claude Code v2.1.221 atau lebih baru.
Substitusi mask hanya berjalan melalui proxy sandbox, jadi atur sandbox.network.tlsTerminate, atau allowPlaintextInject untuk jaringan uji HTTP biasa. mask berlaku untuk satu file, jadi cantumkan setiap file kredensial secara terpisah. Claude Code menerima tetapi mengabaikan bidang mask pada entri deny. Mask credentials mencakup sumber pengaturan mana yang dihormati, dan Mask credential files mencakup kapan entri kembali ke deny.
Bidang mask untuk file
Entrimask menerima bidang opsional berikut. Tanpa extract atau decode, Claude Code mengganti seluruh konten file dengan satu sentinel. Di macOS dengan isolasi sistem file aktif, Claude Code menerapkan entri mask sebagai deny sebelum extract atau decode berjalan; lihat Mask credential files.
Ini hanya menyamarkan nilai
oauth_token di file hosts gh, mengganti setiap salinan lainnya di file, membuat file tidak dapat dibaca jika pola tidak cocok dengan apa pun, dan mengganti token aslinya hanya pada permintaan ke api.github.com:
settings.json
sandbox.credentials.envVars
Lindungi environment variable dari perintah bersandbox. Dengan "mode": "deny", Claude Code menghapus variabel dari environment perintah bersandbox. Dengan "mode": "mask", perintah bersandbox melihat nilai sentinel per sesi, dan proxy sandbox mengganti nilai aslinya pada permintaan keluar ke injectHosts milik entri itu, sehingga alat seperti gh dan npm tetap dapat mengautentikasi tanpa pernah memegang kredensial asli.
- Scope:
Any file. Claude Code membuang entrimaskdari.claude/settings.jsonproyek dan.claude/settings.local.jsonlokal. - Type: array objek, masing-masing dengan
namedanmodebernilai"deny"atau"mask", ditambah mask fields for environment variables opsional - Default: tidak diatur, jadi tidak ada environment variable yang dilindungi
NPM_TOKEN dari perintah bersandbox dan menyamarkan GITHUB_TOKEN, mengganti nilai aslinya hanya pada permintaan ke api.github.com:
settings.json
name harus dimulai dengan huruf atau garis bawah dan hanya berisi huruf, digit, dan garis bawah. Claude Code menggabungkan array dari setiap cakupan pengaturan yang dimuat sesi, dan menerapkan deny ketika variabel yang sama muncul dengan kedua mode. Protect credentials mencakup apa yang masih berlaku dari sumber yang Anda kecualikan dengan --setting-sources.
Substitusi mask hanya berjalan melalui proxy sandbox, jadi atur sandbox.network.tlsTerminate, atau allowPlaintextInject untuk jaringan uji HTTP biasa; lihat Mask credentials. Claude Code menerima tetapi mengabaikan bidang mask pada entri deny.
Bidang mask untuk environment variable
Entrimask menerima bidang opsional berikut. Tanpa extract atau decode, Claude Code mengganti seluruh nilai dengan satu sentinel. extract dan decode tidak dapat digabungkan pada entri yang sama.
Ini hanya menyamarkan kata sandi di dalam
DATABASE_URL, menghapus pengaturan variabel jika pola tidak cocok dengan apa pun, dan menyamarkan JWT di SERVICE_JWT sambil membiarkan setiap klaim kecuali api_key tetap dapat dibaca:
settings.json
sandbox.credentials.allowPlaintextInject
Izinkan substitusi mask pada permintaan HTTP biasa selain HTTPS dengan terminasi TLS. Pada HTTP biasa, identitas upstream tidak diverifikasi dan kredensial dikirim dalam cleartext, jadi biarkan mati di luar jaringan uji tepercaya.
- Scope:
User or managed - Type: Boolean
true: Claude Code mengizinkan substitusimaskpada permintaan HTTP biasa selain HTTPS dengan terminasi TLSfalse: Claude Code mengizinkan substitusimaskhanya pada HTTPS dengan terminasi TLS
- Default:
false
settings.json
sandbox.credentials.awsPairs
Kelompokkan environment variable tersamarkan yang membentuk satu kredensial AWS untuk SigV4 re-signing ketika kredensial Anda berada dalam variabel dengan nama non-standar. Claude Code menghubungkan trio konvensional AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, dan AWS_SESSION_TOKEN secara otomatis ketika Anda menyamarkan seluruh nilainya, jadi Anda hanya memerlukan kunci ini untuk nama lain. Memerlukan Claude Code v2.1.224 atau lebih baru.
- Scope:
User or managed - Type: array objek, masing-masing dengan
accessKeyIdVar,secretAccessKeyVar, dansessionTokenVaropsional, yang menyebutkan entrisandbox.credentials.envVars - Default: tidak diatur, jadi hanya trio konvensional yang dipasangkan
settings.json
mask seluruh nilai di sandbox.credentials.envVars, tanpa extract atau decode, dan hanya dapat mengisi satu slot di seluruh pasangan. Aturan berikut juga berlaku:
- Proxy melakukan re-sign pada permintaan ke host yang tercantum di
injectHostsmilik entri ID kunci akses - Ketika
sessionTokenVardiatur, proxy mengirim token asli sebagaix-amz-security-tokenpada permintaan yang di-re-sign - Menyebutkan salah satu variabel konvensional dalam pasangan akan menggantikan pemasangan otomatis
sandbox.credentials.sigv4
Pilih apa yang dilakukan proxy sandbox terhadap bentuk permintaan AWS yang tidak dapat di-re-sign: streaming untuk unggahan streaming aws-chunked, presigned untuk URL presigned, dan sigv4a untuk tanda tangan asimetris SigV4A. Ini hanya berlaku untuk permintaan yang ditandatangani dengan ID kunci akses placeholder dari pasangan yang disamarkan. Memerlukan Claude Code v2.1.224 atau lebih baru.
- Scope:
User or managed - Type: object dengan
streaming,presigned, dansigv4a, masing-masing salah satu dari:"deny": proxy menggagalkan permintaan"passthrough": proxy meneruskan permintaan yang ditandatangani dengan placeholder tersamarkan, sehingga alat menerima penolakan dari AWS sendiri
- Default: tidak diatur, jadi setiap bentuk bernilai
"deny"
settings.json
deny, proxy menggagalkan permintaan. Dengan passthrough, proxy meneruskan permintaan dengan tanda tangan yang dihitung dari placeholder tersamarkan, sehingga AWS menolaknya dan alat pemanggil menerima respons dari AWS sendiri alih-alih kesalahan proxy.
sandbox.network
Kontrol host, port, dan soket mana yang dapat dijangkau perintah bersandbox. Sandbox merutekan lalu lintas keluar melalui proxy yang memberlakukan daftar ini; lihat Network isolation untuk cara proxy memutuskan dan kapan meminta persetujuan.
- Scope:
Any file.strictAllowlist,allowManagedDomainsOnly, dantlsTerminatedibaca dari lebih sedikit sumber, seperti yang dijelaskan di entrinya masing-masing. - Type: object dengan sub-kunci di bawah
- Default: tidak diatur, jadi tidak ada domain yang pra-diizinkan dan mode izin Anda menentukan apa yang terjadi pada setiap host baru
uploads.github.com, dan memungkinkan perintah melakukan bind ke localhost:
settings.json
WebFetch(domain:...) mengisi daftar allow dan deny yang sama.
sandbox.network.allowUnixSockets
Cantumkan jalur soket Unix yang dapat dihubungi perintah bersandbox di macOS. Claude Code mengabaikan daftar ini di Linux dan WSL2, tempat filter seccomp tidak dapat memeriksa jalur soket; gunakan allowAllUnixSockets di sana sebagai gantinya.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: array string, masing-masing jalur soket
- Default: tidak diatur, jadi sandbox macOS memblokir setiap soket Unix
settings.json
/var/run/docker.sock, misalnya, memungkinkan perintah bersandbox mengontrol daemon Docker. Lihat Security limitations.
sandbox.network.allowAllUnixSockets
Biarkan perintah bersandbox terhubung ke setiap soket Unix. Di Linux dan WSL2, seccomp filter sandbox memblokir panggilan socket(AF_UNIX, ...), jadi ini adalah satu-satunya cara untuk mengizinkan soket Unix di sana. Ketika filter tidak ada, yang dilaporkan /sandbox di tab Dependencies, sandbox tidak memblokir panggilan soket Unix. Lihat Set up Linux and WSL2 untuk asal filter tersebut.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: Boolean
true: perintah bersandbox dapat terhubung ke setiap soket Unixfalse: sandbox memblokir koneksi soket Unix: di macOS kecuali jalur diallowUnixSockets, dan di Linux dan WSL2 melalui filter seccomp jika ada
- Default:
false
settings.json
true juga membuka kembali soket interop yang meluncurkan binari Windows seperti cmd.exe dan powershell.exe.
sandbox.network.allowLocalBinding
Biarkan perintah bersandbox di macOS mendengarkan pada port jaringan, misalnya untuk memulai server dev, dan terhubung ke port mana pun di localhost. Perintah yang mendengarkan pada alamat non-loopback menerima koneksi dari mesin lain. Kunci ini tidak berpengaruh di Linux dan WSL2, tempat setiap perintah bersandbox memiliki antarmuka loopback sendiri. Untuk menjangkau server di host dari Linux atau WSL2, lihat A command fails to reach a server on localhost.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: Boolean
true: perintah bersandbox di macOS dapat mendengarkan pada alamat lokal mana pun dan terhubung ke port mana pun di localhostfalse: perintah bersandbox di macOS tidak dapat mendengarkan pada port atau terhubung langsung ke server di localhost
- Default:
false
settings.json
sandbox.network.allowMachLookup
Cantumkan nama layanan XPC dan Mach tambahan yang boleh dicari oleh sandbox macOS. Alat yang berkomunikasi melalui XPC, seperti iOS Simulator atau Playwright, memerlukan layanannya dicantumkan di sini.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal - Type: array string, masing-masing nama layanan; satu
*di akhir cocok dengan awalan, dan"*"saja cocok dengan setiap layanan - Default: tidak diatur
com.apple.coresimulator.:
settings.json
sandbox.network.allowedDomains
Pra-izinkan domain untuk lalu lintas keluar dari perintah bersandbox, sehingga sandbox tidak meminta persetujuan untuknya. Wildcard seperti *.example.com cocok dengan subdomain, dan akhiran :port opsional membatasi entri ke satu port; entri tanpa port cocok dengan setiap port.
- Scope:
Any file, dengan batasan pada pengaturan proyek dan lokal. Hanya pengaturan terkelola ketikaallowManagedDomainsOnlydiatur. - Type: array string, masing-masing domain, pola wildcard, atau literal IP, dengan akhiran
:portopsional - Default: tidak diatur, jadi mode izin Anda menentukan apa yang terjadi pada setiap host baru
settings.json
"[::1]" mengizinkan setiap port dan "[::1]:443" satu port. Bentuk dengan tanda kurung siku memerlukan Claude Code v2.1.229 atau lebih baru. Lihat IPv6 addresses in domain lists.
sandbox.network.deniedDomains
Blokir domain untuk lalu lintas keluar dari perintah bersandbox, menggunakan sintaks wildcard, port, dan IPv6 yang sama dengan allowedDomains. Domain yang ditolak tetap diblokir bahkan ketika entri allowedDomains juga cocok dengannya.
- Scope:
Any file - Type: array string, masing-masing domain, pola wildcard, atau literal IP, dengan akhiran
:portopsional - Default: tidak diatur
settings.json
allowManagedDomainsOnly diatur, jadi pengembang selalu dapat memperketat daftar deny. Untuk literal IPv6, lihat IPv6 addresses in domain lists.
Entri yang ditulis dengan titik di akhir yang menandai nama domain yang sepenuhnya memenuhi syarat, seperti example.com., memblokir koneksi yang sama dengan example.com.
sandbox.network.strictAllowlist
Tolak akses perintah bersandbox ke host di luar allowlist alih-alih meminta persetujuan. Allowlist adalah allowedDomains ditambah domain dari aturan allow WebFetch(domain:...), atau hanya entri pengaturan terkelola ketika allowManagedDomainsOnly diatur. Locks that apply without an admin-required sandbox mencakup entri repositori. Memerlukan Claude Code v2.1.219 atau lebih baru.
- Scope:
User or managed. Repositori tidak dapat mengaktifkan atau menonaktifkannya. - Type: Boolean
true: Claude Code menolak akses perintah bersandbox ke host di luar allowlistfalse: kecuali file pengaturan tepercaya lain menetapkantrue, Claude Code memutuskan host di luar allowlist berdasarkan mode izin alih-alih langsung menolaknya: dalam auto mode, Claude Code memeriksa host terhadap per-command allowed domains milik perintah tersebut, dalam modedontAskmenolak, dalam modebypassPermissionsdan dalam sesi plan mode terminal interaktif tempat bypass tersedia mengizinkan, dan selain itu meminta persetujuan Anda
- Default:
false
settings.json
WebFetch tetap mengikuti aturan izin masing-masing. Ketika salah satu sumber yang dihormati menetapkannya ke true, pengaturan ini tetap aktif. Lihat Network isolation. Memerlukan Claude Code v2.1.219 atau lebih baru.
sandbox.network.allowManagedDomainsOnly
Kunci allowlist jaringan ke apa yang didefinisikan pengaturan terkelola. Claude Code kemudian hanya menghormati allowedDomains dan aturan allow WebFetch(domain:...) dari pengaturan terkelola, mengabaikan domain dari pengaturan pengguna, proyek, lokal, dan --settings, dan memblokir domain yang tidak diizinkan secara otomatis alih-alih meminta persetujuan.
- Scope:
Managed - Type: Boolean
true: Claude Code hanya menghormatiallowedDomainsdan aturan allowWebFetch(domain:...)dari pengaturan terkelola dan memblokir domain yang tidak diizinkan alih-alih meminta persetujuanfalse: domain dari file pengaturan lain dapat digabungkan ke dalam allowlist
- Default:
false
managed-settings.json
true, sandbox diwajibkan admin, dan hanya pengaturan terkelola yang dapat menetapkan port proxy.
Domain yang ditolak tetap digabungkan dari setiap sumber yang dimuat sesi. Lihat Keep developers from widening the policy.
sandbox.network.httpProxyPort
Arahkan sandbox ke proxy HTTP milik Anda sendiri alih-alih proxy yang dijalankan Claude Code. Organisasi melakukan ini untuk memeriksa lalu lintas HTTPS, menerapkan aturan penyaringan sendiri, atau mencatat permintaan ke log. Proxy Anda mengambil alih penyaringan, dan Claude Code berhenti menerapkan daftar domain dan permintaan persetujuan jaringannya pada lalu lintas yang dikirim ke sana. Ketika tidak diatur, Claude Code memulai proxy sendiri untuk lalu lintas HTTP.
- Scope:
Any file, kecuali pengaturan sandbox lain membatasi file mana yang dapat menetapkan port - Type: number, port TCP lokal
- Default: tidak diatur, jadi Claude Code menjalankan proxy sendiri
settings.json
socksProxyPort jika proxy Anda juga harus membawa lalu lintas SOCKS; jika hanya salah satu dari keduanya yang diatur, Claude Code tetap menjalankan proxy sendiri untuk protokol lainnya. Lihat Custom proxy configuration.
sandbox.network.socksProxyPort
Arahkan sandbox ke proxy SOCKS5 milik Anda sendiri alih-alih proxy yang dijalankan Claude Code. Proxy Anda mengambil alih penyaringan, dan Claude Code berhenti menerapkan daftar domain dan permintaan persetujuan jaringannya pada lalu lintas yang dikirim ke sana. Ketika tidak diatur, Claude Code memulai proxy sendiri untuk lalu lintas SOCKS.
- Scope:
Any file, kecuali pengaturan sandbox lain membatasi file mana yang dapat menetapkan port - Type: number, port TCP lokal
- Default: tidak diatur, jadi Claude Code menjalankan proxy sendiri
settings.json
sandbox.network.tlsTerminate
Buat proxy sandbox melakukan terminasi TLS sehingga dapat membaca konten permintaan HTTPS. Ini bersifat eksperimental, dan credential substitution mask memerlukannya. Atur {} untuk menghasilkan otoritas sertifikat sementara untuk sesi, atau atur caCertPath dan caKeyPath untuk menggunakan milik Anda sendiri.
- Scope:
User or managed. Repositori tidak dapat mengaktifkannya atau menyediakan otoritas sertifikat. - Type: object dengan string
caCertPathdancaKeyPathopsional, masing-masing jalur file - Default: tidak diatur, jadi proxy tidak melakukan terminasi atau memeriksa TLS
settings.json
--settings, kemudian pengaturan pengguna.
Memori dan konteks
Kontrol apa yang dimuat Claude Code ke dalam konteks, bagaimana cara mengompaknya, dan di mana menyimpan memori dan rencana. Lihat Kelola konteks dan Memori.autoCompactEnabled
Buat Claude Code mengompak percakapan secara otomatis ketika konteks mendekati batas. Muncul di /config sebagai Auto-compact, dan mengalihkannya di sana menulis kunci ini ke pengaturan pengguna Anda.
- Scope:
Any file - Type: Boolean
true: Claude Code mengompak percakapan secara otomatis ketika konteks mendekati batasfalse: Claude Code tidak mengompak secara otomatis
- Default:
true - Per-session overrides:
DISABLE_AUTO_COMPACTmematikan auto-compact untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menghidupkannya kembali
settings.json
/compact terus bekerja saat auto-compact dimatikan. Jika Anda mematikan auto-compact, idle compaction juga ikut mati.
autoCompactWindow
Atur seberapa penuh jendela konteks sebelum Claude Code mengompak secara otomatis.
- Scope:
Any file - Type: jumlah token, dari
100000hingga1000000. Claude Code membatasi nilai pada jendela konteks model Anda; ringkasan model mencantumkan jendela setiap model - Default: tidak diatur, jadi Claude Code memilih jendela yang disesuaikan untuk model Anda
- Per-session overrides:
--autocompactdiutamakan daripada kunci ini untuk satu sesi, danCLAUDE_CODE_AUTO_COMPACT_WINDOWdiutamakan daripada keduanya kecuali Claude Code mengabaikan nilai variabel tersebut
settings.json
/autocompact menyimpan window untuk model saat ini di bawah modelSettings, yang diutamakan daripada kunci ini dalam file yang sama untuk model tersebut. Atur window auto-compact mencakup cara perintah, flag, variabel, dan pengaturan berinteraksi.
autoMemoryDirectory
Simpan memori otomatis di direktori pilihan Anda alih-alih default per-proyek.
- Scope:
Any file - Type: string, jalur direktori absolut atau dengan awalan
~/ - Default: tidak diatur, jadi Claude Code menggunakan
~/.claude/projects/<project>/memory/
settings.json
autoMemoryEnabled
Hidupkan atau matikan memori otomatis. Ketika false, Claude tidak membaca dari atau menulis ke direktori memori otomatis. Anda juga dapat mengalihkannya dengan /memory selama sesi, yang menulis kunci ini ke pengaturan pengguna Anda.
- Scope:
Any file - Type: Boolean
true: sama dengan tidak diatur; memori otomatis tetap aktif kecuali sesuatu yang mengungguli kunci ini mematikannya untuk sesi, seperti--bare, mode aman, atauCLAUDE_CODE_DISABLE_AUTO_MEMORYfalse: Claude tidak membaca dari atau menulis ke direktori memori otomatis
- Default:
true - Per-session overrides:
CLAUDE_CODE_DISABLE_AUTO_MEMORYmengambil alih kunci ini untuk satu sesi, dalam kedua arah
settings.json
bashOutputMaxChars
Atur berapa banyak karakter dari output perintah Bash atau PowerShell yang berhasil yang diterima Claude secara inline. Ketika output melampaui batas, Claude Code menyimpannya ke file dan Claude menerima pratinjau singkat ditambah jalur file. Naikkan batas ketika output perintah, seperti build verbose atau log test-suite lengkap, secara rutin melampaui default dan Anda ingin Claude membacanya tanpa membuka file. Memerlukan Claude Code v2.1.261 atau lebih baru.
- Scope:
Any file - Type: jumlah karakter, bilangan bulat positif. Claude Code menjepit nilai ke dalam rentang
4000hingga128000 - Default: tidak diatur, jadi Claude menerima hingga 30.000 karakter secara inline
settings.json
BASH_MAX_OUTPUT_LENGTH.
claudeMd
Injeksikan instruksi gaya CLAUDE.md sebagai memori yang dikelola organisasi tanpa menerapkan file terpisah. Claude Code memuat teks sebagai entri memori terkelola di depan file CLAUDE.md pengguna dan proyek.
- Scope:
Managed - Type: string, teks file CLAUDE.md; tuliskan seperti yang Anda lakukan pada file, Markdown disertakan, dengan jeda baris sebagai
\n - Default: tidak diatur
managed-settings.json
claudeMdExcludes
Lewati file CLAUDE.md tertentu ketika Claude Code memuat memori. Dalam monorepo besar, gunakan untuk melewati file CLAUDE.md dari tim lain yang tidak relevan dengan pekerjaan Anda; Kecualikan file CLAUDE.md yang tidak relevan dalam panduan codebases besar memandu kasus tersebut. Pola cocok dengan jalur file absolut.
- Scope:
Any file - Type: array string, masing-masing pola glob atau jalur absolut
- Default: tidak diatur, jadi Claude Code memuat setiap CLAUDE.md yang ditemukannya
settings.json
env
Atur variabel lingkungan untuk setiap sesi dan untuk subproses yang dimulai Claude Code darinya. Variabel apa pun dalam referensi variabel lingkungan dapat masuk di sini, yang merupakan cara Anda menerapkannya ke setiap sesi atau meluncurkannya ke tim Anda. Pengaturan proyek dan lokal tidak dapat menetapkan beberapa di antaranya.
- Scope:
Any file - Type: objek yang memetakan nama variabel ke nilai string
- Default: tidak diatur
settings.json
Bagaimana nilai env berinteraksi dengan shell Anda
- Nilai di sini menimpa variabel yang sama yang diekspor di shell Anda, dan ketika lebih dari satu file pengaturan menetapkan variabel, yang dengan preseden tertinggi berlaku. Variabel yang Claude Code abaikan dalam
envmencantumkan pengecualian untuk pengaturan proyek dan lokal. - Ketika aplikasi Claude Desktop atau lingkungan self-hosted runner memulai sesi, lingkungan peluncuran yang dibangunnya mengambil alih: Claude Code mengabaikan nilai
envdari file pengaturan apa pun untuk variabel yang sudah ditetapkan lingkungan peluncuran. Debug log menyebutkan setiap variabel yang diabaikan. - Untuk membatalkan ekspor shell, atur variabel ke
"". Claude Code memperlakukan nilai kosong sebagai tidak diatur untuk pemilihan penyedia, dan subproses mewarisi nilai kosong. NO_COLORdanFORCE_COLORyang ditetapkan di sini hanya mencapai subproses. Untuk mengubah warna antarmuka Claude Code sendiri, atur di shell Anda sebelum meluncurkanclaude.- Nilai di sini adalah teks biasa dalam file pengaturan dan mencapai setiap subproses yang dimulai Claude Code. Untuk token pembawa OTLP yang berputar, gunakan
otelHeadersHelper; untuk kredensial API, gunakanapiKeyHelper.
Ketika Claude Code menerapkan nilai env
- Dari pengaturan pengguna,
--settings, dan pengaturan terkelola: saat startup, dan lagi dalam sesi yang berjalan ketika perubahan tersimpan mengubahenvyang digabungkan. - Dari pengaturan proyek dan lokal: setelah Anda mempercayai ruang kerja, atau saat startup dalam mode
-p, yang tidak pernah menampilkan dialog kepercayaan, dan lagi ketika perubahan tersimpan mengubahenvyang digabungkan. - Variabel yang Claude Code klasifikasikan sebagai aman, seperti pemilihan model, timeout dan batas, dan toggle fitur: saat startup dari setiap file pengaturan, kecuali variabel yang tidak dapat ditetapkan pengaturan proyek dan lokal.
- Setelah Anda memindahkan sesi dengan
/cdpada v2.1.246 atau lebih baru: nilaienvdirektori baru, di atas direktori sebelumnya.
Variabel yang Claude Code abaikan dalam env
-
Pengaturan proyek dan lokal tidak dapat menetapkan variabel yang tidak boleh dikontrol repositori yang diperiksa; atur di shell, pengaturan pengguna, atau pengaturan terkelola Anda. Claude Code menghapus masing-masing, kecuali beberapa nilai yang mematikan telemetri, dan mencatat peringatan yang dapat Anda lihat dengan
claude --debug. Mereka termasuk:-
Variabel yang memilih di mana Claude Code menyimpan atau menulis file-nya sendiri:
CLAUDE_CONFIG_DIR,CLAUDE_CODE_TMPDIR, dan variabel direktori sistem operasi sepertiHOME,TMPDIR,TMP,TEMP, dan keluargaXDG_*. -
Variabel Windows yang memilih program dan konfigurasi tingkat mesin untuk proses yang dimulai Claude Code, seperti
SystemRoot,ComSpec,ProgramData,LOCALAPPDATA,PATHEXT,PSModulePath, dan keluargaProgramFiles. -
Variabel yang mengekspor konten sesi:
OTEL_LOG_RAW_API_BODIESdan pasangan pelacakan beta terperinciENABLE_BETA_TRACING_DETAILEDdanBETA_TRACING_ENDPOINT. -
Variabel OpenTelemetry exporter yang menghidupkan telemetri, memilih ke mana telemetri pergi, atau memilih konten apa yang ditangkapnya:
CLAUDE_CODE_ENABLE_TELEMETRY, ditambah pasangan telemetri yang ditingkatkan betaCLAUDE_CODE_ENHANCED_TELEMETRY_BETAdanENABLE_ENHANCED_TELEMETRY_BETA- Pemilih exporter
OTEL_LOGS_EXPORTER,OTEL_METRICS_EXPORTER, danOTEL_TRACES_EXPORTER - Variabel konten
OTEL_LOG_USER_PROMPTS,OTEL_LOG_ASSISTANT_RESPONSES,OTEL_LOG_TOOL_CONTENT, danOTEL_LOG_TOOL_DETAILS - Variabel
OTEL_EXPORTER_OTLP_*yang namanya berakhir dengan_ENDPOINT,_HEADERS,_PROTOCOL,_CERTIFICATE,_CLIENT_KEY, atau_INSECURE, dalam bentuk generik dan per-sinyal, sepertiOTEL_EXPORTER_OTLP_ENDPOINTdanOTEL_EXPORTER_OTLP_METRICS_HEADERS OTEL_EXPORTER_PROMETHEUS_HOSTdanOTEL_EXPORTER_PROMETHEUS_PORT
noneuntuk tiga pemilih exporter, dan nilai off seperti0untukOTEL_LOG_USER_PROMPTS,OTEL_LOG_TOOL_CONTENT, danOTEL_LOG_TOOL_DETAILS. Nilai seperti itu menimpa variabel yang sama dalam pengaturan pengguna Anda, tetapi bukan yang ditetapkan lingkungan tempat Anda memulai Claude Code, file--settings, atau pengaturan terkelola. Ketika file pengaturan proyek atau lokal menetapkan variabel dalam grup ini, sesi interaktif lokal menampilkan pemberitahuan saat startup. Jalankan/statusatauclaude doctoruntuk melihat mana yang Claude Code abaikan dan mana yang mematikan telemetri; keduanya mencantumkan nama, tidak pernah nilai. Jalankan non-interaktif dengan-patau sesi Agent SDK tidak menampilkan pemberitahuan, jadi periksa bahwa kolektor Anda masih menerima data setelah Anda upgrade. Jika tidak, atur variabel dalam pengaturan pengguna Anda, pengaturan terkelola, lingkungan pekerjaan, atau file yang Anda lewatkan dengan--settings. Mengabaikan grup ini dalam pengaturan proyek dan lokal memerlukan Claude Code v2.1.282 atau lebih baru. -
Variabel yang mengubah cara Claude Code dimulai atau disinkronkan, seperti
CLAUDE_CODE_PROCESS_WRAPPER,CLAUDE_CODE_SYNC_SKILLS,CLAUDE_CODE_SYNC_PLUGINS,CLAUDE_CODE_PLUGIN_CACHE_DIR, danCLAUDE_CODE_PLUGIN_SEED_DIR. -
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS, yang mengatur pengatur waktu pada dialog yang tidak dijawab. -
CLAUDE_CODE_DISABLE_ATTACHMENTS, yang mematikan pemrosesan lampiran. -
CLAUDE_CODE_DISABLE_FILE_MENTIONS, yang menghentikan Claude Code dari memperluas mention@untuk file dan direktori.
HOMEdanXDG_CONFIG_HOME. Sebelum v2.1.290, pengaturan tersebut juga dapat menetapkan variabel pengatur waktu dialog danCLAUDE_CODE_DISABLE_ATTACHMENTS. -
Variabel yang memilih di mana Claude Code menyimpan atau menulis file-nya sendiri:
-
Variabel identitas yang dimiliki lingkungan hosting Claude Code, seperti
CLAUDE_CODE_REMOTEdanCLAUDE_CODE_ACCOUNT_UUID, diabaikan dari setiap file. -
CLAUDE_CODE_MESSAGING_SOCKETdanCLAUDE_CODE_MESSAGING_TOKEN, yang diekspor Claude Code sendiri, diabaikan dari setiap file. Mengabaikan variabel soket memerlukan Claude Code v2.1.224 atau lebih baru, dan mengabaikan token memerlukan v2.1.228 atau lebih baru. -
CLAUDE_CODE_PROJECT_DIR_NAME, yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file; memerlukan v2.1.234 atau lebih baru. -
CLAUDE_CODE_RESTRICTED, yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file. -
CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY, yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file. Variabel memerlukan Claude Code v2.1.283 atau lebih baru. -
CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT,CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT,CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT, danCLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT, yang dibaca Claude Code hanya dari lingkungan peluncuran, diabaikan dari setiap file.
fileCheckpointingEnabled
Buat Claude Code membuat snapshot file sebelum setiap edit sehingga /rewind dapat memulihkannya. Muncul di /config sebagai Rewind code (checkpoints), dan mengalihkannya di sana menulis kunci ini ke pengaturan pengguna Anda.
- Scope:
Any file - Type: Boolean
true: Claude Code membuat snapshot file sebelum setiap edit sehingga/rewinddapat memulihkannyafalse: Claude Code tidak membuat snapshot file, jadi/rewindtidak dapat memulihkannya
- Default:
true - Per-session overrides:
CLAUDE_CODE_DISABLE_FILE_CHECKPOINTINGmematikan checkpointing untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menghidupkannya kembali
settings.json
-p atau sesi Agent SDK, Claude Code mengabaikan kunci ini. SDK menghidupkan checkpointing dengan opsi enableFileCheckpointing-nya, dan jalankan -p bare memerlukan CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true. Lihat File checkpointing dalam Agent SDK.
idleCompaction
Idle compaction mengompak percakapan panjang yang Anda tinggalkan, sesaat sebelum prompt cache-nya kedaluwarsa. Pesan Anda berikutnya kemudian mengirim ringkasan alih-alih seluruh percakapan. Ketika Anda kembali, percakapan menampilkan baris yang diawali dengan Compacted while idle, before the prompt cache expired.
Idle compaction aktif secara default untuk percakapan yang memenuhi semua kondisi berikut:
- Sesi: Anda berada dalam sesi terminal interaktif
- Prompt cache: percakapan menggunakan TTL prompt cache satu jam
- Feature flag: Claude Code dapat mengambil feature flag dari Anthropic
- Ukuran: konteks percakapan telah mencapai ambang token, yang dapat Anda ubah dari default 200.000
- Waktu idle: sekitar 54 menit telah berlalu sejak permintaan terakhir, dan komputer Anda dalam keadaan menyala pada saat itu
false.
- Scope:
Any file - Type: Boolean
true: Claude Code mengompak percakapan idle yang memenuhi kondisifalse: Claude Code tidak mengompak saat sesi Anda idle
- Default:
true - Per-session overrides:
DISABLE_AUTO_COMPACTmematikan idle compaction bersama dengan auto-compaction
settings.json
/config dan ubah baris Idle compaction. Pilihan Anda disimpan ke pengaturan pengguna Anda dan langsung berlaku. Baris ini memerlukan Claude Code v2.1.302 atau lebih baru. Jika Anda menjalankan salah satu versi tersebut dan /config tidak menampilkan baris tersebut, periksa penyebab berikut:
- Sumber pengaturan lain menetapkan kunci ini: nilai dalam pengaturan terkelola, flag
--settings, atau file pengaturan proyek atau lokal menimpa pengaturan pengguna Anda. Ubah kunci di sumber tersebut - Feature flag tidak tersedia: di tempat Claude Code tidak dapat mengambil feature flag dari Anthropic, idle compaction tidak berjalan, sehingga tidak ada yang perlu dimatikan
autoCompactEnabled untuk menghentikan idle compaction.
Ubah ambang idle compaction
AturCLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS ke jumlah token yang harus dicapai konteks percakapan sebelum idle compaction berlaku untuknya. Gunakan bilangan bulat positif. Nilai di bawah 100000 dinaikkan menjadi 100000, ambang terendah.
Dengan default, percakapan pada context window 200K melakukan auto-compact sebelum mencapai 200.000 token. Contoh ini menurunkan ambang menjadi 150.000 sehingga percakapan tersebut memenuhi syarat:
settings.json
plansDirectory
Pilih di mana Claude Code menyimpan file rencana yang ditulisnya dalam plan mode. Claude Code menyelesaikan jalur relatif terhadap akar proyek.
- Scope:
Any file - Type: string, jalur relatif terhadap akar proyek
- Default: tidak diatur, jadi Claude Code menggunakan
~/.claude/plans
settings.json
~/.claude/plans alih-alih direktori yang Anda atur dalam kasus seperti berikut:
- Di luar akar proyek: jalur diselesaikan di luar akar proyek, seperti halnya
"../plans". - Backslash di macOS, Linux, dan WSL: jalur yang diselesaikan mengandung backslash, seperti halnya
"docs\\plans"gaya Windows. Tulis"docs/plans", yang juga berfungsi di Windows.
skillListingBudgetFraction
Setiap giliran, Claude melihat daftar keterampilan Anda dengan deskripsinya, dan Claude Code membatasi daftar itu pada bagian jendela konteks. Ketika daftar melampaui batas, Claude Code menyimpan nama setiap keterampilan tetapi menghapus deskripsi keterampilan yang paling jarang digunakan, sehingga Claude masih dapat memanggil keterampilan tersebut tetapi kurang mungkin memilih satu sendiri. Naikkan kunci ini untuk menyimpan lebih banyak deskripsi yang terlihat dengan mengorbankan lebih banyak konteks per giliran.
- Scope:
Any file - Type: angka, fraksi lebih besar dari
0dan paling banyak1 - Default:
0.01, yang mereservasi 1% dari jendela konteks
settings.json
/doctor.
skillListingMaxDescChars
Setiap giliran, Claude melihat daftar keterampilan Anda yang menampilkan teks description dan when_to_use setiap keterampilan. Kunci ini membatasi berapa banyak karakter dari teks itu yang ditampilkan Claude Code per keterampilan; teks yang lebih panjang dipotong pada batas.
- Scope:
Any file - Type: jumlah karakter, bilangan bulat positif
- Default:
1536
settings.json
skillListingBudgetFraction.
taskOutputMaxChars
Melalui v2.1.276, Anda menetapkan kunci ini ke jumlah karakter dari output tugas latar belakang yang diterima Claude secara inline ketika membacanya dengan alat TaskOutput.
Interface dan terminal
Ubah tampilan dan perilaku Claude Code di terminal Anda: tema, mode editor, status line, spinner, notifikasi dalam sesi, dan aksesibilitas. Lihat Konfigurasi terminal.askUserQuestionTimeout
Biarkan dialog AskUserQuestion yang belum dijawab melanjutkan secara otomatis setelah periode waktu idle, mengirimkan opsi apa pun yang telah Anda pilih. Atur ini ketika Anda pergi dan ingin Claude melanjutkan tanpa Anda. Dengan default, pertanyaan menunggu sampai Anda menjawabnya. Untuk kapan timer berhenti sementara atau tidak pernah dimulai, lihat Question auto-continue timeout.
- Scope:
User or managed - Type: string, salah satu dari
"60s","5m","10m", atau"never" - Default:
"never"
settings.json
/config sebagai Question auto-continue timeout, yang menulis kunci ini ke pengaturan pengguna; Claude Code menyembunyikan baris saat pengaturan terkelola atau flag --settings mengatur kunci.
autoContinueAtUsageLimit
Setelah batas penggunaan claude.ai menghentikan sesi Anda, tunggu di sesi terbuka dan lanjutkan tugas secara otomatis setelah reset. Lihat Matikan automatic continue. Memerlukan Claude Code v2.1.234 atau lebih baru.
- Scope:
User or managed. Baca dari pengaturan pengguna,--settings, dan pengaturan terkelola saja. Ketika tidak ada yang mengatur kunci, file pengaturan proyek atau lokal yang mengaturnya mematikan fitur daripada diabaikan. - Type: Boolean
true: setelah batas penggunaan claude.ai menghentikan sesi Anda, Claude Code menunggu di sesi terbuka dan melanjutkan tugas secara otomatis setelah resetfalse: Claude Code tidak memulai penantian dengan sendirinya. Anda masih dapat memulai penantian sendiri dari menu opsi batas penggunaan
- Default:
true
settings.json
/config sebagai Continue automatically at usage limit, yang menulis kunci ini ke pengaturan pengguna; Claude Code menyembunyikan baris saat pengaturan terkelola atau flag --settings mengatur kunci.
autoScrollEnabled
Ikuti output baru ke bagian bawah percakapan dalam fullscreen rendering. Matikan untuk tetap di tempat Anda menggulir sementara Claude terus bekerja; prompt izin masih menggulir ke tampilan.
- Scope:
Any file - Type: Boolean
true: percakapan mengikuti output baru ke bagian bawahfalse: Anda tetap di tempat Anda menggulir sementara Claude terus bekerja; prompt izin masih muncul di bawah transkrip
- Default:
true
settings.json
/config sebagai Auto-scroll ketika fullscreen rendering aktif, yang menulis kunci ini ke pengaturan pengguna.
axScreenReader
Render output yang ramah pembaca layar: teks datar tanpa batas dekoratif atau animasi. Mode pembaca layar menggunakan renderer klasik, jadi pengaturan tui tidak berpengaruh saat aktif; sesi latar belakang yang terlampir masih merender fullscreen.
- Scope:
Any file - Type: Boolean
true: Claude Code merender teks datar tanpa batas dekoratif atau animasi, menggunakan renderer klasikfalse: Claude Code merender secara normal
- Default: unset, jadi mode pembaca layar mati
- Per-session overrides:
--ax-screen-readermengambil alihCLAUDE_AX_SCREEN_READER, dan keduanya mengambil alih kunci ini untuk satu sesi
settings.json
bashEditDiffEnabled
Pilih apakah Claude Code mencatat file yang diubah dalam repositori Git saat perintah Bash berjalan. Ketika mencatatnya, Anda melihat diff mereka di terminal setelah perintah, dan PostToolUse Bash hooks Anda menerima daftar file yang diubah.
File yang terdaftar tidak selalu merupakan file yang diubah perintah. Perubahan yang dibuat program lain atau panggilan Bash lain saat perintah berjalan juga dapat muncul di sana.
Atur kunci ke true untuk mencatatnya dalam setiap mode izin. Memerlukan Claude Code v2.1.269 atau lebih baru.
- Scope:
User or managed.truehanya dihitung dari pengaturan pengguna Anda, JSON yang dilewatkan dengan--settings, atau pengaturan terkelola, jaditruedalam.claude/settings.jsonatau.claude/settings.local.jsonrepositori tidak dapat mengaktifkan pencatatan.falsedalam file repositori apa pun masih mematikannya kecuali file preseden lebih tinggi mengaturtrue. - Type: Boolean
- Default: unset, jadi Claude Code mencatat perubahan dalam mode auto dan mode
bypassPermissionsketika mengarahkan Claude untuk mengedit file melalui Bash - Per-session overrides:
CLAUDE_CODE_BASH_EDIT_DIFFmengambil alih kunci ini untuk satu sesi
settings.json
companyAnnouncements
Tampilkan pengumuman organisasi Anda kepada pengguna saat startup. Ketika Anda mencantumkan lebih dari satu, Claude Code memilih satu secara acak untuk setiap sesi; pada peluncuran pertama seseorang, ini menampilkan entri pertama.
- Scope:
Any file - Type: array of strings
- Default: unset, jadi tidak ada pengumuman yang ditampilkan
settings.json
defaultShell
Pilih apakah Bash atau PowerShell menjalankan perintah shell yang Anda ketik dengan prefix ! di kotak input, yang dijalankan Claude Code secara langsung dan ditambahkan ke sesi.
"powershell" hanya berfungsi saat tool PowerShell aktif. Tool ini aktif secara default di Windows tanpa Git Bash, dan di Windows dengan Git Bash untuk akun claude.ai dan Console. Di sesi Amazon Bedrock, Google Cloud’s Agent Platform, dan Microsoft Foundry, serta di macOS, Linux, dan WSL, atur CLAUDE_CODE_USE_POWERSHELL_TOOL=1 untuk mengaktifkan tool. Atur variabel itu ke 0 untuk mematikan tool.
- Scope:
Any file - Type: string, salah satu dari:
"bash": Claude Code menjalankan perintah!Anda di Bash"powershell": Claude Code menjalankan perintah!Anda di PowerShell
- Default:
"bash", atau"powershell"di Windows ketika Bash tidak tersedia
settings.json
"powershell" kembali ke Bash ketika tool PowerShell mati, dan "bash" kembali ke PowerShell ketika Bash tidak terinstal.
dialogExpiry
Atur tenggat waktu untuk dialog yang Claude Code teruskan ke klien jarak jauh, seperti host Remote Control atau SDK, dan untuk dialog persetujuan untuk pesan lintas sesi yang ditahan. Di Claude Code v2.1.236 atau lebih baru, tenggat waktu yang sama membatasi prompt persetujuan kredit penggunaan Fable pertengahan sesi dalam sesi yang mungkin tidak ada siapa pun di terminal. Ketika tidak ada jawaban sebelum tenggat waktu, Claude Code membatalkan dialog dan melanjutkan dengan default tanpa tindakan. Memerlukan Claude Code v2.1.224 atau lebih baru.
- Scope:
User or managed - Type: string, salah satu dari
"60s","5m","10m", atau"never", yang menonaktifkan tenggat waktu - Default:
"5m" - Per-session overrides:
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MSmengambil alih kunci ini untuk satu sesi
settings.json
AskUserQuestion menggunakan alur mereka sendiri dan tidak diatur oleh tenggat waktu ini. Muncul di /config sebagai Dialog expiry, yang menulis kunci ini ke pengaturan pengguna; baris memerlukan Claude Code v2.1.232 atau lebih baru, dan Claude Code menyembunyikannya saat pengaturan terkelola atau flag --settings mengatur kunci.
editorMode
Pilih mode pengikatan kunci untuk prompt input.
- Scope:
Any file - Type: string, salah satu dari:
"normal": pintasan keyboard standar dalam input prompt"vim": pengeditan gaya vim dengan mode NORMAL, INSERT, dan VISUAL
- Default:
"normal"
settings.json
/config sebagai Editor mode, yang menulis kunci ini ke pengaturan pengguna.
emojiCompletionEnabled
Tampilkan saran emoji ketika Anda mengetik : ditambah shortcode dalam input prompt, dan ganti shortcode yang selesai seperti :heart: dengan emojinya. Atur ke false untuk mematikan keduanya.
- Scope:
Any file - Type: Boolean
true: Claude Code menampilkan saran emoji setelah:dan mengganti shortcode yang selesai dengan emojinyafalse: Claude Code tidak menyarankan emoji atau mengganti shortcode
- Default:
true
settings.json
fileSuggestion
Jalankan perintah Anda sendiri untuk menyediakan pelengkapan otomatis jalur file @ daripada saran file bawaan. Saran bawaan menggunakan traversal filesystem cepat; monorepo besar mungkin lebih baik dengan pengindeksan khusus proyek seperti indeks file yang sudah dibangun.
- Scope:
Any file. Di bawah status line dan file suggestion gates, Claude Code mematikan perintah atau menjalankan hanya nilai terkelola, dan melewati milik Anda tanpa peringatan. - Type: object dengan
type, selalu"command", dancommand, perintah shell untuk dijalankan - Default: unset, jadi Claude Code menggunakan saran file bawaan
settings.json
@ diikuti bagian dari jalur dalam prompt: saran berasal dari output perintah Anda.
Command input dan output
Claude Code menjalankan perintah dengan variabel lingkungan yang sama seperti hooks, termasukCLAUDE_PROJECT_DIR, dan berhenti menunggu setelah lima detik. Perintah menerima JSON di stdin dengan field query yang menampung apa yang telah Anda ketik sejauh ini:
footerLinksRegexes
Render lencana yang dapat diklik tambahan di footer di bawah kotak input ketika regex cocok dengan output giliran: hasil tool, termasuk konten file dan halaman yang diambil, dan respons Claude sendiri. Gunakan untuk mengubah ID yang dicetak oleh CLI proyek, seperti alat review dan pelacak masalah, menjadi tautan sesi.
- Scope:
User or managed - Type: array of objects, masing-masing dengan
typediatur ke"regex", regexpattern, templateurl, danlabelopsional; placeholder{name}dalamurldanlabeldiisi dari grup penangkapan bernama dalampattern - Default: unset, jadi tidak ada lencana yang dirender
PROJ-1234 dan membangun setiap tautan dari kunci yang ditangkap:
settings.json
PROJ-1234 muncul dalam hasil tool atau dalam balasan Claude, lencana PROJ-1234 muncul di footer menautkan ke https://issues.example.com/browse/PROJ-1234.
Batasan lencana
Setiap URL, label, dan jumlah lencana entri dibatasi sebagai berikut:
Ketika giliran selesai, Claude Code mencocokkan regex
pattern setiap entri terhadap output giliran di thread utama, jadi regex yang lambat memblokir UI sampai selesai. Quantifier bersarang seperti (a+)+$ dapat memakan waktu secara eksponensial terhadap input tertentu dan membekukan sesi, jadi jaga setiap pattern linear dan hindari penggandaan + atau *.
Lencana footer dirender bersama status line kustom ketika satu dikonfigurasi; tidak ada yang menggantikan yang lain. Gunakan status line untuk baris yang didorong skrip yang menghitung kontennya sendiri dari data sesi, dan lencana footer untuk mengubah ID dari percakapan menjadi tautan tanpa skrip.
keybindingFlavor
Di v2.1.238 hingga v2.1.260, mengaturnya ke "readline" membuat Ctrl+W menghapus kembali ke spasi sebelumnya daripada hanya kata sebelumnya.
- Scope:
Any file - Type: string,
"classic"atau"readline" - Default: unset
maxProseWidth
Batasi lebar prosa dalam respons Claude sehingga baris tetap dapat dibaca di terminal lebar. Paragraf, judul, daftar, dan blockquote membungkus dalam jumlah kolom ini, sementara tabel dan blok kode menjaga lebar terminal penuh. Memerlukan Claude Code v2.1.282 atau lebih baru.
- Scope:
Any file - Type: number of terminal columns, a whole number, minimum
40. Claude Code mengabaikan nilai apa pun yang lain - Default: unset, jadi prosa membungkus di tepi terminal
settings.json
prefersReducedMotion
Kurangi atau matikan animasi antarmuka seperti spinner, shimmer, dan efek flash. Muncul di /config sebagai Reduce motion.
- Scope:
Any file - Type: Boolean
true: Claude Code mengurangi atau mematikan animasi antarmuka seperti spinner, shimmer, dan efek flashfalse: sama dengan unset; Claude Code menampilkan animasinya
- Default:
false
settings.json
promptSuggestionEnabled
Tampilkan atau sembunyikan prompt suggestions, prediksi yang dikelabuhi yang muncul dalam input prompt Anda. Atur ke false, atau matikan Prompt suggestions di /config, untuk menyembunyikannya.
- Scope:
Any file - Type: Boolean
true: Anda melihat saran prompt dalam input prompt Andafalse: Claude Code menyembunyikan saran prompt
- Default:
true - Per-session overrides:
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTIONmengambil alih kunci ini untuk satu sesi
settings.json
DISABLE_TELEMETRY, kunci ini tidak berpengaruh dan hanya CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1 mengaktifkannya.
respectGitignore
Kontrol apakah pemilih file @ mengeluarkan file yang cocok dengan pola .gitignore. Muncul di /config sebagai Respect .gitignore in file picker.
- Scope:
Any file. Ketika tidak ada file pengaturan yang mengaturnya, Claude Code kembali kerespectGitignoredi~/.claude.json, yang toggle/configtulis. - Type: Boolean
true: pemilih file@mengeluarkan file yang cocok dengan pola.gitignorefalse: pemilih file@menyertakan file yang cocok dengan pola.gitignore
- Default:
true
settings.json
respondToBashCommands
Pilih apakah Claude merespons setelah Anda menjalankan perintah shell dengan prefix ! di kotak input. Secara default, Claude Code menambahkan output perintah ke percakapan dan Claude membalasnya. Atur kunci ini ke false untuk menambahkan output ke konteks tanpa balasan, sehingga Anda dapat menjalankan beberapa perintah dan menanyakan tentang mereka bersama-sama.
- Scope:
Any file - Type: Boolean
true: Claude Code menambahkan output perintah ke percakapan dan Claude membalasnyafalse: Claude Code menambahkan output ke konteks tanpa balasan
- Default:
true
settings.json
!.
showClearContextOnPlanAccept
Ketika Claude menyelesaikan rencana dalam plan mode, ini menampilkan menu persetujuan. Perencanaan dapat menggunakan banyak konteks, jadi kunci ini menambahkan opsi pertama ke menu itu, Yes, clear context and …, yang menyetujui rencana, menghapus konteks percakapan, dan mulai mengimplementasikan dari rencana saja. Sisa label menamai mode izin sesi berlanjut, dan menunjukkan berapa banyak konteks Anda yang digunakan perencanaan.
- Scope:
Any file - Type: Boolean
true: menu persetujuan rencana mendapat opsi pertama, Yes, clear context and …, yang menyetujui rencana dan menghapus konteks percakapanfalse: menu persetujuan rencana tidak menampilkan opsi clear-context
- Default:
false
settings.json
showTurnDuration
Tampilkan atau sembunyikan pesan durasi giliran setelah setiap respons, seperti “Cooked for 1m 6s · done 6:05 PM”. Jam setelah “done” menunjukkan kapan giliran selesai; timeFormat dan timeZone mengontrol format dan zonanya. Muncul di /config sebagai Show turn duration.
- Scope:
Any file. Nilai di~/.claude.jsondari versi yang lebih lama berlaku ketika tidak ada file pengaturan yang mengaturnya. - Type: Boolean
true: Anda melihat pesan durasi giliran setelah setiap responsfalse: Claude Code menyembunyikan pesan durasi giliran
- Default:
true
settings.json
spellcheck
Garis bawahi kata-kata yang salah eja dalam input prompt saat Anda mengetik, menggunakan pemeriksa ejaan yang Anda instal. Claude Code hanya memeriksa teks dalam kotak input. Check spelling as you type mencakup penginstalan aspell, hunspell, atau ispell dan apa yang diperiksa pemeriksa. Memerlukan Claude Code v2.1.235 atau lebih baru.
- Scope:
User or managed. Blok dari tier tertinggi yang mengaturnya berlaku secara keseluruhan. - Type: object dengan
enabled(Boolean),checker("aspell","hunspell","ispell", atau"auto"),language(string, dilewatkan ke pemeriksa sebagai nama kamus), dancolor(string, nama warna terminal,#rrggbb,rgb(r,g,b),ansi256(n), atauansi:<name>) - Default: unset, jadi pemeriksaan ejaan mati;
checkerdefault ke"auto", yang pertama dari tiga ditemukan diPATH;languagedefault ke kamus pemeriksa sendiri;colordefault ke warna kesalahan tema
settings.json
spinnerTipsEnabled
Saat Claude bekerja, baris spinner berputar melalui tips pendek tentang fitur Claude Code, seperti “Use Plan Mode to prepare for a complex request before making changes. Press Shift+Tab twice to enable.” Atur kunci ini ke false untuk menyembunyikannya. Muncul di /config sebagai Show tips.
- Scope:
Any file - Type: Boolean
true: Anda melihat tips dalam spinner saat Claude bekerjafalse: Claude Code menyembunyikan tips spinner
- Default:
true
settings.json
spinnerTipsOverride
Tambahkan tips Anda sendiri ke spinner tips yang Claude Code tampilkan saat Claude bekerja, atau ganti tips bawaan dengan milik Anda. Claude Code menempatkan tips Anda dalam rotasi yang sama dengan yang bawaan.
Jika Anda mengatur spinnerTipsEnabled ke false, Claude Code menyembunyikan semua tips, milik Anda termasuk.
- Scope:
Any file. Claude Code menghormati objek tip,tipsFile,label, danexcludeDefaultdari pengaturan pengguna, flag--settings, dan pengaturan terkelola; dari pengaturan proyek dan lokal hanya membaca tips string biasa. - Type: object dengan field
tips,tipsFile,label, danexcludeDefault, masing-masing opsional - Default: unset, jadi Claude Code hanya menampilkan tips bawaan
tipsFile, label, dan aturan baris Scope yang pengaturan proyek dan lokal hanya berkontribusi string biasa memerlukan Claude Code v2.1.247 atau lebih baru.
Setiap entri tips adalah string biasa atau objek dengan field ini:
Claude Code membaca string biasa sebagai tip dengan default tersebut dan id berbasis posisi, jadi riwayat tampilan direset ketika Anda mengurutkan ulang daftar. Berikan tip
id untuk menjaga riwayatnya di seluruh edit.
Claude Code membaca paling banyak 200 tips di seluruh tips dan tipsFile, dan menjatuhkan entri tidak valid dengan peringatan debug daripada menolak file pengaturan.
Gunakan field yang tersisa untuk menamai file tips, atur awalan, dan sembunyikan tips bawaan:
tipsFile: jalur absolut atau~/ke file JSON lokal yang menampung array entri yang sama, atau objek dengan arraytips, hingga 256 KB. Claude Code membaca file sekali per proses, jadi memuat edit Anda pada awal berikutnya. Anda tidak dapat mengaturnya melalui pengaturan terkelola server; deploy inlinetipsdi sana, atau deploy jalur dimanaged-settings.jsonon-disk.label: awalan Claude Code menampilkan sebelum tips dari pengaturan pengguna,--settings, dan terkelola, hingga 40 karakter. Default adalahTip, awalan yang sama seperti tips bawaan, dan tips dari pengaturan proyek dan lokal selalu menggunakannya.excludeDefault: atur ketrueuntuk menyembunyikan tips bawaan dan hanya menampilkan milik Anda. Ketika Claude Code tidak dapat memuat salah satu tips Anda, misalnya karenatipsFiletidak ada atau setiap entri tidak valid, ia menjaga rotasi bawaan daripada spinner kosong.
tipsFile, label, dan excludeDefault dari mana pun pengaturan terkelola, flag --settings, dan pengaturan pengguna adalah yang tertinggi-preseden yang mengatur masing-masing.
Contoh ini, dalam pengaturan pengguna Anda, menambahkan tip string biasa dan tip objek ke rotasi di bawah awalan Acme tip:
settings.json
label: Claude Code menampilkan kedua tips sebagaiAcme tip: ...daripadaTip: ....- String biasa: Claude Code memberikannya default, jadi dapat muncul lagi di sesi berikutnya.
id: Claude Code mengetik riwayat tampilan tip kedua padagateway-errors, jadi cooldown masih berlaku setelah Anda menambah atau mengurutkan ulang tips.cooldownSessions: setelah Claude Code menampilkan tipgateway-errors, tidak menampilkan tip itu lagi sampai lima sesi kemudian.priority: ketika tipgateway-errorsdan tip lain belum ditampilkan untuk jumlah sesi yang sama, misalnya ketika tidak ada yang ditampilkan, Claude Code menampilkangateway-errorsterlebih dahulu. String biasa memiliki prioritas default,0.
Acme tip: Run /review before opening a PR.
spinnerVerbs
Saat giliran sedang berlangsung, spinner menampilkan kata kerja yang berputar seperti “Accomplishing”, “Architecting”, atau “Baking”. Gunakan kunci ini untuk menambahkan kata kerja Anda sendiri ke rotasi itu atau ganti daftar bawaan dengan milik Anda.
- Scope:
Any file - Type: object dengan array
verbsstring danmode, salah satu dari:"append": Claude Code menambahkan kata kerja Anda ke set bawaan"replace": Claude Code hanya menampilkan kata kerja Anda
- Default: unset, jadi Claude Code menggunakan kata kerja bawaan
settings.json
"replace" dengan array verbs kosong, Claude Code menjaga kata kerja bawaan.
statusLine
Jalankan perintah Anda sendiri untuk merender status line di bawah prompt dengan konteks seperti model, biaya, atau cabang git. Field opsional menyesuaikan spasi, menambahkan re-run berkala, dan menyembunyikan indikator mode vim bawaan ketika skrip Anda merender vim.mode sendiri.
- Scope:
Any file. KetikaallowManagedHooksOnlyaktif, ataudisableAllHooksdiatur di luar pengaturan terkelola, hanya nilai pengaturan terkelola yang berjalan. - Type: object dengan
typediatur ke"command"dan stringcommand, ditambahpaddingopsional sebagai jumlah karakter,refreshIntervalsebagai jumlah detik, minimum1, danhideVimModeIndicatorsebagai Boolean - Default: unset, jadi tidak ada status line
settings.json
jq terinstal dan berjalan dalam shell. Untuk PowerShell dan setara Git Bash, lihat Windows configuration; untuk setup lengkap, lihat Manually configure a status line.
subagentStatusLine
Ketika Claude menjalankan subagents, Claude Code mencantumkannya dalam tampilan tugas di bawah prompt, satu baris per subagent menampilkan name · description · token count. Kunci ini memungkinkan Anda menjalankan perintah Anda sendiri untuk menulis ulang baris tersebut, misalnya untuk menampilkan penggunaan konteks setiap subagent sebagai persentase. Pada setiap refresh, Claude Code mengirim baris yang terlihat sebagai satu objek JSON di stdin, dengan array tasks membawa id, name, status, model, tokenCount, dan lainnya setiap subagent, dan mengganti baris untuk setiap id yang Anda tulis kembali sebagai baris {"id", "content"}. Baris yang tidak Anda tulis kembali menjaga rendering default.
- Scope:
Any file. KetikaallowManagedHooksOnlyaktif, ataudisableAllHooksdiatur di luar pengaturan terkelola, hanya nilai pengaturan terkelola yang berjalan. - Type: object dengan
typediatur ke"command"dan stringcommand - Default: unset, jadi Claude Code merender baris default
settings.json
syntaxHighlightingDisabled
Claude Code mewarnai kode berdasarkan bahasa dalam diff, blok kode, dan pratinjau file yang ditampilkan di terminal, dengan highlighter bawaan; tidak ada plugin atau language server yang terlibat. Atur kunci ini ke true untuk menampilkannya sebagai teks biasa, misalnya jika warna bertentangan dengan tema terminal Anda atau memperlambat pembaca layar.
- Scope:
Any file - Type: Boolean
true: Claude Code mematikan penyorotan sintaks dalam diff, blok kode, dan pratinjau filefalse: Claude Code menyoroti sintaks
- Default:
false
settings.json
terminalProgressBarEnabled
Beberapa terminal dapat menampilkan indikator kemajuan di tab atau di taskbar untuk program yang berjalan di dalamnya. Saat Claude bekerja, Claude Code melaporkan status sedang berlangsung ke terminal, sehingga Anda dapat melihat dari tab atau jendela lain apakah sesi masih sibuk. Indikator tetap terlihat setelah giliran berakhir sementara subagents latar belakang atau dynamic workflows masih berjalan, dan jelas setelah sesi idle.
Claude Code melaporkannya hanya di terminal yang mendukung indikator: ConEmu, Ghostty 1.2.0 atau lebih baru, dan iTerm2 3.6.6 atau lebih baru. Atur kunci ini ke false untuk menghentikan Claude Code melaporkannya. Muncul di /config sebagai Terminal progress bar.
- Scope:
Any file. Nilai di~/.claude.jsondari versi yang lebih lama berlaku ketika tidak ada file pengaturan yang mengaturnya. - Type: Boolean
true: Anda melihat progress bar terminal di terminal yang mendukungnyafalse: Claude Code menyembunyikan progress bar terminal
- Default:
true
settings.json
terminalTitleFromRename
Claude Code mengatur judul tab terminal Anda. Secara default menggunakan judul yang dihasilkan dari percakapan, dan setelah Anda memberi sesi nama dengan /rename atau --name, tab menampilkan nama itu. Atur kunci ini ke false untuk menjaga judul yang dihasilkan di tab bahkan setelah Anda memberi nama sesi. Nama itu sendiri masih berlaku, jadi /resume <name> dan pemilih sesi menemukannya.
- Scope:
Any file - Type: Boolean
true: judul tab terminal menampilkan nama sesi yang Anda aturfalse: tab menjaga judul yang Claude Code hasilkan dari percakapan Anda
- Default:
true
settings.json
CLAUDE_CODE_DISABLE_TERMINAL_TITLE ke 1.
theme
Pilih tema warna untuk antarmuka. Muncul di /config sebagai Theme.
- Scope:
Any file. Nilai di~/.claude.jsondari versi yang lebih lama berlaku ketika tidak ada file pengaturan yang mengaturnya. - Type: string, salah satu dari:
"auto": cocok dengan latar belakang terminal Anda yang terang atau gelap"dark": tema gelap"light": tema terang"dark-daltonized": tema gelap dengan warna ramah buta warna"light-daltonized": tema terang dengan warna ramah buta warna"dark-ansi": tema gelap hanya menggunakan palet warna ANSI terminal Anda"light-ansi": tema terang hanya menggunakan palet warna ANSI terminal Anda"custom:<slug>"atau"custom:<plugin-name>:<slug>": tema kustom dari~/.claude/themes/atau plugin
- Default:
"dark"
settings.json
timeFormat
Pilih cara Claude Code menulis waktu yang ditampilkan dalam antarmuka, seperti done 6:05 PM di akhir setiap pesan durasi giliran dan stempel waktu dalam transcript viewer. Untuk memilih preset, jalankan /config dan atur Time format. Memerlukan Claude Code v2.1.257 atau lebih baru.
- Scope:
Any file - Type: string, salah satu dari:
"auto": sama dengan unset; setiap waktu menjaga format bawaan, yang mengikuti lokal Anda pada pesan durasi giliran"12-hour": jam 12 jam"24-hour": jam 24 jam"24-hour-utc": jam 24 jam di UTC denganZsetelah menit, seperti18:05Z; Claude Code mengabaikantimeZoneuntuk preset ini- Pola strftime seperti
"%H:%M": Claude Code menulis setiap waktu dengan pola. Nilai apa pun yang berisi%adalah pola, dan nilai apa pun di luar preset menghitung sebagai"auto"
- Default:
"auto"
settings.json
/config hanya menawarkan preset, jadi untuk menggunakan pola strftime, tambahkan kunci ke file pengaturan. Contoh ini menampilkan setiap waktu sebagai jam 24 jam dua digit:
settings.json
18:05. Dalam transcript viewer, pola adalah seluruh stempel waktu, jadi tambahkan direktif tanggal ketika Anda menginginkan tanggal di sana. Contoh ini menempatkan tanggal di depan jam:
settings.json
2026-09-01 18:05.
timeZone
Tampilkan waktu dalam antarmuka di zona waktu selain sistem Anda. Atur ke nama zona waktu IANA, seperti "UTC" atau "Europe/Dublin". Waktu yang timeFormat kontrol kemudian menampilkan di zona ini. Jika timeFormat adalah "24-hour-utc", waktu tetap di UTC dan Claude Code mengabaikan kunci ini. /config tidak memiliki baris untuk kunci ini, jadi atur dalam file pengaturan. Memerlukan Claude Code v2.1.257 atau lebih baru.
- Scope:
Any file - Type: string, nama zona waktu IANA. Ketika Claude Code tidak mengenali nama, menggunakan zona waktu sistem Anda
- Default: unset, jadi waktu menampilkan di zona waktu sistem Anda
settings.json
tui
Pilih renderer UI terminal. Gunakan "fullscreen" untuk renderer alt-screen bebas flicker fullscreen dengan scrollback virtual, atau "default" untuk renderer main-screen klasik. Menjalankan /tui fullscreen atau /tui default menulis kunci ini untuk Anda.
- Scope:
Any file - Type: string, salah satu dari:
"default": renderer main-screen klasik"fullscreen": renderer alt-screen bebas flicker dengan scrollback virtual
- Default: unset, jadi Claude Code memilih renderer untuk Anda
- Per-session overrides:
CLAUDE_CODE_NO_FLICKERdanCLAUDE_CODE_DISABLE_ALTERNATE_SCREENmengambil alih kunci ini untuk satu sesi:CLAUDE_CODE_NO_FLICKER=1mengaktifkan fullscreen, danCLAUDE_CODE_NO_FLICKER=0atauCLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1mematikannya; ketika keduanya diatur, Claude Code mematikannya
settings.json
-CC atau melalui SSH ke Windows, Claude Code menjaga renderer klasik kecuali Anda mengatur CLAUDE_CODE_NO_FLICKER=1. Sesi latar belakang dibuka dari agent view selalu menggunakan renderer fullscreen terlepas dari pengaturan ini.
verbose
Secara default, transkrip meruntuhkan setiap panggilan tool menjadi ringkasan pendek, seperti perintah yang Claude jalankan dan jumlah baris output, dan Anda menekan Ctrl+O untuk beralih seluruh transkrip ke tampilan yang diperluas ketika Anda menginginkan detail. Atur kunci ini ke true untuk menampilkan input dan output lengkap setiap panggilan tool secara inline saat terjadi, yang berguna ketika Anda men-debug hook, server MCP, atau perintah shell panjang. Muncul di /config sebagai Verbose output.
- Scope:
Any file. Nilai di~/.claude.jsondari versi yang lebih lama berlaku ketika tidak ada file pengaturan yang mengaturnya. - Type: Boolean
true: Anda melihat output tool lengkapfalse: Anda melihat ringkasan terpotong dari output tool
- Default:
false - Per-session overrides:
--verbosemengambil alih kunci ini untuk satu sesi
settings.json
viewMode atau pilihan /focus lengket menimpa kunci ini setiap sesi.
viewMode
Atur tampilan transkrip Claude Code dimulai: "default", "verbose", atau "focus". Ketika diatur, menimpa pilihan /focus lengket dan pengaturan verbose.
- Scope:
Any file - Type: string, salah satu dari:
"default": transkrip normal dengan output tool terpotong"verbose": transkrip dengan output tool lengkap"focus": hanya prompt terakhir Anda, ringkasan satu baris panggilan tool dengan edit diffstats, dan respons akhir. Focus view memerlukan renderer fullscreen
- Default: unset, jadi pengaturan
verbosedan pilihan/focusterakhir Anda berlaku - Per-session overrides:
--verbosemengambil alih kunci ini untuk satu sesi
settings.json
vimInsertModeRemaps
Petakan urutan INSERT-mode dua kunci ke Escape dalam mode editor vim. Setiap kunci adalah tepat dua karakter yang dapat dicetak yang diketik berurutan, dan "<Esc>" adalah satu-satunya target yang didukung; Claude Code mengabaikan entri lain.
- Scope:
User or managed. Repositori tidak dapat memetakan ulang keystroke Anda. - Type: object memetakan urutan dua karakter ke
"<Esc>" - Default: unset
settings.json
editorMode adalah "vim". Lihat Remap INSERT-mode key sequences.
voice
Aktifkan voice dictation dan pilih cara kunci diksi berperilaku. Claude Code menulis objek ini untuk Anda ketika Anda menjalankan /voice.
- Scope:
Any file - Type: object dengan
enabledsebagai Boolean,autoSubmitsebagai Boolean yang berlaku dalam mode hold saja, danmode, salah satu dari:"hold": Anda menahan kunci diksi saat berbicara dan melepasnya untuk berhenti"tap": Anda mengetuk kunci sekali untuk mulai merekam dan lagi untuk mengirim
- Default: unset, jadi diksi mati; ketika
enabledadalahtruedanmodeunset, Claude Code menggunakan"hold"
settings.json
autoSubmit mengirim prompt ketika Anda melepaskan kunci dalam mode hold. Voice dictation memerlukan akun claude.ai.
voiceEnabled
Aktifkan voice dictation dengan bentuk Boolean tunggal yang mendahului objek voice. Ketika keduanya diatur, voice.enabled berlaku.
- Scope:
Any file - Type: Boolean
true: voice dictation aktif ketika Anda masuk dengan akun claude.ai dan kebijakan organisasi Anda memungkinkan suara, kecualivoice.enableddiaturfalse: voice dictation mati, kecualivoice.enableddiatur
- Default: unset
settings.json
wheelScrollAccelerationEnabled
Percepat kecepatan scroll roda mouse selama scroll cepat dalam fullscreen rendering. Atur ke false untuk laju scroll konstan per takik roda.
- Scope:
Any file - Type: Boolean
true: Claude Code mempercepat kecepatan scroll roda mouse selama scroll cepatfalse: Claude Code menggulir pada laju konstan per takik roda
- Default:
true
settings.json
Git dan atribusi
Kontrol atribusi yang ditambahkan Claude Code ke commit dan pull request serta cara kerjanya dengan git.attribution
Sesuaikan atribusi yang ditambahkan Claude Code ke commit git dan pull request. Commit mendapatkan git trailer seperti Co-Authored-By secara default; deskripsi pull request mendapatkan teks biasa. Atur setiap bagian secara terpisah dengan sub-kunci di bawah ini.
- Scope:
Any file - Type: object dengan string
commitdanprserta BooleansessionUrl, ataufalseuntuk menyembunyikan semua atribusi. Nilaifalsememerlukan Claude Code v2.1.281 atau lebih baru; versi sebelumnya menolaknya dan melewati seluruh file pengaturan pengguna, proyek, atau lokal yang menahannya - Default: tidak diatur, jadi Claude Code menggunakan atribusi standar yang ditampilkan di bawah setiap sub-kunci
attribution ke false. Dalam file pengaturan yang juga dibaca versi sebelumnya, atur commit dan pr ke string kosong dan sessionUrl ke false sebagai gantinya.
Contoh ini mengganti atribusi commit, menghapus atribusi pull request, dan menghilangkan tautan sesi:
settings.json
commit atau pr, Claude Code mengabaikan pengaturan includeCoAuthoredBy yang sudah usang dan menggunakan teks defaultnya untuk mana pun dari keduanya yang Anda biarkan tidak diatur.
Claude Code memberitahu Claude bahwa instruksi Anda sendiri tentang atribusi, seperti aturan CLAUDE.md atau memory, mengambil alih baris commit dan PR ini, kecuali baris diatur dalam managed settings.
includeCoAuthoredBy
Gunakan attribution sebagai gantinya, yang menggantikan kunci ini dan memungkinkan Anda mengubah atau menyembunyikan trailer commit, teks pull request, dan tautan sesi secara terpisah. Claude Code masih menghormati includeCoAuthoredBy: false dari file pengaturan yang mendahului attribution, tetapi mengabaikannya setelah Anda mengatur attribution.commit atau attribution.pr.
- Scope:
Any file - Type: Boolean
true: sama dengan tidak diatur; Claude Code menambahkan trailer commit dan teks atribusi pull requestfalse: Claude Code menghilangkan trailer commit dan teks atribusi pull request, kecualiattributionmengaturcommitataupr, dalam hal ini aturanattributionberlaku
- Default:
true
settings.json
attribution.
includeGitInstructions
Claude Code memberikan Claude dua bagian konteks terkait git: instruksi bawaan untuk cara menulis commit dan pull request, dalam deskripsi alat Bash, dan snapshot status git dari repositori Anda. Snapshot menyimpan cabang saat ini, cabang utama, output git status, dan commit terbaru. Claude Code membacanya ketika percakapan dimulai.
Atur kunci ini ke false untuk meninggalkan keduanya, misalnya ketika Anda menggunakan skill alur kerja git Anda sendiri.
- Scope:
Any file - Type: Boolean
true: Claude Code menyertakan instruksi alur kerja commit dan pull request bawaan serta snapshot status git. Sesi cloud tidak pernah menyertakan snapshotfalse: Claude Code meninggalkan keduanya
- Default:
true - Per-session overrides:
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONSmengambil alih kunci ini untuk satu sesi
settings.json
true:
- Eksekusi
-p: Anda mengganti prompt ketika meneruskan--system-promptatau--system-prompt-file. Anda juga menggantinya ketika menjalankan agent kustom dengan prompt-nya sendiri, yang dipilih dengan--agentatau pengaturanagent. Di luar bare mode, untuk mempertahankan snapshot, jalankan tanpa agent kustom dan tambahkan instruksi Anda dengan--append-system-promptalih-alih mengganti prompt. - Agent SDK: Anda mengganti prompt dengan system prompt kustom atau agent thread utama kustom. Jika Anda tidak mengatur system prompt, SDK menggunakan default minimalnya dan sesi juga dimulai tanpa snapshot. Di luar bare mode, untuk mempertahankan snapshot, gunakan preset
claude_codetanpaagentkustom.
prUrlTemplate
Arahkan tautan PR yang dirender Claude Code, di lencana footer dan dalam ringkasan hasil alat, ke alat tinjauan kode internal alih-alih github.com. Claude Code mengganti {host}, {owner}, {repo}, {number}, dan {url} dari URL PR. Tautan permintaan penggabungan GitLab di kedua permukaan mempertahankan URL GitLab mereka.
- Scope:
Any file - Type: string, template URL menggunakan salah satu dari lima placeholder
- Default: tidak diatur
settings.json
#123, tetap seperti yang ditulis Claude. URL yang tidak memiliki bentuk /pull/<number> dibiarkan tidak berubah.
attribution.commit
Atur teks atribusi yang ditambahkan Claude Code ke commit git, termasuk trailer apa pun. Atur ke string kosong untuk menyembunyikan atribusi commit.
- Scope:
Any file - Type: string
- Default: tidak diatur, jadi Claude Code menambahkan
Co-Authored-By: <name> <noreply@anthropic.com>. Nama adalah model yang digunakan saat commit dibuat, sepertiClaude Sonnet 5. Ketika subagent membuat commit, trailer menamai model subagent.- Ketika Claude Code mengenali model sebagai model Claude tetapi tidak dapat mengkonfirmasi versi pastinya, ia menulis
Claudesaja. - Ketika tidak dapat mencocokkan ID model ke model Claude apa pun, seperti model pihak ketiga yang disajikan melalui
ANTHROPIC_BASE_URLkustom, ia menulisClaude Code.
- Ketika Claude Code mengenali model sebagai model Claude tetapi tidak dapat mengkonfirmasi versi pastinya, ia menulis
Co-Authored-By kustom:
settings.json
attribution.pr
Atur teks atribusi yang ditambahkan Claude Code ke deskripsi pull request. Atur ke string kosong untuk menyembunyikan atribusi pull request.
- Scope:
Any file - Type: string
- Default: tidak diatur, jadi Claude Code menambahkan
🤖 Generated with [Claude Code](https://claude.com/claude-code)
settings.json
attribution.sessionUrl
Pilih apakah Claude Code menambahkan tautan sesi claude.ai ketika melakukan commit atau membuka pull request dari sesi cloud atau Remote Control. Claude Code menambahkan tautan sebagai trailer Claude-Session pada commit dan sebagai tautan dalam deskripsi pull request. Atur ke false untuk menghilangkan tautan.
- Scope:
Any file - Type: Boolean
true: Claude Code menambahkan tautan sesi claude.ai ketika melakukan commit atau membuka pull request dari sesi cloud atau Remote Controlfalse: Claude Code menghilangkan tautan
- Default:
true
settings.json
Hooks dan otomasi
Daftarkan hooks, batasi hook mana yang berjalan, dan kontrol alur kerja. Untuk acara hook dan payload, lihat referensi hooks.allowedHttpHookUrls
Batasi URL mana yang dapat ditargetkan oleh HTTP hooks. Ketika Anda menentukan kunci ini, Claude Code menjalankan HTTP hook hanya jika URL-nya cocok dengan salah satu pola dan memblokir sisanya tanpa menjalankannya; array kosong memblokir setiap HTTP hook.
- Scope:
Any file. Array digabungkan di seluruh file pengaturan. - Type: array pola URL, dengan
*sebagai wildcard - Default: tidak diatur, jadi URL apa pun diizinkan
https://hooks.example.com/ dan URL http://localhost apa pun:
settings.json
hooks.example.com., dengan titik trailing yang menandai nama domain yang sepenuhnya memenuhi syarat, sama seperti hooks.example.com, yang merupakan cara DNS memperlakukannya. Allowlist berlaku untuk hooks dari setiap sumber, termasuk pengaturan terkelola.
allowManagedHooksOnly
Batasi eksekusi hook ke hooks yang digunakan organisasi Anda.
- Scope:
Managed - Type: Boolean
true: hanya hook terkelola yang berjalan, ditambah hook Agent SDK dan hooks dari plugin yang dipaksa diaktifkan oleh pengaturan terkelola Anda. Lihat Apa yang berjalan di bawahallowManagedHooksOnlyfalse: hooks dari setiap cakupan pengaturan dan plugin berjalan
- Default: tidak diatur, jadi hooks dari setiap cakupan pengaturan dan plugin berjalan
managed-settings.json
Apa yang berjalan di bawah allowManagedHooksOnly
Ketika Anda menyetelnya ke true, Claude Code mengubah hook dan perintah seperti hook mana yang dimuat:
- Hook terkelola dan SDK berjalan: hooks dari pengaturan terkelola dan hooks yang didaftarkan Agent SDK dalam proses
- Hook plugin yang dipaksa diaktifkan berjalan: hooks dari plugin yang dipaksa diaktifkan oleh pengaturan terkelola Anda melalui
enabledPlugins. Claude Code cocok dengan IDplugin@marketplacelengkap, jadi plugin dengan nama yang sama dari marketplace berbeda tetap diblokir. Ini memungkinkan Anda mendistribusikan hooks yang telah diverifikasi melalui marketplace organisasi sambil memblokir segalanya. Sebuah mod dalam plugin seperti itu dimuat hanya ketika dihitung sebagai milik organisasi Anda - Segalanya yang lain diblokir: user, project, dan local hooks, hooks dan mods dari plugin lain yang diinstal, dan hooks yang dideklarasikan dalam frontmatter agent. Mods yang tertanam dalam Claude Code terus berjalan. Untuk memblokir hanya mods pengguna, atur
allowManagedModsOnlysebagai gantinya. - Plugin bersumber perintah dinonaktifkan: Claude Code juga menonaktifkan plugin dengan
commandsource, termasuk plugin yang dipaksa diaktifkan dalamenabledPluginsterkelola, kecuali Anda menyeteldisableCommandPluginSourceskefalsesecara eksplisit - Perintah marketplace
headersHelperdiblokir: Claude Code juga memblokir marketplaceheadersHelpercommands kecualidisableCommandPluginSourcessecara eksplisit diatur kefalse, kecuali untuk marketplace yang dideklarasikan oleh pengaturan terkelola itu sendiri. Memerlukan Claude Code v2.1.238 atau lebih baru - Baris status dan file suggestion menyempit ke pengaturan terkelola: Claude Code membaca
statusLine,fileSuggestion, dansubagentStatusLinedari pengaturan terkelola saja, mengikuti gerbang baris status dan file suggestion
/goal tidak dapat berjalan saat kunci ini diatur, karena bergantung pada hooks.
disableAllHooks
Matikan hooks, baris status kustom apa pun, dan perintah file suggestion kustom apa pun. Gunakan untuk mematikan semua ini secara sementara tanpa menghapusnya dari pengaturan Anda.
- Scope:
Any file. Hanya pengaturan terkelola yang dapat menonaktifkan hook terkelola. - Type: Boolean
true: Claude Code mematikan hooks, baris status kustom apa pun, dan perintah file suggestion kustom apa punfalse: hooks, baris status, dan perintah file suggestion berjalan
- Default: tidak diatur, jadi hooks berjalan
settings.json
- Dalam pengaturan terkelola: Claude Code menonaktifkan setiap hook yang dikonfigurasi, termasuk yang terkelola, dan terus menjalankan hooks yang didaftarkan Agent SDK dalam proses
- Dalam file pengaturan lainnya: Claude Code menonaktifkan user, project, local, dan plugin hooks; hook terkelola, hook Agent SDK, dan hooks dari plugin yang dipaksa diaktifkan dalam
enabledPluginsterkelola terus berjalan
- Dalam pengaturan terkelola: mods di setiap plugin yang diinstal berhenti, termasuk milik organisasi Anda
- Dalam file pengaturan lainnya: mods yang Anda instal berhenti, dan mods organisasi Anda terus berjalan
/goal tidak dapat berjalan saat hooks dinonaktifkan, dan menu /hooks menampilkan pemberitahuan alih-alih hooks Anda.
Gerbang baris status dan file suggestion
Claude Code membuat dua keputusan untukstatusLine, fileSuggestion, dan subagentStatusLine, dalam urutan ini:
- Matikan sepenuhnya: ketika pengaturan terkelola menyetel
disableAllHooks, atau ketika folder tidak dipercaya di bawah aturan kepercayaan workspace yang sama dengan hooks dalam file pengaturan - Menyempit ke pengaturan terkelola: ketika
allowManagedHooksOnlydiatur, ketikadisableAllHooksadalahtruedi luar pengaturan terkelola setelah prioritas pengaturan diterapkan, atau ketika Anda memulai Claude Code dengan--safe-mode
@ autocomplete kembali ke file suggestion bawaan.
disableWorkflows
Matikan dynamic workflows dan perintah workflow bundel untuk semua orang yang dijangkau pengaturan Anda, seperti organisasi melalui pengaturan terkelola. Untuk menyalakan atau mematikan alur kerja hanya untuk diri sendiri, gunakan enableWorkflows sebagai gantinya, yang ditulis oleh toggle Dynamic workflows di /config ke pengaturan pengguna Anda.
- Scope:
Any file - Type: Boolean
true: Claude Code mematikan dynamic workflows dan perintah workflow bundel untuk semua orang yang dijangkau pengaturan Andafalse: sama dengan tidak diatur; apakah alur kerja aktif kemudian mengikutienableWorkflowsdan default paket Anda
- Default:
false - Per-session overrides:
CLAUDE_CODE_DISABLE_WORKFLOWSmematikan alur kerja untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menyalakannya kembali
settings.json
enableWorkflows
Nyalakan atau matikan dynamic workflows untuk diri sendiri ketika default paket Anda bukan apa yang Anda inginkan. Muncul di /config sebagai Dynamic workflows, yang menulis kunci ini ke pengaturan pengguna Anda dan menghapusnya lagi ketika Anda beralih kembali ke default paket Anda. Untuk mematikan alur kerja untuk semua orang dari pengaturan terkelola, gunakan disableWorkflows sebagai gantinya.
- Scope:
Any file - Type: Boolean
true: Claude Code menyalakan dynamic workflows untuk Andafalse: Claude Code mematikan dynamic workflows untuk Anda
- Default: tidak diatur, jadi alur kerja aktif kecuali Anda berada di paket Pro, di mana alur kerja dimatikan
- Per-session overrides:
CLAUDE_CODE_DISABLE_WORKFLOWSmematikan alur kerja untuk satu sesi, dantruedi sini tidak dapat menyalakannya kembali saat diatur
settings.json
disableWorkflows dan kebijakan alur kerja organisasi Anda juga diutamakan: enableWorkflows: true tidak dapat menyalakan alur kerja kembali saat sumber apa pun mematikan alur kerja. Claude Code menyembunyikan baris /config saat sumber selain pengaturan pengguna Anda menyetel enableWorkflows, atau menyetel disableWorkflows ke true.
hooks
Jalankan perintah, prompt, agent, permintaan HTTP, atau tool MCP Anda sendiri sebagai hooks pada titik dalam siklus hidup Claude Code, seperti sebelum panggilan tool atau ketika sesi dimulai; referensi hooks mencantumkan setiap acara, payload-nya, dan exit code-nya. Setiap acara memetakan ke daftar grup matcher, dan setiap grup mencantumkan handler yang akan dijalankan ketika matcher berlaku.
- Scope:
Any file. Hooks digabungkan di seluruh file daripada menggantikan satu sama lain, dan hooks dari pengaturan terkelola tidak dapat dihapus dari file lain. - Type: object yang dikunci oleh hook event; setiap nilai adalah array dari grup
{ "matcher", "hooks" }yang entrihooks-nya memilikitypedari"command","prompt","agent","http", atau"mcp_tool" - Default: tidak diatur, jadi tidak ada hooks yang berjalan
settings.json
disableAllHooks; untuk membatasi hooks ke yang digunakan organisasi Anda, lihat allowManagedHooksOnly.
httpHookAllowedEnvVars
HTTP hook dapat menempatkan nilai environment variable ke dalam header permintaan, misalnya header Authorization: Bearer $HOOK_TOKEN, tetapi hanya untuk variabel yang dicantumkan hook dalam allowedEnvVars-nya sendiri. Kunci ini menetapkan batas luar pada daftar itu untuk setiap HTTP hook: hook dapat menggunakan variabel hanya jika baik allowedEnvVars-nya sendiri maupun kunci ini menamakannya. Gunakan untuk menghentikan hook dari membaca rahasia yang tidak seharusnya, bahkan ketika definisi hook memintanya.
- Scope:
Any file. Array digabungkan di seluruh file pengaturan. - Type: array nama environment variable
- Default: tidak diatur, jadi daftar
allowedEnvVarshook sendiri berlaku
MY_TOKEN dan HOOK_SECRET:
settings.json
workflowKeywordTriggerEnabled
Pilih apakah mengetik kata kunci ultracode dalam prompt memicu dynamic workflow. Atur ke false untuk mengetik kata tanpa memicu satu.
- Scope:
Any file. Muncul di/configsebagai Ultracode keyword trigger. - Type: Boolean
true: mengetikultracodedalam prompt memicu dynamic workflowfalse: Anda dapat mengetik kata tanpa memicu satu
- Default:
true
settings.json
ultracode, /workflows, dan perintah alur kerja yang disimpan tidak terpengaruh.
workflowSizeGuideline
Atur jumlah agent yang Claude targetkan dalam dynamic workflows yang ditulisnya. Claude Code mengirimkan nilai ke Claude sebagai saran, bukan batas yang diberlakukan: "small" meminta lebih sedikit dari 5 agent, "medium" lebih sedikit dari 10, dan "large" lebih sedikit dari 50. Pilih "small" ketika Anda ingin membatasi apa yang dihabiskan alur kerja. Memerlukan Claude Code v2.1.219 atau lebih baru.
- Scope:
Any file. Nilai di sana diutamakan daripada pilihan Dynamic workflow size di/config, yang disimpan Claude Code di~/.claude.json, dan Claude Code menyembunyikan baris itu saat file pengaturan menyetel kunci. - Type: string, salah satu dari:
"unrestricted": tidak ada panduan, jadi Claude mengukur alur kerja ke tugas"small": Claude menargetkan lebih sedikit dari 5 agent"medium": Claude menargetkan lebih sedikit dari 10 agent"large": Claude menargetkan lebih sedikit dari 50 agent
- Default:
"medium", atau"small"ketika Anda masuk di paket Pro dengan Claude Code v2.1.271 atau lebih baru
settings.json
/config sebagai gantinya.
Plugins dan skills
Aktifkan plugins, daftarkan marketplaces, batasi sumber plugin mana yang diizinkan organisasi, dan kontrol skills mana yang dimuat. Untuk menginstal dan membangun plugins, lihat Plugins.disableBundledSkills
Matikan skills dan workflows yang disertakan dengan Claude Code. Claude Code menghapus skills dan workflows bundel sepenuhnya, sementara perintah bawaan seperti /init tetap dapat diketik tetapi disembunyikan dari model.
- Scope:
Any file - Type: Boolean
true: Claude Code menghapus skills dan workflows bundel dan menyembunyikan perintah bawaan seperti/initdari modelfalse: skills bundel dimuat
- Default: unset, jadi skills bundel dimuat
- Per-session overrides:
CLAUDE_CODE_DISABLE_BUNDLED_SKILLSdiatur ke1mematikan skills bundel untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menghidupkannya kembali
settings.json
.claude/skills/, dan .claude/commands/ tidak terpengaruh. /doctor tetap dapat diketik seperti perintah bawaan; untuk menyembunyikannya, atur DISABLE_DOCTOR_COMMAND sebagai gantinya.
disableSkillShellExecution
Matikan eksekusi shell inline untuk !`...` dan ```! blocks dalam skills dan perintah kustom dari sumber pengguna, proyek, plugin, atau direktori tambahan. Claude Code mengganti setiap perintah dengan [shell command execution disabled by policy] alih-alih menjalankannya.
- Scope:
Any file. Sebuahtruedalam managed settings tidak dapat ditimpa olehfalsedi tempat lain. - Type: Boolean
true: Claude Code mengganti setiap perintah shell inline dengan[shell command execution disabled by policy]alih-alih menjalankannyafalse: shell inline berjalan
- Default: unset, jadi shell inline berjalan
settings.json
skillOverrides
Sembunyikan atau lipat skill tanpa mengedit SKILL.md-nya. Claude Code menerapkan nilai di bawah nama setiap skill ke daftar skill yang Claude lihat dan ke autocomplete / Anda.
- Scope:
Any file. Menu/skillsmenulis ke.claude/settings.local.json. - Type: object mapping nama skill ke salah satu dari:
"on": Claude melihat skill dan Anda dapat mengetik/name"name-only": Claude melihat skill berdasarkan nama tanpa deskripsinya"user-invocable-only": Claude tidak melihat skill, tetapi Anda masih dapat mengetik/name"off": Claude tidak melihat skill dan/namedisembunyikan dari autocomplete
- Default: unset, jadi setiap skill adalah
"on"
legacy-context ke Claude hanya berdasarkan nama dan menyembunyikan deploy dari Claude dan dari autocomplete /:
settings.json
/plugin.
Dalam managed settings dan file yang dilewatkan dengan --settings, kunci pada alias skill bundel, seperti checkup untuk /doctor, juga berlaku untuk skill; lihat bagaimana kunci alias menggabungkan dengan kunci pada nama skill itu sendiri.
syncClaudeAiSkills
Matikan unduhan skills yang diaktifkan untuk akun claude.ai Anda. Claude Code mengunduhnya ke ~/.claude/skills/synced/ dalam sesi terminal di mana Anda masuk dengan akun claude.ai Anda, interaktif atau non-interaktif, dan dalam sesi Cowork dan cloud. Atur false untuk menghentikan unduhan itu dan berhenti memuat skills yang sudah disinkronkan. Claude Code hanya menghormati false: true sama dengan unset dan tidak menghidupkan sinkronisasi di mana sebaliknya mati.
- Scope:
User, local, or managed, dan file yang dilewatkan dengan--settings. Repositori tidak dapat mematikannya untuk Anda. - Type: Boolean
false: Claude Code berhenti mengunduh skills yang disinkronkan dan berhenti memuat yang sudah ada di~/.claude/skills/synced/. Dalam user atau managed settings, itu juga memindahkannya ke~/.claude/skills/.trash/true: sama dengan unset
- Default: unset, jadi sesi yang masuk dengan akun claude.ai Anda menyinkronkan skills Anda
settings.json
syncClaudeAiPlugins
Matikan unduhan plugins yang diaktifkan untuk akun claude.ai Anda. Claude Code mengunduhnya ke ~/.claude/plugins/synced/ pada awal sesi terminal di mana Anda masuk dengan akun claude.ai Anda dan dalam sesi Cowork, dan memuat masing-masing sebagai <name>@synced. Atur false untuk menghentikan unduhan itu dan berhenti memuat plugins yang sudah disinkronkan. Claude Code hanya menghormati false: true sama dengan unset dan tidak menghidupkan sinkronisasi di mana sebaliknya mati. Memerlukan Claude Code v2.1.273 atau lebih baru.
- Scope:
User, local, or managed, dan file yang dilewatkan dengan--settings. Repositori tidak dapat mematikannya untuk Anda. - Type: Boolean
false: Claude Code berhenti mengunduh plugins yang disinkronkan dan berhenti memuat yang sudah ada di~/.claude/plugins/synced/. Dalam user atau managed settings, itu juga memindahkannya ke~/.claude/plugins/.trash/true: sama dengan unset
- Default: unset, jadi sesi yang masuk dengan akun claude.ai Anda menyinkronkan plugins Anda
"<name>@synced": false dalam enabledPlugins.
Contoh ini mencegah mesin mengunduh plugins akun dalam sesi apa pun:
settings.json
allowedChannelPlugins
Pilih channel plugins mana yang dapat mendorong pesan ke dalam sesi di organisasi Anda. Ketika Anda mengaturnya, Claude Code menggunakan daftar Anda sebagai pengganti daftar allowlist default Anthropic; setiap entri menamai plugin dan marketplace tempat asalnya.
- Scope:
Managed - Type: array objek, masing-masing dengan string
marketplacedanplugin. Sebuah entri dapat sebagai gantinya menjadi string"plugin@marketplace"seperti"telegram@claude-plugins-official", yang Claude Code perlakukan sebagai objek yang setara. Bentuk string memerlukan Claude Code v2.1.267 atau lebih baru; versi sebelumnya menolak seluruh nilaiallowedChannelPluginsketika berisi satu - Default: unset, jadi Claude Code menggunakan daftar allowlist default Anthropic
managed-settings.json
channelsEnabled untuk akun: pada paket Team dan Enterprise, dan pada akun Console dengan managed settings, itu berarti channelsEnabled: true. Lihat Batasi plugins channel mana yang dapat berjalan.
blockedMarketplaces
Blokir sumber marketplace plugin untuk organisasi Anda. Claude Code memeriksa daftar blokir pada penambahan marketplace dan pada instalasi, pembaruan, penyegaran, dan auto-update plugin, jadi marketplace yang ditambahkan seseorang sebelum Anda menetapkan kebijakan tidak dapat digunakan untuk mengambil plugins. Sumber yang diblokir diperiksa sebelum unduhan, jadi mereka tidak pernah menyentuh filesystem.
Jika Anda menetapkan kunci ini dalam konsol admin claude.ai, claude.ai juga menerapkannya ketika siapa pun di organisasi Anda menambahkan marketplace dari repositori git di claude.ai, seperti yang dijelaskan Bagaimana pembatasan bekerja.
- Scope:
Managed - Type: array objek sumber marketplace, dalam bentuk yang sama seperti
strictKnownMarketplaces - Default: unset, jadi tidak ada marketplace yang diblokir
managed-settings.json
github dapat menggunakan bentuk owner-wildcard "owner/*" untuk memblokir setiap repositori di bawah pemilik GitHub itu, yang memerlukan Claude Code v2.1.223 atau lebih baru. Tambahkan { "source": "skills-dir" } untuk menghentikan Claude Code memuat @skills-dir plugins dari ~/.claude/skills/ tanpa membatasi marketplace apa pun. Lihat Pembatasan marketplace yang dikelola.
channelsEnabled
Izinkan channels untuk organisasi Anda. Pada paket Team dan Enterprise claude.ai, Claude Code memblokir channels sampai Anda mengaturnya ke true. Untuk akun Anthropic Console yang mengautentikasi dengan kunci API, channels diizinkan secara default. Jika organisasi Anda menerapkan managed settings, Claude Code juga memblokir channels pada akun tersebut sampai Anda mengatur kunci ini ke true.
- Scope:
Managed - Type: Boolean
true: Claude Code mengizinkan channels untuk organisasi Andafalse: sama dengan unset; apakah channels diblokir tergantung pada paket Anda, seperti yang dikatakan Default
- Default: unset; channels diblokir pada paket Team dan Enterprise dan pada akun Console dengan managed settings, dan diizinkan pada paket Pro dan Max dan pada akun Console tanpa managed settings
managed-settings.json
allowedChannelPlugins. Lihat Kontrol enterprise.
disableCommandPluginSources
Blokir sumber plugin command, yang menginstal plugin dengan menjalankan perintah yang dideklarasikan marketplace pada mesin pengguna. Ketika Anda mengaturnya ke true, Claude Code tidak pernah menjalankan perintah, tidak menginstal atau memperbarui plugins yang bersumber perintah, dan berhenti memuat yang sudah diinstal. Atur ke false untuk mengizinkannya secara eksplisit. Kapan pun itu memblokir sumber perintah, apakah Anda mengaturnya ke true atau membiarkannya unset di bawah allowManagedHooksOnly, itu juga memblokir perintah marketplace headersHelper, kecuali untuk marketplace yang managed settings sendiri deklarasikan. Memerlukan Claude Code v2.1.229 atau lebih baru, dan blokir headersHelper memerlukan v2.1.238 atau lebih baru.
- Scope:
Managed - Type: Boolean
true: Claude Code tidak pernah menjalankan perintah yang dideklarasikan marketplace, tidak menginstal atau memperbarui plugins yang bersumber perintah, dan berhenti memuat yang sudah diinstalfalse: Claude Code mengizinkan plugins yang bersumber perintah secara eksplisit
- Default: unset, jadi Claude Code mengikuti
allowManagedHooksOnly: organisasi yang membatasi eksekusi hook ke managed settings juga mendapatkan sumber perintah dinonaktifkan
managed-settings.json
pluginSuggestionMarketplaces
Namai marketplaces yang plugins-nya dapat muncul sebagai saran instalasi kontekstual, dalam tips spinner dan disematkan di bagian atas tab Discover /plugin. Tip frontend-design pihak pertama bawaan tidak terpengaruh. Saran berasal dari deklarasi relevance setiap plugin dalam entri marketplace-nya.
- Scope:
Managed - Type: array nama marketplace
- Default: unset, jadi tidak ada saran yang dideklarasikan marketplace yang muncul
managed-settings.json
extraKnownMarketplaces untuk nama itu atau sebagai entri strictKnownMarketplaces. Claude Code mengabaikan marketplace yang terdaftar dari sumber berbeda di bawah nama yang diizinkan. Marketplace resmi dikecualikan dari persyaratan sumber: mengizinkan nama saja sudah cukup, karena nama itu hanya dapat terdaftar dari sumber Anthropic resmi. Lihat Sarankan plugins berdasarkan konteks.
pluginTrustMessage
Tambahkan teks organisasi Anda sendiri ke peringatan kepercayaan plugin yang Claude Code tunjukkan sebelum instalasi, misalnya untuk mengkonfirmasi bahwa plugins dari marketplace internal Anda telah dikurasi.
- Scope:
Managed - Type: string
- Default: unset, jadi Claude Code menunjukkan peringatan standar saja
managed-settings.json
strictKnownMarketplaces
Batasi sumber marketplace plugin mana yang dapat ditambahkan dan diinstal oleh orang-orang di organisasi Anda. Claude Code memberlakukan daftar allowlist pada penambahan marketplace dan pada instalasi, pembaruan, penyegaran, dan auto-update plugin, sebelum operasi jaringan atau filesystem apa pun, jadi marketplace yang ditambahkan seseorang sebelum Anda menetapkan kebijakan tidak dapat digunakan untuk mengambil plugins setelah sumbernya tidak lagi cocok. Pengguna yang diblokir melihat kesalahan yang menamai kebijakan yang dikelola.
Jika Anda menetapkan kunci ini dalam konsol admin claude.ai, claude.ai juga menerapkannya ketika siapa pun di organisasi Anda menambahkan marketplace dari repositori git di claude.ai, seperti yang dijelaskan Bagaimana pembatasan bekerja.
- Scope:
Managed - Type: array objek sumber marketplace; lihat Tipe sumber yang diizinkan
- Default: unset, jadi pengguna dapat menambahkan marketplace apa pun. Array kosong adalah lockdown lengkap yang memblokir setiap sumber marketplace, termasuk marketplace resmi Anthropic
v2.0, dan satu URL marketplace.json yang dihosting:
managed-settings.json
allowedMarketplaces; Alias kunci Marketplace menjelaskan bagaimana Claude Code memperlakukan alias dan versi mana yang menerimanya. Kunci ini adalah gerbang kebijakan: itu mengontrol apa yang dapat ditambahkan pengguna tetapi tidak mendaftarkan apa pun. Untuk membatasi dan pra-daftar dalam satu file, lihat Gabungkan dengan extraKnownMarketplaces. Untuk tampilan yang menghadap pengguna, lihat Pembatasan marketplace yang dikelola.
Tipe sumber yang diizinkan
Setiap entri di bawah menunjukkan satu entri daftar allowlist per tipe sumber dan bidang yang diterimanya. Sebagian besar tipe cocok persis;hostPattern dan pathPattern cocok dengan regex, dan entri github dapat menggunakan wildcard pemilik.
Tiga tipe sumber membawa aturan di luar tabel:
-
url: marketplace URL hanya mengunduh filemarketplace.json, dan Claude Code tidak mengambil file plugin dengan jalur relatif dari server itu, jadi plugins-nya harus menggunakan sumber plugin selain jalur relatif, seperti URL arsip, yang dapat berada di host yang sama. Untuk plugins dengan jalur relatif, gunakan marketplace berbasis Git sebagai gantinya. Lihat Plugins dengan jalur relatif gagal dalam marketplaces berbasis URL. -
hostPattern: gunakan untuk mengizinkan setiap marketplace di server GitHub Enterprise atau GitLab internal tanpa mencantumkan setiap repositori. Claude Code mencocokkan sumbergithubterhadapgithub.com, mengambil hostname dari sumberurl, dan mengambilnya dari sumbergittergantung pada bentuk git URL:- URL dengan skema, seperti
https://ataussh://: hostname dalam URL. - Alamat SSH tanpa skema, dalam bentuk
user@host:pathgit, sepertigit@git.example.com:tools/plugins.git: host antara@dan:, yang merupakan host yang terhubung git. - Bentuk lain apa pun tanpa skema: tidak ada host, jadi tidak ada entri
hostPatternstrictKnownMarketplacesyang cocok dengannya. UntukhostPatternblockedMarketplaces, Claude Code mengambil host dari set bentuk yang lebih luas, jadi entri daftar blokir masih dapat cocok dengan bentuk seperti itu. Sebelum v2.1.234,hostPatternstrictKnownMarketplacesjuga cocok dengan beberapa bentuk yang git tidak perlakukan sebagai alamat SSH.
filedandirectorytidak memiliki host dan tidak pernah cocok dengan entrihostPattern. - URL dengan skema, seperti
-
pathPattern: gunakan untuk mengizinkan marketplaces filesystem bersama entrihostPatternuntuk sumber jaringan.".*"mengizinkan setiap jalur lokal; pola yang lebih sempit seperti"^/opt/approved/"membatasi ke direktori.
@skills-dir plugins dari ~/.claude/skills/. Tambahkan entri { "source": "skills-dir" } untuk terus memuat mereka; entri tidak memiliki arti di luar kunci ini dan blockedMarketplaces.
Owner wildcards
Entrigithub yang nilai repo-nya adalah "<owner>/*" cocok dengan setiap repositori di bawah pemilik GitHub itu. Wildcard pemilik memerlukan Claude Code v2.1.223 atau lebih baru dan hanya bekerja dalam strictKnownMarketplaces dan blockedMarketplaces. Di tempat lain sumber github muncul, seperti extraKnownMarketplaces atau /plugin marketplace add, nilai repo harus menamai satu repositori. Sebelum v2.1.223, Claude Code membandingkan entri secara harfiah, jadi entri daftar allowlist tidak cocok dengan repositori apa pun dan entri daftar blokir tidak memblokir apa pun; entri repositori tunggal diberlakukan pada setiap versi.
Entri ini mengizinkan repositori marketplace apa pun dalam organisasi acme-corp:
managed-settings.json
*, */plugins, atau acme-corp/tools-* sebagai tidak valid, jadi mereka tidak cocok dengan repositori apa pun.
Aturan pencocokan berbeda antara dua pengaturan:
Exact matching
Untuk setiap tipe sumber kecuali entrigithub wildcard pemilik dan entri hostPattern dan pathPattern yang cocok dengan regex, Claude Code hanya mengizinkan penambahan pengguna ketika sumber marketplace cocok dengan entri secara tepat. Untuk sumber berbasis git github dan git, pencocokan yang tepat mencakup bidang opsional:
repoatauurlharus cocok persis- Bidang
refharus cocok persis, atau keduanya harus tidak terdefinisi - Bidang
pathharus cocok persis, atau keduanya harus tidak terdefinisi
{ "source": "github", "repo": "acme-corp/plugins" }dan{ "source": "github", "repo": "acme-corp/plugins", "ref": "main" }{ "source": "github", "repo": "acme-corp/plugins", "path": "marketplace" }dan{ "source": "github", "repo": "acme-corp/plugins" }
Allow only the official marketplace
Untuk mengizinkan marketplace resmi Anthropic dan tidak ada yang lain, cantumkan repositorinya:managed-settings.json
- Lingkungan non-interaktif yang berjalan sebelum sesi terminal interaktif pertama mesin.
- Mesin di mana Claude Code sudah berjalan melalui ekstensi VS Code.
- Mesin di mana Claude Code sudah menjalankan sesi terminal interaktif di bawah kebijakan yang memblokir marketplace, seperti lockdown array kosong. Claude Code mencatat upaya yang diblokir dan tidak mencoba lagi setelah kebijakan berubah.
extraKnownMarketplaces dalam managed-settings.json yang sama sehingga Claude Code mendaftarkannya secara otomatis, atau jalankan claude plugin marketplace add anthropics/claude-plugins-official.
Combine with extraKnownMarketplaces
Dua kunci melakukan pekerjaan berbeda. Tabel ini membandingkannya:
Untuk membatasi dan pra-daftar marketplace untuk semua pengguna, atur keduanya dalam
managed-settings.json:
managed-settings.json
strictKnownMarketplaces yang diatur, pengguna masih dapat menambahkan marketplace yang diizinkan sendiri dengan /plugin marketplace add. Marketplace resmi Anthropic adalah satu-satunya yang Claude Code daftarkan secara otomatis, dan hanya ketika daftar allowlist mengizinkannya. Allow only the official marketplace mencantumkan mesin yang dilewatkan.
strictPluginOnlyCustomization
Blokir skills, agents, hooks, dan MCP servers dari sumber pengguna dan proyek, jadi mereka hanya dapat berasal dari plugins atau managed settings. Gabungkan dengan strictKnownMarketplaces untuk mengontrol rantai pasokan kustomisasi penuh: daftar allowlist marketplace mengontrol plugins mana yang dapat diinstal pengguna.
- Scope:
Managed - Type:
trueuntuk mengunci semua empat jenis kustomisasi, atau array yang menamai jenis untuk dikunci, dari"skills","agents","hooks", dan"mcp" - Default: unset, jadi tidak ada yang dikunci
managed-settings.json
strictPluginOnlyCustomization.skills
Kunci permukaan skills. Claude Code berhenti memuat skills dari ~/.claude/skills/ dan .claude/skills/, perintah kustom dari ~/.claude/commands/ dan .claude/commands/, skills di bawah direktori --add-dir, dan skills yang disinkronkan dari akun claude.ai Anda, dan terus memuat plugin skills, bundled skills, dan skills dalam direktori kebijakan yang dikelola.
- Scope:
Managed - Type: string
"skills"dalam arraystrictPluginOnlyCustomization - Default: tidak dikunci
managed-settings.json
strictPluginOnlyCustomization.agents
Kunci surface agents. Claude Code berhenti memuat agents dari ~/.claude/agents/, .claude/agents/, dan direktori --add-dir. Claude Code tetap memuat plugin agents, agents bawaan, dan agents dalam direktori kebijakan terkelola.
- Scope:
Managed - Type: string
"agents"dalam arraystrictPluginOnlyCustomization - Default: tidak dikunci
managed-settings.json
strictPluginOnlyCustomization.hooks
Kunci surface hooks:
- Berhenti berjalan:
- Tetap berjalan: plugin hooks dan hooks dalam pengaturan terkelola
- Scope:
Managed - Type: string
"hooks"dalam arraystrictPluginOnlyCustomization - Default: tidak dikunci
managed-settings.json
strictPluginOnlyCustomization.mcp
Kunci permukaan mcp. Claude Code berhenti memuat MCP servers dari ~/.claude.json dan .mcp.json, dan terus memuat plugin MCP servers, server managed-mcp.json, dan servers dari managedMcpServers.
- Scope:
Managed - Type: string
"mcp"dalam arraystrictPluginOnlyCustomization - Default: tidak dikunci
managed-settings.json
enabledPlugins
Hidupkan atau matikan plugins individual, dikunci dengan plugin-name@marketplace-name. Plugin tanpa entri di scope apa pun kembali ke nilai defaultEnabled-nya. Ketika Anda mengaktifkan atau menonaktifkan plugin dengan /plugin atau claude plugin enable, Claude Code menulis kunci ini untuk Anda.
- Scope:
Any file - Type: object mapping
plugin-name@marketplace-nameke Boolean - Default: unset, jadi setiap plugin mengikuti nilai
defaultEnabled-nya
team-tools dan menonaktifkan satu dari personal:
settings.json
- User settings: preferensi plugin pribadi Anda
- Project settings: plugins yang dibagikan dengan semua orang di repositori
- Local settings: overrides per-mesin, gitignored ketika Claude Code menyimpan pengaturan di sana
- Managed settings: kebijakan organisasi-lebar. Plugin yang diatur ke
falsedi sini diblokir dari instalasi di setiap scope dan disembunyikan dari marketplace
false dalam ~/.claude/settings.json tidak menonaktifkan plugin yang .claude/settings.json proyek aktifkan. Untuk memilih keluar dari plugin yang diaktifkan proyek di mesin Anda, atur ke false dalam .claude/settings.local.json sebagai gantinya. Plugins yang dipaksa diaktifkan oleh managed settings tidak dapat dinonaktifkan dengan cara ini, karena managed settings menimpa pengaturan lokal.
Mengaktifkan plugin dari sumber eksternal seperti repositori GitHub atau paket npm dalam .claude/settings.json proyek tidak menginstalnya untuk orang lain. Di setiap jalur yang memuat plugins, Claude Code melaporkan plugin sebagai tidak diinstal sampai setiap pengguna menginstalnya sendiri.
extraKnownMarketplaces
Daftarkan marketplaces plugin tambahan berdasarkan nama, sehingga orang yang membuka repositori, atau semua orang yang managed settings jangkau, mendapatkan marketplace tanpa menambahkannya sendiri. Claude Code mendaftarkan setiap marketplace yang belum diketahuinya. Apakah plugin yang enabledPlugins namai darinya menginstal tergantung pada sumber plugin dan file mana yang mengaktifkannya; entri itu memiliki aturannya.
- Scope:
Any file. Claude Code menghormati entri dalam.claude/settings.jsonatau.claude/settings.local.jsonrepositori hanya setelah Anda menerima dialog kepercayaan workspace untuk folder itu; dalam folder yang belum Anda percayai, termasuk run-pdi sana, itu mengabaikannya tanpa pesan. - Type: object mapping nama marketplace ke objek dengan objek
sourcedan BooleanautoUpdateopsional - Default: unset
settings.json
additionalMarketplaces; lihat Alias kunci Marketplace.
Atur "autoUpdate": true bersama source untuk membuat Claude Code menyegarkan marketplace itu dan memperbarui plugins yang diinstal dalam latar belakang setelah startup. Ketika dihilangkan, claude-plugins-official dan sebagian besar marketplace resmi Anthropic lainnya default ke true, dan marketplace pihak ketiga default ke false. Lihat Konfigurasi auto-updates.
Ketika lebih dari satu file pengaturan mendefinisikan entri marketplace di bawah nama yang sama, Claude Code menggunakan entri dari file prioritas tertinggi secara keseluruhan. Entri itu menggantikan entri prioritas lebih rendah dan tidak mewarisi bidang apa pun, jadi redefinisi tidak dapat menggabungkan source.headers kredensial satu file dengan URL yang dikontrol file lain. Sebelum v2.1.228, Claude Code menggabungkan entri nama-sama bidang demi bidang, jadi entri dalam file prioritas lebih tinggi dapat mewarisi bidang yang tidak diaturnya, termasuk headers file lain.
Marketplace source types
Objeksource mengambil salah satu bentuk ini:
github: repositori GitHub, denganrepogit: URL git apa pun, denganurlurl: URL langsung ke filemarketplace.json, denganurldanheadersopsional danheadersHelperuntuk akses yang diautentikasi.headersHelpermenamai perintah yang mencetak header yang nilainya terlalu berumur pendek untuk dicantumkan dalamheaders, dan memerlukan Claude Code v2.1.238 atau lebih barufile: jalur lokal ke filemarketplace.json, denganpathdirectory: jalur filesystem lokal, denganpath. Gunakan untuk pengembangan, atau untuk marketplace yang organisasi Anda terapkan ke setiap mesin.settings: marketplace inline yang dideklarasikan langsung dalam file pengaturan tanpa repositori yang dihosting, dengannamedanplugins
git bekerja dengan layanan hosting git apa pun, termasuk GitLab dan Bitbucket yang dihosting sendiri. Claude Code mengkloning repositori dengan autentikasi yang sama yang git clone gunakan di mesin itu: pembantu kredensial yang dikonfigurasi atau kunci SSH. Token penyedia seperti GITHUB_TOKEN hanya berlaku melalui pembantu kredensial yang membacanya. Lihat Private repositories untuk detail setup.
Untuk sumber github dan git, Claude Code tidak pernah mengunduh konten Git LFS ketika mengkloning repositori marketplace untuk menambahkan atau memperbaruinya. File yang dilacak LFS diperiksa sebagai file pointer, dan output penambahan atau pembaruan melaporkan berapa banyak.
Bidang skipLfs di dalam objek source diterima dan tidak memiliki efek. Sebelum v2.1.274, Claude Code mengunduh konten LFS kecuali Anda mengatur "skipLfs": true.
Untuk sumber url, atur headersHelper di dalam objek source ketika kredensial dalam headers kedaluwarsa dan perintah harus menghasilkan yang baru. Memerlukan Claude Code v2.1.238 atau lebih baru. Untuk apa yang harus dicetak perintah dan di mana Claude Code menjalankannya, lihat Write the headersHelper command, dan untuk kasus di mana Claude Code tidak menjalankannya, lihat When Claude Code skips a headersHelper command. Setelah Anda mengatur headersHelper pada URL marketplace https://, Claude Code menjalankan perintah di dua titik, menggunakan kembali output satu run selama hingga 60 detik:
- Sebelum setiap pengambilan
marketplace.jsonmarketplace itu, termasuk penyegaran nanti. Claude Code mengirim header yang dicetak dengan pengambilan itu. - Sebelum setiap unduhan arsip plugin pada asal URL marketplace, berarti skema, host, dan port yang sama. Claude Code mengirim output dengan unduhan itu, dan tidak ada unduhan lain yang mendapat header.
headersHelper apa pun yang diatur dalam .claude/settings.json atau .claude/settings.local.json direktori yang Anda tambahkan dengan --add-dir, pada sumber url dan pada entri plugin inline sama-sama, dan hanya mengirim headers tetap yang diatur dalam file itu. How users accept a headersHelper command mencakup file pengaturan lainnya.
Plugins yang tercantum dalam sumber settings harus mereferensikan sumber eksternal seperti GitHub atau npm, dan name harus cocok dengan kunci marketplace. Anda masih mengaktifkan setiap plugin secara terpisah dalam enabledPlugins. Contoh ini mendeklarasikan satu plugin inline:
settings.json
source: 'settings' yang source-nya sendiri adalah archive dapat mengatur headers untuk unduhan arsip. Jika nilai yang akan Anda masukkan dalam headers berumur pendek, seperti token yang registry Anda cetak atas permintaan, atur perintah headersHelper sebagai gantinya. Entri dapat mengatur keduanya. Kedua bidang memerlukan Claude Code v2.1.238 atau lebih baru.
Claude Code mengirim headers entri, dan apa pun yang dicetak perintah, dengan unduhan arsip plugin itu dan dengan tidak ada unduhan lain. Claude Code menjalankan perintah hanya ketika pengguna menginstal atau memperbarui plugin itu saja. Tiga aturan lebih lanjut tergantung pada file mana yang memegang entri:
strict: tidak seperti entri dalammarketplace.jsonmarketplace, entri dalam pengaturan tidak memerlukan"strict": false, karena file pengaturan tidak membawa bidang manifest untuk inline. Lihat Strict mode.- Folder trust: untuk entri dalam
.claude/settings.jsonatau.claude/settings.local.jsonproyek, Claude Code menjalankan perintah hanya setelah pengguna juga mempercayai folder itu. - Header filter: Claude Code menjatuhkan nama header perutean permintaan dan identitas klien dari entri dalam
.claude/settings.jsonatau.claude/settings.local.jsonproyek, karena repositori dapat menyediakan file itu. Claude Code menerapkan filter yang sama ke entri katalog dan ke entri dalam pengaturan direktori--add-dir, dan tidak ada filter ke entri dalam pengaturan pengguna Anda, file--settings, atau managed settings.
Marketplace key aliases
Pada Claude Code v2.1.232 atau lebih baru, Anda dapat menulisextraKnownMarketplaces sebagai additionalMarketplaces dan strictKnownMarketplaces sebagai allowedMarketplaces. Claude Code memperlakukan setiap alias sebagai berikut:
- Versi sebelumnya mengabaikan alias, jadi pertahankan ejaan kanonik dalam file yang juga dibaca versi lebih lama, seperti file managed settings untuk armada dengan versi Claude Code campuran.
- Dalam file pengaturan apa pun yang menerima kunci kanonik, Claude Code membaca alias persis seperti membaca kunci kanonik.
- Claude Code dapat menulis ulang
additionalMarketplaceskeextraKnownMarketplacesketika memperbarui file. - Jika Anda mengatur kedua ejaan dalam satu file, Claude Code menggunakan nilai kanonik dan mengabaikan alias.
pluginConfigs
Simpan jawaban non-sensitif yang Anda berikan dialog konfigurasi userConfig plugin, dikunci dengan ID plugin. Claude Code menulis kunci ini ke pengaturan pengguna Anda ketika Anda mengisi dialog, jadi Anda tidak perlu mengeditnya dengan tangan. Claude Code menyimpan opsi sensitif dalam Keychain macOS sebagai gantinya, kembali ke ~/.claude/.credentials.json ketika Keychain menolak penulisan; pada platform tanpa keychain yang didukung, itu menyimpannya dalam ~/.claude/.credentials.json.
- Scope:
User or managed - Type: object mapping ID plugin ke objek dengan bidang
options, mapping setiap nama opsi ke string, angka, Boolean, atau array string, dan bidangmcpServersopsional yang memegang nilai konfigurasi pengguna per-server dalam bentuk yang sama - Default: unset
api_endpoint untuk plugin deployer dari acme-tools:
settings.json
@builtin. Misalnya, pengaturan Project instructions yang mengontrol apakah Claude Code membaca file AGENTS.md adalah pluginConfigs["cc-plugin-agents-md@builtin"].options.instructionFiles. Sebelum v2.1.285, ID plugin tersebut adalah agents-md@builtin. Versi yang lebih baru membaca entri di bawah salah satu dari kedua ID tersebut.
Claude Code mengabaikan entri proyek dan lokal karena menggantikan nilai ini ke dalam konfigurasi hook plugin, MCP, dan LSP, dan repositori yang dikloning tidak boleh dapat menyediakannya.
prependPlugins
Cantumkan managed plugins yang mods-nya berjalan sebelum setiap mod yang diinstal pengguna, dalam urutan yang tercantum. Ketika Anda mengatur kunci ini dalam managed settings, namai sec-default@builtin dalam daftar untuk menjaga guard bawaan. Dalam managed settings, Claude Code melewatkan id yang plugin-nya tidak dihitung sebagai organisasi Anda. Lihat Install your organization’s mods and set the order untuk kondisi tersebut dan bagaimana dua kunci pengurutan bekerja bersama.
- Scope:
User or managed. Claude Code membaca kunci dari managed settings. Claude Code membaca kunci dari user settings hanya pada mesin tanpa pengaturan terkelola, dalam sesi yang kredensialnya bukan/loginTeam atau Enterprise. Claude Code mengabaikan kunci dalam pengaturan proyek dan lokal dan dalam file--settings. - Type: array string
plugin-name@marketplace-name - Default: unset
managed-settings.json
appendPlugins
Cantumkan managed plugins yang mods-nya berjalan setelah setiap mod yang diinstal pengguna, dalam urutan yang tercantum. Id yang tercantum dalam prependPlugins dan appendPlugins adalah prepended. Dalam managed settings, Claude Code melewatkan id yang plugin-nya tidak dihitung sebagai organisasi Anda.
- Scope:
User or managed. Claude Code membaca kunci dari managed settings. Claude Code membaca kunci dari user settings hanya pada mesin tanpa pengaturan terkelola, dalam sesi yang kredensialnya bukan/loginTeam atau Enterprise. Claude Code mengabaikan kunci dalam pengaturan proyek dan lokal dan dalam file--settings. - Type: array string
plugin-name@marketplace-name - Default: unset
managed-settings.json
MCP
Kontrol server MCP mana yang Claude Code terhubung dan mana yang diizinkan organisasi. Lihat Terhubung ke alat eksternal dengan MCP dan Konfigurasi MCP yang dikelola.allowAllClaudeAiMcps
Muat konektor claude.ai yang Claude Code ambil sendiri bersama dengan managed-mcp.json yang diterapkan. Tanpa kunci ini, managed-mcp.json mengambil kontrol eksklusif atas server MCP dan menekan konektor tersebut.
- Scope:
Managed. Pengguna tidak dapat mengaktifkan kembali konektor yang kontrol eksklusif tekan. - Type: Boolean
true: Claude Code memuat konektor claude.ai bersama denganmanaged-mcp.jsonyang diterapkanfalse:managed-mcp.jsonyang diterapkan mengambil kontrol eksklusif atas server MCP dan menekan konektor claude.ai yang Claude Code ambil sendiri
- Default:
false, jadimanaged-mcp.jsonyang diterapkan menekan konektor claude.ai yang Claude Code ambil sendiri
managed-settings.json
allowedMcpServers dan deniedMcpServers masih berlaku untuk konektor yang kunci ini muat. Konektor yang dikirimkan ke sesi cloud yang hostnya membawa managed-mcp.json, seperti runner yang di-host sendiri, tetap ditekan. Lihat Izinkan konektor claude.ai bersama dengan set yang dikelola.
allowClaudeInChromeWithManagedMcp
Biarkan server Claude di Chrome bawaan berjalan bersama dengan managed-mcp.json yang diterapkan. Tanpa kunci ini, managed-mcp.json yang diterapkan memblokir Claude di Chrome dalam sesi terminal. Memerlukan Claude Code v2.1.282 atau lebih baru.
- Scope:
Managed, dari pengaturan yang dikelola perangkat itu sendiri saja: plist yang diterapkan MDM atau kunci registri HKLM, atau filemanaged-settings.jsonsistem. Claude Code mengabaikannya dalam pengaturan yang dikelola server, dalam registri HKCU yang dapat ditulis pengguna, dan dalam pengaturan pengguna atau proyek. - Type: Boolean
true: server Claude di Chrome bawaan dapat berjalan bersama denganmanaged-mcp.jsonyang diterapkanfalse:managed-mcp.jsonyang diterapkan memblokir Claude di Chrome dalam sesi terminal
- Default:
false, jadimanaged-mcp.jsonyang diterapkan memblokir Claude di Chrome dalam sesi terminal
managed-settings.json
deniedMcpServers untuk claude-in-chrome masih memblokir server dengan kunci ini aktif. Lihat Izinkan Claude di Chrome bersama dengan set yang dikelola.
allowedMcpServers
Daftar putih server MCP yang dapat ditambahkan orang. Claude Code memblokir server apa pun yang tidak cocok dengan entri di mana pun didefinisikan, termasuk server plugin, server yang dilewatkan dengan --mcp-config, dan server dari claude.ai.
Server bawaan seperti Claude di Chrome, server ide yang Claude Code terhubung dalam VS Code atau JetBrains IDE yang sedang berjalan, dan server yang CLI sendiri konfigurasi dikecualikan dari daftar putih, dan daftar hitam masih berlaku untuk mereka. Pada Claude Code v2.1.268 atau lebih baru, alat Slack sesi Claude Tag juga dikecualikan dari daftar putih, dan daftar hitam masih berlaku untuk mereka. Server type: "sdk" dalam proses dikecualikan dari kedua daftar; aplikasi yang memulai sesi mendaftarkan mereka.
Server yang organisasi Anda berikan juga dikecualikan dari daftar putih, dan daftar hitam masih berlaku untuk mereka. Pengecualian mencakup setiap entri managedMcpServers, dan entri managed-mcp.json apa pun yang nilainya tidak menggunakan ekspansi ${VAR}. Lihat Bagaimana server dievaluasi untuk urutan pemeriksaan lengkap. Sebelum v2.1.259, server dari managed-mcp.json juga harus cocok.
- Scope:
Any file. Entri dari setiap file bergabung menjadi satu daftar putih kecualiallowManagedMcpServersOnlydiatur. Terapkan di pengaturan yang dikelola untuk memberlakukannya. - Type: array objek, masing-masing dengan tepat satu kunci:
serverName, string terbatas pada huruf, angka, tanda hubung, dan garis bawah;serverCommand, array perintah dan argumennya yang cocok persis; atauserverUrl, pola URL dengan wildcard* - Default: tidak diatur, jadi setiap server diizinkan; array kosong memblokir setiap server yang ditambahkan pengguna
npx yang terdaftar mulai:
settings.json
deniedMcpServers memiliki prioritas, jadi server di kedua daftar diblokir. Setelah daftar berisi entri serverCommand apa pun, server stdio harus cocok dengan entri serverCommand, dan setelah berisi entri serverUrl apa pun, server jarak jauh harus cocok dengan entri serverUrl: kecocokan serverName tidak lagi mengakui jenis server itu. Lihat Kontrol berbasis kebijakan dengan daftar putih dan daftar hitam.
allowManagedMcpServersOnly
Buat daftar putih yang dikelola satu-satunya yang berlaku. Claude Code kemudian membaca allowedMcpServers dari pengaturan yang dikelola saja dan mengabaikan daftar putih di pengaturan pengguna, proyek, dan lokal; deniedMcpServers masih bergabung dari setiap cakupan pengaturan, jadi pengguna masih dapat memblokir server untuk diri mereka sendiri. Administrator menetapkannya sehingga pengaturan pengguna mereka sendiri tidak dapat memperluas apa yang daftar putih yang dikelola izinkan.
- Scope:
Managed - Type: Boolean
true: Claude Code membacaallowedMcpServersdari pengaturan yang dikelola saja dan mengabaikan daftar putih di pengaturan pengguna, proyek, dan lokalfalse: daftar putih dari setiap cakupan pengaturan bergabung
- Default:
false, jadi daftar putih dari setiap cakupan pengaturan bergabung
github:
managed-settings.json
deniedMcpServers
Blokir server MCP tertentu. Claude Code menolak untuk memuat server yang cocok di mana pun didefinisikan, termasuk server plugin, server yang dilewatkan dengan --mcp-config, server dari managed-mcp.json, server dari managedMcpServers, dan konektor claude.ai yang diambilnya sendiri. Server type: "sdk" dalam proses dikecualikan; aplikasi yang memulai sesi mendaftarkan mereka.
- Scope:
Any file. Entri dari setiap file bergabung menjadi satu daftar hitam, danallowManagedMcpServersOnlytidak mengubah itu. Terapkan di pengaturan yang dikelola untuk memberlakukannya. - Type: array objek, masing-masing dengan tepat satu kunci:
serverName, string, jadi nama tampilan konektor claude.ai seperti"claude.ai Slack"berfungsi;serverCommand, array perintah dan argumennya yang cocok persis; atauserverUrl, pola URL dengan wildcard* - Default: tidak diatur, jadi tidak ada server yang diblokir; array kosong juga tidak memblokir apa pun
settings.json
allowedMcpServers, jadi server di kedua daftar diblokir. Lihat Kontrol berbasis kebijakan dengan daftar putih dan daftar hitam.
disableClaudeAiConnectors
Matikan konektor MCP claude.ai yang Claude Code ambil sendiri, sehingga tidak mengambil atau menghubungkan mereka. true di file pengaturan apa pun berlaku: file .claude/settings.json proyek yang diperiksa dapat menolak repositori dari konektor tersebut, tetapi false tingkat proyek tidak dapat mengganti true tingkat pengguna atau yang dikelola.
- Scope:
Any file - Type: Boolean
true: Claude Code tidak mengambil atau menghubungkan konektor tersebutfalse: sama dengan tidak diatur; Claude Code mengambil konektor Anda kecuali file pengaturan lain atauENABLE_CLAUDEAI_MCP_SERVERSmematikannya
- Default:
false, jadi Claude Code mengambil konektor Anda - Per-session overrides:
ENABLE_CLAUDEAI_MCP_SERVERSdiatur kefalsemematikan konektor untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menghidupkannya kembali
settings.json
--mcp-config tidak terpengaruh. Untuk memblokir konektor individual alih-alih semuanya, gunakan deniedMcpServers. Lihat Nonaktifkan konektor claude.ai.
disabledMcpjsonServers
Tolak server tertentu yang didefinisikan dalam file .mcp.json proyek sehingga Claude Code tidak pernah menghubungkannya atau meminta Anda menyetujuinya. Penolakan di file pengaturan apa pun berlaku, termasuk .claude/settings.json proyek yang diperiksa ke dalam repositori.
- Scope:
Any file - Type: array string, nama server seperti yang muncul di
.mcp.json - Default: tidak diatur
settings.json
.claude/settings.local.json ketika Anda menolak server di dialog persetujuan. claude mcp get <name> menampilkan server yang ditolak sebagai ✘ Rejected (see disabledMcpjsonServers in settings). Penolakan memiliki prioritas atas enabledMcpjsonServers dan enableAllProjectMcpServers.
enableAllProjectMcpServers
Setujui setiap server MCP yang didefinisikan dalam file .mcp.json proyek tanpa prompt. Claude Code menulis kunci ini ke .claude/settings.local.json ketika Anda memilih untuk menyetujui semua server di dialog persetujuan.
- Scope:
Any file. Di folder yang dialog kepercayaan Anda belum terima, Claude Code menghormatinya dari pengaturan pengguna, pengaturan yang dikelola, dan--settingsdan mengabaikannya di file proyek bersama, baik dalam sesi maupun untukclaude mcp listdanclaude mcp get; Persetujuan server proyek dan kepercayaan ruang kerja mengatakan kapan.claude/settings.local.jsonyang tidak dilacak dihitung juga. - Type: Boolean
true: Claude Code menyetujui setiap server MCP yang didefinisikan dalam file.mcp.jsonproyek tanpa promptfalse: Claude Code meminta Anda menyetujui setiap server. Di folder yang dipercaya,falsedi file prioritas lebih tinggi menggantitruedi file prioritas lebih rendah; di folder yang belum Anda percayai,truedi file yang dihormati apa pun sudah cukup
- Default: tidak diatur, jadi Claude Code meminta Anda menyetujui setiap server
settings.json
disabledMcpjsonServers masih menolak server.
enabledMcpjsonServers
Setujui server tertentu yang didefinisikan dalam file .mcp.json proyek sehingga Claude Code menghubungkannya tanpa bertanya. Claude Code menulis kunci ini ke .claude/settings.local.json ketika Anda menyetujui server di dialog persetujuan.
- Scope:
Any file. Di folder yang dialog kepercayaan Anda belum terima, Claude Code menghormatinya dari pengaturan pengguna, pengaturan yang dikelola, dan--settingsdan mengabaikannya di file proyek bersama, baik dalam sesi maupun untukclaude mcp listdanclaude mcp get; Persetujuan server proyek dan kepercayaan ruang kerja mengatakan kapan.claude/settings.local.jsonyang tidak dilacak dihitung juga. - Type: array string, nama server seperti yang muncul di
.mcp.json - Default: tidak diatur
memory dan github dari .mcp.json proyek:
settings.json
disabledMcpjsonServers masih menolak server.
managedMcpServers
Sediakan server MCP jarak jauh untuk setiap pengguna dari pengaturan yang dikelola. Pengguna menyimpan server yang mereka tambahkan sendiri dan tidak dapat mengedit atau menghapus yang Anda sediakan. Memerlukan Claude Code v2.1.259 atau lebih baru.
- Scope:
Managed. Claude Code menghapus kunci dengan peringatan di pengaturan pengguna, proyek, dan lokal, dan tidak membacanya di tab Code aplikasi Claude Desktop pada penerapan pihak ketiga atau di sesi Cowork aplikasi, di mana Claude Desktop menyediakan dan mengunci server MCP sesi tersebut sendiri. - Type: objek yang dikunci berdasarkan nama server. Setiap entri memiliki bentuk
.mcp.jsonuntuk serverhttpatausse:urlhttps://yang diperlukan, dan secara opsionalheaders,oauth, dan opsi HTTP dan SSE lainnya. Claude Code menghapus entri yang gagal validasi, dan Apa yang dapat berisi entri mencantumkan kondisinya - Default: tidak diatur, jadi pengaturan yang dikelola tidak menyediakan server
search:
managed-settings.json
managed-mcp.json dan daftar izin dan tolak, dan apa yang dilihat pengguna, lihat Sediakan server melalui pengaturan yang dikelola.
Agents, sessions, dan worktrees
Atur agent default, kontrol rekan kerja dan pesan lintas-sesi, dan konfigurasi worktrees. Lihat Subagents dan Worktrees.agent
Jalankan thread utama sebagai subagent bernama, sehingga Claude Code menerapkan system prompt, pembatasan tool, dan model subagent tersebut ke sesi Anda. Kunci yang sama menetapkan agent default untuk sesi yang Anda dispatch dari claude agents.
- Scope:
Any file - Type: string, nama agent bawaan atau kustom
- Default: unset, sehingga thread utama berjalan sebagai agent default Claude Code
- Per-session overrides:
--agentdiutamakan daripada kunci ini untuk satu sesi
settings.json
settings.json plugin sendiri juga dapat menyediakan kunci ini; lihat Ship default settings with your plugin.
crossSessionInbound
Pilih apa yang dilakukan sesi ini dengan pesan yang tiba dari sesi Claude Code lain Anda. Ketika tidak ada nilai yang berlaku, Claude Code memutuskan per pesan dari kelas permission-mode kedua sesi. Memerlukan Claude Code v2.1.224 atau lebih baru.
- Scope:
Any file. Nilai proyek atau lokal hanya berlaku ketika lebih ketat daripada nilai managed settings, flag--settings, atau user settings yang diberikan. - Type: string, salah satu dari:
"accept": Claude Code mengirimkan pesan ke Claude"hold": Claude Code menampilkan pemberitahuan untuk pesan tanpa mengirimkannya"refuse": Claude Code menghapus pesan
- Default: unset, sehingga Claude Code memutuskan per pesan
settings.json
--settings, kemudian user settings, dan menerapkan nilai pertama yang ditemukan. refuse lebih ketat daripada hold, dan hold lebih ketat daripada accept. Ketika tidak ada sumber terpercaya yang menetapkan nilai, hold atau refuse dari proyek atau lokal masih berlaku, menggantikan default per-pesan. Dalam sesi dengan cross-session messaging, kunci ini muncul di /config sebagai Messages from your other sessions, yang menulisnya ke user settings; baris memerlukan Claude Code v2.1.232 atau lebih baru, dan Claude Code menyembunyikannya saat flag --settings atau managed settings menetapkan kunci.
Claude Code warns ketika Anda menetapkan nilai yang tidak dikenalinya. Sementara nilai itu ada di file user, project, local, atau --settings, Claude Code menahan pesan inbound, bahkan ketika sumber yang memiliki prioritas lebih tinggi menetapkan accept. refuse yang ditetapkan sumber lain masih berlaku. Perbaiki atau hapus nilai untuk menghapus hold.
Ketika nilai yang tidak dikenali ada di managed settings, Claude Code malah memperlakukannya sebagai refuse sampai administrator memperbaikinya. Sebelum v2.1.248, Claude Code mengabaikan nilai yang tidak dikenali tanpa peringatan.
disableAgentView
Matikan background agents dan agent view: claude agents, --bg, /background, dan supervisor on-demand. Atur di managed settings untuk memberlakukannya untuk organisasi.
- Scope:
Any file - Type: Boolean
true: Claude Code mematikanclaude agents,--bg,/background, dan supervisor on-demandfalse: agent view tersedia
- Default: unset, sehingga agent view tersedia
- Per-session overrides:
CLAUDE_CODE_DISABLE_AGENT_VIEWmematikan agent view untuk satu sesi; mana pun dari keduanya yang mematikannya, yang lain tidak dapat menghidupkannya kembali
settings.json
isolatePeerMachines
Memerlukan persetujuan eksplisit Anda sebelum SendMessage Claude mencapai salah satu sesi Anda di luar mesin ini; lihat Require approval for cross-machine messages. Dialog persetujuan muncul bahkan dalam bypassPermissions mode.
- Scope:
Any file.truedari cakupan apa pun berlaku, sehingga file proyek yang di-commit dapat menghidupkan persyaratan tetapi tidak mematikannya. - Type: Boolean
true: Claude Code meminta persetujuan Anda sebelumSendMessageClaude mencapai salah satu sesi Anda di luar mesin inifalse: pesan lintas-mesin tidak meminta persetujuan
- Default: unset, sehingga pesan lintas-mesin tidak meminta persetujuan
settings.json
SendMessage lintas-mesin memerlukan Claude Code v2.1.224 atau lebih baru.
processWrapper
Di macOS dan Linux, tempatkan perintah launcher korporat di depan background processes yang dimulai Claude Code. Claude Code menjalankan launcher dengan baris perintahnya sendiri ditambahkan, sehingga launcher harus exec ke Claude Code; lihat Run Claude Code behind a corporate launcher untuk kontrak launcher. Memerlukan Claude Code v2.1.210 atau lebih baru.
- Scope:
User or managed - Type: string, perintah launcher sebagai awalan argv, seperti jalur absolut dengan argumen opsional
- Default: unset, sehingga background processes dimulai tanpa wrapper
- Per-session overrides:
CLAUDE_CODE_PROCESS_WRAPPERdiutamakan daripada kunci ini untuk satu sesi
settings.json
teammateMode
Pilih di mana Claude Code menampilkan rekan kerja tim agent: di dalam pane terminal utama Anda, atau di pane terpisah ketika terminal Anda mendukungnya. Lihat Choose a display mode.
- Scope:
Any file. Claude Code juga membaca nilai yang ditinggalkan di~/.claude.jsonoleh versi yang lebih lama. - Type: string, salah satu dari:
"in-process": rekan kerja berjalan di dalam pane terminal utama Anda"auto": pane terpisah ketika Anda menjalankan di dalam tmux, atau di dalam iTerm2 denganit2diPATHAnda atau tmux terinstal; in-process sebaliknya"tmux": pane terpisah menggunakan tmux atau iTerm2, terdeteksi dari terminal Anda"iterm2": pane terpisah native iTerm2 melalui CLIit2
- Default:
"in-process" - Per-session overrides:
--teammate-modediutamakan daripada kunci ini untuk satu sesi
settings.json
worktree
Konfigurasi cara Claude Code membuat dan mengelola git worktrees untuk --worktree, tool EnterWorktree, dan subagent terisolasi serta background sessions.
- Scope:
Any file - Type: object dengan
baseRef,symlinkDirectories,sparsePaths, danbgIsolation - Default: unset
HEAD Anda saat ini dan membuat symlink node_modules ke masing-masing:
settings.json
.env ke worktree baru, tambahkan file .worktreeinclude ke root proyek Anda, alih-alih menggunakan pengaturan.
worktree.baseRef
Pilih ref mana yang menjadi asal branch worktree baru. "fresh" membuat branch dari origin/<default-branch> untuk pohon bersih yang cocok dengan remote; "head" membuat branch dari HEAD lokal Anda saat ini, sehingga commit yang belum di-push dan state feature-branch ada di worktree.
- Scope:
Any file - Type: string, salah satu dari:
"fresh": worktree baru membuat branch dariorigin/<default-branch>"head": worktree baru membuat branch dariHEADlokal Anda saat ini, termasuk commit yang belum di-push
- Default:
"fresh"
settings.json
"head" merujuk ke HEAD worktree itu, bukan milik checkout utama.
worktree.symlinkDirectories
Buat symlink direktori dari repositori utama ke setiap worktree sehingga Anda tidak menduplikasi direktori besar di disk.
- Scope:
Any file - Type: array of strings, jalur direktori relatif terhadap root repositori
- Default: unset, sehingga Claude Code tidak membuat symlink direktori apa pun
node_modules dan .cache dari repositori utama ke setiap worktree baru:
settings.json
worktree.sparsePaths
Lakukan checkout hanya untuk direktori yang terdaftar di setiap worktree melalui git sparse-checkout. Claude Code menulis hanya direktori tersebut ditambah file tingkat root ke disk, yang lebih cepat di monorepo besar; lihat Check out only the directories you need.
- Scope:
Any file - Type: array of strings, jalur direktori relatif terhadap root repositori
- Default: unset, sehingga setiap worktree melakukan checkout seluruh pohon
packages/my-app dan shared/utils, ditambah file tingkat root, di setiap worktree:
settings.json
extensions.worktreeConfig di .git/config bersama milik repositori.
worktree.bgIsolation
Pilih cara background sessions mengisolasi pengeditan file mereka. Jika Anda memindahkan sesi ke latar belakang dengan ← atau /background, sesi tersebut mengedit file di tempat apa pun nilai kunci ini. Dengan "worktree", Claude Code memblokir Edit dan Write di checkout utama sampai sesi memanggil EnterWorktree; dengan "none", background jobs mengedit working copy secara langsung. Atur "none" untuk repositori di mana git worktrees tidak praktis.
- Scope:
Any file - Type: string, salah satu dari:
"worktree": Claude Code memblokirEditdanWritedi checkout utama sampai sesi memanggilEnterWorktree"none": background jobs mengedit working copy secara langsung
- Default:
"worktree"
settings.json
WorktreeCreate hook yang gagal melepaskan blok sehingga sesi dapat mengedit direktori kerja di tempat.
worktree.location
Pilih folder di mesin remote tempat sesi SSH Desktop membuat worktree mereka, alih-alih <project-root>/.claude/worktrees/. Hanya aplikasi desktop yang membaca kunci ini: --worktree, tool EnterWorktree, subagent terisolasi, dan background sessions mengabaikannya. Memerlukan Claude Desktop v1.44121.0 atau lebih baru.
- Scope:
User, di~/.claude/settings.jsonpada mesin remote - Type: string, jalur absolut atau jalur yang diawali dengan
~/ - Default: unset, sehingga worktree ditempatkan di dalam proyek
~/worktrees:
settings.json
Remote, desktop, dan notifikasi
Konfigurasi Remote Control, lingkungan cloud, aplikasi desktop, dan notifikasi yang Claude Code kirimkan ketika membutuhkan Anda. Lihat Remote Control.agentPushNotifEnabled
Izinkan Claude mengirimkan notifikasi push ke ponsel Anda ketika Claude memutuskan bahwa notifikasi tersebut layak dikirim, misalnya ketika tugas yang panjang selesai. Claude Code menyinkronkan pilihan ini ke akun Anda, dan push tiba saat Remote Control terhubung. Muncul di /config sebagai Push when Claude decides.
- Scope:
Any file. Claude Code juga membaca nilai yang ditinggalkan di~/.claude.jsonoleh versi yang lebih lama. - Type: Boolean
true: Claude dapat mengirimkan notifikasi push ke ponsel Anda ketika Claude memutuskan bahwa notifikasi tersebut layak dikirimfalse: Claude tidak mengirimkan notifikasi tersebut
- Default:
false
settings.json
awaySummaryEnabled
Tampilkan ringkasan sesi satu baris ketika Anda kembali ke terminal setelah beberapa menit pergi. Atur ke false, atau matikan Session recap di /config, untuk menghentikan ringkasan.
- Scope:
Any file - Type: Boolean
true: Anda melihat ringkasan sesi satu baris ketika Anda kembali setelah beberapa menit pergifalse: Claude Code tidak menampilkan ringkasan
- Default: unset, jadi ringkasan aktif
- Per-session overrides:
CLAUDE_CODE_ENABLE_AWAY_SUMMARYmengambil alih kunci ini untuk satu sesi, dalam kedua arah
settings.json
disableArtifact
Gunakan enableArtifact sebagai gantinya untuk mematikan alat Artifact, yang menerbitkan output sesi sebagai halaman web pribadi di claude.ai. Ketika Anda mematikan baris Artifacts di /config, Claude Code menulis enableArtifact ke pengaturan pengguna Anda dan menghapus kunci ini.
- Scope:
Any file - Type: Boolean
true: Claude Code mematikan alat Artifact untuk setiap sesi yang berlaku file, dan tidak ada file lain yang menghidupkannya kembalifalse: diabaikan; untuk membiarkan alat tetap aktif, hapus kunci
- Default: unset, jadi alat mengikuti availability akun Anda
- Per-session overrides:
CLAUDE_CODE_DISABLE_ARTIFACTdiatur ke1mematikan alat untuk satu sesi
settings.json
disableDeepLinkRegistration
Hentikan Claude Code dari mendaftarkan penanganan protokol claude-cli:// dengan sistem operasi, yang sebaliknya dilakukan setelah Anda mengirimkan prompt pertama dari sesi interaktif. Deep links memungkinkan alat eksternal membuka sesi Claude Code dengan prompt yang sudah diisi. Atur ini di lingkungan di mana pendaftaran penanganan protokol dibatasi atau dikelola secara terpisah.
- Scope:
Any file - Type: string
"disable" - Default: unset, jadi Claude Code mendaftarkan penanganan
settings.json
disableDesktopLocalSessions
Matikan sesi Code yang berjalan di perangkat di aplikasi desktop, untuk deployment di mana pengembang harus bekerja di mesin jarak jauh melalui SSH. Dengan kunci diatur ke true, pengguna melihat hal berikut di tab Code:
- Pemilih lingkungan: entri untuk komputer pengguna berwarna abu-abu dan tidak dapat dipilih, dengan tooltip Disabled by your organization. Di Windows entri WSL berwarna abu-abu dengan cara yang sama, meskipun apakah sesi WSL berjalan di perangkat terkelola sama sekali diatur secara terpisah.
- Sesi baru: default ke koneksi SSH pertama jika ada yang dikonfigurasi
- Sesi di perangkat: aplikasi menolak untuk memulai atau melanjutkan sesi di perangkat, termasuk koneksi SSH kembali ke mesin yang sama
- Sesi SSH ke host lain dan sesi cloud: tidak terpengaruh
- Scope:
Managed. Secara default, aplikasi desktop membaca kunci dari satu sumber terkelola. - Type: Boolean; hanya Boolean JSON
trueyang berlakutrue: aplikasi desktop tidak menawarkan sesi Code di perangkat; sesi lokal yang ada tetap terdaftar tetapi tidak dapat dilanjutkanfalse: sesi lokal tetap tersedia
- Default: unset, jadi sesi lokal tersedia
managed-settings.json
"true" atau 1, juga mencatat peringatan. Pasangkan dengan sshConfigs sehingga pengguna mendarat di koneksi yang berfungsi, dan dengan sshHostAllowlist untuk membatasi host mana yang dapat mereka jangkau. Lihat Local sessions on managed devices.
Claude Desktop memasok sesi Code dengan kebijakan yang berasal dari konfigurasi desktop Anda, misalnya daftar egress allowlist, sandbox sistem file, dan pembatasan MCP dalam deployment pihak ketiga. Claude Code mengabaikan pengaturan induk tersebut kapan pun sumber admin hadir: pengaturan yang dikelola server, kebijakan MDM atau tingkat OS, atau file pengaturan yang dikelola. Menerapkan kunci ini melalui salah satu dari mereka di perangkat yang tidak memiliki sebelumnya, seperti dalam deployment pihak ketiga, oleh karena itu menghentikan kebijakan yang berasal dari desktop dari penerapan. Let an embedding host add policy mencakup kapan pengaturan induk masih dapat digabung; ini berlaku untuk kunci apa pun yang Anda terapkan dengan cara itu, bukan hanya yang ini.
disableRemoteControl
Matikan Remote Control: Claude Code kemudian menolak claude remote-control, flag --remote-control, auto-start, dan toggle dalam sesi, dan melaporkan bahwa kebijakan organisasi Anda menonaktifkannya. Tempatkan di managed settings untuk penegakan MDM per perangkat.
- Scope:
Any file - Type: Boolean
true: Claude Code menolakclaude remote-control, flag--remote-control, auto-start, dan toggle dalam sesifalse: Remote Control tetap tersedia
- Default:
false
settings.json
enableArtifact
Matikan tool Artifact, yang menerbitkan output sesi sebagai halaman web pribadi di claude.ai. Ketika Anda mematikan baris Artifacts di /config, Claude Code menulis kunci ini ke pengaturan pengguna Anda, jadi Anda biasanya tidak mengeditnya dengan tangan.
- Scope:
Any file. Setiap file dapat mematikan alat, dan tidak ada yang dapat menghidupkannya kembali. - Type: Boolean
false: Claude Code mematikan alat Artifact untuk setiap sesi yang berlaku filetrue: sama dengan membiarkan kunci unset, karena tidak pernah menggantifalsedari file lain, dariCLAUDE_CODE_DISABLE_ARTIFACT, atau dari admin setting organisasi Anda
- Default: unset, jadi alat mengikuti availability akun Anda
settings.json
/config, karena menghidupkannya di sana tidak akan mengubah apa pun. Disable artifacts mencantumkan setiap cara untuk mematikan alat.
inputNeededNotifEnabled
Dapatkan notifikasi push di ponsel Anda ketika prompt izin atau pertanyaan menunggu input Anda. Claude Code mengirimkan ini hanya saat Remote Control terhubung. Muncul di /config sebagai Push when actions required.
- Scope:
Any file. Claude Code juga membaca nilai yang ditinggalkan di~/.claude.jsonoleh versi yang lebih lama. - Type: Boolean
true: Anda mendapatkan notifikasi push di ponsel Anda ketika prompt izin atau pertanyaan menunggu, saat Remote Control terhubungfalse: Claude Code tidak mengirimkan notifikasi seperti itu
- Default:
false
settings.json
preferredNotifChannel
Pilih bagaimana Claude Code memberi tahu Anda ketika tugas selesai atau prompt izin menunggu. Muncul di /config sebagai Local notifications.
- Scope:
Any file. Claude Code juga membaca nilai yang ditinggalkan di~/.claude.jsonoleh versi yang lebih lama. - Type: string, salah satu dari:
"auto": Claude Code mengirimkan notifikasi desktop di iTerm2, Ghostty, dan Kitty, membunyikan bel di Terminal.app hanya ketika bel audibel dimatikan, dan tidak melakukan apa pun di tempat lain"terminal_bell": Claude Code membunyikan karakter bel di terminal apa pun"iterm2": Claude Code mengirimkan notifikasi desktop iTerm2"iterm2_with_bell": Claude Code mengirimkan notifikasi desktop iTerm2 dan membunyikan bel"kitty": Claude Code mengirimkan notifikasi desktop Kitty"ghostty": Claude Code mengirimkan notifikasi desktop Ghostty"notifications_disabled": Claude Code tidak mengirimkan notifikasi
- Default:
"auto"
settings.json
"auto", Claude Code mengirimkan notifikasi desktop di iTerm2, Ghostty, dan Kitty. Di Terminal.app, Claude Code membunyikan karakter bel hanya ketika Anda telah mematikan bel audibel Terminal, dan di terminal lain tidak melakukan apa pun. Atur "terminal_bell" untuk membunyikan karakter bel di terminal apa pun. Lihat Get a terminal bell or notification.
remote.defaultEnvironmentId
Pilih lingkungan cloud default untuk sesi cloud yang Anda buat dari CLI, seperti dengan claude --cloud. Claude Code menulis kunci ini ke pengaturan pengguna Anda ketika Anda memilih lingkungan dengan /remote-env.
- Scope:
Any file. Untuk ID lingkungan yang di-host sendiri, pengaturan pengguna atau terkelola, atau flag--settingssaja. - Type: string, ID lingkungan seperti
env_...atauccpool_... - Default: unset, jadi Claude Code menggunakan lingkungan yang di-host Anthropic ketika daftar Anda memiliki satu, dan sebaliknya lingkungan pertama dalam daftar Anda yang bukan lingkungan jembatan Remote Control, atau lingkungan pertama ketika setiap satu adalah lingkungan jembatan
- Per-session overrides:
--environmentmengambil alih kunci ini untuk satu sesi cloud yang dibuatnya
settings.json
env_, mengikuti prioritas pengaturan standar, jadi nilai dalam pengaturan proyek repositori mengganti pilihan tingkat pengguna Anda. ID lingkungan yang di-host sendiri, yang dimulai dengan ccpool_, dihormati hanya dari pengaturan pengguna, pengaturan terkelola, dan flag --settings; Claude Code mengabaikan satu dalam pengaturan proyek atau lokal repositori, dan /remote-env menunjukkan nilai mana yang diabaikannya, jadi file yang diperiksa tidak dapat mengarahkan sesi ke lingkungan yang di-host sendiri yang tidak Anda pilih.
remoteControlAtStartup
Hubungkan Remote Control secara otomatis ketika setiap sesi interaktif dimulai, alih-alih menunggu /remote-control. Atur ke true untuk menghidupkan auto-connect, false untuk mematikannya. Muncul di /config sebagai Enable Remote Control for all sessions.
- Scope:
Any file. Claude Code juga membaca nilai yang ditinggalkan di~/.claude.jsonoleh versi yang lebih lama. - Type: Boolean
true: Claude Code menghubungkan Remote Control secara otomatis ketika setiap sesi interaktif dimulaifalse: Claude Code menunggu/remote-control
- Default: unset, jadi auto-connect default berlaku
- Per-session overrides:
--remote-controlmenghidupkan Remote Control untuk satu sesi bahkan ketika kunci inifalse, dan tidak ada flag yang mematikannya untuk satu sesi
settings.json
true dari pengaturan proyek atau lokal, jadi repositori dapat mematikan auto-connect untuk checkout-nya tetapi tidak dapat menghidupkannya. Untuk perilaku per-scope lengkap, lihat Enable Remote Control for all sessions dan kunci keamanan di mana nilai yang lebih ketat berlaku.
sshConfigs
Tambahkan koneksi SSH ke pemilih lingkungan Desktop. Administrator menggunakan sshConfigs untuk mendistribusikan koneksi bersama ke tim. Pengguna dapat memilih koneksi terkelola dan mengatur Worktree folder mereka sendiri untuk koneksi tersebut. Mereka tidak dapat mengedit kolom lainnya atau menghapusnya di aplikasi.
- Scope:
User or managed. Aplikasi desktop membaca kunci ini. Secara default, aplikasi membaca koneksi terkelola dari satu sumber terkelola. - Type: array objek, masing-masing dengan
id,name, dansshHostyang diperlukan dansshPortdansshIdentityFileopsional - Default: unset
Dev VM yang terhubung ke user@dev.example.com:
settings.json
sshHostAllowlist
Batasi host yang dapat terhubung oleh sesi SSH Desktop. Hanya aplikasi Desktop yang membaca kunci ini; CLI tidak. Pola tidak peka huruf besar-kecil: * cocok dengan host apa pun, *.example.com cocok dengan example.com dan setiap subdomain, dan apa pun yang lain adalah kecocokan tepat terhadap nama host setelah resolusi ~/.ssh/config. Array kosong mematikan sesi SSH.
- Scope:
Managed. Secara default, Desktop membaca kunci dari satu sumber terkelola. - Type: array pola nama host
- Default: unset, jadi host apa pun diizinkan
devboxes.example.com dan subdomain-nya, ditambah host tepat bastion.example.com:
managed-settings.json
true atau objek, dianggap sebagai array kosong hingga Anda memperbaikinya, kecuali null, yang dianggap unset. Memerlukan Claude Desktop v2.26454.0 atau lebih baru.
Jika Anda mengatur managedSourcesBehavior ke "merge" di sumber dengan peringkat tertinggi Anda, Desktop menggabungkan daftar dari setiap sumber admin dan mengizinkan host yang cocok dengan salah satu dari daftar tersebut. Jika Anda mengatur array kosong di satu sumber, sesi SSH tetap aktif untuk host yang dicantumkan oleh sumber lain.
Autentikasi dan penyedia
Berikan kredensial melalui skrip pembantu dan, untuk organisasi, paksa metode login atau organisasi. Lihat Autentikasi.allowedProviders
Daftarkan layanan yang mesin dapat jangkau Claude melaluinya, seperti API Anthropic, Amazon Bedrock, atau gateway LLM. Sesi pada penyedia yang tidak terdaftar ditolak saat startup, saat login, dan ketika berikutnya menghubungi API, jadi beralih ke penyedia yang tidak terdaftar di tengah sesi juga ditolak. Pesan penolakan menyebutkan apa yang memilih penyedia dan langkah-langkah untuk melanjutkan. Memerlukan Claude Code v2.1.285 atau lebih baru.
- Scope:
Managed. Daftar yang sumber admin mesin sendiri atur, kebijakan MDM dan file pengaturan terkelola, terus berlaku ketika pengaturan terkelola server juga memberikan satu: sesi kemudian dapat menggunakan hanya penyedia di kedua daftar, jadi daftar terkelola server dapat mempersempit apa yang mesin izinkan tetapi tidak pernah memperluas. Sumber mesin mana yangallowedProvidersdihitung mengikuti bagaimana Claude Code menggabungkan sumber terkelola. Daftar yang disampaikan melalui pengaturan terkelola server saja mencapai hanya sesi yang mengambil pengaturan terkelola server. - Type: array string, masing-masing satu dari:
"anthropic": API Anthropic di host Anthropic sendiri, melalui sign-in claude.ai atau Console atau kunci API. Pasangkan denganforceLoginMethodatauforceLoginOrgUUIDuntuk juga membatasi sign-in"bedrock": Amazon Bedrock"vertex": Agent Platform Google Cloud, sebelumnya Vertex AI"foundry": Microsoft Foundry"anthropicAws": Claude Platform di AWS"mantle": endpoint Mantle Amazon Bedrock. Sesi yang menjalankan Mantle bersama Invoke API menggunakan kedua penyedia, jadi daftarkan"bedrock"dan"mantle"bersama untuk itu"customEndpoint": API Anthropic atau API penyedia cloud yang dikirim ke host lain, seperti gateway LLM yang dinamai olehANTHROPIC_BASE_URLatau oleh variabel endpoint penyedia sepertiANTHROPIC_BEDROCK_BASE_URL. Claude Code mengakuinya hanya untuk nilai persis yang di-pin oleh blokenvterkelola"gateway": sign-in Cloud gateway
- Default: tidak diatur, jadi penyedia apa pun dapat digunakan
managed-settings.json
Endpoint yang memerlukan pin dalam env terkelola
Pin adalah nilai variabel endpoint yang diatur dalam blok env terkelola. Ketika sesi mengirimkan lalu lintas penyedia ke tempat lain selain layanan penyedia itu sendiri, Claude Code mengakuinya hanya jika nilai sesi sama dengan pin. Endpoint ini memerlukan satu:
- Sesi
"customEndpoint": variabel yang menyebutkan host, sepertiANTHROPIC_BASE_URL - Amazon Bedrock: variabel
AWS_ENDPOINT_URL,AWS_ENDPOINT_URL_BEDROCK, danAWS_ENDPOINT_URL_BEDROCK_RUNTIMESDK AWS ketika mereka menunjuk di luar layanan Bedrock sendiri. Sesi tetap di bawah"bedrock"daripada"customEndpoint" - URL sign-in gateway: sesi tetap di bawah
"gateway", danforceLoginGatewayUrljuga dihitung sebagai pin
env mana yang dihitung sebagai pin tergantung pada tempat daftar diatur:
- Sumber administrator di mesin mengatur daftar: hanya blok
envdari sumber administrator mesin sendiri yang dihitung - Hanya pengaturan terkelola server yang mengatur daftar: nilai
envdalam pengaturan terkelola server itu juga dihitung
HTTPS_PROXY dan pengaturan sertifikat. Atur ini untuk armada dalam blok env terkelola.
apiKeyHelper
Jalankan perintah Anda sendiri untuk menghasilkan kredensial yang Claude Code kirimkan dengan permintaan model. Claude Code menjalankan perintah melalui shell sistem, /bin/sh di macOS dan Linux serta cmd di Windows, dan mengirimkan outputnya sebagai header X-Api-Key dan Authorization: Bearer. Gunakan untuk kredensial dinamis atau berputar, seperti token berumur pendek yang diambil dari vault.
- Scope:
Any file - Type: string, baris perintah shell
- Default: tidak diatur, jadi Claude Code tidak menjalankan pembantu
settings.json
- Setelah masa hidup cache, lima menit secara default atau interval yang Anda atur dengan
CLAUDE_CODE_API_KEY_HELPER_TTL_MS. - Ketika permintaan ke API Anthropic, secara langsung atau melalui gateway LLM, gagal dengan
401atau403. - Sebelum mengirimkan permintaan ke API Anthropic, secara langsung atau melalui gateway LLM, ketika output yang disimpan dalam cache adalah JWT yang kedaluwarsa setelah pembantu menghasilkannya. Memerlukan Claude Code v2.1.246 atau lebih baru.
ANTHROPIC_AUTH_TOKEN tidak diatur.
Dalam sesi interaktif, ketika perintah berasal dari pengaturan proyek atau lokal, Claude Code tidak menjalankannya sampai Anda menerima prompt kepercayaan workspace. Lihat Manajemen kredensial.
awsAuthRefresh
Jalankan perintah Anda sendiri, seperti aws sso login, untuk menyegarkan kredensial di direktori .aws Anda ketika kredensial yang Claude Code miliki untuk Amazon Bedrock berhenti bekerja. Claude Code memeriksa kredensial saat ini terhadap STS terlebih dahulu dan hanya menjalankan perintah ketika pemeriksaan itu gagal, kemudian membaca direktori .aws yang telah disegarkan.
Ketika pemeriksaan gagal pada saat yang sama di beberapa proses Claude Code yang menggunakan perintah dan kredensial yang sama, seperti terminal atau jendela IDE yang terpisah, satu proses menjalankan perintah dan sisanya menunggu eksekusi tersebut alih-alih memulai eksekusi mereka sendiri. Proses yang telah menunggu 60 detik dengan permintaan yang tertunda menjalankan perintah itu sendiri. Untuk mematikan ini, atur CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK ke 1.
- Scope:
Any file - Type: string, baris perintah shell
- Default: tidak diatur, jadi Claude Code tidak menyegarkan kredensial AWS untuk Anda
settings.json
.aws; gunakan awsCredentialExport ketika alur itu mencetak kredensial sebagai gantinya. Lihat konfigurasi kredensial lanjutan.
awsCredentialExport
Jalankan perintah Anda sendiri yang mencetak kredensial AWS sebagai JSON, sehingga Claude Code dapat memanggil Amazon Bedrock dengan kredensial yang tidak berada di direktori .aws Anda. Claude Code menerima bentuk output aws sts dan bentuk datar aws configure export-credentials, dan membatasi kredensial ke klien Bedrock-nya sendiri, sehingga perintah shell yang Claude jalankan masih melihat kredensial ambient Anda.
- Scope:
Any file - Type: string, baris perintah shell
- Default: tidak diatur, jadi Claude Code menggunakan rantai kredensial AWS ambient
settings.json
awsAuthRefresh, Claude Code selalu menjalankan perintah ini ketika diatur, tanpa memeriksa kredensial ambient terlebih dahulu. Lihat konfigurasi kredensial lanjutan.
forceLoginMethod
Batasi jenis akun apa yang dapat digunakan orang untuk masuk. Atur "claudeai" untuk memungkinkan hanya akun claude.ai, "console" untuk memungkinkan hanya akun Claude Console, atau "gateway" untuk mengirim orang ke cloud gateway alih-alih login pihak pertama. Administrator mengaturnya dalam pengaturan terkelola dan memasangkannya dengan forceLoginOrgUUID untuk menjaga login claude.ai pengembang di dalam satu organisasi. Jika Anda mengaturnya ke "claudeai" atau "console" di file pengaturan apa pun, Claude Code juga berhenti menawarkan sign-in Console tanpa kunci dalam sesi yang file itu berlaku.
- Scope:
Any file. Claude Code menghormati"gateway"dari sumber yang sama denganforceLoginGatewayUrldan memperlakukannya sebagai tidak diatur di tempat lain. - Type: string, salah satu dari:
"claudeai": hanya akun claude.ai yang dapat masuk"console": hanya akun Claude Console yang dapat masuk"gateway": Claude Code mengirim orang ke cloud gateway alih-alih login pihak pertama
- Default: tidak diatur, jadi orang memilih metode login
settings.json
claude setup-token, dan /install-github-app, kecuali layar login interaktif terminal, yang dicapai oleh /login atau onboarding first-run, yang pra-memilih metode tanpa memberlakukannya. Sebelum v2.1.212, hanya login terminal yang menerapkannya. Lihat Batasi login ke organisasi Anda untuk cara setiap jalur login, kredensial lingkungan, dan penyedia pihak ketiga ditangani.
Ketika sumber terkelola di mesin mengatur "gateway", Claude Code tidak menggunakan login sisa, kunci API, atau kredensial apiKeyHelper. Lihat Administrator policy requires a Cloud gateway sign-in untuk pesan yang masing-masing menghasilkan. Jika Anda memilih penyedia cloud melalui CLAUDE_CODE_USE_BEDROCK atau environment variable serupa, sesi tidak memerlukan sign-in gateway. Sebelum v2.1.261, Claude Code menggunakan login sisa di mesin ini.
forceLoginGatewayUrl
Atur URL gateway yang layar Cloud gateway /login terhubung, sehingga orang mencapai cloud gateway Anda tanpa mengetik alamatnya. Layar tidak memiliki bidang URL: dengan kunci ini diatur, layar menampilkan URL gateway Anda dan terhubung ketika orang menekan Enter; tanpanya, layar memberi tahu mereka untuk menghubungi administrator IT mereka.
Dalam pengaturan terkelola, baik kunci ini atau forceLoginMethod: "gateway" membuat mesin gateway-only, kecuali untuk sesi yang memilih penyedia cloud dengan CLAUDE_CODE_USE_*. /login kemudian membuka di layar Cloud gateway tanpa pemilih metode login. Lihat Administrator policy requires a Cloud gateway sign-in untuk apa yang terjadi pada login pihak pertama atau kunci API yang tersisa. Atur kedua kunci sehingga layar terhubung alih-alih menampilkan kesalahan.
- Scope:
User or managed. Dibaca dari sumber terkelola di mesin:managed-settings.json, plist macOS atau registri Windows HKLM, atau pembantu kebijakan. Pada mesin yang tidak memiliki satu pun dari sumber tersebut, Claude Code v2.1.295 atau lebih baru juga membacanya dari pengaturan pengguna. Claude Code mengabaikannya dalam pengaturan HKCU dan server-terkelola. - Type: string, URL lengkap termasuk skema
- Default: tidak diatur, jadi layar Cloud gateway menampilkan kesalahan yang memberi tahu orang untuk menghubungi administrator IT mereka
managed-settings.json
forceLoginOrgUUID
Dari sumber terkelola, perlukan login akun claude.ai untuk milik satu organisasi Anthropic, diberikan sebagai UUID tunggal, atau milik salah satu dari beberapa organisasi, diberikan sebagai array. Dari file pengaturan apa pun, Claude Code juga menggunakan UUID tunggal untuk pra-memilih organisasi itu selama login claude.ai atau Claude Console, dan pra-memilih tidak ada untuk array. Jika Anda mengatur kunci di file pengaturan apa pun, Claude Code juga berhenti menawarkan sign-in Console tanpa kunci dalam sesi yang file itu berlaku dan membuat kunci API sebagai gantinya.
- Scope:
Any file. Hanya sumber terkelola yang memberlakukan pembatasan; UUID tunggal di file pengaturan lain apa pun pra-memilih organisasi selama login tanpa membatasinya. - Type: string, satu UUID, atau array string, beberapa UUID
- Default: tidak diatur, jadi organisasi apa pun dapat masuk
managed-settings.json
forceLoginOrgUUID dan meminta mereka untuk menghubungi administrator mereka. policyHelper yang menghasilkan nilai dengan tipe yang salah menggagalkan eksekusinya sebagai gantinya.
Lihat Batasi login ke organisasi Anda untuk cara Claude Code memperlakukan login Claude Console, jalur login lainnya, dan kredensial lingkungan.
gatewayInternalNetworks
Deklarasikan blok IPv4 publik yang organisasi Anda gunakan untuk menomori jaringan internalnya, sehingga /login menerima cloud gateway di sana. Memerlukan Claude Code v2.1.268 atau lebih baru.
Tanpa kunci ini, /login terhubung ke gateway apa pun pada alamat pribadi dan tidak ada yang lain. Dengan kunci ini, /login juga menerima gateway di dalam blok yang terdaftar, hanya melalui koneksi langsung. Alamat mesin itu sendiri pada koneksi itu juga harus berada di dalam blok yang sama.
- Scope:
Managed. Baca hanya dari sumber di mesin:managed-settings.json, plist macOS atau registri Windows HKLM, atau pembantu kebijakan. Claude Code mengabaikannya dalam pengaturan HKCU dan server-terkelola. - Type: array string, paling banyak empat blok CIDR IPv4, masing-masing
/8hingga/32, tidak tumpang tindih satu sama lain, dan tidak ada yang tumpang tindih dengan ruang pribadi. - Default: tidak diatur, jadi
/loginhanya menerima gateway pada alamat pribadi
managed-settings.json
/login menyebutkan masalahnya dan menolak setiap sign-in gateway baru di mesin sampai Anda memperbaiki nilainya. Sign-in yang ada terus bekerja. Lihat Izinkan gateway pada ruang alamat publik yang Anda miliki untuk aturan lengkap dan apa yang dilihat pengembang.
gcpAuthRefresh
Jalankan perintah Anda sendiri untuk menyegarkan Google Cloud Application Default Credentials ketika Claude Code menemukan bahwa kredensial telah kedaluwarsa atau tidak dapat dimuat, sehingga permintaan Google Cloud’s Agent Platform terus bekerja tanpa Anda perlu melakukan autentikasi ulang secara manual.
Ketika beberapa proses Claude Code yang menggunakan perintah dan kredensial yang sama, seperti terminal atau jendela IDE yang terpisah, menemukan bahwa kredensial tersebut kedaluwarsa pada saat yang sama, satu proses menjalankan perintah dan sisanya menunggu eksekusi tersebut alih-alih memulai eksekusi mereka sendiri. Proses yang telah menunggu 60 detik dengan permintaan yang tertunda menjalankan perintah itu sendiri. Untuk mematikan ini, atur CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK ke 1.
- Scope:
Any file - Type: string, baris perintah shell
- Default: tidak diatur, jadi kesalahan kredensial Claude Code memberi tahu Anda untuk menjalankan
gcloud auth application-default loginsendiri
settings.json
otelHeadersHelper
Jalankan perintah Anda sendiri untuk menghasilkan header yang Claude Code kirimkan dengan ekspor OpenTelemetry, untuk backend yang tokennya berputar. Claude Code menjalankannya saat startup dan secara berkala setelah itu, dan mengharapkan objek JSON dari nilai header string di stdout.
- Scope:
Any file - Type: string, jalur yang dapat dieksekusi atau baris perintah shell
- Default: tidak diatur, jadi Claude Code tidak menambahkan header yang dihasilkan pembantu
settings.json
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS. Lihat Dynamic headers untuk persyaratan skrip dan apa yang terjadi ketika pembantu gagal.
Pembaruan dan versioning
Pilih saluran pembaruan dan, untuk organisasi, tetapkan versi yang dapat dijalankan orang. Lihat Update Claude Code.autoUpdatesChannel
Pilih saluran rilis mana yang diikuti pembaruan otomatis latar belakang dan claude update. Atur "stable" untuk versi yang biasanya berusia sekitar satu minggu dan melewati rilis dengan regresi besar, atau "latest" untuk rilis paling terbaru.
- Scope:
Any file. Atur di managed settings untuk memberlakukan satu saluran di seluruh organisasi Anda. - Type: string, salah satu dari:
"latest": pembaruan mengikuti rilis paling terbaru"stable": pembaruan mengikuti versi yang biasanya berusia sekitar satu minggu dan melewati rilis dengan regresi besar
- Default: tidak diatur, jadi Claude Code mengikuti
"latest"
settings.json
"stable" ke pengaturan pengguna Anda ketika Anda memilihnya di bawah Auto-update channel di /config, dan menghapus kunci ketika Anda beralih kembali ke latest di sana. claude install stable dan claude install latest juga menyimpan saluran yang Anda beri nama. Beralih dari "latest" ke "stable" di /config menanyakan apakah akan mengizinkan downgrade atau tetap di versi saat ini Anda; tetap atur minimumVersion. Instalasi Homebrew mengabaikan kunci ini: cask claude-code melacak stable dan claude-code@latest melacak latest, dan claude update menunda ke brew upgrade. Untuk mematikan pembaruan otomatis sepenuhnya, atur DISABLE_AUTOUPDATER di env.
minimumVersion
Cegah pembaruan otomatis latar belakang dan claude update dari menginstal versi apa pun di bawah yang ini, jadi berpindah ke saluran "stable" tidak menurunkan Anda dari build "latest" yang lebih baru. Claude Code menulis kunci ini untuk Anda ketika Anda memilih untuk tetap di versi saat ini Anda sambil beralih saluran di /config, dan menghapusnya ketika Anda beralih kembali ke "latest".
- Scope:
Any file. Atur di managed settings untuk menetapkan minimum di seluruh organisasi yang tidak dapat diturunkan oleh pengaturan pengguna dan proyek. - Type: string, nomor versi seperti
"2.1.100"; nilai yang bukan versi valid diabaikan - Default: tidak diatur, jadi pembaruan dapat menginstal versi apa pun yang ditawarkan saluran
settings.json
requiredMinimumVersion sebagai gantinya. Lihat Pin a minimum version.
requiredMaximumVersion
Atur versi Claude Code terbaru yang diizinkan organisasi Anda untuk memulai. Ketika versi yang berjalan lebih baru, Claude Code keluar saat startup dan memberi tahu pengguna untuk menginstal versi yang disetujui melalui metode yang disetujui organisasi Anda; claude install <version> mungkin juga berfungsi. Memerlukan Claude Code v2.1.163 atau lebih baru.
- Scope:
Managed. Claude Code tidak memberikan peringatan ketika mengabaikan kunci di tempat lain. - Type: string, nomor versi seperti
"2.1.150"; nilai yang bukan versi valid diabaikan - Default: tidak diatur, jadi tidak ada batas atas yang berlaku
managed-settings.json
claude update melewati versi di atas batas, jadi instalasi dalam rentang tetap berada di dalamnya. claude update, claude install, dan claude doctor terus bekerja di atas batas sehingga pengguna dapat pulih. Pasangkan dengan requiredMinimumVersion untuk memberlakukan rentang.
requiredMinimumVersion
Atur versi Claude Code tertua yang diizinkan organisasi Anda untuk memulai. Ketika versi yang berjalan lebih lama, Claude Code keluar saat startup dan memberi tahu pengguna untuk memperbarui melalui metode yang disetujui organisasi Anda. Pemeriksaan berjalan hanya saat startup, jadi sesi yang sudah berjalan terus berlanjut. Memerlukan Claude Code v2.1.163 atau lebih baru.
- Scope:
Managed. Claude Code tidak memberikan peringatan ketika mengabaikan kunci di tempat lain. - Type: string, nomor versi seperti
"2.1.150"; nilai yang bukan versi valid diabaikan - Default: tidak diatur, jadi tidak ada batas bawah yang berlaku
managed-settings.json
claude update, claude install, dan claude doctor terus bekerja di bawah batas sehingga pengguna dapat pulih. Tidak seperti minimumVersion, yang hanya mencegah downgrade, kunci ini memblokir startup. Pasangkan dengan requiredMaximumVersion untuk memberlakukan rentang.
Tools
Matikan alat tertentu di aplikasi desktop Claude Code. CLI terminal mengabaikan kunci-kunci ini. Untuk alat-alat itu sendiri, lihat Tools available to Claude.browserExternalPageTools
Hentikan Claude dari menggunakan alatnya untuk membaca atau bertindak pada halaman eksternal di Browser pane aplikasi desktop. Orang-orang di organisasi Anda masih dapat membuka situs eksternal sendiri, dan pratinjau server dev lokal terus bekerja dengan alat Claude. Aplikasi desktop membaca kunci ini; CLI terminal mengabaikannya.
- Scope:
Managed - Type: string,
"disabled"; aplikasi desktop juga menerima"disable", dalam kedua kasus - Default: tidak diatur, jadi alat Claude bekerja pada halaman eksternal
managed-settings.json
disableBrowserExternalNavigation sebagai gantinya. Lihat Restrict external browsing for your organization.
disableBrowserExternalNavigation
Matikan penjelajahan eksternal di Browser pane aplikasi desktop untuk orang-orang dan Claude. Pratinjau server dev localhost terus bekerja. Aplikasi desktop membaca kunci ini; CLI terminal mengabaikannya.
- Scope:
Managed - Type: Boolean; hanya Boolean JSON
trueyang berlakutrue: aplikasi desktop mematikan penjelajahan eksternal di Browser pane untuk orang-orang dan Claude; pratinjau localhost terus bekerjafalse: penjelajahan eksternal tetap aktif
- Default: tidak diatur, jadi penjelajahan eksternal aktif
managed-settings.json
"true" atau 1, juga mencatat peringatan. Untuk membiarkan penjelajahan eksternal tetap aktif tetapi menjaga alat Claude tetap mati pada halaman eksternal, atur browserExternalPageTools sebagai gantinya. Lihat Restrict external browsing for your organization.
disableMobileSimulatorTools
Blokir alat Claude untuk iOS Simulator pane aplikasi desktop. Orang-orang tetap mempertahankan penggunaan manual dari pane; hanya akses Claude yang dihapus, dan tidak ada yang dapat menghidupkannya kembali dari dalam aplikasi. Aplikasi desktop membaca kunci ini; CLI terminal mengabaikannya.
- Scope:
Managed - Type: Boolean; hanya Boolean JSON
trueyang berlakutrue: aplikasi desktop memblokir alat Claude untuk iOS Simulator panefalse: alat simulator Claude mengikuti pengaturan toggle setiap orang di aplikasi desktop
- Default: tidak diatur, jadi alat simulator Claude mengikuti pengaturan toggle setiap orang di aplikasi desktop
managed-settings.json
"true" atau 1, juga mencatat peringatan.
Privasi dan telemetri
Kontrol berapa lama Claude Code menyimpan data sesi dan apa yang dikirimnya. Saklar yang mematikan metrik penggunaan dan laporan kesalahan adalah variabel lingkungan, bukan kunci pengaturan: aturDISABLE_TELEMETRY, DISABLE_ERROR_REPORTING, atau CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC dalam kunci env atau di shell. Layanan telemetri menjelaskan apa yang masing-masing hentikan. Dua pengecualian mematikan dari file pengaturan: feedbackDrafts di bawah untuk umpan balik yang dirancang Claude, dan feedbackSurveyRate di bawah untuk survei sesi.
cleanupPeriodDays
Atur berapa hari Claude Code menyimpan transkrip sesi dan data aplikasi lainnya sebelum menghapusnya. Claude Code menjalankan penghapusan sebagai sapuan latar belakang setelah sesi dimulai, selama dapat dengan aman menentukan periode retensi. Sapuan menghapus transkrip tanpa menampilkan pesan, jadi sesi yang belum Anda gunakan lebih lama dari periode retensi tidak lagi muncul di pemilih /resume.
- Scope:
Any file - Type: jumlah hari, bilangan bulat, minimum
1 - Default:
30
settings.json
0 gagal validasi, jadi pilih nilai besar seperti 3650 untuk retensi jangka panjang. Untuk menghentikan Claude Code dari penulisan transkrip sama sekali, lihat Plaintext storage.
desktopSessionCleanupPeriodDays
Atur batas usia dalam hari untuk transkrip sesi yang Anda mulai atau lanjutkan terakhir di Claude Desktop atau Cowork. Tanpa kunci ini, Claude Code menyimpan transkrip tersebut pada usia berapa pun. Claude Code menghapus masing-masing setelah lebih tua dari batas ini dan cleanupPeriodDays, jadi dengan cleanupPeriodDays pada default 30, nilai 7 masih menyimpannya 30 hari. Dibersihkan secara otomatis mencantumkan kasus-kasus di mana cleanupPeriodDays berlaku sebagai gantinya dan Claude Code mengabaikan kunci ini. Memerlukan Claude Code v2.1.248 atau lebih baru.
- Scope:
User or managed. Claude Code juga membaca kunci dari file yang Anda berikan dengan--settings, dan mengabaikannya dalam pengaturan proyek dan lokal. - Type: jumlah hari, bilangan bulat, minimum
0 - Default:
0, yang tidak menetapkan batas usia
settings.json
feedbackDrafts
Kontrol umpan balik yang dirancang Claude: apakah Claude dapat mengantrekan draf umpan balik untuk Anda tinjau, dan apakah Claude Code menampilkan kartu ketika Claude mengantrekan satu.
- Scope:
User or managed - Type: string, salah satu dari
"notify","quiet", atau"off""notify": Claude Code menampilkan kartu di atas prompt ketika Claude mengantrekan draf, hingga tiga kartu dalam sesi secara default"quiet": Claude membuat draf tanpa kartu. Anda melihat jumlah draf yang antri di footer prompt dan meninjau mereka di/feedback"off": Claude Code menghapus alat SendFeedback, jadi Claude tidak dapat mengantrekan draf
- Default:
"notify" - Per-session overrides:
CLAUDE_CODE_SEND_FEEDBACKdiatur ke0mematikan fitur untuk satu sesi
settings.json
/config sebagai Claude-drafted feedback, yang menulis kunci ini ke pengaturan pengguna Anda. Anda melihat baris /config hanya dalam sesi di mana Claude dapat membuat draf umpan balik; mengatur "off" tidak menyembunyikannya, jadi Anda dapat menghidupkan fitur kembali dari baris yang sama. Nilai dalam pengaturan terkelola mengambil alih pengaturan pengguna Anda, jadi ketika administrator menetapkan kunci ini, baris menampilkan nilai terkelola dan mengubahnya tidak berpengaruh. Claude Code mengabaikan kunci ini dalam pengaturan proyek dan lokal.
feedbackSurveyRate
Atur probabilitas bahwa survei kualitas sesi muncul ketika sesi memenuhi syarat untuk itu. Atur 0 untuk mencegah survei muncul.
- Scope:
Any file - Type: angka antara
0dan1 - Default: tidak diatur, jadi Claude Code menggunakan tingkat yang Anthropic atur dari jarak jauh, atau tingkat bawaan
0.005di Amazon Bedrock, Platform Agen Google Cloud, dan Microsoft Foundry, yang tidak menerima konfigurasi jarak jauh - Per-session overrides:
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEYdiatur ke1mematikan survei untuk satu sesi apa pun tingkat kunci ini atur
settings.json
skipWebFetchPreflight
Lewati pemeriksaan keamanan domain WebFetch, yang mengirim setiap nama host yang diminta ke api.anthropic.com sebelum mengambil. Atur true di lingkungan yang memblokir lalu lintas ke Anthropic, seperti Amazon Bedrock, Platform Agen Google Cloud, atau penyebaran Microsoft Foundry dengan egress yang ketat.
- Scope:
Any file - Type: Boolean
true: Claude Code melewati pemeriksaan keamanan domain WebFetchfalse: pemeriksaan berjalan sebelum pengambilan pertama ke setiap nama host dalam sesi, dan lagi untuk nama host yang pemeriksaannya sebelumnya diblokir atau gagal
- Default: tidak diatur, jadi pemeriksaan berjalan sebelum pengambilan pertama ke setiap nama host dalam sesi
settings.json
WebFetch jika Anda perlu membatasi domain mana yang dapat dijangkau Claude.
Pengaturan enterprise dan terkelola
Kunci yang digunakan organisasi untuk menghitung, menyegarkan, dan menggabungkan pengaturan terkelola. Lihat Siapkan pengaturan terkelola.disableSideloadFlags
Tolak flag CLI --plugin-dir, --plugin-url, --agents, dan --mcp-config saat startup, yang dapat digunakan pengguna untuk melewati strictKnownMarketplaces untuk satu kali jalankan. Claude Code keluar dengan kesalahan yang menyebutkan flag yang ditolak. Dalam sesi cloud, Claude Code malah memulai sesi dan menghapus setiap entri --mcp-config yang dikirimkan server kecuali entri type: "sdk" dalam proses dan alat Slack sesi Claude Tag. Memerlukan Claude Code v2.1.193 atau lebih baru.
- Scope:
Managed - Type: Boolean
true: Claude Code menolak--plugin-dir,--plugin-url,--agents, dan--mcp-configsaat startup dan keluar dengan kesalahan yang menyebutkannya. Dalam sesi cloud, ia malah memulai sesi dan menghapus setiap entri--mcp-configyang dikirimkan server kecuali entritype: "sdk"dalam proses dan alat Slack sesi Claude Tagfalse: Claude Code menerima flag tersebut
- Default:
false
managed-settings.json
--mcp-config yang servernya adalah semua entri type: "sdk" dalam proses, sehingga Agent SDK dan ekstensi VS Code tetap berfungsi. Pengguna masih dapat menambahkan server dengan claude mcp add atau file .mcp.json; untuk kontrol per-server, atur allowedMcpServers juga. Memerlukan Claude Code v2.1.193 atau lebih baru.
Pemeriksaan yang sama mencakup folder plugin yang dinamai dalam variabel lingkungan CLAUDE_CODE_PLUGIN_DIRS, yang memerlukan Claude Code v2.1.280 atau lebih baru. Ketika variabel menyebutkan folder, Claude Code keluar dengan kesalahan yang sama, dan kesalahan mengatakan untuk membatalkan pengaturan variabel.
Dalam sesi cloud, Claude Code juga mengabaikan pembaruan MCP yang dikirimkan server di tengah sesi, jalur di balik konfigurasi sesi cloud dan panggilan SDK setMcpServers() yang mencapai sesi tersebut. Entri type: "sdk" dalam proses dan alat Slack sesi Claude Tag tetap dikecualikan di sana juga. Sebelum v2.1.268, baik penghapusan ini maupun penghapusan startup juga menghapus alat Slack sesi Claude Tag. Sebelum v2.1.239, --mcp-config yang dikirimkan server memblokir sesi cloud dari dimulai.
Aplikasi desktop mengelola beberapa plugin itu sendiri, termasuk plugin yang disinkronkan dari claude.ai dan plugin yang diterapkan organisasi Anda melalui aplikasi. Jika Anda menerapkan kunci ini ke perangkat melalui MDM, kebijakan tingkat OS, atau file pengaturan terkelola, aplikasi desktop tidak melewatkan plugin tersebut ke sesi berikut di perangkat itu:
- Sesi Code di mesin pengguna: mereka juga dimulai tanpa skill yang diaktifkan untuk akun claude.ai pengguna. Plugin yang Claude Code instal dari marketplace dalam pengaturan terkelola Anda masih dimuat. Dalam Claude Desktop on 3P, server MCP dari plugin yang Anda terapkan ke direktori
org-pluginsperangkat tetap tersedia juga, karena aplikasi desktop terhubung ke mereka sendiri. Sebelum Claude Desktop v1.37937.0, sesi ini gagal saat startup. - Sesi Cowork di mesin pengguna: skill di dalam plugin tersebut dan skill yang diaktifkan untuk akun claude.ai pengguna tetap tersedia. Dalam Claude Desktop on 3P, server MCP dari plugin yang Anda terapkan ke direktori
org-pluginsperangkat tetap tersedia juga, karena aplikasi desktop terhubung ke mereka sendiri. Sebelum Claude Desktop v1.44121.0, sesi ini gagal saat startup.
forceRemoteSettingsRefresh
Blokir startup CLI hingga Claude Code telah segar mengambil pengaturan yang dikelola server. Jika pengambilan gagal, Claude Code keluar alih-alih melanjutkan dengan pengaturan yang di-cache atau tidak ada. Atur ketika lingkungan Anda tidak dapat menerima bahkan jendela singkat di mana sesi berjalan tanpa kebijakan terkelolanya.
Ketika kunci tidak diatur, Claude Code tidak memblokir startup pada pengambilan, meskipun ketika pengembang masuk saat startup ia menunggu hingga lima detik untuk pengambilan. Sesi gateway Cloud selalu menunggu, dan keluar jika gateway tidak dapat dijangkau.
- Scope:
Managed. Claude Code menghormatitruedari sumber terkelola yang dikontrol admin apa pun, bahkan yang bukan sumber prioritas tertinggi. - Type: Boolean
true: Claude Code memblokir startup hingga telah segar mengambil pengaturan yang dikelola server, dan keluar jika pengambilan gagalfalse: Claude Code tidak memblokir startup pada pengambilan, meskipun pada startup masuk ia menunggu hingga lima detik untuk pengambilan
- Default:
false
managed-settings.json
claude auth dikecualikan, sehingga pengguna dapat mengotentikasi ulang ketika kredensial yang kedaluwarsa adalah alasan pengambilan gagal. Lihat Berlakukan startup fail-closed.
managedSourcesBehavior
Pilih apakah Claude Code menerapkan hanya sumber terkelola prioritas tertinggi yang disampaikan organisasi Anda, atau menggabungkan setiap sumber admin yang disampaikannya. Secara default Claude Code mengambil sumber prioritas tertinggi yang membawa kunci kebijakan dan mengabaikan sisanya. Kunci kebijakan adalah kunci pengaturan apa pun selain yang ini dan wslInheritsWindowsSettings. Jadi setelah pengaturan yang dikelola server atau kebijakan MDM memberikan kunci kebijakan, file managed-settings.json berkontribusi hanya kunci yang Claude Code baca dari setiap sumber admin. Dengan "merge", setiap sumber admin yang Anda sampaikan berkontribusi kuncinya ke satu kebijakan gabungan. Memerlukan Claude Code v2.1.242 atau lebih baru.
Atur "merge" hanya di mana setiap sumber peringkat di bawah yang tertinggi berada di bawah kontrol administrator, karena Claude Code kemudian menambahkan entri dari sumber yang lebih rendah, seperti aturan permissions.allow, ke kebijakan.
- Scope:
Managed. Claude Code membaca kunci ini dari sumber prioritas tertinggi yang membawa kunci ini atau kunci kebijakan, dan mengabaikan kunci ini di setiap sumber yang peringkatnya lebih rendah, jadi sumber yang lebih rendah tidak dapat memilih dirinya sendiri untuk menggabungkan dengan sumber di atasnya. Baik registri HKCU Windows maupun pengaturan induk dari host penyematan tidak berpartisipasi dalam penggabungan. - Type: string, salah satu dari:
"first-wins": sumber prioritas tertinggi yang membawa kunci kebijakan menyediakan kebijakan, dan sumber yang lebih rendah berkontribusi hanya kunci yang Claude Code baca dari setiap sumber admin"merge": setiap sumber admin yang Anda sampaikan berkontribusi kuncinya, digabungkan oleh aturan di bawah
- Default:
"first-wins"
managed-settings.json adalah sumber admin dengan peringkat terendah, jadi "merge" yang ditetapkan di sana tidak memiliki sumber di bawahnya untuk digabungkan. Dalam pengaturan yang dikelola server, kunci terlihat seperti ini:
"merge", Claude Code menggabungkan setiap kunci berdasarkan jenisnya. Tabel ini memberikan aturan untuk setiap jenis. Baris daftar pembatasan, nilai-diambil-utuh, dan hanya-sumber-tertinggi menyebutkan setiap kunci yang mereka tutupi, dan baris lainnya memberikan contoh:
Mengambil
sandbox.credentials.awsPairs dan sandbox.ripgrep utuh memerlukan Claude Code v2.1.257 atau lebih baru.
Beberapa kunci menambahkan kondisi yang tidak ditunjukkan tabel:
policyHelper: Claude Code menghormatinya hanya ketika sumber tertinggi yang membawa kunci kebijakan adalah kebijakan MDM atau file pengaturan terkelola, jadi di bawah pengaturan yang dikelola server tidak berlaku.modelOverrides: berpasangan denganavailableModels. Claude Code mengambilmodelOverridesdari sumber tertinggi yang menetapkannya, kecuali sumber yang lebih tinggi menetapkanavailableModelstanpamodelOverrides. Dalam hal itu, ia mengabaikanmodelOverridesdari setiap sumber.forceLoginGatewayUrl,gatewayInternalNetworks, dan nilai"gateway"dariforceLoginMethod: Claude Code tidak pernah membaca salah satu dari mereka dari pengaturan yang dikelola server, jadi nilai di sana tidak berlaku atau menyembunyikan yang ditetapkan dalam kebijakan MDM atau file pengaturan terkelola. Di antara sumber admin di mesin, hanya yang tertinggi-peringkat yang membawa kunci kebijakan yang menyediakannya, terlepas dari apakah pengaturan yang dikelola server juga ada.allowedProviders: setelah aturan tabel, daftar mesin itu sendiri masih membatasi hasilnya, seperti yang dinyatakan catatan Scope entrinya.
/status dan baca baris Setting sources.
parentSettingsBehavior
Pilih apakah Claude Code menerapkan pengaturan terkelola yang disediakan oleh proses host penyematan, seperti Agent SDK atau ekstensi IDE, ketika tingkat terkelola yang diterapkan admin juga ada. Dengan "first-wins", Claude Code menghapus pengaturan yang disediakan host; dengan "merge", ia menerapkannya di bawah tingkat admin melalui filter hanya-pembatasan. Atur "merge" ketika host perlu melewatkan pembatasannya sendiri ke sesi yang diluncurkannya, misalnya Claude Desktop memberikan daftar izin egress gateway.
- Scope:
Managed. Claude Code membacanya dari sumber terkelola yang dikontrol admin prioritas tertinggi. - Type: string, salah satu dari:
"first-wins": Claude Code menghapus pengaturan yang disediakan host ketika tingkat terkelola yang diterapkan admin ada"merge": Claude Code menerapkan pengaturan yang disediakan host di bawah tingkat admin melalui filter hanya-pembatasan
- Default:
"first-wins"
managed-settings.json
policyHelper
Jalankan executable yang Anda terapkan yang menghitung pengaturan terkelola saat startup, sehingga Anda dapat menurunkan kebijakan dari postur perangkat, identitas, atau layanan jarak jauh alih-alih file statis. Claude Code menjalankan helper sebelum menerima prompt pertama dan memperlakukan pengaturan yang dipancarkannya sebagai pengaturan terkelola untuk sesi.
- Scope:
Managed. Baca dari plist macOS, registri Windows HKLM, atau file pengaturan terkelola. Claude Code membaca kunci dari sumber terkelola prioritas tertinggi yang membawa kunci kebijakan dan menjalankan helper hanya ketika sumber itu adalah salah satu dari ketiga itu; ia mengabaikan kunci dalam pengaturan yang dikelola server, registri HKCU, dan pengaturan induk yang disediakan host. - Type: object dengan
path,timeoutMs, danrefreshIntervalMs - Default: unset, jadi tidak ada helper yang berjalan
managed-settings.json
Tulis output helper
Claude Code menjalankan helper tanpa argumen, menetapkanCLAUDE_CODE_VERSION dalam lingkungannya, dan membaca amplop JSON dari stdout, dibatasi pada 1 MiB.
Letakkan pengaturan di bawah kunci managedSettings. Objek pengaturan telanjang tanpa kunci managedSettings diuraikan dengan managedSettings tidak terdefinisi dan tidak menerapkan apa pun, dan Claude Code melaporkan tidak ada kesalahan:
managedSettings, objek itu menjadi satu-satunya sumber pengaturan terkelola untuk jalankan: Claude Code mengabaikan sumber MDM, file, dan HKCU, membaca kunci lintas-sumber dari output helper saja, dan tidak pernah menggabungkan pengaturan induk.
Pemeriksaan forceRemoteSettingsRefresh startup berjalan sebelum helper dan membaca sumber admin apa pun. Helper yang keluar 0 dengan amplop yang menghilangkan managedSettings tidak berkontribusi pengaturan terkelola, dan sumber lainnya berlaku seperti biasa.
Helper failures
Jalankan helper gagal ketika:pathmelanggar aturan dalampolicyHelper.path.- Tidak ada file reguler di
path. Claude Code memeriksa file sebelum memulai helper, dalam anggarantimeoutMsyang sama, jadi mount jaringan yang tidak responsif dapat menyebabkan jalankan gagal. - Helper keluar non-zero, masih berjalan ketika
timeoutMsberlalu, atau tidak dimulai sama sekali, misalnya karena tidak dapat dieksekusi. - Helper menulis lebih dari 1 MiB ke stdout atau stderr.
- stdout bukan objek JSON tunggal, atau
managedSettings-nya memiliki pelanggaran skema yang tidak dapat diperbaiki Claude Code.
timeoutMs dan tidak menyertakan apa pun dari output helper. Penolakan mencakup sesi interaktif, claude -p, sesi Agent SDK, sesi latar belakang, dan sebagian besar subperintah.
Penolakan disengaja, jadi helper yang memerlukan ketahanan pemadaman harus melayani dari cache-nya sendiri dan keluar 0.
Ketika penyegaran latar belakang gagal, Claude Code menjaga kebijakan terakhir yang berhasil berlaku, dan /status menunjukkan penyegaran yang gagal dengan alasannya hingga penyegaran berhasil. Setiap penyegaran berjalan di bawah timeoutMs dan aturan kegagalan yang sama seperti jalankan startup.
Dengan --debug, Claude Code menulis stderr helper dari setiap jalankan ke log debug.
Claude Code melaporkan nilai policyHelper yang tidak valid sebagai entri yang dijatuhkan dan memulai sesi pada pengaturan terkelola yang tersisa tanpa menjalankan helper. Nilai yang tidak valid mencakup string path telanjang dan timeoutMs di bawah minimumnya.
Untuk mematikan helper, hapus kunci dari sumber yang menetapkannya.
policyHelper.path
Beri nama executable helper yang Claude Code jalankan. Untuk apa yang terjadi ketika path melanggar aturan di bawah, lihat Helper failures.
- Scope:
Managed. Baca dari plist macOS, registri Windows HKLM, atau file pengaturan terkelola, di mana punpolicyHelperdibaca. - Type: string, jalur absolut dalam bentuk ternormalisasi, tanpa segmen
.atau..; di Windows, jalur huruf drive atau UNC yang berakhir dengan.exe - Default: none; diperlukan ketika
policyHelperdiatur
managed-settings.json
policyHelper.timeoutMs
Atur berapa lama Claude Code menunggu helper sebelum memperlakukan jalankan sebagai gagal. Jalankan yang timeout gagal dengan cara yang sama seperti keluar non-zero, jadi saat startup Claude Code menolak untuk memulai.
- Scope:
Managed. Baca dari plist macOS, registri Windows HKLM, atau file pengaturan terkelola, di mana punpolicyHelperdibaca. - Type: integer, milliseconds, minimum
1000 - Default:
10000
managed-settings.json
policyHelper.refreshIntervalMs
Buat Claude Code menjalankan kembali helper di latar belakang pada interval sehingga perubahan kebijakan mencapai sesi yang berjalan. Ketika penyegaran berhasil, outputnya menggantikan pengaturan terkelola sebelumnya tanpa restart; ketika penyegaran gagal, Claude Code menjaga kebijakan yang sudah dimilikinya.
- Scope:
Managed. Baca dari plist macOS, registri Windows HKLM, atau file pengaturan terkelola, di mana punpolicyHelperdibaca. - Type: integer, milliseconds:
0untuk menonaktifkan penyegaran, jika tidak setidaknya60000 - Default: unset, jadi Claude Code menjalankan helper sekali saat startup
managed-settings.json
wslInheritsWindowsSettings
Buat Claude Code di WSL membaca pengaturan terkelola dari rantai kebijakan Windows, dengan HKLM dan file pengaturan terkelola Windows mengambil prioritas atas /etc/claude-code dan HKCU di bawahnya. Sementara rantai aktif, Claude Code membaca /etc/claude-code hanya ketika tidak ada dokumen admin Windows yang ada dalam nilai registri HKLM atau folder C:\Program Files\ClaudeCode\. Atur untuk memperluas kebijakan yang sudah Anda terapkan di Windows ke sesi WSL di mesin yang sama, sehingga mereka mengikuti aturan yang sama seperti sesi host. Claude Code menghormatinya hanya ketika diatur dalam kunci registri HKLM atau dalam file pengaturan terkelola atau drop-in di bawah C:\Program Files\ClaudeCode\, keduanya memerlukan admin Windows untuk menulis.
- Scope:
Managed. Dalam sumber Windows yang dikontrol admin. - Type: Boolean
true: Claude Code di WSL membaca pengaturan terkelola dari rantai kebijakan Windows, dan membaca/etc/claude-codehanya ketika tidak ada dokumen admin Windows yang adafalse: WSL membaca hanya/etc/claude-code
- Default:
false, jadi WSL membaca hanya/etc/claude-code
managed-settings.json
true. Salinan itu tidak mengaktifkan rantai dengan sendirinya. Sumber Windows yang hanya berisi kunci ini tidak dihitung sebagai sumber kebijakan, jadi sumber prioritas yang lebih rendah masih menyediakan kebijakan. Kunci ini tidak berpengaruh pada Windows asli.
Claude Code membaca true dan false dengan atau tanpa tanda kutip dan membaca null sebagai menghapus kunci. Sumber Windows yang dikontrol admin yang menyimpan nilai apa pun yang lain dihitung sebagai dokumen admin yang ada dengan rantai diaktifkan: baik /etc/claude-code maupun HKCU tidak berlaku, dan peringatan startup menyebutkan kunci. Nilai HKLM atau file folder Windows yang ada tetapi tidak dapat dibaca juga menjaga /etc/claude-code dari berlaku terlepas dari apakah rantai aktif. Memerlukan Claude Code v2.1.282 atau lebih baru.
Pengaturan konfigurasi global
Simpan kunci-kunci ini di~/.claude.json, bukan di file pengaturan. Claude Code mengabaikannya di tempat lain. Claude Code dan /config menulis sebagian besar dari mereka untuk Anda, dan Anda juga dapat mengeditnya secara manual.
autoConnectIde
Terhubung ke IDE yang sedang berjalan secara otomatis saat Anda memulai Claude Code dari terminal eksternal. Muncul di /config sebagai Auto-connect to IDE (external terminal) saat Anda menjalankan Claude Code di luar terminal VS Code atau JetBrains.
- Scope:
Global config - Type: Boolean
true: Claude Code terhubung ke IDE yang sedang berjalan secara otomatis saat Anda memulainya dari terminal eksternalfalse: Claude Code tidak terhubung secara otomatis dari terminal eksternal; di dalam terminal VS Code atau JetBrains, atau dengan--ide, tetap terhubung
- Default:
false - Per-session overrides:
CLAUDE_CODE_AUTO_CONNECT_IDEmengambil alih kunci ini untuk satu sesi, dalam kedua arah
~/.claude.json
settings.json.
autoInstallIdeExtension
Instal ekstensi IDE Claude Code secara otomatis saat Anda menjalankan Claude Code dari terminal VS Code. Muncul di /config sebagai Auto-install IDE extension saat Anda menjalankan Claude Code di dalam terminal VS Code atau JetBrains.
- Scope:
Global config - Type: Boolean
true: Claude Code menginstal ekstensi IDE secara otomatis saat Anda menjalankannya dari terminal VS Codefalse: Claude Code tidak menginstal ekstensi secara otomatis
- Default:
true - Per-session overrides:
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLdiatur ke1melewati instalasi untuk satu sesi bahkan ketika kunci ini adalahtrue
~/.claude.json
settings.json.
claudeInChromeDefaultEnabled
Mulai setiap sesi CLI interaktif dengan integrasi Chrome aktif, tanpa harus melewatkan --chrome setiap kali. Jika Anda menjalankan claude remote-control, sesi yang dimulainya untuk salah satu thread project Anda mengikuti kunci ini juga, kecuali dalam mode bypassPermissions. Dengan Claude Code v2.1.287 atau yang lebih baru, kunci ini juga berlaku untuk sesi di ekstensi VS Code: lihat Enable Chrome by default.
Menjalankan /chrome dan memilih Enabled by default mengatur kunci ini untuk Anda. Muncul di /config sebagai Claude in Chrome enabled by default.
- Scope:
Global config - Type: Boolean
true: Claude Code menghidupkan integrasi Chrome saat sesi CLI interaktif dimulai, seperti yang dilakukannya saat Anda melewatkan--chrome. Di ekstensi VS Code, sesi terhubung ke browser saat dimulaifalse: sesi CLI interaktif dimulai dengan integrasi Chrome mati, dan Claude Code berhenti menawarkan untuk mengaturnya. Lewatkan--chromeuntuk menghidupkannya untuk satu sesi interaktif. Di ekstensi VS Code, sesi terhubung saat Anda mengetik@browser, seperti saat kunci ini tidak diatur
- Default: unset, jadi integrasi Chrome mati dan Claude Code masih dapat menawarkan untuk mengaturnya
- Per-session overrides:
--chromedan--no-chromemengambil alih kunci ini untuk satu sesi interaktif
~/.claude.json
settings.json.
copyFullResponse
Buat /copy menyalin respons penuh setiap kali, tanpa menampilkan picker. Memilih Always copy full response di picker tersebut mengatur kunci ini ke true. Muncul di /config sebagai Skip the /copy picker.
- Scope:
Global config - Type: Boolean
true:/copymenyalin respons penuh tanpa menampilkan pickerfalse: saat respons berisi blok kode atau blockquote,/copymenampilkan picker di mana Anda memilih satu blok atau respons penuh
- Default:
false
~/.claude.json
settings.json.
copyOnSelect
Salin teks ke clipboard Anda secara otomatis saat Anda selesai memilihnya dengan mouse di fullscreen rendering atau agent view. Muncul di /config sebagai Copy on select saat fullscreen rendering aktif.
- Scope:
Global config - Type: Boolean
true: Claude Code menyalin teks ke clipboard Anda saat Anda selesai memilihnyafalse: memilih teks membiarkan clipboard Anda tidak berubah, dan Anda menyalin pilihan dengan pintasan keyboard sebagai gantinya
- Default:
true
~/.claude.json
settings.json.
defaultToAgentsView
Buka agent view alih-alih percakapan baru saat Anda menjalankan claude tanpa argumen. Muncul di /config sebagai Open agents view by default kecuali agent view dimatikan.
- Scope:
Global config - Type: Boolean
true:claudetanpa argumen membuka agent view, kecuali agent view dimatikanfalse:claudetanpa argumen memulai percakapan baru
- Default:
false
~/.claude.json
settings.json.
diffTool
Pilih di mana Claude Code menampilkan diff dari perubahan Edit atau Write yang diusulkannya saat VS Code atau JetBrains IDE terhubung: "auto" membukanya di diff viewer IDE, "terminal" menyimpannya di terminal. Muncul di /config sebagai Diff tool hanya saat Claude Code terhubung ke VS Code atau JetBrains IDE.
- Scope:
Global config - Type: string, salah satu dari:
"auto": Claude Code membuka diff di diff viewer IDE saat VS Code atau JetBrains IDE terhubung"terminal": Claude Code menyimpan diff di terminal
- Default:
"auto"
~/.claude.json
settings.json.
externalEditorContext
Saat Anda menekan Ctrl+G, Claude Code membuka prompt yang Anda ketik di external editor Anda. Dengan kunci ini aktif, buffer editor dimulai dengan respons sebelumnya Claude sebagai baris komentar #, sehingga Anda dapat membacanya saat Anda menulis, dan Claude Code menghapus baris-baris tersebut saat Anda menyimpan. Muncul di /config sebagai Show last response in external editor.
- Scope:
Global config - Type: Boolean
true: buffer editor dimulai dengan respons sebelumnya Claude sebagai baris komentar#, yang Claude Code hapus saat Anda menyimpanfalse: buffer editor dibuka hanya dengan prompt Anda
- Default:
false
~/.claude.json
# … (earlier output truncated).
Claude Code mengabaikan kunci ini di settings.json.
leftArrowOpensAgents
Tekan ← pada prompt kosong untuk menempatkan sesi di latar belakang dan membuka agent view. Atur kunci ini ke false untuk mematikan pintasan. Muncul di /config sebagai ← opens agents saat agent view tersedia.
- Scope:
Global config - Type: Boolean
true: menekan←pada prompt kosong dalam sesi yang Anda mulai di terminal menempatkannya di latar belakang dan membuka agent viewfalse: Claude Code mematikan pintasan; dalam sesi yang Anda lampirkan dari agent view,←pada prompt kosong masih melepaskan
- Default:
true
~/.claude.json
settings.json.
permissionExplainerEnabled
Melalui v2.1.256, Anda dapat menekan Ctrl+E pada prompt izin Bash atau PowerShell untuk melihat penjelasan perintah yang dihasilkan model, dan atur kunci ini ke false untuk mematikan pintasan tersebut.
- Scope:
Global config. Pada v2.1.256 dan lebih awal. - Type: Boolean
- Default:
true
prStatusFooterEnabled
Tampilkan lencana di footer prompt untuk pull request atau merge request terbuka dari cabang saat ini, dengan garis bawah berwarna yang menunjukkan statusnya. Muncul di /config sebagai Show PR status footer.
- Scope:
Global config - Type: Boolean
true: footer menampilkan lencana di bawah kondisi dalam PR review statusfalse: Claude Code melewati pemeriksaan pull request dan merge request footer dan tidak menampilkan lencana tersebut. Sesi yang Anda lampirkan dari agent view masih dapat menampilkan tautan biasa ke pull request yang ditautkan ke sana
- Default:
true
~/.claude.json
settings.json.
teammateDefaultModel
Melalui v2.1.233, Anda mengatur kunci ini ke model untuk rekan tim agent team yang prompt Anda tidak menamai model untuk: alias seperti "sonnet", atau null untuk mengikuti model lead. Untuk model yang Claude Code pilih untuk rekan tim seperti itu sekarang, lihat specify teammates and models.
- Scope:
Global config. Pada v2.1.233 dan lebih awal. - Type: string, alias model atau ID model lengkap, atau
null - Default: unset
Lihat juga
- Konfigurasi izin: sintaks aturan, mode izin, dan kepercayaan ruang kerja
- Variabel lingkungan: setiap
CLAUDE_*,ANTHROPIC_*, dan variabel penyedia yang dibaca Claude Code - Alat yang tersedia untuk Claude: alat bawaan dan mana yang memerlukan persetujuan
- Contoh file pengaturan: file pribadi, file tim, dan file terkelola organisasi
- Siapkan pengaturan terkelola: bagaimana organisasi memutuskan apa yang akan diterapkan
- Terapkan pengaturan terkelola: mekanisme pengiriman, prioritas dalam tingkat terkelola, dan entri tidak valid dalam pengaturan terkelola
- Debug konfigurasi Anda:
claude doctordan dialog Kesalahan Pengaturan