
Claude Code 세션을 이어가는 방법
요약
Claude Code 세션이 응답하지 않을 때 로컬에 저장된 .jsonl 파일을 활용하여 대화 문맥을 복구하는 방법을 설명합니다. 세션 이력 파일을 새 세션에 읽히거나 --resume 명령어를 사용하여 작업을 중단 없이 이어갈 수 있습니다.
핵심 포인트
- Claude Code는 세션 이력을 로컬 .jsonl 파일로 저장함
- 세션 중단 시 .jsonl 파일을 새 세션에 읽혀 문맥 재구성 가능
- claude --resume 명령어로 기존 세션을 간편하게 재개 가능
- 파일 경로는 프로젝트 경로를 인코딩한 특정 폴더 내에 위치함
Claude Code는 동일한 세션에서 작업을 계속하다 보면 세션이 반응하지 않게 되는 경우가 있습니다.
그때까지 쌓아온 긴 대화의 컨텍스트 (읽어들인 파일, 결정 사항, 진행 중인 태스크 등)를 끌어낼 수 없게 되어, 새로운 세션을 시작하면 처음부터 다시 해야 할 것처럼 느껴집니다.
요약(Summary)을 출력하게 하여 새로운 세션에서 재개하는 것이 일반적이라고 생각하지만, 그것조차 불가능한 경우에는, Claude Code는 로컬에 대화 이력을 모두 .jsonl 파일로 저장하고 있기 때문에, 새로운 세션에 해당 파일을 읽히는 것으로 거의 손상 없이 작업을 이어갈 수 있습니다.
C:\Users\<사용자명>\.claude\projects\<프로젝트 경로를 인코딩한 폴더>\를 연다- 최근 업데이트된
<session-id>.jsonl을 찾는다 - 새로운 Claude Code 세션을 실행한다
- 새 세션에 "이 파일
<경로>를 읽고, 이어서 작업을 진행해줘"라고 지시한다
이렇게 하면 이전 세션의 문맥을 읽어들인 Claude가 작업을 계속해 줍니다.
Claude Code는 각 세션의 주고받은 내용을 1 파일 1 세션 형태로 로컬에 저장하고 있습니다.
C:\Users\<사용자명>\.claude\projects\<프로젝트 경로를 인코딩한 폴더명>\<session-id>.jsonl
~/.claude/projects/<프로젝트 경로를 인코딩한 폴더명>/<session-id>.jsonl
<프로젝트 경로를 인코딩한 폴더명>은 작업 디렉토리의 경로를 - 구분자로 변환한 것과 같은 이름으로 되어 있습니다.
예를 들어 작업 디렉토리가 C:\Users\PC252403\Documents\MyObsidian\Vault01인 경우,
c--Users-UserName1-Documents-MyWork-Projetc01
과 같은 폴더가 생성됩니다.
내부를 들여다보면 <UUID>.jsonl이라는 파일이 여러 개 나열되어 있습니다. 이것이 각각 세션의 이력입니다.
탐색기(Explorer)에서 폴더를 열고 "수정한 날짜"로 정렬하면, 지금 멈춰버린 세션의 파일을 바로 찾을 수 있습니다.

다른 터미널이나 창에서 동일한 작업 디렉토리로 claude를 실행합니다.
그리고 새 세션의 첫 번째 프롬프트에 다음과 같이 작성합니다.
직전 세션이 API 500 에러로 응답하지 않게 되었습니다.
다음의 대화 이력 파일을 읽어서, 이전 세션의 문맥을 파악한 후 이어서 작업을 진행해 주세요.
C:\Users\<사용자명>\.claude\projects\<폴더명>\<session-id>.jsonl
...
Claude Code는 .jsonl을 Read 툴로 읽어 들여, JSON Lines로서 내용을 해석할 수 있습니다. 대화의 흐름, 툴 호출(Tool Call), 편집 내용까지 재구성되기 때문에, 새 세션에서도 이전과 동일한 전제 조건으로 대화를 재개할 수 있습니다.
서버 측(Anthropic 측)의 문제로 사용할 수 없는 경우에는 다음 명령어로 직접 이어서 재개할 수 있습니다.
claude --resume
세션 목록이 표시되므로, 문제가 발생한 세션을 선택하면 동일한 세션으로서 재개할 수 있습니다. 이것이 가장 편한 방법입니다.
Claude Code의 세션은 내부적으로 "과거의 메시지 열 + 시스템 프롬프트(System Prompt)"를 매 턴 API에 던져 응답을 받는 구조로 되어 있습니다.
세션의 "상태(State)"는 서버 측이 아니라 .jsonl 파일 그 자체입니다.
즉, 파일만 수중에 있다면,
- 다른 머신
- 다른 사용자
- 다른 OS
라 하더라도, 그 내용을 Claude에게 읽게 함으로써 "그 세션의 다음 내용"을 재구축할 수 있습니다.
이는 Claude Code가 "스테이트리스(Stateless) API + 로컬 로그"라는 아키텍처를 취하고 있는 부수적인 효과입니다.
제 경우 "API 500으로 세션이 응답하지 않는다!" 상황이 되어 이 방법으로 회피했습니다. 최악의 경우 이런 방법도 있다는 정보 공유였습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기