# /rewind: откатываем неудачный шаг

Курс: Claude Code: уровень профи — https://zero2claude.ru/learn/claude-code-pro
Канонический URL: https://zero2claude.ru/learn/claude-code-pro/0-3-rewind

Claude пошёл не туда? /rewind или двойной Esc возвращают к любому прошлому запросу — откатывают код, разговор или и то и другое. Но откат видит только правки, сделанные инструментами редактирования, а не командами.

Ты попросил Claude поправить функцию, а он переписал половину файла и сломал соседнее. Можно объяснять, что пошло не так, и просить вернуть как было. Есть путь быстрее — откатиться.

## Как открыть откат

Два равноценных способа:

```
/rewind
```

или **двойное нажатие `Esc`**, когда строка ввода пустая.

Откроется список твоих прошлых запросов. Выбираешь тот, *до которого* нужно вернуться, и решаешь, что именно восстановить.

## Что можно восстановить

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

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

Если в проекте открыта панель с диффом, она может ещё какое-то время показывать откатанную правку — панель обновляется при следующем изменении. Правду о файлах всегда скажет `git status`.

## Граница отката

Это самое важное в уроке. Claude меняет файлы двумя способами:

- **инструментами редактирования** — когда сам правит текст файла;
- **командами оболочки** — `rm`, `mv`, `sed`, запуск скриптов.

Чекпоинты, на которых держится `/rewind`, видят **только первый способ**. Если Claude удалил файл командой `rm`, откат его не вернёт. Если меню предлагает только «восстановить разговор» без варианта «код», значит, изменение было сделано командой.

Отсюда привычка: перед рискованной задачей сделай коммит. Тогда всё, до чего не дотянется `/rewind`, вернёт `git restore`.

**Осторожно.** 
Чтобы правку можно было откатить, полезно прямо просить Claude: «используй инструмент редактирования, а не команду оболочки». А главное — коммить перед каждой рискованной задачей: /rewind не заменяет git, а дополняет его.
