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

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

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

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

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

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

Область Managed предназначена для:
  • Политик безопасности, которые должны быть применены организации в целом
  • Требований соответствия, которые нельзя переопределить
  • Стандартизированных конфигураций, развернутых IT/DevOps
Область User лучше всего подходит для:
  • Личных предпочтений, которые вы хотите везде (темы, параметры редактора)
  • Инструментов и плагинов, которые вы используете во всех проектах
  • API ключей и аутентификации (хранятся безопасно)
Область Project лучше всего подходит для:
  • Параметров, совместно используемых командой (разрешения, hooks, MCP servers)
  • Плагинов, которые должна иметь вся команда
  • Стандартизации инструментов между сотрудниками
Область 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 поддерживает файлы managed-settings.json и managed-mcp.json, которые можно развернуть в системные каталоги:
    • macOS: /Library/Application Support/ClaudeCode/
    • Linux и WSL: /etc/claude-code/
    • Windows: C:\Program Files\ClaudeCode\
    Это системные пути (не пользовательские домашние каталоги, такие как ~/Library/...), которые требуют прав администратора. Они предназначены для развертывания администраторами IT.
    См. Управляемые параметры и Управляемая конфигурация MCP для получения подробной информации.
    Управляемые развертывания также могут ограничивать добавления на рынке плагинов с помощью 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 и запросов на слияние. См. Параметры атрибуции{"commit": "🤖 Generated with Claude Code", "pr": ""}
includeCoAuthoredByУстарело: Используйте attribution вместо этого. Включать ли строку co-authored-by Claude в коммиты git и запросы на слияние (по умолчанию: true)false
permissionsСм. таблицу ниже для структуры разрешений.
hooksНастройте пользовательские команды для запуска при событиях жизненного цикла. См. документацию hooks для форматаСм. hooks
disableAllHooksОтключить все hookstrue
allowManagedHooksOnly(Только управляемые параметры) Предотвратить загрузку пользовательских, проектных и плагинных hooks. Разрешены только управляемые hooks и SDK hooks. См. Конфигурация Hooktrue
allowManagedPermissionRulesOnly(Только управляемые параметры) Предотвратить определение правил разрешений allow, ask или deny в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. См. Параметры только для управляемыхtrue
modelПереопределить модель по умолчанию для использования в Claude Code"claude-sonnet-4-5-20250929"
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, список разрешенных рынков плагинов, которые пользователи могут добавлять. Не определено = без ограничений, пустой массив = блокировка. Применяется только к добавлениям на рынок. См. Управляемые ограничения рынка[{ "source": "github", "repo": "acme-corp/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
terminalProgressBarEnabledВключить полосу прогресса терминала, которая показывает прогресс в поддерживаемых терминалах, таких как Windows Terminal и iTerm2 (по умолчанию: true)false
prefersReducedMotionУменьшить или отключить анимацию пользовательского интерфейса (спиннеры, shimmer, эффекты вспышки) для доступности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). Правила оцениваются по порядку: сначала правила отказа, затем запроса, затем разрешения. Первое совпадающее правило побеждает. Быстрые примеры:
ПравилоЭффект
BashСоответствует всем командам Bash
Bash(npm run *)Соответствует командам, начинающимся с npm run
Read(./.env)Соответствует чтению файла .env
WebFetch(domain:example.com)Соответствует запросам fetch к example.com
Для полного справочника синтаксиса правил, включая поведение подстановочных знаков, инструмент-специфичные шаблоны для Read, Edit, WebFetch, MCP и Task правил, а также ограничения безопасности шаблонов Bash, см. Синтаксис правила разрешения.

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

Настройте расширенное поведение песочницы. Песочница изолирует команды bash от вашей файловой системы и сети. См. Песочница для получения подробной информации. Ограничения файловой системы и сети настраиваются через правила разрешений Read, Edit и WebFetch, а не через эти параметры песочницы.
КлючиОписаниеПример
enabledВключить песочницу bash (macOS, Linux и WSL2). По умолчанию: falsetrue
autoAllowBashIfSandboxedАвтоматически одобрить команды bash при использовании песочницы. По умолчанию: truetrue
excludedCommandsКоманды, которые должны выполняться вне песочницы["git", "docker"]
allowUnsandboxedCommandsРазрешить командам выполняться вне песочницы через параметр dangerouslyDisableSandbox. Когда установлено на false, люк dangerouslyDisableSandbox полностью отключен и все команды должны выполняться в песочнице (или быть в excludedCommands). Полезно для корпоративных политик, требующих строгой изоляции. По умолчанию: truefalse
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.httpProxyPortПорт HTTP прокси, используемый, если вы хотите использовать свой собственный прокси. Если не указано, Claude запустит свой собственный прокси.8080
network.socksProxyPortПорт SOCKS5 прокси, используемый, если вы хотите использовать свой собственный прокси. Если не указано, Claude запустит свой собственный прокси.8081
enableWeakerNestedSandboxВключить более слабую песочницу для непривилегированных окружений Docker (только Linux и WSL2). Снижает безопасность. По умолчанию: falsetrue
Пример конфигурации:
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["docker"],
    "network": {
      "allowedDomains": ["github.com", "*.npmjs.org", "registry.yarnpkg.com"],
      "allowUnixSockets": [
        "/var/run/docker.sock"
      ],
      "allowLocalBinding": true
    }
  },
  "permissions": {
    "deny": [
      "Read(.envrc)",
      "Read(~/.aws/**)"
    ]
  }
}
Ограничения файловой системы и сети используют стандартные правила разрешений:
  • Используйте правила отказа Read для блокировки Claude от чтения конкретных файлов или каталогов
  • Используйте правила разрешения Edit для разрешения Claude писать в каталоги за пределами текущего рабочего каталога
  • Используйте правила отказа Edit для блокировки записей в конкретные пути
  • Используйте правила разрешения/отказа WebFetch для управления тем, какие сетевые домены может получить Claude

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

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

   Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Атрибуция запроса на слияние по умолчанию:
🤖 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 разрешены для запуска. Этот параметр можно настроить только в управляемых параметрах и предоставляет администраторам строгий контроль над выполнением hooks. Поведение, когда allowManagedHooksOnly имеет значение true:
  • Управляемые hooks и SDK hooks загружаются
  • Пользовательские hooks, проектные hooks и плагинные hooks блокируются
Конфигурация:
{
  "allowManagedHooksOnly": true
}

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

Параметры применяются в порядке приоритета. От наивысшего к наименьшему:
  1. Управляемые параметры (managed-settings.json)
    • Политики, развернутые IT/DevOps в системные каталоги
    • Не могут быть переопределены параметрами пользователя или проекта
  2. Аргументы командной строки
    • Временные переопределения для конкретного сеанса
  3. Параметры локального проекта (.claude/settings.local.json)
    • Личные параметры, специфичные для проекта
  4. Параметры совместного проекта (.claude/settings.json)
    • Параметры проекта, совместно используемые командой в системе управления версиями
  5. Параметры пользователя (~/.claude/settings.json)
    • Личные глобальные параметры
Эта иерархия гарантирует, что организационные политики всегда применяются, при этом позволяя командам и отдельным лицам настраивать свой опыт. Например, если ваши параметры пользователя разрешают Bash(npm run *), но параметры совместного проекта это запрещают, параметр проекта имеет приоритет и команда блокируется.

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

  • Файлы памяти (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 с YAML frontmatter:
  • Subagents пользователя: ~/.claude/agents/ - Доступны во всех ваших проектах
  • Subagents проекта: .claude/agents/ - Специфичны для вашего проекта и могут быть совместно использованы с вашей командой
Файлы Subagent определяют специализированных AI помощников с пользовательскими приглашениями и разрешениями инструментов. Узнайте больше о создании и использовании subagents в документации subagents.

Конфигурация плагинов

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

Параметры плагинов

Параметры, связанные с плагинами, в 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

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

extraKnownMarketplaces

Определяет дополнительные рынки, которые должны быть доступны для репозитория. Обычно используется в параметрах уровня репозитория для обеспечения того, чтобы члены команды имели доступ к требуемым источникам плагинов. Когда репозиторий включает extraKnownMarketplaces:
  1. Членам команды предлагается установить рынок, когда они доверяют папке
  2. Затем членам команды предлагается установить плагины с этого рынка
  3. Пользователи могут пропустить нежелательные рынки или плагины (хранятся в параметрах пользователя)
  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

Только управляемые параметры: Управляет тем, какие рынки плагинов пользователи могут добавлять. Этот параметр можно настроить только в managed-settings.json и предоставляет администраторам строгий контроль над источниками рынка. Местоположения файлов управляемых параметров:
  • 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. Они не загружают файлы плагинов с сервера. Плагины в рынках на основе URL должны использовать внешние источники (GitHub, npm или URL git) вместо относительных путей. Для плагинов с относительными путями используйте рынок на основе 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" }
    }
  }
}
Важные примечания:
  • Ограничения проверяются ДО любых сетевых запросов или операций файловой системы
  • При блокировке пользователи видят четкие сообщения об ошибках, указывающие, что источник заблокирован управляемой политикой
  • Ограничение применяется только к добавлению НОВЫХ рынков; ранее установленные рынки остаются доступными
  • Управляемые параметры имеют наивысший приоритет и не могут быть переопределены
См. Управляемые ограничения рынка для документации, ориентированной на пользователя.

Управление плагинами

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

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

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 keys)
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_ADDITIONAL_DIRECTORIES_CLAUDE_MDУстановите на 1 для загрузки файлов CLAUDE.md из каталогов, указанных с помощью --add-dir. По умолчанию дополнительные каталоги не загружают файлы памяти1
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSУстановите на 1 для включения команд агентов. Команды агентов являются экспериментальными и отключены по умолчанию
CLAUDE_CODE_API_KEY_HELPER_TTL_MSИнтервал в миллисекундах, при котором должны быть обновлены учетные данные (при использовании apiKeyHelper)
CLAUDE_CODE_CLIENT_CERTПуть к файлу сертификата клиента для аутентификации mTLS
CLAUDE_CODE_CLIENT_KEY_PASSPHRASEПарольная фраза для зашифрованного CLAUDE_CODE_CLIENT_KEY (опционально)
CLAUDE_CODE_CLIENT_KEYПуть к файлу приватного ключа клиента для аутентификации mTLS
CLAUDE_CODE_EFFORT_LEVELУстановите уровень усилий для поддерживаемых моделей. Значения: low, medium, high (по умолчанию). Более низкие усилия быстрее и дешевле, более высокие усилия обеспечивают более глубокое рассуждение. В настоящее время поддерживается только Opus 4.6. См. Регулировка уровня усилий
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASУстановите на 1 для отключения заголовков anthropic-beta, специфичных для API Anthropic. Используйте это, если вы испытываете проблемы, такие как “Unexpected value(s) for the anthropic-beta header” при использовании шлюза LLM с поставщиками третьих сторон
CLAUDE_CODE_DISABLE_BACKGROUND_TASKSУстановите на 1 для отключения всей функциональности фоновых задач, включая параметр run_in_background на Bash и инструментах subagent, автоматическое фоновое выполнение и сочетание клавиш Ctrl+B
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEYУстановите на 1 для отключения опросов качества сеанса “How is Claude doing?”. Также отключено при использовании поставщиков третьих сторон или при отключении телеметрии. См. Опросы качества сеанса
CLAUDE_CODE_EXIT_AFTER_STOP_DELAYВремя в миллисекундах для ожидания после того, как цикл запроса становится неактивным, перед автоматическим выходом. Полезно для автоматизированных рабочих процессов и скриптов, использующих режим SDK
CLAUDE_CODE_PROXY_RESOLVES_HOSTSУстановите на true для разрешения прокси выполнять разрешение DNS вместо вызывающей стороны. Согласитесь для окружений, где прокси должен обрабатывать разрешение имен хостов
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_DISABLE_NONESSENTIAL_TRAFFICЭквивалент установки DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING и DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_TERMINAL_TITLEУстановите на 1 для отключения автоматических обновлений заголовка терминала на основе контекста разговора
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_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_OTEL_HEADERS_HELPER_DEBOUNCE_MSИнтервал для обновления динамических заголовков OpenTelemetry в миллисекундах (по умолчанию: 1740000 / 29 минут). См. Динамические заголовки
CLAUDE_CODE_PLAN_MODE_REQUIREDАвтоматически установлено на true на членах команды агентов, которые требуют одобрения плана. Только для чтения: установлено Claude Code при создании товарищей. См. требовать одобрение плана
CLAUDE_CODE_SHELLПереопределить автоматическое обнаружение оболочки. Полезно, когда ваша оболочка входа отличается от вашей предпочитаемой рабочей оболочки (например, bash против zsh)
CLAUDE_CODE_SHELL_PREFIXПрефикс команды для обертывания всех команд bash (например, для логирования или аудита). Пример: /path/to/logger.sh будет выполнять /path/to/logger.sh <command>
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_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_TOOL_SEARCHУправляет поиском инструментов MCP. Значения: auto (по умолчанию, включает при 10% контекста), auto:N (пользовательский порог, например, auto:5 для 5%), true (всегда включено), false (отключено)
FORCE_AUTOUPDATE_PLUGINSУстановите на true для принудительного автоматического обновления плагинов даже при отключении основного автоматического обновления через 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 (по умолчанию: 15000). Устаревшее имя сохранено для обратной совместимости.
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Предлагает пользователю выйти из режима плана и начать кодированиеДа
GlobНаходит файлы на основе сопоставления шаблоновНет
GrepИщет шаблоны в содержимом файловНет
KillShellУбивает работающую фоновую оболочку bash по ее IDНет
MCPSearchИщет и загружает инструменты MCP, когда поиск инструментов включенНет
NotebookEditИзменяет ячейки Jupyter notebookДа
ReadЧитает содержимое файловНет
SkillВыполняет skill в основном разговореДа
TaskЗапускает sub-agent для обработки сложных многошаговых задачНет
TaskCreateСоздает новую задачу в списке задачНет
TaskGetПолучает полные детали для конкретной задачиНет
TaskListПеречисляет все задачи с их текущим статусомНет
TaskUpdateОбновляет статус задачи, зависимости, детали или удаляет задачиНет
WebFetchПолучает содержимое с указанного URLДа
WebSearchВыполняет веб-поиск с фильтрацией доменаДа
WriteСоздает или перезаписывает файлыДа
LSPИнтеллект кода через языковые серверы. Автоматически сообщает об ошибках типов и предупреждениях после редактирования файлов. Также поддерживает операции навигации: переход к определениям, поиск ссылок, получение информации о типе, список символов, поиск реализаций, трассировка иерархий вызовов. Требует плагин интеллекта кода и его двоичный файл языкового сервераНет
Правила разрешений можно настроить с помощью /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. Это идеально для конфигураций проектов, совместно используемых командой. См. SessionStart hooks для получения дополнительной информации о варианте 3.

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

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

См. также

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