Перейти к основному содержанию

Claude Code process exited with code 1: найдите ветку перед переустановкой

L
9 мин чтенияClaude Code

Если Claude Code завершился с code 1, сначала определите поверхность запуска и владельца ошибки: терминал, IDE, auth, PATH, wrapper, версия или статус.

Claude Code process exited with code 1: найдите ветку перед переустановкой

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

Начните с доски ветвления

Схема поверхности запуска для диагностики Claude Code exit code 1

Код выхода 1 полезен как симптом, но слаб как диагноз. В русскоязычных обсуждениях рядом смешиваются общие ответы про неработающий Claude, запуск из России, официальная документация troubleshooting, GitHub issues, Reddit и статьи про hook exit codes. Поэтому материал не должен обещать один универсальный fix, а должен быстро разделять ветки.

Видимое условиеПервая веткаБезопасное первое действиеПроверка того же путиКогда эскалировать
Команда падает в обычном терминалеТерминал или установкаОткройте новый shell в той же папке и запустите claude doctorПовторите ту же командуНовый shell и doctor сохраняют ту же ошибку
Ошибка только в VS Code, Cursor или JetBrainsIDE-подпроцессВыполните ту же команду в системном терминалеСравните IDE и raw terminalRaw terminal работает, IDE все еще падает
Сбой начался после login, SSO, смены аккаунта или ключаAuth и сессияПроверьте /status и обновите только активный путь входаПовторите тот же login или запускСтатус нормальный, а путь входа все еще падает
Windows или shell не находят binary, Git или PATHPATH и установкаПроверьте where claude, git --version, PATHНовый терминал видит ожидаемый binaryПререквизиты верны, но запуск падает
Ошибка появляется через npm, hook, alias или CIWrapperОбойдите 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 окружения и сессии для ошибок запуска Claude Code

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 нужно сохранить версию и поверхность, а не уничтожать состояние до отчета.

Проверка того же пути и пакет доказательств

Пакет доказательств для нерешенных ошибок Claude Code exit code 1

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/PATHwhere claude, Git, PATHReinstall без evidenceНовый terminal видит binary
IDERaw terminal comparisonОбвинять Claude Code глобальноIDE path совпадает с raw terminal
EnvPATH/proxy/token/shell startupПечатать secretsОдна env-разница объясняет сбой
WrapperОбойти wrapper и вернуть слоиМенять Claude Code первымDirect path работает, wrapper изолирован
Status/versionВремя status и versionСтарые отчеты как текущий proofТот же путь восстановился после события
UnknownEvidence packetСлучайные fixesReport содержит 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.

Поделиться:

laozhang.ai

Один API, все модели ИИ

AI Изображения

Gemini 3 Pro Image

$0.05/изобр.
-80%
AI Видео

Sora 2 · Veo 3.1

$0.15/видео
Async API
AI Чат

GPT · Claude · Gemini

200+ моделей
Офиц. цена
Обслужено 100K+ разработчиков
|@laozhang_cn|$0.1 бонус