Claude Code는 대화를 로컬에 계속 저장하므로 종료하거나 /clear를 한 뒤에도 돌아갈 수 있습니다. 어제 하던 일을 처음부터 설명하지 않고 이어가려고 씁니다.
직접 써보니
이 사이트를 만들 때 CLAUDE.md 맨 위에 claude --resume <세션ID> 줄을 적어 두고, 이전 세션으로 돌아가는 데 썼습니다.
어떻게 동작하나
세션은 프로젝트 디렉터리에 묶인 저장된 대화입니다. 작업하는 동안 로컬 기록 파일로 계속 저장됩니다. 기본 위치는 ~/.claude/projects/<프로젝트>/<세션ID>.jsonl 입니다. 기록은 기본 30일 보관 설정(cleanupPeriodDays)에 따라 정리됩니다.
이어갈 때는 대화 기록, 사용하던 모델, 에이전트, 활성 목표, 만료되지 않은 예약 작업이 복원됩니다. 압축된 세션이면 마지막 압축 요약 이후 내용으로 열립니다. 반대로 --mcp-config, --settings, --plugin-dir, --add-dir 같은 시작 플래그는 복원되지 않으므로 다시 줘야 합니다. settings.json 같은 표준 설정 파일은 시작할 때 다시 읽습니다.
사용 방법
- claude --continue: 현재 디렉터리의 가장 최근 세션을 바로 엽니다. 없으면 "No conversation found to continue"가 나오고 종료합니다.
- claude --resume: 세션 선택창을 엽니다.
- claude --resume <이름 또는 ID>: 이름이나 ID로 바로 엽니다. ID는 다른 디렉터리에서도 찾습니다.
- /resume: 실행 중인 세션 안에서 다른 세션으로 전환합니다. /resume <이름>도 됩니다.
- claude --from-pr <번호>: 해당 PR과 연결된 세션만 선택창에 보여 줍니다.
claude --continue claude --resume claude --resume auth-refactor claude -n auth-refactor
이름 붙이기와 선택창
이름은 시작할 때 claude -n 이름, 세션 중 /rename 이름, 선택창에서 Ctrl+R로 붙입니다. 이름을 붙이면 나중에 /resume 이름으로 바로 돌아갈 수 있습니다. 이름을 안 붙여도 첫 프롬프트를 요약한 제목이 생성되어 그것으로도 이어갈 수 있습니다. 다만 디렉터리명에 두 글자가 붙은 기본 표시 이름(예: my-app-3f)은 이어가기 핸들이 아닙니다.
이름이 여러 세션에 겹치면 claude --resume 이름은 이름을 검색어로 채운 선택창을 엽니다. /resume 이름은 이 경우 오류를 냅니다.
선택창 단축키는 다음과 같습니다. Enter 이어가기, Space 미리보기, Ctrl+R 이름 바꾸기, Ctrl+A 모든 프로젝트, Ctrl+W 모든 워크트리, Ctrl+B 현재 브랜치만, 문자 입력으로 검색입니다.
이웃 기능과의 관계
- /clear: 새 대화를 시작하되 이전 대화는 저장해 /resume으로 돌아갈 수 있습니다. /clear 이름을 주면 이전 대화에 이름이 붙습니다.
- /compact: 같은 대화를 요약합니다. 새 세션이 생기는 게 아니라 같은 세션이 이어집니다.
- /branch 또는 --fork-session: 대화를 복사해 다른 접근을 시도합니다. 원래 세션은 그대로 남습니다.
- 같은 세션을 터미널 두 곳에서 포크 없이 열면 메시지가 하나의 기록에 섞입니다.
- -p나 Agent SDK로 만든 세션은 선택창과 --continue에서 빠집니다. 세션 ID로는 이어갈 수 있습니다.
실제 예시
어제 하던 인증 리팩터링을 오늘 아침에 같은 폴더에서 이어갈 때
claude --continue
현재 디렉터리의 가장 최근 세션이 열려 어제 대화가 그대로 복원됩니다. 같은 폴더에서 다른 작업을 한 적이 있다면 가장 최근 세션이 그쪽일 수 있습니다.
여러 작업을 번갈아 하는데 세션 목록에서 어느 것이 어느 작업인지 모르겠을 때
작업 시작 때 claude -n 결제버그 로 실행하고, 다음날 claude --resume 결제버그
이름이 하나의 세션과 일치하면 선택창 없이 바로 열립니다. 이름이 여러 세션에 겹치면 이름을 검색어로 채운 선택창이 열립니다.
작업 주제를 바꾸려고 /clear를 했는데, 이전 대화가 다시 필요해졌을 때
/resume
선택창에서 이전 대화를 골라 돌아갑니다. /clear 전에 /rename으로 이름을 붙이거나 /clear 이름 형태로 지웠다면 찾기가 훨씬 쉽습니다.
흔한 실수와 쓰지 말아야 할 때
- --continue가 항상 원하는 세션을 연다고 믿는 것. 현재 디렉터리의 가장 최근 세션만 엽니다. 여러 작업을 번갈아 한다면 이름을 붙여 --resume 이름을 쓰세요.
- 시작 플래그가 복원된다고 생각하는 것. --mcp-config, --settings, --add-dir 같은 플래그는 다시 줘야 합니다.
- 기본 표시 이름(my-app-3f 같은 것)으로 이어가려는 것. 이어가기 핸들이 아닙니다.
- 같은 세션을 두 터미널에서 포크 없이 여는 것. 메시지가 한 기록에 섞입니다. 갈라서 쓰려면 --fork-session을 쓰세요.
- 기록이 영구 보관된다고 믿는 것. 기본 30일 설정에 따라 정리될 수 있습니다.
자주 묻는 질문
/resume과 claude --resume은 뭐가 다른가요?
/resume은 실행 중인 세션 안에서 다른 세션으로 전환하는 명령이고, claude --resume은 터미널에서 Claude Code를 시작하면서 세션을 고르는 방법입니다.
세션 ID는 어디서 확인하나요?
기록 파일 이름이 ~/.claude/projects/<프로젝트>/<세션ID>.jsonl 형태입니다. 이름을 붙여 두면 ID 없이도 이어갈 수 있어 편합니다.
이어가면 권한 모드도 복원되나요?
터미널에서 --continue나 이름·ID로 --resume하면 이전 권한 모드가 복원됩니다(예외 있음). 선택창으로 열면 plan 모드로 끝났던 세션만 plan 모드로 복원됩니다. --permission-mode를 주면 그 값이 우선합니다.
2026-10-30 공식 문서와 대조함. 출처: Claude Code 문서: Manage sessions, Claude Code 문서: Commands, Claude Code 문서: Common workflows. 작성 원칙