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

Области конфигурации

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

Доступные области

ОбластьМестоположениеНа кого это влияетСовместно используется с командой?
ManagedПараметры, управляемые сервером, plist / реестр или системный уровень managed-settings.jsonВсе пользователи на машинеДа (развернуто IT)
UserКаталог ~/.claude/Вы, во всех проектахНет
Project.claude/ в репозиторииВсе сотрудники этого репозиторияДа (зафиксировано в git)
LocalФайлы .claude/*.local.*Вы, только в этом репозиторииНет (игнорируется gitignore)

Когда использовать каждую область

Область Managed предназначена для:
  • Политик безопасности, которые должны быть применены на уровне организации
  • Требований соответствия, которые нельзя переопределить
  • Стандартизированных конфигураций, развернутых IT/DevOps
Область User лучше всего подходит для:
  • Личных предпочтений, которые вы хотите везде (темы, параметры редактора)
  • Инструментов и plugins, которые вы используете во всех проектах
  • API ключей и аутентификации (хранятся безопасно)
Область Project лучше всего подходит для:
  • Параметров, совместно используемых командой (разрешения, hooks, MCP servers)
  • Plugins, которые должна иметь вся команда
  • Стандартизации инструментов между сотрудниками
Область Local лучше всего подходит для:
  • Личных переопределений для конкретного проекта
  • Тестирования конфигураций перед совместным использованием с командой
  • Параметров, специфичных для машины, которые не будут работать для других

Как области взаимодействуют

Когда один и тот же параметр настроен в нескольких областях, более специфичные области имеют приоритет:
  1. Managed (наивысший) - не может быть переопределена ничем
  2. Аргументы командной строки - временные переопределения сеанса
  3. Local - переопределяет параметры проекта и пользователя
  4. Project - переопределяет параметры пользователя
  5. User (наименьший) - применяется, когда ничто другое не указывает параметр
Например, если разрешение разрешено в параметрах пользователя, но запрещено в параметрах проекта, параметр проекта имеет приоритет и разрешение блокируется.

Что использует области

Области применяются ко многим функциям Claude Code:
ФункцияМестоположение пользователяМестоположение проектаМестоположение Local
Settings~/.claude/settings.json.claude/settings.json.claude/settings.local.json
Subagents~/.claude/agents/.claude/agents/
MCP servers~/.claude.json.mcp.json~/.claude.json (для каждого проекта)
Plugins~/.claude/settings.json.claude/settings.json.claude/settings.local.json
CLAUDE.md~/.claude/CLAUDE.mdCLAUDE.md или .claude/CLAUDE.mdCLAUDE.local.md

Файлы параметров

Файл settings.json - это наш официальный механизм для настройки Claude Code через иерархические параметры:
  • Параметры пользователя определены в ~/.claude/settings.json и применяются ко всем проектам.
  • Параметры проекта сохраняются в каталоге вашего проекта:
    • .claude/settings.json для параметров, которые проверяются в системе управления версиями и совместно используются с вашей командой
    • .claude/settings.local.json для параметров, которые не проверяются, полезны для личных предпочтений и экспериментов. Claude Code настроит git на игнорирование .claude/settings.local.json при его создании.
  • Управляемые параметры: Для организаций, которым требуется централизованный контроль, Claude Code поддерживает несколько механизмов доставки управляемых параметров. Все используют один и тот же формат JSON и не могут быть переопределены параметрами пользователя или проекта:
    • Параметры, управляемые сервером: доставляются с серверов Anthropic через консоль администратора Claude.ai. См. параметры, управляемые сервером.
    • Политики MDM/OS-уровня: доставляются через встроенное управление устройствами на macOS и Windows:
      • macOS: домен управляемых предпочтений com.anthropic.claudecode (развернут через профили конфигурации в Jamf, Kandji или других инструментах MDM)
      • Windows: ключ реестра HKLM\SOFTWARE\Policies\ClaudeCode со значением Settings (REG_SZ или REG_EXPAND_SZ), содержащим JSON (развернут через групповую политику или Intune)
      • Windows (уровень пользователя): HKCU\SOFTWARE\Policies\ClaudeCode (наименьший приоритет политики, используется только при отсутствии источника на уровне администратора)
    • На основе файлов: managed-settings.json и managed-mcp.json, развернутые в системные каталоги:
      • macOS: /Library/Application Support/ClaudeCode/
      • Linux и WSL: /etc/claude-code/
      • Windows: C:\Program Files\ClaudeCode\
    См. управляемые параметры и Управляемая конфигурация MCP для получения подробной информации.
    Управляемые развертывания также могут ограничивать добавления на рынке plugins с помощью strictKnownMarketplaces. Для получения дополнительной информации см. Управляемые ограничения рынка.
  • Другая конфигурация хранится в ~/.claude.json. Этот файл содержит ваши предпочтения (тема, параметры уведомлений, режим редактора), сеанс OAuth, конфигурации MCP server для областей пользователя и локальной области, состояние для каждого проекта (разрешенные инструменты, параметры доверия) и различные кэши. MCP servers с областью проекта хранятся отдельно в .mcp.json.
Claude Code автоматически создает резервные копии файлов конфигурации с временными метками и сохраняет пять самых последних резервных копий для предотвращения потери данных.
Пример settings.json
{
  "$schema": "https://json.schemastore.org/claude-code-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"
  },
  "companyAnnouncements": [
    "Welcome to Acme Corp! Review our code guidelines at docs.acme.com",
    "Reminder: Code reviews required for all PRs",
    "New security policy in effect"
  ]
}
Строка $schema в приведенном выше примере указывает на официальную JSON-схему для параметров Claude Code. Добавление ее в ваш settings.json включает автодополнение и встроенную валидацию в VS Code, Cursor и любом другом редакторе, поддерживающем валидацию JSON-схемы.

Доступные параметры

settings.json поддерживает ряд опций:
КлючОписаниеПример
apiKeyHelperПользовательский скрипт, который будет выполнен в /bin/sh, для создания значения аутентификации. Это значение будет отправлено как заголовки X-Api-Key и Authorization: Bearer для запросов модели/bin/generate_temp_api_key.sh
cleanupPeriodDaysСеансы, неактивные дольше этого периода, удаляются при запуске. Установка на 0 немедленно удаляет все сеансы. (по умолчанию: 30 дней)20
companyAnnouncementsОбъявление для отображения пользователям при запуске. Если предоставлено несколько объявлений, они будут циклически отображаться случайным образом.["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]
envПеременные окружения, которые будут применены к каждому сеансу{"FOO": "bar"}
attributionНастройте атрибуцию для коммитов git и pull requests. См. Параметры атрибуции{"commit": "🤖 Generated with Claude Code", "pr": ""}
includeCoAuthoredByУстарело: используйте вместо этого attribution. Включать ли строку co-authored-by Claude в коммиты git и pull requests (по умолчанию: true)false
permissionsСм. таблицу ниже для структуры разрешений.
hooksНастройте пользовательские команды для запуска при событиях жизненного цикла. См. документацию hooks для форматаСм. hooks
disableAllHooksОтключить все hooks и любую пользовательскую строку состоянияtrue
allowManagedHooksOnly(Только управляемые параметры) Предотвратить загрузку пользовательских, проектных и plugin hooks. Разрешены только управляемые hooks и SDK hooks. См. Конфигурация Hooktrue
allowedHttpHookUrlsСписок разрешенных URL-шаблонов, на которые могут быть направлены HTTP hooks. Поддерживает * как подстановочный знак. Если установлено, hooks с несовпадающими URL-адресами блокируются. Не определено = без ограничений, пустой массив = блокировать все HTTP hooks. Массивы объединяются между источниками параметров. См. Конфигурация Hook["https://hooks.example.com/*"]
httpHookAllowedEnvVarsСписок разрешенных имен переменных окружения, которые HTTP hooks могут интерполировать в заголовки. Если установлено, эффективный allowedEnvVars каждого hook является пересечением с этим списком. Не определено = без ограничений. Массивы объединяются между источниками параметров. См. Конфигурация Hook["MY_TOKEN", "HOOK_SECRET"]
allowManagedPermissionRulesOnly(Только управляемые параметры) Предотвратить определение правил разрешений allow, ask или deny в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. См. Параметры только для управляемыхtrue
allowManagedMcpServersOnly(Только управляемые параметры) Только allowedMcpServers из управляемых параметров учитываются. deniedMcpServers по-прежнему объединяется из всех источников. Пользователи по-прежнему могут добавлять MCP servers, но применяется только определенный администратором список разрешений. См. Управляемая конфигурация MCPtrue
modelПереопределить модель по умолчанию для использования в Claude Code"claude-sonnet-4-6"
availableModelsОграничить, какие модели пользователи могут выбрать через /model, --model, инструмент Config или ANTHROPIC_MODEL. Не влияет на опцию Default. См. Ограничить выбор модели["sonnet", "haiku"]
otelHeadersHelperСкрипт для создания динамических заголовков OpenTelemetry. Запускается при запуске и периодически (см. Динамические заголовки)/bin/generate_otel_headers.sh
statusLineНастройте пользовательскую строку состояния для отображения контекста. См. документацию statusLine{"type": "command", "command": "~/.claude/statusline.sh"}
fileSuggestionНастройте пользовательский скрипт для автодополнения файла @. См. Параметры предложения файла{"type": "command", "command": "~/.claude/file-suggestion.sh"}
respectGitignoreКонтролируйте, соблюдает ли средство выбора файла @ шаблоны .gitignore. Если true (по умолчанию), файлы, соответствующие шаблонам .gitignore, исключаются из предложенийfalse
outputStyleНастройте стиль вывода для корректировки системного приглашения. См. документацию стилей вывода"Explanatory"
forceLoginMethodИспользуйте claudeai для ограничения входа учетными записями Claude.ai, console для ограничения входа учетными записями Claude Console (выставление счетов за использование API)claudeai
forceLoginOrgUUIDУкажите UUID организации для автоматического выбора во время входа, пропуская шаг выбора организации. Требует установки forceLoginMethod"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
enableAllProjectMcpServersАвтоматически одобрить все MCP servers, определенные в файлах проекта .mcp.jsontrue
enabledMcpjsonServersСписок конкретных MCP servers из файлов .mcp.json для одобрения["memory", "github"]
disabledMcpjsonServersСписок конкретных MCP servers из файлов .mcp.json для отклонения["filesystem"]
allowedMcpServersЕсли установлено в managed-settings.json, список разрешений MCP servers, которые пользователи могут настроить. Не определено = без ограничений, пустой массив = блокировка. Применяется ко всем областям. Список запретов имеет приоритет. См. Управляемая конфигурация MCP[{ "serverName": "github" }]
deniedMcpServersЕсли установлено в managed-settings.json, список запретов MCP servers, которые явно заблокированы. Применяется ко всем областям, включая управляемые servers. Список запретов имеет приоритет над списком разрешений. См. Управляемая конфигурация MCP[{ "serverName": "filesystem" }]
strictKnownMarketplacesЕсли установлено в managed-settings.json, список разрешений рынков plugins, которые пользователи могут добавить. Не определено = без ограничений, пустой массив = блокировка. Применяется только к добавлениям на рынке. См. Управляемые ограничения рынка[{ "source": "github", "repo": "acme-corp/plugins" }]
blockedMarketplaces(Только управляемые параметры) Список запретов источников рынка. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. Управляемые ограничения рынка[{ "source": "github", "repo": "untrusted/plugins" }]
awsAuthRefreshПользовательский скрипт, который изменяет каталог .aws (см. расширенная конфигурация учетных данных)aws sso login --profile myprofile
awsCredentialExportПользовательский скрипт, который выводит JSON с учетными данными AWS (см. расширенная конфигурация учетных данных)/bin/generate_aws_grant.sh
alwaysThinkingEnabledВключить расширенное мышление по умолчанию для всех сеансов. Обычно настраивается через команду /config вместо прямого редактированияtrue
plansDirectoryНастройте, где хранятся файлы плана. Путь относительно корня проекта. По умолчанию: ~/.claude/plans"./plans"
showTurnDurationПоказывать сообщения о продолжительности хода после ответов (например, “Cooked for 1m 6s”). Установите на false, чтобы скрыть эти сообщенияtrue
spinnerVerbsНастройте глаголы действия, показываемые в спиннере и сообщениях о продолжительности хода. Установите mode на "replace", чтобы использовать только ваши глаголы, или "append", чтобы добавить их к значениям по умолчанию{"mode": "append", "verbs": ["Pondering", "Crafting"]}
languageНастройте предпочитаемый язык ответов Claude (например, "japanese", "spanish", "french"). Claude будет отвечать на этом языке по умолчанию"japanese"
autoUpdatesChannelКанал выпуска для отслеживания обновлений. Используйте "stable" для версии, которая обычно примерно на неделю старше и пропускает версии с серьезными регрессиями, или "latest" (по умолчанию) для самого последнего выпуска"stable"
spinnerTipsEnabledПоказывать советы в спиннере, пока Claude работает. Установите на false, чтобы отключить советы (по умолчанию: true)false
spinnerTipsOverrideПереопределить советы спиннера пользовательскими строками. tips: массив строк советов. excludeDefault: если true, показывать только пользовательские советы; если false или отсутствует, пользовательские советы объединяются со встроенными советами{ "excludeDefault": true, "tips": ["Use our internal tool X"] }
terminalProgressBarEnabledВключить полосу прогресса терминала, которая показывает прогресс в поддерживаемых терминалах, таких как Windows Terminal и iTerm2 (по умолчанию: true)false
prefersReducedMotionУменьшить или отключить анимацию пользовательского интерфейса (спиннеры, shimmer, эффекты вспышки) для доступностиtrue
fastModePerSessionOptInЕсли true, быстрый режим не сохраняется между сеансами. Каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей включить его с помощью /fast. Предпочтение пользователя быстрого режима по-прежнему сохраняется. См. Требовать согласие для каждого сеансаtrue
teammateModeКак отображаются товарищи команды агентов: auto (выбирает разделенные панели в tmux или iTerm2, в процессе в противном случае), in-process или tmux. См. настройка команд агентов"in-process"

Параметры разрешений

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

Синтаксис правила разрешения

Правила разрешения следуют формату Tool или Tool(specifier). Правила оцениваются по порядку: сначала правила deny, затем ask, затем allow. Первое совпадающее правило побеждает. Быстрые примеры:
ПравилоЭффект
BashСоответствует всем командам Bash
Bash(npm run *)Соответствует командам, начинающимся с npm run
Read(./.env)Соответствует чтению файла .env
WebFetch(domain:example.com)Соответствует запросам fetch к example.com
Для полного справочника синтаксиса правил, включая поведение подстановочных знаков, шаблоны, специфичные для инструмента, для Read, Edit, WebFetch, MCP и Agent правил, а также ограничения безопасности шаблонов Bash, см. Синтаксис правила разрешения.

Параметры песочницы

Настройте расширенное поведение песочницы. Песочница изолирует команды bash от вашей файловой системы и сети. См. Песочница для получения подробной информации.
КлючиОписаниеПример
enabledВключить песочницу bash (macOS, Linux и WSL2). По умолчанию: falsetrue
autoAllowBashIfSandboxedАвтоматически одобрить команды bash при использовании песочницы. По умолчанию: truetrue
excludedCommandsКоманды, которые должны выполняться вне песочницы["git", "docker"]
allowUnsandboxedCommandsРазрешить командам выполняться вне песочницы через параметр dangerouslyDisableSandbox. Если установлено на false, люк dangerouslyDisableSandbox полностью отключен и все команды должны выполняться в песочнице (или быть в excludedCommands). Полезно для корпоративных политик, требующих строгой изоляции. По умолчанию: truefalse
filesystem.allowWriteДополнительные пути, где команды в песочнице могут писать. Массивы объединяются во всех областях параметров: пути пользователя, проекта и управляемые пути объединяются, не заменяются. Также объединяются с путями из правил разрешения Edit(...). См. префиксы пути песочницы ниже.["//tmp/build", "~/.kube"]
filesystem.denyWriteПути, где команды в песочнице не могут писать. Массивы объединяются во всех областях параметров. Также объединяются с путями из правил разрешения Edit(...).["//etc", "//usr/local/bin"]
filesystem.denyReadПути, где команды в песочнице не могут читать. Массивы объединяются во всех областях параметров. Также объединяются с путями из правил разрешения Read(...).["~/.aws/credentials"]
network.allowUnixSocketsПути сокетов Unix, доступные в песочнице (для SSH агентов и т.д.)["~/.ssh/agent-socket"]
network.allowAllUnixSocketsРазрешить все подключения сокетов Unix в песочнице. По умолчанию: falsetrue
network.allowLocalBindingРазрешить привязку к портам localhost (только macOS). По умолчанию: falsetrue
network.allowedDomainsМассив доменов для разрешения исходящего сетевого трафика. Поддерживает подстановочные знаки (например, *.example.com).["github.com", "*.npmjs.org"]
network.allowManagedDomainsOnly(Только управляемые параметры) Только allowedDomains и правила разрешения WebFetch(domain:...) из управляемых параметров учитываются. Домены из параметров пользователя, проекта и локальной области игнорируются. Неразрешенные домены автоматически блокируются без запроса пользователя. Запрещенные домены по-прежнему учитываются из всех источников. По умолчанию: falsetrue
network.httpProxyPortПорт HTTP-прокси, используемый, если вы хотите использовать свой прокси. Если не указано, Claude запустит свой собственный прокси.8080
network.socksProxyPortПорт SOCKS5-прокси, используемый, если вы хотите использовать свой прокси. Если не указано, Claude запустит свой собственный прокси.8081
enableWeakerNestedSandboxВключить более слабую песочницу для непривилегированных сред Docker (только Linux и WSL2). Снижает безопасность. По умолчанию: falsetrue

Префиксы пути песочницы

Пути в filesystem.allowWrite, filesystem.denyWrite и filesystem.denyRead поддерживают эти префиксы:
ПрефиксЗначениеПример
//Абсолютный путь от корня файловой системы//tmp/build становится /tmp/build
~/Относительно домашнего каталога~/.kube становится $HOME/.kube
/Относительно каталога файла параметров/build становится $SETTINGS_DIR/build
./ или без префиксаОтносительный путь (разрешается средой выполнения песочницы)./output
Пример конфигурации:
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["docker"],
    "filesystem": {
      "allowWrite": ["//tmp/build", "~/.kube"],
      "denyRead": ["~/.aws/credentials"]
    },
    "network": {
      "allowedDomains": ["github.com", "*.npmjs.org", "registry.yarnpkg.com"],
      "allowUnixSockets": [
        "/var/run/docker.sock"
      ],
      "allowLocalBinding": true
    }
  }
}
Ограничения файловой системы и сети можно настроить двумя способами, которые объединяются вместе:
  • Параметры sandbox.filesystem (показаны выше): Контролируют пути на границе песочницы уровня ОС. Эти ограничения применяются ко всем командам подпроцесса (например, kubectl, terraform, npm), а не только к инструментам файлов Claude.
  • Правила разрешений: Используйте правила разрешения Edit allow/deny для контроля доступа инструмента файлов Claude, правила Read deny для блокировки чтения и правила WebFetch allow/deny для контроля доменов сети. Пути из этих правил также объединяются в конфигурацию песочницы.

Параметры атрибуции

Claude Code добавляет атрибуцию к коммитам git и pull requests. Они настраиваются отдельно:
  • Коммиты используют git trailers (например, Co-Authored-By) по умолчанию, которые можно настроить или отключить
  • Описания pull request - это простой текст
КлючиОписание
commitАтрибуция для коммитов git, включая любые trailers. Пустая строка скрывает атрибуцию коммита
prАтрибуция для описаний pull request. Пустая строка скрывает атрибуцию pull request
Атрибуция коммита по умолчанию:
🤖 Generated with [Claude Code](https://claude.com/claude-code)

   Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Атрибуция pull request по умолчанию:
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Пример:
{
  "attribution": {
    "commit": "Generated with AI\n\nCo-Authored-By: AI <[email protected]>",
    "pr": ""
  }
}
Параметр attribution имеет приоритет над устаревшим параметром includeCoAuthoredBy. Чтобы скрыть всю атрибуцию, установите commit и pr на пустые строки.

Параметры предложения файла

Настройте пользовательскую команду для автодополнения пути файла @. Встроенное предложение файла использует быстрый обход файловой системы, но большие монорепозитории могут выиграть от индексирования, специфичного для проекта, такого как предварительно построенный индекс файлов или пользовательские инструменты.
{
  "fileSuggestion": {
    "type": "command",
    "command": "~/.claude/file-suggestion.sh"
  }
}
Команда запускается с теми же переменными окружения, что и hooks, включая CLAUDE_PROJECT_DIR. Она получает JSON через stdin с полем query:
{"query": "src/comp"}
Выведите пути файлов, разделенные новой строкой, в stdout (в настоящее время ограничено 15):
src/components/Button.tsx
src/components/Modal.tsx
src/components/Form.tsx
Пример:
#!/bin/bash
query=$(cat | jq -r '.query')
your-repo-file-index --query "$query" | head -20

Конфигурация Hook

Эти параметры контролируют, какие hooks разрешены для запуска и к чему могут получить доступ HTTP hooks. Параметр allowManagedHooksOnly можно настроить только в управляемых параметрах. Списки разрешений URL и переменных окружения можно установить на любом уровне параметров и объединяются между источниками. Поведение, когда allowManagedHooksOnly имеет значение true:
  • Управляемые hooks и SDK hooks загружаются
  • Пользовательские hooks, проектные hooks и plugin hooks блокируются
Ограничить URL-адреса HTTP hook: Ограничьте, на какие URL-адреса могут быть направлены HTTP hooks. Поддерживает * как подстановочный знак для сопоставления. Когда массив определен, HTTP hooks, направленные на несовпадающие URL-адреса, молча блокируются.
{
  "allowedHttpHookUrls": ["https://hooks.example.com/*", "http://localhost:*"]
}
Ограничить переменные окружения HTTP hook: Ограничьте, какие имена переменных окружения HTTP hooks могут интерполировать в значения заголовков. Эффективный allowedEnvVars каждого hook является пересечением его собственного списка и этого параметра.
{
  "httpHookAllowedEnvVars": ["MY_TOKEN", "HOOK_SECRET"]
}

Приоритет параметров

Параметры применяются в порядке приоритета. От наивысшего к наименьшему:
  1. Управляемые параметры (управляемые сервером, политики MDM/OS-уровня или управляемые параметры)
    • Политики, развернутые IT через доставку сервера, профили конфигурации MDM, политики реестра или файлы управляемых параметров
    • Не могут быть переопределены параметрами пользователя или проекта
    • В пределах управляемого уровня приоритет: управляемые сервером > политики MDM/OS-уровня > managed-settings.json > реестр HKCU (только Windows). Используется только один управляемый источник; источники не объединяются.
  2. Аргументы командной строки
    • Временные переопределения для конкретного сеанса
  3. Параметры локального проекта (.claude/settings.local.json)
    • Личные параметры, специфичные для проекта
  4. Параметры совместного проекта (.claude/settings.json)
    • Параметры проекта, совместно используемые командой в системе управления версиями
  5. Параметры пользователя (~/.claude/settings.json)
    • Личные глобальные параметры
Эта иерархия гарантирует, что организационные политики всегда применяются, при этом позволяя командам и отдельным лицам настраивать свой опыт. Например, если ваши параметры пользователя разрешают Bash(npm run *), но параметры совместного проекта запрещают это, параметр проекта имеет приоритет и команда блокируется.
Параметры массива объединяются между областями. Когда один и тот же параметр со значением массива (такой как sandbox.filesystem.allowWrite или permissions.allow) появляется в нескольких областях, массивы объединяются и дедублицируются, не заменяются. Это означает, что области с более низким приоритетом могут добавлять записи без переопределения установленных областями с более высоким приоритетом, и наоборот. Например, если управляемые параметры устанавливают allowWrite на ["//opt/company-tools"] и пользователь добавляет ["~/.kube"], оба пути включены в окончательную конфигурацию.

Проверить активные параметры

Запустите /status внутри Claude Code, чтобы увидеть, какие источники параметров активны и откуда они берутся. Вывод показывает каждый уровень конфигурации (управляемый, пользователь, проект) вместе с его источником, таким как Enterprise managed settings (remote), Enterprise managed settings (plist), Enterprise managed settings (HKLM) или Enterprise managed settings (file). Если файл параметров содержит ошибки, /status сообщает о проблеме, чтобы вы могли ее исправить.

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

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

Системное приглашение

Внутреннее системное приглашение Claude Code не опубликовано. Чтобы добавить пользовательские инструкции, используйте файлы CLAUDE.md или флаг --append-system-prompt.

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

Чтобы предотвратить доступ Claude Code к файлам, содержащим конфиденциальную информацию, такую как API ключи, секреты и файлы окружения, используйте параметр permissions.deny в вашем файле .claude/settings.json:
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}
Это заменяет устаревшую конфигурацию ignorePatterns. Файлы, соответствующие этим шаблонам, исключаются из обнаружения файлов и результатов поиска, и операции чтения этих файлов запрещены.

Конфигурация subagent

Claude Code поддерживает пользовательские AI subagents, которые можно настроить на уровне пользователя и проекта. Эти subagents хранятся как файлы Markdown с frontmatter YAML:
  • Subagents пользователя: ~/.claude/agents/ - Доступны во всех ваших проектах
  • Subagents проекта: .claude/agents/ - Специфичны для вашего проекта и могут быть совместно использованы с вашей командой
Файлы Subagent определяют специализированных AI помощников с пользовательскими приглашениями и разрешениями инструмента. Узнайте больше о создании и использовании subagents в документации subagents.

Конфигурация Plugin

Claude Code поддерживает систему plugins, которая позволяет вам расширить функциональность с помощью skills, agents, hooks и MCP servers. Plugins распространяются через рынки и могут быть настроены на уровне пользователя и репозитория.

Параметры Plugin

Параметры, связанные с plugins, в settings.json:
{
  "enabledPlugins": {
    "formatter@acme-tools": true,
    "deployer@acme-tools": true,
    "analyzer@security-plugins": false
  },
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": "github",
      "repo": "acme-corp/claude-plugins"
    }
  }
}

enabledPlugins

Контролирует, какие plugins включены. Формат: "plugin-name@marketplace-name": true/false Области:
  • Параметры пользователя (~/.claude/settings.json): Личные предпочтения plugins
  • Параметры проекта (.claude/settings.json): Plugins, специфичные для проекта, совместно используемые с командой
  • Параметры локальной области (.claude/settings.local.json): Переопределения для каждой машины (не зафиксированы)
Пример:
{
  "enabledPlugins": {
    "code-formatter@team-tools": true,
    "deployment-tools@team-tools": true,
    "experimental-features@personal": false
  }
}

extraKnownMarketplaces

Определяет дополнительные рынки, которые должны быть доступны для репозитория. Обычно используется в параметрах уровня репозитория, чтобы гарантировать, что члены команды имеют доступ к требуемым источникам plugins. Когда репозиторий включает extraKnownMarketplaces:
  1. Членам команды предлагается установить рынок, когда они доверяют папке
  2. Членам команды затем предлагается установить plugins из этого рынка
  3. Пользователи могут пропустить нежелательные рынки или plugins (сохранено в параметрах пользователя)
  4. Установка соблюдает границы доверия и требует явного согласия
Пример:
{
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": {
        "source": "github",
        "repo": "acme-corp/claude-plugins"
      }
    },
    "security-plugins": {
      "source": {
        "source": "git",
        "url": "https://git.example.com/security/plugins.git"
      }
    }
  }
}
Типы источников рынка:
  • github: Репозиторий GitHub (использует repo)
  • git: Любой URL git (использует url)
  • directory: Путь локальной файловой системы (использует path, только для разработки)
  • hostPattern: Шаблон regex для сопоставления хостов рынка (использует hostPattern)

strictKnownMarketplaces

Только управляемые параметры: Контролирует, какие рынки plugins пользователи могут добавить. Этот параметр можно настроить только в управляемых параметрах и предоставляет администраторам строгий контроль над источниками рынка. Местоположения файлов управляемых параметров:
  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux и WSL: /etc/claude-code/managed-settings.json
  • Windows: C:\Program Files\ClaudeCode\managed-settings.json
Ключевые характеристики:
  • Доступно только в управляемых параметрах (managed-settings.json)
  • Не может быть переопределено параметрами пользователя или проекта (наивысший приоритет)
  • Применяется перед операциями сети/файловой системы (заблокированные источники никогда не выполняются)
  • Использует точное сопоставление для спецификаций источников (включая ref, path для источников git), кроме hostPattern, который использует сопоставление regex
Поведение списка разрешений:
  • undefined (по умолчанию): Без ограничений - пользователи могут добавить любой рынок
  • Пустой массив []: Полная блокировка - пользователи не могут добавить новые рынки
  • Список источников: Пользователи могут добавить только рынки, которые точно совпадают
Все поддерживаемые типы источников: Список разрешений поддерживает семь типов источников рынка. Большинство источников используют точное сопоставление, в то время как hostPattern использует сопоставление regex против хоста рынка.
  1. Репозитории GitHub:
{ "source": "github", "repo": "acme-corp/approved-plugins" }
{ "source": "github", "repo": "acme-corp/security-tools", "ref": "v2.0" }
{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }
Поля: repo (обязательно), ref (опционально: ветка/тег/SHA), path (опционально: подкаталог)
  1. Репозитории Git:
{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git" }
{ "source": "git", "url": "https://bitbucket.org/acme-corp/plugins.git", "ref": "production" }
{ "source": "git", "url": "ssh://[email protected]/plugins.git", "ref": "v3.1", "path": "approved" }
Поля: url (обязательно), ref (опционально: ветка/тег/SHA), path (опционально: подкаталог)
  1. Рынки на основе URL:
{ "source": "url", "url": "https://plugins.example.com/marketplace.json" }
{ "source": "url", "url": "https://cdn.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }
Поля: url (обязательно), headers (опционально: HTTP заголовки для аутентифицированного доступа)
Рынки на основе URL загружают только файл marketplace.json. Они не загружают файлы plugins с сервера. Plugins в рынках на основе URL должны использовать внешние источники (GitHub, npm или URL git) вместо относительных путей. Для plugins с относительными путями используйте рынок на основе Git. См. Troubleshooting для получения подробной информации.
  1. Пакеты NPM:
{ "source": "npm", "package": "@acme-corp/claude-plugins" }
{ "source": "npm", "package": "@acme-corp/approved-marketplace" }
Поля: package (обязательно, поддерживает пакеты с областью)
  1. Пути файлов:
{ "source": "file", "path": "/usr/local/share/claude/acme-marketplace.json" }
{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }
Поля: path (обязательно: абсолютный путь к файлу marketplace.json)
  1. Пути каталогов:
{ "source": "directory", "path": "/usr/local/share/claude/acme-plugins" }
{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }
Поля: path (обязательно: абсолютный путь к каталогу, содержащему .claude-plugin/marketplace.json)
  1. Сопоставление шаблона хоста:
{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }
{ "source": "hostPattern", "hostPattern": "^gitlab\\.internal\\.example\\.com$" }
Поля: hostPattern (обязательно: шаблон regex для сопоставления с хостом рынка) Используйте сопоставление шаблона хоста, когда вы хотите разрешить все рынки с определенного хоста без перечисления каждого репозитория отдельно. Это полезно для организаций с внутренними серверами GitHub Enterprise или GitLab, где разработчики создают свои собственные рынки. Извлечение хоста по типу источника:
  • github: всегда сопоставляется с github.com
  • git: извлекает имя хоста из URL (поддерживает форматы HTTPS и SSH)
  • url: извлекает имя хоста из URL
  • npm, file, directory: не поддерживается для сопоставления шаблона хоста
Примеры конфигурации: Пример: разрешить только определенные рынки:
{
  "strictKnownMarketplaces": [
    {
      "source": "github",
      "repo": "acme-corp/approved-plugins"
    },
    {
      "source": "github",
      "repo": "acme-corp/security-tools",
      "ref": "v2.0"
    },
    {
      "source": "url",
      "url": "https://plugins.example.com/marketplace.json"
    },
    {
      "source": "npm",
      "package": "@acme-corp/compliance-plugins"
    }
  ]
}
Пример - Отключить все добавления на рынке:
{
  "strictKnownMarketplaces": []
}
Пример: разрешить все рынки с внутреннего сервера git:
{
  "strictKnownMarketplaces": [
    {
      "source": "hostPattern",
      "hostPattern": "^github\\.example\\.com$"
    }
  ]
}
Требования точного сопоставления: Источники рынка должны совпадать точно, чтобы добавление пользователя было разрешено. Для источников на основе git (github и git) это включает все опциональные поля:
  • repo или url должны совпадать точно
  • Поле ref должно совпадать точно (или оба быть не определены)
  • Поле path должно совпадать точно (или оба быть не определены)
Примеры источников, которые НЕ совпадают:
// Это РАЗНЫЕ источники:
{ "source": "github", "repo": "acme-corp/plugins" }
{ "source": "github", "repo": "acme-corp/plugins", "ref": "main" }

// Это также РАЗНЫЕ:
{ "source": "github", "repo": "acme-corp/plugins", "path": "marketplace" }
{ "source": "github", "repo": "acme-corp/plugins" }
Сравнение с extraKnownMarketplaces:
АспектstrictKnownMarketplacesextraKnownMarketplaces
НазначениеПрименение организационной политикиУдобство команды
Файл параметровТолько managed-settings.jsonЛюбой файл параметров
ПоведениеБлокирует добавления, не входящие в список разрешенийАвтоматически устанавливает отсутствующие рынки
Когда применяетсяПеред операциями сети/файловой системыПосле запроса доверия пользователя
Может быть переопределеноНет (наивысший приоритет)Да (параметрами с более высоким приоритетом)
Формат источникаПрямой объект источникаИменованный рынок с вложенным источником
Вариант использованияСоответствие, ограничения безопасностиАдаптация, стандартизация
Различие формата: strictKnownMarketplaces использует прямые объекты источников:
{
  "strictKnownMarketplaces": [
    { "source": "github", "repo": "acme-corp/plugins" }
  ]
}
extraKnownMarketplaces требует именованные рынки:
{
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": { "source": "github", "repo": "acme-corp/plugins" }
    }
  }
}
Важные примечания:
  • Ограничения проверяются ДО любых сетевых запросов или операций файловой системы
  • При блокировке пользователи видят четкие сообщения об ошибках, указывающие, что источник заблокирован управляемой политикой
  • Ограничение применяется только к добавлению НОВЫХ рынков; ранее установленные рынки остаются доступными
  • Управляемые параметры имеют наивысший приоритет и не могут быть переопределены
См. Управляемые ограничения рынка для документации, ориентированной на пользователя.

Управление plugins

Используйте команду /plugin для интерактивного управления plugins:
  • Просмотрите доступные plugins с рынков
  • Установите/удалите plugins
  • Включите/отключите plugins
  • Просмотрите детали plugins (команды, agents, предоставляемые hooks)
  • Добавьте/удалите рынки
Узнайте больше о системе plugins в документации plugins.

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

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_FOUNDRY_API_KEYAPI ключ для аутентификации Microsoft Foundry (см. Microsoft Foundry)
ANTHROPIC_FOUNDRY_BASE_URLПолный базовый URL для ресурса Foundry (например, https://my-resource.services.ai.azure.com/anthropic). Альтернатива ANTHROPIC_FOUNDRY_RESOURCE (см. Microsoft Foundry)
ANTHROPIC_FOUNDRY_RESOURCEИмя ресурса Foundry (например, my-resource). Требуется, если ANTHROPIC_FOUNDRY_BASE_URL не установлен (см. Microsoft Foundry)
ANTHROPIC_MODELИмя параметра модели для использования (см. Конфигурация модели)
ANTHROPIC_SMALL_FAST_MODEL[УСТАРЕЛО] Имя модели класса Haiku для фоновых задач
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONПереопределить регион AWS для модели класса Haiku при использовании Bedrock
AWS_BEARER_TOKEN_BEDROCKAPI ключ Bedrock для аутентификации (см. Bedrock API ключи)
BASH_DEFAULT_TIMEOUT_MSТайм-аут по умолчанию для долгоживущих команд bash
BASH_MAX_OUTPUT_LENGTHМаксимальное количество символов в выводе bash перед их усечением в середине
BASH_MAX_TIMEOUT_MSМаксимальный тайм-аут, который модель может установить для долгоживущих команд bash
CLAUDE_AUTOCOMPACT_PCT_OVERRIDEУстановите процент емкости контекста (1-100), при котором срабатывает автоматическое сжатие. По умолчанию автоматическое сжатие срабатывает при примерно 95% емкости. Используйте более низкие значения, такие как 50, для более раннего сжатия. Значения выше порога по умолчанию не имеют эффекта. Применяется к основным разговорам и subagents. Этот процент соответствует полю context_window.used_percentage, доступному в строке состояния
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRВернуться в исходный рабочий каталог после каждой команды Bash
CLAUDE_CODE_ACCOUNT_UUIDUUID учетной записи для аутентифицированного пользователя. Используется вызывающими SDK для синхронного предоставления информации об учетной записи, избегая условия гонки, когда ранние события телеметрии не имеют метаданных учетной записи. Требует также установки CLAUDE_CODE_USER_EMAIL и CLAUDE_CODE_ORGANIZATION_UUID
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MDУстановите на 1, чтобы загружать файлы CLAUDE.md из каталогов, указанных с помощью --add-dir. По умолчанию дополнительные каталоги не загружают файлы памяти1
CLAUDE_CODE_API_KEY_HELPER_TTL_MSИнтервал в миллисекундах, при котором учетные данные должны быть обновлены (при использовании apiKeyHelper)
CLAUDE_CODE_CLIENT_CERTПуть к файлу сертификата клиента для аутентификации mTLS
CLAUDE_CODE_CLIENT_KEYПуть к файлу приватного ключа клиента для аутентификации mTLS
CLAUDE_CODE_CLIENT_KEY_PASSPHRASEПарольная фраза для зашифрованного CLAUDE_CODE_CLIENT_KEY (опционально)
CLAUDE_CODE_DISABLE_1M_CONTEXTУстановите на 1, чтобы отключить поддержку окна контекста 1M. Если установлено, варианты модели 1M недоступны в средстве выбора модели. Полезно для корпоративных сред с требованиями соответствия
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKINGУстановите на 1, чтобы отключить адаптивное рассуждение для Opus 4.6 и Sonnet 4.6. Если отключено, эти модели возвращаются к фиксированному бюджету мышления, контролируемому MAX_THINKING_TOKENS
CLAUDE_CODE_DISABLE_AUTO_MEMORYУстановите на 1, чтобы отключить автоматическую память. Установите на 0, чтобы принудительно включить автоматическую память во время постепенного развертывания. Если отключено, Claude не создает и не загружает файлы автоматической памяти
CLAUDE_CODE_DISABLE_BACKGROUND_TASKSУстановите на 1, чтобы отключить всю функциональность фоновых задач, включая параметр run_in_background на инструментах Bash и subagent, автоматическое фоновое выполнение и сочетание клавиш Ctrl+B
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASУстановите на 1, чтобы отключить заголовки anthropic-beta, специфичные для API Anthropic. Используйте это, если вы испытываете проблемы, такие как “Unexpected value(s) for the anthropic-beta header” при использовании шлюза LLM с поставщиками третьих сторон
CLAUDE_CODE_DISABLE_FAST_MODEУстановите на 1, чтобы отключить быстрый режим
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEYУстановите на 1, чтобы отключить опросы качества сеанса “How is Claude doing?”. Также отключено при использовании поставщиков третьих сторон или при отключении телеметрии. См. Опросы качества сеанса
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICЭквивалент установки DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING и DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_TERMINAL_TITLEУстановите на 1, чтобы отключить автоматические обновления заголовка терминала на основе контекста разговора
CLAUDE_CODE_EFFORT_LEVELУстановите уровень усилий для поддерживаемых моделей. Значения: low, medium, high. Более низкие усилия быстрее и дешевле, более высокие усилия обеспечивают более глубокое рассуждение. Поддерживается на Opus 4.6 и Sonnet 4.6. См. Отрегулировать уровень усилий
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTIONУстановите на false, чтобы отключить предложения приглашений (переключатель “Prompt suggestions” в /config). Это серые предсказания, которые появляются в вашем вводе приглашения после ответа Claude. См. Предложения приглашений
CLAUDE_CODE_ENABLE_TASKSУстановите на false, чтобы временно вернуться к предыдущему списку TODO вместо системы отслеживания задач. По умолчанию: true. См. Список задач
CLAUDE_CODE_ENABLE_TELEMETRYУстановите на 1, чтобы включить сбор данных OpenTelemetry для метрик и логирования. Требуется перед настройкой экспортеров OTel. См. Мониторинг
CLAUDE_CODE_EXIT_AFTER_STOP_DELAYВремя в миллисекундах для ожидания после того, как цикл запроса становится неактивным, перед автоматическим выходом. Полезно для автоматизированных рабочих процессов и скриптов, использующих режим SDK
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSУстановите на 1, чтобы включить команды агентов. Команды агентов экспериментальны и отключены по умолчанию
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENSПереопределить лимит токенов по умолчанию для чтения файлов. Полезно, когда вам нужно прочитать большие файлы полностью
CLAUDE_CODE_HIDE_ACCOUNT_INFOУстановите на 1, чтобы скрыть ваш адрес электронной почты и имя организации из пользовательского интерфейса Claude Code. Полезно при потоковой передаче или записи
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLПропустить автоматическую установку расширений IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSУстановите максимальное количество выходных токенов для большинства запросов. По умолчанию: 32,000. Максимум: 64,000. Увеличение этого значения уменьшает эффективное окно контекста, доступное перед срабатыванием автоматического сжатия.
CLAUDE_CODE_ORGANIZATION_UUIDUUID организации для аутентифицированного пользователя. Используется вызывающими SDK для синхронного предоставления информации об учетной записи. Требует также установки CLAUDE_CODE_ACCOUNT_UUID и CLAUDE_CODE_USER_EMAIL
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MSИнтервал для обновления динамических заголовков OpenTelemetry в миллисекундах (по умолчанию: 1740000 / 29 минут). См. Динамические заголовки
CLAUDE_CODE_PLAN_MODE_REQUIREDАвтоматически установлено на true для товарищей команды агентов, требующих одобрения плана. Только для чтения: установлено Claude Code при создании товарищей. См. требовать одобрение плана
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MSТайм-аут в миллисекундах для операций git при установке или обновлении plugins (по умолчанию: 120000). Увеличьте это значение для больших репозиториев или медленных сетевых соединений. См. Операции Git истекают
CLAUDE_CODE_PROXY_RESOLVES_HOSTSУстановите на true, чтобы разрешить прокси выполнять разрешение DNS вместо вызывающей стороны. Согласие для сред, где прокси должен обрабатывать разрешение имен хостов
CLAUDE_CODE_SHELLПереопределить автоматическое обнаружение оболочки. Полезно, когда ваша оболочка входа отличается от предпочитаемой рабочей оболочки (например, bash против zsh)
CLAUDE_CODE_SHELL_PREFIXПрефикс команды для обертывания всех команд bash (например, для логирования или аудита). Пример: /path/to/logger.sh будет выполнять /path/to/logger.sh <command>
CLAUDE_CODE_SIMPLEУстановите на 1, чтобы запустить с минимальным системным приглашением и только инструментами Bash, чтения файлов и редактирования файлов. Отключает инструменты MCP, вложения, hooks и файлы CLAUDE.md
CLAUDE_CODE_SKIP_BEDROCK_AUTHПропустить аутентификацию AWS для Bedrock (например, при использовании шлюза LLM)
CLAUDE_CODE_SKIP_FOUNDRY_AUTHПропустить аутентификацию Azure для Microsoft Foundry (например, при использовании шлюза LLM)
CLAUDE_CODE_SKIP_VERTEX_AUTHПропустить аутентификацию Google для Vertex (например, при использовании шлюза LLM)
CLAUDE_CODE_SUBAGENT_MODELСм. Конфигурация модели
CLAUDE_CODE_TASK_LIST_IDСовместно используйте список задач между сеансами. Установите один и тот же ID в нескольких экземплярах Claude Code для координации на общем списке задач. См. Список задач
CLAUDE_CODE_TEAM_NAMEИмя команды агентов, к которой принадлежит этот товарищ. Автоматически установлено на членах команды агентов
CLAUDE_CODE_TMPDIRПереопределить временный каталог, используемый для внутренних временных файлов. Claude Code добавляет /claude/ к этому пути. По умолчанию: /tmp на Unix/macOS, os.tmpdir() на Windows
CLAUDE_CODE_USER_EMAILАдрес электронной почты для аутентифицированного пользователя. Используется вызывающими SDK для синхронного предоставления информации об учетной записи. Требует также установки CLAUDE_CODE_ACCOUNT_UUID и CLAUDE_CODE_ORGANIZATION_UUID
CLAUDE_CODE_USE_BEDROCKИспользуйте Bedrock
CLAUDE_CODE_USE_FOUNDRYИспользуйте Microsoft Foundry
CLAUDE_CODE_USE_VERTEXИспользуйте Vertex
CLAUDE_CONFIG_DIRНастройте, где Claude Code хранит свои файлы конфигурации и данных
DISABLE_AUTOUPDATERУстановите на 1, чтобы отключить автоматические обновления.
DISABLE_BUG_COMMANDУстановите на 1, чтобы отключить команду /bug
DISABLE_COST_WARNINGSУстановите на 1, чтобы отключить сообщения предупреждения о стоимости
DISABLE_ERROR_REPORTINGУстановите на 1, чтобы отказаться от отчетов об ошибках Sentry
DISABLE_INSTALLATION_CHECKSУстановите на 1, чтобы отключить предупреждения об установке. Используйте только при ручном управлении местоположением установки, так как это может скрыть проблемы со стандартными установками
DISABLE_NON_ESSENTIAL_MODEL_CALLSУстановите на 1, чтобы отключить вызовы модели для некритических путей, таких как текст вкуса
DISABLE_PROMPT_CACHINGУстановите на 1, чтобы отключить кэширование приглашений для всех моделей (имеет приоритет над параметрами для каждой модели)
DISABLE_PROMPT_CACHING_HAIKUУстановите на 1, чтобы отключить кэширование приглашений для моделей Haiku
DISABLE_PROMPT_CACHING_OPUSУстановите на 1, чтобы отключить кэширование приглашений для моделей Opus
DISABLE_PROMPT_CACHING_SONNETУстановите на 1, чтобы отключить кэширование приглашений для моделей Sonnet
DISABLE_TELEMETRYУстановите на 1, чтобы отказаться от телеметрии Statsig (обратите внимание, что события Statsig не включают данные пользователя, такие как код, пути файлов или команды bash)
ENABLE_CLAUDEAI_MCP_SERVERSУстановите на false, чтобы отключить MCP servers claude.ai в Claude Code. Включено по умолчанию для вошедших в систему пользователей
ENABLE_TOOL_SEARCHКонтролирует поиск инструмента MCP. Значения: auto (по умолчанию, включает при 10% контекста), auto:N (пользовательский порог, например, auto:5 для 5%), true (всегда включено), false (отключено)
FORCE_AUTOUPDATE_PLUGINSУстановите на true, чтобы принудительно обновлять plugins автоматически, даже если основной автоматический обновитель отключен через DISABLE_AUTOUPDATER
HTTP_PROXYУкажите сервер HTTP-прокси для сетевых соединений
HTTPS_PROXYУкажите сервер HTTPS-прокси для сетевых соединений
IS_DEMOУстановите на true, чтобы включить режим демонстрации: скрывает электронную почту и организацию из пользовательского интерфейса, пропускает адаптацию и скрывает внутренние команды. Полезно для потоковой передачи или записи сеансов
MAX_MCP_OUTPUT_TOKENSМаксимальное количество токенов, разрешенных в ответах инструмента MCP. Claude Code отображает предупреждение, когда вывод превышает 10,000 токенов (по умолчанию: 25000)
MAX_THINKING_TOKENSПереопределить бюджет токенов расширенного мышления. Мышление включено при максимальном бюджете (31,999 токенов) по умолчанию. Используйте это для ограничения бюджета (например, MAX_THINKING_TOKENS=10000) или полного отключения мышления (MAX_THINKING_TOKENS=0). Для Opus 4.6 глубина мышления контролируется уровнем усилий вместо этого, и эта переменная игнорируется, если не установлена на 0 для отключения мышления.
MCP_CLIENT_SECRETСекрет клиента OAuth для MCP servers, требующих предварительно настроенные учетные данные. Избегает интерактивного приглашения при добавлении сервера с --client-secret
MCP_OAUTH_CALLBACK_PORTФиксированный порт для обратного вызова OAuth, как альтернатива --callback-port при добавлении MCP server с предварительно настроенными учетными данными
MCP_TIMEOUTТайм-аут в миллисекундах для запуска MCP server
MCP_TOOL_TIMEOUTТайм-аут в миллисекундах для выполнения инструмента MCP
NO_PROXYСписок доменов и IP-адресов, на которые запросы будут выданы напрямую, обходя прокси
SLASH_COMMAND_TOOL_CHAR_BUDGETПереопределить бюджет символов для метаданных skill, показываемых инструменту Skill. Бюджет масштабируется динамически на 2% окна контекста, с резервным значением 16,000 символов. Устаревшее имя сохранено для обратной совместимости
USE_BUILTIN_RIPGREPУстановите на 0, чтобы использовать установленный в системе rg вместо rg, включенного в Claude Code
VERTEX_REGION_CLAUDE_3_5_HAIKUПереопределить регион для Claude 3.5 Haiku при использовании 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

Claude Code имеет доступ к набору мощных инструментов, которые помогают ему понять и изменить вашу кодовую базу:
ИнструментОписаниеТребуется разрешение
AskUserQuestionЗадает вопросы с несколькими вариантами ответов для сбора требований или уточнения неоднозначностиНет
BashВыполняет команды оболочки в вашей среде (см. поведение инструмента Bash ниже)Да
TaskOutputПолучает вывод из фоновой задачи (оболочка bash или subagent)Нет
EditДелает целевые правки в определенные файлыДа
ExitPlanModeПредлагает пользователю выйти из Plan Mode и начать кодированиеДа
GlobНаходит файлы на основе сопоставления шаблоновНет
GrepИщет шаблоны в содержимом файловНет
KillShellУбивает работающую фоновую оболочку bash по ее IDНет
MCPSearchИщет и загружает инструменты MCP, когда включен поиск инструментаНет
NotebookEditИзменяет ячейки Jupyter notebookДа
ReadЧитает содержимое файловНет
SkillВыполняет skill в основном разговореДа
AgentЗапускает sub-agent для обработки сложных многошаговых задачНет
TaskCreateСоздает новую задачу в списке задачНет
TaskGetПолучает полные детали для конкретной задачиНет
TaskListПеречисляет все задачи с их текущим статусомНет
TaskUpdateОбновляет статус задачи, зависимости, детали или удаляет задачиНет
WebFetchПолучает содержимое с указанного URLДа
WebSearchВыполняет веб-поиск с фильтрацией доменовДа
WriteСоздает или перезаписывает файлыДа
LSPИнтеллект кода через языковые серверы. Автоматически сообщает об ошибках типов и предупреждениях после редактирования файлов. Также поддерживает операции навигации: переход к определениям, поиск ссылок, получение информации о типе, список символов, поиск реализаций, трассировка иерархий вызовов. Требует plugin интеллекта кода и его двоичный файл языкового сервераНет
Правила разрешений можно настроить с помощью /allowed-tools или в параметрах разрешений. См. также Правила разрешений, специфичные для инструмента.

Поведение инструмента Bash

Инструмент Bash выполняет команды оболочки со следующим поведением сохранения:
  • Рабочий каталог сохраняется: Когда Claude изменяет рабочий каталог (например, cd /path/to/dir), последующие команды Bash будут выполняться в этом каталоге. Вы можете использовать CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1, чтобы вернуться в каталог проекта после каждой команды.
  • Переменные окружения НЕ сохраняются: Переменные окружения, установленные в одной команде Bash (например, export MY_VAR=value), не доступны в последующих командах Bash. Каждая команда Bash запускается в свежей среде оболочки.
Чтобы сделать переменные окружения доступными в командах Bash, у вас есть три варианта: Вариант 1: Активировать окружение перед запуском Claude Code (самый простой подход) Активируйте ваше виртуальное окружение в вашем терминале перед запуском Claude Code:
conda activate myenv
# или: source /path/to/venv/bin/activate
claude
Это работает для сред оболочки, но переменные окружения, установленные в командах Bash Claude, не будут сохраняться между командами. Вариант 2: Установить CLAUDE_ENV_FILE перед запуском Claude Code (сохранение настройки окружения) Экспортируйте путь к скрипту оболочки, содержащему вашу настройку окружения:
export CLAUDE_ENV_FILE=/path/to/env-setup.sh
claude
Где /path/to/env-setup.sh содержит:
conda activate myenv
# или: source /path/to/venv/bin/activate
# или: export MY_VAR=value
Claude Code будет источником этого файла перед каждой командой Bash, делая окружение сохраняющимся между всеми командами. Вариант 3: Используйте hook SessionStart (конфигурация, специфичная для проекта) Настройте в .claude/settings.json:
{
  "hooks": {
    "SessionStart": [{
      "matcher": "startup",
      "hooks": [{
        "type": "command",
        "command": "echo 'conda activate myenv' >> \"$CLAUDE_ENV_FILE\""
      }]
    }]
  }
}
Hook пишет в $CLAUDE_ENV_FILE, который затем источник перед каждой командой Bash. Это идеально для конфигураций проектов, совместно используемых командой. См. hooks SessionStart для получения дополнительной информации о варианте 3.

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

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

См. также

  • Permissions: система разрешений, синтаксис правил, шаблоны, специфичные для инструмента, и управляемые политики
  • Authentication: настройка доступа пользователя к Claude Code
  • Troubleshooting: решения для распространенных проблем конфигурации