Что это решает
«Claude Code как установить» — запрос на одну команду, а застревают почти все после неё: вход в аккаунт, права на запись файлов и запуск bash, потерянный PATH, на Windows — отсутствующая оболочка. Claude Code работает в терминале внутри каталога проекта: читает и правит файлы, запускает сборку и тесты, делает коммиты. Установка кладёт исполняемый файл и локальный каталог состояния, а доступ к модели подключается отдельным действием — эти два шага путают чаще всего. Большая часть жалоб «поставил, ничего не работает» — установленный бинарь без выполненного входа.
Как устроено
Claude Code — обычная консольная программа. После установки на машине появляются:
- исполняемый файл
claudeв PATH; - каталог
~/.claude/— настройки, история сессий, локальные агенты, скиллы, логи; - файл настроек пользователя
~/.claude/settings.json; - при работе в проекте —
.claude/settings.json(общий, кладётся в репозиторий) и.claude/settings.local.json(личный, в.gitignore); CLAUDE.mdв корне проекта — постоянная инструкция, которая подмешивается в каждую сессию.
Доставка идёт двумя каналами. Нативный установщик кладёт самодостаточный бинарь и обновляет его сам. Пакет npm ставит ту же программу как глобальный пакет, требует установленной Node.js и обновляется командой пакетного менеджера. На поведение агента канал не влияет — только на способ обновления и на список зависимостей.
Доступ к модели — отдельный контур. Программа ходит либо через вход в аккаунт с подпиской (браузерный OAuth), либо по ключу API из консоли разработчика, либо через корпоративные шлюзы облаков. Установка ни один из вариантов не выбирает: первый запуск сам спросит.
Инструменты агента — чтение, запись, поиск, запуск команд — работают в каталоге, из которого запущен claude. Этот каталог считается рабочей областью, выход за его пределы требует явного разрешения. Перед записью в файл и перед выполнением команды программа спрашивает подтверждение, пока правило не занесено в настройки разрешений.
На Windows часть инструментов опирается на bash. Он берётся из Git for Windows, путь задаётся переменной CLAUDE_CODE_GIT_BASH_PATH. Второй вариант для Windows — поставить всё внутрь WSL и работать в линуксовом окружении, где никаких особенностей нет.
Как подключить
До старта
- Терминал: Terminal или iTerm на macOS, Windows Terminal или WSL на Windows, любой на Linux.
- Установленный
git. Без него агент правит файлы, но показывать и откатывать изменения нормальным способом уже нечем. - Проект под контролем версий, рабочее дерево чистое на момент первого прогона.
- Оплаченный доступ к модели: аккаунт с подпиской либо ключ API. Установка без него пройдёт, а первая задача — нет.
- Никакого
sudo. Установка под root ломает права на~/.claude, и позже это вылезает странными ошибками записи.
macOS и Linux
curl -fsSL https://claude.ai/install.sh | bash
Скрипт кладёт бинарь в пользовательский каталог и дописывает PATH в профиль оболочки. Дальше — перезапустить терминал или перечитать профиль:
source ~/.zshrc # или ~/.bashrc
which claude
claude --version
Если which ничего не находит, PATH не подхватился. Посмотреть, в какой профиль дописалась строка (~/.zprofile, ~/.bash_profile, ~/.profile), и добавить каталог руками.
Windows
В PowerShell:
irm https://claude.ai/install.ps1 | iex
После установки открыть новое окно терминала, чтобы PATH перечитался. Если инструменты, которым нужен bash, ругаются на отсутствие оболочки, поставить Git for Windows и указать путь:
setx CLAUDE_CODE_GIT_BASH_PATH "C:\Program Files\Git\bin\bash.exe"
Путь с пробелами — обязательно в кавычках. Вариант, который снимает весь класс проблем разом: поставить WSL, зайти в дистрибутив и выполнить там установку по инструкции для Linux. Проект при этом должен лежать внутри файловой системы WSL, а не на диске C через /mnt/c, иначе всё упирается в скорость файловых операций.
Через npm
npm install -g @anthropic-ai/claude-code
Требует установленной Node.js актуальной LTS-версии. Ставить без sudo. Если npm отвечает EACCES, задать собственный префикс:
npm config set prefix ~/.npm-global
export PATH="$HOME/.npm-global/bin:$PATH"
Строку с PATH дописать в профиль оболочки, иначе она проживёт до закрытия окна.
Первый запуск
cd ~/projects/my-app
claude
Первая сессия предложит войти. /login открывает браузер, после подтверждения код возвращается в терминал. Проверка, что вход состоялся:
/status
Команда показывает аккаунт, способ оплаты доступа, версию, активную модель и рабочий каталог.
Сразу после входа — два шага, которые потом экономят часы:
/init # соберёт черновик CLAUDE.md: как собирать, как тестировать, где что лежит
/permissions # разрешить рутину: чтение файлов, git status, запуск тестов
Черновик от /init нужно вычитать и выбросить очевидное. CLAUDE.md попадает в контекст каждой сессии, поэтому лишние абзацы в нём оплачиваются заново при каждом запуске.
Редакторы
Расширения для VS Code и JetBrains ставятся поверх той же установки. Под капотом работает тот же процесс, меняется только место, где показывается diff.
Полезные сценарии
- Разбор незнакомого репозитория:
claudeв корне и вопрос «где обрабатывается вебхук оплаты» — быстрее ручного поиска по коду. - Дежурный прогон линтера и тестов с починкой падений: агент видит вывод команды целиком и правит причину, а не строку из сообщения об ошибке.
- Неинтерактивный режим для скриптов и CI:
claude -p "проверь миграции на обратимость"— ответ уходит в stdout и годится для пайплайна. - Одна установка на десяток проектов: общие правила в
~/.claude/settings.json, проектные — в.claude/settings.jsonрядом с кодом. - Онбординг нового человека:
CLAUDE.mdв репозитории один раз описывает сборку и тесты и для агента, и для людей. - Работа на удалённом сервере: та же установка по ssh, состояние остаётся в домашнем каталоге пользователя.
Ограничения
Установка не даёт доступа к модели — это отдельная оплата и отдельный вход. Бесплатного режима работы у агента нет.
Агент правит файлы на диске по-настоящему. Нормальная страховка одна: git. Чистое дерево перед стартом, мелкие коммиты, git diff перед принятием результата. Флаг --dangerously-skip-permissions снимает все вопросы разом; на рабочей машине с доступом к боевым системам это плохая идея, для одноразового контейнера — рабочая.
Windows без WSL остаётся вторым сортом: часть инструментов ходит через git-bash, а пути с пробелами и кириллицей регулярно ломают команды.
Нативный установщик обновляется сам, npm-установка — только вручную (npm update -g @anthropic-ai/claude-code). Смешивать оба канала на одной машине вредно: в PATH окажутся два бинаря, и номер из --version перестанет соответствовать тому, что реально запускается.
Длинная сессия расходует квоту нелинейно — каждый ход отправляет заново весь накопленный контекст. К установке это отношения не имеет, но счёт приходит именно за это.
Правило одной строкой: считать установку законченной только после того, как claude doctor чист, /status показывает выполненный вход, а тестовая правка видна в git diff.
Как проверить результат
Сначала снаружи сессии:
claude --version # печатает номер — бинарь найден в PATH
claude doctor # проверка установки: канал доставки, права, PATH, конфликт версий
claude doctor — первое, что запускается при любой странности. Он же ловит самый частый случай: два установленных экземпляра, npm-овский и нативный, и запускается не тот.
Дальше внутри сессии, в каталоге проекта:
/status # аккаунт, модель, рабочий каталог
/context # что уже занимает контекст: системная часть, CLAUDE.md, инструменты MCP
Последняя проверка — боевая, на одну минуту. Попросить агента выполнить git status (сработает инструмент запуска команд), затем добавить в README одну строку и остановиться. После этого выйти и посмотреть:
git diff
git checkout -- README.md
Если строка появилась в diff и откатилась, установка рабочая целиком: бинарь на месте, вход выполнен, права на файлы и на bash выданы, изменения контролируются гитом. Если правка не появилась, а в терминале висел вопрос о разрешении — вернуться в /permissions и разрешить запись в рабочий каталог.
