Blog JSystems - uwalniamy wiedzę!

Szukaj

Claude Code

Claude Code zwraca błąd 401/403 przy starcie - wygasła sesja

W skrócie

  • Claude Code przy starcie albo w trakcie pracy odrzuca każde zapytanie do modelu błędem 401 lub 403, mimo że wcześniej działał poprawnie.
  • To niemal zawsze problem z poświadczeniami: wygasłe logowanie, którego nie da się odświeżyć, albo zmienna ANTHROPIC_API_KEY z martwym kluczem, która ma pierwszeństwo przed Twoją subskrypcją.
  • Sprawdź, którym poświadczeniem posługuje się sesja, i zaloguj się ponownie przez /login albo usuń wadliwy klucz ze środowiska.

Odpalasz Claude Code tak jak co dzień, wpisujesz pierwsze polecenie i zamiast odpowiedzi dostajesz suchy komunikat o błędzie 401 (brak autoryzacji) albo 403 (dostęp zabroniony). Nic się w projekcie nie zmieniło, a narzędzie nagle traktuje Cię jak obcego. Pokażemy Ci, skąd to się bierze i jak w kilka minut wrócić do pracy.

Jak to wygląda w praktyce

Objaw jest jednoznaczny: każde zapytanie do modelu kończy się natychmiastowym błędem, zanim Claude cokolwiek napisze. Bywa, że komunikat pojawia się już przy uruchomieniu, a bywa, że dopiero po godzinach spokojnej pracy - sesja działała, a potem z minuty na minutę zaczyna zwracać 401. Kod 401 oznacza, że serwer nie rozpoznaje Twojego poświadczenia (jest wygasłe albo nieprawidłowe), a 403, że poświadczenie jest, ale nie ma uprawnień do tego, o co prosisz - na przykład należy do organizacji, która została wyłączona albo której skończyła się subskrypcja. W nowszych wersjach zamiast surowego 401 zobaczysz czytelniejszy komunikat w rodzaju Login expired · Please run /login, ale sedno jest to samo.

Dlaczego Claude Code tak działa

Claude Code może korzystać z kilku źródeł poświadczeń i wybiera je w ustalonej kolejności. Zmienna ANTHROPIC_AUTH_TOKEN, potem ANTHROPIC_API_KEY, potem skrypt apiKeyHelper, potem CLAUDE_CODE_OAUTH_TOKEN, a na końcu zwykłe logowanie z /login (subskrypcja Pro, Max, Team lub Enterprise). Klucz w tym mechanizmie ma to, że jeśli w środowisku wisi ANTHROPIC_API_KEY, Claude Code użyje go zamiast Twojej subskrypcji - i jeśli ten klucz jest martwy albo należy do wyłączonej organizacji, dostaniesz 401 lub 403, mimo że Twoje normalne logowanie jest w porządku. Druga typowa przyczyna to po prostu wygasłe logowanie: token OAuth ma swój czas życia i gdy Claude Code nie potrafi go odświeżyć, każde kolejne zapytanie do modelu leci błędem, dopóki nie zalogujesz się na nowo.

Jak to rozwiązać krok po kroku

  1. Sprawdź, którym poświadczeniem posługuje się sesja. Wpisz /status - w wierszu Login zobaczysz, czy logowanie jest aktywne, czy ma status w rodzaju Expired - log in again, oraz z jakiej organizacji i konta korzysta.
  2. Jeśli logowanie wygasło, po prostu zaloguj się ponownie: wpisz /login i przejdź przez ekran w przeglądarce. Po powrocie do terminala sesja znów działa.
  3. Jeśli /status pokazuje, że aktywny jest klucz API, a nie Twoja subskrypcja, sprawdź środowisko. Na Linux i macOS uruchom unset ANTHROPIC_API_KEY, a w PowerShell na Windows Remove-Item Env:ANTHROPIC_API_KEY, i zrestartuj Claude Code, żeby wrócić do logowania z subskrypcji.
  4. Jeśli klucz API był ustawiony celowo, upewnij się, że jest ważny i należy do czynnej organizacji - wygeneruj świeży w konsoli i podstaw go pod zmienną.
  5. Gdy błąd trapi sesję działającą bez nadzoru (na przykład zaplanowaną albo zdalną), pamiętaj, że taka sesja nie odświeży za Ciebie wygasłego logowania - musisz zalogować się ponownie, żeby ruszyła dalej.
  6. Jeśli po zalogowaniu problem wraca, sprawdź stan instalacji poleceniem claude doctor - wypisze diagnostykę bez uruchamiania sesji i wskaże błędy w plikach ustawień.

Jak sprawdzić, że zadziałało

Najprostszy dowód to udane zapytanie: po ponownym zalogowaniu zadaj Claude Code dowolne krótkie polecenie i sprawdź, czy dostajesz normalną odpowiedź zamiast błędu. Dla pewności wpisz jeszcze raz /status - wiersz Login powinien pokazywać aktywne konto bez adnotacji o wygaśnięciu, a przy dwóch skonfigurowanych poświadczeniach zobaczysz, które z nich jest realnie używane. Jeśli chcesz uniknąć takich niespodzianek w przyszłości, zwróć uwagę na ostrzeżenie przy starcie w rodzaju Your login expires in 3 days · run /login to renew i odnawiaj logowanie zawczasu, zanim wygaśnie.

Wróć do listy: 100 najczęstszych problemów z Claude Code

Szkolenie Claude Code - od zera do zespołu agentów AI, prowadzi Łukasz Matuszewski (JSystems)

Szkolenie Claude Code - od zera do zespołu agentów AI -->

Szkolenie Claude Code - od zera do zespołu agentów AI

Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.

Sprawdź szkolenie Claude Code

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Co oznacza błąd 401, a co 403 w Claude Code?
Kod 401 oznacza brak autoryzacji, czyli że serwer nie rozpoznaje Twojego poświadczenia, bo jest wygasłe albo nieprawidłowe. Kod 403 oznacza dostęp zabroniony: poświadczenie jest, ale nie ma uprawnień do danej operacji, na przykład należy do wyłączonej organizacji.
Jak sprawdzić, którym poświadczeniem posługuje się Claude Code?
Wpisz w sesji polecenie /status. W wierszu Login zobaczysz, czy logowanie jest aktywne, czy ma status w rodzaju Expired, oraz z jakiego konta i organizacji korzystasz. Przy dwóch skonfigurowanych poświadczeniach /status oznacza to, którego narzędzie faktycznie używa.
Dlaczego dostaję 401 mimo ważnej subskrypcji?
Najczęściej dlatego, że w środowisku ustawiona jest zmienna ANTHROPIC_API_KEY, która ma pierwszeństwo przed logowaniem z subskrypcji. Jeśli ten klucz jest martwy lub należy do wyłączonej organizacji, Claude Code użyje go zamiast subskrypcji i zwróci błąd autoryzacji.
Jak naprawić wygasłe logowanie w Claude Code?
Wpisz w sesji polecenie /login i przejdź przez ekran logowania w przeglądarce. Po powrocie do terminala sesja znów działa. Aby uniknąć przerw, reaguj na ostrzeżenie o zbliżającym się wygaśnięciu logowania i odnawiaj je zawczasu, zanim naprawdę wygaśnie.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...