Blog JSystems - uwalniamy wiedzę!

Szukaj

Claude Code

Claude Code: błąd Permission denied - jak nadać uprawnienia

W skrócie

  • Problem: Claude Code zwraca Permission denied przy uruchamianiu komendy albo dostępie do pliku.
  • Dlaczego: system operacyjny odmawia dostępu - brak prawa wykonania, plik należy do innego użytkownika albo katalog jest tylko do odczytu.
  • Rozwiązanie: sprawdź właściciela i prawa przez ls -l, nadaj prawa chmod/chown tam gdzie to bezpieczne i pracuj w katalogu projektu, a nie systemowym.

Masz już działający Claude Code, ale przy próbie uruchomienia skryptu albo edycji pliku dostajesz Permission denied. To sygnał od systemu operacyjnego, że proces nie ma uprawnień do tego zasobu - nie jest to błąd instalacji.

Jak to wygląda w praktyce

W trakcie pracy Claude Code próbuje uruchomić skrypt lub sięgnąć do pliku i zwraca komunikat "Permission denied". Operacja przerywa się, a narzędzie (najczęściej Bash, Edit albo Write) nie wykonuje zadania.

Objaw pojawia się przy DZIAŁAJĄCEJ instalacji: Claude Code startuje normalnie, rozmowa działa, a błąd dotyczy konkretnej komendy lub pliku, nie samego uruchomienia programu.

Dlaczego tak się dzieje

System operacyjny odmawia dostępu, bo brakuje odpowiedniego prawa. Najczęstsze warianty: skrypt nie ma bitu wykonania (brak chmod +x), plik lub katalog należy do innego użytkownika, próba zapisu trafia do katalogu systemowego (np. /usr/bin czy /etc), albo plik jest oznaczony jako tylko do odczytu.

Ważne rozróżnienie: to NIE jest to samo, co błąd instalacji Claude Code przez npm z kodem EACCES. Tamten dotyczy zapisu pakietu do katalogu globalnego npm podczas instalacji. Tutaj mówimy o działającej już instalacji i o uprawnieniach systemu w trakcie normalnej pracy nad Twoim projektem.

Jak to rozwiązać krok po kroku

  1. Odczytaj pełny komunikat i sprawdź, którego pliku lub komendy dotyczy Permission denied - ścieżka jest kluczowa.
  2. Sprawdź właściciela i prawa dostępu komendą ls -l na tym pliku lub katalogu.
  3. Jeśli to skrypt bez prawa wykonania, nadaj je: chmod +x nazwa_skryptu.sh.
  4. Jeśli plik należy do innego użytkownika i to bezpieczne, przejmij własność: chown $USER plik (lub popraw prawa chmod u+rw plik).
  5. Uruchamiaj Claude Code w katalogu swojego projektu, a nie w katalogu systemowym - unikniesz prób zapisu do miejsc chronionych.
  6. Nie uruchamiaj całego Claude Code przez sudo - to maskuje problem i tworzy pliki z prawami roota, które później znów blokują pracę.
  7. Poproś Claude o powtórzenie operacji po naprawie uprawnień.

Jak sprawdzić, że zadziałało

Po nadaniu praw powtórz tę samą operację. Jeśli chodziło o skrypt, sprawdź nowe prawa przez ls -l - w kolumnie uprawnień powinno pojawić się x dla wykonania.

Poproś Claude o ponowne uruchomienie komendy albo edycję pliku. Brak komunikatu Permission denied i normalne wykonanie zadania oznacza, że problem zniknął.

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

Czy Permission denied to to samo co błąd EACCES przy instalacji npm?
Nie. EACCES pojawia się podczas instalacji Claude Code przez npm, gdy nie masz prawa zapisu do katalogu globalnego pakietów. Permission denied w tym kontekście dotyczy działającej już instalacji i braku uprawnień systemu do konkretnego pliku lub komendy w trakcie pracy nad projektem.
Czy uruchomienie Claude Code przez sudo rozwiąże Permission denied?
Odradzamy to. Sudo faktycznie obejdzie odmowę dostępu, ale tworzy pliki należące do roota, które później znów zablokują normalną pracę bez sudo. Lepiej naprawić właściciela i prawa konkretnego zasobu przez chmod lub chown i pracować w katalogu projektu, do którego masz pełny dostęp.
Skąd wiem, jakie prawa ma plik, którego dotyczy błąd?
Użyj komendy ls -l na tym pliku lub katalogu. Pokaże właściciela, grupę oraz prawa odczytu, zapisu i wykonania dla właściciela, grupy i pozostałych. Jeśli brakuje litery x dla wykonania przy skrypcie albo plik należy do innego użytkownika, to jest właśnie źródło odmowy dostępu.
Dlaczego zapis do katalogu systemowego zwraca Permission denied?
Katalogi systemowe takie jak /usr/bin czy /etc są chronione przez system operacyjny i zwykły użytkownik nie ma do nich prawa zapisu. Jeśli Claude Code próbuje tam coś utworzyć lub zmienić, dostaniesz odmowę. Rozwiązaniem jest praca w katalogu Twojego projektu, gdzie masz pełne uprawnienia.

Komentarze (0)

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

Brak komentarzy...