EnglishРусский中文

Зачем это нужно#

В прошлом уроке мы научились давать 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 может адаптировать)