settings.json в Claude Code: где лежит и что писать
Файла может не быть: Claude Code не создаёт его при установке, вы создаёте его сами. Личные настройки лежат в ~/.claude/settings.json, настройки проекта - в .claude/settings.json внутри репозитория. Открыть и поправить настройку можно командой /config
Где лежит файл и почему его может не быть
Запрос «claude нету settings.json» описывает штатную ситуацию: файл не появляется сам. Пока вы ничего не настраивали, его просто нет, и это не поломка
- Личные настройки, действуют во всех проектах:
~/.claude/settings.json - Настройки проекта, едут в репозиторий вместе с кодом:
.claude/settings.json - Локальные настройки проекта, в репозиторий не попадают:
.claude/settings.local.json
На Windows домашняя папка ~/.claude разворачивается в %USERPROFILE%\.claude. Отсюда и запрос про указание модели в settings.json на Windows: путь другой, содержимое то же
Порядок, в котором файлы перебивают друг друга
Настройка одного и того же ключа в нескольких местах разрешается не по времени правки, а по старшинству источника
- Управляемые настройки организации (перекрыть нельзя)
- Аргументы командной строки
.claude/settings.local.json.claude/settings.json~/.claude/settings.json
Отсюда растёт самая частая жалоба. «Поменял модель в личных настройках, ничего не изменилось» почти всегда означает, что выше по списку лежит забытый локальный файл проекта или переменная окружения. Проверять надо сверху вниз, а не переписывать нижний файл заново
Что в него писать
Ключей верхнего уровня немного, и половину вы не тронете никогда. Рабочий минимум выглядит так
{
"model": "sonnet",
"permissions": {
"allow": ["Bash(npm run lint)"],
"deny": ["Read(.env)"]
},
"env": { "MY_VAR": "1" },
"hooks": { }
}
model задаёт модель по умолчанию, permissions разрешает и запрещает конкретные действия, env добавляет переменные окружения сессии, hooks подключает скрипты на события
Поправить одну настройку можно не открывая файл: /config key=value работает начиная с версии 2.1.181, а просто /config открывает настройки списком
Для ориентира: в моём личном файле сейчас 11 ключей верхнего уровня и 6 разных событий в блоке хуков. Это уже сильно больше среднего, начинать стоит с двух-трёх
Четыре ключа встали на место: model, permissions, env, hooks. Дальше эти ключи начинают спорить между собой на разных уровнях - личном, проектном, локальном, и именно порядок старшинства из предыдущего раздела решает, чей файл победит, когда значения расходятся
На Лагере разбираем всю лестницу настроек Claude Code, а не один файл: от прав до хуков, до того, что должно жить в личном файле, а что - в файле проекта
Заявка в закрытый канал, одобряю сразу. Бот сам напишет первым и покажет, как забрать три дня Лагеря. Бесплатно
Частые вопросы
Почему у меня нет файла settings.json?
Потому что Claude Code не создаёт его при установке. Файл появляется, когда вы сами его создаёте или когда команда /config записывает первую настройку. Отсутствие файла означает работу на значениях по умолчанию, а не поломку
Как указать модель в settings.json на Windows?
Так же, как на других системах: ключ "model" со значением-псевдонимом, например sonnet. Отличается только путь: домашняя папка ~/.claude разворачивается в %USERPROFILE%\.claude
Я поменял настройку, а она не применилась
Значит выше по старшинству лежит другой источник. Порядок такой: управляемые настройки организации, аргументы командной строки, .claude/settings.local.json, .claude/settings.json, ~/.claude/settings.json. Проверять надо сверху вниз
Связанные гайды
Больше материалов по теме - в разделе Claude Code: доступ, установка, оплата