Przejdź do głównej zawartości

Konfiguracja Claude Code to stos plików ustawień JSON (managed, wiersz poleceń, lokalne projektu, współdzielone projektu, użytkownika), który decyduje, jakie narzędzia działają bez pytania, w jakim trybie uprawnień startuje sesja oraz jakiego modelu i poziomu effort używa. Reguły uprawnień są sprawdzane w kolejności deny, ask, allow, a dla pozostałych kluczy wygrywa najwyższy poziom.

Ta strona jest dla programistów, którzy ustawiają Claude Code na prawdziwym repozytorium, oraz dla tech leadów odpowiedzialnych za plik commitowany przez cały zespół. Problem, który rozwiązuje: agent pyta przed każdym npm test, ustawienia kolegi po cichu pozwalają na git push, a nikt nie potrafi powiedzieć, który z czterech plików ustawił model, na którym pracuje cały zespół.

  • Plik .claude/settings.json zapisany w repozytorium z regułami allow, ask i deny dopasowanymi do tego, jak projekt się buduje i testuje.
  • Jasną odpowiedź na pytanie „który plik wygrywa?” dla każdego klucza oraz dwa polecenia, które pokazują efektywny wynik.
  • Tryb uprawnień i sandbox, które ograniczają liczbę pytań, nie oddając agentowi twoich poświadczeń.
  • Wybór modelu i poziomu effort zgodny z domyślnym ustawieniem dostawcy oraz klucze, którymi zespół go przypina.
  • Trzy prompty do skopiowania: wygenerowanie zestawu uprawnień, audyt efektywnej konfiguracji i porównanie poziomów effort na twoim kodzie.

Polecenia i klucze z tej strony sprawdzono 2026-09-26 na zainstalowanym CLI, Claude Code 2.1.283 (claude --help), oraz w oficjalnej dokumentacji ustawień, uprawnień i konfiguracji modelu.

Gdzie Claude Code trzyma ustawienia i który plik wygrywa?

Dział zatytułowany „Gdzie Claude Code trzyma ustawienia i który plik wygrywa?”

Claude Code łączy pięć poziomów. Dla pojedynczego klucza wygrywa najwyższy poziom, który go ustawia; klucze tablicowe, takie jak permissions.allow, są sklejane ze wszystkich poziomów.

PriorytetPoziomLokalizacjaKogo dotyczyDo czego służy
1 (najwyższy)Managedmanaged-settings.json (macOS /Library/Application Support/ClaudeCode/, Linux i WSL /etc/claude-code/, Windows C:\Program Files\ClaudeCode\), MDM albo ustawienia zarządzane z konsoli administracyjnej claude.aiWszystkich, do których organizacja je wdrożyPolityka bezpieczeństwa, której nikt nie nadpisze
2Wiersz poleceń--settings, --model, --permission-mode, --allowedTools i podobne flagiTylko tę sesjęJednorazowe eksperymenty i zadania CI
3Lokalne projektu.claude/settings.local.jsonCiebie, w tym repozytoriumOsobiste wyjątki; tu trafiają stałe zgody
4Współdzielone projektu.claude/settings.json (w repozytorium)Każdego, kto sklonuje repozytoriumReguły, hooki i pluginy zespołu
5 (najniższy)Użytkownika~/.claude/settings.jsonCiebie, w każdym projekcieOsobiste ustawienia domyślne, np. motyw i tryb startowy

Trzy szczegóły rozstrzygają większość pytań „dlaczego moje ustawienie jest ignorowane?”:

  • Zmienne środowiskowe nie są poziomem. ANTHROPIC_MODEL wyeksportowana w powłoce nadpisuje klucz model z dowolnego pliku. Blok env w pliku ustawień to zwykły klucz i podlega tabeli.
  • Niektóre wartości są odrzucane na niektórych poziomach. permissions.defaultMode ustawione na auto lub bypassPermissions nie działa z plików projektu ani lokalnych (dla bypassPermissions od v2.1.257); umieść je w ustawieniach użytkownika lub managed albo przekaż --permission-mode. Odrzucane są też dwa inne przełączniki na poziomie projektu: ustawienia projektu nie mogą rozluźnić sandboxa administratora (v2.1.285, oba kanały wydań na 2026-10-12) ani włączyć Claude in Chrome (v2.1.290, oba kanały wydań na 2026-10-17). W przypadku Chrome Claude Code wypisuje ostrzeżenie i prosi, żebyś sam uruchomił /chrome albo wystartował z --chrome (dokumentacja Claude in Chrome, sprawdzona 2026-10-12).
  • Reguły allow projektu czekają na zaufanie do folderu. permissions.allow i permissions.additionalDirectories z pliku zapisanego w repozytorium działają dopiero, gdy każda osoba z zespołu zaakceptuje okno zaufania dla tego folderu. Reguły deny i ask działają od razu, bo tylko ograniczają.

Gdy w oknie zgody wybierzesz „Yes, and don’t ask again”, Claude Code zapisuje regułę allow w .claude/settings.local.json w katalogu głównym repozytorium. Przy pierwszym zapisie dodaje ten plik do globalnych wykluczeń gita, więc nie trafia do commitów. Jeśli tworzysz plik ręcznie, dopisz go do .gitignore samodzielnie.

Tryb uprawnień ustala punkt wyjścia; reguły korygują go dla konkretnych narzędzi. W CLI przełączasz tryby klawiszami Shift+Tab, a przy starcie flagą --permission-mode.

Tryb (wartość w konfiguracji)Co robiKiedy po niego sięgnąć
Auto (auto)Model klasyfikatora ocenia każdą akcję zamiast pytać ciebieCodzienna praca interaktywna na wspieranym modelu
Manual (default)Odczyty działają swobodnie; akcje zmieniające stan wymagają zgodyChcesz zatwierdzać każdą zmianę albo tryb auto jest niedostępny
Accept edits (acceptEdits)Automatycznie zatwierdza edycje plików w zakresie i typowe polecenia systemu plików (mkdir, touch, rm, mv, cp, sed); pozostały Bash nadal pytaProwadzony refaktoring, w którym przeglądasz diff na końcu
Plan (plan)Eksploracja tylko do odczytu; edycje czekają na zatwierdzenie planuNieznany kod albo zmiana obejmująca wiele modułów
Don’t ask (dontAsk)Odrzuca każde wywołanie narzędzia, które wymagałoby pytania (odczyty w katalogach roboczych i polecenia tylko do odczytu nadal działają; resztę zatwierdzają reguły allow)Uruchomienia ze skryptu, w których nieoczekiwane wywołanie narzędzia ma się nie udać, a nie zawiesić
Bypass permissions (bypassPermissions)Pomija pytania i kontrole bezpieczeństwaWyłącznie jednorazowe kontenery z ograniczoną siecią

Od Claude Code v2.1.283 (oba kanały wydań na 2026-10-12) tryb auto jest trybem startowym dla interaktywnych sesji w terminalu i w VS Code na każdym planie i u każdego dostawcy. Sesja nadal startuje w trybie Manual, gdy uruchamiasz claude -p lub Agent SDK (z wyjątkiem zewnętrznych dostawców i sesji z wyłączoną telemetrią, gdzie od v2.1.285 startują w trybie auto), gdy plik ustawień ustawia permissions.disableAutoMode albo gdy model nie obsługuje trybu auto. Ten ostatni przypadek obejmuje Haiku 4.5 u każdego dostawcy (Haiku 5.5 jest obsługiwany od v2.1.293, którą 2026-10-12 ma tylko kanał latest) oraz domyślną sesję w Microsoft Foundry, która działa na Claude Sonnet 4.5 (Anthropic wycofa go 2026-11-30 na platformach prowadzonych przez Anthropic). Organizacja z zastosowaną konfiguracją HIPAA ma własną regułę: kwalifikująca się sesja w terminalu lub VS Code startuje w trybie Manual od v2.1.285, a auto mode pozostaje dostępny przez Shift+Tab (strona o trybach uprawnień Claude Code, sprawdzona 2026-10-12).

Aby za każdym razem startować w innym trybie, ustaw go w ustawieniach użytkownika:

~/.claude/settings.json
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"defaultMode": "acceptEdits"
}
}

Linia $schema daje autouzupełnianie i walidację w VS Code, Cursorze i innych edytorach obsługujących JSON Schema. Schemat może nie nadążać za najnowszym wydaniem CLI, więc ostrzeżenie przy niedawno dodanym kluczu samo w sobie nie oznacza, że klucz jest błędny.

Reguły zamieniają powtarzające się pytania w stałe decyzje. Zapisz je raz we współdzielonym pliku projektu: dostaje je cały zespół, a code review widzi każdą zmianę.

  1. Utwórz .claude/settings.json w katalogu głównym repozytorium z poleceniami, które projekt uruchamia codziennie, i zablokuj te, które nigdy nie mogą działać bez nadzoru:

    .claude/settings.json
    {
    "$schema": "https://json.schemastore.org/claude-code-settings.json",
    "permissions": {
    "allow": [
    "Bash(npm run lint)",
    "Bash(npm run test *)",
    "Bash(npm run build)",
    "Bash(npx tsc --noEmit)",
    "Bash(git diff *)",
    "Bash(git log *)",
    "Bash(git status)"
    ],
    "ask": [
    "Bash(git push *)",
    "Bash(npm publish *)"
    ],
    "deny": [
    "Bash(curl *)",
    "Bash(wget *)",
    "Read(.env)",
    "Read(.env.*)",
    "Read(./secrets/**)"
    ]
    }
    }
  2. Wprowadź plik do repozytorium przez pull request. Osobiste wyjątki trzymaj w .claude/settings.local.json, nigdy w pliku współdzielonym.

  3. Uruchom ponownie Claude Code w repozytorium i zaakceptuj okno zaufania do folderu, które wymienia reguły allow nadawane przez folder.

  4. Uruchom /permissions. Okno pokazuje każdą regułę wraz z plikiem, z którego pochodzi, więc potwierdzisz, że reguły wczytały się z właściwego pliku.

Reguła ma postać Tool lub Tool(specyfikator). Claude Code sprawdza najpierw reguły deny, potem ask, potem allow; decyduje pierwsze dopasowanie w tej kolejności, a bardziej szczegółowa reguła allow nie wytnie wyjątku z szerszej reguły deny.

RegułaCo dopasowuje
BashKażde polecenie powłoki
Bash(npm run test *)npm run test i wszystko po nim; końcowe * dopasowuje też samo polecenie
Bash(git log:*)To samo co Bash(git log *); forma :* jest rozpoznawana tylko na końcu wzorca
Read(.env)Każdy plik .env na dowolnej głębokości pod bieżącym katalogiem; sama nazwa pliku działa według składni gitignore. Read(./.env) pasuje tylko do pliku w bieżącym katalogu
Read(secrets/**)Jako reguła deny: każdy katalog secrets na dowolnej głębokości
Read(//etc/**)Ścieżka bezwzględna. Pojedynczy wiodący / kotwiczy w źródle ustawień: w katalogu projektu dla ustawień projektu i lokalnych, w ~/.claude/ dla ustawień użytkownika
Edit(docs/**)Edycje w docs/; reguły ścieżek dla Write są akceptowane, ale nigdy nie są sprawdzane, więc używaj Edit
WebFetch(domain:github.com)Pobrania z tej domeny
mcp__github__*Wszystkie narzędzia serwera MCP o nazwie github

Claude Code rozbija polecenia złożone na &&, ||, ; i |, a każda część musi pasować do reguły allow. Gwiazdkę stawiaj po podpoleceniu: Bash(git log *) pozwala tylko na git log, a Bash(git *) na każde polecenie gita.

W trybie auto Claude Code pomija reguły allow na tyle szerokie, że pozwalają uruchomić dowolny kod (np. Bash(*), interpretery z gwiazdką, takie jak Bash(python*), oraz uruchamianie skryptów przez menedżer pakietów, np. Bash(npm run *)), i przywraca je po wyjściu z trybu auto; wąskie reguły, takie jak Bash(npm test), zostają (dokumentacja permission modes Claude Code, sprawdzone 2026-09-26).

Dopasuj restrykcyjność pliku do ryzyka repozytorium, zamiast kopiować jeden plik wszędzie:

RepozytoriumAllowAskDeny
Prototyp lub spikeBash(npm run *), Bash(git *)Bash(git push *)Sekrety, narzędzia sieciowe
Serwis produktowyNazwane polecenia lint, testów, builda i gita tylko do odczytuPush, publikacja, migracjeSekrety, narzędzia sieciowe, skrypty wdrożeniowe
Infrastruktura lub coś blisko produkcjiWyłącznie polecenia tylko do odczytuKażda edycja i polecenie planterraform apply, kubectl delete, wdrożenia, sekrety

Reguły decydują, czego Claude może spróbować; sandbox decyduje, do czego polecenie Basha może sięgnąć. Izoluje system plików i sieć przez Seatbelt na macOS oraz bubblewrap na Linuksie i WSL2; natywny Windows nie jest obsługiwany (dokumentacja sandboxingu, sprawdzone 2026-09-26).

Uruchom /sandbox w sesji, aby go włączyć i sprawdzić, czy brakuje jakiejś zależności, albo ustaw go w pliku ustawień:

.claude/settings.json
{
"sandbox": {
"enabled": true,
"allowUnsandboxedCommands": false,
"network": {
"allowedDomains": ["github.com", "*.npmjs.org"]
}
}
}

autoAllowBashIfSandboxed ma domyślnie wartość true, więc polecenia w sandboxie działają bez pytań; reguły deny i reguły ask wskazujące polecenie nadal obowiązują. allowUnsandboxedCommands: false usuwa furtkę, która pozwala nieudanemu poleceniu spróbować ponownie poza sandboxem. Tryb Manual z sandboxem w trybie auto-allow to konfiguracja, którą dostawca sugeruje, gdy chcesz mniej pytań bez klasyfikatora.

Domyślnie polecenie sięgające hosta spoza allowedDomains wywołuje pytanie; aby zamiast tego je odrzucać, ustaw "strictAllowlist": true w sandbox.network w ustawieniach użytkownika lub managed.

Tylko w jednorazowym kontenerze lub maszynie wirtualnej z ograniczonym dostępem do sieci, uruchomionych jako użytkownik bez uprawnień roota, i nigdy z produkcyjnymi poświadczeniami w środowisku. --dangerously-skip-permissions wyłącza pytania i kontrole bezpieczeństwa, nie chroni przed prompt injection; nadal zatrzymują go reguły deny, jawne reguły ask i rm na ścieżkach krytycznych.

Okno terminala
# Inside a throwaway, network-restricted container only
claude -p "Run the test suite and fix the failing snapshot tests" --dangerously-skip-permissions

--allow-dangerously-skip-permissions dodaje bypass do cyklu Shift+Tab, ale nie startuje w nim. Do izolacji użyj konfiguracji devcontainera. Organizacje wyłączają bypass w ustawieniach managed, których użytkownicy nie nadpiszą:

managed-settings.json
{
"permissions": {
"disableBypassPermissionsMode": "disable"
}
}

W większości pracy interaktywnej tryb auto albo sandbox daje mniej pytań bez rezygnacji z kontroli.

Zacznij od modelu domyślnego, najpierw dostrój effort, a model zmieniaj dopiero wtedy, gdy każą ci to twoje własne ewaluacje.

Od v2.1.280, na obu kanałach wydań (sprawdzone 2026-10-12), Claude Code domyślnie używa Claude Opus 5.5 na każdym płatnym planie, w Anthropic API, Amazon Bedrock, Google Cloud’s Agent Platform i Claude Platform on AWS. Microsoft Foundry domyślnie używa Claude Sonnet 4.5, który Anthropic wycofa 2026-11-30 na platformach prowadzonych przez Anthropic. Ceny, okna kontekstu i pełną tabelę dla planów znajdziesz w przeglądzie modeli.

AliasNa co wskazuje (Anthropic API)Kiedy go używać
defaultDomyślny model twojego konta lub organizacjiCzyszczenie nadpisania
opusClaude Opus 5.5Domyślny wybór do trudnej pracy agentowej
sonnetClaude Sonnet 5.5 (od v2.1.284)Rutynowa praca, gdy liczy się koszt
fableClaude Fable 5.1Najdłuższe, najtrudniejsze zadania, wybierane świadomie; nigdy nie jest domyślny i może rozliczać się z kredytów użycia (usage credits)
bestFable tam, gdzie jest dostępny, w przeciwnym razie opusMaksymalne możliwości
haikuClaude Haiku 5.5 (od v2.1.293, tylko kanał latest na 2026-10-12)Tania praca subagentów w dużej skali
opusplanOpus w trybie plan, Sonnet przy wykonaniuJakość planowania przy koszcie wykonania

U innych dostawców aliasy wskazują co innego (sprawdzone 2026-10-12): sonnet to Claude Sonnet 4.6 w Claude Platform on AWS i Claude Sonnet 4.5 w Amazon Bedrock, Google Cloud’s Agent Platform i Microsoft Foundry (Sonnet 4.5 jest wycofywany; zobacz następny akapit); haiku to tam Claude Haiku 4.5; alias opus w Foundry to Claude Opus 4.6.

Anthropic oznaczył Claude Sonnet 4.5 jako przestarzały (deprecated) 2026-09-30 i wycofa go 2026-11-30 na platformach prowadzonych przez Anthropic: w Claude API, Claude Platform on AWS i Microsoft Foundry. Bedrock i Google Cloud ustalają własne daty. Strona konfiguracji modeli Claude Code nadal wymienia Sonnet 4.5 jako domyślny model Foundry i jako alias sonnet w Bedrock, Google Cloud i Foundry oraz nie podaje następcy (strony o wycofywaniu modeli i konfiguracji modeli, sprawdzone 2026-10-12). U tych dostawców przypnij pełne identyfikatory modeli przed tą datą.

Sonnet 5.5 wybierz do codziennej pracy, a Haiku 5.5 do wąskich zadań o dużym wolumenie. Anthropic pisze, że Sonnet 5.5 jest „strongest at well-scoped everyday tasks” i że „Opus 5.5 remains clearly stronger at complex, open-ended work requiring sustained judgment” (Anthropic, zapowiedź Sonnet 5.5, sprawdzone 2026-10-12). Haiku 5.5 „pairs well with Opus 5.5 and Sonnet 5.5 as a subagent on coding work”, a Anthropic wskazuje jako jego zastosowanie „compaction, summarization, or subagent work” (Anthropic, zapowiedź Haiku 5.5, sprawdzone 2026-10-12). Haiku 5.5 kosztuje więcej, gdy prompt przekroczy 100 000 tokenów, a Anthropic wlicza do tego progu wszystkie tokeny wejściowe żądania, także odczyty z cache’u i zapisy do niego. Zanim przypniesz go do intensywnie używanego zadania, sprawdź oba progi cenowe w przeglądzie modeli. Alias haiku wskazuje Haiku 5.5 dopiero od v2.1.293, a ta wersja jest na kanale latest, nie na stable (v2.1.292) na 2026-10-17.

Zabezpieczenia Anthropic mogą przełączyć oznaczone żądanie na inny model. Strona konfiguracji modeli podaje takie modele zapasowe (sprawdzone 2026-10-12):

ModelŻądanie oznaczone jako cyberbezpieczeństwoŻądanie oznaczone jako biologia
Fable 5.1, Fable 5, Opus 5.5Opus 4.8Opus 5
Opus 5Opus 4.8Odmowa
Sonnet 5.5Sonnet 5Odmowa

Sonnet 5.5 nie ma modelu zapasowego dla biologii, więc takie żądanie kończy się odmową. Od v2.1.287 przełączenie zachowuje bieżący poziom effort zamiast domyślnego poziomu nowego modelu.

Model zmieniasz przez /model <alias> w sesji, claude --model <alias> przy starcie albo klucz model w pliku ustawień. Klucz model w ustawieniach projektu lub managed wraca przy każdym starcie, a nagłówek startowy podaje plik, który go ustawił.

Effort określa, ile model rozumuje na każdym kroku. Opus 5.5, Sonnet 5.5 i Haiku 5.5 startują na medium, Opus 4.7 na xhigh, a pozostałe modele obsługujące effort na high. Zmieniasz go przez /effort, claude --effort <poziom> albo CLAUDE_CODE_EFFORT_LEVEL. Klucz effortLevel przyjmuje low, medium, high lub xhigh; max działa tylko w jednej sesji, chyba że ustawisz go zmienną środowiskową, a ultracode (automatyczna orkiestracja workflow na bieżącym poziomie effort sesji, od v2.1.284) ma własny klucz ultracode. Na Opus 5.5 i modelach Fable nie da się wyłączyć myślenia. Kiedy głębsze rozumowanie się opłaca, opisuje strona o głębokim rozumowaniu i poziomach effort.

Fast mode to osobna oś: /fast uruchamia Opus 5.5, Opus 5 lub Opus 4.8 nawet 2,5 raza szybciej przy wyższej cenie za token (dokumentacja fast mode Anthropic, sprawdzone 2026-09-26). Na planach subskrypcyjnych korzysta z kredytów użycia, a nie z limitów planu, i nie jest dostępny w Bedrock, Google Cloud’s Agent Platform, Microsoft Foundry ani Claude Platform on AWS.

Zespoły, które muszą przypiąć modele, używają ustawień managed: availableModels ogranicza wybór użytkowników, enforceAvailableModels rozciąga tę listę na opcję Default, maxEffortLevel ogranicza effort, a od v2.1.283 deniedModels i availableModelsMatch: "exact" wstrzymują nowo wydany model, dopóki go nie ocenisz. Wdrożenie tych kluczy opisuje strona o polityce zarządzanej dla agentów AI.

  • Formatowanie po każdej edycji. Hook PostToolUse uruchamia formater na każdym pliku zapisanym przez Claude, więc styl nigdy nie trafia do review. hooks to obiekt z kluczami będącymi nazwami zdarzeń, a hook czyta wywołanie narzędzia jako JSON ze standardowego wejścia:

    .claude/settings.json
    {
    "hooks": {
    "PostToolUse": [
    {
    "matcher": "Edit|Write",
    "hooks": [
    { "type": "command", "command": "jq -r '.tool_input.file_path' | { read -r f; npx prettier --write --ignore-unknown \"$f\"; }" }
    ]
    }
    ]
    }
    }

    Hooki blokujące i bramki testowe opisuje strona o automatyzacji hookami.

  • Dodatkowe katalogi. claude --add-dir ../api lub /add-dir ../api daje dostęp do plików na jedną sesję; permissions.additionalDirectories zapisuje go na stałe. Większość konfiguracji .claude/ z dodanego katalogu nie jest wczytywana.

  • Środowisko dla każdego polecenia Basha. Blok env, np. "env": { "NODE_ENV": "development" }, trafia do poleceń uruchamianych przez Claude. Nigdy nie umieszczaj sekretów w commitowanym pliku.

  • Szybkie zmiany bez menu. /config model=sonnet albo /config theme=dark ustawia klucz bezpośrednio, także w claude -p; /config --help wypisuje dostępne klucze. Nie używaj thinking=false na Opus 5.5 ani na modelach Fable, bo tam myślenia nie da się wyłączyć.

  • Wiele linii w prompcie. /terminal-setup instaluje skrót Shift+Enter do nowej linii w terminalach, które go potrzebują.

Serwery MCP konfiguruje się w .mcp.json, a nie w settings.json; zobacz konfigurację MCP. Integracja z edytorem jest opisana na stronie o integracji z IDE.

Jak udowodnić, że konfiguracja robi to, co myślisz?

Dział zatytułowany „Jak udowodnić, że konfiguracja robi to, co myślisz?”

Nie ufaj plikowi ustawień tylko dlatego, że dobrze wygląda. Sprawdź efektywny wynik, a zmiany w pliku współdzielonym przepuszczaj przez review.

  • /status pokazuje wersję, model i konto, a wiersz Setting sources wymienia każdy plik ustawień wczytany w sesji, łącznie ze źródłem managed, które cię obejmuje. Nie pokazuje natomiast, z którego pliku pochodzi konkretny klucz.
  • /permissions wymienia każdą regułę z plikiem, z którego pochodzi, oraz ostatnie odmowy trybu auto.
  • claude doctor uruchomione z powłoki wypisuje diagnostykę instalacji i czyta pliki ustawień w bieżącym katalogu. /doctor w sesji dodatkowo wskazuje nieparsowalne ustawienia i proponuje poprawki.
  • Bramka w CI. Dodaj jq empty .claude/settings.json do CI, żeby niepoprawny JSON przerywał build. To ważne, bo claude -p po cichu pomija plik ustawień, który nie przechodzi walidacji.
  • Zatwierdzenie przez właściciela. Dodaj /.claude/ @your-org/tech-leads do CODEOWNERS, żeby tech lead zatwierdzał każdą zmianę reguł, które dziedziczy cały zespół i każdy przebieg CI.

Polecenie, na które pozwoliłeś, nadal pyta albo jest odrzucane. Wcześniej dopasowuje się reguła deny lub ask z innego miejsca; Bash(npm *) w deny blokuje npm run test niezależnie od listy allow. Uruchom /permissions, znajdź regułę, która przesłania twoją, i jej plik, a potem ją zawęź.

„Yes, and don’t ask again” wciąż pyta. Ten wybór zapisuje regułę allow w pliku lokalnym, który nigdy nie wygrywa z regułą ask z ustawień projektu lub managed. Zmień regułę ask u źródła albo akceptuj pytanie.

Osoby z zespołu widzą pytania mimo reguł w pliku zapisanym w repozytorium. Reguły allow projektu działają dopiero po zaakceptowaniu okna zaufania do folderu. Poproś je o ponowne uruchomienie Claude Code w repozytorium i akceptację.

defaultMode: "auto" w .claude/settings.json nic nie zmienia. Pliki projektu i lokalne nie mogą ustawić auto ani bypassPermissions. Przenieś to do ~/.claude/settings.json.

Klucz model jest ignorowany. Wygrywa z nim wyeksportowana ANTHROPIC_MODEL, model w ustawieniach managed albo domyślny model organizacji. Uruchom /status, potem unset ANTHROPIC_MODEL albo zmień plik wskazany w nagłówku startowym.

Zapisany poziom effort nie działa na Opus 5.5. effortLevel na najwyższym poziomie ustawień użytkownika dotyczy tylko starszych modeli. Wybierz poziom przez /effort, gdy aktywny jest Opus 5.5; Claude Code zapisze go dla tego modelu.

Reguła deny dla Read w ustawieniach użytkownika niczego nie chroni. Read(/secrets/**) w ~/.claude/settings.json kotwiczy w ~/.claude/. Dla reguł, które mają działać w każdym projekcie, używaj Read(//ścieżka/…) albo Read(~/…).

Ustawienia znikają po cichu w skrypcie. claude -p pomija niepoprawne ustawienia bez okna błędu. Uruchom claude doctor, żeby zobaczyć, co zostało pominięte, i utrzymuj bramkę jq empty w CI.

Serwery MCP albo hooki są pomijane. Klucz najwyższego poziomu w .mcp.json to mcpServers, a hooks musi być obiektem z kluczami zdarzeń, a nie tablicą. Popraw klucz i uruchom sesję ponownie.

Bypass stał się domyślny, choć nikt o tym nie zdecydował. Alias powłoki w rodzaju alias ccc="claude --dangerously-skip-permissions", skopiowany ze starego poradnika, zamienia każdą uruchomioną nim sesję w sesję bypass. Usuń alias, zamiast niego użyj trybu auto albo sandboxa, a gdy organizacja musi to wymusić, ustaw disableBypassPermissionsMode w ustawieniach managed.

Zepsuta konfiguracja całkowicie blokuje pracę Claude Code. Uruchom claude --safe-mode, który wyłącza CLAUDE.md, hooki, serwery MCP, pluginy i inne dostosowania, zostawiając ustawienia managed, a potem usuń błędny wpis.

Konfiguracja następuje po uwierzytelnianiu w Claude Code. Teraz podłącz edytor, a potem daj agentowi kontekst projektu.

Korzystasz też z innego narzędzia? Odpowiedniki tej strony to konfiguracja Codeksa i podstawowa konfiguracja Cursora.

Czy ten artykuł Ci pomógł?

Jedno kliknięcie, bez logowania.

wcale bardzo