Как создаются чекпоинты
Официальная документация Claude Code (code.claude.com/docs/en/checkpointing) описывает механизм так: по мере работы Claude Code автоматически отслеживает файловые правки Claude, позволяя быстро отменить изменения и вернуться к прежнему состоянию, если что-то пошло не так. Каждый отправленный промпт, начинающий новый ход, создаёт новый чекпоинт. Claude Code хранит файловые снапшоты для 100 последних чекпоинтов сессии и сохраняет чекпоинты вместе с историей диалога - поэтому /rewind работает даже после того, как вы возобновили сессию.
Как открыть меню и что выбрать
Открыть меню отмены - команда /rewind, либо двойное нажатие Esc при пустом поле ввода (если в поле есть текст, двойной Esc просто очистит его - очищенный текст сохраняется в историю ввода, доступную по стрелке вверх). Меню показывает каждый отправленный промпт сессии, и для выбранной точки доступны варианты:
- Restore code and conversation - откатить и код, и диалог к этой точке
- Restore conversation - вернуться к этому сообщению, оставив текущий код
- Restore code - откатить файловые изменения, оставив диалог
- Summarize from here - сжать диалог начиная с этой точки в резюме, освобождая место в контекстном окне
- Summarize up to here - сжать диалог до этой точки, оставив более поздние сообщения нетронутыми
- Never mind - вернуться к списку без изменений
Два варианта восстановления кода появляются только если у выбранного чекпоинта есть отслеженные файловые изменения после него.
Что чекпоинты не отслеживают
Официальное ограничение: чекпоинты не отслеживают изменения файлов через bash-команды - например,
rm file.txt,mv old.txt new.txt,cp source.txt dest.txt. Такие модификации нельзя отменить через /rewind - отслеживаются только правки через встроенные инструменты редактирования файлов Claude.
Правки сабагентов обычно не попадают в чекпоинты родительской сессии - исключение составляет форкнутый скилл (context: fork), работающий на переднем плане в рамках вашего хода. Любой другой сабагент, включая фоновый форк по умолчанию и фоновый /code-review --fix, требует отмены через git. Также не восстанавливаются: правки, сделанные вручную вне Claude Code или в параллельных сессиях, и файлы по символическим или хардлинк-путям - в последнем случае Claude Code покажет предупреждение «Restored the code, but skipped N files».
Практические сценарии использования
Официально рекомендуемые случаи применения: изучение альтернативных вариантов реализации без потери исходной точки, быстрая отмена изменений, которые внесли баг или сломали функциональность, эксперименты с вариациями при уверенности, что можно вернуться к рабочему состоянию, и сжатие многословной сессии отладки с середины, сохранив исходные инструкции нетронутыми.
Почему это не замена git
Официальная документация прямо предупреждает: чекпоинты предназначены для быстрого восстановления на уровне сессии. Для постоянной истории версий и совместной работы нужно продолжать использовать систему контроля версий - git с коммитами, ветками и долгосрочной историей.