/model.
На этой странице рассматривается, как:
- Установить переменные окружения в вашей оболочке или в файле параметров
- Проверить, какое значение применяется, когда поведение можно установить несколькими способами
- Найти переменные, которые читает Claude Code
- Посмотреть, какие функции перестают работать, когда переменная отключает получение флагов функций
Установка переменных окружения
Переменная, установленная в вашей оболочке, действует только в течение этой сессии терминала, а переменная в файле настроек применяется каждый раз при запускеclaude.
Установка переменных в вашей оболочке
Установите переменную перед запускомclaude:
- macOS, Linux, WSL
- Windows PowerShell
- Windows CMD
export в ~/.bashrc, ~/.zshrc или файл профиля вашей оболочки.- macOS, Linux, WSL
- Windows PowerShell
- Windows CMD
Установка переменных в файлах настроек
Добавьте переменные под ключомenv в файл settings.json, создав файл, если его ещё нет. Claude Code читает их непосредственно из файла, поэтому они вступают в силу независимо от того, как был запущен claude. Работающая сессия применяет новые и изменённые значения к своему окружению при сохранении файла, но функция, которая читает свои переменные один раз при запуске, такая как мониторинг OpenTelemetry, сохраняет свои значения при запуске до перезапуска. Удаление переменной из файла не отменяет её в работающей сессии; удаление вступает в силу при следующем запуске claude.
~/.claude/settings.json
~ или $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_TRAFFICDISABLE_TELEMETRYDISABLE_ERROR_REPORTINGCLAUDE_CODE_TMUX_TRUECOLORFALLBACK_FOR_ALL_PRIMARY_MODELSIS_DEMO
FORCE_HYPERLINK читает число, поэтому отключает её только 0. В строке каждой переменной также указано её собственное правило.