Claude Code menawarkan berbagai pengaturan untuk mengonfigurasi perilakunya sesuai kebutuhan Anda. Anda dapat mengonfigurasi Claude Code dengan menjalankan perintah /config saat menggunakan REPL interaktif, yang membuka antarmuka Pengaturan bertab di mana Anda dapat melihat informasi status dan memodifikasi opsi konfigurasi.

File pengaturan

File settings.json adalah mekanisme resmi kami untuk mengonfigurasi Claude Code melalui pengaturan hierarki:
  • Pengaturan pengguna didefinisikan dalam ~/.claude/settings.json dan berlaku untuk semua proyek.
  • Pengaturan proyek disimpan di direktori proyek Anda:
    • .claude/settings.json untuk pengaturan yang diperiksa ke dalam kontrol sumber dan dibagikan dengan tim Anda
    • .claude/settings.local.json untuk pengaturan yang tidak diperiksa, berguna untuk preferensi pribadi dan eksperimen. Claude Code akan mengonfigurasi git untuk mengabaikan .claude/settings.local.json saat 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
  • 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
Contoh settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

Pengaturan yang tersedia

settings.json mendukung sejumlah opsi:
KunciDeskripsiContoh
apiKeyHelperSkrip 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
cleanupPeriodDaysBerapa lama untuk mempertahankan transkrip obrolan secara lokal berdasarkan tanggal aktivitas terakhir (default: 30 hari)20
envVariabel lingkungan yang akan diterapkan ke setiap sesi{"FOO": "bar"}
includeCoAuthoredByApakah akan menyertakan garis byline co-authored-by Claude dalam komit git dan permintaan tarik (default: true)false
permissionsLihat tabel di bawah untuk struktur izin.
hooksKonfigurasikan perintah khusus untuk dijalankan sebelum atau sesudah eksekusi alat. Lihat dokumentasi hooks{"PreToolUse": {"Bash": "echo 'Running command...'"}}
disableAllHooksNonaktifkan semua hookstrue
modelGanti model default yang digunakan untuk Claude Code"claude-sonnet-4-5-20250929"
statusLineKonfigurasikan garis status khusus untuk menampilkan konteks. Lihat dokumentasi statusLine{"type": "command", "command": "~/.claude/statusline.sh"}
outputStyleKonfigurasikan gaya output untuk menyesuaikan prompt sistem. Lihat dokumentasi gaya output"Explanatory"
forceLoginMethodGunakan claudeai untuk membatasi login ke akun Claude.ai, console untuk membatasi login ke akun Claude Console (penagihan penggunaan API)claudeai
forceLoginOrgUUIDTentukan UUID organisasi untuk secara otomatis memilihnya selama login, melewati langkah pemilihan organisasi. Memerlukan forceLoginMethod untuk diatur"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
enableAllProjectMcpServersSecara otomatis menyetujui semua server MCP yang didefinisikan dalam file .mcp.json proyektrue
enabledMcpjsonServersDaftar server MCP spesifik dari file .mcp.json untuk disetujui["memory", "github"]
disabledMcpjsonServersDaftar server MCP spesifik dari file .mcp.json untuk ditolak["filesystem"]
useEnterpriseMcpConfigOnlyKetika diatur dalam managed-settings.json, membatasi server MCP hanya ke yang didefinisikan dalam managed-mcp.json. Lihat Konfigurasi MCP Perusahaantrue
allowedMcpServersKetika 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" }]
deniedMcpServersKetika 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" }]
awsAuthRefreshSkrip khusus yang memodifikasi direktori .aws (lihat konfigurasi kredensial lanjutan)aws sso login --profile myprofile
awsCredentialExportSkrip khusus yang menampilkan JSON dengan kredensial AWS (lihat konfigurasi kredensial lanjutan)/bin/generate_aws_grant.sh

Pengaturan izin

KunciDeskripsiContoh
allowArray dari aturan izin untuk memungkinkan penggunaan alat. Catatan: Aturan Bash menggunakan pencocokan awalan, bukan regex[ "Bash(git diff:*)" ]
askArray dari aturan izin untuk meminta konfirmasi saat penggunaan alat.[ "Bash(git push:*)" ]
denyArray 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/**)" ]
additionalDirectoriesDirektori kerja tambahan yang dapat diakses Claude[ "../docs/" ]
defaultModeMode izin default saat membuka Claude Code"acceptEdits"
disableBypassPermissionsModeAtur 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.
KunciDeskripsiContoh
enabledAktifkan sandboxing bash (macOS/Linux saja). Default: falsetrue
autoAllowBashIfSandboxedSecara otomatis menyetujui perintah bash saat di-sandbox. Default: truetrue
excludedCommandsPerintah yang harus dijalankan di luar sandbox["git", "docker"]
network.allowUnixSocketsJalur soket Unix yang dapat diakses di sandbox (untuk agen SSH, dll.)["~/.ssh/agent-socket"]
network.allowLocalBindingIzinkan pengikatan ke port localhost (MacOS saja). Default: falsetrue
network.httpProxyPortPort proxy HTTP yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri.8080
network.socksProxyPortPort proxy SOCKS5 yang digunakan jika Anda ingin membawa proxy Anda sendiri. Jika tidak ditentukan, Claude akan menjalankan proxy-nya sendiri.8081
enableWeakerNestedSandboxAktifkan sandbox yang lebih lemah untuk lingkungan Docker yang tidak istimewa (Linux saja). Mengurangi keamanan. Default: falsetrue
Contoh konfigurasi:
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["docker"],
    "network": {
      "allowUnixSockets": [
        "/var/run/docker.sock"
      ],
      "allowLocalBinding": true
    }
  },
  "permissions": {
    "deny": [
      "Read(.envrc)",
      "Read(~/.aws/**)"
    ]
  }
}
Akses sistem file dikendalikan melalui izin Read/Edit:
  • 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
Akses jaringan dikendalikan melalui izin WebFetch:
  • Aturan izin WebFetch memungkinkan domain jaringan
  • Aturan penolakan WebFetch memblokir domain jaringan

Prioritas pengaturan

Pengaturan diterapkan dalam urutan prioritas (tertinggi ke terendah):
  1. Kebijakan yang dikelola perusahaan (managed-settings.json)
    • Diterapkan oleh IT/DevOps
    • Tidak dapat ditimpa
  2. Argumen baris perintah
    • Penggantian sementara untuk sesi tertentu
  3. Pengaturan proyek lokal (.claude/settings.local.json)
    • Pengaturan proyek pribadi yang spesifik
  4. Pengaturan proyek bersama (.claude/settings.json)
    • Pengaturan proyek yang dibagikan tim dalam kontrol sumber
  5. Pengaturan pengguna (~/.claude/settings.json)
    • Pengaturan global pribadi
Hierarki ini memastikan bahwa kebijakan keamanan perusahaan selalu ditegakkan sambil tetap memungkinkan tim dan individu untuk menyesuaikan pengalaman mereka.

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 pengaturan permissions.deny dalam file .claude/settings.json Anda:
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}
Ini menggantikan konfigurasi 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
File subagent mendefinisikan asisten AI khusus dengan prompt khusus dan izin alat. Pelajari lebih lanjut tentang membuat dan menggunakan subagent dalam dokumentasi subagent.

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 dalam settings.json:
{
  "enabledPlugins": {
    "formatter@company-tools": true,
    "deployer@company-tools": true,
    "analyzer@security-plugins": false
  },
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": "github",
      "repo": "company/claude-plugins"
    }
  }
}

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)
Contoh:
{
  "enabledPlugins": {
    "code-formatter@team-tools": true,
    "deployment-tools@team-tools": true,
    "experimental-features@personal": false
  }
}

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:
  1. Anggota tim diminta untuk menginstal marketplace saat mereka mempercayai folder
  2. Anggota tim kemudian diminta untuk menginstal plugin dari marketplace itu
  3. Pengguna dapat melewati marketplace atau plugin yang tidak diinginkan (disimpan dalam pengaturan pengguna)
  4. Instalasi menghormati batas kepercayaan dan memerlukan persetujuan eksplisit
Contoh:
{
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": {
        "source": "github",
        "repo": "company-org/claude-plugins"
      }
    },
    "security-plugins": {
      "source": {
        "source": "git",
        "url": "https://git.company.com/security/plugins.git"
      }
    }
  }
}
Jenis sumber marketplace:
  • github: Repositori GitHub (menggunakan repo)
  • git: URL git apa pun (menggunakan url)
  • directory: Jalur sistem file lokal (menggunakan path, 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
Pelajari lebih lanjut tentang sistem plugin dalam dokumentasi plugin.

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.
VariabelTujuan
ANTHROPIC_API_KEYKunci API dikirim sebagai header X-Api-Key, biasanya untuk Claude SDK (untuk penggunaan interaktif, jalankan /login)
ANTHROPIC_AUTH_TOKENNilai khusus untuk header Authorization (nilai yang Anda atur di sini akan diawali dengan Bearer )
ANTHROPIC_CUSTOM_HEADERSHeader khusus yang ingin Anda tambahkan ke permintaan (dalam format Name: Value)
ANTHROPIC_DEFAULT_HAIKU_MODELLihat Konfigurasi Model
ANTHROPIC_DEFAULT_OPUS_MODELLihat Konfigurasi Model
ANTHROPIC_DEFAULT_SONNET_MODELLihat Konfigurasi Model
ANTHROPIC_MODELNama 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_REGIONGanti wilayah AWS untuk model kelas Haiku saat menggunakan Bedrock
AWS_BEARER_TOKEN_BEDROCKKunci API Bedrock untuk autentikasi (lihat Kunci API Bedrock)
BASH_DEFAULT_TIMEOUT_MSBatas waktu default untuk perintah bash yang berjalan lama
BASH_MAX_OUTPUT_LENGTHJumlah maksimum karakter dalam output bash sebelum dipotong di tengah
BASH_MAX_TIMEOUT_MSBatas waktu maksimum yang dapat ditetapkan model untuk perintah bash yang berjalan lama
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRKembali ke direktori kerja asli setelah setiap perintah Bash
CLAUDE_CODE_API_KEY_HELPER_TTL_MSInterval dalam milidetik di mana kredensial harus disegarkan (saat menggunakan apiKeyHelper)
CLAUDE_CODE_CLIENT_CERTJalur ke file sertifikat klien untuk autentikasi mTLS
CLAUDE_CODE_CLIENT_KEY_PASSPHRASEFrasa sandi untuk CLAUDE_CODE_CLIENT_KEY terenkripsi (opsional)
CLAUDE_CODE_CLIENT_KEYJalur ke file kunci pribadi klien untuk autentikasi mTLS
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICSetara dengan pengaturan DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, dan DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_TERMINAL_TITLEAtur ke 1 untuk menonaktifkan pembaruan judul terminal otomatis berdasarkan konteks percakapan
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLLewati instalasi otomatis ekstensi IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSAtur jumlah maksimum token output untuk sebagian besar permintaan
CLAUDE_CODE_SKIP_BEDROCK_AUTHLewati autentikasi AWS untuk Bedrock (misalnya saat menggunakan gateway LLM)
CLAUDE_CODE_SKIP_VERTEX_AUTHLewati autentikasi Google untuk Vertex (misalnya saat menggunakan gateway LLM)
CLAUDE_CODE_SUBAGENT_MODELLihat Konfigurasi Model
CLAUDE_CODE_USE_BEDROCKGunakan Bedrock
CLAUDE_CODE_USE_VERTEXGunakan Vertex
DISABLE_AUTOUPDATERAtur ke 1 untuk menonaktifkan pembaruan otomatis. Ini memiliki prioritas atas pengaturan konfigurasi autoUpdates.
DISABLE_BUG_COMMANDAtur ke 1 untuk menonaktifkan perintah /bug
DISABLE_COST_WARNINGSAtur ke 1 untuk menonaktifkan pesan peringatan biaya
DISABLE_ERROR_REPORTINGAtur ke 1 untuk menolak pelaporan kesalahan Sentry
DISABLE_NON_ESSENTIAL_MODEL_CALLSAtur ke 1 untuk menonaktifkan panggilan model untuk jalur non-kritis seperti teks rasa
DISABLE_PROMPT_CACHINGAtur ke 1 untuk menonaktifkan caching prompt untuk semua model (memiliki prioritas atas pengaturan per-model)
DISABLE_PROMPT_CACHING_HAIKUAtur ke 1 untuk menonaktifkan caching prompt untuk model Haiku
DISABLE_PROMPT_CACHING_OPUSAtur ke 1 untuk menonaktifkan caching prompt untuk model Opus
DISABLE_PROMPT_CACHING_SONNETAtur ke 1 untuk menonaktifkan caching prompt untuk model Sonnet
DISABLE_TELEMETRYAtur ke 1 untuk menolak telemetri Statsig (perhatikan bahwa acara Statsig tidak menyertakan data pengguna seperti kode, jalur file, atau perintah bash)
HTTP_PROXYTentukan server proxy HTTP untuk koneksi jaringan
HTTPS_PROXYTentukan server proxy HTTPS untuk koneksi jaringan
MAX_MCP_OUTPUT_TOKENSJumlah maksimum token yang diizinkan dalam respons alat MCP. Claude Code menampilkan peringatan ketika output melebihi 10.000 token (default: 25000)
MAX_THINKING_TOKENSAktifkan 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_TIMEOUTBatas waktu dalam milidetik untuk startup server MCP
MCP_TOOL_TIMEOUTBatas waktu dalam milidetik untuk eksekusi alat MCP
NO_PROXYDaftar domain dan IP ke mana permintaan akan dikeluarkan secara langsung, melewati proxy
SLASH_COMMAND_TOOL_CHAR_BUDGETJumlah maksimum karakter untuk metadata perintah garis miring yang ditampilkan ke alat SlashCommand (default: 15000)
USE_BUILTIN_RIPGREPAtur ke 0 untuk menggunakan rg yang diinstal sistem alih-alih rg yang disertakan dengan Claude Code
VERTEX_REGION_CLAUDE_3_5_HAIKUGanti wilayah untuk Claude 3.5 Haiku saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_3_7_SONNETGanti wilayah untuk Claude 3.7 Sonnet saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_4_0_OPUSGanti wilayah untuk Claude 4.0 Opus saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_4_0_SONNETGanti wilayah untuk Claude 4.0 Sonnet saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_4_1_OPUSGanti 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:
AlatDeskripsiIzin Diperlukan
BashMengeksekusi perintah shell di lingkungan AndaYa
EditMembuat pengeditan bertarget ke file tertentuYa
GlobMenemukan file berdasarkan pencocokan polaTidak
GrepMencari pola dalam konten fileTidak
NotebookEditMemodifikasi sel notebook JupyterYa
NotebookReadMembaca dan menampilkan konten notebook JupyterTidak
ReadMembaca konten fileTidak
SlashCommandMenjalankan perintah garis miring khususYa
TaskMenjalankan subagent untuk menangani tugas yang kompleks dan multi-langkahTidak
TodoWriteMembuat dan mengelola daftar tugas terstrukturTidak
WebFetchMengambil konten dari URL yang ditentukanYa
WebSearchMelakukan pencarian web dengan penyaringan domainYa
WriteMembuat atau menimpa fileYa
Aturan izin dapat dikonfigurasi menggunakan /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