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
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
- macOS:
Pengaturan yang tersedia
settings.json
mendukung sejumlah opsi:
Kunci | Deskripsi | Contoh |
---|---|---|
apiKeyHelper | Skrip 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 |
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 akan 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 sesudah eksekusi tool. Lihat dokumentasi hooks | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
model | Override model default yang 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"} |
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 secara otomatis memilihnya 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 .mcp.json proyek | 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 | [ "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. | [ "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 bersama 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 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:
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 | API key yang 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_MODEL | Nama model kustom yang akan digunakan (lihat Konfigurasi Model) |
ANTHROPIC_SMALL_FAST_MODEL | Nama model kelas Haiku untuk tugas latar belakang |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | Override region AWS untuk model kecil/cepat saat menggunakan Bedrock |
AWS_BEARER_TOKEN_BEDROCK | API key Bedrock untuk autentikasi (lihat API key Bedrock) |
BASH_DEFAULT_TIMEOUT_MS | Timeout default untuk perintah bash yang berjalan lama |
BASH_MAX_TIMEOUT_MS | Timeout maksimum yang dapat diatur model untuk perintah bash yang berjalan lama |
BASH_MAX_OUTPUT_LENGTH | Jumlah karakter maksimum dalam output bash sebelum dipotong di tengah |
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_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_USE_BEDROCK | Gunakan Bedrock |
CLAUDE_CODE_USE_VERTEX | Gunakan Vertex |
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_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 |
DISABLE_AUTOUPDATER | Atur ke 1 untuk menonaktifkan pembaruan otomatis. Ini memiliki prioritas lebih tinggi dari 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 flavor text |
DISABLE_TELEMETRY | Atur ke 1 untuk opt out dari telemetri Statsig (perhatikan bahwa event Statsig tidak menyertakan data pengguna seperti kode, jalur file, atau perintah bash) |
HTTP_PROXY | Tentukan server proxy HTTP untuk koneksi jaringan |
HTTPS_PROXY | Tentukan server proxy HTTPS untuk koneksi jaringan |
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 |
MAX_MCP_OUTPUT_TOKENS | Jumlah maksimum token yang diizinkan dalam respons tool MCP (default: 25000) |
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 region untuk Claude 3.5 Haiku saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_3_5_SONNET | Override region untuk Claude Sonnet 3.5 saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Override region untuk Claude 3.7 Sonnet saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Override region untuk Claude 4.0 Opus saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Override region untuk Claude 4.0 Sonnet saat menggunakan Vertex AI |
VERTEX_REGION_CLAUDE_4_1_OPUS | Override 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>
:
Kunci | Deskripsi | Contoh |
---|---|---|
autoUpdates | Apakah 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 |
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 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:
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 |
LS | Mendaftar file dan direktori | 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 filtering domain | Ya |
Write | Membuat atau menimpa file | Ya |
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
- Identity and Access Management - Pelajari tentang sistem permission Claude Code
- IAM dan kontrol akses - Manajemen kebijakan enterprise
- Troubleshooting - Solusi untuk masalah konfigurasi umum