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 saat dibuat.
  • Untuk deployment enterprise Claude Code, kami juga mendukung pengaturan kebijakan yang dikelola enterprise. Ini memiliki prioritas lebih tinggi daripada pengaturan pengguna dan proyek. Administrator sistem dapat men-deploy kebijakan ke /Library/Application Support/ClaudeCode/managed-settings.json di macOS dan /etc/claude-code/managed-settings.json di Linux dan Windows melalui WSL.
Contoh settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

Pengaturan yang tersedia

settings.json mendukung sejumlah opsi:

KunciDeskripsiContoh
apiKeyHelperSkrip kustom, yang akan dieksekusi dalam /bin/sh, untuk menghasilkan nilai auth. Nilai ini umumnya akan dikirim sebagai header X-Api-Key, Authorization: Bearer, dan Proxy-Authorization: Bearer untuk permintaan model/bin/generate_temp_api_key.sh
cleanupPeriodDaysBerapa lama menyimpan transkrip chat secara lokal (default: 30 hari)20
envVariabel lingkungan yang akan diterapkan ke setiap sesi{"FOO": "bar"}
includeCoAuthoredByApakah akan menyertakan byline co-authored-by Claude dalam commit git dan pull request (default: true)false
permissionsLihat tabel di bawah untuk struktur permissions.

Pengaturan permission

KunciDeskripsiContoh
allowArray aturan permission untuk mengizinkan penggunaan tool[ "Bash(git diff:*)" ]
denyArray aturan permission untuk menolak penggunaan tool[ "WebFetch", "Bash(curl:*)" ]
additionalDirectoriesDirektori kerja tambahan yang dapat diakses Claude[ "../docs/" ]
defaultModeMode permission default saat membuka Claude Code"allowEdits"
disableBypassPermissionsModeAtur ke "disable" untuk mencegah mode bypassPermissions diaktifkan. Lihat pengaturan kebijakan yang dikelola"disable"

Prioritas pengaturan

Pengaturan diterapkan berdasarkan urutan prioritas:

  1. Kebijakan enterprise (lihat dokumentasi IAM)
  2. Argumen command line
  3. Pengaturan proyek lokal
  4. Pengaturan proyek yang dibagikan
  5. Pengaturan pengguna

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 yang dikirim sebagai header X-Api-Key, biasanya untuk Claude SDK (untuk penggunaan interaktif, jalankan /login)
ANTHROPIC_AUTH_TOKENNilai kustom untuk header Authorization dan Proxy-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_MODELNama model kustom yang akan digunakan (lihat Konfigurasi Model)
ANTHROPIC_SMALL_FAST_MODELNama model kelas Haiku untuk tugas latar belakang
BASH_DEFAULT_TIMEOUT_MSTimeout default untuk perintah bash yang berjalan lama
BASH_MAX_TIMEOUT_MSTimeout maksimum yang dapat diatur model untuk perintah bash yang berjalan lama
BASH_MAX_OUTPUT_LENGTHJumlah maksimum karakter dalam output bash sebelum dipotong di tengah
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_MAX_OUTPUT_TOKENSAtur jumlah maksimum token output untuk sebagian besar permintaan
CLAUDE_CODE_USE_BEDROCKGunakan Bedrock (lihat Bedrock & Vertex)
CLAUDE_CODE_USE_VERTEXGunakan Vertex (lihat Bedrock & Vertex)
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_DISABLE_NONESSENTIAL_TRAFFICSetara dengan mengatur DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, dan DISABLE_TELEMETRY
DISABLE_AUTOUPDATERAtur ke 1 untuk menonaktifkan updater otomatis
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, jalur file, atau perintah bash)
HTTP_PROXYTentukan server proxy HTTP untuk koneksi jaringan
HTTPS_PROXYTentukan server proxy HTTPS untuk koneksi jaringan
MAX_THINKING_TOKENSPaksa anggaran thinking untuk model
MCP_TIMEOUTTimeout dalam milidetik untuk startup server MCP
MCP_TOOL_TIMEOUTTimeout dalam milidetik untuk eksekusi tool MCP
MAX_MCP_OUTPUT_TOKENSJumlah maksimum token yang diizinkan dalam respons tool MCP (default: 25000)

Opsi konfigurasi

Kami sedang dalam proses migrasi konfigurasi global ke settings.json.

claude config akan deprecated menggantikan settings.json

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 list): claude config add <key> <value>
  • Hapus dari pengaturan (untuk list): 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
autoUpdatesApakah akan mengaktifkan update otomatis (default: true)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 akan menampilkan output bash dan perintah lengkap (default: false)true

Tool yang tersedia untuk Claude

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

ToolDeskripsiPermission Diperlukan
AgentMenjalankan sub-agent untuk menangani tugas kompleks multi-langkahTidak
BashMengeksekusi perintah shell di lingkungan AndaYa
EditMelakukan edit yang ditargetkan pada file tertentuYa
GlobMenemukan file berdasarkan pencocokan polaTidak
GrepMencari pola dalam konten fileTidak
LSMendaftar file dan direktoriTidak
MultiEditMelakukan beberapa edit pada satu file secara atomikYa
NotebookEditMemodifikasi sel notebook JupyterYa
NotebookReadMembaca dan menampilkan konten notebook JupyterTidak
ReadMembaca konten fileTidak
TodoReadMembaca daftar tugas sesi saat iniTidak
TodoWriteMembuat dan mengelola daftar tugas terstrukturTidak
WebFetchMengambil konten dari URL yang ditentukanYa
WebSearchMelakukan pencarian web dengan filtering domainYa
WriteMembuat atau menimpa fileYa

Aturan permission dapat dikonfigurasi menggunakan /allowed-tools atau dalam pengaturan permission.

Memperluas tool dengan hooks

Anda dapat menjalankan perintah kustom sebelum atau sesudah tool apa pun dieksekusi menggunakan Claude Code hooks.

Misalnya, Anda dapat secara otomatis menjalankan formatter Python setelah Claude memodifikasi file Python, atau mencegah modifikasi pada file konfigurasi produksi dengan memblokir operasi Write ke jalur tertentu.

Lihat juga