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 dari 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
Example 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, yang akan 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 akan 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 sesudah eksekusi tool. Lihat dokumentasi hooks{"PreToolUse": {"Bash": "echo 'Running command...'"}}
modelOverride model default yang 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"}
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 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"]
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[ "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.[ "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 bersama 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 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 system prompt

Tidak seperti untuk claude.ai, kami tidak mempublikasikan system prompt 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, API key, secret, file environment), 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_KEYAPI key yang 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_MODELNama model kustom yang akan digunakan (lihat Konfigurasi Model)
ANTHROPIC_SMALL_FAST_MODELNama model kelas Haiku untuk tugas latar belakang
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONOverride region AWS untuk model kecil/cepat saat menggunakan Bedrock
AWS_BEARER_TOKEN_BEDROCKAPI key Bedrock untuk autentikasi (lihat API key Bedrock)
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 karakter maksimum 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_IDE_SKIP_AUTO_INSTALLLewati instalasi otomatis ekstensi IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSAtur jumlah maksimum token output untuk sebagian besar permintaan
CLAUDE_CODE_USE_BEDROCKGunakan Bedrock
CLAUDE_CODE_USE_VERTEXGunakan 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
CLAUDE_CODE_DISABLE_TERMINAL_TITLEAtur ke 1 untuk menonaktifkan pembaruan judul terminal otomatis berdasarkan konteks percakapan
DISABLE_AUTOUPDATERAtur ke 1 untuk menonaktifkan pembaruan otomatis. Ini memiliki prioritas lebih tinggi dari 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 flavor text
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)
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 region untuk Claude 3.5 Haiku saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_3_5_SONNETOverride region untuk Claude Sonnet 3.5 saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_3_7_SONNETOverride region untuk Claude 3.7 Sonnet saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_4_0_OPUSOverride region untuk Claude 4.0 Opus saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_4_0_SONNETOverride region untuk Claude 4.0 Sonnet saat menggunakan Vertex AI
VERTEX_REGION_CLAUDE_4_1_OPUSOverride region 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 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 pembaruan otomatis (default: true). Saat diaktifkan, Claude Code secara otomatis mengunduh dan menginstal pembaruan di latar belakang. Pembaruan diterapkan saat Anda me-restart Claude Code.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
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
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 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 hooks Claude Code.

Misalnya, Anda bisa 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