클로드 코드 Rewind: 실수를 두려워하지 않는 코딩
클로드 코드로 작업하다가 “아, 이 방향이 아닌데…”라고 느낀 적 있으신가요? 리팩토링을 요청했더니 파일 10개를 고쳐놓았는데 원래 구조가 나았다거나, 라이브러리를 교체하라고 했다가 오히려 빌드가 깨진다거나. 이런 상황에서 할 수 있는 선택지가 그리 많지 않았습니다. git stash로 코드를 되돌린다 해도 Claude의 대화 컨텍스트에는 잘못된 지시가 그대로 남아 있으니까요.
새 세션을 열면 코드는 원래대로 돌아가겠지만 그동안 쌓아온 맥락이 통째로 날아갑니다. 수동으로 “방금 한 거 취소하고 다시 해줘”라고 설명하자니 토큰만 낭비되고 Claude가 제대로 이해한다는 보장도 없죠. 😅
이 딜레마를 해결해주는 기능이 바로 Rewind입니다.
Rewind가 뭔가요?
Rewind는 클로드 코드 세션의 코드 상태와 대화 컨텍스트를 이전 시점으로 되돌리는 기능입니다. 게임의 세이브 포인트를 떠올리면 이해가 빠를 텐데요. Claude에게 뭔가를 시켰다가 결과가 마음에 안 들면 그 시점 이전으로 돌아가서 다른 길을 택할 수 있습니다.
핵심은 코드뿐 아니라 대화까지 함께 되돌린다는 점입니다. Git으로 파일 변경만 되돌리면 Claude의 머릿속에는 여전히 잘못된 지시의 흔적이 남아 있어요. 그래서 다음 응답에서도 같은 방향으로 가려는 경향이 생기죠. Rewind는 대화 히스토리 자체를 잘라내기 때문에 Claude가 깨끗한 상태에서 새로운 접근을 시도할 수 있습니다.
어떻게 쓰나요?
활성화 방법은 두 가지입니다.
가장 빠른 건 Esc 키를 연속으로 두 번 누르는 겁니다. 입력 중이던 내용이 있으면 첫 번째 Esc로 입력이 취소되고 두 번째 Esc에서 Rewind 인터페이스가 열려요. /rewind 명령어를 직접 입력해도 됩니다.
/rewind
Rewind 인터페이스가 열리면 “Restore the code and/or conversation to the point before…”라는 안내와 함께 대화 히스토리가 목록으로 나타나요. 각 항목에는 그 턴에서 어떤 파일이 바뀌었는지 Git 스타일의 diff 표기(auth.ts +15 -3 같은 형태)가 붙어 있어서 어디서 문제가 시작됐는지 금방 파악할 수 있습니다.
되돌아가고 싶은 시점을 선택하면 5가지 옵션이 나옵니다.
- Never mind — 아무것도 하지 않고 돌아갑니다
- Summarize from here — 선택한 시점 이후의 대화를 요약으로 압축합니다
- Restore code — 파일 변경만 되돌리고 대화는 그대로 유지합니다
- Restore conversation — 대화만 되돌리고 현재 코드는 그대로 둡니다
- Restore code and conversation — 코드와 대화를 모두 되돌립니다
상황에 따라 골라 쓸 수 있다는 게 좋습니다. 코드 변경은 마음에 드는데 대화가 산으로 간 경우에는 대화만 되돌리면 돼요. 반대로 논의 과정은 유지하고 싶은데 코드만 원래대로 되돌리고 싶을 때는 코드만 복원하면 되고요.
체크포인팅: Rewind의 이면
Rewind가 동작하려면 되돌아갈 “이전 상태”가 어딘가에 저장돼 있어야겠죠. 이 역할을 하는 게 체크포인팅(checkpointing) 시스템입니다.
클로드 코드는 파일 편집 도구(Write, Edit, NotebookEdit)로 변경이 일어날 때마다 자동으로 원본 파일 상태를 백업합니다. 프롬프트를 보낼 때마다 새 체크포인트가 만들어지고 세션이 끝나도 30일간 유지돼요. /resume으로 이전 세션을 재개한 뒤에도 Rewind를 쓸 수 있습니다.
기본으로 활성화되어 있으니 따로 설정할 건 없습니다.
Summarize: 되돌리지 않고 압축하기
Rewind 옵션 중 “Summarize from here”는 나머지 세 가지 복원 옵션과 성격이 좀 다릅니다.
복원은 선택한 시점 이후를 없었던 일로 만드는 거라면, Summarize는 이후 대화를 짧은 요약으로 압축합니다. 파일은 건드리지 않고 대화만 줄이는 거예요. 원본 메시지는 세션 기록에 남아 있어서 필요하면 Claude가 디테일을 참조할 수도 있습니다.
/compact와 비슷하지만 차이가 있어요. /compact는 대화 전체를 압축하는 반면 Summarize는 선택한 시점 이후만 압축하고 그 이전은 원문 그대로 유지합니다. 초기에 설정한 중요한 지시사항은 디테일을 잃지 않으면서 중간에 길어진 디버깅 과정만 줄일 수 있는 거죠.
긴 세션에서 컨텍스트 윈도우가 가득 차갈 때 유용합니다. 되돌릴 필요는 없지만 지나간 대화가 자리를 너무 많이 차지하는 경우 Summarize로 공간을 확보하면 세션을 새로 시작하지 않아도 돼요.
언제 쓰면 좋을까?
방향 전환이 필요할 때. CSS-in-JS로 스타일링을 바꾸라고 했는데 Tailwind가 더 맞겠다 싶으면 Rewind로 돌아가서 다시 시작하면 됩니다. Claude가 이미 수정한 파일들을 일일이 되돌릴 필요가 없죠.
의사소통이 꼬였을 때. 프롬프트를 잘못 쓰거나 Claude가 의도를 오해해서 대화가 엉뚱한 방향으로 흘러가는 경우가 있어요. 몇 번 수정을 시도해봤는데 오히려 더 꼬이기만 한다면 오해가 시작된 시점으로 돌아가서 처음부터 명확하게 다시 설명하는 게 낫습니다.
실험적인 시도를 할 때. “이 로직을 제너레이터로 바꾸면 메모리를 아낄 수 있을까?” 같은 궁금증이 생기면 일단 해보라고 시킬 수 있습니다. 결과가 별로면 Rewind 한 번이면 원래대로 돌아가니까요. 안전망이 있으니 시도 자체를 망설일 이유가 없어요.
디버깅이 길어졌을 때. 버그를 잡으려고 이것저것 시도하다 보면 대화가 길어지고 컨텍스트가 흐려집니다. 여러 번 시도해서 원인을 알아냈다면 시도 이전으로 Rewind해서 정확한 수정만 적용하는 게 깔끔해요.
주의할 점
Rewind가 만능은 아닙니다. 한계를 알아두면 낭패를 피할 수 있어요.
가장 중요한 건 Bash 명령어로 변경한 파일은 추적되지 않는다는 점입니다. 체크포인팅은 Claude의 파일 편집 도구(Write, Edit)를 통한 변경만 기록합니다. Claude가 Bash로 sed -i, echo >, rm 같은 명령어를 실행해서 파일을 바꿨다면 Rewind로 되돌릴 수 없어요.
외부 시스템에 대한 변경도 마찬가지입니다. git push, npm publish, 데이터베이스 쿼리처럼 프로젝트 밖으로 나간 작업은 Rewind 영역 밖이에요. API 호출이나 네트워크 요청도 당연히 취소할 수 없고요.
그리고 Rewind는 버전 관리를 대체하지 않습니다. 체크포인트는 세션 단위의 빠른 복구용이고 영구적인 이력 관리는 Git의 몫이에요. 중요한 마일스톤에서는 반드시 커밋을 해두세요. Rewind를 “로컬 Undo”, Git을 “영구 히스토리”라고 생각하면 됩니다.
계획 모드와 함께 쓰기
리스크가 큰 작업에서는 계획 모드와 Rewind를 조합하면 안전망이 두 겹이 됩니다.
먼저 계획 모드로 Claude가 무엇을 할지 미리 확인하고 계획이 괜찮으면 실행합니다. 실행 결과가 예상과 다르면 Rewind로 되돌린 뒤 계획 모드에서 다른 방향으로 재계획하면 돼요.
계획 모드가 “실행 전 검토”, Rewind가 “실행 후 복구”를 맡으니 어느 단계에서든 방향을 바꿀 수 있습니다.
실전 팁
Rewind를 쓰면서 알게 된 것들을 정리합니다.
큰 작업은 한 번에 몰아서 하지 말고 단계별로 나눠서 진행하세요. 한 번에 파일 20개를 고치고 나서 Rewind를 쓰면 전부 되돌아가지만, 5개씩 나눠서 진행했다면 문제가 생긴 단계만 정확하게 되돌릴 수 있으니까요.
Rewind 인터페이스에서 각 턴의 파일 변경 표시를 잘 살펴보세요. 어떤 턴에서 갑자기 변경 파일이 확 늘어나거나 예상치 못한 파일이 등장하면 거기가 문제의 시작점일 가능성이 높습니다.
권한 설정에서 git push나 npm publish 같은 되돌릴 수 없는 명령어를 deny로 막아두는 것도 좋습니다. 체크포인팅이 추적하지 못하는 외부 변경 자체를 원천 차단하는 거니까요.
마치며
Rewind가 주는 가장 큰 변화는 기술적인 편리함보다 마음가짐에 있다고 봅니다. “이거 시켜봐도 될까?”라는 망설임이 사라지면 시도의 폭이 넓어지고 더 나은 코드에 도달할 수 있거든요.
Esc 두 번이면 언제든 되돌아갈 수 있다는 걸 알고 나면 Claude에게 더 과감한 요청을 하게 될 겁니다. 한번 써보세요.
클로드 코드에 대해 더 알고 싶다면 소개 포스팅을 참고하세요. Rewind와 잘 어울리는 계획 모드 가이드도 읽어보시고, 되돌릴 수 없는 명령을 미리 차단하는 방법은 권한 설정 가이드에서 다루고 있습니다.
This work is licensed under
CC BY 4.0