Claude Code menawarkan berbagai pengaturan untuk mengkonfigurasi perilakunya agar sesuai dengan kebutuhan Anda. Anda dapat mengkonfigurasi Claude Code dengan menjalankan perintah /config saat menggunakan REPL interaktif.

File pengaturan

File settings.json adalah mekanisme resmi kami untuk mengkonfigurasi Claude Code melalui pengaturan hierarkis:

  • Pengaturan pengguna didefinisikan dalam ~/.claude/settings.json dan berlaku untuk semua proyek.
  • Pengaturan proyek disimpan dalam direktori proyek Anda:
    • .claude/settings.json untuk pengaturan yang di-check in ke kontrol sumber dan dibagikan dengan tim Anda
    • .claude/settings.local.json untuk pengaturan yang tidak di-check in, berguna untuk preferensi pribadi dan eksperimen. Claude Code akan mengkonfigurasi git untuk mengabaikan .claude/settings.local.json ketika dibuat.
  • Untuk deployment enterprise Claude Code, kami juga mendukung pengaturan kebijakan yang dikelola enterprise. Ini mengambil prioritas atas pengaturan pengguna dan proyek. Administrator sistem dapat men-deploy 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
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 kustom, untuk dieksekusi dalam /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 menyimpan transkrip chat secara lokal berdasarkan tanggal aktivitas terakhir (default: 30 hari)20
envVariabel lingkungan yang akan diterapkan ke setiap sesi{"FOO": "bar"}
includeCoAuthoredByApakah menyertakan byline co-authored-by Claude dalam commit git dan pull request (default: true)false
permissionsLihat tabel di bawah untuk struktur permissions.
hooksKonfigurasikan perintah kustom untuk dijalankan sebelum atau setelah eksekusi tool. Lihat dokumentasi hooks{"PreToolUse": {"Bash": "echo 'Running command...'"}}
disableAllHooksNonaktifkan semua hookstrue
modelOverride model default untuk digunakan untuk Claude Code"claude-3-5-sonnet-20241022"
statusLineKonfigurasikan status line kustom 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 Anthropic Console (penagihan penggunaan API)claudeai
forceLoginOrgUUIDTentukan UUID organisasi untuk memilihnya secara otomatis 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 proyek .mcp.jsontrue
enabledMcpjsonServersDaftar server MCP spesifik dari file .mcp.json untuk disetujui["memory", "github"]
disabledMcpjsonServersDaftar server MCP spesifik dari file .mcp.json untuk ditolak["filesystem"]
awsAuthRefreshSkrip kustom yang memodifikasi direktori .aws (lihat konfigurasi kredensial lanjutan)aws sso login --profile myprofile
awsCredentialExportSkrip kustom yang mengeluarkan JSON dengan kredensial AWS (lihat konfigurasi kredensial lanjutan)/bin/generate_aws_grant.sh

Pengaturan permission

KunciDeskripsiContoh
allowArray dari aturan permission untuk mengizinkan penggunaan tool. Catatan: Aturan Bash menggunakan pencocokan prefix, bukan regex[ "Bash(git diff:*)" ]
askArray dari aturan permission untuk meminta konfirmasi saat penggunaan tool.[ "Bash(git push:*)" ]
denyArray dari aturan permission untuk menolak penggunaan tool. Gunakan ini juga untuk mengecualikan file sensitif dari akses Claude Code. Catatan: Pola Bash adalah pencocokan prefix dan dapat dilewati (lihat keterbatasan permission Bash)[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectoriesDirektori kerja tambahan yang dapat diakses Claude[ "../docs/" ]
defaultModeMode permission default saat membuka Claude Code"acceptEdits"
disableBypassPermissionsModeAtur ke "disable" untuk mencegah mode bypassPermissions diaktifkan. Lihat pengaturan kebijakan yang dikelola"disable"

Prioritas pengaturan

Pengaturan diterapkan berdasarkan urutan prioritas (tertinggi ke terendah):

  1. Kebijakan yang dikelola enterprise (managed-settings.json)

    • Di-deploy oleh IT/DevOps
    • Tidak dapat di-override
  2. Argumen command line

    • Override sementara untuk sesi tertentu
  3. Pengaturan proyek lokal (.claude/settings.local.json)

    • Pengaturan pribadi khusus proyek
  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 enterprise selalu ditegakkan sambil tetap memungkinkan tim dan individu untuk menyesuaikan pengalaman mereka.

Poin kunci tentang sistem konfigurasi

  • File memori (CLAUDE.md): Berisi instruksi dan konteks yang dimuat Claude saat startup
  • File pengaturan (JSON): Mengkonfigurasi permissions, variabel lingkungan, dan perilaku tool
  • Perintah slash: Perintah kustom yang dapat dipanggil selama sesi dengan /command-name
  • Server MCP: Memperluas Claude Code dengan tool dan integrasi tambahan
  • Prioritas: Konfigurasi tingkat yang lebih tinggi (Enterprise) menimpa yang tingkat lebih rendah (User/Project)
  • Inheritance: Pengaturan digabungkan, dengan pengaturan yang lebih spesifik menambahkan atau menimpa yang lebih luas

Ketersediaan prompt sistem

Tidak seperti untuk claude.ai, kami tidak mempublikasikan prompt sistem internal Claude Code di website ini. Gunakan file CLAUDE.md atau --append-system-prompt untuk menambahkan instruksi kustom 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 deprecated. File yang cocok dengan pola ini akan benar-benar tidak terlihat oleh Claude Code, mencegah paparan data sensitif yang tidak disengaja.

Konfigurasi subagent

Claude Code mendukung subagent AI kustom 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 kustom dan permission tool. Pelajari lebih lanjut tentang membuat dan menggunakan subagent dalam dokumentasi subagent.

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 mengatur 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 kustom untuk header Authorization (nilai yang Anda atur di sini akan diawali dengan Bearer )
ANTHROPIC_CUSTOM_HEADERSHeader kustom 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[DEPRECATED] Nama model kelas Haiku untuk tugas latar belakang
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONOverride wilayah AWS untuk model kelas Haiku saat menggunakan Bedrock
AWS_BEARER_TOKEN_BEDROCKKunci API Bedrock untuk autentikasi (lihat Kunci API Bedrock)
BASH_DEFAULT_TIMEOUT_MSTimeout default untuk perintah bash yang berjalan lama
BASH_MAX_OUTPUT_LENGTHJumlah maksimum karakter dalam output bash sebelum dipotong di tengah
BASH_MAX_TIMEOUT_MSTimeout maksimum yang dapat diatur 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 di-refresh (saat menggunakan apiKeyHelper)
CLAUDE_CODE_CLIENT_CERTPath ke file sertifikat klien untuk autentikasi mTLS
CLAUDE_CODE_CLIENT_KEY_PASSPHRASEPassphrase untuk CLAUDE_CODE_CLIENT_KEY yang terenkripsi (opsional)
CLAUDE_CODE_CLIENT_KEYPath ke file kunci privat klien untuk autentikasi mTLS
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICSetara dengan mengatur 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 mengambil 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 opt out dari pelaporan error Sentry
DISABLE_NON_ESSENTIAL_MODEL_CALLSAtur ke 1 untuk menonaktifkan panggilan model untuk jalur non-kritis seperti teks flavor
DISABLE_TELEMETRYAtur ke 1 untuk opt out dari telemetri Statsig (perhatikan bahwa event Statsig tidak menyertakan data pengguna seperti kode, path 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 tool MCP. Claude Code menampilkan peringatan ketika output melebihi 10.000 token (default: 25000)
MAX_THINKING_TOKENSPaksa anggaran thinking untuk model
MCP_TIMEOUTTimeout dalam milidetik untuk startup server MCP
MCP_TOOL_TIMEOUTTimeout dalam milidetik untuk eksekusi tool MCP
NO_PROXYDaftar domain dan IP yang permintaannya akan dikirim langsung, melewati proxy
USE_BUILTIN_RIPGREPAtur ke 0 untuk menggunakan rg yang terinstal sistem alih-alih rg yang disertakan dengan Claude Code
VERTEX_REGION_CLAUDE_3_5_HAIKUOverride wilayah untuk Claude 3.5 Haiku saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_3_5_SONNETOverride wilayah untuk Claude Sonnet 3.5 saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_3_7_SONNETOverride wilayah untuk Claude 3.7 Sonnet saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_4_0_OPUSOverride wilayah untuk Claude 4.0 Opus saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_4_0_SONNETOverride wilayah untuk Claude 4.0 Sonnet saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_4_1_OPUSOverride wilayah untuk Claude 4.1 Opus saat menggunakan Vertex AI

Opsi konfigurasi

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>
  • Push 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>:

KunciDeskripsiContoh
autoUpdatesDEPRECATED. Gunakan variabel lingkungan DISABLE_AUTOUPDATER sebagai gantinya.false
preferredNotifChannelDi mana Anda ingin menerima notifikasi (default: iterm2)iterm2, iterm2_with_bell, terminal_bell, atau notifications_disabled
themeTema warnadark, light, light-daltonized, atau dark-daltonized
verboseApakah menampilkan output bash dan perintah lengkap (default: false)true

Tool yang tersedia untuk Claude

Claude Code memiliki akses ke serangkaian tool yang kuat yang membantunya memahami dan memodifikasi codebase Anda:

ToolDeskripsiPermission Diperlukan
BashMengeksekusi perintah shell di lingkungan AndaYa
EditMembuat edit yang ditargetkan ke file tertentuYa
GlobMenemukan file berdasarkan pencocokan polaTidak
GrepMencari pola dalam konten fileTidak
MultiEditMelakukan beberapa edit pada satu file secara atomikYa
NotebookEditMemodifikasi sel notebook JupyterYa
NotebookReadMembaca dan menampilkan konten notebook JupyterTidak
ReadMembaca konten fileTidak
TaskMenjalankan sub-agent untuk menangani tugas kompleks multi-langkahTidak
TodoWriteMembuat dan mengelola daftar tugas terstrukturTidak
WebFetchMengambil konten dari URL yang ditentukanYa
WebSearchMelakukan pencarian web dengan penyaringan domainYa
WriteMembuat atau men-overwrite fileYa

Aturan permission dapat dikonfigurasi menggunakan /allowed-tools atau dalam pengaturan permission. Lihat juga Aturan permission khusus tool.

Memperluas tool dengan hooks

Anda dapat menjalankan perintah kustom sebelum atau setelah tool apa pun dieksekusi menggunakan hooks 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 path tertentu.

Lihat juga