· kaynak dev.to (home feed)
Claude CLI 401 çözümü: refresh token zaten kullanılmışsa doğrudan yeniden giriş yapın
Dev.to'da yayımlanan bir yazı, Claude CLI oturumlarının neden 401 refresh token hatalarıyla çöktüğünü ve logout adımı atlanarak doğrudan claude auth login çalıştırmanın erişimi dakikalar içinde nasıl geri getirdiğini anlatıyor.

Ne oldu
Dev.to'da yazan bir geliştirici, tüm bir iş akışını sessizce bozabilecek bir Claude CLI arıza modu için basit bir çözümü belgeledi: komutların aniden 401 Unauthorized yanıtları döndürmesi ve "refresh token zaten kullanılmış" diyen bir kimlik doğrulama hatasıyla kullanıcının çıkış yapıp tekrar giriş yapması gerektiğinin söylenmesi.
Gönderiye göre arıza, pipeline'ın ortasında ortaya çıktı. Öncesinde kimsenin oturumu elle kapatmamış olmasına rağmen, sonraki her CLI çağrısı aynı AUTH_ERROR çıktısıyla başarısız oldu. Yazı, kendi beyanına göre yapay zeka desteğiyle kaleme alınmış birinci ağızdan bir anlatı.
Çıkış yapmak neden yanlış hamle
Yazarın açıkladığı gibi, çıkış talimatı yanıltıcıdır. Logout komutu yalnızca etkin oturumlar üzerinde çalışır ve hata göründüğünde söz konusu token zaten geçersizdir — temizlenecek bir şey kalmamıştır. Yazar, bu adımın gereksiz olduğunu fark etmeden önce yaklaşık on dakikasını bir logout işlevi arayarak geçirdi.
Doğru kurtarma yolu, basitçe claude auth login komutunu tekrar çalıştırmaktır. Bu, tarayıcı tabanlı bir kimlik doğrulama akışı açar ya da terminalde doğrudan bir kimlik doğrulama kodu ister ve yeni bir token düzenler. Yazar, akımı tamamladıktan sonra her komutun hemen çalışmaya devam ettiğini ve 401 hatasının kaybolduğunu bildiriyor. Logout yolunda sapmak terk edildikten sonra tüm onarım iki dakikadan kısa sürdü.
Arka plan süreçleri tek kullanımlık token'ları yakar
Kök neden, refresh token'ların davranışında yatıyor. Gönderinin anlattığı gibi, refresh token, her çağrıda yeni kimlik bilgileri istemeden oturumu canlı tutan tek kullanımlık bir bilgidir. Başka bir oturum onu önce tüketirse — örneğin uzun süre çalışan bir script, askıya alınmış bir süreç ya da ikinci bir terminal penceresi — token, özgün oturum için anında geçersiz hale gelir.
Yazarın örneğinde CLI, bir pipeline yürütmesi arızayı tetikleyene kadar normal çalışıyordu; bu da sorunun herhangi bir elle yapılan işlemden değil, görünmez bir tüketiciden kaynaklandığına işaret ediyordu. Refresh token'ı elinde tutan bir arka plan süreci, API'ye kimlik doğrulaması yapmak için onu kullandı ve bu olduğunda token harcandı — yazarın ifadesiyle yakıldı — ve etkin terminal oturumu ölü bırakıldı.
Çözümü doğrulamak ve tekrarını önlemek
Gönderiye göre CLI üç auth alt komutunu sunuyor: login, logout ve status. Yazar, bozuk durumu doğrulamak için claude auth status komutunu kullandı — oturumu etkin değil olarak bildirdi — ve ardından onarımı doğrulamak için tekrar kullandı; bu da yeniden kimlik doğrulamasından sonra etkin bir oturum gösterdi.
Yazarın pipeline bakımı için ortaya çıkan kontrol listesi:
Hata tüketilmiş bir token'a işaret ediyorsa logout adımını atlayın; oturum zaten yok olmuştur.
Yeni bir token basmak için hemen
claude auth loginçalıştırın.Pipeline çalıştırmalarına başlamadan önce oturumun etkin olduğunu doğrulamak için
claude auth statuskullanın.Perde arkasında refresh token tüketiyor olabilecek uzun süre çalışan arka plan script'lerini denetleyin.
Neden önemli
Geliştiriciler aynı yapay zeka CLI araçlarını giderek daha çok çoklu terminal, CI işleri ve arka plan otomasyonu genelinde çalıştırdıkça, tek kullanımlık refresh token çakışmaları, kullanımla birlikte ölçeklenen operasyonel bir risk haline geliyor. Hata mesajındaki logout talimatı, etkilenen kullanıcıları etkin biçimde yanlış yola sokarken, asıl çözüm — doğrudan bir yeniden giriş — anlar sürüyor. Claude CLI'ı pipeline'lara betikleyen herkes için — tek bir yanmış token'ın tüm aşağı akış çağrılarını sessizce geçersiz kılabildiği yerde — kurtarma adımını ve tekrarı önleyen iki alışkanlığı (çalıştırmalardan önce status kontrolü ve arka plan token tüketicilerinin denetlenmesi) bilmek, pratik değeri görece büyük küçük bir bilgi parçasıdır.
- #claude-cli
- #authentication
- #command-line
- #debugging
- #developer-tools