[Claude Code 스킬] 세션 재개(--continue·--resume) — 어제 하던 대화를 이름으로 다시 부르기 | DAKER 커뮤니티
무엇
세션은 프로젝트 디렉터리에 묶여 로컬에 계속 저장되는 대화다. Claude Code는 작업하는 동안 대화를 ~/.claude/projects/<프로젝트>/<세션ID>.jsonl에 계속 적어두기 때문에, 터미널을 닫아도 /clear를 눌러도 기록 자체는 남는다.
그래서 재개는 복구가 아니라 책갈피를 꽂아둔 페이지로 되돌아가기에 가깝다. 어제 설명한 폴더 구조, 시도했다 접은 접근, 툴 호출 결과까지 그대로 다시 문맥에 올라온다. 세션 안에서 시점을 되감는 체크포인트(/rewind)와 달리, 재개는 세션 자체를 다시 여는 일이다.
언제 쓰나
터미널을 닫았거나 Ctrl+C로 빠져나온 뒤 바로 이어갈 때 →
claude --continue어제 벌여둔 갈래가 여러 개라 골라야 할 때 →
claude --resume피커리팩터링·마이그레이션처럼 며칠 가는 작업을 단골로 만들 때 →
-n//renamePR 리뷰 코멘트를 받고 그 PR을 만든 대화로 돌아갈 때 →
claude --from-pr 1234지금 대화를 망치지 않고 다른 접근을 실험할 때 →
/branch
사용법
# 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"
팁
이름은 미래의 나에게 보내는 검색어다. 이름을 안 붙인 세션도
my-app-3f같은 기본 표시명과 첫 프롬프트 요약 제목을 자동으로 받지만, 둘 다--resume <이름>의 열쇠가 되지는 않는다. 직접 붙인 이름만 열쇠다.오래 묵은 세션을 열면 요약 여부를 묻는다. Pro·Max에서 한 시간 넘게 방치되고 10만 토큰이 넘는 세션을 재개하면 프롬프트 캐시가 이미 만료돼 어느 쪽을 고르든 전체를 한 번은 다시 처리한다. 요약으로 재개는 이후 요청마다 토큰을 아끼는 대신 요약에서 빠진 디테일을 잃고, 그대로 재개는 전부 보존하는 대신 요청 비용이 대화 크기에 비례해 커진다.
같은 세션을 두 터미널에서 포크 없이 열면 두 대화가 한 전사에 뒤섞인다. 병렬로 갈 거면
--fork-session이나 워크트리를 쓰자.전사 파일(JSONL)을 직접 파싱하지 말 것. 엔트리 형식은 내부 구현이라 릴리스마다 바뀐다. 사람이 읽을 거면
/export, 스크립트가 읽을 거면--output-format json을 쓴다. 보존 기간은 기본 30일이고cleanupPeriodDays로 조절한다.