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

ANTHROPIC_AUTH_TOKEN ve ANTHROPIC_API_KEY — Claude Code'un gerçekte hangisini okuduğu

Bunlar birbirinin takma adı değildir. Biri `x-api-key`, diğeri `Authorization: Bearer` olur — ikisi de ayarlıysa kullanmak istemediğiniz değişken kazanabilir. Özel bir temel URL'ye karşı “anahtarım doğru ama kimlik doğrulama başarısız” raporlarının çoğu bundan kaynaklanır.

Son inceleme tarihi: .

Bunlar birbirinin takma adı değildir. Biri `x-api-key`, diğeri `Authorization: Bearer` olur — ikisi de ayarlıysa kullanmak istemediğiniz değişken kazanabilir. Özel bir temel URL'ye karşı “anahtarım doğru ama kimlik doğrulama başarısız” raporlarının çoğu bundan kaynaklanır.

Hata

iki değişken
# Sent as:  x-api-key: <value>
export ANTHROPIC_API_KEY="sk-ant-..."

# Sent as:  Authorization: Bearer <value>
export ANTHROPIC_AUTH_TOKEN="sk-kn-..."

# Where those headers go:
export ANTHROPIC_BASE_URL="https://api.kunavo.com"

Nedenler ve çözümler özeti

NedenÇözüm
Ağ geçidi bearer token bekliyor; siz API anahtarı değişkenini ayarladınızOpenAI uyumlu ağ geçitlerinin çoğu `Authorization: Bearer` üzerinden kimlik doğrular. Ağ geçidi anahtarını ANTHROPIC_AUTH_TOKEN içine koyun.
Her iki değişken de farklı sağlayıcılardan ayarlanmışKabuk profilinizdeki eski bir ANTHROPIC_API_KEY token ile birlikte gönderilebilir. Kullanmadığınız değişkeni kaldırın.
Temel URL ayarlanmış, kimlik bilgileri değiştirilmemişYeni bir host'a yönlendirmek, eski sağlayıcının anahtarını orada geçerli kılmaz. Kimlik bilgisi host ile birlikte değiştirilmelidir.
Değişken, aracı çalıştıran kabuktan farklı bir kabukta ayarlanmışEtkileşimli bir kabuktaki export, grafik arayüzden başlatılan bir işleme ulaşmaz. Aynı ortamın içinde doğrulayın.

Ortamınızın gerçekte ne tuttuğunu görün

Herhangi bir şeyi değiştirmeden önce, aracı başlatan kabukta ikisini de kontrol edin. Bu oturumların şaşırtıcı bir bölümü ikisini de ayarlı tutar — genellikle kimsenin hatırlamadığı, aylar önce düzenlenmiş bir profil nedeniyle.

inspect-env.sh
for v in ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKEN ANTHROPIC_BASE_URL; do
  printf '%-22s %s\n' "$v" "$(printenv "$v" | cut -c1-12)"
done

# Prefixes tell you the provider at a glance:
#   sk-ant-  Anthropic direct
#   sk-kn-   Kunavo

Host'unuzla eşleşen çifti ayarlayın ve diğerini kaldırın

Host ile kimlik bilgisini tek bir birim olarak ele alın. Üçüncü taraf bir temel URL'ye karşı bu genellikle bearer token ile temel URL'dir; doğrudan API anahtarı açıkça kaldırılmalıdır ki yanlışlıkla seçilmesin.

third-party.sh
unset ANTHROPIC_API_KEY

export ANTHROPIC_AUTH_TOKEN="sk-kn-..."
export ANTHROPIC_BASE_URL="https://api.kunavo.com"

# On Kunavo, pin served models too: Claude Code's default and its opus and
# sonnet aliases follow Anthropic's newest models, and the sonnet alias asks
# for Sonnet 5.5, which Kunavo does not serve — unpinned, that request 404s.
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-5"

claude

Zihninizde değil, ağ üzerinde doğrulayın

Kimlik doğrulama hâlâ başarısızsa ortamı denklemden çıkarın: isteği, gönderildiğine inandığınız üstbilgiyle elle gönderin. Burada 200 alırken araçta hata görüyorsanız araç ayarladığınız değişkeni okumuyordur — en yaygın neden farklı bir kabuk veya üzerine yazan bir yapılandırma dosyasıdır.

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

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

Kunavo anahtarı hem `Authorization: Bearer` hem de `x-api-key` üzerinden okur; dolayısıyla belirleyici olan üstbilgi değildir. Claude Code ile çalışan çift yine ANTHROPIC_AUTH_TOKEN ve ANTHROPIC_BASE_URL'dir — token, ANTHROPIC_API_KEY'in gerektirdiği tek seferlik onay olmadan devreye girer — ve ANTHROPIC_API_KEY kaldırılmalıdır; geride bırakılan eski bir değer, yapılandırılmış görünen ancak yine de reddedilen oturumların en yaygın tek nedenidir. Aynı `sk-kn-` anahtarı /v1/chat/completions karşısında OpenAI tarzı bearer token olarak değişiklik yapılmadan çalışır; böylece tek kimlik bilgisi her iki biçimi de kapsar. Kullanılacak model adları da dahil olmak üzere eksiksiz kurulum şu bölümde yer alır: Claude Code 401 kılavuzumuz.

Sık sorulan sorular

İkisi de ayarlıysa hangisi kazanır?

Buna güvenmeyin — sürümler arasında değişmiş ve SDK'lar arasında farklılık gösteren bir öncelik kuralıdır. Yalnızca birini ayarlayın ve diğerini kaldırın; her yerde aynı şekilde çalışan tek yapılandırma budur.

ANTHROPIC_AUTH_TOKEN'u doğrudan Anthropic ile kullanabilir miyim?

Anthropic'in kendi API'si x-api-key üzerinden kimlik doğrular; bu nedenle doğrudan Anthropic anahtarı ANTHROPIC_API_KEY içinde yer almalıdır. Token değişkeni, bearer kimlik bilgisi bekleyen barındırıcılar için vardır.

SDK aynı değişkenleri mi kullanıyor?

Python ve TypeScript SDK'ları ANTHROPIC_API_KEY'i okur ve x-api-key gönderir. Bir SDK'yı bearer kimlik doğrulamalı bir ağ geçidine yönlendiriyorsanız kimlik bilgisini ortama güvenmek yerine açıkça iletin.

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