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

401 authentication_error / invalid x-api-key hatası — kontrol edilmesi gerekenler, sırayla

Neredeyse her 401 hatasının dört nedeni vardır ve bunlardan yalnızca biri "anahtar yanlış"tır. Diğer üçünde anahtar tamamen geçerlidir; bu yüzden anahtarı yeniden oluşturmak çoğu zaman boşa harcanan çabadır.

Neredeyse her 401 hatasının dört nedeni vardır ve bunlardan yalnızca biri "anahtar yanlış"tır. Diğer üçünde anahtar tamamen geçerlidir; bu yüzden anahtarı yeniden oluşturmak çoğu zaman boşa harcanan çabadır.

Hata

yanıt (HTTP 401)
{
  "type": "error",
  "error": { "type": "authentication_error",
             "message": "invalid x-api-key" }
}

Nedenler ve çözümler özeti

NedenÇözüm
Ana bilgisayar için yanlış başlıkAnthropic x-api-key okur; OpenAI uyumlu ağ geçitlerinin çoğu Authorization: Bearer okur. Aynı değer yanlış başlıkta gönderildiğinde eksik kabul edilir.
Artakalan eski ortam değişkeniShell profilinde unutulmuş bir ANTHROPIC_API_KEY, az önce export ettiğiniz anahtarın önüne geçebilir.
Kimlik bilgisi değiştirilmeden Base URL'nin değiştirilmesiBaşka bir ana bilgisayara yönlendirmek, önceki sağlayıcının anahtarını orada geçerli kılmaz. Ana bilgisayar ve kimlik bilgisi birlikte değiştirilmelidir.
Anahtarda boşluk, satır sonu veya tırnak işaretiBir PDF'den veya sohbetten kopyalamak genellikle görünmez karakterler ekler. Dizenin uzunluğunu kontrol edin.

Ortamın gerçekte ne içerdiğini kontrol edin

Herhangi bir şeyi değiştirmeden önce değişkenlere uygulamayı çalıştıran aynı shell'de bakın. Vakaların şaşırtıcı bir bölümünde farklı sağlayıcılara ait iki kimlik bilgisi aynı anda tanımlıdır.

conferir.sh
for v in ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKEN ANTHROPIC_BASE_URL; do
  printf '%-22s [%s] tamanho=%s\n' \
    "$v" "$(printenv "$v" | cut -c1-10)" "$(printenv "$v" | wc -c)"
done

Kimlik bilgisini uygulamanın dışında test edin

Doğrudan yapılan bir istek, "ana bilgisayar anahtarı reddediyor" ile "uygulama anahtarı göndermiyor" durumlarını birbirinden ayırır. curl çalışıyor, kod çalışmıyorsa sorun kimlik bilgisi değildir.

testar.sh
curl -s -o /dev/null -w 'status=%{http_code}\n' \
  "$ANTHROPIC_BASE_URL/v1/models" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN"

# 200 -> credencial boa; investigue a aplicação
# 401 -> credencial ou cabeçalho errados para este host

401'i 403 ve 402'den ayırın

401, "kim olduğunuzu bilmiyorum" demektir: kimlik bilgisi kabul edilmemiştir. 403, "kim olduğunuzu biliyorum ve izniniz yok" demektir: kimlik doğrulanmıştır, ancak yetki yoktur. 402, "kim olduğunuzu biliyorum ve bakiyeniz yetersiz" demektir. Yalnızca 401, kimlik bilgisi değiştirilerek çözülür.

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

Kunavo, sk-kn- anahtarını hem Authorization: Bearer hem de x-api-key içinde okur ve base URL, sonrasında hiçbir yol bulunmayan site kök adresidir. Claude Code ile ANTHROPIC_AUTH_TOKEN ve ANTHROPIC_BASE_URL kullanın; token, ANTHROPIC_API_KEY'nin gerektirdiği tek seferlik onaya bağlı değildir. Ayrıca ANTHROPIC_API_KEY'yi açıkça kaldırın — bu değişkendeki eski bir değer, yapılandırılmış görünen ancak yine de reddeden bir oturumun en yaygın nedenidir. Kimlik doğrulama adımları şu adreste yer alır: kimlik doğrulama belgeleri.

Sık sorulan sorular

Anahtarı yeniden oluşturmak sorunu çözer mi?

Yalnızca anahtar gerçekten iptal edilmişse. Diğer üç yaygın nedende — yanlış başlık, eski değişken, değiştirilmiş base URL — yeni anahtar da tamamen aynı şekilde başarısız olur.

401 bakiye yetersizliği olabilir mi?

Hayır. Yetersiz bakiye, kredilerden söz eden bir mesajla birlikte 402'dir. 401 her zaman kimlikle ilgilidir.

curl'de çalışıyor, kodumda çalışmıyor. Neden?

Neredeyse her zaman kod başka bir ortam değişkenini okur veya export'un ulaşmadığı başka bir shell/container içinde çalışır. Doğrulamak için işlem içinde kimlik bilgisini maskeli olarak yazdırın.

İ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.