Переменные окружения Claude Code — полный справочник
50+ переменных окружения Claude Code с описанием и примерами. Группировка по задачам: модели, безопасность, прокси, мониторинг, MCP.
TL;DR: Claude Code поддерживает 50+ переменных окружения для настройки: модели, провайдеры (Bedrock, Vertex, Foundry), прокси, sandbox, MCP, мониторинг. Их можно задавать в терминале, через settings.json или в CI/CD-пайплайнах.У Claude Code длинный список переменных окружения, и часть из них реально полезна, а часть — для специфических enterprise-сценариев. Я прошёл по документации и разгруппировал их по задачам, чтобы было проще искать нужное.
Все переменные можно также прописать в settings.json в секции env — тогда не нужно выставлять их в терминале каждый раз.
Аутентификация и API
| Переменная | Зачем |
|---|---|
ANTHROPIC_API_KEY |
API-ключ Anthropic. Для интерактивного использования лучше /login |
ANTHROPIC_AUTH_TOKEN |
Кастомный токен для заголовка Authorization (автоматически добавляет Bearer) |
ANTHROPIC_CUSTOM_HEADERS |
Дополнительные HTTP-заголовки для запросов. Формат: Name: Value, разделитель — перенос строки |
ANTHROPIC_API_KEY — основной способ аутентификации для скриптов и CI/CD. Для ежедневной работы проще залогиниться через /login — ключ сохранится в ~/.claude.json.
Выбор модели
| Переменная | Зачем |
|---|---|
ANTHROPIC_MODEL |
Основная модель. Перебивает дефолт |
CLAUDE_CODE_SUBAGENT_MODEL |
Модель для субагентов (Task-инструмент) |
ANTHROPIC_DEFAULT_OPUS_MODEL |
Кастомное имя для Opus (например, кастомная модель через Bedrock) |
ANTHROPIC_DEFAULT_SONNET_MODEL |
Кастомное имя для Sonnet |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
Кастомное имя для Haiku |
ANTHROPIC_MODEL полезен, когда нужно зафиксировать конкретную версию модели для воспроизводимости. Если не задавать — Claude Code использует последнюю доступную.
Облачные провайдеры
Amazon Bedrock
| Переменная | Зачем |
|---|---|
CLAUDE_CODE_USE_BEDROCK |
Включить Bedrock как провайдер |
CLAUDE_CODE_SKIP_BEDROCK_AUTH |
Пропустить аутентификацию AWS (для LLM-gateway) |
AWS_BEARER_TOKEN_BEDROCK |
API-ключ Bedrock |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION |
Регион AWS для Haiku-модели |
Google Vertex AI
| Переменная | Зачем |
|---|---|
CLAUDE_CODE_USE_VERTEX |
Включить Vertex AI как провайдер |
CLAUDE_CODE_SKIP_VERTEX_AUTH |
Пропустить аутентификацию Google |
VERTEX_REGION_CLAUDE_4_0_OPUS |
Регион для Opus на Vertex |
VERTEX_REGION_CLAUDE_4_0_SONNET |
Регион для Sonnet на Vertex |
Microsoft Azure Foundry
| Переменная | Зачем |
|---|---|
CLAUDE_CODE_USE_FOUNDRY |
Включить Foundry как провайдер |
ANTHROPIC_FOUNDRY_API_KEY |
API-ключ Foundry |
ANTHROPIC_FOUNDRY_BASE_URL |
URL ресурса Foundry |
ANTHROPIC_FOUNDRY_RESOURCE |
Имя ресурса (альтернатива BASE_URL) |
CLAUDE_CODE_SKIP_FOUNDRY_AUTH |
Пропустить аутентификацию Azure |
Если ты используешь Claude Code через корпоративный облачный провайдер — тебе нужна одна из этих групп. Для прямого подключения к Anthropic API ничего из этого не нужно.
Поведение bash
| Переменная | Зачем |
|---|---|
BASH_DEFAULT_TIMEOUT_MS |
Таймаут по умолчанию для bash-команд |
BASH_MAX_TIMEOUT_MS |
Максимальный таймаут, который может выставить модель |
BASH_MAX_OUTPUT_LENGTH |
Максимальная длина вывода команды (после этого обрезается) |
CLAUDE_CODE_SHELL |
Принудительно задать шелл (если login shell отличается от рабочего) |
CLAUDE_CODE_SHELL_PREFIX |
Команда-обёртка для всех bash-команд (логирование, аудит) |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR |
Возвращаться в корень проекта после каждой команды |
BASH_DEFAULT_TIMEOUT_MS — полезный. По умолчанию Claude Code убивает долгие команды. Если у тебя медленные тесты или сборка, увеличь таймаут.
CLAUDE_CODE_SHELL пригодится, если login shell у тебя bash, а работаешь ты в zsh. Claude Code определяет шелл автоматически, но иногда ошибается.
Контекст и токены
| Переменная | Зачем |
|---|---|
CLAUDE_CODE_MAX_OUTPUT_TOKENS |
Максимум токенов на ответ (дефолт: 32K, макс: 64K) |
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS |
Лимит токенов при чтении файлов |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE |
Порог авто-компактизации контекста (дефолт: ~95%) |
MAX_THINKING_TOKENS |
Бюджет токенов на «размышления». 0 — отключить |
CLAUDE_CODE_EFFORT_LEVEL |
Уровень усилий: low, medium, high |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE — если поставить 50, контекст будет компактизироваться раньше. Полезно для долгих сессий, когда не хочешь терять контекст.
CLAUDE_CODE_EFFORT_LEVEL работает только с Opus 4.6. low — быстрые ответы для простых задач, high — глубокий анализ. По умолчанию high.
MCP
| Переменная | Зачем |
|---|---|
MCP_TIMEOUT |
Таймаут старта MCP-сервера (мс) |
MCP_TOOL_TIMEOUT |
Таймаут выполнения MCP-инструмента (мс) |
MAX_MCP_OUTPUT_TOKENS |
Максимум токенов в ответе MCP (дефолт: 25K) |
ENABLE_TOOL_SEARCH |
Поиск по MCP-инструментам: auto, true, false |
Если у тебя MCP-сервер медленно стартует, увеличь MCP_TIMEOUT. По умолчанию он довольно жёсткий.
Сеть и прокси
| Переменная | Зачем |
|---|---|
HTTP_PROXY |
HTTP-прокси |
HTTPS_PROXY |
HTTPS-прокси |
NO_PROXY |
Домены, которые идут в обход прокси |
CLAUDE_CODE_PROXY_RESOLVES_HOSTS |
Прокси делает DNS-резолв (вместо клиента) |
CLAUDE_CODE_CLIENT_CERT |
Клиентский сертификат для mTLS |
CLAUDE_CODE_CLIENT_KEY |
Приватный ключ для mTLS |
Для корпоративных сетей с прокси — эти переменные обязательны. Без них Claude Code не сможет подключиться к API.
Отключение фич
| Переменная | Зачем |
|---|---|
DISABLE_TELEMETRY |
Отключить телеметрию Statsig |
DISABLE_ERROR_REPORTING |
Отключить отправку ошибок в Sentry |
DISABLE_AUTOUPDATER |
Отключить автообновления |
DISABLE_COST_WARNINGS |
Отключить предупреждения о стоимости |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC |
Отключить всё вышеперечисленное одной переменной |
CLAUDE_CODE_DISABLE_AUTO_MEMORY |
Отключить автоматическое запоминание |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC — мой фаворит для закрытых окружений. Одна переменная вместо четырёх.
Часто задаваемые вопросы
Где лучше задавать переменные — в терминале или settings.json? Для постоянных настроек — в settings.json (секция env). Для временных или одноразовых — в терминале перед запуском. Для CI/CD — через системные переменные окружения.
Переменные окружения сохраняются между bash-командами Claude? Нет. Каждая bash-команда запускается в чистом шелле. Если нужна персистентность — используй CLAUDE_ENV_FILE через SessionStart hook.
Что приоритетнее — переменная в терминале или в settings.json? Переменная окружения, заданная в терминале перед запуском Claude Code, перекрывает значение из settings.json.
Что ещё почитать
- Настройка Claude Code — полный гайд по settings.json — общий обзор настроек
- Разрешения в Claude Code — allow, deny и sandbox — настройка безопасности
- MCP серверы для Claude — что это и как настроить — расширение через MCP
- Claude Code Hooks — автоматизация — персистентное окружение через hooks