Przejdź do głównej zawartości

Konfiguracja: uprawnienia, modele i tryb YOLO

Uruchamiasz Claude Code na produkcyjnym repozytorium po raz pierwszy i pyta o pozwolenie na każdy pojedynczy odczyt pliku, każde grep, każde uruchomienie testu. Piętnaście pytań o zgodę później ledwo zacząłeś swoje zadanie. Wiesz, że musi być lepszy sposób na skonfigurowanie tego, co Claude może robić autonomicznie, a co wymaga Twojej zgody — ale system ustawień ma cztery różne zakresy i dwa różne formaty plików.

Ten przewodnik pokazuje, jak skonfigurować uprawnienia, wybór modelu i zachowanie auto-approve Claude Code, aby pracował z Tobą, a nie przeciwko Tobie.

  • Plik settings.json z rozsądnymi regułami uprawnień dla Twojego przepływu pracy
  • Zrozumienie zakresów: managed, user, project i local
  • Konfigurację modelu balansującą jakość i szybkość
  • Wiedzę, kiedy używać (i kiedy unikać) trybu bypass-permissions

Claude Code odczytuje konfigurację z wielu lokalizacji, każda z innym zakresem i pierwszeństwem. Od najwyższego do najniższego priorytetu:

ZakresLokalizacja plikuKogo dotyczyWspółdzielone?
Managed/Library/Application Support/ClaudeCode/ (macOS)Wszyscy użytkownicy na maszynieWdrożone przez IT
Local.claude/settings.local.jsonTylko Ty, w tym projekcieNie (gitignored)
Project.claude/settings.jsonWszyscy współpracownicyTak (commitowane)
User~/.claude/settings.jsonTy, we wszystkich projektachNie

Ustawienia wyższego zakresu nadpisują niższe. Jeśli zasada managed odmawia uprawnienia, nic innego nie może jej nadpisać. Jeśli ustawienie projektu odmawia Bash(curl *), Twoje ustawienia użytkownika nie mogą tego pozwolić.

System uprawnień kontroluje, co Claude może robić bez pytania. To najbardziej wpływowa konfiguracja na Twój codzienny przepływ pracy.

Utwórz lub edytuj ~/.claude/settings.json dla swoich osobistych ustawień domyślnych:

{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test *)",
"Bash(npm run build)",
"Bash(git diff *)",
"Bash(git log *)",
"Bash(git status)",
"Bash(git branch *)"
],
"deny": [
"Bash(curl *)",
"Bash(wget *)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
}
}

To pozwala Claude uruchamiać Twoje standardowe polecenia deweloperskie bez pytania, jednocześnie blokując żądania sieciowe i dostęp do sekretów.

Reguły podążają za wzorcem Tool lub Tool(specifier) z obsługą wildcard:

RegułaCo pasuje
BashWszystkie polecenia bash
Bash(npm run *)Każde polecenie npm run
Read(./.env)Odczyt pliku .env
Read(./secrets/**)Odczyt czegokolwiek pod secrets/
EditWszystkie edycje plików
WebFetch(domain:example.com)Żądania fetch do example.com

Reguły są oceniane w kolejności: najpierw deny, potem ask, następnie allow. Pierwsza pasująca reguła wygrywa.

Dla ustawień współdzielonych przez zespół utwórz .claude/settings.json w katalogu głównym repozytorium:

{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Bash(make *)",
"Bash(go test ./...)",
"Bash(go build ./...)"
],
"deny": [
"Read(./.env)",
"Read(./config/credentials.json)",
"Bash(docker push *)"
]
}
}

Commituj ten plik, aby każdy członek zespołu otrzymał tę samą bazową konfigurację. Indywidualni deweloperzy mogą nadpisać ustawienia przez .claude/settings.local.json.

Claude Code zaleca Claude Sonnet 5 do codziennego kodowania agentowego. Jest on defaultem konta w Pro, Team Standard i subskrypcyjnych miejscach Enterprise. Opus 5 jest defaultem w Max, Team Premium, Enterprise pay-as-you-go, Anthropic API, Amazon Bedrock, Google Cloud Agent Platform i Claude Platform on AWS; Microsoft Foundry domyślnie używa Sonnet 4.5. Ustawienia organizacji i managed settings mogą nadpisać te mapowania. Fable 5 jest poziomem o najwyższych możliwościach, lecz nigdy nie jest wybierany jako automatyczny default konta; przełącz się na niego jawnie przez /model fable.

Wewnątrz sesji użyj polecenia /model:

/model
# Wybierz z dostępnych modeli

Tryb fast nie jest przełączeniem modelu. Uruchamia ten sam Claude Opus 5 z konfiguracją API zoptymalizowaną pod opóźnienia, dostarczając odpowiedzi około 2,5x szybciej, ale przy wyższym koszcie za token (około $10 wejście / $50 wyjście za milion tokenów, w porównaniu ze standardowymi $5/$25). Jakość i możliwości są identyczne — to kompromis szybkość-za-koszt, a nie tańsza czy słabsza wersja. Włącz go, wpisując /fast i naciskając Tab, albo ustaw na stałe w ustawieniach użytkownika:

{
"fastMode": true
}

Tryb fast utrzymuje się między sesjami i najlepiej sprawdza się przy pracy interaktywnej, gdzie opóźnienie liczy się bardziej niż koszt (debugowanie na żywo, szybka iteracja). Gdy wyłączysz go ponownie poleceniem /fast, nadal pozostajesz na Opus 5 — użyj /model, aby przełączyć się na faktycznie tańszy model, taki jak Claude Sonnet 5.

W settings.json:

{
"model": "claude-sonnet-5"
}

Lub przez zmienną środowiskową:

Okno terminala
export ANTHROPIC_MODEL=claude-sonnet-5

Jeśli Twój zespół optymalizuje pod kątem szybkości i jakości, a nie kosztów, możesz zamiast tego ustawić "model": "claude-fable-5" jako domyślny. Tańsze modele przypisz subagentom jawnie we frontmatterze lub przez CLAUDE_CODE_SUBAGENT_MODEL; subagenty nie są uniwersalnie automatycznie kierowane do tańszego poziomu.

ModelPrzypadek użyciaKompromis
Claude Fable 5 (/model fable)Najtrudniejsze refaktoringi wieloplikowe, budowanie aplikacji od zera, długotrwałe zadaniaNajwyższe możliwości; 2x koszt Opusa ($10/$50); wliczony w Max i Team Premium do 50% tygodniowych limitów, usage credits w Pro i Team Standard; brak przy zero data retention
Claude Sonnet 5Codzienne kodowanie, praca agentowa, duży kontekstCena premierowa $2/$10 do 31 sierpnia; default w Pro, Team Standard i subskrypcyjnych miejscach Enterprise
Claude Opus 5Architektura, złożony refaktoring, drugi przeglądPoziom premium $5/$25; default w Max/Premium/pay-as-you-go/API oraz od v2.1.207 w Bedrock, Google Agent Platform i Claude Platform on AWS
Claude Haiku 4.5Edycje o dużej skali, trywialne, zadania wsadoweNajtańszy (~$1/$5), najmniej zdolny

Tryb fast to oddzielna oś od wyboru modelu: przyspiesza kwalifikujące się wersje Opus za wyższy koszt, zamiast przełączać tier. Preferuj Sonnet 5 do rutynowej pracy, używaj Opus/Fable, gdy evale uzasadniają premium, a Haiku do ograniczonej pracy masowej.

Claude Code oferuje kilka trybów uprawnień kontrolujących, ile jesteś pytany podczas sesji:

TrybZachowanieAktywuj przez
Manual (default)Czytaj swobodnie; pytaj przed akcjami zmieniającymi stanDomyślne zachowanie lub --permission-mode manual (v2.1.200+)
Accept Edits (acceptEdits)Auto-akceptuj edycje i typowe komendy systemu plików w zakresie; pytaj o inne akcje powłoki--permission-mode acceptEdits
Plan (plan)Eksploracja i planowanie tylko do odczytu--permission-mode plan lub /plan
Auto (auto)Klasyfikator w tle sprawdza wywołania narzędzi zamiast rutynowych monitów--permission-mode auto, gdy zezwala konto/model/provider/polityka
Don’t Ask (dontAsk)Odrzucaj wszystko, czego wcześniej nie dopuszcza permissions.allow--permission-mode dontAsk
Bypass Permissions (bypassPermissions)Pomijaj rutynowe monity; jawne reguły ask i zabezpieczenia usuwania root/home nadal pytają--dangerously-skip-permissions

Aby rozpoczynać każdą sesję w trybie Accept Edits bez podawania flagi za każdym razem, ustaw "permissions": {"defaultMode": "acceptEdits"} w swoim settings.json.

Flaga --dangerously-skip-permissions pomija rutynowe pytania o zgodę. Jawne reguły permissions.ask i zabezpieczenia przed usunięciem root/home nadal pytają.

Okno terminala
claude --dangerously-skip-permissions

Kiedy używać trybu bypass w uzasadniony sposób:

  • Pipeline’y CI/CD, gdzie Claude działa w kontenerze, a wszystkie zmiany przechodzą przez przegląd PR
  • Automatyzacja bezgłowa z claude -p dla skryptowanych zadań
  • Prototypowanie eksploracyjne w gałęzi git, którą możesz odrzucić

Aby całkowicie zapobiec trybowi bypass (dla bezpieczeństwa enterprise):

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

Ustaw zmienne środowiskowe stosujące się do każdej sesji Claude Code:

// W ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"NODE_ENV": "development"
}
}

Są one wstrzykiwane do środowiska Claude, gdy uruchamia polecenia bash. Przydatne do konfiguracji spójnych środowisk deweloperskich w całym zespole.

Możesz uczynić rozszerzone myślenie domyślnym dla wszystkich sesji:

{
"alwaysThinkingEnabled": true
}

Tylko na Opus 4.6 lub Sonnet 4.6 możesz przywrócić stary tryb stałego budżetu i go ograniczyć:

Okno terminala
# Wyłącz adaptacyjne myślenie na Opus/Sonnet 4.6
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
# Ogranicz stały budżet myślenia (poniżej limitu wyjścia modelu)
export MAX_THINKING_TOKENS=10000
# W Anthropic API wyłącz myślenie z wyjątkiem Fable 5
export MAX_THINKING_TOKENS=0

Fable 5, Sonnet 5 oraz Opus 4.7 i nowsze zawsze używają adaptacyjnego rozumowania sterowanego poziomem effort:

Okno terminala
# Wartości zmiennej środowiskowej (trwałe): low, medium, high (domyślnie), xhigh, max
export CLAUDE_CODE_EFFORT_LEVEL=medium

Wewnątrz sesji uruchom /effort (lub użyj suwaka w /model), aby wybrać low, medium, high, xhigh, max lub ultracode. high jest domyślny na Fable 5, Sonnet 5 i Opus 5; Opus 4.7 domyślnie używa xhigh. max działa tylko w sesji, gdy wybierzesz go interaktywnie, ale przyjmuje go CLAUDE_CODE_EFFORT_LEVEL; trwałe ustawienie effortLevel przyjmuje wyłącznie low, medium, high lub xhigh. ultracode działa tylko w sesji, wysyła xhigh i dodatkowo włącza Dynamic Workflows dla istotnych zadań.

Dla maksymalnego bezpieczeństwa włącz sandboxing, aby izolować polecenia bash:

{
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": true,
"network": {
"allowedDomains": ["github.com", "*.npmjs.org", "registry.yarnpkg.com"],
"allowLocalBinding": true
}
}
}

Gdy sandboxing jest włączony, autoAllowBashIfSandboxed: true oznacza, że Claude może uruchamiać każde polecenie bash bez pytania, ponieważ piaskownica zapobiega dostępowi do systemu plików i sieci poza Twoimi dozwolonymi regułami.

Najszybszy sposób na eksplorację i modyfikację ustawień to polecenie /config wewnątrz sesji Claude Code:

/config

Otwiera ono interfejs z zakładkami, gdzie możesz przeglądać swoje bieżące ustawienia, modyfikować uprawnienia, przełączać funkcje i widzieć, które ustawienia pochodzą z którego zakresu.

“Permission denied” dla poleceń, które myślałeś, że zezwoliłeś — Sprawdź sprzeczne reguły. Reguły deny są oceniane jako pierwsze i mają pierwszeństwo. Reguła deny Bash(npm *) zablokuje wszystko związane z npm, nawet jeśli zezwoliłeś na Bash(npm run test).

“Model not available” — Jeśli ustawiłeś konkretny model w settings.json i nie jest on dostępny w Twoim poziomie konta, Claude Code może się nie uruchomić. Usuń nadpisanie modelu lub sprawdź swój poziom subskrypcji.

Ustawienia nie działają — Pamiętaj o kolejności pierwszeństwa. Jeśli Twoje ustawienie użytkownika jest nadpisywane, sprawdź .claude/settings.json (zakres projektu) i .claude/settings.local.json (zakres lokalny). Użyj /config, aby zobaczyć efektywną scaloną konfigurację.

“Cannot read settings file” — Zwykle przyczyną jest nieprawidłowa składnia JSON. Przepuść swój settings.json przez walidator JSON. Właściwość $schema daje Ci autocomplete i walidację w VS Code.

Mając skonfigurowane uprawnienia i modele, skonfiguruj integrację IDE, aby Claude Code pracował obok Twojego edytora.