Чекпоинты
Контрольные точки и откат
Контрольные точки позволяют сохранять состояние диалога и откатываться к предыдущим моментам сессии Claude Code. Это незаменимо, когда нужно опробовать разные подходы, исправить ошибки или сравнить альтернативные решения.
Обзор
Контрольные точки позволяют сохранять состояние диалога и откатываться к предыдущим моментам, что обеспечивает безопасность экспериментов и позволяет прорабатывать несколько подходов. По сути, это снимки состояния диалога, которые включают:
- все отправленные сообщения;
- внесённые изменения в файлы;
- историю вызовов инструментов;
- контекст сессии.
Контрольные точки незаменимы при проработке разных подходов, откате после ошибок и сравнении альтернативных решений.
Ключевые понятия
| Concept | Description |
|---|---|
| Checkpoint | Snapshot of conversation state including messages, files, and context |
| Rewind | Return to a previous checkpoint, discarding subsequent changes |
| Branch Point | Checkpoint from which multiple approaches are explored |
Доступ к checkpoints
Получить доступ к checkpoints и управлять ими можно двумя основными способами:
С помощью сочетания клавиш
Нажмите Esc дважды (Esc + Esc), чтобы открыть интерфейс checkpoints и просмотреть сохранённые точки.
С помощью slash-команды
Для быстрого доступа используйте команду /rewind (псевдоним: /checkpoint):
Опции перемотки
При перемотке вам будет показано меню из шести опций:
- Восстановить код и переписку - откатить и файлы, и сообщения к этой контрольной точке
- Восстановить переписку - перемотать только сообщения, оставив текущий код без изменений
- Восстановить код - откатить только изменения файлов, сохранив полную историю переписки
- Суммировать отсюда и далее - сжать переписку начиная с этой точки в сгенерированное AI резюме, освободив место в контекстном окне. Сообщения до выбранной точки остаются нетронутыми. Файлы на диске не изменяются. Исходные сообщения сохраняются в транскрипте сессии. При желании можно указать инструкции, чтобы сфокусировать резюме на конкретных темах.
- Суммировать до этой точки - обратный вариант: сжать всё до выбранной точки в сгенерированное AI резюме, оставив сообщения начиная с этой точки нетронутыми. Вместе с «Суммировать отсюда и далее» это даёт двунаправленное, точечное сжатие контекстного окна. Файлы на диске не изменяются, а исходные сообщения сохраняются в транскрипте сессии.
- Отмена - отменить и вернуться к текущему состоянию
Примечание: после восстановления переписки или суммирования исходный prompt из выбранного сообщения возвращается в поле ввода, чтобы его можно было повторно отправить или отредактировать.
/clearбольше не является жёсткой границей (v2.1.191+):/rewindможет возобновить работу с контрольной точки, созданной до выполнения/clear. Очистка переписки больше не приводит к безвозвратной потере предшествующего состояния - при необходимости можно перемотать назад через точку очистки, если снова понадобится более ранний код или контекст.
Автоматические контрольные точки
Claude Code создаёт контрольные точки автоматически:
- На каждый пользовательский prompt - новая контрольная точка создаётся при каждом пользовательском вводе
- Сохраняемость - контрольные точки сохраняются между сессиями
- Автоочистка - контрольные точки автоматически удаляются через 30 дней
Это значит, что вы всегда можете перемотать переписку к любой предыдущей точке - от нескольких минут до нескольких дней назад.
Сценарии использования
| Scenario | Workflow |
|---|---|
| Exploring Approaches | Save → Try A → Save → Rewind → Try B → Compare |
| Safe Refactoring | Save → Refactor → Test → If fail: Rewind |
| A/B Testing | Save → Design A → Save → Rewind → Design B → Compare |
| Mistake Recovery | Notice issue → Rewind to last good state |
Использование контрольных точек
Просмотр и откат
Дважды нажмите Esc или выполните /rewind, чтобы открыть браузер контрольных точек. Появится список всех доступных контрольных точек с временными метками. Выберите любую из них, чтобы откатиться к соответствующему состоянию.
Информация о контрольной точке
Для каждой контрольной точки отображается:
- Время создания
- Изменённые файлы
- Количество сообщений в диалоге
- Использованные инструменты
Практические примеры
Пример 1. Проверка разных подходов
Пример 2: Исправление ошибок
Пример 3: Безопасное экспериментирование
Пример 4: Подходы с ветвлением
Хранение контрольных точек
Claude Code автоматически управляет контрольными точками:
- Контрольные точки создаются автоматически при каждом запросе пользователя
- Старые контрольные точки хранятся до 30 дней
- Контрольные точки очищаются автоматически, чтобы избежать неограниченного роста хранилища
Шаблоны рабочих процессов
Стратегия ветвления для исследовательских задач
Когда вы прорабатываете несколько подходов:
Паттерн безопасного рефакторинга
При внесении существенных изменений:
Рекомендации
Поскольку контрольные точки создаются автоматически, вы можете сосредоточиться на работе, не беспокоясь о ручном сохранении состояния. Тем не менее учитывайте следующие рекомендации:
Эффективное использование контрольных точек
✅ Рекомендуется:
- Просматривать доступные контрольные точки перед откатом
- Использовать rewind, когда нужно исследовать альтернативные варианты
- Сохранять контрольные точки для сравнения разных подходов
- Понимать, что делает каждый вариант rewind (восстановить код и переписку, восстановить только переписку, восстановить только код или сформировать резюме)
❌ Не рекомендуется:
- Полагаться исключительно на контрольные точки для сохранности кода
- Ожидать, что контрольные точки отслеживают изменения во внешней файловой системе
- Использовать контрольные точки как замену git-коммитам
Конфигурация
Контрольные точки - это встроенное поведение Claude Code по умолчанию, и никакой настройки для их включения не требуется. Каждый пользовательский prompt автоматически создаёт контрольную точку.
Поведением контрольных точек управляют две настройки: создаются ли снимки в принципе и как долго они хранятся:
| Setting | Default | Effect |
|---|---|---|
fileCheckpointingEnabled | true | Snapshot files before each edit so /rewind can restore them. Requires v2.1.119+. Surfaces in /config as Rewind code (checkpoints). Env equivalent: CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING |
cleanupPeriodDays | 30 | Number of days to retain session history and checkpoints |
| Claude Code хранит снимки для 100 последних контрольных точек; более старые удаляются даже в пределах окна хранения. |
Обновление в v2.1.117:
cleanupPeriodDaysтеперь управляет сроком хранения четырёх дисковых кэшей, а не только контрольных точек:
- контрольные точки сессий;
~/.claude/tasks/- сохраняемые списки задач;~/.claude/shell-snapshots/- снимки окружения shell;~/.claude/backups/- скользящие резервные копии настроек и CLAUDE.md.Один параметр теперь единообразно очищает все четыре каталога по истечении одного и того же количества дней.
Ограничения
У контрольных точек есть следующие ограничения:
- Изменения через Bash-команды НЕ отслеживаются - операции вроде
rm,mv,cpнад файловой системой не фиксируются в контрольных точках. - Внешние изменения НЕ отслеживаются - изменения, сделанные вне Claude Code (в редакторе, терминале и т. п.), не фиксируются.
- Это не замена системе контроля версий - используйте git для постоянных, поддающихся аудиту изменений в кодовой базе.
Обновление в v2.1.216:
/rewindбольше не восстанавливает и не удаляет файлы по символическим или жёстким ссылкам в отслеживаемых путях. Если отслеживаемый путь ведёт через symlink или hard link,/rewindпропускает его, не переходя по ссылке, и сообщает, сколько путей было пропущено по этой причине.
Устранение неполадок
Отсутствующие контрольные точки
Проблема: ожидаемая контрольная точка не найдена.
Решение:
- проверьте, не были ли контрольные точки очищены;
- проверьте наличие свободного места на диске;
- убедитесь, что значение
cleanupPeriodDaysзадано достаточно большим (по умолчанию - 30 дней).
Не удаётся выполнить откат
Проблема: не получается откатиться к контрольной точке.
Решение:
- убедитесь, что нет конфликтующих незакоммиченных изменений;
- проверьте, не повреждена ли контрольная точка;
- попробуйте откатиться к другой контрольной точке.
Интеграция с Git
Контрольные точки дополняют git, но не заменяют его:
| Feature | Git | Checkpoints |
|---|---|---|
| Scope | File system | Conversation + files |
| Persistence | Permanent | Session-based |
| Granularity | Commits | Any point |
| Speed | Slower | Instant |
| Sharing | Yes | Limited |
| Используйте оба подхода вместе: |
- Используйте чекпоинты для быстрых экспериментов
- Используйте git-коммиты для финальных изменений
- Создавайте чекпоинт перед операциями с git
- Фиксируйте успешные состояния чекпоинтов в git через commit
Краткое руководство
Базовый рабочий процесс
- Работайте как обычно - Claude Code создаёт чекпоинты автоматически
- Нужно вернуться назад? - Нажмите
Escдважды или используйте/rewind - Выберите чекпоинт - Выберите из списка, к какому состоянию откатиться
- Выберите, что восстановить - на выбор: восстановить код и переписку, только переписку, только код, суммировать с этого места или отменить
- Продолжайте работу - вы вернулись в нужную точку
Горячие клавиши
Esc+Esc- открыть браузер чекпоинтов/rewind- альтернативный способ доступа к чекпоинтам/checkpoint- алиас для/rewind
Как понять, когда делать откат: мониторинг контекста
Чекпоинты позволяют вернуться назад - но как понять, когда именно это нужно? По мере роста диалога контекстное окно Claude заполняется, и качество модели незаметно деградирует. Можно и не заметить, как вы уже отправляете в продакшн код, написанный полуслепой моделью.
cc-context-stats решает эту проблему, добавляя в статус-бар Claude Code индикатор зон контекста в реальном времени. Утилита показывает, в какой части контекстного окна вы находитесь: Plan (зелёная - безопасно планировать и писать код), Code (жёлтая - не стоит начинать новые планы) и Dump (оранжевая - пора закругляться и делать откат). Когда зона меняется, это сигнал: пора зафиксировать чекпоинт и начать с чистого листа, а не выжимать из модели деградировавший вывод.
Связанные концепции
- Продвинутые возможности - режим планирования и другие продвинутые возможности
- Управление памятью - управление историей диалога и контекстом
- Slash-команды - сокращения, вызываемые пользователем
- Hooks - автоматизация на основе событий
- Plugins - готовые пакеты расширений
Дополнительные ресурсы
- Официальная документация по checkpointing
- Руководство по продвинутым возможностям - extended thinking и другие возможности
Итоги
Чекпоинты - это встроенный автоматический механизм Claude Code, позволяющий безопасно пробовать разные подходы, не опасаясь потерять сделанную работу. Каждый пользовательский промпт автоматически создаёт новый чекпоинт, так что вы можете откатиться к любой предыдущей точке в рамках сессии.
Ключевые преимущества:
- Смело экспериментировать с разными подходами
- Быстро восстанавливаться после ошибок
- Сравнивать разные решения бок о бок
- Безопасно интегрироваться с системами контроля версий
Помните: чекпоинты не заменяют git. Используйте чекпоинты для быстрых экспериментов, а git - для постоянных изменений в коде.
Последнее обновление: 4 августа 2026 г. Версия Claude Code: 2.1.220 Источники:
- https://code.claude.com/docs/en/checkpointing
- https://code.claude.com/docs/en/settings
- https://github.com/anthropics/claude-code/releases/tag/v2.1.117
- https://code.claude.com/docs/en/model-config Совместимые модели: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5