Откатить изменения Claude Code: /rewind и чекпоинты
Как откатить изменения Claude Code: команда /rewind и двойной Esc, восстановление кода или диалога, чекпоинты и то, что машина времени не вернёт.
С каждым вашим сообщением Claude Code тихо сохраняет чекпоинт кода — а команда /rewind (или двойное нажатие Esc) откатывает файлы, разговор или и то и другое к любой из этих точек. Это машина времени для ваших файлов и лучшее лекарство от тревоги для непрограммиста.
Я Евгений, и в первые сессии меня преследовал один кошмар: «а вдруг Claude что-то сломает, а я даже не пойму, что именно?» Чекпоинты этот кошмар закрыли. Можно разрешать Claude амбициозные вещи именно потому, что дорога назад существует всегда. Разберём, где кнопка, и — что не менее важно — от чего она не спасает.
Как отменить последние изменения в Claude Code?
Запустите /rewind или дважды нажмите Esc при пустом поле ввода. Откроется меню со списком всех сообщений этой сессии. Выберите момент, когда всё ещё было хорошо, и решите, что восстановить. Важная мелочь: если в поле ввода есть текст, двойной Esc сначала очистит его, а не откроет меню — очищенный текст уходит в историю ввода, и стрелка вверх вернёт его обратно.
/rewind
То же самое — двойной Esc на пустой строке ввода. Чекпоинты переживают перезапуск: они сохраняются между сессиями и живут по умолчанию 30 дней.
Восстановить код, разговор — или всё сразу?
В меню отката три варианта восстановления. Restore code and conversation возвращает всё — полный дубль два. Restore conversation отматывает чат к выбранному сообщению, оставляя текущие файлы, — идеально, когда код в порядке, а разговор ушёл не туда. Restore code откатывает изменения файлов, сохраняя переписку, — удобно, когда хочется, чтобы Claude помнил, что уже пробовали, но без самого результата. После восстановления разговора ваш исходный запрос из той точки снова появляется в поле ввода — можно отправить заново или переписать.
> /rewind ◇ Restore code and conversation ◇ Restore conversation ◇ Restore code ◇ Summarize from here ◇ Summarize up to here ◇ Never mind
Два пункта Summarize — тихий бонус этого меню: они сжимают часть переписки в краткое резюме, вообще не трогая файлы, и освобождают контекст, когда длинный заход в отладку раздувает сессию. Похоже на /compact, только вы сами выбираете, какую сторону от выбранного сообщения ужать.
Почему откат не работает на некоторых изменениях?
Потому что чекпоинты отслеживают только правки, сделанные собственными файловыми инструментами Claude. Три слепые зоны дают большинство жалоб «rewind не работает». Первая — bash-команды: если Claude выполнил в терминале rm file.txt или mv old.txt new.txt, откат этого не вернёт. Вторая — внешние изменения: ваши собственные правки вне Claude Code и правки из другой параллельной сессии обычно не фиксируются. Третья — срок: чекпоинты вычищаются вместе с сессиями через 30 дней (настраивается). Если потеря попала в слепую зону, спасает git, а не rewind.
Документация формулирует точно: чекпоинты дополняют систему контроля версий, а не заменяют её. Rewind — кнопка «ой, верни последние двадцать минут», git-коммиты — ритуал «эта версия работала, высекаем в камне». Используйте оба. Скажи Claude: «закоммить текущее рабочее состояние в git, прежде чем пробовать этот эксперимент» — ремень плюс подтяжки.
Как восстановить сессию Claude Code целиком?
Это соседний, но другой вопрос. Rewind работает внутри разговора: откатывает файлы и сообщения к точке в текущей сессии. Если же вы закрыли терминал и хотите вернуть весь разговор целиком, нужны команды сессий: claude --continue поднимет последнюю беседу в этой папке, а claude --resume покажет список всех. Приятно, что чекпоинты сохраняются между сессиями: восстановили вчерашний разговор — и его точки отката снова доступны через тот же /rewind.
Когда чекпоинты реально нужны?
Три сценария из моей практики. Перебор вариантов: пусть Claude построит подход А, откатите код, попросите подход Б, сравните — не теряя исходной точки. Восстановление после ошибок: что-то сломало приложение, и непонятно что, — откатитесь к последней рабочей точке и пройдите путь заново с более удачным запросом. И освобождение контекста: сожмите шумный кусок отладки с середины, чтобы сессия осталась острой. А если хочется сохранить обе ветки развития событий — это другой инструмент: claude --continue --fork-session ответвляет сессию, оставляя оригинал нетронутым.
Лаба: сломайте что-нибудь нарочно
0/5Финал: откат помогает, только если в момент паники вы помните о его существовании. Поэтому отрепетируйте панику один раз, спокойно, в лабе выше. Два Esc, одно меню — катастрофа отменена. А завтра вы доверите Claude что-то по-настоящему амбициозное.

Автор
Евгений Арсентьев
PhD · Директор по продукту (CPO) в healthtech-компании
▌ Чтение — это синяя пилюля
Хочешь реально это построить?
Гайды объясняют. Бесплатный курс превращает — персонально, с геймификацией и заточенный на быстрый запуск.
◉ Принять красную пилюлю →