# «command not found»: 3 причины и решение

Канонический URL: https://zero2claude.ru/blog/fix-command-not-found
Дата: 2026-09-14
Теги: терминал, новичкам, ошибки

Терминал отвечает «command not found»? Разбираем три причины — опечатка, не установлено, не в PATH — и как спокойно их чинить.

Ты набираешь команду, жмёшь Enter — и вместо результата терминал бросает в лицо `command not found`. Первая мысль: «всё, я что-то сломал». Хочется закрыть окно и сделать вид, что ничего не было.

Спокойно. Это, наверное, самая частая ошибка новичка, и она почти никогда не значит, что ты что-то поломал. Терминал просто говорит: «я не понял первое слово в строке». Причин ровно три, и каждая чинится за минуту. Давай разберём их по порядку.

<Cover src="/blog/fix-command-not-found.jpg" alt="Растерянный почтальон у закрытой двери с письмом в руке" />

## Причина 1: опечатка

Самое частое и самое обидное. Имя команды набрано чуть-чуть не так — и терминал, который понимает всё буквально, его не узнаёт.

Глаз промахивается легче, чем кажется. Классика жанра:

- `sl` вместо `ls` — пальцы переставили буквы местами.
- `gti` вместо `git` — та же беда, руки спешат вперёд головы.
- `claud` вместо `claude` — потеряли последнюю букву.
- `Ls` вместо `ls` — регистр важен. Большая «L» для терминала это уже другое слово.

Отдельная ловушка — лишний пробел или невидимый символ, который прилетает вместе с командой, скопированной из чата или статьи. На вид строка идеальная, а терминал упирается. Если команда копипастнута и не работает — перепиши её руками, по буквам. Часто этого достаточно.

Лечится всё в две секунды: перечитай первое слово в строке по буквам. Если не уверен — начни печатать и жми **Tab**. Терминал сам допишет имя команды, если она существует, и опечаток станет в разы меньше.

<Callout type="tip">
Клавиша Tab — твой главный союзник против опечаток. Набери первые пару букв команды или имени файла и нажми Tab: терминал допишет остальное сам. Если ничего не дописалось — значит, такого имени система не знает, и это сразу подсказка, что искать дальше.
</Callout>

## Причина 2: программа не установлена

Имя набрано верно, а терминал всё равно разводит руками. Часто это значит, что такой программы на компьютере просто нет — её ещё не установили.

Терминал по умолчанию знает базовые команды: `ls`, `cd`, `pwd`, `mkdir` и десяток других. Но всё остальное — `git`, `node`, `python`, сам `claude` — это отдельные программы. Пока ты их не поставишь, для терминала это просто незнакомые слова.

Проверить легко. Например, если `claude` выдаёт `command not found`, значит, Claude Code ещё не установлен. Ставится он одной командой:

```bash
npm install -g @anthropic-ai/claude-code
```

После этого команда `claude` начнёт работать. Логика тут общая: **сначала ставим программу, потом зовём её по имени.** Если зовёшь то, чего нет, — терминал честно говорит, что не знает такого.

Как отличить эту причину от опечатки? Очень просто. Опечатка — это когда правильное имя ты знаешь и в существовании программы уверен (`ls`, `cd`, `git`). А вот если ты впервые пробуешь что-то новое из инструкции и сразу получаешь `command not found` — почти наверняка эту программу ещё не установили. Инструкции часто молчаливо предполагают, что нужный инструмент у тебя уже стоит, а у новичка его нет.

## Причина 3: программа есть, но не в PATH

Самая редкая из трёх и самая загадочная для новичка. Программа установлена, ты в этом уверен, а терминал упрямо твердит `command not found`. Дело в PATH.

PATH — это список папок, в которых терминал ищет программы. Когда ты пишешь `claude`, он не обыскивает весь диск, а заглядывает только в эти несколько папок из списка. Если программа лежит где-то ещё — терминал её не найдёт, хоть она и установлена.

Представь почтальона, который разносит письма только по нескольким знакомым улицам из своего списка. Дом есть, человек в нём живёт, но если улицы нет в списке — почтальон туда просто не пойдёт. PATH работает так же: программа на диске есть, но если её папки нет в списке, терминал её «не видит».

Звучит сложно, но на практике тебе почти не придётся лезть в PATH руками. Что стоит знать:

- Установщики обычно сами кладут программу в нужную папку и прописывают её в PATH — поэтому причина 2 встречается куда чаще, чем эта.
- Иногда после установки нужно просто **закрыть терминал и открыть заново**. Список PATH читается один раз при старте, а не обновляется на лету, поэтому свежая программа подхватывается только в новом окне.
- Если и после перезапуска не работает — это тот случай, когда лучше не угадывать, а попросить помощи. Ковыряться в PATH вслепую — верный способ что-нибудь сломать по-настоящему. И тут очень кстати приходит Claude Code.

## Как чинить спокойно (и где помогает Claude)

Заметил порядок? От частого к редкому: сначала проверяем опечатку, потом — установлена ли программа, и только потом думаем про PATH. В девяти случаях из десяти всё решается на первых двух шагах.

Алгоритм, который стоит довести до автоматизма:

1. **Перечитай первое слово** в строке по буквам. Опечатка? Исправь.
2. **Программа точно установлена?** Если нет — поставь и попробуй снова.
3. **Закрой и открой терминал заново.** Часто этого достаточно.
4. **Всё ещё не работает?** Покажи ошибку Claude Code.

Последний пункт — про то, ради чего стоит держать Claude Code под рукой. Скопируй ему текст ошибки прямо в терминал, и он прочитает сообщение, объяснит человеческими словами, в чём дело, и подскажет конкретную команду для починки — особенно в мутных случаях с PATH, где новичку легко закопаться.

Но даже с таким помощником полезно понимать причину самому. Так ты проверяешь, что совет верный, и в следующий раз чинишь за десять секунд, не открывая чат. `command not found` — это не приговор и не поломка. Это короткая записка от терминала: «не узнал имя». Теперь ты знаешь, что ответить.
