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
  • Konfiguracja modelu balansująca 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ć przez .claude/settings.local.json.

Claude Code domyślnie używa Claude Opus 4.6, najbardziej zdolnego modelu do kodowania agentowego. Możesz to nadpisać globalnie lub per-sesja.

Wewnątrz sesji użyj polecenia /model:

/model
# Wybierz z dostępnych modeli

Lub przełącz tryb fast, który przełącza na Claude Sonnet 4.5:

/model fast

W settings.json:

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

Lub przez zmienną środowiskową:

Okno terminala
export ANTHROPIC_MODEL=claude-sonnet-4-5-20250929
ModelPrzypadek użyciaKompromis
Claude Opus 4.6 (domyślny)Złożony refaktoring, decyzje architektoniczne, zmiany wieloplikoweNajbardziej zdolny, najwyższy koszt tokenów
Claude Sonnet 4.5 (tryb fast)Szybkie edycje, proste poprawki błędów, rutynowe zadaniaSzybki i tańszy, nieco mniej zdolny

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

TrybZachowanieAktywuj przez
DefaultPytaj o pozwolenie na każdą akcjęDomyślne zachowanie
Accept EditsAuto-akceptuj edycje plików, pytaj o polecenia bash/config lub --permission-mode acceptEdits
Bypass PermissionsPomiń wszystkie pytania o pozwolenie--dangerously-skip-permissions

Flaga --dangerously-skip-permissions pomija wszystkie pytania o zgodę. Claude będzie czytał, pisał i wykonywał polecenia bez pytania.

Okno terminala
claude --dangerously-skip-permissions

Kiedy używać trybu bypass legalnie:

  • Pipeline 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 zespole.

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

{
"alwaysThinkingEnabled": true
}

Lub kontrolować budżet myślenia przez zmienną środowiskową:

Okno terminala
# Ogranicz tokeny myślenia (domyślnie 31,999)
export MAX_THINKING_TOKENS=10000
# Wyłącz myślenie całkowicie
export MAX_THINKING_TOKENS=0

Dla Claude Opus 4.6 głębokość myślenia jest kontrolowana przez ustawienie poziomu wysiłku zamiast tego:

Okno terminala
# Wartości: low, medium, high (domyślnie)
export CLAUDE_CODE_EFFORT_LEVEL=medium

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

To otwiera 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 nie uruchomić się. 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.

Z skonfigurowanymi uprawnieniami i modelami skonfiguruj integrację IDE, aby Claude Code pracował obok Twojego edytora.