Dokümantasyon
ANTHROPIC_BASE_URL
Claude Code'u ve Anthropic SDK'lerini api.anthropic.com dışındaki bir uç noktaya yönlendiren ortam değişkeni — değişkenin eksiksiz açıklaması, istemciye göre kurulum ve hataların neredeyse tamamına yol açan iki tuzak.
ANTHROPIC_BASE_URL, Anthropic SDK'lerine ve Claude Code'a API isteklerini varsayılan https://api.anthropic.com yerine hangi ana makineye göndereceklerini bildirir. Değişkeni yol içermeyen bir origin değerine ayarlayın — istemci /v1/messages yolunu kendisi ekler — ve Authorization: Bearer başlığına dönüşen ANTHROPIC_AUTH_TOKEN ile birlikte kullanın.
# The origin only — no trailing /v1, no trailing slash.
export ANTHROPIC_BASE_URL=https://api.kunavo.com
export ANTHROPIC_AUTH_TOKEN=sk-kn-...Sonrasında yeni bir terminal açın: Claude Code ve SDK'ler bu değişkenleri süreç başlatılırken okur; bu nedenle zaten çalışan bir oturum eski uç noktayı kullanmaya devam eder.
https://api.kunavo.com/v1, /v1/v1/messages adresine istek gönderilmesine ve her çağrının 404 yanıtı vermesine yol açar. OpenAI SDK'si bunun tersini yapar ve base_url değerinde /v1 bulunmasını ister — bu fark, buradaki en yaygın yapılandırma hatasıdır.Her değişken ve işlevi
Claude Code'un okuduğu değişkenlerin tam listesi Anthropic'in ortam değişkenleri başvurusunda yer alıyor. Uç noktayı yönlendirirken önemli olanlar şunlardır.
| Değişken | Değer | Denetlediği ayar |
|---|---|---|
ANTHROPIC_ | https://api. | Her isteğin gönderildiği origin. Yol ve sondaki eğik çizgi bulunmaz. |
ANTHROPIC_ | sk-kn-… | Authorization: Bearer olarak gönderilen kimlik bilgisi. Ağ geçidinin istediği budur. |
ANTHROPIC_ | sk-ant-… | api. |
ANTHROPIC_ | claude-sonnet-5 | Claude Code'un konuşmada kullandığı ana model. |
ANTHROPIC_ | claude-opus-5-5 | opus takma adının arkasındaki model (/model opus). Claude Code'un kendi varsayılanı en yeni Opus'tur; bu nedenle endpoint'in sunduğu modellerden birine sabitleyin. Opus 5.5 için Claude Code v2.1.280 veya sonrası gerekir. |
ANTHROPIC_ | claude-sonnet-5 | sonnet takma adının arkasındaki model (/model sonnet). Takma ad varsayılan olarak Sonnet 5.5'i ister; bu nedenle endpoint'in sunduğu bir Sonnet sürümüne sabitleyin. |
ANTHROPIC_ | claude-haiku-4-5 | haiku takma adının (/model haiku, haiku olarak ayarlanmış alt ajanlar) arkasındaki model ve Claude Code'un kendi arka plan çağrılarında kullandığı model. Takma ad v2.1.293'ten itibaren Haiku 5.5'i ister; bu nedenle uç noktanın sunduğu bir Haiku modelini sabitleyin. |
GET /v1/models tarafından döndürülür.İstemciye göre kurulum
Claude Code
Dışa aktarma komutlarını Claude Code'un başlatıldığı kabuk profiline ekleyin, ardından yeni bir terminal açın. Kurulumda veya iş akışında başka bir değişiklik gerekmez.
# ~/.zshrc (or ~/.bashrc) — applies to every Claude Code session.
export ANTHROPIC_BASE_URL=https://api.kunavo.com
export ANTHROPIC_AUTH_TOKEN=sk-kn-...
# Pin models this endpoint serves. Claude Code's default and its opus/sonnet
# aliases follow Anthropic's newest models, which may not be served here —
# unpinned, those calls 404.
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5Geçerli oturumun hangi uç noktayı kullandığını doğrulamak için Claude Code içinde /status komutunu çalıştırın. Anahtarın nereden oluşturulacağını da içeren adım adım yönergeler: Claude Code'da API anahtarı ayarlama.
Anthropic SDK (Python / TypeScript)
SDK'ler aynı ortam değişkenlerini okur; her iki ayar da oluşturucuya aktarılabilir. Bu, tek bir süreç birden fazla uç noktayla iletişim kurduğunda kullanışlıdır.
from anthropic import Anthropic
# The Anthropic SDK appends /v1/messages, so pass the origin — not .../v1.
client = Anthropic(
base_url="https://api.kunavo.com",
auth_token="sk-kn-...", # sets the Authorization: Bearer header
)
msg = client.messages.create(
model="claude-sonnet-5",
max_tokens=512,
messages=[{"role": "user", "content": "Say hi"}],
)
print(msg.content[0].text)OpenAI SDK — diğer kullanım biçimi
Kodunuz zaten OpenAI ile iletişim kuruyorsa ANTHROPIC_BASE_URL kullanmanız gerekmez. base_url değerini OpenAI uyumlu yola yönlendirin; bu kez /v1 ile birlikte kullanın ve aynı Claude modellerini /v1/chat/completions üzerinden çağırın.
from openai import OpenAI
# The OpenAI SDK is the other convention: it wants the /v1 in the base_url.
client = OpenAI(
api_key="sk-kn-...",
base_url="https://api.kunavo.com/v1",
)
r = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Say hi"}],
)
print(r.choices[0].message.content)Cline, Roo Code, Kilo Code, Cursor
Düzenleyici ajanları genellikle aynı iki ayarı ortam değişkenleri yerine kendi arayüzlerinde sunar: "temel URL" veya "özel uç nokta" alanı ve API anahtarı alanı. Kurallar değişmez: Anthropic tarzı sağlayıcıda /v1 içermeyen origin kullanın ve anahtarı API anahtarı alanına girin. İstemciye göre adım adım yönergeler: Cline, Roo Code, Kilo Code.
Çalıştığını doğrulayın
Tek bir curl komutu temel URL'yi ve kimlik bilgisini aynı anda doğrular. JSON gövdeli 200 yanıtı, ikisinin de doğru olduğu anlamına gelir.
# 200 and a JSON body means the base URL and the token are both right.
curl -sS https://api.kunavo.com/v1/messages \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":16,
"messages":[{"role":"user","content":"ping"}]}'
# In Claude Code, /status shows the endpoint the session is actually using.Çalışmıyorsa
| Belirti | Neden | Çözüm |
|---|---|---|
| Her istekte 404 | ANTHROPIC_ değerinin sonuna /v1 eklenmiş | Yalnızca origin değerini ayarlayın. İstemci /v1/messages yolunu ekler. |
| 401 / geçersiz x-api-key | Uç nokta bearer belirteçleriyle kimlik doğrularken kimlik bilgisi ANTHROPIC_ olarak ayarlanmış | Bunun yerine ANTHROPIC_ kullanın — ayrıntılı fark |
| Hâlâ api. | Değişkenler oturum başladıktan sonra dışa aktarılmış veya kabuğun okumadığı bir profile ayarlanmış | Yeni bir terminal açın; istemciyi başlatan aynı kabukta echo $ANTHROPIC_ |
| 404 model_ | Uç noktanın sunmadığı model kimliği | ANTHROPIC_ değerini GET /v1/models içindeki bir kimliğe ayarlayın |
| Claude Code kredi bakiyesinin çok düşük olduğunu söylüyor | İstekler uç noktaya ulaşıyor ve aboneliğe değil anahtara fatura ediliyor | Bu beklenen bir durumdur — bakiye yükleyin veya plana dönmek için belirteci kaldırın. Bkz. yetersiz kredi |
Bunun Pro veya Max aboneliğine etkisi
Bir kimlik bilgisi değişkeni ayarlıyken Claude Code, oturum açılmış abonelik yerine anahtar üzerinden ücretlendirme yapar: plan limitleri uygulanmaz ve kullanım, anahtarın sahibine fatura edilir. Aboneliğin kendisi etkilenmez — değişkeni kaldırıp yeni bir terminal açın; Claude Code yeniden plana döner. İki ödeme biçimi asla birleşmez. Aralarındaki maliyet hesabı için Claude Code fiyatlandırması sayfasına bakın.
Sonraki
Sık sorulan sorular
ANTHROPIC_BASE_URL nedir?
ANTHROPIC_BASE_URL, Anthropic SDK'lerine ve Claude Code'a API isteklerini varsayılan https://api.anthropic.com yerine hangi ana makineye göndereceklerini bildiren ortam değişkenidir. Değişkeni yol içermeyen bir origin değerine ayarlayın — istemci /v1/messages yolunu kendisi ekler — ve Authorization: Bearer başlığına dönüşen ANTHROPIC_AUTH_TOKEN ile birlikte kullanın. Anthropic ile uyumlu tüm uç noktalar çalışır; Kunavo'da değer https://api.kunavo.com şeklindedir.
ANTHROPIC_BASE_URL /v1 içermeli mi?
Hayır. ANTHROPIC_BASE_URL yalnızca origin değerini alır — https://api.kunavo.com; https://api.kunavo.com/v1 değil — çünkü Anthropic SDK'leri ve Claude Code /v1/messages yolunu kendileri ekler. /v1 eklemek, /v1/v1/messages adresine istek gönderilmesine ve 404 yanıtı alınmasına neden olur. OpenAI SDK'si bunun tersini yapar ve base_url değerinde /v1 bulunmasını ister; bu nedenle aynı ağ geçidi, isteği yapan istemciye göre iki farklı biçimde yazılır.
ANTHROPIC_AUTH_TOKEN ile ANTHROPIC_API_KEY arasındaki fark nedir?
ANTHROPIC_AUTH_TOKEN kimlik bilgisini Authorization: Bearer başlığıyla gönderirken ANTHROPIC_API_KEY, api.anthropic.com'un beklediği x-api-key başlığıyla gönderir. Bearer belirteçleriyle kimlik doğrulayan bir ağ geçidi ANTHROPIC_AUTH_TOKEN gerektirir; ANTHROPIC_BASE_URL değerini değiştirdikten sonra 401 alınmasının en yaygın nedeni bunun yerine ANTHROPIC_API_KEY ayarlamaktır. İkisinden yalnızca birini ayarlayın; ikisi de mevcutsa davranış istemci sürümüne bağlıdır.
Claude Code'da özel bir temel URL'yi nasıl ayarlarım?
Claude Code'un başlattığı kabuk profilinde (~/.zshrc veya ~/.bashrc) ANTHROPIC_BASE_URL ve ANTHROPIC_AUTH_TOKEN değişkenlerini dışa aktarın, ardından değişkenlerin devralınması için yeni bir terminal açın. Claude Code bunları başlangıçta okur; bu nedenle zaten çalışan bir oturum eski uç noktayı kullanmaya devam eder. Geçerli oturumun hangi uç noktayı kullandığını doğrulamak için Claude Code içinde /status komutunu çalıştırın.
ANTHROPIC_BASE_URL ayarlamak Claude Pro veya Max aboneliğimi devre dışı bırakır mı?
ANTHROPIC_AUTH_TOKEN gibi bir kimlik bilgisi değişkeni ayarlıyken Claude Code, oturum açılmış abonelik yerine anahtar üzerinden ücretlendirme yapar; bu nedenle Pro ve Max planı limitleri artık uygulanmaz ve kullanım, anahtarın sahibine fatura edilir. Aboneliğin kendisi etkilenmez ve devre dışı kalmaz — değişkeni kaldırıp yeni bir terminal açın; Claude Code yeniden plana döner.