/config saat menggunakan REPL interaktif, yang membuka antarmuka Pengaturan bertab di mana Anda dapat melihat informasi status dan memodifikasi opsi konfigurasi.
File pengaturan
Filesettings.json adalah mekanisme resmi kami untuk mengonfigurasi Claude Code melalui pengaturan hierarki:
- Pengaturan pengguna didefinisikan dalam
~/.claude/settings.jsondan berlaku untuk semua proyek. - Pengaturan proyek disimpan di direktori proyek Anda:
.claude/settings.jsonuntuk pengaturan yang diperiksa ke dalam kontrol sumber dan dibagikan dengan tim Anda.claude/settings.local.jsonuntuk pengaturan yang tidak diperiksa, berguna untuk preferensi pribadi dan eksperimen. Claude Code akan mengonfigurasi git untuk mengabaikan.claude/settings.local.jsonsaat dibuat.
- Untuk penerapan Claude Code tingkat perusahaan, kami juga mendukung pengaturan kebijakan yang dikelola perusahaan. Ini memiliki prioritas lebih tinggi daripada pengaturan pengguna dan proyek. Administrator sistem dapat menerapkan kebijakan ke:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json - Linux dan WSL:
/etc/claude-code/managed-settings.json - Windows:
C:\ProgramData\ClaudeCode\managed-settings.json
- macOS:
- Penerapan perusahaan juga dapat mengonfigurasi server MCP yang dikelola yang menggantikan server yang dikonfigurasi pengguna. Lihat Konfigurasi MCP Perusahaan:
- macOS:
/Library/Application Support/ClaudeCode/managed-mcp.json - Linux dan WSL:
/etc/claude-code/managed-mcp.json - Windows:
C:\ProgramData\ClaudeCode\managed-mcp.json
- macOS:
Contoh settings.json
Pengaturan yang tersedia
settings.json mendukung sejumlah opsi:
| Kunci | Deskripsi | Contoh |
|---|---|---|
apiKeyHelper | Skrip khusus, yang akan dieksekusi di /bin/sh, untuk menghasilkan nilai auth. Nilai ini akan dikirim sebagai header X-Api-Key dan Authorization: Bearer untuk permintaan model | /bin/generate_temp_api_key.sh |
cleanupPeriodDays | Berapa lama untuk mempertahankan transkrip obrolan secara lokal berdasarkan tanggal aktivitas terakhir (default: 30 hari) | 20 |
env | Variabel lingkungan yang akan diterapkan ke setiap sesi | {"FOO": "bar"} |
includeCoAuthoredBy | Apakah akan menyertakan garis byline co-authored-by Claude dalam komit git dan permintaan tarik (default: true) | false |
permissions | Lihat tabel di bawah untuk struktur izin. | |
hooks | Konfigurasikan perintah khusus untuk dijalankan sebelum atau sesudah eksekusi alat. Lihat dokumentasi hooks | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
disableAllHooks | Nonaktifkan semua hooks | true |
model | Ganti model default yang digunakan untuk Claude Code | "claude-sonnet-4-5-20250929" |
statusLine | Konfigurasikan garis status khusus untuk menampilkan konteks. Lihat dokumentasi statusLine | {"type": "command", "command": "~/.claude/statusline.sh"} |
outputStyle | Konfigurasikan gaya output untuk menyesuaikan prompt sistem. Lihat dokumentasi gaya output | "Explanatory" |
forceLoginMethod | Gunakan claudeai untuk membatasi login ke akun Claude.ai, console untuk membatasi login ke akun Claude Console (penagihan penggunaan API) | claudeai |
forceLoginOrgUUID | Tentukan UUID organisasi untuk secara otomatis memilihnya selama login, melewati langkah pemilihan organisasi. Memerlukan forceLoginMethod untuk diatur | "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
enableAllProjectMcpServers | Secara otomatis menyetujui semua server MCP yang didefinisikan dalam file .mcp.json proyek | true |
enabledMcpjsonServers | Daftar server MCP spesifik dari file .mcp.json untuk disetujui | ["memory", "github"] |
disabledMcpjsonServers | Daftar server MCP spesifik dari file .mcp.json untuk ditolak | ["filesystem"] |
useEnterpriseMcpConfigOnly | Ketika diatur dalam managed-settings.json, membatasi server MCP hanya ke yang didefinisikan dalam managed-mcp.json. Lihat Konfigurasi MCP Perusahaan | true |
allowedMcpServers | Ketika diatur dalam managed-settings.json, daftar izin server MCP yang dapat dikonfigurasi pengguna. Tidak terdefinisi = tidak ada pembatasan, array kosong = penguncian. Berlaku untuk semua cakupan. Daftar penolakan memiliki prioritas. Lihat Konfigurasi MCP Perusahaan | [{ "serverName": "github" }] |
deniedMcpServers | Ketika diatur dalam managed-settings.json, daftar penolakan server MCP yang secara eksplisit diblokir. Berlaku untuk semua cakupan termasuk server perusahaan. Daftar penolakan memiliki prioritas atas daftar izin. Lihat Konfigurasi MCP Perusahaan | [{ "serverName": "filesystem" }] |
awsAuthRefresh | Skrip khusus yang memodifikasi direktori .aws (lihat konfigurasi kredensial lanjutan) | aws sso login --profile myprofile |
awsCredentialExport | Skrip khusus yang menampilkan JSON dengan kredensial AWS (lihat konfigurasi kredensial lanjutan) | /bin/generate_aws_grant.sh |
Pengaturan izin
| Kunci | Deskripsi | Contoh |
|---|---|---|
allow | Array dari aturan izin untuk memungkinkan penggunaan alat. Catatan: Aturan Bash menggunakan pencocokan awalan, bukan regex | [ "Bash(git diff:*)" ] |
ask | Array dari aturan izin untuk meminta konfirmasi saat penggunaan alat. | [ "Bash(git push:*)" ] |
deny | Array dari aturan izin untuk menolak penggunaan alat. Gunakan ini juga untuk mengecualikan file sensitif dari akses Claude Code. Catatan: Pola Bash adalah pencocokan awalan dan dapat dilewati (lihat Batasan izin Bash) | [ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ] |
additionalDirectories | Direktori kerja tambahan yang dapat diakses Claude | [ "../docs/" ] |
defaultMode | Mode izin default saat membuka Claude Code | "acceptEdits" |
disableBypassPermissionsMode | Atur ke "disable" untuk mencegah mode bypassPermissions diaktifkan. Ini menonaktifkan flag baris perintah --dangerously-skip-permissions. Lihat pengaturan kebijakan yang dikelola | "disable" |
Pengaturan sandbox
Konfigurasikan perilaku sandboxing lanjutan. Sandboxing mengisolasi perintah bash dari sistem file dan jaringan Anda. Lihat Sandboxing untuk detail. Pembatasan sistem file dan jaringan dikonfigurasi melalui aturan izin Read, Edit, dan WebFetch, bukan melalui pengaturan sandbox ini.| Kunci | Deskripsi | Contoh |
|---|---|---|
enabled | Aktifkan sandboxing bash (macOS/Linux saja). Default: false | true |
autoAllowBashIfSandboxed | Secara otomatis menyetujui perintah bash saat di-sandbox. Default: true | true |
excludedCommands | Perintah yang harus dijalankan di luar sandbox | ["git", "docker"] |
network.allowUnixSockets | Jalur soket Unix yang dapat diakses di sandbox (untuk agen SSH, dll.) | ["~/.ssh/agent-socket"] |
network.allowLocalBinding | Izinkan pengikatan ke port localhost (MacOS saja). Default: false | true |
network.httpProxyPort | Port proxy HTTP yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri. | 8080 |
network.socksProxyPort | Port proxy SOCKS5 yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri. | 8081 |
enableWeakerNestedSandbox | Aktifkan sandbox yang lebih lemah untuk lingkungan Docker yang tidak istimewa (Linux saja). Mengurangi keamanan. Default: false | true |
- Aturan penolakan Read memblokir pembacaan file di sandbox
- Aturan izin Edit memungkinkan penulisan file (selain default, misalnya direktori kerja saat ini)
- Aturan penolakan Edit memblokir penulisan dalam jalur yang diizinkan
- Aturan izin WebFetch memungkinkan domain jaringan
- Aturan penolakan WebFetch memblokir domain jaringan
Prioritas pengaturan
Pengaturan diterapkan dalam urutan prioritas (tertinggi ke terendah):-
Kebijakan yang dikelola perusahaan (
managed-settings.json)- Diterapkan oleh IT/DevOps
- Tidak dapat ditimpa
-
Argumen baris perintah
- Penggantian sementara untuk sesi tertentu
-
Pengaturan proyek lokal (
.claude/settings.local.json)- Pengaturan proyek pribadi yang spesifik
-
Pengaturan proyek bersama (
.claude/settings.json)- Pengaturan proyek yang dibagikan tim dalam kontrol sumber
-
Pengaturan pengguna (
~/.claude/settings.json)- Pengaturan global pribadi
Poin-poin penting tentang sistem konfigurasi
- File memori (CLAUDE.md): Berisi instruksi dan konteks yang dimuat Claude saat startup
- File pengaturan (JSON): Konfigurasikan izin, variabel lingkungan, dan perilaku alat
- Perintah garis miring: Perintah khusus yang dapat dipanggil selama sesi dengan
/command-name - Server MCP: Perluas Claude Code dengan alat dan integrasi tambahan
- Prioritas: Konfigurasi tingkat lebih tinggi (Perusahaan) mengganti yang tingkat lebih rendah (Pengguna/Proyek)
- Warisan: Pengaturan digabungkan, dengan pengaturan yang lebih spesifik menambah atau mengganti yang lebih luas
Ketersediaan prompt sistem
Tidak seperti untuk claude.ai, kami tidak menerbitkan prompt sistem internal Claude Code di situs web ini. Gunakan file CLAUDE.md atau
--append-system-prompt untuk menambahkan instruksi khusus ke perilaku Claude Code.Mengecualikan file sensitif
Untuk mencegah Claude Code mengakses file yang berisi informasi sensitif (misalnya, kunci API, rahasia, file lingkungan), gunakan pengaturanpermissions.deny dalam file .claude/settings.json Anda:
ignorePatterns yang sudah usang. File yang cocok dengan pola ini akan sepenuhnya tidak terlihat oleh Claude Code, mencegah paparan data sensitif yang tidak disengaja.
Konfigurasi subagent
Claude Code mendukung subagent AI khusus yang dapat dikonfigurasi di tingkat pengguna dan proyek. Subagent ini disimpan sebagai file Markdown dengan frontmatter YAML:- Subagent pengguna:
~/.claude/agents/- Tersedia di semua proyek Anda - Subagent proyek:
.claude/agents/- Spesifik untuk proyek Anda dan dapat dibagikan dengan tim Anda
Konfigurasi plugin
Claude Code mendukung sistem plugin yang memungkinkan Anda memperluas fungsionalitas dengan perintah khusus, agen, hook, dan server MCP. Plugin didistribusikan melalui marketplace dan dapat dikonfigurasi di tingkat pengguna dan repositori.Pengaturan plugin
Pengaturan terkait plugin dalamsettings.json:
enabledPlugins
Mengontrol plugin mana yang diaktifkan. Format: "plugin-name@marketplace-name": true/false
Cakupan:
- Pengaturan pengguna (
~/.claude/settings.json): Preferensi plugin pribadi - Pengaturan proyek (
.claude/settings.json): Plugin khusus proyek yang dibagikan dengan tim - Pengaturan lokal (
.claude/settings.local.json): Penggantian per-mesin (tidak dikomit)
extraKnownMarketplaces
Mendefinisikan marketplace tambahan yang harus tersedia untuk repositori. Biasanya digunakan dalam pengaturan tingkat repositori untuk memastikan anggota tim memiliki akses ke sumber plugin yang diperlukan.
Ketika repositori menyertakan extraKnownMarketplaces:
- Anggota tim diminta untuk menginstal marketplace saat mereka mempercayai folder
- Anggota tim kemudian diminta untuk menginstal plugin dari marketplace itu
- Pengguna dapat melewati marketplace atau plugin yang tidak diinginkan (disimpan dalam pengaturan pengguna)
- Instalasi menghormati batas kepercayaan dan memerlukan persetujuan eksplisit
github: Repositori GitHub (menggunakanrepo)git: URL git apa pun (menggunakanurl)directory: Jalur sistem file lokal (menggunakanpath, hanya untuk pengembangan)
Mengelola plugin
Gunakan perintah/plugin untuk mengelola plugin secara interaktif:
- Jelajahi plugin yang tersedia dari marketplace
- Instal/copot plugin
- Aktifkan/nonaktifkan plugin
- Lihat detail plugin (perintah, agen, hook yang disediakan)
- Tambah/hapus marketplace
Variabel lingkungan
Claude Code mendukung variabel lingkungan berikut untuk mengontrol perilakunya:Semua variabel lingkungan juga dapat dikonfigurasi dalam
settings.json. Ini berguna sebagai cara untuk secara otomatis menetapkan variabel lingkungan untuk setiap sesi, atau untuk meluncurkan serangkaian variabel lingkungan untuk seluruh tim atau organisasi Anda.| Variabel | Tujuan |
|---|---|
ANTHROPIC_API_KEY | Kunci API dikirim sebagai header X-Api-Key, biasanya untuk Claude SDK (untuk penggunaan interaktif, jalankan /login) |
ANTHROPIC_AUTH_TOKEN | Nilai khusus untuk header Authorization (nilai yang Anda atur di sini akan diawali dengan Bearer ) |
ANTHROPIC_CUSTOM_HEADERS | Header khusus yang ingin Anda tambahkan ke permintaan (dalam format Name: Value) |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Lihat Konfigurasi Model |
ANTHROPIC_DEFAULT_OPUS_MODEL | Lihat Konfigurasi Model |
ANTHROPIC_DEFAULT_SONNET_MODEL | Lihat Konfigurasi Model |
ANTHROPIC_MODEL | Nama pengaturan model yang akan digunakan (lihat Konfigurasi Model) |
ANTHROPIC_SMALL_FAST_MODEL | [USANG] Nama model kelas Haiku untuk tugas latar belakang |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | Ganti wilayah AWS untuk model kelas Haiku saat menggunakan Bedrock |
AWS_BEARER_TOKEN_BEDROCK | Kunci API Bedrock untuk autentikasi (lihat Kunci API Bedrock) |
BASH_DEFAULT_TIMEOUT_MS | Batas waktu default untuk perintah bash yang berjalan lama |
BASH_MAX_OUTPUT_LENGTH | Jumlah maksimum karakter dalam output bash sebelum dipotong di tengah |
BASH_MAX_TIMEOUT_MS | Batas waktu maksimum yang dapat ditetapkan model untuk perintah bash yang berjalan lama |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | Kembali ke direktori kerja asli setelah setiap perintah Bash |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS | Interval dalam milidetik di mana kredensial harus disegarkan (saat menggunakan apiKeyHelper) |
CLAUDE_CODE_CLIENT_CERT | Jalur ke file sertifikat klien untuk autentikasi mTLS |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE | Frasa sandi untuk CLAUDE_CODE_CLIENT_KEY terenkripsi (opsional) |
CLAUDE_CODE_CLIENT_KEY | Jalur ke file kunci pribadi klien untuk autentikasi mTLS |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | Setara dengan pengaturan DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, dan DISABLE_TELEMETRY |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE | Atur ke 1 untuk menonaktifkan pembaruan judul terminal otomatis berdasarkan konteks percakapan |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL | Lewati instalasi otomatis ekstensi IDE |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | Atur jumlah maksimum token output untuk sebagian besar permintaan |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | Lewati autentikasi AWS untuk Bedrock (misalnya saat menggunakan gateway LLM) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Lewati autentikasi Google untuk Vertex (misalnya saat menggunakan gateway LLM) |
CLAUDE_CODE_SUBAGENT_MODEL | Lihat Konfigurasi Model |
CLAUDE_CODE_USE_BEDROCK | Gunakan Bedrock |
CLAUDE_CODE_USE_VERTEX | Gunakan Vertex |
DISABLE_AUTOUPDATER | Atur ke 1 untuk menonaktifkan pembaruan otomatis. Ini memiliki prioritas atas pengaturan konfigurasi autoUpdates. |
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 menolak pelaporan kesalahan Sentry |
DISABLE_NON_ESSENTIAL_MODEL_CALLS | Atur ke 1 untuk menonaktifkan panggilan model untuk jalur non-kritis seperti teks rasa |
DISABLE_PROMPT_CACHING | Atur ke 1 untuk menonaktifkan caching prompt untuk semua model (memiliki prioritas atas pengaturan per-model) |
DISABLE_PROMPT_CACHING_HAIKU | Atur ke 1 untuk menonaktifkan caching prompt untuk model Haiku |
DISABLE_PROMPT_CACHING_OPUS | Atur ke 1 untuk menonaktifkan caching prompt untuk model Opus |
DISABLE_PROMPT_CACHING_SONNET | Atur ke 1 untuk menonaktifkan caching prompt untuk model Sonnet |
DISABLE_TELEMETRY | Atur ke 1 untuk menolak telemetri Statsig (perhatikan bahwa acara Statsig tidak menyertakan data pengguna seperti kode, jalur file, atau perintah bash) |
HTTP_PROXY | Tentukan server proxy HTTP untuk koneksi jaringan |
HTTPS_PROXY | Tentukan server proxy HTTPS untuk koneksi jaringan |
MAX_MCP_OUTPUT_TOKENS | Jumlah maksimum token yang diizinkan dalam respons alat MCP. Claude Code menampilkan peringatan ketika output melebihi 10.000 token (default: 25000) |
MAX_THINKING_TOKENS | Aktifkan pemikiran yang diperluas dan atur anggaran token untuk proses pemikiran. Pemikiran yang diperluas meningkatkan kinerja pada tugas penalaran dan pengkodean yang kompleks tetapi mempengaruhi efisiensi caching prompt. Dinonaktifkan secara default. |
MCP_TIMEOUT | Batas waktu dalam milidetik untuk startup server MCP |
MCP_TOOL_TIMEOUT | Batas waktu dalam milidetik untuk eksekusi alat MCP |
NO_PROXY | Daftar domain dan IP ke mana permintaan akan dikeluarkan secara langsung, melewati proxy |
SLASH_COMMAND_TOOL_CHAR_BUDGET | Jumlah maksimum karakter untuk metadata perintah garis miring yang ditampilkan ke alat SlashCommand (default: 15000) |
USE_BUILTIN_RIPGREP | Atur ke 0 untuk menggunakan rg yang diinstal sistem alih-alih rg yang disertakan dengan Claude Code |
VERTEX_REGION_CLAUDE_3_5_HAIKU | Ganti wilayah untuk Claude 3.5 Haiku saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Ganti wilayah untuk Claude 3.7 Sonnet saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Ganti wilayah untuk Claude 4.0 Opus saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Ganti wilayah untuk Claude 4.0 Sonnet saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_4_1_OPUS | Ganti wilayah untuk Claude 4.1 Opus saat menggunakan Vertex AI |
Alat yang tersedia untuk Claude
Claude Code memiliki akses ke serangkaian alat canggih yang membantu memahami dan memodifikasi basis kode Anda:| Alat | Deskripsi | Izin Diperlukan |
|---|---|---|
| Bash | Mengeksekusi perintah shell di lingkungan Anda | Ya |
| Edit | Membuat pengeditan bertarget ke file tertentu | Ya |
| Glob | Menemukan file berdasarkan pencocokan pola | Tidak |
| Grep | Mencari pola dalam konten file | Tidak |
| NotebookEdit | Memodifikasi sel notebook Jupyter | Ya |
| NotebookRead | Membaca dan menampilkan konten notebook Jupyter | Tidak |
| Read | Membaca konten file | Tidak |
| SlashCommand | Menjalankan perintah garis miring khusus | Ya |
| Task | Menjalankan subagent untuk menangani tugas yang kompleks dan multi-langkah | Tidak |
| TodoWrite | Membuat dan mengelola daftar tugas terstruktur | Tidak |
| WebFetch | Mengambil konten dari URL yang ditentukan | Ya |
| WebSearch | Melakukan pencarian web dengan penyaringan domain | Ya |
| Write | Membuat atau menimpa file | Ya |
/allowed-tools atau dalam pengaturan izin. Lihat juga Aturan izin khusus alat.
Memperluas alat dengan hook
Anda dapat menjalankan perintah khusus sebelum atau sesudah alat apa pun dieksekusi menggunakan hook Claude Code. Misalnya, Anda dapat secara otomatis menjalankan formatter Python setelah Claude memodifikasi file Python, atau mencegah modifikasi file konfigurasi produksi dengan memblokir operasi Write ke jalur tertentu.Lihat juga
- Identitas dan Manajemen Akses - Pelajari tentang sistem izin Claude Code
- IAM dan kontrol akses - Manajemen kebijakan perusahaan
- Pemecahan masalah - Solusi untuk masalah konfigurasi umum