[Claude Code 스킬] 체크포인트 & /rewind — 프롬프트마다 찍히는 되감기 지점 | DAKER 커뮤니티

리팩터링을 시켰더니 통과하던 테스트 12개가 한꺼번에 빨개졌다. 되돌리고 싶은데 커밋은 30분 전이 마지막. 이럴 때 쓰라고 Claude Code는 프롬프트를 보낼 때마다 코드 스냅샷을 자동으로 찍어 둔다. 오늘은 그 안전망, 체크포인트와 /rewind를 정리한다.

무엇

체크포인트는 게임의 세이브 포인트에 가깝다. 다만 내가 저장 버튼을 누르는 게 아니라, 내가 프롬프트를 보내는 순간이 곧 저장 지점이다. Claude가 파일 편집 도구로 건드린 파일의 상태가 그 시점에 통째로 스냅샷된다.

스냅샷은 세션당 최근 100개까지 보관되고, 대화와 함께 저장되기 때문에 세션을 나갔다 --resume으로 돌아와도 /rewind가 그대로 살아 있다. 세션이 삭제되는 30일이 지나면 체크포인트도 함께 사라진다(설정 키 cleanupPeriodDays로 조정).

언제 쓰나

사용법

# 되감기 메뉴 열기 — 둘 중 아무거나
/rewind
Esc Esc          # 단, 프롬프트 입력창이 "비어 있을 때"만

입력창에 글자가 남아 있으면 Esc 두 번은 메뉴 대신 입력을 지운다. 지워진 텍스트는 입력 기록에 저장되니, 메뉴에서 나온 뒤 위 방향키로 되살리면 된다.

메뉴는 세션에서 내가 보낸 프롬프트 목록을 보여준다. 지점을 고르면 다음 6가지 중에서 선택한다. 코드 축과 대화 축이 따로 논다는 점이 핵심이다.

그 지점 이후에 파일 변경이 하나도 없었다면 코드 복원 두 항목은 아예 뜨지 않는다. 대화를 복원하거나 "Summarize from here"를 고르면, 선택한 메시지의 원래 프롬프트가 입력창에 다시 채워져 그대로 재전송하거나 고쳐 보낼 수 있다.

# 요약에 방향을 주고 싶을 때
# Summarize 항목을 화살표 키로 하이라이트하면 "add context (optional)" 줄이 뜬다
API 스키마 결정 사항만 남기고 시행착오는 버려   ← 여기에 적고 Enter

# 숫자 키로 바로 고르면 지시 없이 즉시 요약된다

같은 프로세스에서 /clear를 했다면 목록 맨 위에 /resume <session-id> (previous session) 항목이 추가로 뜬다(v2.1.191+). 지우기 전 대화로 건너뛸 수 있는 비상구다.

안전망의 경계

되감기가 만능은 아니다. 스냅샷에 잡히는 것은 Claude가 파일 편집 도구로 직접 고친 파일뿐이다.

  1. 파일 이동·삭제는 되감기 밖이라고 가정하라. mv·rm으로 정리하는 작업 앞에서는 체크포인트가 아니라 커밋을 먼저 찍는 게 맞다. 체크포인트는 Claude가 자기 손으로 만진 파일만 기억한다.

  2. Summarize는 조준 사격형 /compact다. 세션을 유지한 채 특정 구간만 압축한다. 원문 메시지는 트랜스크립트에 남아 있어 Claude가 세부를 다시 참조할 수 있다. 반대로 원본 세션을 온전히 두고 다른 길을 시험하려면 /branchclaude --continue --fork-session이 맞다.

  3. 복원 후 "skipped N files" 경고가 뜨면 심링크·하드링크 경로다. 복원 전에 /debug를 켜두면 ~/.claude/debug/<session-id>.txt에 건너뛴 경로가 그대로 남는다.

출처

Redirecting to [Claude Code 스킬] 체크포인트 & /rewind — 프롬프트마다 찍히는 되감기 지점 | DAKER 커뮤니티...