Содержание
Вы установили Claude Code, но при вводе claude в терминале получаете вот такое — знакомо?
zsh: command not found: claude # macOS
bash: claude: command not found # Linux
'claude' is not recognized as an internal or external command # Windows CMD
claude : The term 'claude' is not recognized as the name of a cmdlet # PowerShell
Эта ошибка означает «исполняемый файл claude не найден», и причина почти всегда — «папка установки не добавлена в PATH». Сама установка зачастую прошла успешно — просто оболочка не знает, где искать. В этой статье разберём способы установки и их расположение, как починить PATH, конфликты нескольких установок, ловушки Windows и обновление — со сверкой по официальной документации на 29 сентября 2026 года.
Главное сразу. (1) command not found почти всегда означает лишь «~/.local/bin (папка установки) не в PATH» — добавьте её, перезапустите терминал, и всё заработает. (2) Ошибку прав доступа npm (EACCES) НЕ нужно лечить через sudo — вместо этого перейдите на нативный установщик. (3) Если застряли, запустите claude doctor — он разом проверяет целостность установки, настройки и результат обновления. Точные команды и значения по умолчанию меняются от версии к версии, поэтому сверяйтесь с актуальной официальной документацией.
Найдите своё сообщение
| Что вы видите | Где | Раздел |
|---|---|---|
zsh: command not found: claudebash: claude: command not found | macOS / Linux | §3 |
'claude' is not recognized as an internal or external commandclaude : The term 'claude' is not recognized as the name of a cmdlet | CMD / PowerShell в Windows | §3, §4 |
Native installation exists but ~/.local/bin is not in your PATH | claude doctor, под полем ввода | §3 |
Failed to run Claude Code: Error: Could not locate the Claude CLI on PATH | VS Code в Windows | §4 |
'claude' is not recognized сразу после обновления | Windows | §4 |
Auto-update failed · Run claude doctor | Строка состояния открытой сессии | §5 |
Установлен, но не найден
— просто папка установки не в PATH
Бинарник точно существует. Просто в PATH оболочки нет его расположения.
Поэтому решение — «добавить одну строку в PATH» — обычно меньше минуты.
1. О чём говорит эта ошибка
Когда вы вводите команду, оболочка (zsh / bash / PowerShell) по очереди просматривает папки, перечисленные в переменной окружения PATH, и запускает первый подходящий исполняемый файл. command not found: claude означает, что ни в одной из этих папок не нашлось claude.
Важный момент: это вовсе не обязательно означает, что установка провалилась. Нативный установщик кладёт claude в ~/.local/bin (в Windows: %USERPROFILE%\.local\bin), но если эта папка не в PATH, бинарник существует, а оболочка его не находит. Поэтому большинство случаев решается «добавить одну строку в PATH и перезапустить терминал». Прежде чем подозревать сбой установки, запустите ls ~/.local/bin/claude и проверьте, есть ли там бинарник.
В Windows «не та оболочка» для команды установки (например, запуск команды для PowerShell в CMD) даёт другие ошибки — об этом в §4. Сначала разберёмся с правильными способами установки и их расположением.
2. Способы установки и где лежит бинарник
Вот способы установки, которые перечислены на официальной странице установки на 29 сентября 2026 года, и то, куда попадает бинарник (рекомендуется нативный установщик).
| Способ | Команда (общий вид) | Расположение / примечание |
|---|---|---|
| Нативный (рекомендуется) mac/Linux/WSL | curl -fsSL https://claude.ai/install.sh | bash | ~/.local/bin/claude. Автообновление |
| Нативный (рекомендуется) Windows PowerShell | irm https://claude.ai/install.ps1 | iex | %USERPROFILE%\.local\bin\claude.exe. Автообновление |
| Нативный (рекомендуется) Windows CMD | curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd | То же место, что и у PowerShell |
| npm | npm install -g @anthropic-ai/claude-code | Node.js 22+ (с v2.1.198). Ставит тот же нативный бинарник |
| Homebrew (mac) | brew install --cask claude-code | Без автообновления → brew upgrade claude-code (cask claude-code@latest получает каждый релиз) |
| WinGet (Windows) | winget install Anthropic.ClaudeCode | Без автообновления → winget upgrade Anthropic.ClaudeCode |
| apt / dnf / apk (Linux) | Подписанные репозитории для Debian, Fedora, RHEL и Alpine | Без автообновления → обновлять через менеджер пакетов |
Суть в том, что официально рекомендуется нативный установщик. Версия из npm устанавливает тот же нативный бинарник. С v2.1.198 пакет npm требует Node.js 22 или новее, но со старым Node.js npm лишь выводит предупреждение EBADENGINE, и установка всё равно завершается (для работы бинарнику Node не нужен). Путь через npm чаще приводит к проблемам с правами доступа и PATH, поэтому, если ставите с нуля, нативный вариант — безопасный выбор. Учтите, что установка только расширения для VS Code встраивает приватный CLI внутрь расширения и НЕ добавляет claude в PATH — если вам нужен claude в терминале, установите его отдельно.
3. Основные причины и их устранение
Вот распространённые причины вокруг command not found в паре со способами устранения.
Главные причины с установкой / PATH
~/.local/bin вне PATH. Добавьте export PATH="$HOME/.local/bin:$PATH" в ~/.zshrc/~/.bashrc и перезапустите терминал.sudo npm (официально не рекомендуется). Переход на нативный установщик — самый быстрый и безопасный способ.EBADENGINE. Это не причина того, что claude не находится, — сначала проверьте PATH.which -a claude (Win: where.exe claude) и оставьте только нативную.Error: claude native binary not installed. означает, что опциональная зависимость или шаг postinstall были пропущены. Переустановите без --omit=optional / --ignore-scripts.
Если сомневаетесь, «переустановить через нативный установщик» решает большинство из этого —
он разом обходит проблемы прав доступа, Node и конфликтов.
Конкретный способ починить PATH (macOS zsh): echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc, затем source ~/.zshrc. В Linux bash сделайте то же самое в ~/.bashrc; для bash в macOS используйте ~/.bash_profile (Terminal запускает bash как оболочку входа, которая не читает ~/.bashrc). В Windows PowerShell добавьте папку в пользовательский PATH командой [Environment]::SetEnvironmentVariable('PATH', "$([Environment]::GetEnvironmentVariable('PATH', 'User'));$env:USERPROFILE\.local\bin", 'User'). После изменения откройте новый терминал и проверьте через claude --version.
«Native installation exists but ~/.local/bin is not in your PATH»
Это предупреждение появляется в выводе claude doctor (в блоке «Installation warnings») и под полем ввода. В том виде, в каком пользователи приводили его в официальных issues на GitHub, оно звучит так:
Native installation exists but ~/.local/bin is not in your PATH
Run: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc then open a new terminal or run: source ~/.zshrc
Оно значит: нативный бинарник лежит в ~/.local/bin, но этой папки нет в том PATH, который видит Claude Code. Исправление то же, что выше: добавьте строку в конфигурационный файл своей оболочки и откройте новый терминал. Если в новом терминале echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin" уже выводит папку, а предупреждение не исчезает, это случай, описанный на GitHub (#63695: PATH задан только в ~/.zshenv, запуск из терминала VS Code; #75431: claude установлен в другое место). Оба на 29 сентября 2026 года закрыты без исправления. Если claude --version работает в новом терминале, сама установка в порядке.
4. Ловушки, характерные для Windows
В Windows классический провал — запуск команды установки в «не той оболочке». По тексту ошибки видно, какая именно путаница произошла.
Как распознать путаницу с оболочкой
| Ошибка | Смысл и решение |
|---|---|
'irm' is not recognized as an internal or external command | Команду для PowerShell запустили в CMD → откройте PowerShell и выполните irm https://claude.ai/install.ps1 | iex или используйте установщик для CMD |
The token '&&' is not a valid statement separator | Команду для CMD запустили в PowerShell → используйте установщик для PowerShell |
A parameter cannot be found that matches parameter name 'fsSL' | Команду curl для macOS/Linux запустили в PowerShell (там curl — псевдоним Invoke-WebRequest) → используйте установщик для PowerShell |
'bash' is not recognized as the name of a cmdlet | Установщик для Linux запустили в Windows → используйте установщик для PowerShell |
Прочие замечания по Windows: (1) Перезапустите терминал после установки (изменение PATH вступает в силу в новом терминале). (2) Старый Claude Desktop, зарегистрировавший WindowsApps\Claude.exe, может привести к тому, что claude запускает десктоп-приложение вместо CLI — обновите Claude Desktop. (3) Git for Windows не обязателен: без него Claude Code выполняет команды через свой инструмент PowerShell. Если Git установлен, но Git Bash не находится, укажите в настройках в CLAUDE_CODE_GIT_BASH_PATH путь к вашему bash.exe. Запуск под WSL — тоже вариант.
VS Code: «Could not locate the Claude CLI on PATH»
Расширение VS Code показывает это в Windows, когда вы открываете Claude Code во встроенном терминале, оболочка терминала — PowerShell, а расширение не находит установленный claude в PATH. Сообщение начинается так:
Failed to run Claude Code: Error: Could not locate the Claude CLI on PATH.
Расширение блокирует запуск, потому что вызов claude по имени в PowerShell мог бы запустить claude из открытой папки вместо установленного CLI. (1) Откройте новое окно PowerShell вне VS Code и выполните where.exe claude; если ничего не выводится, добавьте папку установки в PATH, как в §3. (2) Прописывайте PATH в переменной среды пользователя или системы, а не только в профиле PowerShell (расширение не выполняет ваш профиль). (3) Перезапустите VS Code: он читает PATH только при запуске.
«'claude' is not recognized» сразу после обновления
При обновлении в Windows Claude Code переименовывает текущий claude.exe в резервную копию с именем claude.exe.old. и отметкой времени, а затем ставит на его место новую версию. Если перемещение не удалось и переименование нельзя откатить, в %USERPROFILE%\.local\bin остаётся копия, но нет claude.exe. Восстановите самую свежую копию в PowerShell:
Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe
Затем проверьте через claude --version. Если файла claude.exe.old.* нет, переустановите командой irm https://claude.ai/install.ps1 | iex. Начиная с v2.1.281 неудачное обновление автоматически возвращает сохранённый исполняемый файл.
5. Автообновление и обновление вручную
Нативные установки обновляются в фоне автоматически и применяются при следующем запуске. Чтобы обновить вручную, используйте claude update; чтобы переустановить/закрепить конкретную версию, используйте claude install <version> (также принимаются stable / latest). Результат последней попытки обновления показывает claude doctor. Установки через Homebrew, WinGet, apt, dnf и apk по умолчанию сами не обновляются; для Homebrew и WinGet можно задать CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1, и Claude Code будет запускать обновление за вас.
Когда автообновление не работает на установке npm
Если глобальная папка npm недоступна для записи, автообновление падает. claude doctor перечислит способы починки, а корневое решение — перейти на нативную установку. Чтобы просто остановить автообновление, задайте DISABLE_AUTOUPDATER в env настроек (обновления вручную продолжат работать); чтобы заблокировать все обновления, задайте DISABLE_UPDATES.
«Auto-update failed · Run claude doctor»
Когда фоновое обновление не удаётся, открытая сессия показывает это в строке состояния. В issues на GitHub встречаются две формулировки: Auto-update failed · Run claude doctor (с v2.1.220 по v2.1.278) и, на установках из npm более ранних версий, Auto-update failed · Try claude doctor or npm i -g @anthropic-ai/claude-code. Действуйте по порядку:
- Выполните
claude doctorв терминале — он покажет результат последней попытки обновления и предупреждения об установке. - Выполните
claude update, чтобы обновиться сразу. Он ответитSuccessfully updated from <old version> to version <new version>илиClaude Code is up to date (<version>), если обновлять нечего. - Если версия уже последняя, сбой был временным (например, обрыв сети). По issues на GitHub (#89286, #96038), надпись может оставаться до перезапуска сессии.
- На глобальной установке npm, в папку которой нельзя писать, автообновление работать не может — перейдите на нативный установщик (см. блок выше).
- Если сбой повторяется в корпоративной сети, проверьте, доступен ли
downloads.claude.ai.
6. Алгоритм диагностики
Когда причина неясна, идите сверху вниз. Большинство случаев решается к шагу 3.
Локализуйте проблему сверху вниз
claude doctor (из оболочки, если не запускается) для проверки целостности установки.which -a claude / where.exe claude, чтобы увидеть, где и сколько установлено (есть ли конфликты).~/.local/bin в PATH и перезапустите терминал.
Правило: «существует ли бинарник → в PATH ли он → нет ли конфликта?» именно в таком порядке.
Когда застряли, нативная переустановка — надёжное последнее средство.
Итоги
«command not found: claude» в Claude Code в большинстве случаев — это просто «папка установки (~/.local/bin) не в PATH». Бинарник существует, поэтому добавьте одну строку в PATH и перезапустите терминал — и всё заработает. Для установки рекомендуется нативный установщик (версия из npm просит Node.js 22+, и у неё больше ловушек с правами/PATH). EACCES в npm нужно лечить переходом на нативный вариант, а не sudo.
Диагностируйте так: (1) claude doctor -> (2) which -a claude / where.exe claude на конфликты -> (3) добавить ~/.local/bin в PATH -> (4) удалить лишние версии -> (5) нативная переустановка. В Windows следите за путаницей с оболочкой (например, irm в CMD), необходимостью перезапустить терминал и конфликтом со старым Claude Desktop (Claude.exe). Обновляйте через claude update / claude install, а остановить автообновление можно через DISABLE_AUTOUPDATER. Когда застряли, нативная переустановка — надёжное решение. По теме: сборник ошибок Claude Code, ошибки аутентификации / входа.
FAQ
Q. Я установил его, но получаю command not found: claude.
A. Почти наверняка папка установки не в вашем PATH. Сначала проверьте, существует ли бинарник, через ls ~/.local/bin/claude (Windows: %USERPROFILE%\.local\bin); если он там, добавьте export PATH="$HOME/.local/bin:$PATH" в ~/.zshrc/~/.bashrc и откройте новый терминал. Сама установка обычно прошла успешно.
Q. npm install -g падает с ошибкой прав доступа (EACCES).
A. Не используйте sudo npm (официально не рекомендуется; это провоцирует проблемы с правами и безопасностью). Самый быстрый и безопасный путь — перейти на нативный установщик (mac/Linux: curl -fsSL https://claude.ai/install.sh | bash). У нативной сборки нет ловушек с правами доступа и не требуется Node. Можно также перенести глобальный префикс npm в каталог, доступный пользователю для записи, но официальная рекомендация — нативный вариант.
Q. У меня несколько установок claude, и запускается старая версия.
A. Запустите which -a claude (Windows: where.exe claude), чтобы увидеть все claude в PATH. Возможно, у вас смешаны npm-global, Homebrew, WinGet и нативная установки. Оставьте нативную (~/.local/bin) и удалите остальные (например, npm uninstall -g @anthropic-ai/claude-code), чтобы свести всё к одной установке.
Q. В Windows при вводе claude открывается десктоп-приложение.
A. Старый Claude Desktop зарегистрировал WindowsApps\Claude.exe, и он в PATH имеет приоритет над CLI. Обновите Claude Desktop, чтобы это устранить. Также, если после запуска установщика для PowerShell его не находит или показывает старую версию, перезапустите терминал, чтобы изменение PATH вступило в силу.
Q. Обновления не работают / я хочу их остановить.
A. Нативные установки обновляются в фоне автоматически и применяются при следующем запуске. Вручную используйте claude update; для переустановки/закрепления — claude install <version>. Если появилось Auto-update failed · Run claude doctor, выполните claude doctor, затем claude update; если он сообщает, что версия последняя, надпись исчезнет после перезапуска сессии. Если автообновление падает на глобальной установке npm, это проблема прав на запись — следуйте указаниям claude doctor и перейдите на нативный вариант. Чтобы остановить автообновление, задайте DISABLE_AUTOUPDATER в env настроек; чтобы заблокировать все обновления, задайте DISABLE_UPDATES.