Мастер Claude · Блок 13. Чего не было в курсе

Урок 91 из 93 · ~12 мин чтения

Чекпойнты и /rewind — отменить то, что уже сделано

Урок пока закрыт

Курс проходится последовательно.

К текущему уроку

Почему это важно именно вам

Весь курс мы наращивали автономию: агенты работают сами, задачи идут по расписанию, авторежим не спрашивает подтверждений. У этого есть обратная сторона, о которой честно стоит сказать: рано или поздно Claude сделает не то. Перепишет файл, который вы просили не трогать. Уйдёт по неверной ветке рассуждений и потянет за собой десять правок.

Вопрос не в том, случится ли это, а в том, сколько будет стоить откат. И здесь у Claude Code есть встроенная страховка, о которой знают не все: он снимает состояние ваших файлов перед каждым вашим сообщением. Это значит, что почти любую ошибку можно отмотать назад — не разбираясь, что именно поменялось, а просто вернувшись в точку, где всё было хорошо.

Для директора, который даёт системе всё больше свободы, это самая важная кнопка из всех, что мы разбирали.

Что это такое

Чекпойнт — снимок состояния файлов, который Claude Code делает автоматически перед каждым вашим сообщением. Хранится сотня последних снимков сессии; они сохраняются вместе с разговором, поэтому откатиться можно и после возобновления сессии. Живут столько же, сколько данные сессий — по умолчанию 30 дней.

/rewind — меню отката. Открывается командой или двойным нажатием Esc, когда строка ввода пуста. Показывает список ваших сообщений за сессию: выбираете точку и решаете, что с ней сделать.

Действий пять:

Действие Что происходит
Восстановить код и разговор и файлы, и беседа возвращаются к выбранной точке
Восстановить разговор беседа откатывается, файлы остаются как есть
Восстановить код файлы откатываются, беседа остаётся
Сжать отсюда и дальше часть разговора сворачивается в резюме, освобождая контекст
Сжать до этого места сворачивается всё, что было раньше, поздние сообщения остаются

Два пункта про код появляются только тогда, когда после выбранной точки действительно были правки файлов.

Откат разговора — это не только про ошибки

«Восстановить разговор, оставив код» — приём для другой задачи: работа сделана, но диалог оброс мусором из тупиковых веток. Вы откатываете беседу к чистому месту, а результат работы остаётся на диске. Контекст худеет, файлы целы.

Как работает на практике

Отмотать неудачную правку

Claude переписал документ не так, как вы хотели:

/rewind

или просто дважды Esc при пустой строке ввода. В меню выбираете своё сообщение перед неудачной правкой и берёте «восстановить код и разговор». Файлы возвращаются, разговор тоже, а текст вашего сообщения подставляется обратно в строку ввода — можно переформулировать и отправить заново.

Если в строке ввода был текст, двойной Esc сначала очистит его, а не откроет меню. Текст при этом не теряется: он уходит в историю ввода, и его можно вернуть стрелкой вверх.

Разгрузить контекст, не теряя работу

Сессия идёт третий час, контекст забит, но результат нужен. В меню /rewind выбираете момент, после которого началась вся полезная работа, и берёте «сжать до этого места». Ранняя часть беседы сворачивается в резюме, поздние сообщения остаются целыми. Это точечная альтернатива /compact, который сжимает всё подряд.

Сжатию можно задать фокус: подсветите пункт стрелками и впишите инструкцию в строку «add context» — например, «сохрани договорённости по формату отчёта».

Вернуться в разговор, стёртый /clear

Случайно очистили сессию? Если это произошло в том же запущенном Claude Code, в самом верху меню /rewind появится строка вида /resume <id> (previous session) — это ваш разговор до очистки. Работает, пока вы не вышли из программы; требуется версия 2.1.191 или новее.

Четыре вещи, которые откат не вернёт

Это главное, что нужно знать, чтобы не полагаться на чекпойнты вслепую.

  1. Изменения, сделанные командами в терминале. rm, mv, cp, запуск скрипта — всё это чекпойнты не отслеживают. Откат вернёт только то, что Claude менял своими инструментами правки файлов.
  2. Правки фоновых субагентов. Они работают за пределами чекпойнтов вашей сессии — включая фоновые скиллы и фоновый прогон проверки кода. Отменять их придётся через систему контроля версий.
  3. Изменения извне. Файлы, которые вы или другая сессия правили мимо этой сессии, не отслеживаются.
  4. Файлы по символическим ссылкам. Такие пути откат пропускает и честно предупреждает: «восстановил код, пропустил N файлов».

Что из этого следует практически

Чекпойнты — страховка от ошибок редактирования, а не от разрушительных команд. Именно поэтому в блоке 12 мы городили запрещающие правила и песочницу: rm -rf откатом не отменяется. Держите оба слоя: границы не дают сделать непоправимое, чекпойнты отменяют поправимое.

И если работа идёт в репозитории под контролем версий — коммит остаётся самой надёжной точкой отката. Чекпойнты удобнее (не нужно ничего делать заранее), но живут 30 дней и только внутри Claude Code.

Частые ошибки

Считать /rewind полной отменой. Он не трогает то, что сделали команды в терминале и фоновые агенты. Если Claude запускал скрипты — смотрите, что они наделали, отдельно.

Забывать про него в панике. Типичная реакция на неудачную правку — начать чинить руками или просить Claude «верни как было». Это дольше и грязнее, чем откатиться к точке.

Путать «восстановить разговор» и /branch. Откат меняет текущую сессию. Если нужно попробовать другой подход, сохранив исходную ветку целиком, — это /branch из Дня 36.

Полагаться на чекпойнты дольше месяца. Они уходят вместе с данными сессии по общему сроку хранения (по умолчанию 30 дней).

Не проверять, что откатилось. После восстановления кода бегло просмотрите файлы: пропущенные символические ссылки система назовёт в предупреждении, но заметить его нужно вам.

Когда нужно / когда нет

Откат уместен:

Не поможет:

Связь с другими уроками

День 19 — компакция. /rewind даёт точечное сжатие части разговора вместо сжатия всего подряд.

День 36 — ветки диалога. Откат правит текущую сессию, /branch создаёт параллельную и сохраняет исходную.

День 86–87 — разрешения и песочница. Границы против непоправимого, чекпойнты — против поправимого. Работают только вместе.

Задание на сегодня

  1. В рабочей сессии попросите Claude изменить какой-нибудь черновой файл.
  2. Нажмите Esc дважды при пустой строке ввода — откроется меню отката.
  3. Выберите точку до правки и «восстановить код и разговор». Убедитесь, что файл вернулся, а ваш запрос подставился в строку ввода.
  4. Отдельно попробуйте «сжать до этого места» на длинной сессии и посмотрите, как изменилось заполнение контекста (/context).
  5. Проверьте границу: попросите Claude удалить тестовый файл командой в терминале, потом попробуйте откатиться. Убедитесь сами, что файл не вернулся, — это то ограничение, которое важно знать заранее.

Критерий «выполнено»: вы вернули файл к прежнему состоянию через /rewind и своими глазами увидели, что удаление командой откат не отменяет.

Резюме

Следующий урок откроется после отметки.