[Claude Code 스킬] 세션 재개(--continue·--resume) — 어제 하던 대화를 이름으로 다시 부르기 | DAKER 커뮤니티

무엇

세션은 프로젝트 디렉터리에 묶여 로컬에 계속 저장되는 대화다. Claude Code는 작업하는 동안 대화를 ~/.claude/projects/<프로젝트>/<세션ID>.jsonl에 계속 적어두기 때문에, 터미널을 닫아도 /clear를 눌러도 기록 자체는 남는다.

그래서 재개는 복구가 아니라 책갈피를 꽂아둔 페이지로 되돌아가기에 가깝다. 어제 설명한 폴더 구조, 시도했다 접은 접근, 툴 호출 결과까지 그대로 다시 문맥에 올라온다. 세션 안에서 시점을 되감는 체크포인트(/rewind)와 달리, 재개는 세션 자체를 다시 여는 일이다.

세션을 다시 여는 5가지 입구

언제 쓰나

사용법

# 1) 방금 끊긴 작업 그대로 이어가기 (현재 디렉터리의 최근 세션)
claude --continue          # 짧게 claude -c

# 2) 목록에서 고르기 — 세션 피커
claude --resume            # 짧게 claude -r
#   위/아래 이동, Space 미리보기, Ctrl+R 이름 변경
#   Ctrl+W 저장소의 모든 워크트리 / Ctrl+A 이 머신의 모든 프로젝트
#   Ctrl+B 현재 git 브랜치의 세션만

# 3) 이름 붙여두고 이름으로 부르기
claude -n auth-refactor            # 시작할 때 이름 지정
/rename auth-refactor              # 세션 도중에 이름 지정
claude --resume auth-refactor      # 다음 날 이름 하나로 복귀

# 4) PR에서 출발한 세션 찾기
claude --from-pr 1234

# 5) 원본은 남기고 갈래 치기
/branch try-streaming-approach     # 같은 프로세스에서 복사 후 전환
claude --continue --fork-session   # 새 프로세스로 포크

# 6) 스크립트에서 기존 세션에 질문 던지기
claude -p --resume <session-id> --output-format json \
  "summarize what we changed" | jq -r ".result"
재개 시 복원되는 것과 다시 붙여야 하는 것

  1. 이름은 미래의 나에게 보내는 검색어다. 이름을 안 붙인 세션도 my-app-3f 같은 기본 표시명과 첫 프롬프트 요약 제목을 자동으로 받지만, 둘 다 --resume <이름>의 열쇠가 되지는 않는다. 직접 붙인 이름만 열쇠다.

  2. 오래 묵은 세션을 열면 요약 여부를 묻는다. Pro·Max에서 한 시간 넘게 방치되고 10만 토큰이 넘는 세션을 재개하면 프롬프트 캐시가 이미 만료돼 어느 쪽을 고르든 전체를 한 번은 다시 처리한다. 요약으로 재개는 이후 요청마다 토큰을 아끼는 대신 요약에서 빠진 디테일을 잃고, 그대로 재개는 전부 보존하는 대신 요청 비용이 대화 크기에 비례해 커진다.

  3. 같은 세션을 두 터미널에서 포크 없이 열면 두 대화가 한 전사에 뒤섞인다. 병렬로 갈 거면 --fork-session이나 워크트리를 쓰자.

  4. 전사 파일(JSONL)을 직접 파싱하지 말 것. 엔트리 형식은 내부 구현이라 릴리스마다 바뀐다. 사람이 읽을 거면 /export, 스크립트가 읽을 거면 --output-format json을 쓴다. 보존 기간은 기본 30일이고 cleanupPeriodDays로 조절한다.

/branch 원본과 분기 세션

출처

Redirecting to [Claude Code 스킬] 세션 재개(--continue·--resume) — 어제 하던 대화를 이름으로 다시 부르기 | DAKER 커뮤니티...