Base URL Claude Code: cara mengatur ANTHROPIC_BASE_URL dengan benar

Wokey Team · 2026-09-24

Jawaban singkat: base URL Claude Code diatur dengan variabel lingkungan ANTHROPIC_BASE_URL. Isi hanya origin gateway, tanpa /v1. Untuk Wokey nilainya https://api.wokey.ai; Claude Code sendiri yang menambahkan /v1/messages. Masukkan key Anda ke ANTHROPIC_AUTH_TOKEN, yang dikirim sebagai Authorization: Bearer. Jika Anda mengatur base URL tanpa key, Claude Code tetap memakai login claude.ai yang tersimpan.

Penyiapan minimal

export ANTHROPIC_BASE_URL="https://api.wokey.ai"
export ANTHROPIC_AUTH_TOKEN="your Wokey API key"
claude

Di dalam Claude Code, jalankan /status. Permintaan sudah melewati Wokey jika tab Status menampilkan:

  • Anthropic base URL bernilai https://api.wokey.ai
  • baris Auth token yang menyebut ANTHROPIC_AUTH_TOKEN

Jika baris Anthropic base URL tidak ada, variabelnya tidak pernah sampai ke sesi.

Mengapa /v1 membuatnya gagal

Claude Code memperlakukan ANTHROPIC_BASE_URL sebagai awalan dan memanggil $ANTHROPIC_BASE_URL/v1/messages. Jika diisi https://api.wokey.ai/v1, permintaan menuju /v1/v1/messages, dan Wokey menjawab dengan:

{"message":"Route POST:/v1/v1/messages not found","error":"Not Found","statusCode":404}

Klien yang kompatibel dengan OpenAI seperti Cursor atau Cherry Studio lazimnya memakai .../v1. Claude Code mengikuti konvensi Anthropic, dan keduanya tidak bisa dicampur. Jangan pula menambahkan /v1/messages atau garis miring di akhir.

AUTH_TOKEN atau API_KEY

Variabel Dikirim sebagai Gunakan saat
ANTHROPIC_AUTH_TOKEN Authorization: Bearer <key> Gateway meminta bearer token, atau Anda tidak yakin
ANTHROPIC_API_KEY x-api-key: <key> Gateway meminta header x-api-key

Wokey menerima kedua header. Perbedaannya ada di sisi Claude Code:

  • ANTHROPIC_AUTH_TOKEN langsung berlaku.
  • ANTHROPIC_API_KEY meminta persetujuan satu kali di mode interaktif sebelum dipakai. Key yang pernah Anda tolak akan diabaikan tanpa pemberitahuan.

Jangan mengisi keduanya dengan nilai berbeda. Jika kedua header membawa key yang berbeda, Wokey menolak permintaan:

{"error":{"code":"conflicting_api_key_headers","message":"conflicting_api_key_headers","type":"invalid_request_error"}}

Key yang sama di kedua header tidak menjadi masalah.

Yang terjadi jika hanya base URL yang diatur

Base URL bukan kredensial. Jika hanya ANTHROPIC_BASE_URL yang diatur tanpa AUTH_TOKEN atau API_KEY, Claude Code tetap mengirim permintaan dengan login claude.ai yang tersimpan. Wokey tidak mengenalinya sebagai key Wokey dan mengembalikan 401.

Setelah kredensial gateway diatur, login claude.ai Anda tetap tersimpan tetapi tidak dipakai; hapus variabelnya untuk kembali memakainya.

Anda mungkin melihat peringatan saat startup yang berakhir dengan auth may not work as expected. Versi lama menampilkan Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set. Keduanya berarti kredensial gateway dan login tersimpan sama-sama ada. Untuk hanya memakai gateway, jalankan /logout di dalam Claude Code untuk menghapus login tersimpan.

Menjadikannya permanen di settings.json

export hanya berlaku untuk terminal saat ini, dan editor yang dibuka dari Dock atau menu Start tidak melihatnya. Untuk pemakaian sehari-hari, taruh nilainya di blok env pada ~/.claude/settings.json:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.wokey.ai",
    "ANTHROPIC_AUTH_TOKEN": "your Wokey API key"
  }
}
  • Jika shell dan berkas pengaturan mengatur variabel yang sama, berkas pengaturan yang menang. Jika variabel shell yang diubah tampak tidak berpengaruh, periksa di sini lebih dulu.
  • Untuk satu proyek saja, gunakan .claude/settings.local.json milik proyek itu, dan pastikan berkasnya masuk gitignore.
  • Jangan pernah menaruh key di .claude/settings.json milik proyek. Berkas itu di-commit ke repositori.

Memilih model

Wokey memakai ID model Claude yang sama dengan Anthropic, seperti claude-opus-5, claude-sonnet-5, dan claude-haiku-4-5. Ganti model di tengah sesi dengan /model. Untuk menetapkan model yang dipakai tiap tingkat Opus, Sonnet, dan Haiku di Claude Code, tambahkan ke env:

{
  "env": {
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
  }
}

ANTHROPIC_DEFAULT_HAIKU_MODEL juga menentukan model untuk tugas latar belakang seperti judul sesi.

Ekstensi VS Code dan aplikasi desktop

Ekstensi VS Code tidak memakai variabel shell untuk pemeriksaan loginnya. Atur variabelnya di pengaturan pengguna VS Code: jalankan Preferences: Open User Settings (JSON) dari command palette lalu tambahkan:

{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://api.wokey.ai" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "your Wokey API key" }
  ]
}

Nilai di ~/.claude/settings.json sampai ke proses yang dijalankan ekstensi, tetapi tidak ke pemeriksaan login ekstensi itu sendiri. Jika ekstensi terus meminta Anda masuk, gunakan pengaturan di atas.

Aplikasi desktop Claude tidak membaca ANTHROPIC_BASE_URL maupun settings.json. Untuk mengatur gateway:

  1. Buka Help → Troubleshooting → Enable Developer Mode.
  2. Buka Developer → Configure Third-Party Inference lalu masukkan alamat gateway.

Lihat panduan penyiapan Claude Desktop untuk langkah lengkapnya.

Periksa dulu dengan curl

Dari terminal yang sama, uji tanpa melibatkan Claude Code:

curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":1,"messages":[{"role":"user","content":"."}]}'

Arti responsnya:

  • Diawali {"id":"msg_: URL dan key sudah benar; masalahnya ada di konfigurasi Claude Code Anda.
  • 401 dengan code invalid_api_key: key tidak ada, salah ketik, atau sudah dihapus.
  • 404 yang menyebut /v1/v1/messages: base URL kelebihan /v1.
  • curl berhasil tetapi Claude Code masih meminta Anda masuk: Claude Code tidak punya kredensial sendiri. Pastikan variabel diatur di terminal yang sama dengan yang menjalankan claude, atau pindahkan ke ~/.claude/settings.json.

Pertanyaan umum

Apakah ANTHROPIC_BASE_URL perlu memakai /v1?

Tidak. Claude Code menambahkan /v1/messages ke base URL, sehingga https://api.wokey.ai/v1 memanggil /v1/v1/messages dan mendapat 404. Untuk Wokey, gunakan https://api.wokey.ai.

ANTHROPIC_AUTH_TOKEN atau ANTHROPIC_API_KEY?

ANTHROPIC_AUTH_TOKEN dikirim sebagai Authorization: Bearer dan langsung berlaku. ANTHROPIC_API_KEY dikirim sebagai x-api-key dan butuh persetujuan satu kali di mode interaktif. Wokey menerima keduanya; yang disarankan adalah ANTHROPIC_AUTH_TOKEN. Mengisi keduanya dengan nilai berbeda menghasilkan 401 conflicting_api_key_headers.

Saya hanya mengatur base URL. Mengapa langganan Claude saya masih dipakai?

Base URL bukan kredensial. Tanpa ANTHROPIC_AUTH_TOKEN atau ANTHROPIC_API_KEY, Claude Code tetap memakai login claude.ai yang tersimpan. Tambahkan key gateway, dan jalankan /logout jika Anda ingin menghapus login tersimpan.

Saya sudah mengubah variabel lingkungan. Mengapa tidak ada yang berubah?

Blok env di ~/.claude/settings.json mengalahkan variabel shell. Periksa apakah ada nilai lama di sana, lalu jalankan /status untuk melihat base URL yang aktif dan sumber kredensialnya.

Bagaimana cara mengatur base URL di ekstensi VS Code?

Tambahkan ANTHROPIC_BASE_URL dan ANTHROPIC_AUTH_TOKEN ke claudeCode.environmentVariables di JSON pengaturan pengguna VS Code Anda. Pemeriksaan login ekstensi tidak membaca ~/.claude/settings.json.