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...'"}}
modelПереопределить модель по умолчанию для использования в Claude Code"claude-3-5-sonnet-20241022"
statusLineНастроить пользовательскую строку состояния для отображения контекста. См. документацию statusLine{"type": "command", "command": "~/.claude/statusline.sh"}
forceLoginMethodИспользуйте claudeai для ограничения входа учетными записями Claude.ai, console для ограничения входа учетными записями Anthropic Console (биллинг использования API)claudeai
enableAllProjectMcpServersАвтоматически одобрять все MCP серверы, определенные в файлах .mcp.json проектаtrue
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(git diff:*)" ]
askМассив правил разрешений для запроса подтверждения при использовании инструментов.[ "Bash(git push:*)" ]
denyМассив правил разрешений для запрета использования инструментов. Используйте это также для исключения чувствительных файлов из доступа Claude Code.[ "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_MODELИмя пользовательской модели для использования (см. Конфигурация модели)
ANTHROPIC_SMALL_FAST_MODELИмя модели класса Haiku для фоновых задач
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONПереопределить AWS регион для малой/быстрой модели при использовании Bedrock
AWS_BEARER_TOKEN_BEDROCKAPI ключ Bedrock для аутентификации (см. API ключи Bedrock)
BASH_DEFAULT_TIMEOUT_MSТаймаут по умолчанию для долго выполняющихся bash команд
BASH_MAX_TIMEOUT_MSМаксимальный таймаут, который модель может установить для долго выполняющихся bash команд
BASH_MAX_OUTPUT_LENGTHМаксимальное количество символов в выводе bash перед их обрезкой посередине
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRВозвращаться в исходный рабочий каталог после каждой Bash команды
CLAUDE_CODE_API_KEY_HELPER_TTL_MSИнтервал в миллисекундах, с которым должны обновляться учетные данные (при использовании apiKeyHelper)
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLПропустить автоматическую установку расширений IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSУстановить максимальное количество выходных токенов для большинства запросов
CLAUDE_CODE_USE_BEDROCKИспользовать Bedrock
CLAUDE_CODE_USE_VERTEXИспользовать Vertex
CLAUDE_CODE_SKIP_BEDROCK_AUTHПропустить аутентификацию AWS для Bedrock (например, при использовании LLM шлюза)
CLAUDE_CODE_SKIP_VERTEX_AUTHПропустить аутентификацию Google для Vertex (например, при использовании LLM шлюза)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICЭквивалент установки DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, и DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_TERMINAL_TITLEУстановите в 1 для отключения автоматических обновлений заголовка терминала на основе контекста разговора
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_THINKING_TOKENSПринудительно установить бюджет размышлений для модели
MCP_TIMEOUTТаймаут в миллисекундах для запуска MCP сервера
MCP_TOOL_TIMEOUTТаймаут в миллисекундах для выполнения MCP инструмента
MAX_MCP_OUTPUT_TOKENSМаксимальное количество токенов, разрешенное в ответах MCP инструментов (по умолчанию: 25000)
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Включать ли автоматические обновления (по умолчанию: true). Когда включено, Claude Code автоматически загружает и устанавливает обновления в фоновом режиме. Обновления применяются при перезапуске Claude Code.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Ищет шаблоны в содержимом файловНет
LSПеречисляет файлы и каталогиНет
MultiEditВыполняет множественные правки в одном файле атомарноДа
NotebookEditИзменяет ячейки Jupyter notebookДа
NotebookReadЧитает и отображает содержимое Jupyter notebookНет
ReadЧитает содержимое файловНет
TaskЗапускает субагента для обработки сложных, многошаговых задачНет
TodoWriteСоздает и управляет структурированными списками задачНет
WebFetchПолучает содержимое с указанного URLДа
WebSearchВыполняет веб-поиски с фильтрацией доменовДа
WriteСоздает или перезаписывает файлыДа

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

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

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

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

См. также