Содержание
"Я запустил Claude Code, и изменение ушло туда, куда я не хотел." Именно для такого момента checkpointing и /rewind позволяют откатиться к состоянию "до того, как всё пошло не так" за пару нажатий клавиш. Claude Code автоматически делает снимок состояния перед каждым редактированием, и вы можете вернуться к предыдущему состоянию с помощью /rewind или двойного нажатия Esc.
В этой статье на основе официальной документации разбираются: что такое checkpointing, как им пользоваться, что восстанавливается, а что нет (самое важное), чем он отличается от Git, как восстанавливаться после ошибок и доступность. Ключевые моменты сразу. ① Он автоматически отслеживает редактирование файлов, и каждый промпт становится точкой восстановления. ② Откройте меню с помощью /rewind или двойного Esc и выберите, что восстановить: код, диалог или и то, и другое. ③ Но восстанавливаются только "правки файлов, сделанные Claude"—изменения, выполненные командами bash или вне Claude, не восстанавливаются. Именно поэтому он не заменяет Git.
Откатите изменения к состоянию "до того, как всё пошло не так"
— каждый промпт является точкой восстановления; вернитесь двойным нажатием Esc
1. Что такое checkpointing и /rewind
Официальное определение: "Claude Code автоматически отслеживает правки файлов, выполненные Claude, по мере работы, что позволяет быстро отменять изменения и откатываться к предыдущим состояниям, если что-то пошло не так." Снимок делается автоматически перед каждым редактированием, и вдобавок каждый отправленный вами промпт создаёт новый checkpoint (точку, к которой можно вернуться). Checkpoint-ы сохраняются между сессиями, поэтому к ним можно обращаться и в возобновлённых диалогах.
Иными словами, эта функция означает: "даже если вы передали дело ИИ и оно пошло не так, вы можете вернуться к безопасной точке за несколько нажатий клавиш." В интерактивном Claude Code (CLI) /rewind работает автоматически и включён по умолчанию.
2. Как этим пользоваться (/rewind и Esc Esc)
Открыть меню отката можно двумя способами: ввести /rewind или дважды нажать Esc, когда поле ввода пустое.
⚠️ Замечание про Esc Esc: если в поле есть текст, двойное нажатие Esc очищает ввод, а не открывает меню. Очищенный текст сохраняется в истории ввода, поэтому нажмите стрелку вверх, чтобы вернуть его. Чтобы наверняка открыть меню, сначала очистите поле ввода.
В меню перечислены все промпты, отправленные вами за сессию. Выберите нужную точку, затем выберите действие.
| Действие | Что делает |
|---|---|
| Restore code and conversation | Откатывает и то, и другое к этой точке |
| Restore conversation | Откатывает к этому сообщению, но сохраняет текущий код |
| Restore code | Откатывает только изменения файлов, диалог сохраняется |
| Summarize from / up to here | Сжимает контекст (это не откат; файлы не меняются) |
| Never mind | Выход без изменений |
После "Restore conversation" (и подобных действий) исходный промпт из выбранного сообщения восстанавливается в поле ввода, так что вы можете отправить его заново или отредактировать. "Restore code" с сохранением диалога позволяет переформулировать запрос с учётом того, что пошло не так—это сценарий, который вы будете использовать чаще всего на практике.
3. Что восстанавливается, а что нет (самое важное)
Это самая недопонимаемая часть функции. Checkpointing отслеживает только "изменения, сделанные инструментами редактирования файлов Claude (Write / Edit / NotebookEdit)." Любой другой побочный эффект откатом не отменяется.
⚠️ Не восстанавливается (указано в официальной документации)
- Изменения файлов командами bash:
rm file.txt,mv old.txt new.txt,cp source destи т. п. нельзя отменить через откат - Изменения вне сессии / из других сессий: ручные правки и правки параллельных сессий не фиксируются, если только они не затрагивают те же файлы
- Создание, перемещение или удаление каталогов / удалённые или сетевые файлы
Состояние базы данных, миграции, установка пакетов, сетевые вызовы—любой "побочный эффект, не являющийся правкой файла, также не откатывается" (в документации это прямо не прописано, но поскольку отслеживаются только изменения файлов через инструменты редактирования, это следует логически). Короче говоря, помните, что восстановить можно только "содержимое файлов, которые Claude переписал своими инструментами редактирования". А поскольку Claude может менять файлы и через Bash, безопасная практика — не полагаться чрезмерно на откат и делать коммиты в Git на ключевых этапах.
4. Чем это отличается от Git
В документации это формулируется так: "checkpoint-ы — это локальная 'отмена', а Git — это 'постоянная история'" и прямо сказано, что "checkpoint-ы дополняют, но не заменяют полноценный контроль версий."
- Автоматически, мгновенно, без настройки
- Идеально для экспериментов в рамках сессии
- Покрывают изменения файлов инструментами редактирования
- Очищаются через 30 дней (настраивается)
- Коммиты, ветки, долговременное хранение
- Фиксирует и изменения bash
- Можно делиться и проверять в команде
- Не исчезает (пока вы сами не удалите)
Разделение труда простое: checkpoint-ы для быстрой отмены внутри сессии, коммиты Git для долговечной истории. Делайте коммиты на ключевых этапах большой задачи, и вы сможете безопасно вернуться даже за пределами того, что покрывает откат (например, после изменений bash).
5. Восстановление после ошибок
/rewind также является инструментом восстановления, когда диалог ломается и не может продолжаться. Официальный справочник ошибок Claude Code применительно к ошибке 400, связанной с параллелизмом tool-use и блоками размышления, устами самого продукта говорит: "API Error: 400 ... Run /rewind to recover the conversation." Дважды нажмите Esc, чтобы вернуться к checkpoint-у до повреждённого хода, и продолжите оттуда. Это также основной способ восстановления при ошибке утечки тегов court / invoke (параллелизм tool_use).
⚠️ Замечание о версии: если вы на Opus 4.7 / 4.8, сначала выполните claude update. Согласно документации, версии до v2.1.156 могут вызывать эту ошибку при обычном использовании инструментов, и /rewind её не устраняет. Обновление в приоритете.
Если откат не достаёт до причины (например, при повреждении из-за сжатия контекста), можно также начать заново с /clear. По обработке ошибок в целом см. обзор ошибок Claude Code.
6. Доступность и хранение
В интерактивном Claude Code (CLI) это автоматически и включено по умолчанию—без особой настройки. В Agent SDK, напротив, это явный opt-in (например, enableFileCheckpointing); различайте эти два случая.
Что касается хранения, checkpoint-ы очищаются вместе с сессиями через 30 дней (настраивается). В документации не прописаны место хранения на диске, переключатель вкл/выкл и конкретный ключ конфигурации для срока хранения, поэтому в этой статье они не утверждаются (актуальное смотрите в официальной документации). Функция появилась в Claude Code v2.0.0 (сентябрь 2025) и тогда же преподносилась как "самая запрашиваемая функция" (дата релиза и предыстория — из вторичных источников).
Итог
Checkpointing и /rewind — это страховка, которая автоматически отслеживает правки файлов, сделанные Claude, и позволяет откатиться к состоянию "до того, как всё пошло не так" за несколько нажатий клавиш. Каждый промпт становится точкой восстановления, а меню вы открываете с помощью /rewind или двойного Esc, чтобы откатить код, диалог или и то, и другое. На практике центральный сценарий — это "Restore code с сохранением диалога", а затем переформулировка.
Главная оговорка: "восстанавливаются только правки файлов, сделанные Claude"—изменения командами bash, внешние изменения, операции с каталогами, базы данных и тому подобное — нет. Поэтому он не заменяет Git; делайте коммиты на ключевых этапах как правило. И /rewind также восстанавливает сломанный диалог, например при ошибке 400 (на старых версиях сначала claude update). Связанное: ошибка court/invoke, ошибки Claude Code, hooks.
FAQ
Q. Для чего нужен checkpointing?
A. Это страховка для быстрого отката изменений к состоянию "до того, как всё пошло не так." Claude Code делает снимок автоматически перед каждым редактированием, и каждый отправленный вами промпт становится точкой восстановления. Даже если вы передали дело ИИ и оно пошло не так, вы можете вернуться к предыдущему состоянию с помощью /rewind или двойного Esc. В интерактивном CLI это включено по умолчанию.
Q. Как этим пользоваться?
A. Введите /rewind или дважды нажмите Esc, когда поле ввода пустое, чтобы открыть меню. Из списка отправленных вами промптов выберите точку, к которой нужно вернуться, и выберите "Restore code and conversation", "Restore conversation" или "Restore code." Самое частое — "Restore code (сохранить диалог)", а затем переформулировка вашей инструкции с учётом того, что пошло не так. Учтите, что если в поле есть текст, двойное Esc вместо этого очистит его.
Q. Восстанавливаются ли файлы, созданные или удалённые через bash?
A. Нет. Восстанавливаются только изменения файлов, сделанные инструментами редактирования Claude (Write / Edit / NotebookEdit). Изменения командами bash (rm, mv, cp и т. п.), изменения вне сессии или из других сессий, создание/перемещение/удаление каталогов и удалённые файлы откатом не отменяются. То же касается "побочных эффектов, не являющихся правками файлов", таких как состояние базы данных. Именно поэтому стоит делать коммиты в Git на ключевых этапах.
Q. Заменяет ли он Git?
A. Нет. В документации это формулируется как "checkpoint-ы = локальная отмена, Git = постоянная история," и говорится, что он дополняет, но не заменяет контроль версий. Checkpoint-ы лучше всего подходят для быстрой отмены внутри сессии и очищаются через 30 дней (настраивается). Продолжайте использовать Git для коммитов, веток, долговременного хранения и командной работы.
Q. Можно ли им пользоваться, когда ошибка блокирует диалог?
A. Да. При ошибке 400, связанной с параллелизмом tool-use или блоками размышления, сам продукт говорит "Run /rewind to recover the conversation." Дважды нажмите Esc, чтобы вернуться к состоянию до повреждённого хода, и продолжите. Но версии до v2.1.156 могут не устранять это через /rewind, поэтому на Opus 4.7 / 4.8 сначала выполните claude update. См. также статью об ошибке court/invoke.