settings.json: система конфигурации
settings.json — это место, где живёт конфигурация Claude Code: разрешения, хуки, переменные окружения, значения модели по умолчанию и многое другое. Понимание уровней — это ключ.
Уровни (от наиболее глобального → к наиболее специфичному)
Более поздние (более специфичные) уровни переопределяют более ранние:
- Enterprise / managed — политика, заданная администратором организации. Побеждает всё.
- User —
~/.claude/settings.json. Ваши значения по умолчанию для всех проектов. - Project (shared) —
.claude/settings.json, закоммичен в репозиторий. Общекомандный. - Project (personal) —
.claude/settings.local.json, в git-ignore. Ваши переопределения для этого репозитория.
:::tip Коммитьте общий файл, игнорируйте локальный
Помещайте командные соглашения в .claude/settings.json (закоммичен). Помещайте личные настройки и машинно-специфичные пути в .claude/settings.local.json (в git-ignore). Это сохраняет согласованность команды, не навязывая ваши предпочтения другим.
:::
Что вы будете задавать чаще всего
permissions— правила allow/ask/deny. См. Разрешения.hooks— команды, выполняемые на событиях жизненного цикла. См. Хуки.env— переменные окружения для сессии.- Значения модели / поведения по умолчанию — например, предпочтительная модель.
Безопасное редактирование
- Сохраняйте валидный JSON (висячая запятая его сломает).
- Предпочитайте узкие правила разрешений широким.
- Никогда не помещайте секреты в закоммиченный файл — используйте ссылки в
envили менеджер секретов.
Готовые к копированию стартовые файлы есть в Рецептах для хуков и settings.json.