Kılavuzlara dön
Sorun giderme·28 Ağustos 2026·6 dk okuma

Özel temel URL ile Claude Code “API Error: 401 authentication_error” — tüm nedenler

Buradaki 401 kimlik bilgileriniz veya temel URL'nizle ilgilidir; hiçbir zaman modelinizle ilgili değildir — model sorunu, modelin adını belirten bir mesajla birlikte 404 döndürür. Bu tek ayrım, bu sorunların çoğunu tek bir curl komutuyla çözer.

Son inceleme tarihi: .

Buradaki 401 kimlik bilgileriniz veya temel URL'nizle ilgilidir; hiçbir zaman modelinizle ilgili değildir — model sorunu, modelin adını belirten bir mesajla birlikte 404 döndürür. Bu tek ayrım, bu sorunların çoğunu tek bir curl komutuyla çözer.

Hata

terminal
API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"Missing or invalid API key"}}

Nedenler ve çözümler özeti

NedenÇözüm
ANTHROPIC_AUTH_TOKEN yerine ANTHROPIC_API_KEY ayarlanmışÜçüncü taraf temel URL'si için AUTH_TOKEN kullanın; API_KEY tek seferlik bir onay istemi gösterir.
/v1 yolu içeren temel URLYalnızca origin'i ayarlayın — Claude Code /v1/messages yolunu kendisi ekler.
Anahtar iptal edilmiş veya hesap askıya alınmışHer ikisi de 401 döndürür, hiçbir zaman 403 değil. Yeni bir anahtar oluşturun ve hesabı kontrol edin.
Messages uç noktasının sunmadığı bir modelBu, 401 değil, modelin adını belirten 404 döndürür — dolayısıyla düzeltme farklıdır.

Üç değişkeni yazdırın ve temel URL'de yol olmadığını kontrol edin

En yaygın neden burada görünür. Temel URL bir origin olmalıdır — /v1 veya sondaki başka bir yol olmamalıdır — çünkü istemci uç noktayı kendisi ekler. /v1 ile biten bir temel URL, /v1/v1/messages isteği oluşturur.

check-env.sh
env | grep -E '^ANTHROPIC_(BASE_URL|AUTH_TOKEN|API_KEY|MODEL)='

# Right: https://api.kunavo.com
# Wrong: https://api.kunavo.com/v1

Uç noktayı iki şekilde doğrudan çağırın

Kunavo'nun /v1/messages uç noktası kimlik bilgisini x-api-key veya Authorization: Bearer olarak kabul eder; bu nedenle Claude Code'un önünde eklenti ya da proxy gerekmez. curl başarılı olurken CLI başarısızsa sorun sunucuda değil, kabuk ortamınızdadır.

probe.sh
curl -s https://api.kunavo.com/v1/messages   -H "x-api-key: $ANTHROPIC_AUTH_TOKEN"   -H "anthropic-version: 2023-06-01"   -H "content-type: application/json"   -d '{"model":"claude-sonnet-5","max_tokens":8,
       "messages":[{"role":"user","content":"hi"}]}'

# Same call, other header style — both are accepted:
#   -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN"

Kullanmadığınız değişkeni kaldırın

Hem ANTHROPIC_API_KEY hem de ANTHROPIC_AUTH_TOKEN ayarlıysa yanlış olan kazanabilir. ANTHROPIC_API_KEY'i kaldırın, yeni bir kabuk başlatın ve tekrar deneyin — bir kabuk profilindeki eski export, denediğiniz diğer tüm düzeltmelerden daha uzun süre etkili olur.

Durum 404 ise anahtarı hata ayıklamayı bırakın

Mesajında modelin adını belirten bir 404, kimlik bilgisinin kabul edildiği ancak model dizesinin kabul edilmediği anlamına gelir. Bunun yerine ANTHROPIC_MODEL değerini düzeltin; anahtarla ilgili bir sorun yoktur. Yeni bir kurulumda yaygın neden, modeli sabitleyen hiçbir ayarın olmamasıdır: Claude Code daha sonra yerleşik varsayılanı, yani Kunavo'nun henüz sunmuyor olabileceği en yeni Opus'u gönderir; ayrıca /model sonnet, Kunavo'nun sunmadığı Sonnet 5.5'i ister — ANTHROPIC_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL ve ANTHROPIC_DEFAULT_SONNET_MODEL değerlerini GET /v1/models yanıtındaki kimliklere ayarlayın.

Kunavo üzerinden çağrı yapıyorsanız

Kunavo'dan gelen 401 beş nedene indirgenir: Authorization: Bearer veya x-api-key içinde anahtar gelmemiştir; anahtar sk-kn- ön ekini taşımıyordur; sk-kn- ile başlayan ancak Kunavo'nun hiç vermediği bir anahtardır (yazım hatası veya eksik yapıştırma); iptal edilmiştir ya da hesap askıya alınmıştır. Bunların hiçbiri 403 döndürmez; dolayısıyla yalnızca durum kodu hangi grupta olduğunuzu gösterir. Messages uç noktasının sunmadığı bir modele yönlendirilmiş geçerli anahtar ise 401 değil, mesajda modelin adının yer aldığı 404 döndürür. Tanı ağacının tamamı budur.

Sık sorulan sorular

Anahtarım curl'de çalışıyor da Claude Code'da neden çalışmıyor?

Neredeyse her zaman bir kabuk profilinde ayarlanmış ikinci bir değişken veya üzerinde yol bulunan bir temel URL söz konusudur. Uç nokta her iki üstbilgi biçimini de kabul eder; dolayısıyla fark üstbilgide değildir.

ANTHROPIC_AUTH_TOKEN mı, ANTHROPIC_API_KEY mi?

Üçüncü taraf temel URL'si için AUTH_TOKEN kullanın — hemen devreye girer. API_KEY önce tek seferlik bir onay istemi gösterir; bu da çoğu zaman hata sanılır.

Claude aboneliği özel bir temel URL'yi kapsar mı?

Hayır. Abonelik, sağlayıcının kendi uç noktasında kimlik doğrular; CLI'ı başka yere yönlendirdiğinizde kullanılan, o uç noktanın kimlik bilgisidir ve ücretlendirme de o uç nokta tarafından yapılır.

İlgili kılavuzlar

Hata anlamlarına ilişkin daha fazla bilgi hata referansı bölümünde; anahtar almak kayıt ve kimlik doğrulama kılavuzu üzerinden bir dakika sürer.