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 URLbernilaihttps://api.wokey.ai- baris
Auth tokenyang menyebutANTHROPIC_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_TOKENlangsung berlaku.ANTHROPIC_API_KEYmeminta 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.jsonmilik proyek itu, dan pastikan berkasnya masuk gitignore. - Jangan pernah menaruh key di
.claude/settings.jsonmilik 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:
- Buka Help → Troubleshooting → Enable Developer Mode.
- 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. 401dengan codeinvalid_api_key: key tidak ada, salah ketik, atau sudah dihapus.404yang 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.