Bu hata çağrının başarısız olduğunu söyler ve neden hakkında neredeyse hiçbir bilgi vermez. Yararlı bilgiler — durum kodu ve sağlayıcının mesajı — tek bir hata ayıklama bayrağı kadar uzaktadır; her durum farklı bir düzeltmeye işaret eder.
Hata
API Error: bad_response_status_code
(no status, no provider message — the wrapper hides both)Nedenler ve çözümler özeti
| Neden | Çözüm |
|---|---|
| Altta 401 / 403 | Özel bir base URL ile kimlik bilgisi veya başlık uyuşmazlığı. Hangi kimlik doğrulama değişkeninin ayarlandığını kontrol edin. |
| Altta 404 | Ya model kimliği bu ana bilgisayar tarafından bilinmiyordur ya da base URL'de fazladan bir yol bölümü vardır. |
| Altta 402 | Ağ geçidinin cüzdanı boş. Bakiye yükleyin; istemci yapılandırmasında yanlış olan hiçbir şey yok. |
| Altta 429 / 529 | Hız sınırlaması uygulandı veya üst taraf aşırı yüklendi. Yeniden yapılandırmak yerine geri çekilmeli yeniden deneyin. |
| 200 ile gelen JSON olmayan gövde | Captive portal, kurumsal proxy veya hata sayfası. Durum iyi olabilir, ancak gövde yine de kullanılamaz. |
Sarmalayıcıyı gerçek bir hataya dönüştürün
Claude Code'un hata ayıklama çıktısı isteği ve üst taraftan gelen yanıtı yazdırır. Bir başarısız çağrıyı hata ayıklama açıkken çalıştırın ve durum satırını okuyun — bundan sonraki her şey bu satırın ne söylediğine bağlıdır.
claude --debug 2>&1 | tee claude-debug.log
grep -iE 'status|http/|error' claude-debug.log | head -20Aynı çağrıyı curl ile yeniden üretin
Base URL'yi ve kimlik bilgisini araçtan çıkarıp isteği doğrudan gönderin. Bu, "ana bilgisayar bizi reddediyor" ile "istemci hatalı" durumlarını tek adımda ayırır — ham gövde de genellikle sorunu sarmalayıcının attığı, sade bir dille adlandırır.
curl -i "$ANTHROPIC_BASE_URL/v1/messages" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":16,
"messages":[{"role":"user","content":"ping"}]}'Base URL'de sondaki yolun bulunmadığını kontrol edin
Claude Code kendi `/v1/...` yolunu ekler. Zaten `/v1` ile biten bir base URL, `/v1/v1/messages` oluşturur; herhangi bir ana bilgisayar buna 404 ile yanıt verir — yine bad_response_status_code olarak sarılır. Yalnızca origin'i ayarlayın.
# Wrong — doubles the version segment
export ANTHROPIC_BASE_URL="https://api.kunavo.com/v1"
# Right — origin only
export ANTHROPIC_BASE_URL="https://api.kunavo.com"Kunavo üzerinden çağrı yapıyorsanız
Kunavo'ya karşı hemen tanınması gereken iki durum 402 ve 401'dir: 402, cüzdanın isteği karşılayamadığı — bunun yapılandırmayla değil bakiyeyle ilgili olduğu — anlamına gelir; 401 ise Kunavo'nun kullanılabilir bir sk-kn- anahtarı almadığı anlamına gelir. Anahtarı hem Authorization: Bearer hem de x-api-key üzerinden okur; bu nedenle Claude Code'un gerçekte ne gönderdiğini kontrol edin: ANTHROPIC_API_KEY içindeki bir anahtar etkileşimli oturumda bir defalık onay gerektirir ve reddedildiğinde yok sayılırken, ANTHROPIC_AUTH_TOKEN hemen kullanılır. Her iki durum da nedeni belirten bir JSON gövdesiyle döner; bu nedenle hata ayıklama günlüğü yalnızca ipucu değil, kesin kanıttır. Başarısız istekler ücretlendirilmez. Hangi değişkenin ayarlanacağı ve nedeni şu bölümde açıklanır: kimlik doğrulama değişkeni kılavuzu.
Sık sorulan sorular
Bu hata hiç Claude Code'un kendi hatası olabilir mi?
Nadiren. Bu, taşıma katmanı sarmalayıcısıdır: bir şey yanıt vermiştir ve yanıt başarı değildir. curl ile yeniden üretmek durumu kesinleştirir — curl de başarısız oluyorsa sorun istemcide değildir.
Resmî API ile çalışıyor ama ağ geçidimle çalışmıyor.
O halde fark araçta değil, kimlik bilgisinde veya base URL'dedir. Ağ geçidinin beklediği kimlik doğrulama başlığını ve base URL'nizin zaten /v1 içerip içermediğini kontrol edin.
Otomatik olarak yeniden denemeli miyim?
Yalnızca durumu öğrendikten sonra. 401 veya 404'ü yeniden denemek anlamsızdır; 429 veya 529'u geri çekilme ile yeniden denemek doğrudur.
İlgili kılavuzlar
- Özel temel URL ile Claude Code “API Error: 401 authentication_error” — tüm nedenler
- ANTHROPIC_AUTH_TOKEN ve ANTHROPIC_API_KEY — Claude Code'un gerçekte hangisini okuduğu
- Claude API “kredi bakiyesi çok düşük” / 402 insufficient_quota — çözüm
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.