Claude Code 세션의 JSONL 파일 위치를 어떻게 찾나요?
모든 세션 파일은 ~/.claude/projects/라는 고정 디렉터리에 있습니다. sessionId를 알면 몇 초 만에 찾을 수 있고, 몰라도 내용이나 시간으로 역추적할 수 있습니다.
먼저 디렉터리 이름 규칙 이해하기
~/.claude/projects/의 각 하위 디렉터리는 프로젝트(작업 디렉터리) 하나에 해당합니다. 이름은 프로젝트 경로에서 변환됩니다: 경로의 /, _ 등 영숫자가 아닌 문자가 모두 하이픈 -으로 치환됩니다. 예:
프로젝트 경로 세션 디렉터리
/Users/you/Documents/my_app → -Users-you-Documents-my-app
/home/you/projects/shop-api → -home-you-projects-shop-api
세션 하나는 파일 하나: <sessionId>.jsonl(9a1b2c3d-… 같은 UUID).
경우 1: sessionId를 안다 — 바로 find
find ~/.claude/projects -name "<sessionId>.jsonl"
sessionId는 어디서 얻나요? 가장 쉬운 방법은 대화 중에 슬래시 명령 /status를 입력하는 것 — 출력에 현재 Session ID가 포함됩니다. 그 외에 claude --resume 세션 목록, 오류 메시지, 뷰어 사이드바의「Session ID」필드에서도 확인할 수 있습니다.
경우 2: sessionId를 모른다 — 내용으로 역추적
대화 내용(당시 질문 등)이 기억난다면 grep하세요:
# 모든 세션에서 키워드 검색, 일치하는 파일 나열
grep -l "로그인 페이지 수정" ~/.claude/projects/*/*.jsonl
# 특정 프로젝트 디렉터리만 검색
grep -l "로그인 페이지 수정" ~/.claude/projects/-Users-you-Documents-my-app/*.jsonl
경우 3: 시간으로 최근 세션 찾기
# 가장 최근에 수정된 세션 파일 10개 나열
ls -t ~/.claude/projects/*/*.jsonl | head -10
그래픽 방법: CCViewer에 맡기기
명령어를 치고 싶지 않다면? CCViewer는 ~/.claude/projects/ 폴더 전체를 선택(또는 드롭)할 수 있습니다. 모든 .jsonl을 재귀적으로 스캔해 프로젝트별로 그룹화하고 시간순으로 정렬하며, 각 세션의 제목·경로·시간 범위·메시지 수·비용을 표시합니다 — 파일 위치를 몰라도 클릭하면 열립니다.
macOS 팁: 숨김 폴더 열기
- 파인더에서 ⌘⇧G를 누르고
~/.claude/projects입력 후 Enter; - 파일 대화상자에서 ⌘⇧.를 누르면 숨김 폴더 표시(
.으로 시작하는 디렉터리는 기본적으로 보이지 않음).
CCViewer로 Claude Code 세션을 시각적으로 재생하기
페이지를 열고
페이지를 열고
.jsonl 파일 또는 ~/.claude/projects/ 폴더 전체를 끌어다 놓기만 하면 됩니다. Markdown 렌더링, 사고 블록, 도구 호출, 토큰·비용 통계가 모두 브라우저에서 로컬로 처리되며 어떤 데이터도 업로드되지 않습니다.
자주 묻는 질문
~/.claude 디렉터리를 찾을 수 없는 이유는?
점으로 시작해서 기본적으로 숨겨져 있기 때문입니다. 파인더에서 ⌘⇧G로 경로를 직접 입력하거나 ⌘⇧.로 숨김 파일을 표시하세요. 터미널에서는 ls -la ~/.claude로 항상 보입니다.
프로젝트 디렉터리에 jsonl 파일이 많은데 어느 것이 내 세션인가요?
파일 하나 = 세션 하나입니다. 수정 시간(ls -t)이나 내용(grep -l)으로 필터링하는 것이 가장 효과적입니다. CCViewer로 폴더 전체를 가져오면 각 세션의 제목과 통계가 표시되어 한눈에 구분됩니다.
Windows에서 경로는?
사용자 프로필 아래에 동일한 구조입니다: %USERPROFILE%\\.claude\\projects\\<project>\\<sessionId>.jsonl.