Настройка Claude Code в 2026: settings.json, права доступа, хуки и свои команды
Свежая установка Claude Code и рабочее окружение - две разные вещи. Разбираю по шагам, что положить в CLAUDE.md, как раздать права в settings.json, повесить хуки на автоформат и завести свои команды. Двадцать минут настройки, дальше экономят часы.
15 мин чтения
Настройка Claude Code это три вещи: файл CLAUDE.md с инструкциями по проекту, файл settings.json с правами и хуками, и папка со своими командами. Свежая установка умеет отвечать и редактировать файлы, но переспрашивает на каждом шаге и не знает ничего про твой проект. Двадцать минут настройки превращают её в окружение, которое работает по твоим правилам и экономит часы дальше.
Это гайд по настройке, а не обзор. Пройдём по файлам в том порядке, в каком их стоит трогать: сначала память проекта, потом права доступа, потом хуки, потом свои команды и режимы. Для каждого шага дам живой пример конфига, который можно скопировать и поправить под себя. В конце маршрут на двадцать минут и чек-лист, что должно получиться.
Рабочее окружение Claude Code собирается из четырёх слоёв настройки. CLAUDE.md в корне проекта даёт Claude контекст в каждой сессии. Списки allow, ask и deny в settings.json раздают права: рутину без остановок, опасное под запрет. Хуки вешают автодействия до и после инструментов, например автоформат после каждой правки. Свои команды в .claude/commands превращают повторяющиеся инструкции в один слэш. Всё это коммитится в репозиторий, и каждый в команде стартует с одинаковой настройки.
настройки: память, права, хуки, свои команды
на первую настройку окружения по шагам
потолок для CLAUDE.md по совету Anthropic
разрешений переключаются через Shift+Tab
Коротко: пять слов, которые дальше встретятся
- CLAUDE.md - текстовый файл в корне проекта, который Claude читает в начале каждой сессии как инструкцию.
- settings.json - файл настроек в папке
.claude: права доступа, хуки, переменные окружения, модель по умолчанию. - Права доступа - три списка (allow, ask, deny), которые решают, что Claude делает сам, что спрашивает, что ему запрещено.
- Хук - своя команда, которая срабатывает автоматически до или после действия Claude.
- Своя команда - файл в
.claude/commands, который добавляет в сессию новый слэш вроде/truth.
Как поставить Claude Code и что нужно из России
Установка это одна строка в терминале. На macOS, Linux и WSL:
curl -fsSL https://claude.ai/install.sh | bash
На Windows в PowerShell:
irm https://claude.ai/install.ps1 | iex
Есть и путь через npm, если он уже стоит: npm install -g @anthropic-ai/claude-code. Дальше запускаешь командой claude в папке проекта, и в первый раз он попросит войти в аккаунт.
Из России есть два условия. Первое: активная подписка Claude, минимум Pro за 20 долларов в месяц, Claude Code входит в неё без отдельной платы. Оплатить можно иностранной картой напрямую или через сервис оплаты подписок за рубли (реферальная ссылка: тебе тот же прайс, мне небольшой процент). Второе: нужен рабочий VPN с одной постоянной страной, потому что Россия не в списке поддерживаемых регионов. Держи VPN на одной стране и не прыгай между ними, иначе есть риск блокировки аккаунта. Подробный путь новичка с нуля разобран в отдельном гайде про Claude Code из России.
Claude Code бесплатный сам по себе, платишь только за подписку Claude. Тот же лимит тратится и в браузерном чате, и в терминале: отдельного счётчика у Claude Code нет.
CLAUDE.md: память проекта, которую он читает каждый раз
CLAUDE.md в корне проекта это первое, что стоит завести. Claude подгружает этот файл в начале каждой сессии и держит его как постоянную инструкцию. Сюда пишут то, что иначе пришлось бы повторять в каждом чате: стек проекта, команды сборки и тестов, стиль кода, чего делать нельзя.
Anthropic советует держать файл примерно в 2500 токенов, это две-три страницы. Смысл в том, что CLAUDE.md съедает контекст в каждой сессии: раздуешь его до простыни, и Claude начнёт хуже держать твою текущую задачу. Пиши коротко и по делу, как памятку новому коллеге.
Минимальный пример содержания:
# Проект: интернет-магазин на Next.js
## Команды
- Тесты: npm test
- Линтер: npm run lint
- Сборка: npm run build
## Правила
- Компоненты в src/components, стили рядом в том же файле.
- Не трогай папку legacy без явной просьбы.
- Тексты интерфейса на русском.
Как устроен этот файл детально, какие ошибки в нём чаще всего ломают работу и готовый шаблон разобраны в гайде про настройку CLAUDE.md. Здесь важно одно: без этого файла Claude в каждой сессии начинает с чистого листа и угадывает твои правила заново.
Длинные своды правил не держи прямо в CLAUDE.md, выноси их отдельными файлами в папку .claude/rules. Так главный файл остаётся коротким, а тяжёлые инструкции подтягиваются, когда реально нужны, и не забивают контекст в каждой сессии. Если не хочешь, чтобы Claude сам дописывал память проекта, автопамять отключается настройкой autoMemoryEnabled в settings.json или переменной окружения CLAUDE_CODE_DISABLE_AUTO_MEMORY.
settings.json: где живёт и что в нём настраивают
Второй файл это settings.json. У него два адреса. Проектный лежит в .claude/settings.json внутри репозитория и действует только на этот проект. Глобальный лежит в ~/.claude/settings.json в домашней папке и действует на все проекты сразу. Проектный перебивает глобальный, если правила пересекаются.
В settings.json собрано четыре вещи: права доступа, хуки, переменные окружения и модель по умолчанию. Дальше разберём два главных блока, ради которых этот файл вообще заводят: права и хуки.
Проектный settings.json и CLAUDE.md имеет смысл закоммитить в репозиторий. Тогда каждый, кто клонирует проект, получает то же самое настроенное окружение: те же права, те же хуки, те же команды. Личные привычки, которые не нужны команде, держи либо в глобальном файле в домашней папке, либо в .claude/settings.local.json внутри проекта: этот файл не уходит в общий репозиторий и перебивает общую настройку только у тебя.
Права доступа: allow, ask, deny
Это главный блок настройки. По умолчанию Claude переспрашивает почти на каждом действии, и работа превращается в бесконечное нажимание «да». Права доступа убирают эту возню и одновременно ставят стену вокруг опасного.
Работает через три списка в settings.json:
{
"permissions": {
"allow": [
"Bash(npm test:*)",
"Bash(npm run lint:*)",
"Read(**)"
],
"ask": [
"Bash(git push:*)"
],
"deny": [
"Bash(rm -rf /*)",
"Bash(sudo:*)",
"Read(.env)"
]
}
}
Разбор по спискам. В allow то, что Claude делает молча: прогнать тесты, запустить линтер, читать любые файлы. В ask то, что он выполнит только после твоего подтверждения, например git push. В deny жёсткий запрет: рекурсивное удаление, команды через sudo, чтение файла .env с секретами.
Ключевое правило: запрет всегда сильнее разрешения. Если Read(**) открывает чтение всего, а Read(.env) стоит в deny, то .env всё равно закрыт. Это удобно: даёшь широкий доступ и точечно вырезаешь то, что трогать нельзя.
Не открывай в allow команды, которые что-то удаляют или пушат без разбора. Одно широкое правило вроде Bash(git:*) разрешает и git push --force в основную ветку. Опасные операции держи в ask, чтобы Claude спрашивал, а совсем разрушительное клади в deny. Про откат правок, если что-то всё же сломалось, есть отдельный гайд.
Разобрался с правами доступа? Дальше идут хуки и свои команды, а это уже уровень уверенного пользователя. Пройди мини-курс «Claude за вечер»: от установки до первых результатов на твоих задачах.
Пройти мини-курс →Хуки: автодействия до и после инструментов
Хук это своя команда, которая срабатывает сама в нужный момент, без твоего участия. Два главных момента: PreToolUse запускается перед тем, как Claude применит инструмент, PostToolUse после. Хуки описываются в settings.json и работают в каждой сессии.
Самый частый сценарий: автоформат кода после каждой правки. Claude отредактировал файл, и хук тут же прогоняет prettier, чтобы отступы и кавычки были едиными:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "npx prettier --write \"$CLAUDE_TOOL_INPUT_FILE_PATH\""
}
]
}
]
}
}
Как это читается: matcher ловит инструменты Write и Edit, то есть любое создание или изменение файла. После них запускается команда, а переменная $CLAUDE_TOOL_INPUT_FILE_PATH подставляет путь к тому самому файлу, который Claude только что тронул. Тебе не нужно помнить про форматирование, оно происходит фоном.
Хук на PreToolUse работает наоборот, как охранник на входе. Он может запустить небольшой скрипт, который проверяет команду до выполнения и блокирует опасное: рекурсивное удаление, sudo rm, chmod 777, форс-пуш в основную ветку. Скрипт кладут, например, в .claude/hooks/block-dangerous-bash.py, он получает описание команды на стандартный вход и возвращает код выхода 2, если её надо остановить. Это второй слой защиты поверх списка deny.
Формула настройки: права решают, что Claude вообще может делать, а хуки решают, что происходит автоматически вокруг каждого его действия. Первое убирает лишние вопросы, второе убирает лишнюю ручную работу.
Свои команды: собери личный слэш вроде /truth
Кроме встроенных слэш-команд можно завести свои. Каждая живёт отдельным файлом в папке .claude/commands. Назвал файл truth.md, и в сессии появляется команда /truth. Работает сразу после сохранения, перезапускать ничего не нужно.
В шапке файла описание и, по желанию, список разрешённых инструментов. Пример команды-проверки, которая перечитывает недавние правки и сверяет заявления Claude с тем, что реально в коде:
---
description: Сверить недавние заявления Claude с реальным кодом
allowed-tools: Read, Grep, Glob, Bash(git diff:*)
---
Перечитай свои последние правки через git diff.
Для каждого утверждения, что ты что-то сделал, найди подтверждение в коде.
Если утверждение не подтверждается, скажи об этом прямо.
Строка allowed-tools ограничивает команду только чтением и поиском, писать в файлы она не может. Так собирают личный набор: команда прогона тестов, команда ревью, команда сверки. Набираешь слэш в сессии, и Claude показывает список доступных команд с фильтром по имени. Про то, как формулировать задачи и команды, чтобы Claude понимал с первого раза, есть разбор команд Claude Code.
Три режима разрешений: переключай под задачу
Помимо файлов есть быстрый переключатель прямо в сессии. Сочетание Shift+Tab листает три режима, и это меняет, насколько Claude самостоятелен:
- Обычный - спрашивает перед рискованными действиями, разрешённое из
allowделает сам. Режим по умолчанию. - Auto-Accept Edits - не переспрашивает на правках файлов, шпарит без остановок. Удобно, когда доверяешь задаче.
- Plan Mode - только читает и планирует, ничего не меняет, пока ты не одобришь план. Хорош для разведки в незнакомом коде.
Логика простая: незнакомый проект начинаешь в Plan Mode, чтобы Claude сперва понял и предложил план, а не полез сразу переписывать. Понятную рутину гонишь в Auto-Accept, чтобы не мешать вопросами.
Команды, которые стоит выучить первыми
Встроенных слэш-команд много, но на старте хватает горстки:
/compact- сжимает историю сессии в краткую сводку и освобождает контекст, когда разговор затянулся./model- переключает модель под задачу: помощнее на сложное, побыстрее на простое./agents- открывает субагентов, отдельные изолированные сессии со своим контекстом./memory- показывает и правит, что Claude помнит про проект.
Полная шпаргалка по встроенным командам, чтобы держать под рукой:
| Команда | Что делает |
|---|---|
/init | сканирует проект и собирает черновик CLAUDE.md |
/memory | открыть и править память проекта |
/compact | сжать историю сессии, освободить контекст |
/context | показать, сколько контекста уже занято |
/clear | начать чистый диалог, память проекта сохраняется |
/diff | посмотреть все изменения сессии одним списком |
/rewind | откатить правки к более раннему чекпойнту |
/plan | включить и выключить режим планирования |
/model | сменить модель на ходу |
/agents | управлять субагентами |
/permissions | править права доступа интерактивно |
/hooks | править хуки интерактивно |
/code-review | проверить изменения на баги в коде |
/security-review | проверить изменения на дыры в безопасности |
/cost | показать расход токенов и денег за сессию |
/doctor | проверить установку на проблемы |
Заучивать всё разом не нужно. На старте держи в голове три: /plan для разведки, /compact когда сессия распухла, /diff чтобы увидеть, что Claude наменял. Остальное подсмотришь в списке, набрав слэш.
Субагенты это отдельные экземпляры Claude с собственным контекстом и своим набором инструментов. Типичные роли: code-reviewer с доступом только на чтение, test-runner, аудитор зависимостей. Они уходят разбираться с большой задачей в стороне и возвращают сводку, не засоряя основную сессию. Живут файлами в .claude/agents.
Свежая установка против настроенного окружения
Таблица, чтобы увидеть разницу целиком.
| Что | Свежая установка | После настройки |
|---|---|---|
| Знает про проект | Ничего, угадывает каждый раз | Читает CLAUDE.md в начале сессии |
| Рутинные команды | Переспрашивает почти всегда | Тесты и линтер идут сами через allow |
| Опасные операции | Полагается на твою бдительность | Заблокированы в deny и хуком PreToolUse |
| Форматирование кода | Вручную после правок | Автоматом хуком PostToolUse |
| Повторяющиеся действия | Расписываешь заново каждый раз | Один слэш из .claude/commands |
| Команда разработчиков | У каждого своё окружение | Одинаковое из репозитория |
Маршрут настройки на двадцать минут
Память ≈ 7 мин
- создай CLAUDE.md в корне
- впиши стек, команды, правила
- держи в пределах пары страниц
Права ≈ 6 мин
- заведи .claude/settings.json
- в allow рутину, в deny опасное
- git push оставь в ask
Хуки ≈ 4 мин
- повесь PostToolUse на автоформат
- проверь на одной правке
Команды ≈ 3 мин
- создай первую в .claude/commands
- закоммить всё в репозиторий
Если хочется, чтобы Claude помог настроить сам себя, дай ему такую задачу в свежем проекте:
Изучи мой проект: какой стек, какие команды сборки и тестов. Собери черновик CLAUDE.md в корне: стек, команды, правила стиля, что не трогать. Держи файл в пределах двух страниц. Предложи содержимое .claude/settings.json: в allow безопасную рутину проекта, в deny удаление и sudo, git push в ask. Покажи оба файла, но не создавай их, пока я не одобрю.
Дальше следующий уровень: подключить внешние инструменты через MCP-серверы и запускать несколько агентов параллельно через git worktree. Но это уже поверх базовой настройки, а не вместо неё.
Чек-лист: что должно быть после настройки
- В корне проекта лежит
CLAUDE.mdсо стеком, командами и правилами, короткий. - В
.claude/settings.jsonесть блокpermissionsс рутиной в allow и опасным в deny. - Опасные операции вроде
git pushстоят в ask, а не открыты молча. - Висит хотя бы один хук
PostToolUseна автоформат кода. - Заведена хотя бы одна своя команда в
.claude/commands. - Ты знаешь про
Shift+Tabи три режима разрешений. - Проектные файлы настройки закоммичены в репозиторий.
Настройка Claude Code это разовая работа на вечер, которая дальше отбивается каждый день. Свежая установка отвечает и редактирует, но не знает твоих правил и переспрашивает на каждом шаге. Настроенное окружение действует по твоим границам: рутину делает само, опасное держит под замком, повторяющееся прячет за один слэш. Двадцать минут на четыре файла, и дальше ты работаешь, а не объясняешь одно и то же заново.
По материалам KDnuggets, «A Beginner’s Guide to Setting Up Claude Code for High-Performance Agentic Programming»: https://www.kdnuggets.com/a-beginners-guide-to-setting-up-claude-code-for-high-performance-agentic-programming
Частые вопросы
Где хранятся настройки Claude Code?
В двух файлах. CLAUDE.md лежит в корне проекта и содержит инструкции, которые Claude читает в начале каждой сессии. settings.json лежит в папке .claude внутри проекта или в ~/.claude для глобальных настроек. В settings.json сидят права доступа, хуки, переменные окружения и модель по умолчанию. Свои команды кладутся отдельными файлами в .claude/commands.
Что такое права доступа в Claude Code и зачем их настраивать?
Права доступа это списки allow, ask и deny в settings.json, которые говорят, какие команды Claude может запускать сам, какие спрашивать, а какие ему запрещены. Без настройки Claude переспрашивает почти на каждом шаге. С настройкой рутина вроде npm test идёт без остановок, а опасное вроде rm -rf заблокировано наглухо. Правило deny всегда сильнее allow.
Что такое хуки в Claude Code?
Хук это своя команда, которая срабатывает автоматически до или после действия Claude. PreToolUse запускается перед инструментом, PostToolUse после. Типичный пример: после каждого редактирования файла хук сам прогоняет prettier и форматирует код. Хуки описываются в settings.json и работают без твоего участия в каждой сессии.
Как сделать свою команду в Claude Code?
Создай файл в папке .claude/commands, например truth.md, с описанием в шапке и инструкцией внутри. После сохранения команда доступна сразу: набираешь слэш в сессии и видишь её в списке. В шапке через allowed-tools можно ограничить, какими инструментами команда пользуется. Так собирают личные команды вроде проверки правок или прогона тестов.
Работает ли Claude Code из России?
Сам инструмент ставится и работает, но нужен VPN с одной постоянной страной: Россия не входит в список поддерживаемых регионов, и без VPN Claude не пускает. Плюс нужна активная подписка Claude, минимум Pro за 20 долларов в месяц. Оплатить можно иностранной картой или через сервис оплаты подписок за рубли.