Pengaturan Claude Code
Pelajari cara mengkonfigurasi Claude Code dengan pengaturan global dan tingkat proyek, tema, dan variabel lingkungan.
Claude Code menawarkan berbagai pengaturan untuk mengkonfigurasi perilakunya sesuai kebutuhan Anda. Anda dapat mengkonfigurasi Claude Code dengan menjalankan claude config
di terminal Anda, atau perintah /config
saat menggunakan REPL interaktif.
Hierarki konfigurasi
File settings.json
yang baru adalah mekanisme resmi kami untuk mengkonfigurasi Claude Code melalui pengaturan hierarkis.
Pengaturan pengguna didefinisikan di ~/.claude/settings.json
dan berlaku untuk semua proyek.
Pengaturan proyek disimpan di direktori proyek Anda di bawah .claude/settings.json
untuk pengaturan bersama, dan .claude/settings.local.json
untuk pengaturan proyek lokal. Claude Code akan mengkonfigurasi git untuk mengabaikan .claude/settings.local.json
saat dibuat.
Untuk penerapan enterprise dari Claude Code, kami juga mendukung pengaturan kebijakan yang dikelola enterprise. Ini memiliki prioritas lebih tinggi daripada pengaturan pengguna dan proyek. Administrator sistem dapat menerapkan kebijakan ke /Library/Application Support/ClaudeCode/policies.json
di macOS dan /etc/claude-code/policies.json
di Linux dan Windows melalui WSL.
Urutan prioritas pengaturan
Pengaturan diterapkan berdasarkan urutan prioritas, dengan sumber yang lebih baru menimpa sumber sebelumnya:
- Pengaturan pengguna
- Pengaturan proyek bersama
- Pengaturan proyek lokal
- Argumen baris perintah
- Kebijakan enterprise
Opsi konfigurasi
Claude Code mendukung konfigurasi global dan tingkat proyek.
Untuk mengelola konfigurasi Anda, gunakan perintah berikut:
- Daftar pengaturan:
claude config list
- Lihat pengaturan:
claude config get <key>
- Ubah pengaturan:
claude config set <key> <value>
- Tambahkan ke pengaturan (untuk daftar):
claude config add <key> <value>
- Hapus dari pengaturan (untuk daftar):
claude config remove <key> <value>
Secara default config
mengubah konfigurasi proyek Anda. Untuk mengelola konfigurasi global Anda, gunakan flag --global
(atau -g
).
Konfigurasi global
Untuk mengatur konfigurasi global, gunakan claude config set -g <key> <value>
:
Key | Value | Description |
---|---|---|
autoUpdaterStatus | disabled atau enabled | Aktifkan atau nonaktifkan pembaruan otomatis (default: enabled ) |
env | JSON (contoh '{"FOO": "bar"}' ) | Variabel lingkungan yang akan diterapkan ke setiap sesi |
preferredNotifChannel | iterm2 , iterm2_with_bell , terminal_bell , atau notifications_disabled | Di mana Anda ingin menerima notifikasi (default: iterm2 ) |
theme | dark , light , light-daltonized , atau dark-daltonized | Tema warna |
verbose | true atau false | Apakah akan menampilkan output bash dan perintah lengkap (default: false ) |
Konfigurasi proyek
Kelola konfigurasi proyek dengan claude config set <key> <value>
(tanpa flag -g
):
Key | Value | Description |
---|---|---|
allowedTools | array dari tools | Tools mana yang dapat dijalankan tanpa persetujuan manual |
ignorePatterns | array dari string glob | File/direktori mana yang diabaikan saat menggunakan tools |
Contoh:
Izin
Anda dapat mengelola izin tool Claude Code dengan /allowed-tools
. UI ini menampilkan semua aturan izin dan file settings.json tempat mereka berasal.
- Aturan Allow akan mengizinkan Claude Code menggunakan tool tertentu tanpa persetujuan manual lebih lanjut.
- Aturan Deny akan mencegah Claude Code menggunakan tool tertentu. Aturan Deny memiliki prioritas lebih tinggi daripada aturan allow.
Aturan izin menggunakan format: Tool(optional-specifier)
.
Misalnya, menambahkan WebFetch
ke daftar aturan allow akan mengizinkan penggunaan tool web fetch tanpa memerlukan persetujuan pengguna. Lihat daftar tools yang tersedia untuk Claude (gunakan nama dalam tanda kurung jika disediakan.)
Beberapa tools menggunakan spesifier opsional untuk kontrol izin yang lebih detail. Misalnya, aturan allow dengan WebFetch(domain:example.com)
akan mengizinkan fetch ke example.com tetapi tidak ke URL lain.
Aturan Bash bisa berupa kecocokan yang tepat seperti Bash(npm run build)
, atau kecocokan awalan ketika diakhiri dengan :*
seperti Bash(npm run test:*)
Aturan Read()
dan Edit()
mengikuti spesifikasi gitignore. Pola diselesaikan relatif terhadap direktori yang berisi .claude/settings.json
. Untuk mereferensikan path absolut, gunakan //
. Untuk path relatif terhadap direktori home Anda, gunakan ~/
. Misalnya Read(//tmp/build_cache)
atau Edit(~/.zshrc)
. Claude juga akan berusaha sebaik mungkin untuk menerapkan aturan Read dan Edit ke tools terkait file lainnya seperti Grep, Glob, dan LS.
Nama tool MCP mengikuti format: mcp__server_name__tool_name
di mana:
server_name
adalah nama server MCP seperti yang dikonfigurasi di Claude Codetool_name
adalah tool spesifik yang disediakan oleh server tersebut
Contoh lebih lanjut:
Rule | Description |
---|---|
Bash(npm run build) | Cocok dengan perintah Bash yang tepat npm run build . |
Bash(npm run test:*) | Cocok dengan perintah Bash yang dimulai dengan npm run test . Lihat catatan di bawah tentang penanganan pemisah perintah. |
Edit(~/.zshrc) | Cocok dengan file ~/.zshrc . |
Read(node_modules/**) | Cocok dengan direktori node_modules apa pun. |
mcp__puppeteer__puppeteer_navigate | Cocok dengan tool puppeteer_navigate dari server MCP puppeteer . |
WebFetch(domain:example.com) | Cocok dengan permintaan fetch ke example.com |
Claude Code menyadari pemisah perintah (seperti &&
) sehingga aturan kecocokan
awalan seperti Bash(safe-cmd:*)
tidak akan memberinya izin untuk menjalankan
perintah safe-cmd && other-cmd
Opsi izin pembaruan otomatis
Ketika Claude Code mendeteksi bahwa tidak memiliki izin yang cukup untuk menulis ke direktori prefix npm global Anda (diperlukan untuk pembaruan otomatis), Anda akan melihat peringatan yang mengarah ke halaman dokumentasi ini. Untuk solusi detail masalah pembaruan otomatis, lihat panduan pemecahan masalah.
Direkomendasikan: Buat prefix npm baru yang dapat ditulis pengguna
Mengapa kami merekomendasikan opsi ini:
- Menghindari modifikasi izin direktori sistem
- Membuat lokasi khusus yang bersih untuk paket npm global Anda
- Mengikuti praktik keamanan terbaik
Karena Claude Code sedang aktif dikembangkan, kami merekomendasikan pengaturan pembaruan otomatis menggunakan opsi yang direkomendasikan di atas.
Menonaktifkan pembaruan otomatis
Jika Anda lebih suka menonaktifkan pembaruan otomatis daripada memperbaiki izin, Anda dapat menggunakan:
Optimalkan pengaturan terminal Anda
Claude Code bekerja paling baik ketika terminal Anda dikonfigurasi dengan benar. Ikuti panduan ini untuk mengoptimalkan pengalaman Anda.
Shell yang didukung:
- Bash
- Zsh
- Fish
Tema dan tampilan
Claude tidak dapat mengontrol tema terminal Anda. Itu ditangani oleh aplikasi terminal Anda. Anda dapat mencocokkan tema Claude Code dengan terminal Anda selama onboarding atau kapan saja melalui perintah /config
Pemisah baris
Anda memiliki beberapa opsi untuk memasukkan pemisah baris ke Claude Code:
- Escape cepat: Ketik
\
diikuti Enter untuk membuat baris baru - Pintasan keyboard: Tekan Option+Enter (Meta+Enter) dengan konfigurasi yang tepat
Untuk mengatur Option+Enter di terminal Anda:
Untuk Mac Terminal.app:
- Buka Settings → Profiles → Keyboard
- Centang “Use Option as Meta Key”
Untuk iTerm2 dan terminal VSCode:
- Buka Settings → Profiles → Keys
- Di bawah General, atur Left/Right Option key ke “Esc+”
Tips untuk pengguna iTerm2 dan VSCode: Jalankan /terminal-setup
dalam Claude Code untuk mengkonfigurasi Shift+Enter secara otomatis sebagai alternatif yang lebih intuitif.
Pengaturan notifikasi
Jangan pernah melewatkan ketika Claude menyelesaikan tugas dengan konfigurasi notifikasi yang tepat:
Notifikasi bel terminal
Aktifkan peringatan suara ketika tugas selesai:
Untuk pengguna macOS: Jangan lupa untuk mengaktifkan izin notifikasi di System Settings → Notifications → [Aplikasi Terminal Anda].
Notifikasi sistem iTerm 2
Untuk peringatan iTerm 2 ketika tugas selesai:
- Buka Preferensi iTerm 2
- Navigasi ke Profiles → Terminal
- Aktifkan “Silence bell” dan “Send notification when idle”
- Atur penundaan notifikasi yang Anda inginkan
Perhatikan bahwa notifikasi ini khusus untuk iTerm 2 dan tidak tersedia di Terminal macOS default.
Menangani input besar
Ketika bekerja dengan kode ekstensif atau instruksi panjang:
- Hindari penempelan langsung: Claude Code mungkin kesulitan dengan konten yang ditempel sangat panjang
- Gunakan alur kerja berbasis file: Tulis konten ke file dan minta Claude untuk membacanya
- Waspadai keterbatasan VS Code: Terminal VS Code sangat rentan terhadap pemotongan tempelan panjang
Mode Vim
Claude Code mendukung subset keybinding Vim yang dapat diaktifkan dengan /vim
atau dikonfigurasi melalui /config
.
Subset yang didukung meliputi:
- Pengalihan mode:
Esc
(ke NORMAL),i
/I
,a
/A
,o
/O
(ke INSERT) - Navigasi:
h
/j
/k
/l
,w
/e
/b
,0
/$
/^
,gg
/G
- Pengeditan:
x
,dw
/de
/db
/dd
/D
,cw
/ce
/cb
/cc
/C
,.
(ulangi)
Variabel lingkungan
Claude Code mendukung variabel lingkungan berikut untuk mengontrol perilakunya:
Variable | Purpose |
---|---|
DISABLE_AUTOUPDATER | Atur ke 1 untuk menonaktifkan pembaruan otomatis |
DISABLE_BUG_COMMAND | Atur ke 1 untuk menonaktifkan perintah /bug |
DISABLE_COST_WARNINGS | Atur ke 1 untuk menonaktifkan pesan peringatan biaya |
DISABLE_ERROR_REPORTING | Atur ke 1 untuk tidak ikut serta dalam pelaporan kesalahan Sentry |
DISABLE_TELEMETRY | Atur ke 1 untuk tidak ikut serta dalam telemetri Statsig (perhatikan bahwa event Statsig tidak menyertakan data pengguna seperti kode, path file, atau perintah bash) |
HTTP_PROXY | Tentukan server proxy HTTP untuk koneksi jaringan |
HTTPS_PROXY | Tentukan server proxy HTTPS untuk koneksi jaringan |
MCP_TIMEOUT | Timeout dalam milidetik untuk startup server MCP |
MCP_TOOL_TIMEOUT | Timeout dalam milidetik untuk eksekusi tool MCP |
Was this page helpful?