- BrainTools - https://www.braintools.ru -
Полный справочник settings.json с ранжированием по полезности: от “почему я не знал об этом раньше” до “пригодится раз в год”.
Tier 1 (обязательно к настройке):
{
"plansDirectory": "./docs/plans",
"enableAllProjectMcpServers": true,
"permissions": {
"allow": ["Bash(npm:*)", "Bash(git:*)", "Edit(src/**)"],
"deny": ["Read(.env*)"]
},
"env": {
"ENABLE_TOOL_SEARCH": "auto:5"
}
}
Что это даёт:
Планы сохраняются в проекте, а не в ~/.claude/plans (можно коммитить!)
MCP серверы включаются автоматически без запросов
npm/git/редактирование src — без подтверждений
.env файлы защищены от чтения
MCP инструменты грузятся лениво → экономия 90% токенов
Актуально для: Claude Code 2.1.12 (январь 2026)
Игорь Масленников, в IT с 2013 года, последние 2 года развиваю AI Dev Team в DNA IT. У нас 3 человека + 44 AI-агента выполняют работу ~20 специалистов. Стоимость -80%, время разработки с 2-3 месяцев до 1-2 недель.
Развиваю Claude Code Orchestrator Kit [1] — open-source набор из 44 агентов, 20+ команд, 30+ скиллов для Claude Code.
Проблема: За 2 года работы с Claude Code я понял, что большинство разработчиков используют его “из коробки”. Не настраивают permissions, не знают про hooks, не используют MCP Tool Search. А потом жалуются на “тупой AI, который постоянно спрашивает подтверждения”.
Решение: Я собрал все настройки из официальной документации, CHANGELOG и своего опыта [2] в один структурированный справочник. С ранжированием по полезности — чтобы вы знали, что настроить в первую очередь.
Claude Code читает настройки из нескольких файлов. Если одна и та же настройка указана в разных местах, побеждает файл с более высоким приоритетом:
|
Приоритет |
Scope |
Файл |
Когда использовать |
|---|---|---|---|
|
🔴 Высший |
Managed (IT) |
|
Корпоративные политики |
|
🟠 Высокий |
Local (личный) |
|
Персональные настройки (не в git) |
|
🟡 Средний |
Project (команда) |
|
Настройки проекта (в git) |
|
🟢 Низший |
User (глобальный) |
|
Дефолты для всех проектов |
Типичный паттерн:
.claude/settings.json — в git, общие для команды
.claude/settings.local.json — в .gitignore, персональные
Эти настройки реально меняют рабочий процесс. Если вы их не используете — вы теряете время.
{ "plansDirectory": "./docs/plans" }
Что делает: Куда сохраняются планы при использовании Plan Mode (Shift+Tab → Plan).
По умолчанию: ~/.claude/plans — файлы теряются в домашней директории, нельзя закоммитить.
Почему важно: Планы — это артефакты работы. Я использую их для:
Code review (коллеги видят, что Claude планировал сделать)
Документации (планы становятся частью ADR)
Отката (если что-то пошло не так, смотрю план и понимаю логику [3])
Моя конфигурация:
{ "plansDirectory": "./docs/plans" }
Теперь все планы в git, рядом с кодом.
{
"env": {
"ENABLE_TOOL_SEARCH": "auto:5"
}
}
Что делает: Активирует ленивую загрузку MCP инструментов вместо загрузки всех сразу.
Почему важно: У меня 6 MCP серверов (~82,000 токенов). Без Tool Search они все грузятся при старте. С Tool Search — только ~5,700 токенов baseline + по требованию.
|
Значение |
Поведение [4] |
|---|---|
|
|
Активируется при >10% контекста заняты MCP |
|
|
Активируется при >N% контекста |
|
|
Всегда включен |
|
|
Выключен |
Результат:
ДО: 143k использовано → 57k свободно
ПОСЛЕ: 67k использовано → 133k свободно
Экономия: +76k токенов (+133% к рабочему пространству)
Подробнее писал в статье про MCP Tool Search. [5]
{
"permissions": {
"allow": [
"Bash(npm run:*)",
"Bash(pnpm:*)",
"Bash(git:*)",
"Edit(src/**)"
],
"deny": [
"Read(.env*)",
"Bash(rm -rf:*)"
]
}
}
Что делает: Автоматически разрешает (allow) или запрещает (deny) операции без запроса.
Почему важно: Без этого Claude каждый раз спрашивает:
Claude wants to run: npm run build
Allow? [Y/n]
Умножьте на 50 раз в день — и вы поймёте, зачем нужен allow list.
Паттерны:
Bash(npm:*) — любые npm команды
Bash(git:*) — любые git команды
Edit(src/**) — редактирование файлов в src/
Read(.env*) — чтение .env файлов (запретить!)
mcp__supabase__* — все инструменты supabase MCP (v2.1.x)
Моя конфигурация:
{
"permissions": {
"allow": [
"Bash(pnpm:*)",
"Bash(npm:*)",
"Bash(git:*)",
"Bash(bd:*)"
],
"deny": [
"Read(.env*)",
"Read(**/credentials*)",
"Bash(rm -rf:*)"
]
}
}
bd — это мой алиас для скриптов автоматизации.
{ "enableAllProjectMcpServers": true }
Что делает: Автоматически разрешает все MCP серверы из .mcp.json.
По умолчанию: Claude спрашивает разрешение на каждый сервер при старте:
Enable MCP server 'supabase'? [Y/n]
Enable MCP server 'playwright'? [Y/n]
Enable MCP server 'context7'? [Y/n]
...
С enableAllProjectMcpServers:
Loading MCP servers: context7, supabase, playwright, shadcn ✓
Важно: Включайте только если доверяете MCP серверам в проекте. Для open-source проектов с чужими .mcp.json — лучше оставить false.
{ "model": "claude-sonnet-4-20250514" }
Что делает: Переопределяет модель по умолчанию.
Когда использовать:
Фиксируете версию модели для воспроизводимости
Используете Sonnet для рутинных задач (дешевле)
Тестируете новую модель
Доступные модели (январь 2026):
claude-opus-4-5-20251101 — самая мощная
claude-sonnet-4-20250514 — баланс скорость/качество
claude-haiku-4-20250514 — быстрая и дешёвая
{ "alwaysThinkingEnabled": true }
Что делает: Включает Extended Thinking по умолчанию для всех сессий.
Что такое Extended Thinking: Claude “думает вслух” перед ответом. Занимает больше токенов, но улучшает качество сложных задач (архитектура, дебаг, рефакторинг).
Когда включать:
Работаете над сложной архитектурой
Отлаживаете неочевидные баги
Нужен глубокий анализ кода
Когда НЕ включать:
Рутинные задачи (создание файлов, простые фиксы)
Ограниченный бюджет токенов
Эти настройки не критичны, но заметно улучшают опыт работы.
{ "language": "russian" }
Что делает: Claude отвечает на указанном языке.
Почему важно: Без этого Claude отвечает на английском. Приходится писать “отвечай на русском” в каждом промпте.
Поддерживаемые языки: Практически любой. Claude определяет по названию: russian, german, spanish, chinese, etc.
{ "autoUpdatesChannel": "stable" }
Что делает: Выбирает канал обновлений.
|
Значение |
Поведение [6] |
|---|---|
|
|
Последняя версия (default) — новые фичи, возможные баги |
|
|
Версия недельной давности — проверено, стабильно |
Моя рекомендация: stable для продакшн проектов, latest для экспериментов.
{
"permissions": {
"defaultMode": "acceptEdits"
}
}
Что делает: Режим разрешений при старте сессии.
|
Значение |
Поведение |
|---|---|
|
|
Спрашивает разрешения на всё |
|
|
Автоматически принимает редактирования файлов |
|
|
Пропускает ВСЕ запросы (опасно!) |
acceptEdits — хороший баланс: Claude может редактировать код без подтверждений, но bash команды всё ещё требуют approval.
{
"permissions": {
"additionalDirectories": ["/home/me/shared-libs", "/home/me/docs"]
}
}
Что делает: Даёт Claude доступ к директориям вне текущего проекта.
Когда нужно:
Монорепозиторий с shared библиотеками
Документация в отдельной папке
Конфиги в ~/.config/
{
"hooks": {
"SessionStart": [
{
"matcher": "",
"hooks": [{ "type": "command", "command": "npm run prepare" }]
}
],
"Stop": [
{
"matcher": "",
"hooks": [{ "type": "command", "command": "npm run cleanup" }]
}
]
}
}
Что делает: Выполняет команды на события Claude Code.
Доступные события:
|
Событие |
Когда срабатывает |
|---|---|
|
|
Старт сессии |
|
|
Конец сессии |
|
|
Остановка основного агента / субагента |
|
|
До/после использования инструмента |
|
|
Перед компактификацией контекста |
|
|
Отправка промпта пользователем |
|
|
При |
Пример: Прогрев кэша при старте
{
"hooks": {
"SessionStart": [
{
"matcher": "",
"hooks": [{ "type": "command", "command": "bd prime", "once": true }]
}
]
}
}
once: true — выполнить только один раз за сессию (v2.1.x).
{
"enabledMcpjsonServers": ["context7", "supabase", "playwright"]
}
Что делает: Выборочно включает только указанные MCP серверы из .mcp.json.
Когда использовать: В .mcp.json 10 серверов, но для текущей задачи нужны только 3.
Альтернатива: Использовать enableAllProjectMcpServers: true + полагаться на Tool Search (ленивая загрузка).
Настройки для специфических сценариев. Не обязательны, но пригодятся.
{
"attribution": {
"commit": "Co-Authored-By: Claude <noreply@anthropic.com>",
"pr": ""
}
}
Что делает: Настраивает атрибуцию в коммитах и PR.
Пустая строка = отключить:
{
"attribution": {
"commit": "",
"pr": ""
}
}
Я оставляю co-authored-by — честность перед коллегами.
{ "cleanupPeriodDays": 7 }
Что делает: Через сколько дней удалять неактивные сессии.
По умолчанию: 30 дней. Если работаете интенсивно — можно уменьшить до 7-14.
{
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": true
}
}
Что делает: Песочница для bash команд (macOS/Linux).
autoAllowBashIfSandboxed: true — если песочница включена, bash команды выполняются без подтверждений. Логика: песочница ограничивает ущерб, поэтому можно доверять.
{
"env": {
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80"
}
}
Что делает: При каком % заполнения контекста запускать auto-compaction.
По умолчанию: ~90%. При 80% — compaction запустится раньше, потеряете меньше контекста при переполнении.
{
"env": {
"MAX_THINKING_TOKENS": "50000"
}
}
Что делает: Бюджет токенов для Extended Thinking.
Когда увеличивать: Сложные задачи требуют больше “размышлений”. Но помните — это стоит денег.
{
"env": {
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000"
}
}
Что делает: Максимум токенов на один ответ Claude.
По умолчанию: Зависит от модели. Максимум: 64000.
Когда увеличивать: Генерация больших файлов, длинных документов.
{
"env": {
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-4-20250514"
}
}
Что делает: Модель для субагентов (Task tool).
Паттерн: Основной агент на Opus (качество), субагенты на Sonnet (экономия).
Эти настройки нужны в редких случаях, но когда нужны — очень нужны.
{ "respectGitignore": false }
Что делает: Учитывать ли .gitignore в @ file picker.
По умолчанию: true. Файлы из .gitignore не показываются в автокомплите.
Когда отключать: Нужен доступ к файлам в .gitignore (логи, кэш, временные файлы).
{
"showTurnDuration": false,
"spinnerTipsEnabled": false,
"terminalProgressBarEnabled": false
}
|
Настройка |
По умолчанию |
Что отключает |
|---|---|---|
|
|
true |
“Cooked for 1m 6s” |
|
|
true |
Tips в спиннере |
|
|
true |
Progress bar |
Отключаю spinnerTipsEnabled — раздражает.
{
"statusLine": {
"type": "command",
"command": "/path/to/status-script.sh"
}
}
Что делает: Кастомная строка статуса.
Пример скрипта:
#!/bin/bash
echo "$(git branch --show-current) | $(date +%H:%M)"
{
"env": {
"BASH_DEFAULT_TIMEOUT_MS": "300000",
"BASH_MAX_TIMEOUT_MS": "600000",
"MCP_TIMEOUT": "60000",
"MCP_TOOL_TIMEOUT": "120000"
}
}
|
Переменная |
По умолчанию |
Что контролирует |
|---|---|---|
|
|
120000 (2 мин) |
Таймаут bash по умолчанию |
|
|
600000 (10 мин) |
Максимальный таймаут bash |
|
|
30000 |
Таймаут подключения к MCP |
|
|
60000 |
Таймаут выполнения MCP tool |
Когда увеличивать:
Долгие сборки (npm run build на большом проекте)
Тяжёлые MCP операции (playwright тесты)
{
"env": {
"MAX_MCP_OUTPUT_TOKENS": "50000"
}
}
По умолчанию: 25000. Максимум токенов в ответах MCP.
Когда увеличивать: MCP возвращает большие ответы (playwright screenshots, длинные логи).
Для корпоративных сценариев или очень специфических задач.
{
"env": {
"ANTHROPIC_API_KEY": "sk-...",
"CLAUDE_CODE_USE_BEDROCK": "1",
"CLAUDE_CODE_USE_VERTEX": "1"
}
}
Когда нужно:
Собственный API ключ (вместо подписки)
AWS Bedrock / Google Vertex AI провайдеры
{ "apiKeyHelper": "/path/to/get-api-key.sh" }
Что делает: Скрипт для динамического получения API ключа.
Пример: Интеграция с AWS Secrets Manager, HashiCorp Vault.
{
"env": {
"HTTP_PROXY": "http://proxy:8080",
"HTTPS_PROXY": "http://proxy:8080",
"NO_PROXY": "localhost,127.0.0.1"
}
}
Для корпоративных сетей с прокси.
{
"companyAnnouncements": [
"Не забудьте обновить документацию!",
"Код-ревью обязателен для всех PR"
]
}
Что делает: Показывает случайное объявление при старте сессии.
Для: IT-отделов, которые хотят напоминать разработчикам о политиках.
{
"env": {
"DISABLE_TELEMETRY": "1",
"DISABLE_ERROR_REPORTING": "1",
"DISABLE_AUTOUPDATER": "1",
"DISABLE_COST_WARNINGS": "1",
"DISABLE_NON_ESSENTIAL_MODEL_CALLS": "1",
"DISABLE_PROMPT_CACHING": "1"
}
}
|
Переменная |
Что отключает |
|---|---|
|
|
Телеметрия |
|
|
Отправка ошибок |
|
|
Автообновления |
|
|
Предупреждения о стоимости |
|
|
Неосновные вызовы API |
|
|
Кэширование промптов |
Для: Параноиков, airgapped сред, экономии трафика.
{
"env": {
"CLAUDE_CODE_HIDE_ACCOUNT_INFO": "1"
}
}
Что делает: Скрывает email и организацию в UI.
Для: Стримеров, демонстраций, скриншотов.
{
"hooks": {
"Setup": [
{
"matcher": "",
"hooks": [{ "type": "command", "command": "npm install" }]
}
]
}
}
Запускается при claude --init, --init-only, --maintenance.
{
"hooks": {
"SessionStart": [
{
"matcher": "",
"hooks": [{ "type": "command", "command": "bd prime", "once": true }]
}
]
}
}
Выполнить хук только один раз за сессию.
{
"permissions": {
"allow": ["mcp__supabase__*"],
"deny": ["mcp__filesystem__*"]
}
}
Разрешить/запретить все инструменты MCP сервера одной строкой.
claude --tools Read,Write,Bash
Ограничить доступные инструменты в сессии.
{
"plansDirectory": "./docs/plans",
"language": "russian",
"alwaysThinkingEnabled": false,
"enableAllProjectMcpServers": true,
"autoUpdatesChannel": "stable",
"cleanupPeriodDays": 14,
"permissions": {
"allow": [
"Bash(pnpm:*)",
"Bash(npm:*)",
"Bash(git:*)",
"Bash(bd:*)",
"mcp__context7__*"
],
"deny": [
"Read(.env*)",
"Read(**/credentials*)",
"Bash(rm -rf:*)"
],
"defaultMode": "acceptEdits"
},
"attribution": {
"commit": "Co-Authored-By: Claude <noreply@anthropic.com>",
"pr": ""
},
"env": {
"ENABLE_TOOL_SEARCH": "auto:5",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "85",
"MAX_MCP_OUTPUT_TOKENS": "30000"
},
"hooks": {
"SessionStart": [
{
"matcher": "",
"hooks": [{ "type": "command", "command": "bd prime", "once": true }]
}
]
}
}
|
Метрика |
Без настройки |
С настройкой |
|---|---|---|
|
Запросов “Allow?” за сессию |
~50 |
0-5 |
|
Контекст при старте |
143K (72%) |
67K (34%) |
|
Планы в git |
❌ |
✅ |
|
MCP без вопросов |
❌ |
✅ |
|
.env защищены |
❌ |
✅ |
Все конфигурации — в open-source проекте Claude Code Orchestrator Kit:
Репозиторий: github.com/igormaslennikov-io/claude-code-orchestrator-kit [1]
Лицензия: MIT (бесплатно, можно использовать в коммерческих проектах)
Я понимаю, что кто-то скажет: “Это просто пересказ документации” или “Зачем это, если есть официальные доки”.
Моё мнение:
Официальная документация — это справочник, а не руководство к действию. Она говорит “что есть”, а не “что важно”.
Ранжирование по полезности — это моя экспертиза после 2 лет работы с Claude Code и 44 агентов в продакшене.
Примеры из практики — это то, чего не хватает в официальных доках.
Если не согласны — окей. Попробуйте настройки, потом скажите, где я ошибаюсь.
Автор: Игорь Масленников
Пишу про AI-агентов, LLM-архитектуру и автоматизацию разработки.
📢 Мой канал в Telegram: @maslennikovigor [7]
💬 Личный контакт: @maslennikovig [8] — для вопросов, идей и обратной связи.
🔧 GitHub: claude-code-orchestrator-kit [9] — open-source инструменты для AI-автоматизации.
Если попробуете настройки — напишите, что сработало, что нет. Буду рад фидбеку.
А какие настройки используете вы? Делитесь в комментариях — интересно узнать, что ещё можно оптимизировать.
Автор: Maslennikovig
Источник [13]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/24593
URLs in this post:
[1] Claude Code Orchestrator Kit: https://github.com/igormaslennikov-io/claude-code-orchestrator-kit
[2] опыта: http://www.braintools.ru/article/6952
[3] логику: http://www.braintools.ru/article/7640
[4] Поведение: http://www.braintools.ru/article/9372
[5] MCP Tool Search.: https://habr.com/ru/articles/985932/
[6] Поведение: http://www.braintools.ru/article/5593
[7] @maslennikovigor: https://t.me/maslennikovigor
[8] @maslennikovig: https://t.me/maslennikovig
[9] claude-code-orchestrator-kit: https://github.com/maslennikov-ig/claude-code-orchestrator-kit
[10] Официальная документация Claude Code Settings: https://docs.anthropic.com/en/docs/claude-code/settings
[11] MCP конфигурация: https://docs.anthropic.com/en/docs/claude-code/mcp
[12] GitHub CHANGELOG: https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
[13] Источник: https://habr.com/ru/articles/987826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=987826
Нажмите здесь для печати.