Зачем это нужно#
В прошлом уроке мы научились давать Claude инструкции через CLAUDE.md. Но у Claude Code есть ещё один мощный способ управления — файлы настроек (settings). Они контролируют не что Claude делает, а как он работает: какие инструменты может использовать, какие команды запускать, какие ограничения соблюдать.
Если CLAUDE.md — это «правила поведения», то settings — это «регламент безопасности и технические параметры».
Что такое settings.json#
settings.json — это файл в формате JSON, который хранит технические настройки Claude Code.
💡 JSON (произносится «джейсон») — это формат записи данных, похожий на список. Данные записываются в фигурных скобках
{}, а каждая настройка — это пара «название: значение».
Пример:
{
"permissions": {
"allow": ["Read files", "Write files"],
"deny": ["Delete files"]
}
}Это как сказать: «Разрешаю читать и создавать файлы, но удалять — нельзя».
Уровни настроек#
Как и CLAUDE.md, настройки существуют на нескольких уровнях. Вот они от самого широкого к самому узкому:
| Уровень | Расположение файла | Для кого | Можно переопределить? |
|---|---|---|---|
| Управляемый (Managed) | Системная папка | Все пользователи компьютера | Нет, высший приоритет |
| Пользовательский (User) | ~/.claude/settings.json |
Вы, во всех проектах | Да, более узкими |
| Проектный (Project) | .claude/settings.json |
Вся команда проекта | Да, локальными |
| Локальный (Local) | .claude/settings.local.json |
Только вы, в этом проекте | Да, только managed |
💡 Правило простое: чем уже область, тем выше приоритет. Локальные настройки «побеждают» проектные, проектные «побеждают» пользовательские.
Как открыть настройки#
Самый простой способ — использовать команду внутри Claude Code:
/configОткроется интерфейс настроек, где можно всё посмотреть и изменить.
Пошаговая инструкция: настройка разрешений#
Шаг 1. Создайте папку для настроек#
В корне вашего проекта создайте папку .claude (с точкой в начале):
mkdir .claudeШаг 2. Создайте файл настроек#
Создайте файл .claude/settings.json:
{
"permissions": {
"allow": [
"Read",
"Edit",
"Bash(npm test)",
"Bash(npm run build)"
],
"deny": [
"Bash(rm *)"
]
}
}Что мы здесь сделали:
- ✅ Разрешили Claude читать и редактировать файлы
- ✅ Разрешили запускать тесты и сборку
- ❌ Запретили удалять файлы командой
rm
Шаг 3. Личные настройки#
Создайте файл ~/.claude/settings.json для ваших личных предпочтений:
{
"preferences": {
"theme": "dark",
"language": "ru"
}
}Примеры настроек#
Безопасный режим для новичка#
{
"permissions": {
"allow": [
"Read"
],
"deny": [
"Bash",
"Edit"
]
}
}Claude сможет только читать файлы — ничего не изменит и не запустит. Удобно, когда вы только изучаете проект.
Рабочий режим для разработки#
{
"permissions": {
"allow": [
"Read",
"Edit",
"Bash(npm *)",
"Bash(git status)",
"Bash(git diff)"
]
}
}Claude может читать, редактировать, запускать npm-команды и смотреть состояние Git.
Что можно настраивать#
| Настройка | Что делает | Пример |
|---|---|---|
| permissions.allow | Список разрешённых действий | ["Read", "Edit"] |
| permissions.deny | Список запрещённых действий | ["Bash(rm *)"] |
| env | Переменные окружения | {"NODE_ENV": "development"} |
Разница между CLAUDE.md и settings.json#
| CLAUDE.md | settings.json | |
|---|---|---|
| Формат | Свободный текст | Строгий JSON |
| Что хранит | Инструкции, правила, контекст | Разрешения, технические параметры |
| Кто читает | Claude (как рекомендации) | Система Claude Code (как строгие правила) |
| Можно нарушить? | Claude может отступить от рекомендаций | Нет, система строго соблюдает |
Советы#
- ✅ Начните с пользовательских настроек — они работают везде
- ✅ Для командной работы используйте проектные настройки (
.claude/settings.json) - ✅ Локальные настройки (
.local.json) не попадают в Git — используйте для личных экспериментов - ⚠️ Будьте аккуратны с разрешениями: лучше начать с минимума и добавлять по мере необходимости
Итоги урока#
- settings.json управляет техническими параметрами Claude Code: разрешениями, окружением, поведением
- Есть 4 уровня настроек: управляемый → пользовательский → проектный → локальный
- Более узкие настройки имеют больший приоритет
- Команда
/configоткрывает удобный интерфейс настроек - settings.json — строгие правила (система не нарушит), CLAUDE.md — рекомендации (Claude может адаптировать)