/config при использовании интерактивного REPL, которая открывает интерфейс параметров с вкладками, где вы можете просмотреть информацию о состоянии и изменить параметры конфигурации.
Области конфигурации
Claude Code использует систему областей для определения того, где применяются конфигурации и с кем они совместно используются. Понимание областей помогает вам решить, как настроить Claude Code для личного использования, командного сотрудничества или развертывания на уровне предприятия.Доступные области
| Область | Местоположение | На кого это влияет | Совместно используется с командой? |
|---|---|---|---|
| Managed | Параметры, управляемые сервером, plist / реестр или системный уровень managed-settings.json | Все пользователи на машине | Да (развернуто IT) |
| User | Каталог ~/.claude/ | Вы, во всех проектах | Нет |
| Project | .claude/ в репозитории | Все сотрудники этого репозитория | Да (зафиксировано в git) |
| Local | .claude/settings.local.json | Вы, только в этом репозитории | Нет (игнорируется gitignore) |
Когда использовать каждую область
Область Managed предназначена для:- Политик безопасности, которые должны быть применены на уровне организации
- Требований соответствия, которые нельзя переопределить
- Стандартизированных конфигураций, развернутых IT/DevOps
- Личных предпочтений, которые вы хотите везде (темы, параметры редактора)
- Инструментов и plugins, которые вы используете во всех проектах
- Ключей API и аутентификации (хранятся безопасно)
- Параметров, совместно используемых командой (разрешения, hooks, MCP servers)
- Plugins, которые должна иметь вся команда
- Стандартизации инструментов между сотрудниками
- Личных переопределений для конкретного проекта
- Тестирования конфигураций перед совместным использованием с командой
- Параметров, специфичных для машины, которые не будут работать для других
Как области взаимодействуют
Когда один и тот же параметр настроен в нескольких областях, более специфичные области имеют приоритет:- Managed (наивысший) - не может быть переопределена ничем
- Аргументы командной строки - временные переопределения сеанса
- Local - переопределяет параметры проекта и пользователя
- Project - переопределяет параметры пользователя
- 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.md | CLAUDE.md или .claude/CLAUDE.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(наименьший приоритет политики, используется только при отсутствии источника на уровне администратора)
- macOS: домен управляемых предпочтений
-
На основе файлов:
managed-settings.jsonиmanaged-mcp.json, развернутые в системные каталоги:- macOS:
/Library/Application Support/ClaudeCode/ - Linux и WSL:
/etc/claude-code/ - Windows:
C:\Program Files\ClaudeCode\
managed-settings.d/в том же системном каталоге рядом сmanaged-settings.json. Это позволяет отдельным командам развертывать независимые фрагменты политики без координации редактирования одного файла. Следуя соглашению systemd,managed-settings.jsonобъединяется первым как база, затем все файлы*.jsonв каталоге drop-in сортируются в алфавитном порядке и объединяются сверху. Более поздние файлы переопределяют более ранние для скалярных значений; массивы объединяются и дедублицируются; объекты глубоко объединяются. Скрытые файлы, начинающиеся с., игнорируются. Используйте числовые префиксы для управления порядком объединения, например10-telemetry.jsonи20-security.json. - macOS:
Управляемые развертывания также могут ограничивать добавления на marketplace plugins с помощьюstrictKnownMarketplaces. Для получения дополнительной информации см. Управляемые ограничения marketplace. -
Другая конфигурация хранится в
~/.claude.json. Этот файл содержит ваши предпочтения (тема, параметры уведомлений, режим редактора), сеанс OAuth, конфигурации MCP server для областей пользователя и локальной области, состояние для каждого проекта (разрешенные инструменты, параметры доверия) и различные кэши. MCP servers с областью проекта хранятся отдельно в.mcp.json.
Claude Code автоматически создает резервные копии файлов конфигурации с временными метками и сохраняет пять самых последних резервных копий для предотвращения потери данных.
Пример settings.json
$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 |
autoMemoryDirectory | Пользовательский каталог для хранения автоматической памяти. Принимает пути, расширенные ~/. Не принимается в параметрах проекта (.claude/settings.json) для предотвращения перенаправления записей памяти в чувствительные местоположения общими репозиториями. Принимается из политики, локальных и пользовательских параметров | "~/my-memory-dir" |
cleanupPeriodDays | Сеансы, неактивные дольше этого периода, удаляются при запуске (по умолчанию: 30 дней). Установка на 0 удаляет все существующие стенограммы при запуске и полностью отключает сохранение сеанса. Новые файлы .jsonl не записываются, /resume не показывает разговоры, и hooks получают пустой transcript_path. | 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 |
includeGitInstructions | Включить встроенные инструкции рабочего процесса коммита и PR в системный запрос Claude (по умолчанию: true). Установите на false, чтобы удалить эти инструкции, например при использовании собственных skills рабочего процесса git. Переменная окружения CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS имеет приоритет над этим параметром при установке | false |
permissions | См. таблицу ниже для структуры разрешений. | |
autoMode | Настройте, что классификатор автоматического режима блокирует и разрешает. Содержит массивы environment, allow и soft_deny правил в виде текста. См. Настройте классификатор автоматического режима. Не читается из общих параметров проекта | {"environment": ["Trusted repo: github.example.com/acme"]} |
disableAutoMode | Установите на "disable", чтобы предотвратить активацию автоматического режима. Удаляет auto из цикла Shift+Tab и отклоняет --permission-mode auto при запуске. Наиболее полезно в управляемых параметрах, где пользователи не могут его переопределить | "disable" |
useAutoModeDuringPlan | Использует ли Plan Mode семантику автоматического режима, когда автоматический режим доступен. По умолчанию: true. Не читается из общих параметров проекта. Появляется в /config как “Use auto mode during plan” | false |
hooks | Настройте пользовательские команды для запуска при событиях жизненного цикла. См. документацию hooks для формата | См. hooks |
disableAllHooks | Отключить все hooks и любую пользовательскую строку состояния | true |
allowManagedHooksOnly | (Только управляемые параметры) Предотвратить загрузку пользовательских, проектных и plugin hooks. Разрешить только управляемые hooks и SDK hooks. См. Конфигурация Hook | true |
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, но применяется только определенный администратором список разрешений. См. Управляемая конфигурация MCP | true |
model | Переопределить модель по умолчанию для использования в Claude Code | "claude-sonnet-4-6" |
availableModels | Ограничить, какие модели пользователи могут выбрать через /model, --model, инструмент Config или ANTHROPIC_MODEL. Не влияет на опцию Default. См. Ограничить выбор модели | ["sonnet", "haiku"] |
modelOverrides | Сопоставить ID моделей Anthropic с ID моделей, специфичными для поставщика, такими как ARN профилей вывода Bedrock. Каждая запись средства выбора модели использует свое сопоставленное значение при вызове API поставщика. См. Переопределить ID моделей для каждой версии | {"claude-opus-4-6": "arn:aws:bedrock:..."} |
effortLevel | Сохранить уровень усилий между сеансами. Принимает "low", "medium" или "high". Записывается автоматически при запуске /effort low, /effort medium или /effort high. Поддерживается на Opus 4.6 и Sonnet 4.6 | "medium" |
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" |
agent | Запустить основной поток как именованный subagent. Применяет системный запрос, ограничения инструментов и модель этого subagent. См. Явно вызывать subagents | "code-reviewer" |
forceLoginMethod | Используйте claudeai для ограничения входа учетными записями Claude.ai, console для ограничения входа учетными записями Claude Console (выставление счетов за использование API) | claudeai |
forceLoginOrgUUID | Укажите UUID организации для автоматического выбора во время входа, пропуская шаг выбора организации. Требует установки forceLoginMethod | "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
enableAllProjectMcpServers | Автоматически одобрить все MCP servers, определенные в файлах проекта .mcp.json | true |
enabledMcpjsonServers | Список конкретных MCP servers из файлов .mcp.json для одобрения | ["memory", "github"] |
disabledMcpjsonServers | Список конкретных MCP servers из файлов .mcp.json для отклонения | ["filesystem"] |
channelsEnabled | (Только управляемые параметры) Разрешить channels для пользователей Team и Enterprise. Не установлено или false блокирует доставку сообщений канала независимо от того, что пользователи передают в --channels | true |
allowedChannelPlugins | (Только управляемые параметры) Список разрешений channel plugins, которые могут отправлять сообщения. Заменяет список разрешений Anthropic по умолчанию при установке. Не определено = вернуться к значению по умолчанию, пустой массив = блокировать все channel plugins. Требует channelsEnabled: true. См. Ограничить, какие channel plugins могут запускаться | [{ "marketplace": "claude-plugins-official", "plugin": "telegram" }] |
allowedMcpServers | При установке в managed-settings.json, список разрешений MCP servers, которые пользователи могут настроить. Не определено = без ограничений, пустой массив = блокировка. Применяется ко всем областям. Список запретов имеет приоритет. См. Управляемая конфигурация MCP | [{ "serverName": "github" }] |
deniedMcpServers | При установке в managed-settings.json, список запретов MCP servers, которые явно заблокированы. Применяется ко всем областям, включая управляемые servers. Список запретов имеет приоритет над списком разрешений. См. Управляемая конфигурация MCP | [{ "serverName": "filesystem" }] |
strictKnownMarketplaces | При установке в managed-settings.json, список разрешений marketplaces plugins, которые пользователи могут добавить. Не определено = без ограничений, пустой массив = блокировка. Применяется только к добавлениям marketplace. См. Управляемые ограничения marketplace | [{ "source": "github", "repo": "acme-corp/plugins" }] |
blockedMarketplaces | (Только управляемые параметры) Список запретов источников marketplace. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. Управляемые ограничения marketplace | [{ "source": "github", "repo": "untrusted/plugins" }] |
pluginTrustMessage | (Только управляемые параметры) Пользовательское сообщение, добавленное к предупреждению о доверии plugin, показываемому перед установкой. Используйте это для добавления контекста, специфичного для организации, например для подтверждения того, что plugins из вашего внутреннего marketplace проверены. | "All plugins from our marketplace are approved by IT" |
awsAuthRefresh | Пользовательский скрипт, который изменяет каталог .aws (см. расширенная конфигурация учетных данных) | aws sso login --profile myprofile |
awsCredentialExport | Пользовательский скрипт, который выводит JSON с учетными данными AWS (см. расширенная конфигурация учетных данных) | /bin/generate_aws_grant.sh |
alwaysThinkingEnabled | Включить расширенное мышление по умолчанию для всех сеансов. Обычно настраивается через команду /config вместо прямого редактирования | true |
plansDirectory | Настройте, где хранятся файлы плана. Путь относительно корня проекта. По умолчанию: ~/.claude/plans | "./plans" |
showClearContextOnPlanAccept | Показать опцию “очистить контекст” на экране принятия плана. По умолчанию: false. Установите на true, чтобы восстановить опцию | true |
spinnerVerbs | Настройте глаголы действия, показываемые в спиннере и сообщениях о продолжительности хода. Установите mode на "replace", чтобы использовать только ваши глаголы, или "append", чтобы добавить их к значениям по умолчанию | {"mode": "append", "verbs": ["Pondering", "Crafting"]} |
language | Настройте предпочитаемый язык ответов Claude (например, "japanese", "spanish", "french"). Claude будет отвечать на этом языке по умолчанию. Также устанавливает язык голосового диктанта | "japanese" |
voiceEnabled | Включить push-to-talk голосовой диктант. Записывается автоматически при запуске /voice. Требует учетную запись Claude.ai | true |
autoUpdatesChannel | Канал выпуска для отслеживания обновлений. Используйте "stable" для версии, которая обычно примерно на неделю старше и пропускает версии с серьезными регрессиями, или "latest" (по умолчанию) для самого последнего выпуска | "stable" |
spinnerTipsEnabled | Показывать советы в спиннере, пока Claude работает. Установите на false, чтобы отключить советы (по умолчанию: true) | false |
spinnerTipsOverride | Переопределить советы спиннера пользовательскими строками. tips: массив строк советов. excludeDefault: если true, показывать только пользовательские советы; если false или отсутствует, пользовательские советы объединяются со встроенными советами | { "excludeDefault": true, "tips": ["Use our internal tool X"] } |
prefersReducedMotion | Уменьшить или отключить анимацию пользовательского интерфейса (спиннеры, shimmer, эффекты вспышки) для доступности | true |
fastModePerSessionOptIn | Когда true, быстрый режим не сохраняется между сеансами. Каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей включить его с помощью /fast. Предпочтение быстрого режима пользователя по-прежнему сохраняется. См. Требовать согласие для каждого сеанса | true |
teammateMode | Как отображаются товарищи по команде агентов: auto (выбирает разделенные панели в tmux или iTerm2, в процессе в противном случае), in-process или tmux. См. настройка команд агентов | "in-process" |
feedbackSurveyRate | Вероятность (0–1) того, что опрос качества сеанса появится при наличии условий. Установите на 0, чтобы полностью подавить. Полезно при использовании Bedrock, Vertex или Foundry, где частота выборки по умолчанию не применяется | 0.05 |
Параметры глобальной конфигурации
Эти параметры хранятся в~/.claude.json вместо settings.json. Добавление их в settings.json вызовет ошибку валидации схемы.
| Ключ | Описание | Пример |
|---|---|---|
autoConnectIde | Автоматически подключаться к запущенной IDE при запуске Claude Code из внешнего терминала. По умолчанию: false. Появляется в /config как Auto-connect to IDE (external terminal) при запуске вне терминала VS Code или JetBrains | true |
autoInstallIdeExtension | Автоматически устанавливать расширение Claude Code IDE при запуске из терминала VS Code. По умолчанию: true. Появляется в /config как Auto-install IDE extension при запуске внутри терминала VS Code или JetBrains. Вы также можете установить переменную окружения CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL | false |
editorMode | Режим сочетания клавиш для входного приглашения: "normal" или "vim". По умолчанию: "normal". Записывается автоматически при запуске /vim. Появляется в /config как Key binding mode | "vim" |
showTurnDuration | Показывать сообщения о продолжительности хода после ответов, например “Cooked for 1m 6s”. По умолчанию: true. Появляется в /config как Show turn duration | false |
terminalProgressBarEnabled | Показывать полосу прогресса терминала в поддерживаемых терминалах: ConEmu, Ghostty 1.2.0+ и iTerm2 3.6.6+. По умолчанию: true. Появляется в /config как Terminal progress bar | false |
Параметры Worktree
Настройте, как--worktree создает и управляет git worktrees. Используйте эти параметры для уменьшения использования диска и времени запуска в больших монорепозиториях.
| Ключ | Описание | Пример |
|---|---|---|
worktree.symlinkDirectories | Каталоги для создания символических ссылок из основного репозитория в каждый worktree, чтобы избежать дублирования больших каталогов на диске. По умолчанию никакие каталоги не создаются символическими ссылками | ["node_modules", ".cache"] |
worktree.sparsePaths | Каталоги для проверки в каждом worktree через git sparse-checkout (режим cone). На диск записываются только перечисленные пути, что быстрее в больших монорепозиториях | ["packages/my-app", "shared/utils"] |
Параметры разрешений
| Ключи | Описание | Пример |
|---|---|---|
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 |
Параметры Sandbox
Настройте расширенное поведение sandboxing. Sandboxing изолирует команды bash от вашей файловой системы и сети. См. Sandboxing для деталей.| Ключи | Описание | Пример |
|---|---|---|
enabled | Включить bash sandboxing (macOS, Linux и WSL2). По умолчанию: false | true |
failIfUnavailable | Выход с ошибкой при запуске, если sandbox.enabled равно true, но sandbox не может запуститься (отсутствуют зависимости, неподдерживаемая платформа или ограничения платформы). Когда false (по умолчанию), выводится предупреждение и команды выполняются без sandbox. Предназначено для развертываний управляемых параметров, требующих sandboxing как жесткого шлюза | true |
autoAllowBashIfSandboxed | Автоматически одобрить команды bash при sandboxing. По умолчанию: true | true |
excludedCommands | Команды, которые должны выполняться вне sandbox | ["git", "docker"] |
allowUnsandboxedCommands | Разрешить командам выполняться вне sandbox через параметр dangerouslyDisableSandbox. Когда установлено на false, люк dangerouslyDisableSandbox полностью отключен и все команды должны выполняться в sandbox (или быть в excludedCommands). Полезно для корпоративных политик, требующих строгого sandboxing. По умолчанию: true | false |
filesystem.allowWrite | Дополнительные пути, где команды в sandbox могут писать. Массивы объединяются во всех областях параметров: пути пользователя, проекта и управляемые пути объединяются, не заменяются. Также объединяются с путями из правил разрешения Edit(...). См. префиксы пути sandbox ниже. | ["/tmp/build", "~/.kube"] |
filesystem.denyWrite | Пути, где команды в sandbox не могут писать. Массивы объединяются во всех областях параметров. Также объединяются с путями из правил разрешения Edit(...). | ["/etc", "/usr/local/bin"] |
filesystem.denyRead | Пути, где команды в sandbox не могут читать. Массивы объединяются во всех областях параметров. Также объединяются с путями из правил разрешения Read(...). | ["~/.aws/credentials"] |
filesystem.allowRead | Пути для повторного разрешения чтения в пределах регионов denyRead. Имеет приоритет над denyRead. Массивы объединяются во всех областях параметров. Используйте это для создания шаблонов доступа для чтения только рабочей области. | ["."] |
filesystem.allowManagedReadPathsOnly | (Только управляемые параметры) Только пути allowRead из управляемых параметров учитываются. Записи allowRead из параметров пользователя, проекта и локальной области игнорируются. По умолчанию: false | true |
network.allowUnixSockets | Пути Unix socket, доступные в sandbox (для SSH агентов и т.д.) | ["~/.ssh/agent-socket"] |
network.allowAllUnixSockets | Разрешить все подключения Unix socket в sandbox. По умолчанию: false | true |
network.allowLocalBinding | Разрешить привязку к портам localhost (только macOS). По умолчанию: false | true |
network.allowedDomains | Массив доменов для разрешения исходящего сетевого трафика. Поддерживает подстановочные знаки (например, *.example.com). | ["github.com", "*.npmjs.org"] |
network.allowManagedDomainsOnly | (Только управляемые параметры) Только allowedDomains и правила разрешения WebFetch(domain:...) из управляемых параметров учитываются. Домены из параметров пользователя, проекта и локальной области игнорируются. Неразрешенные домены автоматически блокируются без запроса пользователя. Запрещенные домены по-прежнему учитываются из всех источников. По умолчанию: false | true |
network.httpProxyPort | Порт HTTP прокси, используемый, если вы хотите использовать собственный прокси. Если не указано, Claude запустит собственный прокси. | 8080 |
network.socksProxyPort | Порт SOCKS5 прокси, используемый, если вы хотите использовать собственный прокси. Если не указано, Claude запустит собственный прокси. | 8081 |
enableWeakerNestedSandbox | Включить более слабый sandbox для непривилегированных окружений Docker (только Linux и WSL2). Снижает безопасность. По умолчанию: false | true |
enableWeakerNetworkIsolation | (Только macOS) Разрешить доступ к системной службе доверия TLS (com.apple.trustd.agent) в sandbox. Требуется для инструментов на основе Go, таких как gh, gcloud и terraform, для проверки сертификатов TLS при использовании httpProxyPort с MITM прокси и пользовательским CA. Снижает безопасность путем открытия потенциального пути утечки данных. По умолчанию: false | true |
Префиксы пути Sandbox
Пути вfilesystem.allowWrite, filesystem.denyWrite, filesystem.denyRead и filesystem.allowRead поддерживают эти префиксы:
| Префикс | Значение | Пример |
|---|---|---|
/ | Абсолютный путь от корня файловой системы | /tmp/build остается /tmp/build |
~/ | Относительно домашнего каталога | ~/.kube становится $HOME/.kube |
./ или без префикса | Относительно корня проекта для параметров проекта, или к ~/.claude для параметров пользователя | ./output в .claude/settings.json разрешается в <project-root>/output |
//path для абсолютных путей по-прежнему работает. Если вы ранее использовали одиночный слэш /path, ожидая разрешения относительно проекта, переключитесь на ./path. Этот синтаксис отличается от правил разрешения Read и Edit, которые используют //path для абсолютного и /path для относительного к проекту. Пути файловой системы sandbox используют стандартные соглашения: /tmp/build - это абсолютный путь.
Пример конфигурации:
- Параметры
sandbox.filesystem(показаны выше): Контролируют пути на границе sandbox уровня ОС. Эти ограничения применяются ко всем командам подпроцесса (например,kubectl,terraform,npm), а не только к инструментам файлов Claude. - Правила разрешений: Используйте правила разрешения
Editallow/deny для управления доступом инструмента файлов Claude, правилаReaddeny для блокировки чтения и правилаWebFetchallow/deny для управления доменами сети. Пути из этих правил также объединяются в конфигурацию sandbox.
Параметры атрибуции
Claude Code добавляет атрибуцию к коммитам git и pull requests. Они настраиваются отдельно:- Коммиты используют git trailers (например,
Co-Authored-By) по умолчанию, которые можно настроить или отключить - Описания pull request - это простой текст
| Ключи | Описание |
|---|---|
commit | Атрибуция для коммитов git, включая любые trailers. Пустая строка скрывает атрибуцию коммита |
pr | Атрибуция для описаний pull request. Пустая строка скрывает атрибуцию pull request |
Параметр
attribution имеет приоритет над устаревшим параметром includeCoAuthoredBy. Чтобы скрыть всю атрибуцию, установите commit и pr на пустые строки.Параметры предложения файлов
Настройте пользовательскую команду для автодополнения пути файла@. Встроенное предложение файлов использует быстрый обход файловой системы, но большие монорепозитории могут выиграть от индексирования, специфичного для проекта, такого как предварительно построенный индекс файлов или пользовательские инструменты.
CLAUDE_PROJECT_DIR. Она получает JSON через stdin с полем query:
Конфигурация Hook
Эти параметры контролируют, какие hooks разрешены для запуска и к чему могут получить доступ HTTP hooks. ПараметрallowManagedHooksOnly можно настроить только в управляемых параметрах. Списки разрешений URL и переменных окружения можно установить на любом уровне параметров и объединяются в разных источниках.
Поведение, когда allowManagedHooksOnly равно true:
- Управляемые hooks и SDK hooks загружаются
- Пользовательские hooks, проектные hooks и plugin hooks блокируются
* как подстановочный знак для сопоставления. Когда массив определен, HTTP hooks, направленные на несовпадающие URL-адреса, молча блокируются.
allowedEnvVars каждого hook является пересечением его собственного списка и этого параметра.
Приоритет параметров
Параметры применяются в порядке приоритета. От наивысшего к наименьшему:-
Управляемые параметры (управляемые сервером, политики MDM/OS-уровня или управляемые параметры)
- Политики, развернутые IT через доставку сервера, профили конфигурации MDM, политики реестра или файлы управляемых параметров
- Не могут быть переопределены никаким другим уровнем, включая аргументы командной строки
- В пределах управляемого уровня приоритет: server-managed > политики MDM/OS-уровня > file-based (
managed-settings.d/*.json+managed-settings.json) > реестр HKCU (только Windows). Используется только один управляемый источник; источники не объединяются в разных уровнях. В пределах file-based уровня, drop-in файлы и базовый файл объединяются вместе.
-
Аргументы командной строки
- Временные переопределения для конкретного сеанса
-
Локальные параметры проекта (
.claude/settings.local.json)- Личные параметры, специфичные для проекта
-
Общие параметры проекта (
.claude/settings.json)- Параметры проекта, совместно используемые командой в системе управления версиями
-
Параметры пользователя (
~/.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:
ignorePatterns. Файлы, соответствующие этим шаблонам, исключаются из обнаружения файлов и результатов поиска, и операции чтения этих файлов запрещены.
Конфигурация Subagent
Claude Code поддерживает пользовательские AI subagents, которые можно настроить на уровне пользователя и проекта. Эти subagents хранятся как файлы Markdown с YAML frontmatter:- Subagents пользователя:
~/.claude/agents/- Доступны во всех ваших проектах - Subagents проекта:
.claude/agents/- Специфичны для вашего проекта и могут быть совместно использованы с вашей командой
Конфигурация Plugin
Claude Code поддерживает систему plugins, которая позволяет вам расширить функциональность с помощью skills, agents, hooks и MCP servers. Plugins распространяются через marketplaces и могут быть настроены на уровне пользователя и репозитория.Параметры Plugin
Параметры, связанные с plugins, вsettings.json:
enabledPlugins
Контролирует, какие plugins включены. Формат: "plugin-name@marketplace-name": true/false
Области:
- Параметры пользователя (
~/.claude/settings.json): Личные предпочтения plugins - Параметры проекта (
.claude/settings.json): Plugins, специфичные для проекта, совместно используемые с командой - Локальные параметры (
.claude/settings.local.json): Переопределения для каждой машины (не зафиксированы)
extraKnownMarketplaces
Определяет дополнительные marketplaces, которые должны быть доступны для репозитория. Обычно используется в параметрах уровня репозитория для обеспечения доступа членов команды к требуемым источникам plugins.
Когда репозиторий включает extraKnownMarketplaces:
- Членам команды предлагается установить marketplace при доверии папке
- Членам команды затем предлагается установить plugins из этого marketplace
- Пользователи могут пропустить нежелательные marketplaces или plugins (хранятся в параметрах пользователя)
- Установка соблюдает границы доверия и требует явного согласия
github: Репозиторий GitHub (используетrepo)git: Любой URL git (используетurl)directory: Путь локальной файловой системы (используетpath, только для разработки)hostPattern: Шаблон regex для сопоставления хостов marketplace (используетhostPattern)settings: встроенный marketplace, объявленный непосредственно в settings.json без отдельного размещенного репозитория (используетnameиplugins)
source: 'settings' для объявления небольшого набора plugins встроенным образом без настройки размещенного репозитория marketplace. Plugins, указанные здесь, должны ссылаться на внешние источники, такие как GitHub или npm. Вам по-прежнему нужно включить каждый plugin отдельно в enabledPlugins.
strictKnownMarketplaces
Только управляемые параметры: Контролирует, какие marketplaces plugins пользователи могут добавить. Этот параметр можно настроить только в управляемых параметрах и предоставляет администраторам строгий контроль над источниками marketplace.
Местоположения файлов управляемых параметров:
- 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(по умолчанию): Без ограничений - пользователи могут добавить любой marketplace- Пустой массив
[]: Полная блокировка - пользователи не могут добавить новые marketplaces - Список источников: Пользователи могут добавить только marketplaces, которые точно совпадают
hostPattern использует сопоставление regex с хостом marketplace.
- Репозитории GitHub:
repo (обязательно), ref (опционально: ветка/тег/SHA), path (опционально: подкаталог)
- Репозитории Git:
url (обязательно), ref (опционально: ветка/тег/SHA), path (опционально: подкаталог)
- Marketplaces на основе URL:
url (обязательно), headers (опционально: HTTP заголовки для аутентифицированного доступа)
Marketplaces на основе URL загружают только файл
marketplace.json. Они не загружают файлы plugins с сервера. Plugins в marketplaces на основе URL должны использовать внешние источники (GitHub, npm или URL git) вместо относительных путей. Для plugins с относительными путями используйте marketplace на основе Git. См. Troubleshooting для деталей.- Пакеты NPM:
package (обязательно, поддерживает scoped пакеты)
- Пути файлов:
path (обязательно: абсолютный путь к файлу marketplace.json)
- Пути каталогов:
path (обязательно: абсолютный путь к каталогу, содержащему .claude-plugin/marketplace.json)
- Сопоставление шаблона хоста:
hostPattern (обязательно: шаблон regex для сопоставления с хостом marketplace)
Используйте сопоставление шаблона хоста, когда вы хотите разрешить все marketplaces с определенного хоста без перечисления каждого репозитория отдельно. Это полезно для организаций с внутренними серверами GitHub Enterprise или GitLab, где разработчики создают свои собственные marketplaces.
Извлечение хоста по типу источника:
github: всегда сопоставляется сgithub.comgit: извлекает имя хоста из URL (поддерживает форматы HTTPS и SSH)url: извлекает имя хоста из URLnpm,file,directory: не поддерживается для сопоставления шаблона хоста
github и git), это включает все опциональные поля:
repoилиurlдолжны совпадать точно- Поле
refдолжно совпадать точно (или оба быть не определены) - Поле
pathдолжно совпадать точно (или оба быть не определены)
extraKnownMarketplaces:
| Аспект | strictKnownMarketplaces | extraKnownMarketplaces |
|---|---|---|
| Назначение | Применение организационной политики | Удобство команды |
| Файл параметров | Только managed-settings.json | Любой файл параметров |
| Поведение | Блокирует добавления, не входящие в список разрешений | Автоматически устанавливает отсутствующие marketplaces |
| Когда применяется | До операций сети/файловой системы | После запроса доверия пользователя |
| Может быть переопределено | Нет (наивысший приоритет) | Да (параметрами с более высоким приоритетом) |
| Формат источника | Прямой объект источника | Именованный marketplace с вложенным источником |
| Случай использования | Соответствие, ограничения безопасности | Адаптация, стандартизация |
strictKnownMarketplaces использует прямые объекты источников:
extraKnownMarketplaces требует именованные marketplaces:
strictKnownMarketplaces - это политический шлюз: он контролирует, что пользователи могут добавить, но не регистрирует никакие marketplaces. Чтобы одновременно ограничить и предварительно зарегистрировать marketplace для всех пользователей, установите оба в managed-settings.json:
strictKnownMarketplaces, пользователи по-прежнему могут добавить разрешенный marketplace вручную через /plugin marketplace add, но он не доступен автоматически.
Важные примечания:
- Ограничения проверяются ДО любых запросов сети или операций файловой системы
- При блокировке пользователи видят четкие сообщения об ошибках, указывающие, что источник заблокирован управляемой политикой
- Ограничение применяется только к добавлению НОВЫХ marketplaces; ранее установленные marketplaces остаются доступными
- Управляемые параметры имеют наивысший приоритет и не могут быть переопределены
Управление Plugins
Используйте команду/plugin для интерактивного управления plugins:
- Просмотрите доступные plugins из marketplaces
- Установите/удалите plugins
- Включите/отключите plugins
- Просмотрите детали plugins (команды, agents, hooks, предоставляемые)
- Добавьте/удалите marketplaces
Переменные окружения
Переменные окружения позволяют вам управлять поведением Claude Code без редактирования файлов параметров. Любая переменная также может быть настроена вsettings.json под ключом env для применения к каждому сеансу или развертывания для вашей команды.
См. справочник переменных окружения для полного списка.
Инструменты, доступные Claude
Claude Code имеет доступ к набору инструментов для чтения, редактирования, поиска, запуска команд и организации subagents. Имена инструментов - это точные строки, которые вы используете в правилах разрешений и сопоставителях hooks. См. справочник инструментов для полного списка и деталей поведения инструмента Bash.См. также
- Permissions: система разрешений, синтаксис правил, шаблоны, специфичные для инструментов, и управляемые политики
- Authentication: настройка доступа пользователей к Claude Code
- Troubleshooting: решения для распространенных проблем конфигурации