Claude Code dapat dihubungkan dengan 9Router agar request dari Claude Code diarahkan melalui gateway lokal sebelum diteruskan ke provider atau Combo yang tersedia di 9Router.
Apa Itu Claude Code dan 9Router?
Claude Code adalah CLI yang memungkinkan developer menggunakan AI untuk membantu proses development langsung dari terminal. Sementara 9Router berfungsi sebagai gateway yang dapat meneruskan request ke berbagai provider dan model yang telah dikonfigurasi.
Secara sederhana, alurnya adalah:
Claude Code
↓
9Router
↓
Combo / Provider
↓
AI Model
Persiapan
Pastikan beberapa komponen berikut sudah tersedia:
- Node.js dan npm
- Claude Code
- 9Router
- Provider atau Combo di 9Router
- API Key 9Router
1. Install Claude Code
Jika Claude Code belum terpasang, install menggunakan npm:
npm install -g @anthropic-ai/claude-code
Kemudian cek versinya:
claude --version
2. Install dan Jalankan 9Router
Install 9Router secara global:
npm install -g 9router
Setelah selesai, jalankan:
9router
Setelah berjalan, 9Router dapat diakses melalui endpoint lokal:
http://localhost:20128/v1
3. Siapkan Provider atau Combo
Buka dashboard 9Router dan pastikan provider yang ingin digunakan sudah terhubung dan aktif.
Kamu juga dapat menggunakan Combo untuk menggabungkan beberapa provider atau model dalam satu konfigurasi routing.
Dalam contoh ini kita menggunakan Combo bernama:
coding-free
Nama Combo tersebut merupakan contoh dari konfigurasi 9Router. Nama yang tersedia dapat berbeda pada setiap instalasi.
4. Siapkan API Key 9Router
Pastikan API Key sudah tersedia pada dashboard 9Router. Jika fitur Require API Key aktif, setiap request ke API harus menyertakan key tersebut.
Contoh format:
sk-xxxxxxxxxxxxxxxxxxxxxxxx
5. Konfigurasi Claude Code dengan settings.json
Claude Code dapat dikonfigurasi melalui file:
~/.claude/settings.json
Jika file belum ada, buat menggunakan:
nano ~/.claude/settings.json
Kemudian masukkan konfigurasi berikut:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:20128/v1",
"ANTHROPIC_AUTH_TOKEN": "API_KEY_9ROUTER",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "coding-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "coding-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "coding-free"
},
"theme": "auto"
}
Ganti API_KEY_9ROUTER dengan API key milikmu.
6. Penjelasan Konfigurasi
Ada beberapa konfigurasi penting yang perlu diperhatikan.
ANTHROPIC_BASE_URL
Variable ini mengubah endpoint API yang digunakan Claude Code. Karena menggunakan 9Router, endpoint diarahkan ke:
http://localhost:20128/v1
ANTHROPIC_AUTH_TOKEN
Variable ini berisi API Key yang digunakan Claude Code untuk melakukan autentikasi ke 9Router.
ANTHROPIC_DEFAULT_OPUS_MODEL
Menentukan model yang digunakan ketika Claude Code meminta alias Opus. Dalam tutorial ini diarahkan ke:
coding-free
ANTHROPIC_DEFAULT_SONNET_MODEL
Menentukan model untuk alias Sonnet.
ANTHROPIC_DEFAULT_HAIKU_MODEL
Menentukan model untuk alias Haiku.
7. Kenapa Model Mapping Diperlukan?
Claude Code dapat menggunakan nama model tertentu secara internal. Sementara itu, 9Router hanya dapat menggunakan model yang memang tersedia pada endpoint-nya.
Misalnya Claude Code mencoba menggunakan:
claude-opus-5[1m]
Jika model tersebut tidak tersedia di 9Router, Claude Code dapat menghasilkan error:
There's an issue with the selected model.
It may not exist or you may not have access.
Dengan model mapping, alias bawaan Claude Code diarahkan ke model atau Combo yang tersedia di 9Router.
8. Cek Model yang Tersedia
Sebelum menentukan model mapping, kamu dapat melihat model yang tersedia di 9Router menggunakan endpoint /v1/models.
curl http://localhost:20128/v1/models \
-H "Authorization: Bearer API_KEY_9ROUTER"
Jika berhasil, 9Router akan mengembalikan daftar model yang tersedia. Contohnya:
{
"object": "list",
"data": [
{
"id": "coding-free",
"object": "model",
"owned_by": "combo"
}
]
}
Gunakan nilai pada id sebagai model mapping jika model tersebut memang kompatibel dengan workflow Claude Code.
9. Jalankan Claude Code
Setelah konfigurasi selesai, tutup Claude Code yang sedang berjalan. Kemudian jalankan kembali:
claude
Claude Code akan membaca konfigurasi dari:
~/.claude/settings.json
10. Tes Claude Code
Setelah Claude Code berjalan, coba prompt sederhana terlebih dahulu:
halo
Jika berhasil, lanjutkan dengan prompt coding:
buatkan file test.txt yang berisi "Hello from Claude Code"
Kamu juga dapat mencoba prompt yang lebih kompleks, misalnya:
buatkan landing page SaaS menggunakan Tailwind CSS
11. Memastikan Claude Code Menggunakan 9Router
Untuk memastikan request benar-benar melewati 9Router, buka dashboard 9Router dan periksa bagian usage atau log setelah mengirim prompt dari Claude Code.
Alur yang diharapkan adalah:
Claude Code
↓
ANTHROPIC_BASE_URL
↓
http://localhost:20128/v1
↓
9Router
↓
Combo
↓
Provider
↓
AI Model
12. Troubleshooting: 401 Invalid API Key
Jika Claude Code menampilkan:
401 Invalid API key
jangan langsung menganggap API key salah. Tes terlebih dahulu API 9Router secara langsung:
curl http://localhost:20128/v1/models \
-H "Authorization: Bearer API_KEY_9ROUTER"
Jika perintah tersebut berhasil mengembalikan daftar model, berarti endpoint dan API key 9Router sudah bekerja.
Jika tetap mendapatkan status 401, periksa kembali API key pada dashboard 9Router.
13. Troubleshooting: Model Tidak Ditemukan
Jika muncul error seperti:
There's an issue with the selected model.
It may not exist or you may not have access.
kemungkinan Claude Code sedang meminta model yang tidak tersedia pada 9Router.
Jalankan:
curl http://localhost:20128/v1/models \
-H "Authorization: Bearer API_KEY_9ROUTER"
Kemudian pilih model ID yang memang tersedia untuk digunakan sebagai mapping.
14. Konfigurasi Final
Berikut konfigurasi final yang digunakan dalam tutorial ini:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:20128/v1",
"ANTHROPIC_AUTH_TOKEN": "API_KEY_9ROUTER",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "coding-free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "coding-free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "coding-free"
},
"theme": "auto"
}
Pastikan mengganti API_KEY_9ROUTER dengan API key milikmu sendiri.
Kesimpulan
Setup Claude Code dengan 9Router di macOS cukup dilakukan dengan mengarahkan ANTHROPIC_BASE_URL ke endpoint lokal 9Router, menggunakan ANTHROPIC_AUTH_TOKEN sebagai autentikasi, kemudian melakukan model mapping ke model atau Combo yang tersedia.
Dengan konfigurasi tersebut, Claude Code dapat menggunakan routing 9Router tanpa harus langsung menggunakan endpoint Anthropic.
Hal terpenting adalah memastikan 9Router berjalan, API key valid, endpoint /v1 dapat diakses, dan model yang digunakan memang tersedia pada konfigurasi 9Router.