SpyBara
Go Premium

checkpointing.md 2026-09-24 22:57 UTC to 2026-09-25 23:58 UTC

This page contains 1 addition and 1 deletion.

2026
Thu 10 23:00 Sat 12 03:02 Fri 18 23:58 Fri 25 23:58

Checkpointing

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

Claude Code автоматически отслеживает правки файлов Claude по мере работы, позволяя вам быстро отменять изменения и возвращаться к предыдущим состояниям, если что-то пойдёт не так.

Как работает checkpointing

По мере работы с Claude, checkpointing автоматически фиксирует состояние вашего кода перед каждым запросом, который вы отправляете и который начинает новый ход.

Автоматическое отслеживание

Claude Code отслеживает все изменения, внесённые его инструментами редактирования файлов:

  • Каждый запрос, который вы отправляете и который начинает новый ход, создаёт новый checkpoint
  • Claude Code хранит снимки файлов для 100 самых последних checkpoints в сеансе. Удаление старого checkpoint удаляет файлы снимков, на которые не ссылается ни один оставшийся checkpoint, за исключением первого снимка каждого файла, который расширение VS Code использует в качестве базовой линии для различий сеанса.
  • Claude Code сохраняет checkpoints с беседой, поэтому вы всё ещё можете запустить /rewind после возобновления сеанса
  • Claude Code удаляет снимки файлов сеанса в процессе очистки, по умолчанию примерно через 30 дней после последнего сохранения сеанса. Перемотка к checkpoint, снимки которого удалены, может завершиться ошибкой No files were restored. Чтобы сохранять снимки дольше, установите cleanupPeriodDays.

Перемотка и суммирование

Запустите /rewind или нажмите Esc дважды, когда поле ввода запроса пусто, чтобы открыть меню перемотки.

Меню перемотки отображает каждый запрос, который вы отправили во время сеанса, за исключением сообщений, которые присоединились к выполняющемуся ходу. Выберите точку, на которой вы хотите действовать, затем выберите действие:

  • Восстановить код и беседу: вернуть как код, так и беседу в эту точку
  • Восстановить беседу: перемотать к этому сообщению, сохраняя текущий код
  • Восстановить код: отменить изменения файлов, сохраняя беседу
  • Суммировать отсюда: сжать беседу с этой точки вперёд в краткое резюме, освобождая место в context window
  • Суммировать до этого момента: сжать беседу перед этой точкой в краткое резюме, сохраняя более поздние сообщения нетронутыми
  • Отмена: вернуться к списку сообщений без внесения изменений

Два варианта восстановления кода появляются только тогда, когда выбранный checkpoint имеет отслеживаемые изменения файлов для отката. Если после этой точки не было захвачено никаких редактирований файлов, меню предлагает только Восстановить беседу, варианты суммирования и Отмена.

После восстановления беседы или выбора "Суммировать отсюда" исходный запрос из выбранного сообщения восстанавливается в поле ввода, чтобы вы могли переотправить или отредактировать его.

Выбор "Суммировать до этого момента" оставляет вас в конце беседы с пустым полем ввода. При любом варианте суммирования в беседе появляется маркер Summarized conversation в месте, где были сжаты сообщения.

Перемотка прошлой очищенной беседы

Если вы запустили /clear ранее в том же процессе Claude Code, меню перемотки показывает дополнительную запись в верхней части списка с меткой /resume <session-id> (previous session). Выберите её, чтобы возобновить беседу, которая была активна до запуска /clear. Запись доступна до тех пор, пока вы не выйдете из Claude Code или не возобновите другой сеанс.

Руководство для суммирования

Суммирование не изменяет файлы на диске, и исходные сообщения остаются в стенограмме сеанса, поэтому Claude всё ещё может ссылаться на детали. Чтобы направить внимание суммирования, выделите опцию Summarize клавишами со стрелками и введите инструкции там, где в строке написано add context (optional), затем нажмите Enter. Выбор опции с её номером выполняет суммирование немедленно без инструкций.

Типичные случаи использования

Checkpoints особенно полезны, когда:

  • Исследование альтернатив: попробуйте различные подходы к реализации без потери вашей начальной точки
  • Восстановление после ошибок: быстро отмените изменения, которые внесли ошибки или нарушили функциональность
  • Итерация функций: экспериментируйте с вариантами, зная, что вы можете вернуться к рабочим состояниям
  • Освобождение места контекста: суммируйте многословный сеанс отладки с середины вперёд, сохраняя ваши исходные инструкции нетронутыми

Ограничения

Изменения команд Bash не отслеживаются

Checkpointing не отслеживает файлы, изменённые командами Bash. Например, если Claude Code запускает:

rm file.txt
mv old.txt new.txt
cp source.txt dest.txt

Эти изменения файлов не могут быть отменены через rewind. Отслеживаются только прямые правки файлов, сделанные через инструменты редактирования файлов Claude.

Правки subagent не восстанавливаются

Subagent вносит правки с помощью инструментов редактирования файлов Claude, но Claude Code обычно не фиксирует эти правки в checkpoints вашего сеанса. Восстанавливает ли rewind эти правки, зависит от того, как работает subagent:

  • Foreground forked skill: skill с context: fork, который работает на переднем плане, редактирует вашу рабочую папку во время вашего хода, поэтому rewind восстанавливает его правки как обычно. Установите background: false, чтобы запустить fork на переднем плане; в некоторых ситуациях, перечисленных на странице skills, он запускается там независимо от этого параметра.
  • Любой другой subagent: rewind не восстанавливает правки. Используйте git для их отката. Это включает forked skill, который работает в фоновом режиме (по умолчанию), и фоновый запуск /code-review --fix.

Внешние изменения не отслеживаются

Checkpointing отслеживает только файлы, которые были отредактированы в текущем сеансе. Ручные изменения, которые вы вносите в файлы вне Claude Code, и правки из других одновременных сеансов обычно не фиксируются, если они не изменяют те же файлы, что и текущий сеанс.

Сообщения, отправленные во время хода, не сохраняются в checkpoint

Когда сообщение, которое вы ставите в очередь, пока Claude работает, достигает Claude в течение текущего хода, оно присоединяется к этому ходу вместо того, чтобы начать новый. Сообщение появляется в беседе, но Claude Code не создаёт для него checkpoint, и меню rewind его не отображает. Сообщение в очереди, которое Claude Code отправляет как свой собственный ход, получает checkpoint как обычно.

Чтобы удалить такое сообщение или отменить правки, которые Claude внёс после него, выполните rewind до подсказки, которая начала ход. Это выполнит rewind всего хода, включая работу, которую Claude выполнил до прибытия вашего сообщения.

Пути с символическими и жёсткими ссылками не восстанавливаются

Checkpointing не выполняет rewind для файлов с символическими или жёсткими ссылками. Когда вы выбираете Restore code или Restore code and conversation из меню /rewind, Claude Code пропускает любой отслеживаемый путь, который является символической или жёсткой ссылкой, и показывает предупреждение Restored the code, but skipped N files. Пропущенные файлы сохраняют своё текущее содержимое. Чтобы отменить изменения сеанса в одном из них, попросите Claude отменить правку или отредактируйте файл самостоятельно. Файлы конфигурации, которые менеджер dotfile создаёт как символические ссылки в вашем проекте, и файлы, которые pnpm создаёт как жёсткие ссылки, относятся к этой категории.

Чтобы увидеть, какие пути пропускает восстановление, включите отладочное логирование с помощью /debug перед восстановлением: отладочный журнал в ~/.claude/debug/<session-id>.txt указывает каждый пропущенный путь. Для каждой причины пропуска и шагов восстановления см. запись skipped-files в справочнике ошибок.

Не замена для контроля версий

Checkpoints предназначены для быстрого восстановления на уровне сеанса. Для постоянной истории версий и сотрудничества продолжайте использовать контроль версий, такой как Git, для коммитов, веток и долгосрочной истории.

См. также

  • Interactive mode - Сочетания клавиш и элементы управления сеансом
  • Commands - Доступ к checkpoints с использованием /rewind
  • CLI reference - Параметры командной строки