раздел 07
settings.json: права, модель, env
Это файл настроек агента (у Claude Code - settings.json). Он отвечает не за знания, а за поведение системы: что агенту разрешено делать без спроса, какую модель использовать, какие переменные окружения ему доступны. Настройки бывают глобальные (для всех проектов) и проектные, и проектные уточняют глобальные.
Разрешения: allow, deny, ask
Самая важная часть. Агент умеет выполнять команды в терминале, читать и писать файлы, ходить в сеть. Разрешения решают, что он делает сам, а что - только с твоего подтверждения:
- allow - можно без спроса. Сюда идёт безопасное и частое: чтение файлов, git status, запуск тестов.
- ask - спросить подтверждение. Для того, что обычно нормально, но иногда лучше глянуть.
- deny - нельзя вообще. Сюда идёт разрушительное и опасное.
Пример: наименьшие привилегии
{
"model": "claude-sonnet-4-5",
"permissions": {
"allow": [
"Read",
"Edit",
"Bash(git status)",
"Bash(git diff:*)",
"Bash(npm test:*)",
"Bash(npm run lint)"
],
"ask": [
"Bash(git push:*)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)",
"Read(./.env)"
]
},
"env": {
"NODE_ENV": "development"
}
}
Здесь агент свободно читает, правит и прогоняет тесты, спрашивает перед пушем, и ему прямо запрещено удалять рекурсивно, работать под sudo и читать файл с секретами.
Выбор модели и переменные
Кроме прав, в настройках задают модель (какую использовать по умолчанию) и переменные окружения - значения, которые агент видит при запуске команд. В env удобно класть неопасные настройки вроде режима сборки. Секреты лучше держать в .env и не завязывать на них права чтения без нужды.
Хорошо и плохо
Куда дальше
- Разрешения AI-агентов - подробный разбор прав: что открывать, что закрывать, как настроить безопасно.