Pliki settings.json i ich hierarchia
Ustawienia użytkownika w ~/.claude/settings.json dotyczą Ciebie we wszystkich projektach na tym komputerze. Współdzielony .claude/settings.json obejmuje osoby pracujące w danym folderze, a w repozytorium można go zatwierdzić, by otrzymali go współpracownicy. Plik .claude/settings.local.json służy do osobistych ustawień w jednym projekcie.
Kolejność pierwszeństwa, od najwyższego, to ustawienia zarządzane, argumenty wiersza poleceń, ustawienia lokalne projektu, współdzielone ustawienia projektu i ustawienia użytkownika. Jeśli ten sam klucz występuje na kilku poziomach, wartość z najwyższego poziomu, który go ustawia, zastępuje niższe wartości. --settings <file-or-json> pozwala ustawić wartości dla pojedynczej sesji, a pominięty w nim klucz zachowuje wartość z plików projektu lub użytkownika. Własne pliki ustawień ani --settings nie nadpisują klucza narzuconego przez organizację.
Instalacja Claude Code sama nie tworzy plików ustawień. Współdzielony plik projektu można utworzyć pod ścieżką .claude/settings.json w folderze projektu. Pliki użytkownika i lokalny plik projektu można utworzyć samodzielnie albo pozwolić Claude Code utworzyć je przy zmianie określonych ustawień. Pliki muszą zawierać ścisły JSON: komentarze // i końcowe przecinki powodują błąd składni zgłaszany przy następnym uruchomieniu. Po zapisaniu zmian można sprawdzić, czy plik został wczytany, uruchamiając /status w Claude Code.
Zatwierdzenie .claude/settings.json udostępnia współdzielone ustawienia osobom klonującym repozytorium. Lokalny plik projektu jest stosowany ponad zatwierdzonym plikiem współdzielonym, dzięki czemu osobisty wyjątek nie wymaga zmiany ustawień zespołu. Sesje w chmurze nie odczytują ustawień użytkownika ani lokalnych ustawień projektu, ponieważ te pliki pozostają na komputerze. Dla niektórych kluczy ograniczających sesję bardziej restrykcyjna wartość z niższego zakresu może zostać zachowana mimo ustawienia zarządzanego.
~/.claude/settings.json
{
"model": "claude-sonnet-5"
}.claude/settings.local.json
{
"model": "claude-opus-5-5"
}.claude/settings.json
{
"permissions": {
"allow": [
"Bash(npm run lint)"
]
}
}Zastosowanie w praktyce
Ustawienia osobiste używane we wszystkich projektach zapisuj w ~/.claude/settings.json. Gdy zespół ma korzystać z tych samych uprawnień, hooków i pluginów, zatwierdź .claude/settings.json w repozytorium. Do testowania lub osobistych wyjątków w jednym projekcie użyj .claude/settings.local.json, który nadpisuje ustawienia współdzielone. Po zmianie pliku sprawdź przez /status, czy ustawienia zostały wczytane.