Claude Code 세션의 JSONL 파일 위치를 어떻게 찾나요?
로컬 세션의 기본 위치는 ~/.claude/projects/입니다. CLAUDE_CONFIG_DIR를 설정하면 기본 디렉터리가 바뀝니다. 저장 비활성화나 보존 기간에 따른 정리로 모든 기록이 영구 보관되지는 않습니다. 클라우드나 원격 세션은 실행 환경을 확인하세요.
먼저 디렉터리 이름 규칙 이해하기
~/.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; - 파일 대화상자에서 ⌘⇧.를 누르면 숨김 폴더 표시(
.으로 시작하는 디렉터리는 기본적으로 보이지 않음).
세션 파일은 브라우저에서 로컬로 분석하고 표시합니다. 온라인 사이트는 Microsoft Clarity를 자동으로 로드하여 페이지 상호작용을 기록합니다. 오프라인 사본은 분석을 로드하지 않습니다.
세션 파일은 브라우저에서 로컬로 분석하고 표시합니다. 온라인 사이트는 Microsoft Clarity를 자동으로 로드하여 페이지 상호작용을 기록합니다. 오프라인 사본은 분석을 로드하지 않습니다.