Установка Claude Code кажется тривиальной, но за ней стоит несколько решений, влияющих на воспроизводимость и обновления. Официально поддерживаются актуальные macOS, Windows и основные дистрибутивы Linux, x64 или ARM64 с минимумом памяти, один из распространённых shell и доступ в интернет из поддерживаемой страны. Требования стоит знать заранее: часть проблем первого запуска - не баги, а неподдерживаемое окружение.
Рекомендуемый способ - native installation через официальный установочный скрипт: на macOS, Linux и WSL его подтягивают curl'ом, на Windows - через PowerShell или CMD. Сразу после установки делают две проверки: claude --version отвечает на вопрос "что запускается", а claude doctor проверяет саму установку, валидность настроек и известные проблемы. Терминальный doctor - это read-only диагностика; внутрисессионный /doctor - это уже bundled skill, который может предложить исправления.
Есть и пакетные способы - Homebrew cask и WinGet, - у которых своя логика обновлений. Ключевое различие: native installation обновляется в фоне сама, а Homebrew, WinGet, apt, dnf и apk по умолчанию требуют обновления через свой пакетный менеджер. Для Homebrew и WinGet Claude Code способен сам запускать обновление пакета, но только если это явно разрешено переменной CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE. По умолчанию контроль остаётся за менеджером.
Канал обновлений задаётся осознанно. В native installation ключ autoUpdatesChannel принимает latest - новые версии сразу - или stable, где обычно есть примерно недельная задержка и пропуск релизов с крупными регрессиями. Рядом стоит minimumVersion - пол для обновлений: ни фоновое авто-обновление, ни claude update не поставят версию ниже него, поэтому переход на stable не откатит вас назад. Его легко спутать с requiredMinimumVersion, а это другое: тот ключ живёт только в managed settings, обновления не ограничивает и просто не даёт Claude Code запуститься на версии ниже указанной. Для по-настоящему воспроизводимого CI полагаются не на канал, а на установку явной версии или заранее подготовленный образ.
Полезно один раз увидеть и команды установки, и настройку канала рядом. Ниже - native-скрипт, проверка версии и doctor, а также фрагмент settings с каналом и минимальной версией. К этой карте возвращаются при заведении нового окружения или при переходе между latest и stable: она показывает, где именно принимается решение о том, какая версия у вас исполняется.
Windows заслуживает отдельного внимания из-за sandbox. Native Windows не поддерживает sandboxed Bash: без Git for Windows Claude Code работает через PowerShell tool, а с Git for Windows появляется Bash tool. WSL2 поддерживает sandboxing и удобнее для Linux-toolchain, тогда как WSL1 sandbox не поддерживает. Если Git Bash найден не там, где ожидалось, путь к нему задают явно через переменную CLAUDE_CODE_GIT_BASH_PATH в настройках.
Удаление устроено намеренно раздельно, и это правильно. Удаление бинарника не удаляет пользовательскую конфигурацию: переустановка не должна уничтожать сессии и настройки. Поэтому убрать бинарник (rm из ~/.local/bin, brew uninstall, winget uninstall) - одно действие, а очистка конфигурации - совсем другое. Каталоги ~/.claude, ~/.claude.json, .claude/ и .mcp.json содержат approvals, MCP, транскрипты и состояние проекта, и их удаление - отдельная разрушительная операция.
Отсюда практическое правило и типичные провалы. Не удаляйте конфигурацию как часть обычной переустановки: сначала копия, а для очистки состояния одного проекта есть claude project purge --dry-run. Типичные ошибки предсказуемы: понадеяться на канал обновлений вместо явной версии в CI и получить разное поведение прогонов; забыть, что native Windows без Git for Windows не даёт Bash tool; снести ~/.claude вместе с бинарником и потерять approvals и сессии. Ставьте осознанно, версию фиксируйте явно, конфигурацию берегите.
# Native-установка (macOS, Linux, WSL)
curl -fsSL https://claude.ai/install.sh | bash
# Проверка после установки
claude --version # что запускается
claude doctor # установка, settings, известные проблемы{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"autoUpdatesChannel": "stable",
"minimumVersion": "2.1.200"
}
// minimumVersion - пол для обновлений, а не pin. Для CI - явная версия или образ.
// requiredMinimumVersion - другой ключ: только managed settings, блокирует запуск.