44 настройки Claude Code, о которых вы не знали, ранжированные от «must have» до «забей». ai.. ai. anthropic.. ai. anthropic. claude code.. ai. anthropic. claude code. configuration.. ai. anthropic. claude code. configuration. devtools.. ai. anthropic. claude code. configuration. devtools. github.. ai. anthropic. claude code. configuration. devtools. github. llm.. ai. anthropic. claude code. configuration. devtools. github. llm. mcp.. ai. anthropic. claude code. configuration. devtools. github. llm. mcp. settings.

Полный справочник 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 (бесплатно, можно использовать в коммерческих проектах)


Я понимаю, что кто-то скажет: “Это просто пересказ документации” или “Зачем это, если есть официальные доки”.

Моё мнение:

  1. Официальная документация — это справочник, а не руководство к действию. Она говорит “что есть”, а не “что важно”.

  2. Ранжирование по полезности — это моя экспертиза после 2 лет работы с Claude Code и 44 агентов в продакшене.

  3. Примеры из практики — это то, чего не хватает в официальных доках.

Если не согласны — окей. Попробуйте настройки, потом скажите, где я ошибаюсь.


Контакты

Автор: Игорь Масленников
Пишу про AI-агентов, LLM-архитектуру и автоматизацию разработки.

📢 Мой канал в Telegram: @maslennikovigor

💬 Личный контакт: @maslennikovig — для вопросов, идей и обратной связи.

🔧 GitHub: claude-code-orchestrator-kit — open-source инструменты для AI-автоматизации.

Если попробуете настройки — напишите, что сработало, что нет. Буду рад фидбеку.


Ссылки


А какие настройки используете вы? Делитесь в комментариях — интересно узнать, что ещё можно оптимизировать.

Автор: Maslennikovig

Источник

Rambler's Top100