Skip to main content
Переменные окружения могут управлять поведением Claude Code, такие как выбор модели, аутентификация, маршрутизация запросов и переключатели функций. Многие из этих же поведений также можно настроить через поле файла параметров, флаг CLI или команду в сеансе, такую как /model. На этой странице рассматривается, как:

Установка переменных окружения

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

В вашей оболочке

Установите переменную перед запуском claude:
Чтобы установить её для каждого сеанса, добавьте строку export в ~/.bashrc, ~/.zshrc или файл профиля вашей оболочки.
Строка присваивания ничего не выводит при успехе, поэтому подтвердите, что переменная установлена, выведя её в той же оболочке перед запуском claude:

В файлах параметров

Добавьте переменные под ключом env в файл settings.json, создав файл, если его ещё нет. Claude Code читает их непосредственно из файла, поэтому они вступают в силу независимо от того, как был запущен claude. Работающий сеанс применяет новые и изменённые значения к своему окружению при сохранении файла, но функция, которая читает свои переменные один раз при запуске, такая как мониторинг OpenTelemetry, сохраняет свои значения при запуске до перезапуска. Удаление переменной из файла не отменяет её в работающем сеансе; удаление вступает в силу при следующем запуске claude.
~/.claude/settings.json
Выбранный вами файл определяет, к кому применяются переменные: См. Файлы параметров для информации о том, где находится каждый файл, и Приоритет параметров для информации о том, как они объединяются, когда более одного устанавливает одну и ту же переменную.

Приоритет

Некоторые поведения имеют как переменную окружения, так и выделенный ключ параметров, и то, какой из них Claude Code читает первым, отличается для каждого ключа. Для ANTHROPIC_MODEL и CLAUDE_CODE_AUTO_CONNECT_IDE Claude Code сначала читает переменную и использует параметр model или autoConnectIde только когда переменная не установлена. Для пары, которую вы устанавливаете, проверьте строку переменной ниже и запись ключа в справочнике параметров. Когда одна и та же переменная установлена как в вашей оболочке, так и в блоке env файла параметров, применяется значение из файла параметров. Claude Code записывает каждую запись env в переменные окружения процесса, заменяя значение, унаследованное из оболочки. Параметр env указывает, когда он их применяет. Несколько переменных имеют специальную обработку; параметр env перечисляет исключения. В файле параметров вы можете установить переменную, но не можете удалить её. Чтобы переопределить переменную, которую вы не можете отменить, например устаревшую CLAUDE_CODE_USE_VERTEX, экспортированную профилем оболочки, который вы не контролируете, установите её на пустую строку в блоке env: "CLAUDE_CODE_USE_VERTEX": "". Claude Code рассматривает пустое значение как неустановленное для выбора поставщика. Подпроцессы по-прежнему наследуют пустое значение. Между файлами параметров значения env следуют приоритету параметров, поэтому управляемая запись параметров переопределяет ту же переменную в пользовательских или проектных параметрах. То, как переменная окружения взаимодействует с флагами CLI и командами в сеансе, варьируется в зависимости от функции: --model и /model переопределяют ANTHROPIC_MODEL, в то время как CLAUDE_CODE_EFFORT_LEVEL переопределяет --effort и /effort. Когда переменная взаимодействует с другим источником конфигурации, её строка в списке Переменные указывает приоритет или ссылается на страницу, которая это документирует. Claude Code читает переменные окружения оболочки при запуске, поэтому изменения в них вступают в силу при следующем запуске claude. Переменные, установленные под ключом env в файлах параметров, переприменяются к работающему сеансу при изменении файла, за исключением только при запуске, описанном в В файлах параметров.

Переменные

Числовые переменные, такие как таймауты, бюджеты токенов и количество повторов, принимают научную нотацию и написание с разделителями цифр в дополнение к простым цифрам, за исключением случаев, когда в строке переменной указано, что она принимает только простые цифры. Например, Claude Code читает 2e3 как 2000 и 64_000 как 64000. До версии 2.1.211 эти написания могли молча устанавливать гораздо меньшее значение, например 1e6 устанавливал таймаут на 1.
Для переменных, которые включают или отключают поведение, установите 1 или true для включения и 0 или false для отключения, в любом регистре.Некоторые переменные читают только то, установлены ли они вообще, поэтому любое непустое значение, включая 0, включает поведение, а отключить поведение можно, отменив установку переменной или установив её на пустое значение. Эти переменные работают таким образом:
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
  • DISABLE_TELEMETRY
  • DISABLE_ERROR_REPORTING
  • CLAUDE_CODE_TMUX_TRUECOLOR
  • FALLBACK_FOR_ALL_PRIMARY_MODELS
  • IS_DEMO
Одна другая переменная имеет свое собственное правило: FORCE_HYPERLINK читает число, поэтому только 0 отключает его. Каждая строка переменной также указывает свое собственное правило.
Также поддерживаются стандартные переменные экспортера OpenTelemetry (OTEL_METRICS_EXPORTER, OTEL_LOGS_EXPORTER, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, OTEL_METRIC_EXPORT_INTERVAL, OTEL_RESOURCE_ATTRIBUTES и варианты, специфичные для сигнала). См. Мониторинг для деталей конфигурации.

Функции, требующие получения флагов функций

Claude Code включает некоторые функции через флаги функций, которые он получает от Anthropic. Claude Code пропускает это получение в следующих сеансах:
  • Сеанс, в котором вы установили DISABLE_GROWTHBOOK, DISABLE_TELEMETRY, DO_NOT_TRACK или CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC; строка каждой переменной в таблице переменных указывает, какие значения отключают получение
  • Сеанс на поставщике третьей стороны, таком как Amazon Bedrock, Claude Platform на AWS, Agent Platform Google Cloud или Microsoft Foundry, если только платформа-хост, встраивающая Claude Code, не установит CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST
  • Сеанс шлюза приложений Claude
Когда получение отключено, вы не можете:

Первый сеанс после установки или обновления

В вашем первом сеансе после установки Claude Code или обновления до версии, которая добавляет функцию, функция с флагом может отсутствовать, и сеанс может запуститься в режиме Manual на плане, который в противном случае запускается в режиме auto. Claude Code получает флаги во время этого сеанса, поэтому оба они присутствуют в вашем следующем сеансе. После свежей установки в неинтерактивном сеансе, таком как claude -p, Agent SDK или расширение VS Code, Claude Code всё ещё может получить флаги перед тем, как он выбирает режим разрешений при запуске.

См. также