Если Claude Code сообщает, что процесс завершился с code 1, не начинайте с переустановки, очистки всего каталога настроек или замены ключей. Сообщение говорит только о том, что запущенный процесс вернул общий код отказа. Оно еще не показывает владельца: обычный терминал, IDE, Claude Desktop или Cowork, wrapper script, старая сессия, логин, PATH, версия или текущий статус сервиса.
Начните с доски ветвления

Код выхода 1 полезен как симптом, но слаб как диагноз. В русскоязычных обсуждениях рядом смешиваются общие ответы про неработающий Claude, запуск из России, официальная документация troubleshooting, GitHub issues, Reddit и статьи про hook exit codes. Поэтому материал не должен обещать один универсальный fix, а должен быстро разделять ветки.
| Видимое условие | Первая ветка | Безопасное первое действие | Проверка того же пути | Когда эскалировать |
|---|---|---|---|---|
| Команда падает в обычном терминале | Терминал или установка | Откройте новый shell в той же папке и запустите claude doctor | Повторите ту же команду | Новый shell и doctor сохраняют ту же ошибку |
| Ошибка только в VS Code, Cursor или JetBrains | IDE-подпроцесс | Выполните ту же команду в системном терминале | Сравните IDE и raw terminal | Raw terminal работает, IDE все еще падает |
| Сбой начался после login, SSO, смены аккаунта или ключа | Auth и сессия | Проверьте /status и обновите только активный путь входа | Повторите тот же login или запуск | Статус нормальный, а путь входа все еще падает |
| Windows или shell не находят binary, Git или PATH | PATH и установка | Проверьте where claude, git --version, PATH | Новый терминал видит ожидаемый binary | Пререквизиты верны, но запуск падает |
| Ошибка появляется через npm, hook, alias или CI | Wrapper | Обойдите wrapper и запустите базовый claude | Возвращайте слои по одному | Direct path работает, wrapper возвращает сбой |
| Падает только старый workspace или старый чат | Состояние сессии | Создайте минимальную новую сессию | Повторите маленькую задачу | Новая сессия падает так же |
| Сбой начался после обновления или во время инцидента | Версия или статус | Запишите версию и время status check | Повторите тот же путь после изменения статуса | Собран короткий пакет доказательств |
Цель этой таблицы - не дать длинный список случайных действий. Она удерживает один принцип: меняйте одну переменную, затем проверяйте тот же путь. Если исходный сбой был в VS Code, успешный системный терминал еще не означает, что IDE исправлена. Если сбой был в npm script, успешный прямой запуск только показывает, что wrapper подозрителен.
Что означает это сообщение
Такая строка означает общий отказ процесса. Такой отказ может произойти до сетевого запроса, до получения request id, внутри IDE-подпроцесса, после hook, при чтении конфигурации, во время auth refresh или в момент деградации сервиса. Поэтому ответ "просто перелогиньтесь" или "просто reinstall" слишком хрупкий.
Разделите видимую строку и фактического владельца. Если позже в логах появился HTTP 500, request id или server error, это уже другая ветка. Если появились quota, rate limit или usage window, это тоже другое задание. Такой разбор остается владельцем только тогда, когда пользователь реально видит process-exit symptom и еще не получил более узкое HTTP-доказательство.
Практическое правило простое: сохраните поверхность запуска, измените одну вещь, проверьте ту же поверхность. Не стирайте одновременно config, token, cache, extension и PATH. Даже если после этого все заработает, вы потеряете причину и не сможете повторить fix в команде.
Статус, auth и login
Эта ветка подходит, если проблема началась после входа, смены аккаунта, перехода между подпиской и API key, SSO, OAuth, корпоративной сети или заметного сбоя сервиса. Статус Anthropic и Claude Code volatile: проверка должна быть привязана ко времени, а не к старому скриншоту.
Сначала откройте status page и запишите время. Если Claude Code успевает открыть интерактивный режим, используйте /status, чтобы понять активный маршрут и аккаунт. Если проблема явно в login path, обновите именно этот путь: logout/login, OAuth refresh или documented diagnostic command. Не вращайте все ключи сразу и не удаляйте весь ~/.claude без причины.
Если evidence превращается в API 500, переходите к Claude Code API Error 500 guide. Если проблема на самом деле про billing route между API key и subscription, используйте Claude Code API key vs subscription guide. Если ошибка связана с лимитом использования, не смешивайте ее с process-exit page.
Windows, PATH и установка
PATH/install ветка нужна только при признаках: command not found, неправильный binary, missing Git, неподдерживаемый shell, permission error или first-run setup failure. Само сообщение code 1 не доказывает broken install.
В macOS или Linux проверьте claude --version, which claude и claude doctor. В Windows используйте where claude, git --version, новый PowerShell или WSL terminal и порядок PATH. Если свежий терминал не находит binary, это установка. Если binary отвечает версией, но падает только в проекте, IDE или script, не спешите reinstall.
Отдельный нюанс для русскоязычных пользователей - локальная сеть и доступность сервисов. Вопрос "как запустить Claude" часто смешивается с proxy или региональным доступом, но это не отменяет ветвление. Если raw terminal и status показывают сетевую проблему, это network/status branch; если IDE падает при той же сети, это IDE branch.
IDE, окружение и сессия

IDE branch часто недооценивают. VS Code, Cursor и JetBrains запускают subprocess с рабочей директорией, extension logs, integrated terminal shell, debugger settings и environment variables, которые могут отличаться от системного терминала. Публичные issue по похожей строке показывали, что debugger auto-attach может вмешиваться в subprocess. Это не доказывает такую причину для всех, но доказывает, что ветку надо проверять.
Сделайте raw-terminal comparison: в системном терминале зайдите в ту же папку, выполните pwd, claude --version и минимальный запуск Claude Code. Затем повторите то же из IDE. Если системный терминал работает, а IDE падает, смотрите extension output, shell type, workspace settings, launch/task config, auto-attach, injected env и working directory.
Если обе поверхности падают, переходите к environment и session. Проверяйте только то, что может влиять на запуск: PATH, proxy, token/auth variables, shell startup, Node shim, corporate network. Не печатайте secrets в issue. Для session branch создайте временную папку или новую минимальную сессию. Если она работает, old workspace является частью причины; если нет, вы сузили проблему.
Hooks, wrappers и CI
Hook или wrapper может вернуть code 1, а пользователь увидит это как падение Claude Code. Это особенно вероятно в npm scripts, shell aliases, pre-commit hooks, GitHub Actions, internal task runners и timeouts.
Сначала обойдите wrapper. Запустите базовый claude в свежем терминале. Если он работает, возвращайте слои по одному: alias, npm script, hook, CI, timeout wrapper. Первый слой, который возвращает ошибку, становится владельцем fix. Проверьте exit code, permissions, working directory, env, timeout и log redirection.
Если direct command работает, переустановка Claude Code почти всегда шум. Исправлять надо слой, который уже доказал отличие. В CI также проверьте наличие secret, права на workspace, non-interactive shell и то, не убивает ли timeout процесс раньше нормального завершения.
Обновление, regression или live incident
Version/status branch реален, но только как dated evidence. Запишите claude --version, installation route, OS, shell, IDE extension version, raw terminal result, время Anthropic status check и недавние изменения. Без этих данных issue выглядит как повтор той же общей строки.
Если сбой появился сразу после версии и исчез после fix или rollback, это version branch. Если несколько поверхностей падают во время active incident и восстанавливаются после него, это status branch. Если ни одно из этих условий не выполнено, не держитесь за объяснение "последнее обновление" только потому, что оно удобно.
Эта ветка полезна тем, что останавливает локальную суету. Во время инцидента не надо одновременно чистить cache, менять ключи и переустанавливать. Во время regression нужно сохранить версию и поверхность, а не уничтожать состояние до отчета.
Проверка того же пути и пакет доказательств

Fix завершен только тогда, когда работает исходный failing path. Если раньше падал VS Code, raw terminal success - это только классификация. Если раньше падал npm script, direct command success показывает wrapper branch, но не завершает задачу.
Перед эскалацией соберите короткий пакет: exact command or launch path, full error text, Claude Code version, OS, shell, IDE, status check time, active auth route, recent changes, raw terminal vs IDE or wrapper comparison, minimal reproduction, logs, session id, request id or correlation id if present. Если request id отсутствует, не придумывайте его: это может означать local launcher failure before API request.
Хороший issue звучит так: "macOS, zsh, version X, raw terminal works, VS Code fails, auto-attach disabled and same IDE path recovers". Плохой issue звучит так: "process exited with code 1, help". Разница - не в длине, а в наличии ветки.
Быстрые действия по веткам
| Ветка | Сначала | Не сначала | Доказательство успеха |
|---|---|---|---|
| Терминал | Новый shell, та же папка, claude doctor | Удаление всех настроек | Та же команда стартует |
| Auth/session | /status, точечный login refresh | Замена всех tokens | Тот же login path работает |
| Windows/PATH | where claude, Git, PATH | Reinstall без evidence | Новый terminal видит binary |
| IDE | Raw terminal comparison | Обвинять Claude Code глобально | IDE path совпадает с raw terminal |
| Env | PATH/proxy/token/shell startup | Печатать secrets | Одна env-разница объясняет сбой |
| Wrapper | Обойти wrapper и вернуть слои | Менять Claude Code первым | Direct path работает, wrapper изолирован |
| Status/version | Время status и version | Старые отчеты как текущий proof | Тот же путь восстановился после события |
| Unknown | Evidence packet | Случайные fixes | Report содержит branch notes |
Часто задаваемые вопросы
Это значит, что Claude Code сейчас недоступен?
Не обязательно. Code 1 говорит о сбое запущенного процесса. Проверяйте status, но держите его одной веткой, а не единственным объяснением. Локальный terminal, IDE, wrapper, auth и session тоже могут дать ту же строку.
Нужно ли первым делом переустановить Claude Code?
Обычно нет. Reinstall уместен, когда install/PATH branch имеет evidence: binary missing, broken PATH, missing Git, permission issue или corrupted install. Если binary работает в одном пути и падает в другом, reinstall не является первой диагностикой.
Что быстрее всего проверить безопасно?
Определите поверхность запуска и сравните raw terminal с тем путем, где произошел сбой. Затем измените одну вещь и повторите тот же path.
Что делать, если ошибка только в VS Code или Cursor?
Запустите ту же команду вне IDE. Если raw terminal работает, проверяйте extension logs, shell, workspace settings, debugger auto-attach, env variables и working directory before global config cleanup.
Это то же самое, что API 500 или rate limit?
Нет. Process exit может случиться до API request. Если появились HTTP 500 или request id, используйте API Error 500 guide. Если evidence показывает usage window или explicit limits, используйте Claude Code rate limit guide.
Рабочее правило
Считайте Claude Code exit code 1 задачей маршрутизации. Найдите поверхность запуска, проверьте наименее разрушительную ветку, измените одну переменную, повторите тот же путь и эскалируйте только с чистым пакетом evidence.
