Pengaturan Claude Code
Konfigurasikan Claude Code dengan pengaturan global dan tingkat proyek, serta variabel lingkungan.
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
- macOS:
Pengaturan yang tersedia
settings.json
mendukung sejumlah opsi:
Kunci | Deskripsi | Contoh |
---|---|---|
apiKeyHelper | Skrip 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 |
cleanupPeriodDays | Berapa lama menyimpan transkrip chat secara lokal berdasarkan tanggal aktivitas terakhir (default: 30 hari) | 20 |
env | Variabel lingkungan yang akan diterapkan ke setiap sesi | {"FOO": "bar"} |
includeCoAuthoredBy | Apakah menyertakan byline co-authored-by Claude dalam commit git dan pull request (default: true ) | false |
permissions | Lihat tabel di bawah untuk struktur permissions. | |
hooks | Konfigurasikan perintah kustom untuk dijalankan sebelum atau setelah eksekusi tool. Lihat dokumentasi hooks | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
disableAllHooks | Nonaktifkan semua hooks | true |
model | Override model default untuk digunakan untuk Claude Code | "claude-3-5-sonnet-20241022" |
statusLine | Konfigurasikan status line kustom untuk menampilkan konteks. Lihat dokumentasi statusLine | {"type": "command", "command": "~/.claude/statusline.sh"} |
outputStyle | Konfigurasikan gaya output untuk menyesuaikan prompt sistem. Lihat dokumentasi gaya output | "Explanatory" |
forceLoginMethod | Gunakan claudeai untuk membatasi login ke akun Claude.ai, console untuk membatasi login ke akun Anthropic Console (penagihan penggunaan API) | claudeai |
forceLoginOrgUUID | Tentukan UUID organisasi untuk memilihnya secara otomatis selama login, melewati langkah pemilihan organisasi. Memerlukan forceLoginMethod untuk diatur | "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
enableAllProjectMcpServers | Secara otomatis menyetujui semua server MCP yang didefinisikan dalam file proyek .mcp.json | true |
enabledMcpjsonServers | Daftar server MCP spesifik dari file .mcp.json untuk disetujui | ["memory", "github"] |
disabledMcpjsonServers | Daftar server MCP spesifik dari file .mcp.json untuk ditolak | ["filesystem"] |
awsAuthRefresh | Skrip kustom yang memodifikasi direktori .aws (lihat konfigurasi kredensial lanjutan) | aws sso login --profile myprofile |
awsCredentialExport | Skrip kustom yang mengeluarkan JSON dengan kredensial AWS (lihat konfigurasi kredensial lanjutan) | /bin/generate_aws_grant.sh |
Pengaturan permission
Kunci | Deskripsi | Contoh |
---|---|---|
allow | Array dari aturan permission untuk mengizinkan penggunaan tool. Catatan: Aturan Bash menggunakan pencocokan prefix, bukan regex | [ "Bash(git diff:*)" ] |
ask | Array dari aturan permission untuk meminta konfirmasi saat penggunaan tool. | [ "Bash(git push:*)" ] |
deny | Array 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/**)" ] |
additionalDirectories | Direktori kerja tambahan yang dapat diakses Claude | [ "../docs/" ] |
defaultMode | Mode permission default saat membuka Claude Code | "acceptEdits" |
disableBypassPermissionsMode | Atur ke "disable" untuk mencegah mode bypassPermissions diaktifkan. Lihat pengaturan kebijakan yang dikelola | "disable" |
Prioritas pengaturan
Pengaturan diterapkan berdasarkan urutan prioritas (tertinggi ke terendah):
-
Kebijakan yang dikelola enterprise (
managed-settings.json
)- Di-deploy oleh IT/DevOps
- Tidak dapat di-override
-
Argumen command line
- Override sementara untuk sesi tertentu
-
Pengaturan proyek lokal (
.claude/settings.local.json
)- Pengaturan pribadi khusus proyek
-
Pengaturan proyek bersama (
.claude/settings.json
)- Pengaturan proyek yang dibagikan tim dalam kontrol sumber
-
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:
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.
Variabel | Tujuan |
---|---|
ANTHROPIC_API_KEY | Kunci API dikirim sebagai header X-Api-Key , biasanya untuk Claude SDK (untuk penggunaan interaktif, jalankan /login ) |
ANTHROPIC_AUTH_TOKEN | Nilai kustom untuk header Authorization (nilai yang Anda atur di sini akan diawali dengan Bearer ) |
ANTHROPIC_CUSTOM_HEADERS | Header kustom yang ingin Anda tambahkan ke permintaan (dalam format Name: Value ) |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Lihat Konfigurasi model |
ANTHROPIC_DEFAULT_OPUS_MODEL | Lihat Konfigurasi model |
ANTHROPIC_DEFAULT_SONNET_MODEL | Lihat Konfigurasi model |
ANTHROPIC_MODEL | Nama 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_REGION | Override wilayah AWS untuk model kelas Haiku saat menggunakan Bedrock |
AWS_BEARER_TOKEN_BEDROCK | Kunci API Bedrock untuk autentikasi (lihat Kunci API Bedrock) |
BASH_DEFAULT_TIMEOUT_MS | Timeout default untuk perintah bash yang berjalan lama |
BASH_MAX_OUTPUT_LENGTH | Jumlah maksimum karakter dalam output bash sebelum dipotong di tengah |
BASH_MAX_TIMEOUT_MS | Timeout maksimum yang dapat diatur model untuk perintah bash yang berjalan lama |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | Kembali ke direktori kerja asli setelah setiap perintah Bash |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS | Interval dalam milidetik di mana kredensial harus di-refresh (saat menggunakan apiKeyHelper ) |
CLAUDE_CODE_CLIENT_CERT | Path ke file sertifikat klien untuk autentikasi mTLS |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE | Passphrase untuk CLAUDE_CODE_CLIENT_KEY yang terenkripsi (opsional) |
CLAUDE_CODE_CLIENT_KEY | Path ke file kunci privat klien untuk autentikasi mTLS |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | Setara dengan mengatur DISABLE_AUTOUPDATER , DISABLE_BUG_COMMAND , DISABLE_ERROR_REPORTING , dan DISABLE_TELEMETRY |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE | Atur ke 1 untuk menonaktifkan pembaruan judul terminal otomatis berdasarkan konteks percakapan |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL | Lewati instalasi otomatis ekstensi IDE |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | Atur jumlah maksimum token output untuk sebagian besar permintaan |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | Lewati autentikasi AWS untuk Bedrock (misalnya saat menggunakan gateway LLM) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Lewati autentikasi Google untuk Vertex (misalnya saat menggunakan gateway LLM) |
CLAUDE_CODE_SUBAGENT_MODEL | Lihat Konfigurasi model |
CLAUDE_CODE_USE_BEDROCK | Gunakan Bedrock |
CLAUDE_CODE_USE_VERTEX | Gunakan Vertex |
DISABLE_AUTOUPDATER | Atur ke 1 untuk menonaktifkan pembaruan otomatis. Ini mengambil prioritas atas pengaturan konfigurasi autoUpdates . |
DISABLE_BUG_COMMAND | Atur ke 1 untuk menonaktifkan perintah /bug |
DISABLE_COST_WARNINGS | Atur ke 1 untuk menonaktifkan pesan peringatan biaya |
DISABLE_ERROR_REPORTING | Atur ke 1 untuk opt out dari pelaporan error Sentry |
DISABLE_NON_ESSENTIAL_MODEL_CALLS | Atur ke 1 untuk menonaktifkan panggilan model untuk jalur non-kritis seperti teks flavor |
DISABLE_TELEMETRY | Atur ke 1 untuk opt out dari telemetri Statsig (perhatikan bahwa event Statsig tidak menyertakan data pengguna seperti kode, path file, atau perintah bash) |
HTTP_PROXY | Tentukan server proxy HTTP untuk koneksi jaringan |
HTTPS_PROXY | Tentukan server proxy HTTPS untuk koneksi jaringan |
MAX_MCP_OUTPUT_TOKENS | Jumlah maksimum token yang diizinkan dalam respons tool MCP. Claude Code menampilkan peringatan ketika output melebihi 10.000 token (default: 25000) |
MAX_THINKING_TOKENS | Paksa anggaran thinking untuk model |
MCP_TIMEOUT | Timeout dalam milidetik untuk startup server MCP |
MCP_TOOL_TIMEOUT | Timeout dalam milidetik untuk eksekusi tool MCP |
NO_PROXY | Daftar domain dan IP yang permintaannya akan dikirim langsung, melewati proxy |
USE_BUILTIN_RIPGREP | Atur ke 0 untuk menggunakan rg yang terinstal sistem alih-alih rg yang disertakan dengan Claude Code |
VERTEX_REGION_CLAUDE_3_5_HAIKU | Override wilayah untuk Claude 3.5 Haiku saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_3_5_SONNET | Override wilayah untuk Claude Sonnet 3.5 saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Override wilayah untuk Claude 3.7 Sonnet saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Override wilayah untuk Claude 4.0 Opus saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Override wilayah untuk Claude 4.0 Sonnet saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_4_1_OPUS | Override 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>
:
Kunci | Deskripsi | Contoh |
---|---|---|
autoUpdates | DEPRECATED. Gunakan variabel lingkungan DISABLE_AUTOUPDATER sebagai gantinya. | false |
preferredNotifChannel | Di mana Anda ingin menerima notifikasi (default: iterm2 ) | iterm2 , iterm2_with_bell , terminal_bell , atau notifications_disabled |
theme | Tema warna | dark , light , light-daltonized , atau dark-daltonized |
verbose | Apakah 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:
Tool | Deskripsi | Permission Diperlukan |
---|---|---|
Bash | Mengeksekusi perintah shell di lingkungan Anda | Ya |
Edit | Membuat edit yang ditargetkan ke file tertentu | Ya |
Glob | Menemukan file berdasarkan pencocokan pola | Tidak |
Grep | Mencari pola dalam konten file | Tidak |
MultiEdit | Melakukan beberapa edit pada satu file secara atomik | Ya |
NotebookEdit | Memodifikasi sel notebook Jupyter | Ya |
NotebookRead | Membaca dan menampilkan konten notebook Jupyter | Tidak |
Read | Membaca konten file | Tidak |
Task | Menjalankan sub-agent untuk menangani tugas kompleks multi-langkah | Tidak |
TodoWrite | Membuat dan mengelola daftar tugas terstruktur | Tidak |
WebFetch | Mengambil konten dari URL yang ditentukan | Ya |
WebSearch | Melakukan pencarian web dengan penyaringan domain | Ya |
Write | Membuat atau men-overwrite file | Ya |
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
- Identity and Access Management - Pelajari tentang sistem permission Claude Code
- IAM dan kontrol akses - Manajemen kebijakan enterprise
- Troubleshooting - Solusi untuk masalah konfigurasi umum