Deepseek ArtifactsDeepseek Artifacts
Claude Code 세션

Claude Code 세션 재개: --resume, --continue와 해결법

claude --continue, claude --resume 피커, 세션 ID로 지난 Claude Code 대화를 다시 여는 방법 — 세션이 어디 저장되는지, 이름 붙이는 법, resume이 아무것도 못 찾을 때 고치는 법까지.

핵심 요약

  • claude --continue(축약형 claude -c)는 현재 폴더의 가장 최근 대화를 아무것도 묻지 않고 다시 엽니다. claude --resume(축약형 claude -r)은 과거 세션 피커를 열거나, 세션 ID 또는 이름을 넘기면 그 세션으로 바로 들어갑니다.
  • 모든 세션은 ~/.claude/projects/<프로젝트 폴더>/<세션ID>.jsonl 경로의 평문 .jsonl 파일로 저장되며, 기본 30일간 유지됩니다(cleanupPeriodDays 설정).
  • 세션이 열려 있을 때 /rename(또는 실행 시 --name)으로 알아보기 쉬운 이름을 붙여 두면 claude --resume <이름>으로 재개할 수 있습니다 — 이름은 한 글자까지 정확히 일치해야 합니다.
  • "No sessions match"는 거의 항상 폴더가 틀렸거나 이름을 잘못 입력했다는 뜻입니다. 세션은 시작된 디렉터리에 묶입니다. Claude Code도 업데이트하세요 — v2.1.288 하나만 해도 resume 관련 버그 네 개를 고쳤습니다.

How to Resume an Old Session in Claude Code

채널: Prompt & Flow2:37

영상 보기

Resume Claude Code Conversations FAST with One Simple Command

채널: Vinod Sharma1:33

영상 보기

Save and Resume Any Claude Code Session | Next Session Prompt Skill

채널: Kyle Chalmers | Data + AI4:27

영상 보기

CLI reference — official documentation

공식 문서: code.claude.com/docs

영상 보기

이 페이지의 모든 플래그, 경로, 피커 상태는 공식 CLI 레퍼런스 및 data-usage 문서와 대조해 검증했습니다. 위의 터미널 녹화가 시각 자료이자 — 세션 이름을 잊은 뒤의 전체 복구 흐름도 그렇습니다 — 얼굴이 나오는 두 영상은 사실 자료로만 씁니다. resume 흐름 개요와, 머신 사이에서 세션을 옮기는 markdown 핸드오프 방식입니다.

스크린샷의 저작권은 각 제작자에게 있으며 해당 타임스탬프로 딥링크됩니다. 얼굴이 나오는 프레임은 사용하지 않았습니다.

Claude Code 세션 재개, 단계별로

파트 1 — claude --resume으로 재개하기

  1. 1

    세션을 닫기 전에 이름 붙이기

    세션은 식별하기 쉬울수록 재개하기 쉽습니다. 녹화에서는 진행자가 Claude Code에게 열려 있는 대화의 이름을 지어 달라고 해서 /rename [open session 1]을 실행하고 "Session renamed to: [open session 1]" 확인을 받습니다 — 이름 배지가 입력 상자 옆에 표시됩니다. 그다음 /exit으로 세션을 닫습니다. 아무것도 지워지지 않습니다. 트랜스크립트는 디스크에 남습니다.

    Claude Code session ending with the /rename open session 1 command confirmed by Session renamed to output and /exit typed at the prompt
    /rename [open session 1]에 대한 확인 "Session renamed to: [open session 1]", 이어서 /exit — 트랜스크립트는 닫은 뒤에도 살아 있습니다.0:27부터 보기
  2. 2

    프로젝트 폴더에서 claude --resume 실행하기

    새 터미널에서 claude --resume(축약형 claude -r)을 입력합니다. 인자 없이는 과거 세션 피커가 열리고, 인자를 넘기면 ID나 이름이 일치하는 세션으로 곧장 갑니다 — 여기서는 claude --resume [session 1]. 녹화가 보여주려는 함정: 원래 세션을 시작한 폴더에서 실행해야 합니다. 이번 실행은 홈 디렉터리 C:\Users\Z에서 이루어졌습니다.

    Windows PowerShell prompt running claude --resume session 1 to reopen a previous Claude Code conversation by name
    PowerShell에 입력된 claude --resume [session 1] — 홈 디렉터리에서의 실행이 곧 문제가 됩니다.1:04부터 보기
  3. 3

    폴더 신뢰 프롬프트 통과하기

    Claude Code가 폴더를 처음 열 때는 짧은 안전 확인이 먼저 옵니다: "Is this a project you created or one you trust?" — "1. Yes, I trust this folder"를 고르고 Enter. 이 프롬프트는 세션이 아니라 파일 접근에 관한 것으로, 폴더를 아직 신뢰하지 않았을 때 나타나며 resume 흐름 앞에 매번 선행합니다.

    Claude Code folder trust prompt for the C drive user folder with 1. Yes I trust this folder and 2. No exit choices before a resume attempt
    "Quick safety check" — 1. Yes, I trust this folder / 2. No, exit — Claude Code가 폴더를 열기 전의 한 문제.1:12부터 보기
  4. 4

    Resume session 피커에서 검색하기

    정확한 일치가 없으면 claude --resume은 "Resume session" 제목의 대화형 피커를 엽니다. 현재 프로젝트의 세션 목록을 걸러 주는 검색 상자입니다. 입력하면 필터링되고, Enter로 선택, Esc로 지우거나 취소합니다. 이름을 넘기면 검색창에 미리 채워집니다 — 여기서는 [session — 목록은 입력에 따라 실시간으로 갱신됩니다.

    Claude Code Resume session picker searching for the name session and returning No sessions match with type to search hints
    "Resume session" 피커는 입력하는 대로 걸러 줍니다 — Enter 선택, Esc 검색 지우기.1:16부터 보기

파트 2 — 피커가 아무것도 못 찾을 때

  1. 5

    "No sessions match" — 디렉터리가 틀렸다

    녹화의 핵심 교훈: 세션이 존재하는데도 피커는 "No sessions match "[session 1]"."라고 답합니다. 세션은 시작된 폴더에 속하고, 피커는 우선 현재 프로젝트만 보기 때문입니다. 힌트 줄에 탈출구가 있습니다 — "Ctrl+A to show all projects" — v2.1.223부터는 다른 프로젝트도 자동으로 검색합니다. 영상의 v2.1.220 빌드는 그 이전입니다.

    Claude Code resume picker showing No sessions match session 1 with the Ctrl+A show all projects hint after searching in the wrong directory
    "No sessions match "[session 1]"." — 세션은 있는데 피커는 홈 디렉터리만 봅니다.1:22부터 보기
  2. 6

    조사를 위해 평범한 claude 세션 시작하기

    이름을 맞히는 대신 내용으로 대화를 되찾으려면 평범한 claude 세션을 시작합니다. 녹화의 환영 배너는 아까의 실수까지 짚어 줍니다 — "Note: You have launched claude in your home directory" — 피커가 비었던 건 디렉터리 문제였지 세션이 사라진 게 아니라는 확인입니다.

    Claude Code v2.1.220 welcome banner in the home directory where a fresh session is started to recover a lost conversation
    C:\Users\Z의 Claude Code v2.1.220 환영 배너 — home directory 경고가 피커가 비었던 이유를 설명합니다.1:33부터 보기
  3. 7

    Claude에게 지난 세션을 찾아 달라고 하기

    새 세션 안에서 원하는 것을 평문으로 말합니다: "I forgot the name of my last session. Name it so I can resume it." Claude Code는 디스크의 자기 기록을 읽을 수 있으므로, 피커가 도와주지 못한 상황에서도 이 요청은 통합니다.

    Claude Code prompt asking I forgot the name of my last session, name it so I can resume it with the Gallivanting thinking indicator
    "i forgot the name of my last session name it so i can resume it" 전송 — Claude가 기록을 뒤지기 시작합니다.1:50부터 보기
  4. 8

    Claude가 ~/.claude/projects를 최신 순으로 나열

    Claude의 답은 자기 저장소에 셸 명령을 돌리는 것입니다: Get-ChildItem "C:\Users\Z\.claude\projects" -Recurse -Filter *.jsonl | Sort-Object LastWriteTime -Descending. 문서에 나온 그 레이아웃 그대로 — 모든 대화는 ~/.claude/projects 아래의 .jsonl 하나이며, 프로젝트별 하위 폴더로 묶이고 기본 30일 유지됩니다.

    Claude Code running Get-ChildItem on the .claude projects folder sorted by LastWriteTime to list recent session transcripts
    C:\Users\Z\.claude\projects에 Get-ChildItem, *.jsonl만, 최신 순 — 세션이 실제로 사는 곳.1:54부터 보기

파트 3 — 세션 ID로 되찾기

  1. 9

    Claude가 첫 메시지로 각 기록을 식별

    가장 최근 기록은 현재 세션 자신이므로, Claude는 최근 기록들에서 첫 사용자 메시지를 각각 꺼냅니다 — C:\Users\Z\.claude\projects\C--Users-Z\<세션ID>.jsonl 같은 파일 — 이름을 붙이면: WiFi 신호 리서치 프로젝트, "lets go to phase 2" 실행, WhatsApp 프로젝트 셋업. 첫 메시지는 같은 프로젝트의 세션들을 가르는 믿을 만한 단서입니다.

    Claude Code pulling the first user message from each session jsonl transcript under the .claude projects folder to identify past sessions
    projects\C--Users-Z 아래 각 .jsonl에서 첫 사용자 메시지를 뽑아 세션을 구분합니다.2:07부터 보기
  2. 10

    Claude의 답: claude --resume <id>

    답은 정답을 이름으로 지목하고 정확한 명령을 출력합니다 — "Resume it with: claude --resume 7d824e2f-2592-4625-b863-43d5f24670ab" — 이어서 나머지 최근 세션들을 Session ID, Last active, Opened with 열로 정리한 표, 그리고 하나의 ID는 빈 채로 끝난 시작이라 재개할 가치가 없다는 주석까지.

    Claude Code answer listing past sessions in a Session ID, Last active and Opened with table with a claude --resume command to reopen one
    "Resume it with: claude --resume 7d824e2f-…"와 Session ID, Last active, Opened with 표.2:18부터 보기
  3. 11

    세션 ID로 세션 재개하기

    세션 ID가 손잡이입니다. 조사용 세션을 닫고, 프로젝트 폴더로 cd한 뒤 claude --resume <세션ID>를 실행하세요 — 아니면 .jsonl 트랜스크립트의 절대 경로를 넘겨도 됩니다. --fork-session을 붙이면 원본을 이어가는 대신 새 세션 ID를 발급합니다. 대화는 전체 맥락과 함께 다시 열립니다.

    Claude Code prompt with resume 7d824e2f-2592-4625-b863-43d5f24670ab typed to reopen that exact past session by its session ID
    프롬프트에 입력된 세션 ID — claude --resume <id>가 그 대화를 그대로 다시 엽니다.2:32부터 보기

--resume vs --continue vs 세션 피커

Claude Code에는 과거 대화로 돌아가는 길이 여러 개고, 차이는 당신이 결정할 것의 양입니다:

  • 1claude --continue(축약형 claude -c) — 결정 제로. 현재 디렉터리의 가장 최근 대화를 다시 엽니다. v2.1.257부터는 끝난 백그라운드 세션도 포함. "방금 잘못 닫았을 때"에 씁니다.
  • 2claude --resume(축약형 claude -r) 인자 없이 — 대화형 피커. 이 프로젝트의 세션을 나열하고(실행 중인 백그라운드는 bg 표시), Ctrl+A로 전체 프로젝트로 넓히고, Esc로 취소. 한 폴더에 세션이 여러 개일 때 최선.
  • 3claude --resume <id | 이름 | 경로> — 직행. 세션 ID, /rename이나 --name으로 지은 정확한 이름, .jsonl 트랜스크립트의 절대 경로를 받습니다. v2.1.223부터는 ID가 이 프로젝트에 없으면 다른 프로젝트도 검색합니다.
  • 4세션 안의 /resume와 /rename — REPL을 나가지 않고 대화를 갈아타고, 현재 세션에 이름을 붙여 내일의 claude --resume <이름>이 한 번에 맞게 합니다. 이름은 유일하며, 충돌하면 변형 접미사가 붙습니다.
  • 5claude --resume <id> --fork-session — 이어가기 대신 분기. 트랜스크립트는 재활용하되 새 세션 ID를 발급해, 원본 세션 이력은 체크포인트로 얼려 둡니다.
  • 6claude attach <id> — 아직 백그라운드에서 도는 세션에 접속. 피커는 실행 중인 것에 bg를 붙입니다. attach하면 다음 프롬프트가 그 세션의 다음 턴이 됩니다.

녹화는 --resume만 다루고, --continue는 한 프레임도 나오지 않습니다 — 이건 영상의 범위지 기능의 한계가 아닙니다. 공식 CLI 레퍼런스는 두 플래그를 나란히 문서화합니다. 영상이 침묵하는 부분에서 위 비교는 문서를 따릅니다.

Claude Code 세션 재개가 안 될 때 — 통하는 해결법

"resume이 아무것도 안 한다"의 대부분은 아래 중 하나로 귀결됩니다. 순서대로 확인하세요:

  • 1디렉터리가 틀렸다. 피커는 현재 프로젝트의 세션만 봅니다 — 녹화는 정확히 C:\Users\Z에서 이렇게 실패합니다. 세션을 시작한 폴더로 cd하세요. v2.1.223부터 --resume은 다른 프로젝트도 검색하지만, 올바른 폴더가 여전히 가장 빠릅니다.
  • 2버전이 낡았다. v2.1.288 하나가 네 가지를 고쳤습니다: compaction이 막 복원한 파일을 --resume이 누락하는 문제, 재개된 세션이 턴의 마지막 응답을 저장하지 않는 문제(다음 resume에서 미답변처럼 보임), 로딩 중 트랜스크립트가 잘리는 문제, 2.1.286 이전 세션 재개 시 사고 과정이 사라지는 문제. v2.1.290은 --resume <세션ID>를, v2.1.292는 피커의 plan 모드를 고쳤습니다.
  • 3세션이 만료됐다. 트랜스크립트는 기본 30일 유지 — cleanupPeriodDays 설정으로 기간을 바꿀 수 있습니다 — 헤드리스 -p 실행은 애초에 세션을 저장하지 않습니다. claude rm은 목록에서만 제거하지만, 정리로 지워진 트랜스크립트는 아무도 재개할 수 없습니다.
  • 4이름이 일치하지 않는다. --resume의 이름 일치는 정확 일치입니다. 녹화의 claude --resume [session 1]은 두 번 틀립니다: 진짜 이름은 "open session 1"이었고, 대괄호까지 검색어의 일부가 됐습니다. 대괄호를 빼고, 공백이 있는 이름은 따옴표로.
  • 5--continue가 엉뚱한 것을 잡는다. print 모드(-p)/SDK와 /loop 세션은 건너뛰고, 현재 디렉터리만 봅니다 — 그 사이 다른 세션이 폴더를 건드렸다면 접고 ID로 재개하세요.
  • 6다른 컴퓨터. ~/.claude/projects는 로컬이라 노트북에서 만든 세션은 데스크톱에 존재하지 않습니다. 같은 구조를 유지한 채 프로젝트 폴더를 복사하거나, markdown 핸드오프로 갈아타세요: 세션 상태·결정·다음 단계를 파일에 적게 하고, 동기화하고, 다른 머신에서 이어서.

위 방법이 모두 안 통합니까? ~/.claude/projects를 열어 .jsonl 파일의 타임스탬프를 확인하세요. 파일이 있으면 claude --resume에 절대 경로를 넘기는 것이 가장 확실한 돌파구고, 없다면 그 대화는 처음부터 디스크에 기록되지 않은 것입니다.

Claude Code 세션 재개 FAQ

관련 Claude Code 가이드