Claude Code 체크포인트: /rewind로 변경 사항 되돌리는 방법 (2026)
프롬프트 입력창이 비어 있을 때 Esc 를 두 번 누르거나 /rewind 를 입력한 다음, 체크포인트를 고르고 무엇을 복원할지(코드, 대화, 또는 둘 다) 선택하면 돼요. 체크포인트는 프롬프트를 보낼 때마다 자동으로 생성되고, 세션당 최근 100개가 유지되며, 30일 후 자동으로 삭제돼요(설정 변경 가능). 다만 /rewind 는 bash 명령을 되돌릴 수 없고, subagent 의 편집을 항상 복원하지도 못하며, git 을 대체하지도 않아요.
- 작성 시점(2026년 8월) 기준으로 code.claude.com/docs/en/checkpointing, /commands, /settings 공식 문서와 직접 대조했어요. 빠르게 바뀌는 기능이니, 여기에 의존하기 전에 최신 공식 문서를 확인하세요.
체크포인트가 실제로 저장하는 것
Claude Code 는 여러분이 보내는 모든 프롬프트 직전에 코드 상태를 자동으로 캡처해요. 공식 문서에 따라, 먼저 정확히 짚고 넘어갈 만한 사실 몇 가지를 소개할게요.
- 사용자 프롬프트마다 새 체크포인트가 생성돼요 - 자동이며, 따로 켤 것이 없어요.
- 추적되는 건 Claude 자신의 파일 편집 도구 변경뿐이에요 - 디스크에서 일어나는 모든 변경이 아니에요(자세한 내용은 아래 「되돌릴 수 없는 것」 섹션 참고).
- 세션당 최근 체크포인트 100개가 유지돼요. 오래된 체크포인트가 폐기되면, 남아 있는 어떤 체크포인트도 더 이상 참조하지 않는 스냅샷 파일도 함께 삭제돼요 - 다만 각 파일의 첫 스냅샷은 예외로, VS Code 확장이 해당 세션의 diff 기준으로 유지해요.
- 체크포인트는 대화와 함께 저장돼요. 그래서 세션을
/resume한 뒤에도/rewind가 계속 작동해요. - 체크포인트는 30일 후 세션과 함께 삭제돼요(기본 정리 규칙 기준). 이는
settings.json의cleanupPeriodDays로 조정할 수 있어요(현재 문서 기준 기본값 30, 최소 1일). 릴리스마다 바뀔 수 있는 값이니, 정확한 숫자에 의존하기 전에 확인하세요.
Claude Code 를 이제 막 시작해서 세션, 프롬프트, 도구 호출이 무엇인지 아직 잘 모르겠다면, 이 가이드의 나머지를 읽기 전에 Claude Code 란 무엇인가 부터 시작하세요.
/rewind 를 여는 방법과 사용법, 단계별로
rewind 메뉴를 여는 방법은 두 가지예요.
/rewind를 입력하고 Enter 를 누르세요.- 프롬프트 입력창이 비어 있을 때
Esc를 두 번 누르세요.
흔한 함정: 프롬프트 창에 텍스트가 들어 있으면,
EscEsc는 rewind 메뉴를 여는 대신 그 초안을 입력 기록으로 지워 넣기만 해요. 지워진 텍스트는 사라지지 않아요 - 메뉴에서 볼일을 마친 뒤Up을 누르면 다시 불러올 수 있어요.
rewind 메뉴에는 세션 중에 보낸 모든 프롬프트가 나열돼요. 한 지점을 고른 다음, 동작을 선택하세요.
| 동작 | 하는 일 |
|---|---|
| 코드와 대화 복원 | 코드와 대화를 모두 선택한 지점으로 되돌려요. |
| 대화 복원 | 현재 코드는 그대로 두고 그 메시지까지 되감아요. |
| 코드 복원 | 대화는 그대로 두고 파일 변경을 되돌려요. |
| 여기서부터 요약 | 이 지점부터 이후의 대화를 요약으로 압축해 컨텍스트 공간을 확보해요. |
| 여기까지 요약 | 이 지점이전의 대화를 압축하고, 이후 메시지는 그대로 유지해요. |
| 취소 | 아무것도 바꾸지 않고 메뉴를 빠져나가요. |
두 가지 코드 복원 옵션은 선택한 체크포인트에 실제로 되돌릴 추적된 파일 변경이 있을 때만 나타나요 - 그렇지 않으면 메뉴에는 대화 복원, 두 가지 요약 옵션, 취소만 표시돼요. 어느 요약 옵션이든 「add context (optional)」 칸에 지시를 입력해 요약이 무엇에 집중할지 유도할 수 있어요. 숫자 키로 선택하면 추가 지시 없이 즉시 요약돼요.
/rewind 로 되돌릴 수 없는 것
이 부분은 다른 대부분의 가이드가 건너뛰거나 지나치게 단순화하는 지점이에요. 공식 문서에 나온, 실제 제약 네 가지예요.
| 제약 | 상세 |
|---|---|
| bash 명령 변경은 추적되지 않음 | bash 로 실행되는 rm file.txt, mv old.txt new.txt, cp source.txt dest.txt 는 rewind 로 되돌릴 수 없어요 - 추적되는 건 Claude 의 파일 편집 도구를 통한 변경뿐이에요. |
| subagent 편집은 대개 복원되지 않음 | 단 하나의 예외는 포그라운드에서 context: fork 로 실행되는 skill(background: false)이에요. 이는 여러분 자신의 턴 동안 작업 트리를 편집하므로 rewind 가 평소처럼 그 편집을 복원해요. 그 외 모든 subagent - 백그라운드(기본값)에서 실행되는 forked skill 이나 백그라운드 /code-review --fix 를 포함해 - 는 rewind 로 복원되지 않아요. 대신 git 을 쓰세요. |
| 외부 변경은 추적되지 않음 | Claude Code 밖에서 한 수동 편집이나 별도의 동시 실행 세션에서의 편집은, 현재 세션과 같은 파일을 우연히 건드리지 않는 한 보통 캡처되지 않아요. |
| 심볼릭 링크/하드 링크된 파일은 건너뜀 | 코드 복원 또는 코드와 대화 복원을 선택하면, Claude Code 는 추적된 경로 중 심볼릭 링크나 하드 링크인 것을 모두 건너뛰고 Restored the code, but skipped N files 경고를 표시해요. 어떤 경로가 건너뛰어질지 미리 확인하려면, 복원 전에 /debug 를 켜세요 - 로그는 ~/.claude/debug/<session-id>.txt 에 남아요. |
그리고 위의 어느 한 줄보다 더 중요한 한 가지가 있어요. 체크포인트는 빠른 세션 수준 복구를 위해 만들어졌지, 버전 관리의 대체품이 아니에요. 영구 히스토리, 브랜치, 협업에는 여전히 git 이 필요해요.
/rewind vs git vs /clear - 선택 표
여기서 가장 실용적인 질문은 이거예요. 어떤 상황에 어떤 도구를 쓸까? 맞게 고르면 몇 초면 되고, 잘못 고르면 오후 하나를 통째로 날릴 수도 있어요.
| 상황 | 가장 좋은 도구 | 이유 |
|---|---|---|
| 작업 도중 Claude 의 최근 편집 몇 개를 되돌리고 싶을 때 | /rewind → 코드 복원 | 빠르고, Claude Code 를 떠날 필요가 없으며, 원하면 대화를 그대로 유지해요. |
| 대화가 옆길로 샜지만 코드는 괜찮을 때 | /rewind → 대화 복원 | 이미 올바른 파일은 건드리지 않고 컨텍스트만 되돌려요. |
| 동작하는 상태를 영구적으로 저장하고 싶을 때 | git commit | 체크포인트는 약 30일 후 자동 삭제되고 진짜 버전 관리가 아니에요. 커밋이야말로 영속적인 히스토리예요. |
Claude 가 rm/mv/npm install 을 실행해서 되돌려야 할 때 | git(또는 수동 수정) - /rewind 는 안 돼요 | bash 기반 변경은 체크포인트로 추적되지 않으므로 rewind 로는 손댈 수 없어요. |
| 컨텍스트가 방대하지만 계속 작업하고 싶을 때 | /rewind → 요약, 또는 /compact | 트랜스크립트의 원본 세부 정보를 잃지 않고 대화를 압축해 컨텍스트 공간을 확보해요. |
| 새로 시작하되 파일은 남기고 싶을 때 | /clear | 빈 컨텍스트로 새 대화를 시작해요. 디스크의 파일은 그대로예요. |
명령 레퍼런스에 나온 정확한 한 줄 설명은 다음과 같아요. /rewind - 「roll code and conversation back to a checkpoint, or summarize part of the conversation」; /clear - 「start a new conversation with empty context」; /compact - 「free up context by summarizing the conversation so far」. 원래 대화를 잃지 않고 다른 방향을 시도하고 싶다면 /branch 도 있어요 - 현재 지점에서 대화를 분기해요.
/clear 를 지나 되감기 (v2.1.191 이후 신규)
이건 이 가이드에서 가장 덜 알려진 요령이에요. 같은 Claude Code 프로세스 안에서 앞서 /clear 를 실행했다면, rewind 메뉴에는 목록 맨 위에 추가 항목이 표시돼요: /resume <session-id> (previous session). 이를 선택하면 /clear 를 실행하기 전에 있던 바로 그 대화로 되돌아가요.
이에 의존하기 전에 알아둘 점이 몇 가지 있어요.
- 이 항목은 Claude Code 를 종료하거나 다른 세션을 재개할 때까지만 사용할 수 있어요 - 영구적이지 않아요.
- 이 기능에는 Claude Code v2.1.191 이상이 필요해요. 그 이전 버전에서는 항목이 나타나지 않아요 - 대신
/resume을 수동으로 사용해 목록에서 이전 세션을 고르세요. - 이 버전 제한 자체가 기억해 둘 만한 점의 증거예요. 체크포인트는 아직 릴리스마다 바뀌고 있으며, 고정된 API 표면이 아니에요.
제가 실제로 쓰는, 안전하게 실험하는 습관
제가 이 두 도구를 실제로 어떻게 조합하는지 알려드릴게요. 이미 깨끗하게 동작하는 마일스톤(기능 완성, 버그 수정, 테스트 통과)에서 git 에 커밋하고, 그 커밋들 사이에 생기는 작은 실수는 /rewind 가 흡수하도록 두는 거예요. 일찍 자주 되감는 건 사실상 공짜예요 - 몇 초면 되고, 잃는 게 없어요. 크게 옆길로 샌 대화를 바로잡는 건 전혀 싸지 않아요. 컨텍스트와 요구 사항을 다시 설명하게 되고, 그러고도 Claude 가 같은 실수를 반복할 수 있어요.
이 습관은 바이브 코딩 사고방식과 곧바로 이어져요. 값싼 실험, 빠른 되감기, 동작하는 상태를 망가뜨리는 것에 대한 두려움이 없다는 것. AI 를 활용한 TDD 가 체크포인트와 그토록 잘 어울리는 이유이기도 해요 - 레드-그린-리팩터 루프 하나하나가 Claude 가 잘못된 방향으로 갈 때의 안전한 되감기 지점이 되니까요.
여기서 AgentKit 은 어디에 들어맞을까
경계를 분명히 해둘게요. /rewind 는 Claude Code 의 네이티브 기능으로, 완전히 단독으로 작동하며 설치할 것이 없어요. AgentKit(Claude Code 안에서 실행되는 유료 키트로, Codex 및 OpenAI AgentKit 과는 다른 것)은 이 체크포인트 시스템을 건드리거나 대체하지 않아요. 유용한 지점은 이거예요. AgentKit 의 brainstorm → plan → cook → ship 워크플로는 같은 세션에서 여러 편집 단계를 실행하므로, 어떤 $ak:cook 단계가 잘못된 방향으로 갈 때 /rewind 를 쓰면 세션의 나머지를 잃지 않고 그 단계만 되돌릴 수 있어요. 전체 내용은 AgentKit 리뷰 를 읽거나 여기에서 AgentKit 을 확인하세요.
자주 묻는 질문 (FAQ)
/rewind 는 bash/터미널 명령을 되돌리나요?
아니요. 체크포인트는 Claude 의 파일 편집 도구를 통한 변경만 추적해요. rm, mv, cp 처럼 bash 로 실행되는 명령은 캡처되지 않고 rewind 로 되돌릴 수 없어요 - 대신 git 이나 수동 수정을 쓰세요.
체크포인트는 얼마나 유지되고, 바꿀 수 있나요?
기본적으로 체크포인트는 30일 후 세션과 함께 삭제되며, 세션당 최근 100개까지 유지돼요. 유지 기간은 settings.json 의 cleanupPeriodDays 로 바꿀 수 있어요(기본값과 위치는 작성 시점에 문서와 대조해 확인했어요 - 정확한 숫자에 의존한다면 다시 확인하세요).
오래된 세션을 재개한 뒤에도 되감을 수 있나요?
네. 체크포인트는 대화와 함께 저장되므로, 세션을 /resume 한 뒤에도 그 세션의 저장된 체크포인트에 대해 /rewind 가 평소대로 작동해요.
/clear 한 뒤에 오래된 체크포인트를 되찾고 싶으면 어떻게 되나요?
/rewind 를 여세요 - 목록 맨 위에 /resume <session-id> (previous session) 이 표시돼요. 이를 선택하면 /clear 이전의 대화로 돌아가요. 이 기능에는 Claude Code v2.1.191 이상이 필요하고, 앱을 종료하거나 다른 세션을 재개할 때까지만 사용할 수 있어요. 그 이전 버전에서는 /resume 을 수동으로 써야 해요.
/rewind 는 git 의 대체품인가요?
아니요, 그렇게 만들어진 것도 아니에요. 체크포인트는 빠른 세션 범위 복구를 위해 존재하지, 영구 히스토리나 협업을 위한 게 아니에요. 영속적인 저장 상태, 브랜치, 팀 작업에는 여전히 git 이 필요해요.
subagent 편집은 rewind 로 복원되나요?
대개 복원되지 않아요. 예외는 포그라운드에서 context: fork 로 실행되는 skill(background: false)이에요. 이는 여러분 자신의 턴 동안 작업 트리를 편집하고, 그 편집은 평소대로 복원돼요. 그 외 모든 subagent - 기본값인 백그라운드에서 실행되는 forked skill 이나 백그라운드 /code-review --fix 를 포함해 - 를 되돌리려면 git 이 필요해요.
결론
/rewind 는 빠른 세션 수준의 실행 취소 도구이지 git 의 대체품이 아니에요. 커밋 사이의 작은 실수에는 이걸 쓰고, 영구적으로 남기고 싶은 것이나 Claude 가 bash 로 변경한 것에는 git 을 쓰세요. 어떤 도구를 집어야 할지 헷갈릴 때마다 위의 선택 표를 곁에 두고, Claude 에게 새 방향을 시도하게 하기 전에 깨끗한 마일스톤에서 커밋하세요.