|

Panduan Lengkap Variabel Lingkungan Claude Code: Mengatasi Kesalahan Kompatibilitas AWS Bedrock Hanya dengan 1 Pengaturan

Catatan Penulis: Penjelasan mendalam tentang fungsi dan cara konfigurasi semua 60+ variabel lingkungan Claude Code, dengan fokus pada penggunaan CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS untuk mengatasi error header anthropic-beta di platform pihak ketiga.

Saat menggunakan Claude Code untuk terhubung ke AWS Bedrock, Google Vertex AI, atau gateway LLM pihak ketiga lainnya, Anda kemungkinan besar akan menemui error ini: "Unexpected value(s) for the anthropic-beta header". Akar masalahnya adalah Claude Code secara default mengirimkan header Beta eksperimental khusus untuk Anthropic API, sementara platform pihak ketiga seperti AWS Bedrock tidak mengenali header tersebut.

Solusinya hanya satu baris pengaturan: CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1.

Namun, variabel lingkungan Claude Code jauh lebih banyak dari itu—dokumentasi resmi mencantumkan 60+ variabel lingkungan yang mencakup konfigurasi autentikasi, pemilihan model, pengoptimalan performa, sakelar fitur, dan lainnya. Artikel ini akan merangkum variabel-variabel tersebut secara sistematis untuk membantu Anda menemukan dan menyelesaikan berbagai masalah konfigurasi Claude Code dengan cepat.

Nilai Inti: Setelah membaca artikel ini, Anda akan menguasai sistem lengkap variabel lingkungan Claude Code, mampu menyelesaikan masalah kompatibilitas AWS Bedrock/Vertex AI dengan cepat, dan belajar cara mengoptimalkan pengalaman penggunaan serta biaya Claude Code melalui variabel lingkungan.

claude-code-environment-variables-complete-guide-id 图示


Poin Utama Variabel Lingkungan Claude Code

60+ variabel lingkungan Claude Code dapat dibagi menjadi 6 kategori utama. Berikut adalah variabel inti yang paling perlu Anda perhatikan:

Kategori Variabel Kunci Fungsi Skenario Penggunaan Umum
Kompatibilitas Platform CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS Menonaktifkan header eksperimental anthropic-beta Mengatasi error AWS Bedrock/Vertex AI
Konfigurasi Autentikasi ANTHROPIC_API_KEY Mengatur kunci API Digunakan saat memanggil melalui platform API pihak ketiga
Pemilihan Model ANTHROPIC_MODEL Menentukan model yang digunakan Beralih ke versi model tertentu
Optimasi Performa CLAUDE_CODE_MAX_OUTPUT_TOKENS Mengontrol Token output maksimum Membatasi balasan panjang untuk menghemat biaya
Sakelar Fitur DISABLE_PROMPT_CACHING Menonaktifkan cache petunjuk Diperlukan untuk debugging atau kompatibilitas
Manajemen Konteks CLAUDE_AUTOCOMPACT_PCT_OVERRIDE Mengontrol ambang batas kompresi otomatis konteks Mengoptimalkan pengalaman percakapan panjang

Dua Cara Mengatur Variabel Lingkungan Claude Code

Cara 1: Variabel Lingkungan Shell (Berlaku Sementara)

Atur di terminal sebelum menjalankan Claude Code, hanya berlaku untuk sesi saat ini:

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export ANTHROPIC_API_KEY="your-api-key"
claude

Cara 2: Konfigurasi settings.json (Berlaku Permanen)

Konfigurasikan kolom env di ~/.claude/settings.json, akan dimuat otomatis setiap kali dijalankan:

{
  "env": {
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "ANTHROPIC_API_KEY": "your-api-key"
  }
}

🎯 Rekomendasi: Untuk pengaturan yang perlu berlaku jangka panjang (seperti API Key atau perbaikan kompatibilitas platform), disarankan menggunakan cara settings.json agar tidak perlu melakukan export manual setiap saat. Jika kunci API Anda berasal dari platform pihak ketiga seperti APIYI (apiyi.com), konfigurasikan juga di sini.

claude-code-environment-variables-complete-guide-id 图示


Panduan Penting Variabel Lingkungan Claude Code: Mengatasi Masalah Kompatibilitas AWS Bedrock

Penjelasan Detail CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS

Ini adalah poin utama dalam artikel ini. Saat Anda menggunakan Claude Code melalui gateway pihak ketiga seperti AWS Bedrock, Google Vertex AI, atau LiteLLM, Claude Code secara otomatis menambahkan identitas Beta eksperimental Anthropic ke dalam header permintaan, misalnya:

anthropic-beta: prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20

Identitas Beta ini adalah fitur khusus untuk koneksi langsung ke API Anthropic. Platform pihak ketiga seperti AWS Bedrock tidak dapat mengenalinya, sehingga muncul pesan kesalahan:

Error: Unexpected value(s) for the anthropic-beta header

Solusi:

# Cara 1: Perintah Shell
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

# Cara 2: settings.json
{
  "env": {
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}

Setelah diatur ke 1, Claude Code tidak akan lagi mengirimkan header Beta eksperimental tersebut, sehingga kompatibel dengan semua platform pihak ketiga.

Masalah yang Diketahui dan Solusi Sementara

Berdasarkan catatan GitHub Issues, beberapa versi Claude Code (setelah 2.1.18) memiliki masalah di mana variabel lingkungan ini tidak sepenuhnya berfungsi—meskipun CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 sudah diatur, beberapa header Beta baru (seperti advanced-tool-use-2025-11-20) tetap terkirim.

Jika Anda masih mengalami masalah, Anda bisa mencoba langkah tambahan berikut:

  • Downgrade versi Claude Code: Kembali ke versi stabil yang diketahui seperti 2.1.68.
  • Gunakan Gateway LiteLLM: LiteLLM menyediakan file konfigurasi anthropic_beta_headers_config.json yang memungkinkan kontrol mendetail atas header Beta mana yang akan diteruskan.
  • Atur DISABLE_PROMPT_CACHING secara bersamaan: Menonaktifkan cache petunjuk dapat menghindari header Beta yang terkait dengan prompt-caching-scope.
# Pengaturan kompatibilitas penuh
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export DISABLE_PROMPT_CACHING=1

Daftar Cepat Klasifikasi Variabel Lingkungan Claude Code

Kategori 1: Autentikasi dan Konfigurasi API

Ini adalah kategori variabel lingkungan yang paling dasar dan sering digunakan, yang mengontrol bagaimana Claude Code terhubung ke layanan API:

Nama Variabel Fungsi Skenario Penggunaan
ANTHROPIC_API_KEY Kunci API, dikirim sebagai header X-Api-Key Menggunakan platform API pihak ketiga (seperti APIYI apiyi.com)
ANTHROPIC_AUTH_TOKEN Nilai header Authorization kustom (otomatis ditambah awalan Bearer) Skema autentikasi kustom
ANTHROPIC_CUSTOM_HEADERS Menambahkan header permintaan kustom (format Nama: Nilai) Gateway yang membutuhkan header tambahan
ANTHROPIC_BASE_URL Alamat endpoint API kustom Menghubungkan ke gateway API pihak ketiga
CLAUDE_CODE_CLIENT_CERT Jalur sertifikat klien mTLS Autentikasi keamanan tingkat perusahaan
CLAUDE_CODE_CLIENT_KEY Jalur kunci privat mTLS Autentikasi keamanan tingkat perusahaan

🎯 Catatan untuk pengguna platform pihak ketiga: Saat menggunakan platform API pihak ketiga seperti APIYI apiyi.com, Anda perlu mengatur ANTHROPIC_API_KEY dan ANTHROPIC_BASE_URL secara bersamaan. Claude Code akan memprioritaskan kunci API dari variabel lingkungan, meskipun Anda sudah login dengan akun langganan Anthropic.

Kategori 2: Pemilihan dan Konfigurasi Model

Mengontrol model mana yang digunakan oleh Claude Code serta parameter perilaku model tersebut:

Nama Variabel Fungsi Nilai Default
ANTHROPIC_MODEL Menentukan nama model utama Claude Sonnet 4.6
ANTHROPIC_DEFAULT_OPUS_MODEL Menentukan model kelas Opus Claude Opus 4.6
ANTHROPIC_DEFAULT_SONNET_MODEL Menentukan model kelas Sonnet Claude Sonnet 4.6
ANTHROPIC_DEFAULT_HAIKU_MODEL Menentukan model kelas Haiku (tugas latar belakang) Claude Haiku 4.5
CLAUDE_CODE_SUBAGENT_MODEL Model yang digunakan oleh sub-agen Mewarisi model utama
CLAUDE_CODE_MAX_OUTPUT_TOKENS Jumlah maksimum Token output 32,000 (maksimal 64,000)
CLAUDE_CODE_EFFORT_LEVEL Kedalaman penalaran (low/medium/high/max/auto) auto

Kategori 3: Kompatibilitas Platform dan Konfigurasi Gateway

Variabel ini khusus untuk menyelesaikan masalah kompatibilitas antara Claude Code dengan berbagai platform cloud dan gateway LLM:

Nama Variabel Fungsi Platform yang Sesuai
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS Menonaktifkan header Beta eksperimental AWS Bedrock / Vertex AI / Gateway pihak ketiga
CLAUDE_CODE_USE_BEDROCK Mengaktifkan mode AWS Bedrock AWS Bedrock
CLAUDE_CODE_SKIP_BEDROCK_AUTH Melewati autentikasi AWS (saat menggunakan gateway) Gateway LLM + Bedrock
CLAUDE_CODE_USE_FOUNDRY Mengaktifkan mode Microsoft Foundry Azure AI
CLAUDE_CODE_SKIP_FOUNDRY_AUTH Melewati autentikasi Azure Gateway LLM + Azure
CLAUDE_CODE_SKIP_VERTEX_AUTH Melewati autentikasi Google Vertex Gateway LLM + Vertex
ANTHROPIC_FOUNDRY_BASE_URL URL dasar untuk sumber daya Foundry Microsoft Foundry
ANTHROPIC_FOUNDRY_API_KEY Kunci API Foundry Microsoft Foundry
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION Wilayah AWS untuk model Haiku Bedrock Multi-region

Kategori 4: Sakelar Fitur

Menonaktifkan fitur tertentu melalui variabel dengan awalan DISABLE_ atau CLAUDE_CODE_DISABLE_:

Nama Variabel Efek jika diatur ke 1
DISABLE_PROMPT_CACHING Menonaktifkan cache petunjuk
DISABLE_AUTOUPDATER Menonaktifkan pembaruan otomatis
DISABLE_TELEMETRY Menonaktifkan pengumpulan data telemetri
DISABLE_ERROR_REPORTING Menonaktifkan pelaporan kesalahan
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC Menonaktifkan semua lalu lintas non-esensial di atas dengan satu klik
CLAUDE_CODE_DISABLE_AUTO_MEMORY Menonaktifkan fitur memori otomatis
CLAUDE_CODE_DISABLE_1M_CONTEXT Menonaktifkan jendela konteks 1 juta Token
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING Menonaktifkan penalaran adaptif
CLAUDE_CODE_DISABLE_FAST_MODE Menonaktifkan mode cepat
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS Menonaktifkan fitur tugas latar belakang
CLAUDE_CODE_DISABLE_CRON Menonaktifkan tugas terjadwal
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS Menghapus instruksi Git bawaan

Kategori 5: Manajemen Konteks dan Performa

Mengontrol bagaimana Claude Code mengelola jendela konteks dan penggunaan sumber daya:

Nama Variabel Fungsi Nilai Default
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE Persentase pemicu kompresi otomatis 95%
CLAUDE_CODE_AUTO_COMPACT_WINDOW Ukuran jendela Token untuk perhitungan kompresi Jendela konteks model
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS Token maksimum untuk pembacaan file Nilai default
CLAUDE_CODE_API_KEY_HELPER_TTL_MS Interval penyegaran kredensial (milidetik)
CLAUDE_CODE_TMPDIR Direktori file sementara /tmp (Unix)
CLAUDE_CODE_SHELL Menentukan Shell yang digunakan Deteksi otomatis

🎯 Saran Optimasi Performa: Jika Anda merasa Claude Code terlalu sering mengompresi konteks dalam percakapan panjang, Anda dapat mengatur CLAUDE_AUTOCOMPACT_PCT_OVERRIDE ke nilai yang lebih rendah (seperti 50) agar kompresi dipicu lebih awal, guna mengurangi kehilangan informasi. Konfigurasi variabel lingkungan ini juga didukung saat melakukan pemanggilan melalui APIYI apiyi.com.

claude-code-environment-variables-complete-guide-id 图示


Panduan Cepat Variabel Lingkungan Claude Code

Contoh Sederhana: Mengonfigurasi Claude Code untuk Terhubung ke Platform API Pihak Ketiga

# Atur variabel lingkungan di terminal lalu jalankan Claude Code
export ANTHROPIC_API_KEY="sk-your-api-key"
export ANTHROPIC_BASE_URL="https://vip.apiyi.com/v1"
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
claude

Lihat templat konfigurasi settings.json lengkap (termasuk pengaturan kompatibilitas AWS Bedrock)
{
  "env": {
    "ANTHROPIC_API_KEY": "sk-your-api-key",
    "ANTHROPIC_BASE_URL": "https://vip.apiyi.com/v1",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000",
    "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80",
    "DISABLE_TELEMETRY": "1"
  },
  "permissions": {
    "allow": ["Read", "Glob", "Grep"],
    "deny": []
  }
}

Konfigurasi Khusus AWS Bedrock:

{
  "env": {
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "DISABLE_PROMPT_CACHING": "1",
    "ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION": "us-east-1"
  }
}

Konfigurasi Khusus Microsoft Foundry:

{
  "env": {
    "CLAUDE_CODE_USE_FOUNDRY": "1",
    "ANTHROPIC_FOUNDRY_BASE_URL": "https://my-resource.services.ai.azure.com/anthropic",
    "ANTHROPIC_FOUNDRY_API_KEY": "your-foundry-key",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}

Saran: Jika Anda tidak ingin repot dengan konfigurasi AWS Bedrock atau Azure yang rumit, Anda bisa langsung menggunakan seluruh seri model Claude melalui APIYI (apiyi.com). Cukup atur dua variabel, yaitu kunci API dan Base URL, tanpa perlu mengurus autentikasi platform cloud dan masalah kompatibilitas.


Pertanyaan yang Sering Diajukan (FAQ)

Q1: Sudah mengatur CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 tapi masih muncul error anthropic-beta header, apa yang harus dilakukan?

Ini adalah bug yang sudah diketahui pada Claude Code (GitHub Issue #22893, #20031). Beberapa versi baru menyertakan header Beta baru yang tidak sepenuhnya terblokir oleh variabel lingkungan. Solusinya:

  1. Downgrade ke versi stabil yang sudah diketahui seperti 2.1.68.
  2. Atur juga DISABLE_PROMPT_CACHING=1 untuk menonaktifkan header terkait caching.
  3. Jika menggunakan gateway LiteLLM, konfigurasi anthropic_beta_headers_config.json untuk pemfilteran yang lebih detail.
  4. Beralih ke platform pihak ketiga dengan kompatibilitas lebih baik seperti APIYI (apiyi.com) untuk menghindari masalah header saat terhubung langsung ke Bedrock.

Q2: Apa hubungan prioritas antara variabel lingkungan ANTHROPIC_API_KEY dan login via /login?

Variabel lingkungan kunci API memiliki prioritas lebih tinggi daripada autentikasi langganan via /login. Saat Anda mengatur variabel lingkungan ANTHROPIC_API_KEY, Claude Code akan menggunakan kunci dari variabel tersebut dan dikenakan biaya sesuai penggunaan (pay-as-you-go), meskipun Anda sudah login ke langganan Claude Pro/Team melalui /login. Jika Anda menggunakan kunci yang didapat dari APIYI (apiyi.com), biayanya akan diselesaikan melalui platform tersebut.

Q3: Bagaimana cara melihat konfigurasi variabel lingkungan Claude Code yang sedang aktif?

Jalankan perintah /config dalam mode interaktif Claude Code untuk melihat status semua item konfigurasi, termasuk variabel lingkungan, pengaturan settings.json, dan nilai default. Anda juga bisa menjalankan env | grep -E "CLAUDE|ANTHROPIC|DISABLE" di terminal untuk melihat variabel lingkungan terkait yang telah diatur.


Ringkasan

Poin-poin utama variabel lingkungan Claude Code:

  1. Mengatasi Error AWS Bedrock: Atur CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 untuk menonaktifkan header Beta eksperimental. Konfigurasi satu baris ini menyelesaikan kesalahan "Unexpected value(s) for the anthropic-beta header".
  2. 60+ Variabel Lingkungan dalam 6 Kategori: Konfigurasi autentikasi, pemilihan model, kompatibilitas platform, sakelar fitur, manajemen konteks, dan pengaturan lainnya.
  3. Dua Cara Konfigurasi: Shell export (sementara) dan settings.json (permanen). Sangat disarankan untuk menuliskan konfigurasi permanen ke dalam settings.json.
  4. Solusi Penyederhanaan Platform Pihak Ketiga: Melalui platform API terpadu seperti APIYI (apiyi.com), Anda hanya perlu mengatur dua variabel yaitu ANTHROPIC_API_KEY dan ANTHROPIC_BASE_URL, tanpa perlu berurusan dengan autentikasi platform cloud yang rumit dan masalah kompatibilitas header Beta.

Kami merekomendasikan penggunaan APIYI (apiyi.com) untuk mencoba Claude Code dengan cepat. Platform ini menyediakan kuota gratis dan antarmuka terpadu, sehingga Anda bisa menghindari berbagai kendala kompatibilitas saat melakukan konfigurasi di AWS Bedrock atau Vertex AI.


📚 Referensi

  1. Dokumentasi Resmi Claude Code – Variabel Lingkungan: Daftar lengkap variabel lingkungan beserta penjelasannya.

    • Link: code.claude.com/docs/en/env-vars
    • Penjelasan: Referensi otoritas resmi untuk semua 60+ variabel lingkungan.
  2. Dokumentasi Resmi Claude Code – Pengaturan: Cakupan konfigurasi dan spesifikasi settings.json.

    • Link: code.claude.com/docs/en/settings
    • Penjelasan: Memahami sistem konfigurasi empat tingkat: Managed/User/Project/Local.
  3. Dokumentasi Resmi Claude Code – Amazon Bedrock: Panduan integrasi AWS Bedrock.

    • Link: code.claude.com/docs/en/amazon-bedrock
    • Penjelasan: Konfigurasi khusus Bedrock dan solusi untuk masalah umum.
  4. GitHub Issue #22893 – DISABLE_EXPERIMENTAL_BETAS Tidak Sepenuhnya Berfungsi: Laporan bug dari komunitas.

    • Link: github.com/anthropics/claude-code/issues/22893
    • Penjelasan: Memahami batasan yang diketahui dari variabel lingkungan ini dan solusi sementaranya.
  5. LiteLLM – Manajemen Beta Header Claude Code: Solusi penyaringan header Beta di tingkat gateway.

    • Link: docs.litellm.ai/docs/tutorials/claude_code_beta_headers
    • Penjelasan: Kontrol header Beta yang lebih halus saat menggunakan gateway LiteLLM.

Penulis: Tim Teknis APIYI
Diskusi Teknis: Selamat berdiskusi tentang pengalaman konfigurasi Claude Code di kolom komentar. Untuk tutorial penggunaan lebih lanjut, silakan kunjungi pusat dokumentasi APIYI di docs.apiyi.com.

Similar Posts