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 dicek ke dalam kontrol sumber dan dibagikan dengan tim Anda
    • .claude/settings.local.json untuk pengaturan yang tidak dicek masuk, 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 /Library/Application Support/ClaudeCode/policies.json pada macOS dan /etc/claude-code/policies.json pada Linux dan Windows melalui WSL.
Example 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, untuk 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
permissionsKunci allow dan deny adalah daftar aturan izin{"allow": [ "Bash(npm run lint)" ]}

Prioritas pengaturan

Pengaturan diterapkan dalam urutan prioritas:

  1. Kebijakan enterprise (lihat dokumentasi IAM)
  2. Argumen baris perintah
  3. Pengaturan proyek lokal
  4. Pengaturan proyek bersama
  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 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 untuk 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 disegarkan (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 pembaruan 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 keluar 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 keluar 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 thinking untuk anggaran 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 ditinggalkan 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 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
autoUpdaterStatusAktifkan atau nonaktifkan auto-updater (default: enabled)disabled
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 kuat yang membantunya memahami dan memodifikasi codebase Anda:

ToolDeskripsiIzin Diperlukan
AgentMenjalankan sub-agent untuk menangani tugas kompleks multi-langkahTidak
BashMengeksekusi perintah shell di lingkungan AndaYa
EditMembuat edit yang ditargetkan ke 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 penyaringan domainYa
WriteMembuat atau menimpa fileYa

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

Lihat juga