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

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

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

Установка переменных в вашей оболочке

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

Установка переменных в файлах настроек

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

Приоритет

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

Переменные

Числовые переменные, такие как таймауты, бюджеты токенов и количество повторных попыток, помимо обычных цифр принимают экспоненциальную запись и запись с разделителями разрядов, кроме случаев, когда в строке переменной указано, что она принимает только обычные цифры. Например, Claude Code читает 2e3 как 2000, а 64_000 как 64000. До v2.1.211 такая запись могла незаметно установить гораздо меньшее значение, например 1e6 устанавливало таймаут равным 1.
Для переменных, которые включают или отключают поведение, установите 1, true, yes или on, чтобы включить его, и 0, false, no или off, чтобы отключить, в любом регистре.Некоторые переменные проверяют только то, заданы ли они вообще, поэтому любое непустое значение, включая 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. В строке каждой переменной также указано её собственное правило.