Blog JSystems - uwalniamy wiedzę!

Szukaj

Claude Code

Claude Code: fetch failed - jak naprawić

W skrócie

  • Problem: Claude Code zgłasza fetch failed (TypeError: fetch failed), czyli warstwa HTTP w Node nie wykonała żądania.
  • Dlaczego: to ogólny błąd - prawdziwa przyczyna kryje się w polu cause: DNS (ENOTFOUND), brak sieci, proxy lub VPN, TLS albo ECONNREFUSED.
  • Rozwiązanie: rozwiń przyczynę spod cause i napraw ją jak konkretny błąd - DNS, proxy przez HTTPS_PROXY, sieć albo certyfikaty; sprawdź dostęp do api.anthropic.com curlem.

fetch failed to ogólny komunikat warstwy HTTP w Node - żądanie się nie wykonało, ale sam napis nic nie mówi o powodzie. Cała informacja siedzi w polu cause. Pokazujemy, jak z tej ogólnej etykiety dojść do właściwej przyczyny i ją naprawić.

Jak to wygląda w praktyce

W terminalu pojawia się fetch failed, często w formie TypeError: fetch failed. Żądanie do API nie doszło do skutku, ale komunikat nie zdradza, czy zawiódł DNS, proxy, sieć czy TLS.

Pod spodem, w polu cause, zwykle znajduje się bardziej konkretny błąd - i to on wskazuje, gdzie naprawdę leży problem.

Dlaczego tak się dzieje

fetch failed pochodzi z warstwy HTTP Node (biblioteka undici) i jest sygnałem, że żądanie nie zostało wykonane. Sam napis jest ogólny, bo undici opakowuje w niego różne błędy sieciowe. Właściwa przyczyna kryje się w dołączonym polu cause.

W cause typowo trafiasz na jeden z konkretów: ENOTFOUND (problem z DNS, nazwa się nie rozwiązuje), brak sieci, blokadę przez proxy lub VPN, błąd TLS przy certyfikacie albo ECONNREFUSED, gdy nic nie nasłuchuje. Każdy z nich leczy się inaczej, dlatego najpierw trzeba go odczytać.

Jak to rozwiązać krok po kroku

  1. Rozwiń pełny błąd i znajdź pole cause - to ono zawiera prawdziwą przyczynę schowaną pod ogólnym fetch failed. Uruchom Claude Code z pełnym logowaniem, jeśli trzeba, żeby je zobaczyć.
  2. Jeśli w cause jest ENOTFOUND, to problem z DNS: sprawdź nslookup api.anthropic.com i popraw ustawienia DNS albo połączenie.
  3. Jeśli w cause jest ECONNREFUSED, sprawdź, czy usługa albo proxy, do którego łączy się narzędzie, naprawdę działa i na właściwym porcie.
  4. Jeśli firma wymusza proxy, ustaw je przez HTTPS_PROXY i ponów - brak konfiguracji proxy to częsta przyczyna fetch failed w sieci firmowej.
  5. Jeśli w cause pojawia się cokolwiek o TLS lub certyfikacie, potraktuj to jak błąd certyfikatu - dodaj firmowe CA i wskaż je Node przez NODE_EXTRA_CA_CERTS.
  6. Niezależnie od przyczyny sprawdź czysty dostęp do API: curl -I https://api.anthropic.com. Wynik od razu pokaże, czy problem jest w DNS, TLS, proxy czy w samym łączu.

Jak sprawdzić, że zadziałało

Gdy naprawisz konkret ustalony z pola cause, ponów operację w Claude Code. Zniknięcie fetch failed potwierdza, że trafiłeś we właściwą warstwę problemu.

Test curl -I https://api.anthropic.com powinien wrócić z nagłówkami HTTP bez błędów DNS, TLS ani odrzucenia połączenia. Czysta odpowiedź oznacza, że warstwa sieciowa jest już drożna i undici wykona żądanie.

Wróć do listy 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

Dlaczego fetch failed nie mówi, co jest nie tak?
Bo to ogólny wrapper z warstwy HTTP Node, czyli biblioteki undici. Opakowuje ona różne błędy sieciowe w jeden komunikat, a szczegóły przenosi do dołączonego pola cause. Dopiero jego odczytanie mówi, czy zawiódł DNS, proxy, TLS czy połączenie, i dopiero wtedy da się celnie naprawić problem.
Gdzie znaleźć pole cause?
Cause jest częścią pełnego obiektu błędu, który Node dołącza do fetch failed. Widać je w rozwiniętym logu błędu albo po uruchomieniu narzędzia z bardziej szczegółowym logowaniem. To właśnie tam kryje się konkretny kod, na przykład ENOTFOUND czy ECONNREFUSED, który wskazuje prawdziwą przyczynę.
Co oznacza ENOTFOUND w polu cause?
ENOTFOUND to błąd rozwiązywania nazw, czyli DNS. Oznacza, że system nie potrafił zamienić nazwy api.anthropic.com na adres IP. Przyczyną bywa brak sieci, błędnie skonfigurowany serwer DNS albo blokada. Sprawdzasz to poleceniem nslookup i naprawiasz ustawienia DNS lub samo połączenie.
Czy fetch failed to problem samego Claude Code?
Zwykle nie. To sygnał z warstwy sieciowej Node, a nie usterka logiki narzędzia. Prawdziwa przyczyna niemal zawsze leży w DNS, proxy, VPN, firewallu albo certyfikatach. Dlatego naprawę zaczynasz od odczytania pola cause i naprawienia wskazanej tam konkretnej warstwy sieci, a nie od reinstalacji Claude Code.

Komentarze (0)

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

Brak komentarzy...