Чтобы отменить изменения Claude Code, используйте /rewind для правок текущей сессии, git для всего закоммиченного или восстановимого из репозитория и чекпоинты AgentVera, когда нужно откатить всю рабочую папку к началу конкретного хода агента. Каждый способ закрывает свой пробел. Знание, за какой браться, убережёт от потери работы при отмене работы агента.
В руководстве сравниваются все три, показаны точные шаги для каждого и перечислено, что каждый из них пропускает. Именно последнее обычно и подводит.
Короткий ответ
| Вы хотите отменить | Используйте | Осторожно |
|---|---|---|
| Последние несколько правок в этой сессии Claude Code | /rewind или двойной Esc | Изменения от команд оболочки не отслеживаются |
| Изменения в одном отслеживаемом файле | git restore <file> | Незакоммиченные правки в этом файле пропадут |
| Всё после последнего коммита | git stash -u или git reset --hard + git clean | clean удаляет неотслеживаемые файлы насовсем |
| Закоммиченное изменение | git revert <commit> | Создаёт новый коммит, отменяющий его |
| Один ход агента, включая файлы, созданные им командами оболочки | Чекпоинты AgentVera | Откатывает и других агентов в той же папке |
Вариант 1: /rewind внутри Claude Code
Claude Code сохраняет чекпоинты, пока правит файлы. Чтобы вернуться, дважды нажмите Esc или выполните /rewind. Вы выбираете сообщение из сессии, затем решаете, что восстановить:
- Только код: файлы возвращаются к состоянию на момент этого сообщения, диалог остаётся.
- Только диалог: диалог возвращается назад, файлы остаются как есть.
- Оба: чистый шаг назад к этой точке.
Это самая быстрая отмена, пока вы ещё в сессии, и правильный первый ход, когда агент только что сделал плохую правку.
Что он пропускает: чекпоинты Claude Code отслеживают правки, которые делают его собственные файловые инструменты. Изменения, сделанные командами оболочки, такими как rm, mv, генератор кода или скрипт миграции, не отслеживаются. Изменения из других сессий или других инструментов в той же папке тоже. /rewind — удобство, а не замена системы контроля версий.
Вариант 2: git
Git — это отмена, которая работает для любого инструмента, если то, что вы хотите сохранить или отбросить, видно git.
# See what changed
git status
git diff
# Throw away changes to one tracked file
git restore src/api/user.ts
# Park everything, including new files, and keep it in case you need it
git stash -u
# Drop all uncommitted changes to tracked files
git reset --hard
# Delete untracked files and folders (check first with -n)
git clean -n -d
git clean -f -d
# Reverse a commit the agent already made
git revert <commit>
Две привычки делают git гораздо лучшей отменой для работы агентов:
- Коммитьте перед тем, как запускать агента на задачу. Тогда
git diffпоказывает ровно то, что сделал агент, аgit stash -uилиgit reset --hardвозвращает вас назад. - Давайте каждому агенту свой worktree. Тогда отмена одного агента никогда не затрагивает работу другого. См. git worktree для параллельных агентов.
Что он пропускает: всё между коммитами. Если вы делали собственные правки в тех же файлах, пока агент работал, git reset --hard сбросит и их. git clean удаляет неотслеживаемые файлы навсегда, поэтому всегда сначала запускайте его с -n.
Вариант 3: чекпоинты AgentVera
AgentVera добавляет отмену по ходам, которая располагается между двумя предыдущими способами. Она работает с любым CLI-агентом, запущенным в локальной папке, а не только с Claude Code.
Как работают снимки
В начале каждого хода AgentVera делает снимок рабочей папки агента (его worktree или папки проекта). Снимок охватывает отслеживаемые и неотслеживаемые файлы и учитывает .gitignore. Он хранится как коммит под скрытым ref, refs/agentvera/checkpoints/…. Ваши ветки, индекс, stash и HEAD не меняются, а в git log и git status ничего не появляется.
На каждого агента хранятся последние 60 ходов. Удаление агента удаляет его снимки. Проект должен быть репозиторием Git. Первый снимок делается, когда вы отправляете агенту сообщение (или печатаете Claude в терминале).
Откат хода
- В заголовке панели агента нажмите Turns («Turns and rollback»). В узкой панели он находится в Options.
- В списке ходы идут от новых к старым, у каждого его номер, промпт и время. Ход, набранный прямо в терминале, показан как «Turn typed in the terminal».
- Раскройте ход, чтобы увидеть изменённые им файлы с пометками added, modified или deleted и числом строк.
- Нажмите Roll back this turn и подтвердите Roll back turn.
Рабочая папка возвращается к началу этого хода. Файлы, добавленные после него, удаляются, а изменённые или удалённые восстанавливаются. Затем AgentVera сообщает, сколько файлов он восстановил. Если агент ещё работает, диалог рекомендует сначала остановить его, чтобы он не продолжал править файлы, пока папка меняется под ним.
Отмена отката
Перед откатом AgentVera отдельно сохраняет текущее состояние. Оно появляется вверху списка как State before the rollback. Нажмите Return to this state, чтобы вернуть именно то, что у вас было. Так что пробовать откат безопасно. Если окажется, что изменение агента было нормальным, можно вернуться к нему.
С телефона
Если вы управляете агентами из Telegram, среди кнопок агента есть ↩️ Undo last turn. Она показывает список файлов и просит подтвердить. Потом можно всё равно отменить это из списка чекпоинтов на десктопе. См. управление через Telegram.
Что он пропускает
- Других агентов в той же папке. Откат восстанавливает папку, поэтому более поздние изменения других агентов, работающих в этой папке, тоже откатываются. Подтверждение говорит об этом. Worktree этого избегают.
- Игнорируемые файлы. Файлы, совпадающие с
.gitignore, такие какnode_modulesили локальный.env, не входят в снимок. - Всё за пределами папки. База данных, которую агент мигрировал, пакет, который он опубликовал, или push, который он сделал, не файлы в папке, так что никакой снимок папки их не отменит.
- SSH-агентов и обычные терминалы. Для агентов на удалённом сервере чекпоинт не создаётся, потому что их папки не на этом компьютере.
Что использовать и когда
- Агент только что сделал плохую правку, и вы ещё в сессии:
/rewind. - Агент запустил скрипт, который удалил или сгенерировал файлы: чекпоинты AgentVera или git, а не
/rewind. - Несколько ходов пошли не туда: откатитесь к началу первого плохого хода в Turns. Если передумаете, можно вернуться к текущему состоянию.
- Работа закоммичена:
git revert. - Нужен чистый лист для всей задачи:
git stash -uилиgit reset --hard, если вы закоммитили перед началом.
Чтобы отменять реже
Отмена — страховочная сетка, а не план. Несколько привычек сделают её нужной реже:
- Небольшие, чётко ограниченные промпты. Ход, меняющий три файла, легко проверить и легко откатить.
- Сначала план для рискованной работы. Пусть агент опишет изменение, прежде чем его делать.
- Проверяйте каждый ход. Ревью кода AgentVera умеет проверять код агента в конце каждого хода. О том, на что смотреть, рассказывает статья ИИ-ревью кода.
- Держите деструктивные команды за подтверждением. О разрешениях, изоляции в Docker и подтверждениях говорит статья безопасность ИИ-агентов для кода.
Итоги
Единой отмены для ИИ-агента кода не существует. /rewind быстр для правок текущей сессии. Git покрывает всё, что видит, и лучше всего работает, когда вы коммитите перед каждой задачей. Чекпоинты AgentVera заполняют пробел между ними: снимок всей рабочей папки на каждом ходу, откат, который сам можно отменить, и та же кнопка на телефоне. Страница чекпоинтов и повтора рассказывает и о повторе сессий, который проигрывает сессию Claude или Codex шаг за шагом, чтобы вы увидели, где всё пошло не так.