Claude Code может сохранить разговор, но это ещё не означает, что запущенный вчера тест или сервер всё ещё работает. Можно восстановить сессию и увидеть весь контекст, хотя прежний процесс уже завершён. Можно, наоборот, оставить процесс в фоне, но потерять понятный критерий готовности. Для длительной задачи нужны сразу три вида непрерывности: задача, сессия и процесс.
Надёжная схема начинается не с команды. Сначала определите, что должно пережить закрытие терминала, выход из Claude Code, сон компьютера или полное выключение. Затем укажите проверяемый результат и место, где сохраняется прогресс. Только после этого выбирайте /goal, background Bash, фоновую сессию, /loop или облачный запуск.
Что именно должно продолжаться
У разных сценариев разные владельцы жизненного цикла:
| Требование | Подходящий механизм | Граница |
|---|---|---|
| Claude должен делать следующий turn, пока условие не выполнено | /goal | Работает в рамках сессии и проверяет только показанные в диалоге доказательства |
| Долгий тест или сервер не должен блокировать разговор | Background Bash, Ctrl+B, /tasks | Команда удаляется при выходе из Claude Code |
| Сессия Claude должна отделиться от текущего терминала | Agent view и background session | Выполнение остаётся на локальном компьютере |
| Нужно вернуться к тому же разговору | --continue, --resume, /resume | Возвращается transcript, а не старый Bash-процесс |
| Нужно периодически проверять состояние в открытой сессии | /loop или cron tools | Планирование привязано к сессии и имеет срок действия |
| Задача должна работать при выключенном ноутбуке | Remote session, Routines или CI | Нужна настроенная облачная среда, локальные незакоммиченные файлы туда не попадают автоматически |

Документация интерактивного режима прямо указывает: фоновые Bash-команды очищаются, когда Claude Code завершается. Поэтому Ctrl+B решает задачу «продолжать разговор, пока команда выполняется», но не «закрыть программу и вернуться утром».
Сделайте окончание задачи наблюдаемым
Фраза «закончи миграцию» позволяет агенту самому решить, достаточно ли изменить несколько файлов. Для многочасовой работы это опасно. Условие готовности должно включать результат, способ проверки, запреты и предел автономности.
text/goal перевести модуль payments на новый async API; завершить, когда npm test -- payments и npm run typecheck возвращают 0, а rg "legacyPaymentClient" src не находит вызовов; не менять schema базы и публичный response shape; остановиться после 15 turns или при необходимости deployment/credentials
Согласно официальному описанию /goal, после каждого turn отдельная небольшая модель оценивает условие по материалу разговора. Она не запускает тесты и не читает репозиторий самостоятельно. Значит, Claude должен выполнить решающую проверку и показать результат в transcript. Время работы или уверенное сообщение агента сами по себе не доказывают готовность.
Активный goal восстанавливается через --continue или --resume, хотя счётчик времени, turns и tokens начинается заново. Это полезно для работы в несколько подходов, но пауза между подходами не превращается в скрытое выполнение.
Фоновая команда и фоновая сессия решают разные проблемы
Background Bash подходит для тестов, сборки, dev-сервера, Docker или Terraform. Попросите Claude запустить команду в фоне либо нажмите Ctrl+B во время Bash tool. В tmux комбинацию приходится нажать дважды. Claude выдаёт task ID, пишет output в файл и может позже прочитать его. /tasks или /bashes показывает текущие задачи и позволяет подключиться или остановить их.
Этот режим сохраняет отзывчивость одной сессии. Он не обеспечивает жизнь процесса после выхода. Кроме того, текущая документация указывает предел output в 5GB: при его превышении задача завершается. Для шумных процессов лучше писать ограниченный лог или передать сервис настоящему process manager.
Если слабое место — именно окно терминала, используйте background sessions. Agent view запускает каждую такую сессию как отдельный процесс под локальным supervisor, а не как дочерний процесс терминала:
bashclaude agents claude attach <id> claude logs <id> claude stop <id> claude respawn <id>
Сессию можно отсоединить и подключить снова. Когда законченная сессия остаётся без терминала около часа, supervisor может остановить её процесс, сохранив transcript и state на диске; следующее подключение поднимет новый процесс с прежним состоянием. Но это локальная устойчивость. Выключение компьютера, сон, потеря сети, лимит usage или непройденный permission prompt по-прежнему останавливают работу.
Возобновление диалога не восстанавливает внешнее состояние
Документация по сессиям объясняет, что CLI сохраняет разговоры непрерывно. claude --continue открывает последнюю сессию текущего каталога, claude --resume показывает выбор, а /resume позволяет переключиться из активного разговора.
После восстановления не начинайте с короткого «продолжай». Сначала проверьте реальность:
- Прочитайте постоянный файл цели и прогресса.
- Уточните repository, branch, worktree и
git status. - Проверьте наличие процесса средствами ОС или его runner, а не по старому сообщению Claude.
- Прочитайте последний проверочный artefact или лог.
- Повторите минимальную детерминированную проверку.
- Убедитесь, что goal, лимит времени и запреты всё ещё актуальны.
- Только затем attach, respawn или перезапускайте команду.
Такой порядок отделяет сохранённое знание от живого состояния. Transcript отвечает на вопрос «что мы решили», Git и файлы — «что изменилось», process manager — «что сейчас выполняется», а тест — «достигнут ли результат».
/loop полезен для ожидания, но не заменяет устойчивый scheduler
/loop и cron tools позволяют повторять prompt, ждать deployment или проверять долгую сборку внутри текущей conversation:
text/loop 10m проверь integration job; если он завершился ошибкой, прочитай последний failing step и запиши минимальную причину
Scheduled prompt запускается между turns и ждёт, если Claude занят. Повторяющиеся задачи автоматически истекают через семь дней. Пропущенные интервалы не воспроизводятся по одному. При resume можно вернуть только неистёкшее расписание; background Bash и monitor task не восстанавливаются.
Если нужен другой срок жизни, смените runner:
- Desktop scheduled tasks имеют доступ к локальным файлам, но требуют включённый компьютер;
- Remote sessions, по документации Desktop, работают в инфраструктуре Anthropic и продолжаются после закрытия приложения или выключения компьютера;
- Routines создают отдельную облачную сессию на каждый запуск и оставляют результат для проверки;
- CI подходит для расписаний и событий репозитория, где нужны повторяемые логи и review gates.
У cloud runner другой контекст. Он не видит незакоммиченные локальные изменения и может не иметь нужных secrets, services или MCP. Перед переносом зафиксируйте branch, environment и входные артефакты. Завершившийся cloud run означает лишь окончание запуска, а не успех задачи.
Сохраняйте прогресс вне model context
Минимальный persistent state можно держать в TASK_PROGRESS.md:
mdЦель и ограничения - что должно измениться и что менять запрещено Готово - milestone, файлы, проверочная команда и результат Текущий blocker - точная ошибка, минимальное воспроизведение, уже проверенные гипотезы Следующий шаг - одно конкретное действие и условие остановки

В исследовательском примере Anthropic о длительной научной работе Claude использовались progress file, test oracle, явные правила и Git checkpoints. Это HPC-сценарий, а не обязательная конфигурация продукта. Полезный принцип шире: единственная копия статуса не должна жить в контекстном окне.
Для параллельных lane используйте отдельные worktree и непересекающиеся файлы. Если действительно требуется группа агентов, руководство по Claude Code Agent Teams помогает с координацией; оно не отменяет условие готовности для каждого worker.
Автономность нужно ограничивать, а не просто включать
Ночной запуск часто останавливается на permission prompt. Режимы разрешений дают несколько вариантов. acceptEdits уменьшает паузы для редактирования; dontAsk разрешает только заранее одобренные tools; Auto mode выполняет действия без prompts, но остаётся research preview с меняющимися требованиями к версии, плану, модели, provider и настройкам администратора.
bypassPermissions полностью пропускает permission layer. Anthropic предназначает его для изолированных containers или VM и предупреждает об отсутствии защиты от prompt injection. Для unattended task безопаснее сузить файловую систему, сеть, credentials, branch и budget, чем выдавать весь доступ рабочему ноутбуку.
Заранее определите, что записать при исчерпании usage. Если лимит уже остановил работу, сначала сохраните цель, diff, последнюю проверку и следующий шаг, а затем используйте отдельную диагностику лимитов Claude Code.
Длительная задача управляема, когда в любой момент известны три ответа: какой runtime сейчас владеет процессом, где лежит долговечное состояние и какой факт завершает работу. Тогда перезапуск — это проверяемое восстановление, а не надежда, что слово «продолжай» вернёт исчезнувший процесс.



