Инструкция по установке и настройке Claude Code в окружении, где доступ в интернет осуществляется через прокси-сервер с аутентификацией по имени пользователя и паролю (Basic auth).
Процесс состоит из двух этапов:
curl (или PowerShell) для скачивания установщика.Задать переменные окружения с учётными данными и запустить установку в той же сессии терминала:
export HTTPS_PROXY=http://username:password@proxy.example.com:8080 export HTTP_PROXY=http://username:password@proxy.example.com:8080 curl -fsSL https://claude.ai/install.sh | bash
Альтернатива — указать прокси только для curl, не трогая окружение:
curl -x http://username:password@proxy.example.com:8080 -fsSL https://claude.ai/install.sh | bash
$env:HTTPS_PROXY="http://username:password@proxy.example.com:8080" $env:HTTP_PROXY="http://username:password@proxy.example.com:8080" irm https://claude.ai/install.ps1 | iex
Если пароль содержит спецсимволы, их необходимо закодировать, иначе строка прокси распарсится неверно:
| Символ | Кодировка |
|---|---|
@ | %40 |
: | %3A |
# | %23 |
% | %25 |
/ | %2F |
Пример: пароль p@ss:word → p%40ss%3Aword
Claude Code уважает стандартные переменные окружения HTTPS_PROXY и HTTP_PROXY. Формат с Basic-аутентификацией поддерживается официально:
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
Чтобы не задавать переменные в каждой сессии:
export в ~/.bashrc или ~/.zshrc$env:… в профиль PowerShell ($PROFILE) или задать через системные переменные окруженияsettings.json Claude Code (см. раздел ниже)
При необходимости исключить отдельные хосты из проксирования используется NO_PROXY (список через пробел или запятую):
export NO_PROXY="localhost 127.0.0.1 internal.example.com"
Все сетевые переменные окружения можно задать в блоке env файла настроек — Claude Code применит их к каждой своей сессии автоматически, независимо от ОС и шелла:
{ "env": { "HTTPS_PROXY": "http://username:password@proxy.example.com:8080", "HTTP_PROXY": "http://username:password@proxy.example.com:8080", "NO_PROXY": "localhost,127.0.0.1,internal.example.com" } }
Если файл уже существует, блок env добавляется к имеющемуся содержимому, а не заменяет его.
localhost и 127.0.0.1. - Claude Code нередко обращается к сервисам на вашей же машине: локальные MCP-серверы, dev-сервер вашего приложения (когда вы просите проверить http://localhost:3000), локальные базы данных, релеи вроде CNTLM. Если такой запрос уйдёт на корпоративный прокси, тот либо не сможет его смаршрутизировать (для прокси «localhost» — это он сам, а не ваша машина), либо просто отклонит. Получите загадочные ошибки соединения там, где всё должно работать.
internal.example.com — это плейсхолдер для внутренних ресурсов вашей сети: корпоративный GitLab, внутренний npm-registry, API во внутреннем контуре. Во многих корпоративных сетях прокси смотрит только «наружу» в интернет и не умеет (или ему запрещено) проксировать трафик внутрь сети. Такие хосты доступны напрямую — их и вносят в исключения.
Пара практических деталей. Если у вас нет локальных MCP-серверов и внутренних ресурсов, а Claude Code ходит только в интернет — NO_PROXY можно вообще не задавать, вреда от его отсутствия в таком сценарии нет. И наоборот: если вы используете локальный релей типа CNTLM (наш сценарий с NTLM-прокси), localhost в NO_PROXY обязателен — иначе трафик к самому релею попытается пройти через прокси, и схема зациклится. В settings.json из статьи значение internal.example.com — просто пример; замените его на реальные внутренние домены или уберите, оставив только localhost,127.0.0.1.
Область действия зависит от расположения файла:
| Файл | Область действия | Примечание |
|---|---|---|
~/.claude/settings.json | все проекты пользователя | обычный выбор для прокси |
.claude/settings.json (в корне проекта) | конкретный проект | попадает в git — не класть сюда пароль |
.claude/settings.local.json | конкретный проект, локально | не коммитится; подходит, если в URL есть пароль |
| managed settings (системный файл политик) | вся организация | централизованная раздача |
Нюансы:
settings.json хранится открытым текстом — ограничьте права на файл (chmod 600 на Linux/macOS) и следите, чтобы файл с учётными данными не попал в репозиторий. Если это неприемлемо, храните секрет в защищённом хранилище/профиле шелла, а в settings.json оставьте только несекретные переменные (например, NO_PROXY).settings.json покрывает только сам Claude Code. Для скачивания установщика (шаг 1) файл ещё не существует — там нужны переменные окружения или curl -x.
Через URL вида http://user:pass@host:port работает только Basic auth. Для прокси с NTLM/Kerberos официальная рекомендация — LLM Gateway, поддерживающий нужный метод аутентификации. На практике также применяются локальные релеи (CNTLM, Px), которые принимают трафик без аутентификации на localhost и сами проходят NTLM-аутентификацию на корпоративном прокси.
Установщику и самому Claude Code нужен доступ к ряду URL, в частности:
api.anthropic.comclaude.ai / downloads.claude.aistorage.googleapis.com
Их следует внести в allowlist прокси, иначе установка или работа оборвётся даже при корректной аутентификации. При использовании Bedrock/Vertex или собственного гейтвея трафик модели идёт к провайдеру, но инструмент WebFetch по умолчанию всё равно обращается к api.anthropic.com для проверки безопасности доменов (отключается опцией skipWebFetchPreflight: true в settings).
Если прокси выполняет TLS-инспекцию с подменой сертификатов:
export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem
Никогда не используйте
NODE_TLS_REJECT_UNAUTHORIZED=0 как постоянное решение — это полностью отключает проверку TLS.
Документация рекомендует не хардкодить пароль в скриптах — использовать переменные окружения или защищённое хранилище учётных данных. Помните, что строка прокси с паролем может попасть в историю shell и логи.
Инструкция составлена на основе гайда «Claude Code — установка и первая настройка» (проверен на версиях 2.1.x, 2026 г.) с опорой на официальную документацию.
Главное правило: использовать нативный установщик (native binary installer) от Anthropic. Установка через npm install -g @anthropic-ai/claude-code остаётся рабочей, но официально не рекомендуется: нативный бинарник стабильнее, обновляется автоматически в фоне и не зависит от глобального состояния Node.
| Способ | Когда выбирать | Автообновление |
|---|---|---|
| Native installer | по умолчанию, любая ОС | да, в фоне |
| Homebrew / WinGet | если уже используете эти менеджеры | нет, вручную |
| npm | CI-окружения, где уже стоит Node | нет, вручную |
| apt / dnf / apk | серверы Linux | через обновление системы |
Нативный установщик (рекомендуется):
curl -fsSL https://claude.ai/install.sh | bash
Скрипт определяет архитектуру (Intel / Apple Silicon), кладёт бинарник в ~/.local/bin/claude и добавляет путь в shell-профиль.
Через Homebrew:
brew install --cask claude-code
Cask claude-code — стабильный канал (~неделя задержки от latest); для свежих версий есть claude-code@latest. Обновление вручную: brew upgrade claude-code.
Тот же нативный установщик:
curl -fsSL https://claude.ai/install.sh | bash
На Alpine и других musl-дистрибутивах дополнительно нужны
libgcc, libstdc++ и системный ripgrep; после установки выставить USE_BUILTIN_RIPGREP=0 в ~/.claude/settings.json.
Альтернатива — системные пакетные менеджеры (репозитории подписаны GPG-ключом Anthropic, отпечаток 31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE):
sudo install -d -m 0755 /etc/apt/keyrings sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \ -o /etc/apt/keyrings/claude-code.asc echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \ | sudo tee /etc/apt/sources.list.d/claude-code.list sudo apt update && sudo apt install claude-code
Аналогичные репозитории есть для Fedora/RHEL (dnf) и Alpine (apk). Пакетные установки обновляются через обычный apt upgrade / dnf upgrade / apk upgrade.
Вариант 1 — нативно. В PowerShell:
irm https://claude.ai/install.ps1 | iex
Через WinGet:
winget install Anthropic.ClaudeCode
В CMD:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
Если PowerShell ругается 'irm' is not recognized — окно открыто в CMD, а не в PowerShell (в PowerShell приглашение начинается с PS).
После установки желательно поставить Git for Windows: тогда Claude Code использует Git Bash как Bash-инструмент. Без него команды идут через PowerShell, что мешает скриптам, рассчитанным на bash.
Вариант 2 — WSL2 (рекомендуется для Linux-проектов). Включить WSL2 (wsl –install в PowerShell от администратора, перезагрузка), затем внутри WSL — обычный Linux-установщик. Запускать claude из терминала WSL. Бонус WSL2 — поддержка sandboxing (изолированного выполнения команд), которого нет в нативной Windows-версии.
npm install -g @anthropic-ai/claude-code
Требуется Node 18+. Пакет подтягивает тот же нативный бинарник через optional dependency. Не использовать sudo — это ломает права. Обновление: npm install -g @anthropic-ai/claude-code@latest (не npm update -g).
claude --version
claude запускается в терминале редактора.Расширения — визуальная обёртка над CLI, терминальная версия работает параллельно.
Запустить claude в папке проекта и выполнить:
/login
Откроется браузер на странице Anthropic; войти нужно аккаунтом, на котором оформлена подписка или заведены API-кредиты. Одноразовый код из браузера вставляется в терминал; токен сохраняется в ~/.claude.json.
Диагностика:
claude doctor
Показывает версию, путь к бинарнику, статус авторизации и проблемы конфигурации.
/logout, перезапуск, выбор варианта с API key.cd ~/my-project claude
Открывается интерактивная сессия; задача описывается обычным текстом.
Команда /init создаёт в корне проекта файл CLAUDE.md с автосгенерированным контекстом (стек, структура, команды). Claude Code читает его при старте каждой сессии. Файл стоит держать актуальным: стек и стиль кода, ключевые команды проекта (dev, build, test, lint), конвенции (алиасы импортов, расположение файлов, правила типизации).
Файл .claude/settings.json в корне проекта задаёт, что агент выполняет без подтверждения (allow), а что запрещено полностью (deny):
{ "permissions": { "allow": ["Bash(npm run *)", "Bash(git status)", "Read(*)", "Edit(*)"], "deny": ["Bash(rm -rf *)", "Bash(git push --force *)"] } }
Базовый safe-list выставлен после установки; имеет смысл сразу добавить команды конкретного проекта.
claude mcp add / list / remove, конфигурация в ~/.claude.json или .mcp.json проекта, состояние — по /mcp в сессии.SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop); настраиваются в разделе hooks файла settings.json. Типовой пример — автозапуск prettier после правок файлов.~/.claude/skills/<name>/ с файлом SKILL.md (frontmatter: name, description); агент подключает skill сам по совпадению описания с задачей.claude plugin install <name>.~/.claude/agents/<name>.md); полезны для длинного поиска по коду и параллельных шагов без раздувания основного контекста.| Команда | Назначение |
|---|---|
/help | список команд |
/login / /logout | авторизация |
/init | создать CLAUDE.md |
/clear | очистить контекст |
/compact | сжать контекст, сохранив суть |
/context | объём токенов в контексте |
/cost | расход за сессию |
/model | переключить модель |
/memory | править CLAUDE.md из сессии |
/mcp | состояние MCP-серверов |
/resume | продолжить прошлую сессию |
/review | код-ревью изменений |
Кастомные команды — файлы .md в .claude/commands/ (проект) или ~/.claude/commands/ (глобально); имя файла = имя команды.
| Симптом | Решение |
|---|---|
claude: command not found | перезапустить терминал; проверить, что ~/.local/bin в $PATH, при необходимости добавить в shell-профиль |
EACCES при npm install -g | не использовать sudo; настроить npm-префикс на пользовательский каталог или перейти на native installer |
/login не открывает браузер (Linux/WSL/сервер) | скопировать URL из терминала в браузер на другой машине, код вставить обратно |
| «Unsupported OS» на Windows | нужна Windows 10 1809+ / 11; на старых сборках — только WSL2 |
| npm не находит native binary | переустановить с --include=optional или перейти на native installer |
| Исчерпаны лимиты подписки | дождаться сброса, апгрейд плана или временно API pay-per-token |
Обновление: native installer обновляется сам; принудительно — claude update или повторный запуск команды установки. Homebrew: brew upgrade claude-code; WinGet: winget upgrade Anthropic.ClaudeCode; apt/dnf/apk — через обновление системы.
Удаление (native, macOS/Linux):
rm -f ~/.local/bin/claude rm -rf ~/.local/share/claude
Полная очистка конфигов, MCP-серверов и истории сессий:
rm -rf ~/.claude rm ~/.claude.json
На Windows — те же пути в %USERPROFILE%\.local\ и %USERPROFILE%\.claude\.