클로드 코드 이전 대화 불러오기, 세션 삭제와 대화 저장 기간 늘리기

🏷️ AI

클로드 코드는 이전 대화를 자동으로 저장하며, 이전 대화 불러오기는 터미널에서 claude --resume을 실행하면 세션 목록으로 확인할 수 있습니다.

대화 한 건이 곧 세션이며, 세션은 작업 폴더별 디렉터리 안에 세션마다 파일 하나로 저장됩니다. 가장 최근 대화를 곧바로 열려면 claude --continue를 입력합니다.

단, 목록에 대화가 보이지 않는다고 삭제된 것은 아닙니다. 현재 폴더 밖에 있거나 목록에서 숨겨지는 종류의 세션일 수 있습니다.

1. claude –resume으로 클로드 코드 이전 대화 불러오기

이전 대화 불러오기는 클로드 코드 실행 시 적용할 수 있는 터미널 명령 세 가지와 대화 중 슬래시 명령어로 구분할 수 있습니다. 세션은 작업하는 동안 로컬 파일에 계속 저장되므로 터미널을 닫은 뒤에도 이전 대화로 돌아갈 수 있습니다.

명령동작적용할 수 있는 상황
claude --continue현재 폴더에서 가장 최근 세션을 바로 엽니다터미널을 닫았다가 곧바로 이어갈 때
claude --resume세션 선택 목록을 엽니다어제나 지난주 대화를 골라서 불러올 때
claude --resume <이름>이름이 일치하는 세션을 바로 엽니다이름을 붙여 둔 세션을 불러올 때
/resume실행 중인 대화에서 다른 세션으로 전환합니다클로드 코드를 종료하지 않고 대화를 바꿀 때

인자 없이 claude --resume을 실행하면 세션 선택기가 열립니다. 방향키로 이동하고 Enter로 불러옵니다. Space는 내용 미리보기, /는 검색입니다. 각 행에는 세션 이름이나 제목, 마지막으로 활동한 뒤 지난 시간, git 브랜치, 파일 크기가 나타납니다.

세션 이름은 시작할 때 claude -n session-name으로 만들 수 있으며, 대화 중에는 /rename session-name으로 변경할 수 있습니다. 이름이 있으면 claude --resume session-name명령어 형식으로 세션 선택을 거치지 않고 바로 불러옵니다.

Pro 또는 Max 플랜에서 약 1시간 이상 비활성 상태이고 100,000토큰을 넘는 세션을 불러오면 첫 메시지를 보내기 전에 선택 창이 열립니다. 요약에서 재개를 고르면 /compact가 바로 실행됩니다. 이후 요청 비용은 줄지만 요약이 생략한 내용은 클로드의 컨텍스트에서 빠집니다.

--mcp-config나 --add-dir처럼 시작할 때 지정한 플래그는 불러올 때 복원되지 않으므로 다시 넣어야 합니다. settings.json에 적은 설정은 시작할 때 다시 읽히므로 그대로 적용됩니다.

2. 목록에 없는 클로드 코드 세션 불러오기

목록에 세션이 없으면 자동 삭제를 의심하기 전에 세션 선택기의 검색 범위와 세션 종류부터 확인합니다. 선택기는 기본으로 현재 폴더(worktree)의 세션만 보여 주기 때문에, 다른 폴더에서 시작한 대화는 같은 claude --resume에서도 나타나지 않습니다.

클로드 코드에서 세션을 불러올 때 이전 세션을 검색하는 범위는 선택기 안에서 단축키로 확장할 수 있습니다.

단축키범위비고
Ctrl+A이 컴퓨터의 모든 프로젝트다시 누르면 현재 저장소로 돌아옵니다
Ctrl+W현재 저장소의 모든 worktreeworktree가 여러 개인 저장소에서만 표시됩니다
Ctrl+B현재 git 브랜치의 세션만다시 누르면 모든 브랜치가 나타납니다

범위를 넓혀도 없다면 세션의 종류를 봅니다. 첫 번째 프롬프트가 /loop 명령인 세션과 claude -p 또는 Agent SDK로 만든 세션은 선택기와 claude --continue에서 제외됩니다. 이 세션은 목록에는 없어도 세션 ID를 알면 claude --resume <세션 ID>로 불러올 수 있습니다.

세션 ID를 모를 때는 파일 이름에서 찾습니다. 세션은 ~/.claude/projects/<프로젝트>/<세션 ID>.jsonl에 저장되며 <프로젝트>는 작업 폴더 경로에서 영문자와 숫자가 아닌 문자를 -로 바꾼 이름입니다.

ls ~/.claude/projects/

프로젝트 폴더 안의 .jsonl 파일 이름이 곧 세션 ID입니다. ID가 일치하는 세션이 없으면 No conversation found with session ID: <세션 ID> 메시지가 나옵니다. 이 경우 파일 자체가 지워진 것이므로 cleanupPeriodDays로 정한 보관 기간을 확인합니다.

3. cleanupPeriodDays로 클로드 코드 대화 저장 기간 늘리기

클로드 코드는 세션 기록을 기본 30일만 보관하며 cleanupPeriodDays 값을 키우면 보관 기간이 늘어납니다. 삭제는 클로드 코드를 시작한 뒤 백그라운드에서 조용히 실행되고 보관 기간보다 오래 사용하지 않은 세션은 /resume 선택기에서 사라집니다.

대화를 저장하는 기간을 늘리려면, 사용자 설정 파일 ~/.claude/settings.json을 엽니다. 파일이 이미 있다면 기존 내용을 지우지 말고 최상위 중괄호 안에 항목을 추가합니다.

{
  "cleanupPeriodDays": 3650
}

값은 일 수를 정수로 입력합니다. 최소값은 1입니다. 0을 넣으면 무제한 보관이 아니라 유효성 검사 오류가 납니다. 이때 설정 파일 전체가 적용되지 않아 같은 파일에 적은 훅과 권한 규칙도 함께 꺼집니다. 장기 보관에는 3650(약 10년)처럼 큰 값을 씁니다.

직접 파일을 수정하기 부담된다면 클로드에게 ~/.claude/settings.json 세션 보관 기간을 3650년 늘려달라고 요청하면 간단하게 해결됩니다.

기간을 늘려도 지워진 세션이 돌아오지는 않습니다. 설정은 이후에 보관할 세션에만 적용되며 이미 삭제된 .jsonl 파일은 별도 백업이 없다면 되살릴 수 없습니다. 그래서 오래 남기고 싶은 대화가 있다면 사라지기 전에 먼저 설정해 둡니다.

cleanupPeriodDays 값이 다른 항목의 보관 기간에도 적용됩니다. 서브에이전트 대화, 파일을 편집하기 전에 저장하는 스냅샷(file-history), 플랜 모드 파일(plans/) 같은 항목이 함께 오래 남으므로 저장 기간을 늘릴수록 ~/.claude 폴더의 용량이 커집니다.

설정 파일에 JSON 문법 오류가 있으면 정리 스윕이 일시 중지되고 /status에 경고가 표시됩니다. 쉼표나 따옴표를 빠뜨렸다면 /status에서 경고를 확인한 뒤 수정합니다.

4. claude purge로 클로드 코드 세션 삭제하기

대화 저장 기간을 늘리면 용량이 커지므로 불필요한 이전 세션을 관리해야합니다. 클로드 코드 이전 대화 삭제는 claude purge <프로젝트 경로> 명령으로 프로젝트 단위로 합니다. 삭제 대상에 세션 기록뿐 아니라 해당 프로젝트의 자동 메모리가 들어 있으므로, 실행하기 전에 반드시 --dry-run으로 목록을 확인합니다.

claude purge ~/work/my-repo --dry-run

이 명령이 지우는 항목은 다음과 같습니다.

  • ~/.claude/projects/ 아래의 트랜스크립트와 자동 메모리
  • 세션별 tasks/, debug/, file-history/ 항목
  • history.jsonl에서 해당 프로젝트에서 입력한 프롬프트 줄
  • ~/.claude.json의 프로젝트 항목

--dry-run 결과가 맞다면 --dry-run을 빼고 같은 명령을 실행합니다. 삭제 계획이 다시 출력되고 [y/N] 확인에서 y를 입력한 경우에만 삭제됩니다.

옵션은 세 가지입니다. -y는 확인 단계를 생략합니다. --all은 모든 프로젝트를 한 번에 삭제합니다. -i는 항목을 하나씩 확인하며 진행합니다.

v2.1.288 이전 버전에서는 같은 명령이 claude project purge였습니다. claude purge가 인식되지 않으면 claude update로 최신 버전을 설치합니다.

붙여넣거나 첨부한 이미지와 세션 스크래치패드는 ~/.claude가 아니라 임시 디렉토리에 저장되므로 purge로 지워지지 않습니다.

한 세션만 지우는 명령은 공식 문서에 없습니다. 이럴 때는 ~/.claude/projects/<프로젝트>/ 안에서 해당 세션 ID의 .jsonl 파일을 삭제합니다. 파일을 지우면 claude --resume <세션 ID>가 No conversation found 메시지를 내므로 더 이상 불러올 수 없습니다. 같은 ID의 폴더(subagents/, tool-results/)는 남아 용량을 차지하므로 함께 삭제합니다.

직접 삭제하지 않고 기간 만료로 비우려면 cleanupPeriodDays를 7처럼 줄입니다. 설정한 일 수보다 오래된 세션은 자동으로 정리됩니다.

마치며

세션 목록에 이전 대화가 없을 때 원인은 폴더 범위, 숨겨지는 세션 종류, 30일 보관 기간이 지나 세션이 삭제된 경우의 세 가지 원인입니다.

앞의 두 가지는 Ctrl+A와 세션 ID로 확인하는 것만으로 해결됩니다. 마지막 경우는 세션이 삭제되어 불러올 수 없으므로 cleanupPeriodDays를 수정해 세션 보관 기간을 미리 크게 잡아 두어야 합니다.

삭제는 반대로 claude purge --dry-run으로 범위를 본 뒤 실행합니다. 지울 항목을 먼저 확인할 수 있으며 설정 파일에 cleanupPeriodDays가 없다면 기본 30일이 적용되므로 오래 쓸 프로젝트가 있다면 오늘 바로 값을 추가해 두시길 바랍니다.

FAQ

/clear를 실행하면 이전 대화가 사라지나요?

사라지지 않습니다. 클로드 코드는 /clear 이전의 세션을 그대로 저장하며 /resume으로 다시 열 수 있습니다. 단, 보관 기간이 지나면 다른 세션과 같은 기준으로 삭제됩니다.

이전 대화 기억은 /resume과 CLAUDE.md 중 무엇이 담당하나요?

두 기능은 역할이 다릅니다. /resume은 이전 대화의 기록 전체를 불러오고 CLAUDE.md와 자동 메모리는 새 세션을 시작해도 프로젝트 규칙과 학습 내용을 다시 읽어 맥락을 유지합니다. 대화 내용 자체가 필요하면 /resume, 매번 적용할 규칙이 필요하면 CLAUDE.md를 씁니다.

같은 세션을 터미널 두 곳에서 불러오면 어떻게 되나요?

두 터미널의 메시지가 하나의 기록 파일에 뒤섞여 저장됩니다. 같은 세션을 따로 이어가려면 claude --continue --fork-session처럼 --fork-session을 함께 지정해 복사본으로 불러옵니다.

claude code

저자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
올바른 이메일 주소를 입력해주세요.

같은 카테고리 글