SpyBara
Go Premium

checkpointing.md 2026-10-27 22:59 UTC to 2026-10-28 23:57 UTC

This page contains 26 additions and 26 deletions.

2026
Tue 6 23:59 Sat 10 23:01 Thu 15 23:58 Tue 20 23:00 Wed 21 23:02 Thu 22 22:58 Fri 23 22:59 Sun 25 23:58 Wed 28 23:57

Checkpointing

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

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

Как работают чекпоинты

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

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

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

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

Откат и сжатие в сводку

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

[!NOTE]

Если в поле ввода промпта есть текст, двойное нажатие Esc очищает его вместо открытия меню. Очищенный текст сохраняется в истории ввода, поэтому нажмите Up, чтобы вернуть его после завершения работы в меню отката.

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

  • Restore code and conversation: вернуть и код, и диалог к этой точке
  • Restore conversation: откатиться к этому сообщению, сохранив текущий код
  • Restore code: отменить изменения файлов, сохранив диалог
  • Summarize from here: сжать диалог начиная с этой точки в сводку, освобождая место в контекстном окне
  • Summarize up to here: сжать диалог до этой точки в сводку, сохранив последующие сообщения без изменений
  • Never mind: вернуться к списку сообщений, ничего не меняя

Два варианта восстановления кода появляются, только если у выбранного чекпоинта есть отслеживаемые изменения файлов, которые можно отменить. Если после этой точки не было зафиксировано правок файлов, меню предлагает только Restore conversation, варианты сжатия в сводку и Never mind.

После восстановления диалога или выбора Summarize from here исходный промпт из выбранного сообщения возвращается в поле ввода, чтобы вы могли отправить его повторно или отредактировать.

При выборе Summarize up to here вы остаётесь в конце диалога с пустым полем ввода. При любом из вариантов сжатия в диалоге на месте сжатых сообщений появляется отметка Summarized conversation.

Откаченные сообщения могут вернуться, если вы выйдете до следующего промпта

Чтобы снова удалить вернувшиеся сообщения, выполните /rewind в этой сессии, выберите тот же промпт, а затем Restore conversation. Перед выходом отправьте Claude промпт, поскольку Claude Code сохраняет откаченный диалог вместе с этим промптом. Восстановленные вами файлы остаются в том состоянии, в котором их оставил откат.

Откат за пределы очищенного диалога

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

Управление содержанием сводки

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

[!NOTE]

Сжатие в сводку оставляет вас в той же сессии и сжимает контекст, подобно целенаправленной команде /compact. Чтобы создать ответвление и попробовать другой подход, сохранив исходную сессию нетронутой, используйте вместо этого /branch или claude --continue --fork-session.

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

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

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

Ограничения

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

Если Claude уже отредактировал файл с помощью своих инструментов редактирования файлов в вашем диалоге, /rewind отменяет изменения, которые команды Bash вносят в этот файл после этого. Файл, который изменяли только команды Bash, не отслеживается и остаётся как есть. Чтобы откатить его, используйте систему контроля версий, например Git.

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

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

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

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

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

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

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

В меню rewind сообщение, которое вы ввели, пока Claude ещё работал, может быть помечено как No code restore. У помеченного сообщения нет собственного чекпоинта.

Чтобы отменить правки файлов, которые Claude внёс после этого сообщения, выберите промпт, с которого начался ход, и выберите Restore code или Restore code and conversation. Это откатит правки файлов, сделанные 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 - Параметры командной строки