Как работают в Claude Code разрешения?
В Claude Code разрешения задаются через /permissions: allow разрешает действие без вопроса, ask требует подтверждения, deny запрещает. Проверка идёт в порядке deny, ask, allow. Если команда попала и в ask, и в allow, вопрос останется.
Настройка Claude Code включает ещё правила проекта, память и скиллы. Ниже - тот же порядок настройки с примером разрешённого и запрещённого действия. Команды и условия сверены с документацией Anthropic 30 октября 2026 года.
Что понадобится
- Установленный Claude Code. Проверяется командой
claude --version- в ответ приходит номер версии. - Папка проекта, с которым будешь работать. Для проверки разрешений возьми учебную копию без ключей и личных документов.
Что такое сам Claude Code - в отдельной статье. Если программа ещё не запускается, сначала установи Claude Code.
Что настраивать и в каком порядке
- Правила проекта - что агент должен знать про код и порядок работы.
- Память - какие заметки пригодятся в следующей сессии.
- Разрешения - каким инструментом и с каким файлом можно работать.
- Скиллы - готовые инструкции под повторяющиеся задачи.
Почти вся настройка хранится в текстовых файлах. CLAUDE.md объясняет задачу агенту, а разрешения проверяет сама программа. Просьба «не трогать настройки» в правилах проекта не заменяет запрет Edit для нужного пути.
Шаг 1. Правила проекта - файл CLAUDE.md
Обычный текст в разметке Markdown, лежит в корне проекта. Агент читает его в начале сессии.
Заготовку он соберёт по твоему коду:
/init
Открыть список инструкций и перейти к файлу:
/memory
Что туда писать:
- чем проверять работу: команда тестов, команда сборки;
- куда не лезть: папки и файлы за пределами задачи;
- как принято в проекте: имена, стиль, порядок работы с ветками.
Основные места для правил:
| Где лежит | На что действует |
|---|---|
CLAUDE.md в корне проекта |
Этот проект, файл можно хранить в репозитории |
~/.claude/CLAUDE.md |
Личные инструкции для разных проектов |
CLAUDE.md в подпапке проекта |
Подгружается при работе с файлами этой подпапки |
Строка со знаком @ и путём импортирует другой файл. Это помогает разнести правила по темам, но не уменьшает расход контекста: импортированный текст тоже загружается.
В CLAUDE.md стоит писать то, чего в коде нет: почему так решили, что уже пробовали и какие проверки нужны перед словом «готово».
Шаг 2. Память между сессиями
CLAUDE.md содержит инструкции, автопамять - накопленные заметки. По документации Anthropic на 30.10.2026 стандартная папка памяти - ~/.claude/projects/<project>/memory/. Другой каталог задаёт autoMemoryDirectory.
В начале сессии загружается начало MEMORY.md: первые 200 строк или 25 КБ, смотря какой предел наступит раньше. Подробные файлы Claude читает по необходимости. Через /memory можно проверить расположение памяти и её содержимое.
Два соседних механизма решают другие задачи. /compact сжимает текущий разговор, а двойной Esc или /rewind открывает выбор точки возврата. Откат возвращает не все изменения: файл, который меняли только команды терминала, внешние действия, правки других сессий и большинства субагентов останутся как есть. Перед важными изменениями нужна сохранённая версия в Git.
Закрывая большой кусок работы, попроси записать решения и оставшиеся задачи. Лимиты и расход контекста разобраны отдельно.
Шаг 3. Разрешения - что можно без вопроса
Открой /permissions: там видны действующие правила и файлы, из которых они пришли. Для примера нужна обычная CLI-сессия без надстроек, переопределяющих разрешения. Выбери ручной режим default, в интерфейсе он называется Manual. В другом режиме поведение может отличаться; разбор режимов у Anthropic оставим отдельной статье.
Пример allow, ask и deny с ожидаемым результатом
В учебном проекте подготовь notes.md, package.json и protected/config.txt с вымышленными данными. Запусти Claude из корня этой папки. В личный файл проекта .claude/settings.local.json добавь:
{
"permissions": {
"defaultMode": "default",
"allow": [
"Bash(git status)",
"Edit(/notes.md)",
"Edit(/package.json)",
"Edit(/protected/**)"
],
"ask": ["Edit(/package.json)"],
"deny": [
"Edit(/protected/**)",
"Read(./.env)",
"Read(./.env.*)"
]
}
}
Для уже существующего файла объедини записи с текущими настройками. Не заменяй его целиком. Здесь пересечения списков сделаны намеренно, чтобы увидеть приоритет.
| Действие | Ожидаемый результат | Причина |
|---|---|---|
Правка notes.md встроенным Edit |
Без вопроса | Совпало только allow |
Правка package.json встроенным Edit |
Запрос подтверждения | ask сильнее совпавшего allow |
Правка protected/config.txt встроенным Edit |
Запрещена | deny сильнее совпавшего allow |
Чтение .env встроенным Read |
Запрещено | Совпало правило Read в deny |
Проверяй только учебные файлы: попроси изменить одну строку через Edit, без терминала и MCP. Сравни путь и инструмент в журнале с таблицей, затем посмотри изменения файлов. .env с настоящим ключом для проверки не нужен. Пример составлен по документации. Эти вызовы в данной редакции не выполнялись.
Как читать путь и где заканчивается запрет
В проектных настройках /notes.md отсчитывается от основной рабочей папки сессии. ./.env - от текущей папки, ~/ - от домашней, // - от корня файловой системы. У пользовательского файла настроек привязка / другая. Поэтому пример не стоит переносить в глобальный файл без проверки путей.
Запись Edit(путь) применяется к встроенным инструментам изменения файлов. Read(путь) - к чтению; отдельное правило Write(путь) не заменяет Edit(путь) при проверке записи. Bash(git status) разрешает конкретную команду. Широкое Bash(npm *) разрешило бы также установку пакетов и другие действия npm.
Файловые правила не изолируют любой процесс. Они охватывают встроенные инструменты и распознаваемые файловые команды. Произвольный скрипт Python или Node может обращаться к файлам косвенно. Для ограничения процессов средствами операционной системы есть песочница. Она ограничивает команды и их дочерние процессы. Инструменты MCP и хуки выполняются вне этой границы.
Я сам плачу за Claude картой для подписок «Плати по миру»: выпускается за пару минут, пополняется рублями через СБП. Оформить картуРеклама. ООО "Капибара". ИНН 9703231520. erid: CQH36pWzJqNS1hfhQNyQNjbmhaUSfywWpWF3LE48uoYyEF
Почему allow уже есть, а Claude снова спрашивает
По документации Anthropic на 30.10.2026 deny проверяется первым, затем ask, затем allow. Более узкое allow не отменяет совпавшее ask. Найди оба правила в /permissions и сравни их с точным действием.
| Файл | Кого касается |
|---|---|
~/.claude/settings.json |
Личные настройки во всех проектах |
.claude/settings.json |
Общие настройки проекта |
.claude/settings.local.json |
Личные настройки этого проекта |
| Управляемые настройки организации | Политика администратора |
Для обычного значения локальные настройки выше проектных, проектные выше пользовательских. Параметры запуска тоже могут менять значение на одну сессию; управляемая политика имеет высший приоритет. Но списки разрешений объединяются: локальное allow не удалит deny из другого источника.
Если правило не видно, открой /status и проверь загруженные источники. При ошибке JSON запусти claude doctor. Если правило видно, проверь путь, инструмент и режим, прежде чем расширять доступ.
Шаг 4. Скиллы - готовые навыки
Скилл - папка с файлом SKILL.md, в котором лежит инструкция: когда браться и что делать по шагам. Подробнее - что такое скилл.
.claude/skills/my-skill/SKILL.md
~/.claude/skills/my-skill/SKILL.md
Первый путь - для проекта, второй - для разных проектов пользователя. Посмотреть доступные навыки можно через /skills, вызвать конкретный - через /имя-скилла. В description опиши задачу, для которой нужен навык.
Список имён и описаний занимает контекст; тело скилла подгружается при использовании. При большом списке часть описаний может не попасть в список. Ставь навыки под текущие задачи. Установка из GitHub и проверка чужих инструкций разобраны в отдельной статье.
Шаг 5. Проверить, что всё подхватилось
В терминале выполни:
claude doctor
Это проверка установки и настроек без запуска разговора. В сессии /status показывает источники настроек, /permissions - правила доступа, /memory - инструкции и память. Пересказ агентом правил полезен, но не доказывает, что запрет инструмента сработал: для этого нужен соответствующий вызов и проверка файла.
Если проблема началась после подключения надстроек, claude --safe-mode помогает проверить их влияние. Пользовательские инструкции, навыки, MCP и хуки отключаются; обычные разрешения и управляемая политика продолжают действовать. Условия флага сверены на 30.10.2026.
Когда нужны хуки и MCP
Хуки запускают заданные действия на событиях сессии, MCP даёт агенту инструменты внешних сервисов. Подключай их после базовой настройки и проверяй доступ каждого инструмента отдельно. Для управления есть /hooks и /mcp; что такое MCP - в словаре.
Что дальше
Работающие разрешения оставь в подходящем файле настроек. Личные настройки проекта не публикуй вместе с кодом. Перед новой задачей проверяй, какие папки и команды ей действительно нужны.
Всё, что я собрал по настройке для своих проектов, лежит в ClaudeBase: файлы добавляются в проект по инструкции, и агент читает их в рабочем контексте.