Полный справочник settings.json с ранжированием по полезности: от "почему я не знал об этом раньше" до "пригодится раз в год". 6 настроек, которые реально меняют workflow 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 — open-source набор из 44 агентов, 20+ команд, 30+ скиллов для Claude Code. Проблема: За 2 года работы с Claude Code я понял, что большинство разработчиков используют его "из коробки". Не настраивают permissions, не знают про hooks, не используют MCP Tool Search. А потом жалуются на "тупой AI, который постоянно спрашивает подтверждения". Решение: Я собрал все настройки из официальной документации, CHANGELOG и своего опыта в один структурированный справочник. С ранжированием по полезности — чтобы вы знали, что настроить в первую очередь. Как устроен settings.json Приоритет настроек Claude Code читает настройки из нескольких файлов. Если одна и та же настройка указана в разных местах, побеждает файл с более высоким приоритетом: Приоритет Scope Файл Когда использовать 🔴 Высший Managed (IT) /etc/claude-code/managed-settings.json Корпоративные политики 🟠 Высокий Local (личный) .claude/settings.local.json Персональные настройки (не в git) 🟡 Средний Project (команда) .claude/settings.json Настройки проекта (в git) 🟢 Низший User (глобальный) ~/.claude/settings.json Дефолты для всех проектов Типичный паттерн: .claude/settings.json — в git, общие для команды .claude/settings.local.json — в .gitignore, персональные Tier 1: Критически полезные Эти настройки реально меняют рабочий процесс. Если вы их не используете — вы теряете время. plansDirectory { "plansDirectory": "./docs/plans" } Объяснить код с Что делает: Куда сохраняются планы при использовании Plan Mode (Shift+Tab → Plan). По умолчанию: ~/.claude/plans — файлы теряются в домашней директории, нельзя закоммитить. Почему важно: Планы — это артефакты работы. Я использую их для: Code review (коллеги видят, что Claude планировал сделать) Документации (планы становятся частью ADR) Отката (если что-то пошло не так, смотрю план и понимаю логику) Моя конфигурация: { "plansDirectory": "./docs/plans" } Объяснить код с Теперь все планы в git, рядом с кодом. env.ENABLE_TOOL_SEARCH {   "env": {     "ENABLE_TOOL_SEARCH": "auto:5"   } } Объяснить код с Что делает: Активирует ленивую загрузку MCP инструментов вместо загрузки всех сразу. Почему важно: У меня 6 MCP серверов (~82,000 токенов). Без Tool Search они все грузятся при старте. С Tool Search — только ~5,700 токенов baseline + по требованию. Значение Поведение auto Активируется при >10% контекста заняты MCP auto:N Активируется при >N% контекста true Всегда включен false Выключен Результат: ДО:  143k использовано → 57k свободно
ПОСЛЕ: 67k использовано → 133k свободно
Экономия: +76k токенов (+133% к рабочему пространству)
 Объяснить код с Подробнее писал в статье про MCP Tool Search. permissions.allow / deny {   "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 { "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 { "model": "claude-sonnet-4-20250514" } Объяснить код с Что делает: Переопределяет модель по умолчанию. Когда использовать: Фиксируете версию модели для воспроизводимости Используете Sonnet для рутинных задач (дешевле) Тестируете новую модель Доступные модели (январь 2026): claude-opus-4-5-20251101 — самая мощная claude-sonnet-4-20250514 — баланс скорость/качество claude-haiku-4-20250514 — быстрая и дешёвая alwaysThinkingEnabled { "alwaysThinkingEnabled": true } Объяснить код с Что делает: Включает Extended Thinking по умолчанию для всех сессий. Что такое Extended Thinking: Claude "думает вслух" перед ответом. Занимает больше токенов, но улучшает качество сложных задач (архитектура, дебаг, рефакторинг). Когда включать: Работаете над сложной архитектурой Отлаживаете неочевидные баги Нужен глубокий анализ кода Когда НЕ включать: Рутинные задачи (создание файлов, простые фиксы) Ограниченный бюджет токенов Tier 2: Очень полезные Эти настройки не критичны, но заметно улучшают опыт работы. language { "language": "russian" } Объяснить код с Что делает: Claude отвечает на указанном языке. Почему важно: Без этого Claude отвечает на английском. Приходится писать "отвечай на русском" в каждом промпте. Поддерживаемые языки: Практически любой. Claude определяет по названию: russian, german, spanish, chinese, etc. autoUpdatesChannel { "autoUpdatesChannel": "stable" } Объяснить код с Что делает: Выбирает канал обновлений. Значение Поведение latest Последняя версия (default) — новые фичи, возможные баги stable Версия недельной давности — проверено, стабильно Моя рекомендация: stable для продакшн проектов, latest для экспериментов. permissions.defaultMode {   "permissions": {     "defaultMode": "acceptEdits"   } } Объяснить код с Что делает: Режим разрешений при старте сессии. Значение Поведение default Спрашивает разрешения на всё acceptEdits Автоматически принимает редактирования файлов bypassPermissions Пропускает ВСЕ запросы (опасно!) acceptEdits — хороший баланс: Claude может редактировать код без подтверждений, но bash команды всё ещё требуют approval. permissions.additionalDirectories {   "permissions": {     "additionalDirectories": ["/home/me/shared-libs", "/home/me/docs"]   } } Объяснить код с Что делает: Даёт Claude доступ к директориям вне текущего проекта. Когда нужно: Монорепозиторий с shared библиотеками Документация в отдельной папке Конфиги в ~/.config/ hooks {   "hooks": {     "SessionStart": [       {         "matcher": "",         "hooks": [{ "type": "command", "command": "npm run prepare" }]       }     ],     "Stop": [       {         "matcher": "",         "hooks": [{ "type": "command", "command": "npm run cleanup" }]       }     ]   } } Объяснить код с Что делает: Выполняет команды на события Claude Code. Доступные события: Событие Когда срабатывает SessionStart Старт сессии SessionEnd Конец сессии Stop / SubagentStop Остановка основного агента / субагента PreToolUse / PostToolUse До/после использования инструмента PreCompact Перед компактификацией контекста UserPromptSubmit Отправка промпта пользователем Setup При claude --init, --init-only, --maintenance (v2.1.x) Пример: Прогрев кэша при старте {   "hooks": {     "SessionStart": [       {         "matcher": "",         "hooks": [{ "type": "command", "command": "bd prime", "once": true }]       }     ]   } } Объяснить код с once: true — выполнить только один раз за сессию (v2.1.x). enabledMcpjsonServers {   "enabledMcpjsonServers": ["context7", "supabase", "playwright"] } Объяснить код с Что делает: Выборочно включает только указанные MCP серверы из .mcp.json. Когда использовать: В .mcp.json 10 серверов, но для текущей задачи нужны только 3. Альтернатива: Использовать enableAllProjectMcpServers: true + полагаться на Tool Search (ленивая загрузка). Tier 3: Полезные Настройки для специфических сценариев. Не обязательны, но пригодятся. attribution.commit / attribution.pr {   "attribution": {     "commit": "Co-Authored-By: Claude <noreply@anthropic.com>",     "pr": ""   } } Объяснить код с Что делает: Настраивает атрибуцию в коммитах и PR. Пустая строка = отключить: {   "attribution": {     "commit": "",     "pr": ""   } } Объяснить код с Я оставляю co-authored-by — честность перед коллегами. cleanupPeriodDays { "cleanupPeriodDays": 7 } Объяснить код с Что делает: Через сколько дней удалять неактивные сессии. По умолчанию: 30 дней. Если работаете интенсивно — можно уменьшить до 7-14. sandbox {   "sandbox": {     "enabled": true,     "autoAllowBashIfSandboxed": true   } } Объяснить код с Что делает: Песочница для bash команд (macOS/Linux). autoAllowBashIfSandboxed: true — если песочница включена, bash команды выполняются без подтверждений. Логика: песочница ограничивает ущерб, поэтому можно доверять. env.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE {   "env": {     "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80"   } } Объяснить код с Что делает: При каком % заполнения контекста запускать auto-compaction. По умолчанию: ~90%. При 80% — compaction запустится раньше, потеряете меньше контекста при переполнении. env.MAX_THINKING_TOKENS {   "env": {     "MAX_THINKING_TOKENS": "50000"   } } Объяснить код с Что делает: Бюджет токенов для Extended Thinking. Когда увеличивать: Сложные задачи требуют больше "размышлений". Но помните — это стоит денег. env.CLAUDE_CODE_MAX_OUTPUT_TOKENS {   "env": {     "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000"   } } Объяснить код с Что делает: Максимум токенов на один ответ Claude. По умолчанию: Зависит от модели. Максимум: 64000. Когда увеличивать: Генерация больших файлов, длинных документов. env.CLAUDE_CODE_SUBAGENT_MODEL {   "env": {     "CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-4-20250514"   } } Объяснить код с Что делает: Модель для субагентов (Task tool). Паттерн: Основной агент на Opus (качество), субагенты на Sonnet (экономия). Tier 4: Ситуационно полезные Эти настройки нужны в редких случаях, но когда нужны — очень нужны. respectGitignore { "respectGitignore": false } Объяснить код с Что делает: Учитывать ли .gitignore в @ file picker. По умолчанию: true. Файлы из .gitignore не показываются в автокомплите. Когда отключать: Нужен доступ к файлам в .gitignore (логи, кэш, временные файлы). Визуальные настройки {   "showTurnDuration": false,   "spinnerTipsEnabled": false,   "terminalProgressBarEnabled": false } Объяснить код с Настройка По умолчанию Что отключает showTurnDuration true "Cooked for 1m 6s" spinnerTipsEnabled true Tips в спиннере terminalProgressBarEnabled true Progress bar Отключаю spinnerTipsEnabled — раздражает. statusLine {   "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"   } } Объяснить код с Переменная По умолчанию Что контролирует BASH_DEFAULT_TIMEOUT_MS 120000 (2 мин) Таймаут bash по умолчанию BASH_MAX_TIMEOUT_MS 600000 (10 мин) Максимальный таймаут bash MCP_TIMEOUT 30000 Таймаут подключения к MCP MCP_TOOL_TIMEOUT 60000 Таймаут выполнения MCP tool Когда увеличивать: Долгие сборки (npm run build на большом проекте) Тяжёлые MCP операции (playwright тесты) env.MAX_MCP_OUTPUT_TOKENS {   "env": {     "MAX_MCP_OUTPUT_TOKENS": "50000"   } } Объяснить код с По умолчанию: 25000. Максимум токенов в ответах MCP. Когда увеличивать: MCP возвращает большие ответы (playwright screenshots, длинные логи). Tier 5: Enterprise / Специфические Для корпоративных сценариев или очень специфических задач. API и аутентификация {   "env": {     "ANTHROPIC_API_KEY": "sk-...",     "CLAUDE_CODE_USE_BEDROCK": "1",     "CLAUDE_CODE_USE_VERTEX": "1"   } } Объяснить код с Когда нужно: Собственный API ключ (вместо подписки) AWS Bedrock / Google Vertex AI провайдеры apiKeyHelper { "apiKeyHelper": "/path/to/get-api-key.sh" } Объяснить код с Что делает: Скрипт для динамического получения API ключа. Пример: Интеграция с AWS Secrets Manager, HashiCorp Vault. Proxy настройки {   "env": {     "HTTP_PROXY": "http://proxy:8080",     "HTTPS_PROXY": "http://proxy:8080",     "NO_PROXY": "localhost,127.0.0.1"   } } Объяснить код с Для корпоративных сетей с прокси. companyAnnouncements {   "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"   } } Объяснить код с Переменная Что отключает DISABLE_TELEMETRY Телеметрия DISABLE_ERROR_REPORTING Отправка ошибок DISABLE_AUTOUPDATER Автообновления DISABLE_COST_WARNINGS Предупреждения о стоимости DISABLE_NON_ESSENTIAL_MODEL_CALLS Неосновные вызовы API DISABLE_PROMPT_CACHING Кэширование промптов Для: Параноиков, airgapped сред, экономии трафика. env.CLAUDE_CODE_HIDE_ACCOUNT_INFO {   "env": {     "CLAUDE_CODE_HIDE_ACCOUNT_INFO": "1"   } } Объяснить код с Что делает: Скрывает email и организацию в UI. Для: Стримеров, демонстраций, скриншотов. Новое в v2.1.x (январь 2026) Hook event: Setup {   "hooks": {     "Setup": [       {         "matcher": "",         "hooks": [{ "type": "command", "command": "npm install" }]       }     ]   } } Объяснить код с Запускается при claude --init, --init-only, --maintenance. Hooks: once: true {   "hooks": {     "SessionStart": [       {         "matcher": "",         "hooks": [{ "type": "command", "command": "bd prime", "once": true }]       }     ]   } } Объяснить код с Выполнить хук только один раз за сессию. Wildcard MCP permissions {   "permissions": {     "allow": ["mcp__supabase__*"],     "deny": ["mcp__filesystem__*"]   } } Объяснить код с Разрешить/запретить все инструменты MCP сервера одной строкой. CLI: --tools claude --tools Read,Write,Bash Объяснить код с Ограничить доступные инструменты в сессии. Полный пример settings.json {   "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 Лицензия: MIT (бесплатно, можно использовать в коммерческих проектах) Я понимаю, что кто-то скажет: "Это просто пересказ документации" или "Зачем это, если есть официальные доки". Моё мнение: Официальная документация — это справочник, а не руководство к действию. Она говорит "что есть", а не "что важно". Ранжирование по полезности — это моя экспертиза после 2 лет работы с Claude Code и 44 агентов в продакшене. Примеры из практики — это то, чего не хватает в официальных доках. Если не согласны — окей. Попробуйте настройки, потом скажите, где я ошибаюсь. Контакты Автор: Игорь Масленников Пишу про AI-агентов, LLM-архитектуру и автоматизацию разработки. 📢 Мой канал в Telegram: @maslennikovigor 💬 Личный контакт: @maslennikovig — для вопросов, идей и обратной связи. 🔧 GitHub: claude-code-orchestrator-kit — open-source инструменты для AI-автоматизации. Если попробуете настройки — напишите, что сработало, что нет. Буду рад фидбеку. Ссылки Официальная документация Claude Code Settings MCP конфигурация GitHub CHANGELOG А какие настройки используете вы? Делитесь в комментариях — интересно узнать, что ещё можно оптимизировать.
==============
Этот текст представляет собой руководство по настройке Claude Code, предназначенное для разработчиков. Основная идея — предоставить структурированный справочник с ранжированием настроек по полезности, начиная с критически важных и заканчивая специфическими.  Ключевые настройки включают: хранение планов в git, автоматическую загрузку MCP инструментов, управление разрешениями, выбор модели (Sonnet для экономии токенов), использование расширенного мышления, поддержку русского языка, настройку каналов обновлений, и настройку хуков для автоматизации. Также упоминаются API ключи, proxy, "песочницу" для безопасности и возможность скрывать информацию о пользователе. Предоставлены примеры конфигурации settings.json и объяснения к коду, которые помогают понять назначение каждой настройки и её влияние на производительность и безопасность. Особое внимание уделяется экономии токенов и эффективному использованию MCP инструментов. Предоставлены контакты для обратной связи и ссылки на репозиторий с open-source инструментами.