Ubah pengaturan Claude Code, pilih cakupan kunci, verifikasi perubahan, dan pelajari nilai mana yang digunakan Claude Code saat kunci diatur di beberapa tempat.
export const SettingsPrecedence = () => {
const LEVELS = [{
n: 1,
name: 'Managed settings',
file: 'managed-settings.json, MDM, or the claude.ai console',
who: 'Your organization',
w: 390
}, {
n: 2,
name: 'Command line',
file: 'claude --settings',
who: 'You, this session',
w: 420
}, {
n: 3,
name: 'Project local',
file: '.claude/settings.local.json',
who: 'You, this project',
w: 480
}, {
n: 4,
name: 'Shared project',
file: '.claude/settings.json',
who: 'Everyone in the project',
w: 540
}, {
n: 5,
name: 'User',
file: '~/.claude/settings.json',
who: 'You, every project',
w: 600
}];
const W = 760;
const ROW = 58;
const GAP = 8;
const TOP = 34;
const H = TOP + LEVELS.length * (ROW + GAP) + 30;
const cx = W / 2;
const mono = 'var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)';
const sans = 'var(--font-sans, system-ui, -apple-system, sans-serif)';
return
Pengaturan adalah kunci JSON yang mengubah perilaku Claude Code: model mana yang dimulainya, apa yang dapat dijalankannya tanpa bertanya, file mana yang tidak dapat dibacanya, tampilannya di terminal Anda, dan apa yang diterapkan organisasi Anda.
Claude Code membaca pengaturan dari file pengaturan JSON seperti ~/.claude/settings.json. Ia mencarinya di beberapa lokasi, dan file tempat ia membaca pengaturan menentukan siapa pengaturan itu berlaku untuk. Halaman ini mencakup file-file tersebut: file mana yang harus Anda masukkan pengaturan, cara mengubah pengaturan dan mengonfirmasi bahwa pengaturan itu diterapkan, dan nilai mana yang digunakan Claude Code saat kunci yang sama diatur di lebih dari satu file. Konfigurasikan izin mencakup apa yang dapat dijalankan Claude Code tanpa bertanya dan cara menulis aturan allow, ask, dan deny.
File pengaturan dan siapa yang mereka pengaruhi
Claude Code membaca pengaturan dari empat file, dan organisasi juga dapat mengirimkan pengaturan yang dikelola dari konsol claude.ai. Setiap sumber memiliki cakupan: set orang dan proyek yang pengaturan yang disimpan di dalamnya berlaku untuk, apakah itu hanya Anda, semua orang di proyek, atau semua orang di organisasi Anda.
Cakupan
File
Siapa yang terpengaruh
Gunakan untuk
Pengguna
~/.claude/settings.json
Anda, di setiap proyek di mesin ini
Preferensi pribadi: tema, mode editor, model default, aturan izin Anda sendiri
Proyek bersama
.claude/settings.json
Semua orang yang bekerja di folder yang memuatnya. Dalam repositori git, komitnya sehingga rekan kerja mendapatkannya
Izin tim, hooks, plugins, dan variabel lingkungan yang dibutuhkan proyek
Proyek lokal
.claude/settings.local.json
Anda, hanya di proyek ini. Claude Code menyimpannya keluar dari git saat membuat file; jika Anda membuatnya dengan tangan, tambahkan ke .gitignore sendiri
Penggantian pribadi untuk satu proyek, dan pengujian sebelum Anda bagikan
Di kolom File, ~/.claude adalah folder .claude di direktori home Anda, dan .claude telanjang adalah folder .claude di dalam proyek Anda.
Bandingkan cakupan setiap file pengaturan
Misalkan Anda memiliki tiga proyek di mesin Anda, website/, api/, dan acme-app/, rekan kerja memiliki klon mereka sendiri dari acme-app/, dan Anda memulai sesi cloud di acme-app/.
Grafik di bawah menunjukkan folder mana yang pengaturan berlaku saat Anda memulai Claude Code dari mereka. Klik file pengaturan untuk melihat folder yang dicapainya.
~/.claude/settings.json: setiap proyek di mesin Anda, dan tidak ada di mesin rekan kerja atau dalam sesi cloud
acme-app/.claude/settings.json: acme-app/ Anda. Ia mencapai klon rekan kerja dan sesi cloud hanya jika Anda melakukan komit file ke kontrol versi; sampai Anda melakukannya, itu adalah file di disk Anda seperti yang lain dan tidak ada orang lain yang memilikinya
acme-app/.claude/settings.local.json: hanya acme-app/ Anda. Claude Code menambahkannya ke pengecualian git global Anda saat pertama kali menulis file, sehingga tetap keluar dari komit Anda; jika Anda membuat file dengan tangan, tambahkan ke .gitignore sendiri
Pengaturan yang dikelola, apakah file managed-settings.json, kebijakan MDM, atau pengaturan yang dikelola server dari konsol claude.ai: setiap proyek di setiap mesin yang organisasi Anda terapkan ke, atau yang Anda masuk dengan akun organisasi Anda. Hanya pengaturan yang dikelola server yang mencapai sesi cloud
Temukan atau buat file pengaturan Anda
Menginstal Claude Code tidak membuat file pengaturan apa pun. Jika mesin atau proyek Anda sudah memiliki satu, itu berasal dari salah satu sumber ini:
Dikelola: organisasi Anda menerapkannya. Anda tidak membuat atau mengeditnya.
Proyek bersama: proyek yang sudah menggunakan Claude Code mungkin memiliki satu yang dikomit. Jika tidak, buatnya di .claude/settings.json di folder proyek.
Pengguna dan Proyek lokal: buatnya sendiri, atau biarkan Claude Code membuatnya. Ia menulis ~/.claude/settings.json saat pertama kali Anda mengubah opsi di menu /config yang disimpannya dalam pengaturan pengguna, seperti tema, dan .claude/settings.local.json saat pertama kali Anda memberikan persetujuan berdiri di prompt izin, seperti "Ya, dan jangan tanya lagi" untuk perintah Bash. Beberapa opsi /config, termasuk Tampilkan tips, disimpan ke .claude/settings.local.json sebagai gantinya.
Claude Code juga menyimpan file kelima, ~/.claude.json, yang ditulis untuk dirinya sendiri; Anda tidak perlu mengeditnya. Ia menyimpan sesi masuk Anda, konfigurasi server MCP, status per-proyek seperti keputusan kepercayaan, dan kunci konfigurasi global yang /config tulis untuk Anda.
Bagikan pengaturan dengan tim Anda
Komit .claude/settings.json sehingga semua orang yang mengkloning repositori mendapatkan izin, hooks, telemetri, dan plugins yang sama. Setiap rekan kerja masih dapat menimpanya untuk diri mereka sendiri di .claude/settings.local.json mereka sendiri, jadi pengecualian pribadi tidak perlu komit. Untuk file tim lengkap, lihat pengaturan bersama tim.
Untuk mengubah pengaturan untuk diri sendiri di satu proyek tanpa mengubahnya untuk rekan kerja Anda, simpan di .claude/settings.local.json di dalam proyek. Claude Code menerapkan file itu di atas .claude/settings.json yang dikomit, jadi jika file tim Anda menetapkan "model": "claude-sonnet-5" dan Anda menginginkan Opus, masukkan "model": "claude-opus-5-5" di file lokal Anda dan hanya sesi Anda yang berubah.
Claude Code juga menulis ke file ini, menyimpannya keluar dari komit Anda, dan menerapkan aturan izinnya tanpa langkah kepercayaan:
Claude Code juga menulisnya. Saat Claude meminta izin untuk menjalankan perintah Bash dan Anda memilih "Ya, dan jangan tanya lagi", Claude Code menyimpan persetujuan izin itu di sini sebagai aturan allow.
Anda tidak perlu gitignore sendiri, kecuali Anda membuatnya dengan tangan. Saat pertama kali Claude Code menulis file di repositori git yang belum mengabaikannya, ia menambahkan **/.claude/settings.local.json ke file pengecualian git global Anda, sehingga file tetap keluar dari komit Anda di setiap repositori. File itu adalah core.excludesFile saat konfigurasi git global Anda menetapkannya ke jalur absolut atau jalur dengan awalan ~; jika tidak, itu adalah $XDG_CONFIG_HOME/git/ignore, atau ~/.config/git/ignore saat XDG_CONFIG_HOME tidak diatur. Jika Anda membuat file dengan tangan dan Claude Code belum menulisnya, tambahkan ke .gitignore sendiri.
Aturan allow-nya tidak menunggu kepercayaan saat file tetap tidak dilacak. Karena file adalah milik Anda dan bukan repositori, Claude Code menerapkan aturan allow-nya tanpa langkah kepercayaan workspace yang diperlukan untuk file yang dikomit. Jika file dilacak oleh git, langkah kepercayaan juga berlaku untuk itu; lihat Saat file pengaturan lokal Anda memerlukan kepercayaan.
Tempat Claude Code menyimpan file lokal dalam repositori git
Saat Claude meminta izin untuk menjalankan perintah Bash dan Anda memilih "Ya, dan jangan tanya lagi", Claude Code menyimpan persetujuan itu sebagai aturan allow di .claude/settings.local.json. Jika Anda memulai Claude Code di subdirektori repositori git, ia membaca dan menulis file itu di akar repositori dan menerapkan persetujuan di seluruh repositori. Dalam worktree, ia menggunakan file di akar checkout utama.
Dua aturan memenuhi syarat lokasi akar:
Saat file tetap dengan .claude/settings.json sebagai gantinya: di luar repositori git, saat akar repositori adalah direktori home Anda, di Windows, atau saat akar repositori atau entri .git atau .claude-nya tidak dimiliki oleh pengguna Anda.
Jalur dalam file tidak berlabuh di akar repositori: aturan izin yang dimulai dengan / atau jalur sandbox relatif berlabuh di direktori kerja utama sesi sebagai gantinya.
Sebelum v2.1.211, Claude Code menyimpan file di direktori awal. Ia masih membaca file yang versi sebelumnya tinggalkan di sana bersama file akar; saat keduanya menetapkan kunci yang sama, nilai akar berlaku, dan aturan izin dari kedua file berlaku. Helper resolveSettings() SDK Agent selalu membaca file dari direktori awal.
Claude Code membaca .claude/settings.json bersama dari direktori kerja utama sesi, jadi untuk menggunakan file yang dikomit di akar repositori, mulai Claude Code di sana. Setelah Anda memindahkan sesi dengan /cd, Claude Code membaca kedua file proyek dari direktori baru sebagai gantinya, menempatkan file lokal dengan aturan yang sama. Membacanya dari direktori yang Anda pindahkan memerlukan Claude Code v2.1.246 atau lebih baru.
Periksa apa yang diterapkan organisasi Anda
Jika organisasi Anda mengelola Claude Code, beberapa pengaturan diputuskan untuk Anda dan tidak ada yang Anda masukkan dalam file Anda sendiri yang mengubahnya. Untuk melihat mana, jalankan /status: baris Setting sources menamai sumber yang dikelola yang berlaku untuk Anda. Pengaturan yang dikelola berlaku di mana pun Claude Code berjalan di mesin ini; Apa yang dapat diubah pengembang mencakup hak admin lokal dan tools selain Claude Code.
Pengaturan yang dikelola mencapai Anda melalui mekanisme pengiriman di halaman pengaturan yang dikelola, paling umum:
Dalam sesi Cowork yang berjalan di mesin Anda di aplikasi Claude Desktop, Claude Code tidak mengambil pengaturan yang dikelola server dari konsol admin claude.ai, dan ia membaca kebijakan yang diterapkan ke perangkat Anda kecuali konfigurasi Claude Desktop organisasi Anda menetapkan requireCoworkFullVmSandbox. Tempat dan kapan kebijakan berlaku mencakup Cowork dan sesi cloud.
Anda dapat mengubah pengaturan dari menu /config, dengan mengedit file pengaturan, atau untuk satu sesi dari baris perintah.
Prompt sistem Claude Code tidak dipublikasikan. Untuk memberikan Claude instruksi berdiri, gunakan file CLAUDE.md atau flag --append-system-prompt.
Gunakan menu /config
Jalankan /config di dalam Claude Code dan buka tab Config. Ia mencantumkan set pendek opsi pribadi seperti tema, mode editor, dan output verbose, bukan setiap kunci pengaturan. Pilih opsi untuk mengubahnya; Claude Code menyimpannya untuk Anda:
Sebagian besar opsi: ~/.claude/settings.json
Beberapa opsi, seperti Tampilkan tips: .claude/settings.local.json
Untuk menetapkan satu opsi tanpa menu, lewatkan key=value, seperti /config verbose=true.
Edit file pengaturan
Buka file pengaturan untuk cakupan yang Anda inginkan di editor Anda dan tambahkan atau ubah kunci. File pengaturan adalah JSON ketat: komentar // atau koma tertinggal adalah kesalahan sintaks, dan Claude Code melaporkan file sebagai Kesalahan Pengaturan saat startup berikutnya. Misalnya, untuk membiarkan Claude Code menjalankan perintah lint dan test Anda tanpa bertanya dan menghentikannya membaca file .env, tambahkan ini ke ~/.claude/settings.json:
{"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {"allow": ["Bash(npm run lint)",
"Bash(npm run test *)"],
"deny": ["Read(./.env)",
"Read(./.env.*)"]}}
Setiap entri di bawah permissions adalah aturan yang menamai tool dan apa yang boleh dilakukannya; Konfigurasikan izin menjelaskan sintaksnya. Baris $schema menunjuk ke skema JSON yang dipublikasikan untuk pengaturan Claude Code, yang memberi Anda pelengkapan otomatis dan validasi inline di VS Code, Cursor, dan editor lain yang mendukung skema JSON. Skema dapat tertinggal di belakang rilis CLI terbaru, jadi peringatan validasi pada kunci yang baru didokumentasikan tidak berarti konfigurasi Anda tidak valid.
Setelah Anda menyimpan, jalankan /status di dalam Claude Code untuk mengonfirmasi file dimuat; Konfirmasi apa yang dimuat mengatakan apa yang ditunjukkan baris Setting sources dan bagaimana file yang rusak dilaporkan.
Untuk file pribadi lengkap, file tim, dan file organisasi, masing-masing ditampilkan dengan komentar pada setiap kunci yang ditetapkannya, lihat file pengaturan contoh.
Ubah pengaturan untuk satu sesi
Untuk mencoba nilai tanpa menyimpannya, aturnya saat Anda memulai Claude Code. Nilai berlaku untuk sesi itu dan file pengaturan Anda tetap seperti sebelumnya. Anda memiliki tiga cara untuk melakukannya:
--settings: lewatkan kunci sebagai JSON, inline atau sebagai jalur ke file. Claude Code menerapkannya di atas file pengguna, proyek, dan lokal Anda dan di bawah pengaturan yang dikelola. Ia dapat menetapkan kunci apa pun yang dapat ditetapkan file pengaturan pengguna Anda; ia tidak dapat menetapkan kunci Managed atau Global config.
Flag untuk kunci itu: beberapa kunci memiliki flag mereka sendiri, seperti --model untuk model dan --effort untuk effortLevel dan modelSettings.
Variabel lingkungan: ekspor variabel berpasangan kunci sebelum Anda menjalankan claude, seperti ANTHROPIC_MODEL untuk model.
Setiap entri kunci di referensi pengaturan mencantumkan penggantian per-sesinya dan mana yang memiliki prioritas, jadi periksa entri untuk kunci yang ingin Anda ubah.
Perintah yang Anda jalankan di dalam sesi sebagian besar menyimpan pilihan Anda: ketika Anda mengubah pengaturan di /config, Claude Code menulis ke file pengaturan Anda, dan /model menyimpan nilai sebagai default Anda untuk sesi baru.
Jika Anda menekan s di pemilih /model, Claude Code beralih model tanpa menyimpannya sebagai default pengguna Anda. Sesuaikan level usaha mengatakan level /effort mana yang Claude Code simpan sebagai default Anda untuk model yang Anda gunakan dan mana yang berlaku hanya untuk sesi saat ini.
Misalnya, untuk memulai satu sesi di Opus tanpa mengubah default Anda:
claude --settings'{"model": "claude-opus-5-5"}'
Saat pengeditan berlaku
Claude Code memantau file pengaturan Anda dan memuat ulang saat berubah, jadi ia menerapkan sebagian besar pengeditan ke sesi yang sedang berjalan tanpa restart, termasuk pengeditan ke permissions, hooks, dan pembantu kredensial seperti apiKeyHelper. Claude Code juga memuat file pengaturan yang Anda buat di tengah sesi jika foldernya ada saat sesi dimulai. Untuk folder .claude/ proyek, ia memuat file bahkan ketika Anda membuat folder di sesi yang sama.
Reload mencakup pengaturan pengguna, proyek, lokal, dan yang dikelola, dan Claude Code menjalankan hook ConfigChange untuk setiap perubahan file pengaturan yang terdeteksi, bukan untuk pengaturan yang dikelola yang tiba dari MDM atau konsol claude.ai. Pengaturan yang dikelola yang tiba melalui MDM atau dari konsol claude.ai mencapai sesi yang sedang berjalan sesuai jadwal daripada saat disimpan; tabel pengiriman memberikannya per sumber.
Claude Code membaca beberapa kunci hanya sekali, saat startup sesi, jadi pengeditan ke salah satunya tidak mencapai sesi yang sedang berjalan. Kunci tingkat admin yang juga menunggu restart, seperti requiredMinimumVersion, tercantum di bawah tempat dan kapan kebijakan berlaku. Yang paling mungkin Anda edit di tengah sesi:
model: gunakan /model untuk beralih di tengah sesi. Setiap model memiliki cache prompt-nya sendiri, jadi permintaan pertama setelah switch membaca ulang seluruh percakapan tanpa cache; lihat Beralih model
Jalankan /status di dalam Claude Code untuk melihat sumber pengaturan mana yang aktif. Tab Status mencakup baris Setting sources yang mencantumkan setiap file pengaturan yang Claude Code muat untuk sesi saat ini, seperti User settings atau Project local settings. Saat pengaturan yang dikelola berlaku, entri yang dikelola menunjukkan dalam tanda kurung bagaimana mereka mencapai mesin Anda.
Baris mengonfirmasi file mana yang dibaca Claude Code; ia tidak menunjukkan file mana yang memasok setiap kunci. Untuk mencantumkan entri yang Claude Code tolak, jalankan claude doctor; untuk model yang ditetapkan pengaturan proyek atau yang dikelola, header startup menamai file yang menetapkannya. /status dan /config membuka dialog yang sama di tab berbeda, dan tab Config bukan tampilan konten settings.json Anda.
Perbaiki file pengaturan yang rusak
Jika Anda salah ketik JSON atau menetapkan kunci ke nilai yang tidak diterima Claude Code, Claude Code memberi tahu Anda saat awal sesi interaktif. Apa yang ditampilkan tergantung pada berapa banyak file yang terpengaruh:
Kesalahan Pengaturan: file pengguna, proyek, atau lokal memiliki JSON tidak valid atau nilai yang ditolak skema. Saat awal sesi interaktif Claude Code menampilkan dialog yang memungkinkan Anda memperbaiki file dengan bantuan Claude, keluar, atau lanjutkan tanpa pengaturan yang rusak.
Peringatan Pengaturan: hanya entri individual yang gagal, seperti aturan izin yang salah bentuk atau nama acara hook yang tidak dikenal. Claude Code melewati nilai-nilai itu dan menjaga sisa file tetap berlaku.
Kesalahan konfigurasi: ~/.claude.json tidak dapat diuraikan. Claude Code menyalin file yang rusak ke ~/.claude/backups/.claude.json.corrupted.<timestamp> dan menanyakan apakah akan keluar dan memperbaikinya dengan tangan atau mengatur ulang ke konfigurasi default; run -p mencetak kesalahan dan keluar. Untuk memulihkan status sebelumnya, salin kembali salah satu dari lima file .claude.json.backup.<timestamp> terbaru di ~/.claude/backups/, yang Claude Code simpan sebelum menulis file.
Setelah Anda lanjutkan, jalankan /status untuk melihat file yang terpengaruh dan claude doctor untuk detail setiap kesalahan.
Run -p menampilkan tidak ada dialog. Kecuali dokumen pengaturan yang dikelola tidak dapat diuraikan, Claude Code melewati file atau nilai yang rusak dan lanjutkan dengan sisanya, jadi setelah run -p yang mengabaikan pengaturan, jalankan claude doctor untuk melihat apa yang dijatuhkannya.
Urutan prioritas pengaturan
Saat kunci yang sama muncul di lebih dari satu tempat, Claude Code menggunakan nilai dari level tertinggi yang menetapkannya. Tumpukan di bawah menunjukkan level, tertinggi di atas; kunci di level yang lebih tinggi menimpa kunci yang sama di mana pun di bawahnya.
Secara berurutan, prioritas tertinggi terlebih dahulu:
Pengaturan yang dikelola: pengaturan yang diterapkan organisasi Anda, oleh file managed-settings.json, kebijakan MDM, atau pengaturan yang dikelola server dari konsol claude.ai. Tidak ada yang Anda atur menimpanya: kunci yang Anda lewatkan dengan --settings tidak menimpa kunci yang dikelola yang sama, dan flag seperti --model hanya memilih dari model yang diizinkan organisasi Anda. Model model yang dikelola menetapkan model yang dimulai setiap sesi, dan Anda masih dapat beralih dengan /model; kuncinya adalah availableModels, yang membatasi /model, --model, dan kunci model dalam file Anda sendiri. Saat organisasi Anda mengirimkan lebih dari satu sumber yang dikelola, aturan untuk urutan prioritas dalam tier yang dikelola mengatakan apa yang dibaca Claude Code dari masing-masing.
Argumen baris perintah: flag yang Anda lewatkan saat memulai claude dari terminal, untuk satu sesi; lihat Ubah pengaturan untuk satu sesi. Claude Code menggabungkan JSON yang Anda lewatkan dengan --settings <file-or-json> dengan file pengaturan Anda dengan aturan yang sama seperti level lain: ia mengambil kunci yang Anda atur di sini di atas kunci yang sama dalam pengaturan lokal, proyek, atau pengguna, dan menyimpan nilai level yang lebih rendah untuk kunci yang Anda lewatkan.
Pengaturan proyek lokal (.claude/settings.local.json): pengaturan pribadi Anda untuk proyek ini.
Pengaturan proyek bersama (.claude/settings.json): pengaturan yang tim Anda periksa ke kontrol sumber.
Pengaturan pengguna (~/.claude/settings.json): pengaturan pribadi Anda untuk setiap proyek.
Variabel lingkungan bukan level dalam tumpukan ini. Saat perilaku memiliki variabel shell dan kunci pengaturan, mana yang berlaku diputuskan per pasangan, bukan per level: ANTHROPIC_MODEL yang diekspor dalam shell Anda berlaku di atas kunci model dari file apa pun, sementara ANTHROPIC_DEFAULT_MODEL hanya berlaku saat tidak ada file yang menetapkan model. Referensi variabel lingkungan mengatakan kunci mana yang memiliki pasangan dan mana yang dibaca Claude Code terlebih dahulu. Blok env di dalam file pengaturan adalah kunci biasa dan mengikuti level di atas.
Saat Anda menetapkan kunci daftar yang sama, seperti permissions.allow, di lebih dari satu file, Claude Code menggabungkan daftar daripada memilih satu, jadi setiap file dapat menambahkan entri tanpa menghapus file lain. Empat kunci yang menyimpan daftar model atau entri per-model mengikuti aturan mereka sendiri:
fallbackModel adalah rantai yang dipesan di mana posisi membawa makna, jadi Claude Code mengambil seluruh nilai dari file dengan prioritas tertinggi yang mendefinisikannya.
modelPicker menyimpan satu daftar baris yang dipesan ditambah flag penggantian, jadi Claude Code tidak pernah menggabungkan baris dari dua sumber. Ia mengambil seluruh nilai dari yang tertinggi dari pengaturan yang dikelola, --settings, dan pengaturan pengguna yang mendefinisikannya, dan mengabaikan kunci dalam pengaturan proyek dan lokal. Memerlukan Claude Code v2.1.242 atau lebih baru.
availableModels: saat pengaturan yang dikelola yang diterapkan Claude Code mendefinisikannya, Claude Code menerapkan daftar itu apa adanya dan mengabaikan entri yang Anda tambahkan dalam pengaturan pengguna, proyek, atau lokal, kecuali aplikasi yang menyematkan Claude Code memasok daftar model-nya sendiri; lihat Pengecualian untuk urutan prioritas pengaturan yang dikelola. Di seluruh sumber yang dikelola daftar tidak pernah digabungkan juga; bagaimana Claude Code menggabungkan sumber yang dikelola mengatakan daftar sumber mana yang berlaku. Di seluruh cakupan non-managed Claude Code menggabungkan array seperti biasa.
modelSettings: Claude Code menyelesaikannya satu model pada satu waktu, bersama dengan effortLevel. Entri modelSettings menyatakan file mana yang nilainya berlaku untuk model.
Contoh urutan prioritas
Saat Claude bekerja, Claude Code menampilkan tip satu baris di bawah spinner, seperti "Gunakan /config untuk mengubah mode izin default Anda (termasuk Plan Mode)". Misalkan Anda menginginkan tips itu mati, jadi Anda menetapkan spinnerTipsEnabled ke false di ~/.claude/settings.json. Setiap skenario di bawah adalah sesuatu yang dapat menghidupkannya kembali, dan apa yang dapat Anda lakukan tentangnya.
Pengaturan tim menimpa pengaturan pribadi
.claude/settings.json tim Anda menetapkannya ke true. Claude Code menggunakan nilai proyek karena proyek bersama duduk di atas pengguna, jadi Anda melihat tips di proyek itu dan tidak di tempat lain.
Anda dapat mendapatkan nilai Anda kembali: tambahkan "spinnerTipsEnabled": false ke .claude/settings.local.json di proyek itu. Proyek lokal duduk di atas proyek bersama, jadi sesi Anda di sana berhenti menampilkan tips dan sesi rekan kerja Anda tidak berubah.
Pengaturan organisasi menimpa segalanya
Pengaturan yang dikelola organisasi Anda menetapkannya ke true. Tidak ada yang Anda masukkan dalam pengaturan pengguna, proyek, atau lokal yang mematikan tips, dan juga tidak --settings. Managed adalah level teratas.
Anda tidak dapat mendapatkan nilai Anda kembali. Jalankan /status untuk melihat sumber yang dikelola mana yang berlaku, dan tanyakan administrator Anda apakah kebijakan harus berubah.
Baris perintah menimpa file Anda untuk satu sesi
Anda memulai sesi dengan claude --settings '{"spinnerTipsEnabled": true}'. Baris perintah duduk di atas setiap file kecuali yang dikelola, jadi sesi itu menampilkan tips meskipun file Anda mengatakan false.
Anda mendapatkan nilai Anda kembali pada sesi berikutnya; --settings berlangsung satu sesi dan tidak menulis ke file apa pun.
Flag atau variabel lingkungan menetapkan hal yang sama
Beberapa kunci memiliki flag baris perintah atau variabel lingkungan yang menimpa nilai pengaturan terlepas dari file mana yang menetapkannya: ANTHROPIC_MODEL menimpa pengaturan model, dan --model menimpa keduanya untuk sesi.
Apakah Anda dapat mendapatkan nilai Anda kembali tergantung pada kunci: batalkan variabel atau lepaskan flag, dan periksa entri kunci di referensi pengaturan dan baris variabel di referensi variabel lingkungan untuk mana yang digunakan Claude Code.
Troubleshoot pengaturan yang tidak berlaku
Saat Anda menetapkan kunci dan Claude Code tidak berperilaku seolah-olah Anda memilikinya, mulai dengan /status untuk melihat file mana yang dimuat, kemudian temukan gejala Anda di bawah. Debug konfigurasi Anda mencakup pemeriksaan yang lebih luas, termasuk tes konfigurasi bersih.
Nilai yang Anda atur diabaikan
Sesuatu yang lain menetapkan kunci yang sama, file tidak dapat menetapkan nilai itu, atau file tidak dimuat:
Level yang lebih tinggi menetapkannya. File pengaturan lain, flag --settings, atau sumber yang dikelola menetapkan kunci di atas milik Anda; tumpukan mengatakan mana. Flag atau variabel lingkungan juga dapat menimpa kunci atas namanya sendiri, diputuskan kunci demi kunci; entri kunci di referensi pengaturan mengatakan mana yang digunakan Claude Code, dan entri env mencakup nilai env yang dikelola versus ekspor shell.
File tidak dapat menetapkan nilai itu. Nilai permissions.defaultModeauto dan bypassPermissions tidak berlaku dari pengaturan proyek atau lokal; aturnya dalam pengaturan pengguna atau yang dikelola sebagai gantinya, atau lewatkan --permission-mode untuk satu sesi. Sebelum v2.1.257, bypassPermissions berlaku dari file apa pun.
File rusak. JSON tidak valid atau nilai yang ditolak membuat Claude Code melewati file atau entri; lihat Perbaiki file pengaturan yang rusak.
Perubahan yang Anda buat di Claude Code hilang di sesi baru
Saat Anda menyimpan pilihan untuk sesi baru dari dalam Claude Code, seperti model default dengan /model, Claude Code menulisnya ke file pengaturan pengguna Anda, ~/.claude/settings.json. Jika Anda tidak dapat menulis ke file itu, misalnya karena tool lain menghasilkannya atau menghubungkannya ke salinan read-only, perubahan berlaku untuk sesi saat ini dan hilang di sesi berikutnya. Atur kunci dalam tool yang menghasilkan file, atau ganti file dengan yang dapat Anda tulis.
Sumber yang dikelola mencapai sesi yang sedang berjalan sesuai jadwal dalam tabel pengiriman, jadi mulai ulang sesi terlebih dahulu. Jika /status kemudian menamai sumber yang berbeda dari yang diubah administrator Anda, sumber dengan prioritas lebih tinggi berlaku; Bagaimana Claude Code menggabungkan sumber yang dikelola memberikan urutan.
Kunci yang dikomit tidak mencapai rekan kerja
Dua hal menjaga kunci di .claude/settings.json dari penerapan untuk semua orang yang mengkloning:
Claude Code mengabaikan kunci dalam file repositori. Cari User, local, or managed, User or managed, Managed, atau Global config di kolom Scope dari indeks pengaturan. Kunci-kunci itu tidak pernah berlaku dari file bersama, terlepas dari beberapa yang file repositori masih dapat matikan. Setiap entri itu mengatakan demikian pada baris Scope-nya. Kunci Global config hanya berlaku dari ~/.claude.json.
Kunci menunggu kepercayaan. Aturan permissions.allow, permissions.additionalDirectories, extraKnownMarketplaces, dan sebagian besar nilai env hanya berlaku setelah setiap rekan kerja mempercayai folder. Sampai saat itu mereka masih melihat prompt dan tidak mendapatkan plugins dari marketplace yang dideklarasikan file. Aturan deny dan ask berlaku segera.
Aturan izin digabungkan berbeda dari yang Anda harapkan
Anda memilih "Ya, dan jangan tanya lagi" pada prompt izin tetapi masih mendapat prompt untuk tool yang sama. Pilihan itu menyimpan aturan allow ke file lokal Anda, dan aturan allow di sana tidak mengungguli aturan ask dari file proyek atau yang dikelola; bagaimana aturan izin digabungkan menjelaskan urutan. Di ekstensi VS Code kartu persetujuan memungkinkan Anda memilih file tujuan, termasuk file bersama proyek, yang mengubah aturan untuk semua orang; di CLI, Claude Code hanya menulis ke file lokal Anda.
Aturan allow organisasi Anda masih berlaku bersama milik Anda. Itu diharapkan: Claude Code menggabungkan permissions.allow di seluruh cakupan, kecuali organisasi Anda menetapkan allowManagedPermissionRulesOnly.
Pengecualian untuk urutan prioritas pengaturan yang dikelola
Untuk beberapa kunci yang nilainya membatasi sesi, Claude Code menghormati nilai yang membatasi dari cakupan yang sebaliknya tidak dapat menimpa pengaturan yang dikelola. Temukan kunci dalam tabel ini untuk melihat nilai mana yang dihormatinya dan dari mana.
false dari cakupan apa pun, dan disableArtifact: true dari cakupan apa pun
Dihormati bahkan saat sumber yang dikelola menetapkan true; tidak ada yang menghidupkan tool Artifact kembali. Memerlukan Claude Code v2.1.242 atau lebih baru
Batas yang lebih rendah dari cakupan apa pun, termasuk --settings
Dihormati bahkan saat pengaturan yang dikelola yang diterapkan Claude Code menetapkan batas yang lebih tinggi; batas terendah berlaku. Memerlukan Claude Code v2.1.267 atau lebih baru
Aplikasi yang menjalankan Claude Code di dalamnya dan menetapkan CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST juga merupakan pengecualian. Claude Code mengambil konfigurasi model aplikasi itu di atas kunci model, fallbackModel, modelPicker, dan modelOverrides dari setiap sumber yang dikelola, dan di atas variabel pemilihan model dalam blok env yang dikelola, seperti ANTHROPIC_MODEL dan keluarga ANTHROPIC_DEFAULT_*_MODEL. Claude Code menjaga daftar putih availableModels yang dikelola berlaku kecuali aplikasi memasok miliknya sendiri.
Pengaturan dalam sesi cloud
Sesi cloud berjalan di lingkungan cloud pada klon segar repositori Anda, bukan di mesin Anda. Itu mengubah pengaturan mana yang mencapainya:
Pengaturan proyek bersama (.claude/settings.json): dibaca dalam sesi dengan satu repositori, karena file adalah bagian dari klon dan sesi dimulai di dalamnya. Komit pengaturan di sana untuk menerapkannya dalam sesi tersebut. Sesi dengan beberapa repositori dimulai di atas klon dan membaca hanya kunci enabledPlugins dan extraKnownMarketplaces dari .claude/settings.json setiap repositori, bukan aturan izin, hooks, env, atau kunci lainnya. Marketplace dan plugin yang dideklarasikan oleh dua kunci tersebut masih tidak dimuat dalam sesi cloud.
Pengaturan pengguna dan proyek lokal (~/.claude/settings.json dan .claude/settings.local.json): tidak dibaca. Keduanya tetap di mesin Anda, dan file lokal tidak ada dalam klon.
/config: di browser Anda di claude.ai/code, membuka bagian Claude Code dari pengaturan claude.ai Anda daripada mengubah nilai. Untuk mengubah pengaturan untuk sesi cloud, atur variabel lingkungan di lingkungan, atau dalam sesi dengan satu repositori, komit kunci ke .claude/settings.json repositori tersebut.
Referensi direktori Claude: setiap file yang dibaca Claude Code, termasuk subagents, server MCP, plugins, dan CLAUDE.md
settings.md+3−3
468 Simpan pengaturan pribadi keluar dari repositori468 Simpan pengaturan pribadi keluar dari repositori
469</h3>469</h3>
470470
471Untuk mengubah pengaturan untuk diri sendiri di satu proyek tanpa mengubahnya untuk rekan kerja Anda, simpan di `.claude/settings.local.json` di dalam proyek. Claude Code menerapkan file itu di atas `.claude/settings.json` yang dikomit, jadi jika file tim Anda menetapkan `"model": "claude-sonnet-5"` dan Anda menginginkan Opus, masukkan `"model": "claude-opus-4-8"` di file lokal Anda dan hanya sesi Anda yang berubah.471Untuk mengubah pengaturan untuk diri sendiri di satu proyek tanpa mengubahnya untuk rekan kerja Anda, simpan di `.claude/settings.local.json` di dalam proyek. Claude Code menerapkan file itu di atas `.claude/settings.json` yang dikomit, jadi jika file tim Anda menetapkan `"model": "claude-sonnet-5"` dan Anda menginginkan Opus, masukkan `"model": "claude-opus-5-5"` di file lokal Anda dan hanya sesi Anda yang berubah.
472472
473Claude Code juga menulis ke file ini, menyimpannya keluar dari komit Anda, dan menerapkan aturan izinnya tanpa langkah kepercayaan:473Claude Code juga menulis ke file ini, menyimpannya keluar dari komit Anda, dan menerapkan aturan izinnya tanpa langkah kepercayaan:
474474
598Misalnya, untuk memulai satu sesi di Opus tanpa mengubah default Anda:598Misalnya, untuk memulai satu sesi di Opus tanpa mengubah default Anda:
804Sesi [cloud](/docs/id/claude-code-on-the-web) berjalan di [lingkungan cloud](/docs/id/cloud-environments) pada klon segar repositori Anda, bukan di mesin Anda. Itu mengubah pengaturan mana yang mencapainya:804Sesi [cloud](/docs/id/claude-code-on-the-web) berjalan di [lingkungan cloud](/docs/id/cloud-environments) pada klon segar repositori Anda, bukan di mesin Anda. Itu mengubah pengaturan mana yang mencapainya:
805805
806* **Pengaturan proyek bersama** (`.claude/settings.json`): dibaca dalam sesi dengan satu repositori, karena file adalah bagian dari klon dan sesi dimulai di dalamnya. Komit pengaturan di sana untuk menerapkannya dalam sesi tersebut. Sesi dengan beberapa repositori dimulai di atas klon,jadi dari `.claude/settings.json` setiap repositori hanya memuat plugin dan marketplace yang dideklarasikan file, bukan aturan izin, hooks, `env`, atau kunci lainnya;lihat[Apa yang dibawadaripengaturanAnda](/docs/id/cloud-environments#what-carries-over-from-your-setup).806* **Pengaturan proyek bersama** (`.claude/settings.json`): dibaca dalam sesi dengan satu repositori, karena file adalah bagian dari klon dan sesi dimulai di dalamnya. Komit pengaturan di sana untuk menerapkannya dalam sesi tersebut. Sesi dengan beberapa repositori dimulai di atas klon danmembaca hanya kunci `enabledPlugins` dan `extraKnownMarketplaces` dari `.claude/settings.json` setiap repositori, bukan aturan izin, hooks, `env`, atau kunci lainnya.Marketplacedanplugin yang dideklarasikanolehduakunci tersebut masih [tidak dimuat dalam sesi cloud](/docs/id/cloud-environments#what-carries-over-from-your-setup).
807* **Pengaturan pengguna dan proyek lokal** (`~/.claude/settings.json` dan `.claude/settings.local.json`): tidak dibaca. Keduanya tetap di mesin Anda, dan file lokal tidak ada dalam klon.807* **Pengaturan pengguna dan proyek lokal** (`~/.claude/settings.json` dan `.claude/settings.local.json`): tidak dibaca. Keduanya tetap di mesin Anda, dan file lokal tidak ada dalam klon.
808* **Pengaturan yang dikelola**: hanya [pengaturan yang dikelola server](/docs/id/server-managed-settings) yang mencapai sesi cloud; file `managed-settings.json` atau profil MDM di perangkat Anda tidak. [Lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) juga membaca file pengaturan yang dikelola dalam gambar runner-nya. [Bagaimana Claude Code menggabungkan sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan kapan file itu berlaku.808* **Pengaturan yang dikelola**: hanya [pengaturan yang dikelola server](/docs/id/server-managed-settings) yang mencapai sesi cloud; file `managed-settings.json` atau profil MDM di perangkat Anda tidak. [Lingkungan yang di-host sendiri](/docs/id/self-hosted-environments) juga membaca file pengaturan yang dikelola dalam gambar runner-nya. [Bagaimana Claude Code menggabungkan sumber yang dikelola](/docs/id/managed-settings#how-claude-code-combines-managed-sources) mengatakan kapan file itu berlaku.
809* **`/config`**: di browser Anda di claude.ai/code, membuka bagian Claude Code dari pengaturan claude.ai Anda daripada mengubah nilai. Untuk mengubah pengaturan untuk sesi cloud, atur [variabel lingkungan](/docs/id/cloud-environments#set-environment-variables) di lingkungan, atau dalam sesi dengan satu repositori, komit kunci ke `.claude/settings.json` repositori tersebut.809* **`/config`**: di browser Anda di claude.ai/code, membuka bagian Claude Code dari pengaturan claude.ai Anda daripada mengubah nilai. Untuk mengubah pengaturan untuk sesi cloud, atur [variabel lingkungan](/docs/id/cloud-environments#set-environment-variables) di lingkungan, atau dalam sesi dengan satu repositori, komit kunci ke `.claude/settings.json` repositori tersebut.