Claude Code가 잘못 고친 코드, 어디까지 되돌릴 수 있을까?

Claude Code가 잘못 고친 코드 중 현재 세션이 추적한 파일 편집은 /rewind에서 코드 복원 옵션을 골라 되돌릴 수 있습니다. Bash로 바꾼 파일과 이미 실행한 DB 변경·API 요청·배포는 이 메뉴로 되돌릴 수 없습니다.

먼저 대화만·코드만·둘 다 중 무엇을 되돌릴지 고르세요. 아래 표에서 남길 것부터 정한 뒤, 취소하려는 변경이 추적 범위에 들어오는지 확인하면 됩니다.

잘못 고친 코드의 복원 범위를 묻는 문구와 파일·대화의 분리된 종이 흐름
코드 편집과 대화의 복원 범위는 다릅니다. 추적된 편집인지부터 확인하세요. (설명용 생성 이미지)

대화만, 코드만, 둘 다: 무엇을 되돌릴까

지금 필요한 일 선택 복원 뒤 남는 것·주의
파일은 괜찮지만 잘못된 지시 이후 대화를 다시 시작 Restore conversation 현재 파일
논의는 남기고 추적된 파일 편집만 취소 Restore code 현재 대화
추적된 파일 편집과 대화를 같은 지점으로 되돌림 Restore code and conversation 추적 밖 파일·외부 효과는 별도 확인

Anthropic의 복원 옵션 설명은 코드와 대화를 별도로 선택하도록 안내합니다. ‘대화 복원’을 골랐는데 파일이 그대로라면, 그 사실만으로 복원이 실패했다고 판단할 수 없습니다.

여기서 ‘코드’는 체크포인트가 추적한 파일 편집을 뜻합니다. ‘둘 다’ 복원하면 대화와 추적된 파일 편집이 선택 지점으로 돌아갑니다. Git 커밋, 데이터베이스, 배포 상태까지 통째로 되돌리는 전체 환경 복원 버튼이 아닙니다.

변경이 시작되기 전의 프롬프트를 고르세요

  1. 진행 중인 작업을 멈추고, 보존할 수정과 취소할 수정을 구분합니다. 보존할 파일 변경은 별도 사본이나 Git 기록으로 확보하세요. 같은 파일의 수동 수정도 영향을 받을 수 있기 때문입니다.
  2. Claude Code 프롬프트에서 /rewind를 실행합니다. 입력창이 비어 있을 때는 Esc 두 번으로 메뉴를 열 수 있습니다.
  3. 잘못된 파일 편집이 시작된 턴의 프롬프트를 찾습니다. 가장 오래된 지점보다 실제로 취소할 구간을 기준으로 고르세요.
  4. 대화만·코드만·둘 다 중 필요한 옵션을 선택합니다. 복원 후 파일의 현재 내용과 변경 내역을 확인한 뒤 다음 요청을 보냅니다.

입력창에 텍스트가 있을 때 Esc를 두 번 누르면, 현재 공식 문서상 메뉴 대신 입력을 지울 수 있습니다. 메뉴를 여는 가장 분명한 경로는 /rewind입니다. 이 절차는 실제 CLI 실행 결과가 아니라 공식 문서 기반 안내입니다.

파일과 대화를 따로 또는 함께 되돌리는 세 칸의 종이 복원 도식
대화만, 코드만, 둘 다 중 필요한 복원 대상을 고릅니다. 선택은 본문의 표를 따릅니다. (설명용 생성 이미지)

코드만 복원했다면 대화에는 취소한 구현에 대한 설명이 남습니다. 다음 요청에서 “방금 파일만 복원했으니 현재 파일을 다시 읽고, 이번에는 검색 함수만 수정해 줘”처럼 현재 상태와 새 범위를 명시할 수 있습니다. 이는 가정 예시이지 같은 결과를 보장하는 요청문은 아닙니다.

/rewind가 잡지 못하는 변경도 있습니다

공식 체크포인트 한계는 파일 편집 도구를 통한 직접 편집과, Bash·외부 작업을 구분합니다. 다음을 같은 복원 범위로 묶으면 안 됩니다.

  • Bash 명령으로 바꾼 파일: 셸로 실행한 삭제·이동·복사·내용 변경은 체크포인트 추적 대상이 아닙니다.
  • 다른 도구나 세션의 편집: 일반적으로 현재 세션에 캡처되지 않습니다. 다만 현재 세션이 같은 파일을 편집했다면 상호 영향이 생길 수 있으므로, 수동 수정이 언제나 보존된다고 약속할 수도 없습니다.
  • 외부 효과: 이미 전송한 API 요청, 원격 게시·배포, 데이터베이스 변경을 이 메뉴로 취소할 수는 없습니다. 해당 시스템의 복구 절차가 필요합니다.

따라서 “Bash로 만든 파일이 왜 돌아오지 않았지?”라는 상황에서는 같은 메뉴를 반복 누르기보다, 그 변경이 어떤 도구로 이루어졌는지부터 확인하세요. 추적 밖 변경은 Git에 남은 상태나 별도 백업, 해당 시스템의 기록을 기준으로 복구해야 합니다.

코드 복원 옵션이 안 보이는 이유를 구분하세요

선택한 체크포인트에 되돌릴 추적 파일 편집이 없다면 Restore code와 Restore code and conversation이 나타나지 않을 수 있습니다. 대화 복원과 요약 옵션만 보이는 것이 곧 메뉴 오류라는 뜻은 아닙니다.

목록의 No code restore 표시는 작업 도중 보낸 메시지에 자체 체크포인트가 없을 때 나타날 수 있습니다. 체크포인트는 턴을 시작한 프롬프트에 연결됩니다. 그 턴의 파일 편집을 취소하려면 턴을 시작한 프롬프트를 선택해야 합니다. 중간 메시지가 오기 전의 편집도 함께 되돌릴 수 있으므로, 보존할 수정부터 확보하세요.

No files were restored 오류는 백업 누락 또는 파일 쓰기·삭제 실패 등 전체 설명을 확인해야 합니다. 공식 오류 설명에 따르면 백업이 없으면 같은 복원을 반복해도 실패합니다. 쓰기·삭제가 막힌 경우에는 파일 권한 등 차단 원인을 확인한 뒤 다시 시도하세요. 대화 기록이 남아 있다고 파일 백업도 남아 있다는 뜻은 아닙니다.

Restored the code, but skipped files 경고가 뜨면 일부 경로는 현재 내용으로 남습니다. 공식 건너뛴 경로 설명은 링크·비정규 파일, 체크포인트 이후 디렉터리 변경, 백업을 안전하게 읽을 수 없는 경우를 구분합니다. 복원 뒤 현재 파일과 변경 내역을 직접 대조하세요.

느슨한 스냅샷과 묶인 기록, 분리된 플러그로 복원 범위를 표현한 종이 일러스트
세션의 편집 취소와 Git 기록, 외부 시스템의 복구는 따로 확인합니다. (설명용 생성 이미지)

체크포인트는 빠른 취소용, Git은 영구 기록용입니다

체크포인트는 세션 안에서 추적된 편집을 빠르게 되돌리는 수단입니다. 반면 커밋·브랜치·협업 이력을 오래 보관하는 역할은 Git 같은 버전 관리가 맡습니다. 체크포인트가 있다고 커밋 기록이나 백업이 불필요해지는 것은 아닙니다.

이 글은 이미 진행한 작업을 취소하는 문제를 다룹니다. 단순히 어제 작업을 찾아 이어가려는 경우에는 Claude Code 세션 재개와 인계 선택 가이드가 다른 질문에 답합니다. 재개 명령을 다시 실행하는 것과 파일을 복원하는 것은 별개입니다.

2026년 10월 12일 Anthropic 공식 문서를 검토했습니다. 실제 파일 복원·Git 명령·외부 시스템 복구는 실행하지 않았습니다. 지원 메뉴와 세부 동작은 설치 버전 및 편집 방식에 따라 현재 도움말과 대조하세요.


출처 및 확인일