Claude Code предлагает множество настроек для конфигурации своего поведения в соответствии с вашими потребностями. Вы можете настроить Claude Code, выполнив команду /config при использовании интерактивного REPL.

Файлы настроек

Файл settings.json является нашим официальным механизмом для настройки Claude Code через иерархические настройки:

  • Пользовательские настройки определяются в ~/.claude/settings.json и применяются ко всем проектам.
  • Настройки проекта сохраняются в директории вашего проекта:
    • .claude/settings.json для настроек, которые включаются в систему контроля версий и делятся с вашей командой
    • .claude/settings.local.json для настроек, которые не включаются в систему контроля версий, полезно для личных предпочтений и экспериментов. Claude Code настроит git на игнорирование .claude/settings.local.json при его создании.
  • Для корпоративных развертываний Claude Code мы также поддерживаем корпоративные управляемые настройки политики. Они имеют приоритет над пользовательскими настройками и настройками проекта. Системные администраторы могут развертывать политики в:
    • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
    • Linux и WSL: /etc/claude-code/managed-settings.json
    • Windows: C:\ProgramData\ClaudeCode\managed-settings.json
Example settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

Доступные настройки

settings.json поддерживает ряд опций:

КлючОписаниеПример
apiKeyHelperПользовательский скрипт, выполняемый в /bin/sh, для генерации значения аутентификации. Это значение будет отправлено как заголовки X-Api-Key и Authorization: Bearer для запросов модели/bin/generate_temp_api_key.sh
cleanupPeriodDaysКак долго локально хранить транскрипты чатов на основе даты последней активности (по умолчанию: 30 дней)20
envПеременные окружения, которые будут применяться к каждой сессии{"FOO": "bar"}
includeCoAuthoredByВключать ли строку co-authored-by Claude в git коммиты и pull request’ы (по умолчанию: true)false
permissionsСм. таблицу ниже для структуры разрешений.
hooksНастройка пользовательских команд для выполнения до или после выполнения инструментов. См. документацию по хукам{"PreToolUse": {"Bash": "echo 'Running command...'"}}
disableAllHooksОтключить все хукиtrue
modelПереопределить модель по умолчанию для использования в Claude Code"claude-3-5-sonnet-20241022"
statusLineНастроить пользовательскую строку состояния для отображения контекста. См. документацию statusLine{"type": "command", "command": "~/.claude/statusline.sh"}
outputStyleНастроить стиль вывода для корректировки системного промпта. См. документацию по стилям вывода"Explanatory"
forceLoginMethodИспользуйте claudeai для ограничения входа учетными записями Claude.ai, console для ограничения входа учетными записями Anthropic Console (биллинг использования API)claudeai
forceLoginOrgUUIDУкажите UUID организации для автоматического выбора во время входа, минуя шаг выбора организации. Требует установки forceLoginMethod"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
enableAllProjectMcpServersАвтоматически одобрять все MCP серверы, определенные в файлах проекта .mcp.jsontrue
enabledMcpjsonServersСписок конкретных MCP серверов из файлов .mcp.json для одобрения["memory", "github"]
disabledMcpjsonServersСписок конкретных MCP серверов из файлов .mcp.json для отклонения["filesystem"]
awsAuthRefreshПользовательский скрипт, который изменяет директорию .aws (см. расширенная конфигурация учетных данных)aws sso login --profile myprofile
awsCredentialExportПользовательский скрипт, который выводит JSON с учетными данными AWS (см. расширенная конфигурация учетных данных)/bin/generate_aws_grant.sh

Настройки разрешений

КлючиОписаниеПример
allowМассив правил разрешений для разрешения использования инструментов. Примечание: Правила Bash используют сопоставление префиксов, а не регулярные выражения[ "Bash(git diff:*)" ]
askМассив правил разрешений для запроса подтверждения при использовании инструмента.[ "Bash(git push:*)" ]
denyМассив правил разрешений для запрета использования инструментов. Используйте это также для исключения чувствительных файлов из доступа Claude Code. Примечание: Шаблоны Bash являются сопоставлениями префиксов и могут быть обойдены (см. ограничения разрешений Bash)[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectoriesДополнительные рабочие директории, к которым Claude имеет доступ[ "../docs/" ]
defaultModeРежим разрешений по умолчанию при открытии Claude Code"acceptEdits"
disableBypassPermissionsModeУстановите в "disable" для предотвращения активации режима bypassPermissions. См. настройки управляемой политики"disable"

Приоритет настроек

Настройки применяются в порядке приоритета (от высшего к низшему):

  1. Корпоративные управляемые политики (managed-settings.json)

    • Развертываются IT/DevOps
    • Не могут быть переопределены
  2. Аргументы командной строки

    • Временные переопределения для конкретной сессии
  3. Локальные настройки проекта (.claude/settings.local.json)

    • Личные настройки конкретного проекта
  4. Общие настройки проекта (.claude/settings.json)

    • Настройки проекта, общие для команды в системе контроля версий
  5. Пользовательские настройки (~/.claude/settings.json)

    • Личные глобальные настройки

Эта иерархия гарантирует, что корпоративные политики безопасности всегда соблюдаются, при этом позволяя командам и отдельным лицам настраивать свой опыт.

Ключевые моменты о системе конфигурации

  • Файлы памяти (CLAUDE.md): Содержат инструкции и контекст, которые Claude загружает при запуске
  • Файлы настроек (JSON): Настраивают разрешения, переменные окружения и поведение инструментов
  • Слэш-команды: Пользовательские команды, которые могут быть вызваны во время сессии с помощью /command-name
  • MCP серверы: Расширяют Claude Code дополнительными инструментами и интеграциями
  • Приоритет: Конфигурации более высокого уровня (Корпоративные) переопределяют конфигурации более низкого уровня (Пользователь/Проект)
  • Наследование: Настройки объединяются, при этом более специфичные настройки добавляются к более широким или переопределяют их

Доступность системного промпта

В отличие от claude.ai, мы не публикуем внутренний системный промпт Claude Code на этом веб-сайте. Используйте файлы CLAUDE.md или --append-system-prompt для добавления пользовательских инструкций к поведению Claude Code.

Исключение чувствительных файлов

Чтобы предотвратить доступ Claude Code к файлам, содержащим чувствительную информацию (например, API ключи, секреты, файлы окружения), используйте настройку permissions.deny в вашем файле .claude/settings.json:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}

Это заменяет устаревшую конфигурацию ignorePatterns. Файлы, соответствующие этим шаблонам, будут полностью невидимы для Claude Code, предотвращая любое случайное раскрытие чувствительных данных.

Конфигурация субагентов

Claude Code поддерживает пользовательских AI субагентов, которые могут быть настроены как на уровне пользователя, так и на уровне проекта. Эти субагенты хранятся как файлы Markdown с YAML frontmatter:

  • Пользовательские субагенты: ~/.claude/agents/ - Доступны во всех ваших проектах
  • Субагенты проекта: .claude/agents/ - Специфичны для вашего проекта и могут быть переданы вашей команде

Файлы субагентов определяют специализированных AI помощников с пользовательскими промптами и разрешениями инструментов. Узнайте больше о создании и использовании субагентов в документации по субагентам.

Переменные окружения

Claude Code поддерживает следующие переменные окружения для управления своим поведением:

Все переменные окружения также могут быть настроены в settings.json. Это полезно как способ автоматической установки переменных окружения для каждой сессии или для развертывания набора переменных окружения для всей вашей команды или организации.

ПеременнаяНазначение
ANTHROPIC_API_KEYAPI ключ, отправляемый как заголовок X-Api-Key, обычно для Claude SDK (для интерактивного использования выполните /login)
ANTHROPIC_AUTH_TOKENПользовательское значение для заголовка Authorization (значение, которое вы здесь установите, будет префиксировано Bearer )
ANTHROPIC_CUSTOM_HEADERSПользовательские заголовки, которые вы хотите добавить к запросу (в формате Name: Value)
ANTHROPIC_DEFAULT_HAIKU_MODELСм. Конфигурация модели
ANTHROPIC_DEFAULT_OPUS_MODELСм. Конфигурация модели
ANTHROPIC_DEFAULT_SONNET_MODELСм. Конфигурация модели
ANTHROPIC_MODELНазвание настройки модели для использования (см. Конфигурация модели)
ANTHROPIC_SMALL_FAST_MODEL[УСТАРЕЛО] Название модели класса Haiku для фоновых задач
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONПереопределить регион AWS для модели класса Haiku при использовании Bedrock
AWS_BEARER_TOKEN_BEDROCKAPI ключ Bedrock для аутентификации (см. API ключи Bedrock)
BASH_DEFAULT_TIMEOUT_MSТаймаут по умолчанию для долго выполняющихся bash команд
BASH_MAX_OUTPUT_LENGTHМаксимальное количество символов в выводах bash до их усечения посередине
BASH_MAX_TIMEOUT_MSМаксимальный таймаут, который модель может установить для долго выполняющихся bash команд
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRВозвращаться в исходную рабочую директорию после каждой команды Bash
CLAUDE_CODE_API_KEY_HELPER_TTL_MSИнтервал в миллисекундах, с которым должны обновляться учетные данные (при использовании apiKeyHelper)
CLAUDE_CODE_CLIENT_CERTПуть к файлу клиентского сертификата для mTLS аутентификации
CLAUDE_CODE_CLIENT_KEY_PASSPHRASEПарольная фраза для зашифрованного CLAUDE_CODE_CLIENT_KEY (опционально)
CLAUDE_CODE_CLIENT_KEYПуть к файлу приватного ключа клиента для mTLS аутентификации
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICЭквивалент установки DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, и DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_TERMINAL_TITLEУстановите в 1 для отключения автоматических обновлений заголовка терминала на основе контекста разговора
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLПропустить автоматическую установку расширений IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSУстановить максимальное количество выходных токенов для большинства запросов
CLAUDE_CODE_SKIP_BEDROCK_AUTHПропустить аутентификацию AWS для Bedrock (например, при использовании LLM шлюза)
CLAUDE_CODE_SKIP_VERTEX_AUTHПропустить аутентификацию Google для Vertex (например, при использовании LLM шлюза)
CLAUDE_CODE_SUBAGENT_MODELСм. Конфигурация модели
CLAUDE_CODE_USE_BEDROCKИспользовать Bedrock
CLAUDE_CODE_USE_VERTEXИспользовать Vertex
DISABLE_AUTOUPDATERУстановите в 1 для отключения автоматических обновлений. Это имеет приоритет над настройкой конфигурации autoUpdates.
DISABLE_BUG_COMMANDУстановите в 1 для отключения команды /bug
DISABLE_COST_WARNINGSУстановите в 1 для отключения предупреждающих сообщений о стоимости
DISABLE_ERROR_REPORTINGУстановите в 1 для отказа от отчетов об ошибках Sentry
DISABLE_NON_ESSENTIAL_MODEL_CALLSУстановите в 1 для отключения вызовов модели для некритических путей, таких как вкусовой текст
DISABLE_TELEMETRYУстановите в 1 для отказа от телеметрии Statsig (обратите внимание, что события Statsig не включают пользовательские данные, такие как код, пути файлов или bash команды)
HTTP_PROXYУказать HTTP прокси-сервер для сетевых соединений
HTTPS_PROXYУказать HTTPS прокси-сервер для сетевых соединений
MAX_MCP_OUTPUT_TOKENSМаксимальное количество токенов, разрешенное в ответах инструментов MCP. Claude Code отображает предупреждение, когда вывод превышает 10,000 токенов (по умолчанию: 25000)
MAX_THINKING_TOKENSПринудительно установить бюджет размышлений для модели
MCP_TIMEOUTТаймаут в миллисекундах для запуска MCP сервера
MCP_TOOL_TIMEOUTТаймаут в миллисекундах для выполнения инструмента MCP
NO_PROXYСписок доменов и IP, к которым запросы будут отправляться напрямую, минуя прокси
USE_BUILTIN_RIPGREPУстановите в 0 для использования системно установленного rg вместо rg, включенного в Claude Code
VERTEX_REGION_CLAUDE_3_5_HAIKUПереопределить регион для Claude 3.5 Haiku при использовании Vertex AI
VERTEX_REGION_CLAUDE_3_5_SONNETПереопределить регион для Claude Sonnet 3.5 при использовании Vertex AI
VERTEX_REGION_CLAUDE_3_7_SONNETПереопределить регион для Claude 3.7 Sonnet при использовании Vertex AI
VERTEX_REGION_CLAUDE_4_0_OPUSПереопределить регион для Claude 4.0 Opus при использовании Vertex AI
VERTEX_REGION_CLAUDE_4_0_SONNETПереопределить регион для Claude 4.0 Sonnet при использовании Vertex AI
VERTEX_REGION_CLAUDE_4_1_OPUSПереопределить регион для Claude 4.1 Opus при использовании Vertex AI

Опции конфигурации

Для управления вашими конфигурациями используйте следующие команды:

  • Список настроек: claude config list
  • Посмотреть настройку: claude config get <key>
  • Изменить настройку: claude config set <key> <value>
  • Добавить к настройке (для списков): claude config add <key> <value>
  • Удалить из настройки (для списков): claude config remove <key> <value>

По умолчанию config изменяет конфигурацию вашего проекта. Для управления глобальной конфигурацией используйте флаг --global(или -g).

Глобальная конфигурация

Для установки глобальной конфигурации используйте claude config set -g <key> <value>:

КлючОписаниеПример
autoUpdatesУСТАРЕЛО. Используйте переменную окружения DISABLE_AUTOUPDATER вместо этого.false
preferredNotifChannelГде вы хотите получать уведомления (по умолчанию: iterm2)iterm2, iterm2_with_bell, terminal_bell, или notifications_disabled
themeЦветовая темаdark, light, light-daltonized, или dark-daltonized
verboseПоказывать ли полные выводы bash и команд (по умолчанию: false)true

Инструменты, доступные Claude

Claude Code имеет доступ к набору мощных инструментов, которые помогают ему понимать и изменять вашу кодовую базу:

ИнструментОписаниеТребуется разрешение
BashВыполняет команды оболочки в вашей средеДа
EditДелает целевые правки в конкретных файлахДа
GlobНаходит файлы на основе сопоставления шаблоновНет
GrepИщет шаблоны в содержимом файловНет
MultiEditВыполняет множественные правки в одном файле атомарноДа
NotebookEditИзменяет ячейки Jupyter notebookДа
NotebookReadЧитает и отображает содержимое Jupyter notebookНет
ReadЧитает содержимое файловНет
TaskЗапускает субагента для обработки сложных, многошаговых задачНет
TodoWriteСоздает и управляет структурированными списками задачНет
WebFetchПолучает содержимое с указанного URLДа
WebSearchВыполняет веб-поиски с фильтрацией доменовДа
WriteСоздает или перезаписывает файлыДа

Правила разрешений могут быть настроены с помощью /allowed-tools или в настройках разрешений. Также см. Правила разрешений для конкретных инструментов.

Расширение инструментов с помощью хуков

Вы можете запускать пользовательские команды до или после выполнения любого инструмента, используя хуки Claude Code.

Например, вы можете автоматически запускать форматировщик Python после того, как Claude изменит файлы Python, или предотвратить изменения в конфигурационных файлах продакшена, блокируя операции Write для определенных путей.

См. также