Skip to main content
Variabel lingkungan dapat mengontrol perilaku Claude Code seperti pemilihan model, autentikasi, perutean permintaan, dan pengalihan fitur. Banyak perilaku yang sama juga dapat dikonfigurasi melalui bidang file pengaturan, bendera CLI, atau perintah dalam sesi seperti /model. Halaman ini mencakup cara untuk:

Atur variabel lingkungan

Variabel yang Anda atur di shell Anda berlaku untuk sesi terminal tersebut, sementara variabel dalam file pengaturan berlaku setiap kali claude dijalankan.

Di shell Anda

Atur variabel sebelum meluncurkan claude:
Untuk mengaturnya untuk setiap sesi, tambahkan baris export ke ~/.bashrc, ~/.zshrc, atau file profil shell Anda.
Baris penugasan tidak mencetak apa pun saat berhasil, jadi konfirmasi variabel diatur dengan mencetaknya di shell yang sama sebelum Anda menjalankan claude:

Di file pengaturan

Tambahkan variabel di bawah kunci env dalam file settings.json, buat file jika belum ada. Claude Code membacanya langsung dari file, jadi variabel tersebut berlaku tidak peduli bagaimana claude diluncurkan. Sesi yang sedang berjalan menerapkan nilai baru dan yang diubah ke lingkungannya saat Anda menyimpan file, tetapi fitur yang membaca variabelnya sekali saat startup, seperti pemantauan OpenTelemetry, mempertahankan nilai startupnya sampai Anda meluncurkan kembali. Menghapus variabel dari file tidak membatalkan pengaturannya dalam sesi yang sedang berjalan; penghapusan berlaku saat berikutnya Anda meluncurkan claude.
~/.claude/settings.json
File yang Anda pilih mengontrol siapa variabel berlaku untuk: Lihat File pengaturan untuk mengetahui di mana setiap file berada dan Prioritas pengaturan untuk mengetahui bagaimana mereka bergabung saat lebih dari satu mengatur variabel yang sama.

Urutan Prioritas

Beberapa perilaku memiliki baik variabel lingkungan maupun kunci pengaturan khusus, dan mana yang dibaca Claude Code terlebih dahulu berbeda per kunci. Untuk ANTHROPIC_MODEL dan CLAUDE_CODE_AUTO_CONNECT_IDE, Claude Code membaca variabel terlebih dahulu dan hanya menggunakan pengaturan model atau autoConnectIde ketika variabel tidak diatur. Untuk pasangan yang Anda atur, periksa baris variabel di bawah ini dan entri kunci pada referensi pengaturan. Ketika variabel yang sama diatur di shell Anda dan blok env file pengaturan, nilai file pengaturan berlaku di sebagian besar sesi. Claude Code menulis setiap entri env ke dalam lingkungan proses, menggantikan nilai yang diwarisi dari shell. Bagaimana nilai env berinteraksi dengan shell Anda mencakup sesi yang mempertahankan nilai yang diwarisi sebagai gantinya, dan pengaturan env mengatakan kapan pengaturan tersebut diterapkan. Beberapa variabel adalah kasus khusus; pengaturan env mencantumkan pengecualiannya. Dalam file pengaturan Anda dapat mengatur variabel tetapi Anda tidak dapat menghapusnya. Untuk mengganti variabel yang tidak dapat Anda batalkan, seperti CLAUDE_CODE_USE_VERTEX yang sudah usang yang diekspor oleh profil shell yang tidak Anda kontrol, atur ke string kosong dalam blok env: "CLAUDE_CODE_USE_VERTEX": "". Claude Code memperlakukan nilai kosong sebagai tidak diatur untuk pemilihan penyedia. Subproses masih mewarisi nilai kosong. Antara file pengaturan, nilai env mengikuti urutan prioritas pengaturan, jadi entri pengaturan yang dikelola mengganti variabel yang sama dalam pengaturan pengguna atau proyek. Pengaturan proyek dan lokal tidak dapat mengatur beberapa variabel, seperti CLAUDE_CONFIG_DIR dan variabel pengekspor OpenTelemetry. Variabel yang Claude Code abaikan dalam env mencantumnya, bersama dengan nilai off OpenTelemetry yang masih berlaku. Bagaimana variabel lingkungan berinteraksi dengan bendera CLI dan perintah dalam sesi bervariasi per fitur: --model dan /model mengganti ANTHROPIC_MODEL, sementara CLAUDE_CODE_EFFORT_LEVEL mengganti --effort dan /effort. Ketika variabel berinteraksi dengan sumber konfigurasi lain, barisnya dalam daftar Variabel menyatakan urutan prioritas atau menautkan ke halaman yang mendokumentasikannya. Claude Code membaca variabel lingkungan shell saat startup, jadi perubahan pada variabel tersebut berlaku saat Anda meluncurkan claude berikutnya. Variabel yang diatur di bawah kunci env dalam file pengaturan diterapkan kembali ke sesi yang sedang berjalan ketika file berubah, dengan pengecualian startup-only yang dijelaskan dalam Dalam file pengaturan.

Variabel

Variabel numerik seperti timeout, anggaran token, dan jumlah percobaan ulang menerima notasi ilmiah dan ejaan pemisah digit selain digit biasa, kecuali di mana baris variabel mencatat bahwa variabel hanya menerima digit biasa. Misalnya, Claude Code membaca 2e3 sebagai 2000 dan 64_000 sebagai 64000. Sebelum v2.1.211, ejaan ini dapat secara diam-diam menetapkan nilai yang jauh lebih kecil, seperti 1e6 menetapkan timeout ke 1.
Untuk variabel yang mengaktifkan atau menonaktifkan perilaku, atur 1 atau true untuk mengaktifkannya dan 0 atau false untuk menonaktifkannya, dalam huruf apa pun.Beberapa variabel hanya membaca apakah Anda menetapkannya sama sekali, jadi nilai apa pun yang tidak kosong termasuk 0 mengaktifkan perilaku, dan Anda menonaktifkan perilaku dengan membatalkan penetapan variabel atau menetapkannya ke nilai kosong. Variabel-variabel ini bekerja dengan cara itu:
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
  • DISABLE_TELEMETRY
  • DISABLE_ERROR_REPORTING
  • CLAUDE_CODE_TMUX_TRUECOLOR
  • FALLBACK_FOR_ALL_PRIMARY_MODELS
  • IS_DEMO
Satu variabel lainnya memiliki aturannya sendiri: FORCE_HYPERLINK membaca angka, jadi hanya 0 yang menonaktifkannya. Setiap baris variabel juga menyatakan aturannya sendiri.
Variabel pengekspor OpenTelemetry standar (OTEL_METRICS_EXPORTER, OTEL_LOGS_EXPORTER, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, OTEL_METRIC_EXPORT_INTERVAL, OTEL_RESOURCE_ATTRIBUTES, dan varian spesifik sinyal) juga didukung. Lihat Monitoring untuk detail konfigurasi. Atur CLAUDE_CODE_ENABLE_TELEMETRY dan variabel OpenTelemetry yang mengaktifkan ekspor, memilih tujuannya, atau menangkap konten di shell, pengaturan pengguna, atau pengaturan yang dikelola. Claude Code mengabaikannya di pengaturan proyek dan lokal, terlepas dari nilai off yang bagian itu jelaskan. OTEL_RESOURCE_ATTRIBUTES dan variabel interval ekspor, timeout, dan kompresi, seperti OTEL_METRIC_EXPORT_INTERVAL, masih berlaku dari pengaturan proyek dan lokal.

Fitur yang memerlukan pengambilan feature-flag

Claude Code mengaktifkan beberapa fitur melalui feature flag yang diambilnya dari Anthropic. Claude Code melewati pengambilan tersebut dalam sesi-sesi ini:
  • Sesi di mana Anda menetapkan DISABLE_GROWTHBOOK, DISABLE_TELEMETRY, DO_NOT_TRACK, atau CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC; baris setiap variabel dalam tabel variabel mengatakan nilai mana yang mematikan pengambilan
  • Sesi pada penyedia pihak ketiga, seperti Amazon Bedrock, Claude Platform di AWS, Agent Platform Google Cloud, atau Microsoft Foundry, kecuali platform host yang menyematkan Claude Code menetapkan CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST
  • Sesi gateway aplikasi Claude
Dengan pengambilan dimatikan, Anda tidak dapat:

Sesi pertama setelah instalasi atau upgrade

Dalam sesi pertama Anda setelah Anda menginstal Claude Code, atau upgrade ke versi yang menambahkan fitur, fitur yang gated-flag dapat hilang. Sesi itu juga dapat dimulai dalam mode izin yang berbeda daripada sesi-sesi Anda yang kemudian. Claude Code mengambil flag selama sesi itu, jadi sesi berikutnya Anda memiliki fitur dan mode izin awal yang biasa. Setelah instalasi segar, dalam sesi non-interaktif seperti claude -p, Agent SDK, atau ekstensi VS Code, Claude Code masih dapat mengambil flag sebelum ia memilih mode izin awal.

Lihat juga