Anthropic이 실제로 발표한 내용
여기서 중요한 두 가지 문서가 있으며, 각각 다른 이유로 게시되었습니다.
첫 번째는 2026년 9월 15일 자 릴리스 노트입니다. 포킹 관련 내용은 약 60개의 항목 중 하나로, 공식 발표가 아닌 기능 참고 사항에 불과합니다. 블로그 게시물도 없고, 기능 페이지도 없으며, 이 글을 쓰는 시점까지 Remote Control 문서 페이지에는 앱에서 시작된 포킹에 대한 설명이 없습니다. 동작은 존재하지만, 이를 둘러싼 설명은 존재하지 않습니다.
두 번째는 한동안 메커니즘을 설명해 온 세션 문서입니다. 이 문서는 기억해 둘 만한 정의로 시작합니다. "세션은 프로젝트 디렉토리에 연결되어 저장된 대화입니다. Claude Code는 작업하는 동안 이를 로컬에 저장하므로, 중단한 부분부터 다시 시작하거나, 다른 접근 방식을 시도하기 위해 분기하거나, 작업 간에 전환할 수 있습니다."
분기(branching)에 대해: "분기는 지금까지의 대화 복사본을 생성하고 사용자를 해당 복사본으로 전환하며, 원본은 그대로 유지합니다." 그런 다음 실제 핵심 역할을 하는 문장이 나옵니다. "/branch는 트랜스크립트를 복사하고 실행 중인 Claude Code 프로세스가 여기에 쓰도록 전환합니다. 이 차이가 분기가 상속하는 대상을 결정합니다."
Anthropic은 상속 테이블을 그대로 공개했습니다. 대화 기록은 "/branch를 실행한 시점까지 분기(branch)로 복사됩니다." 권한 부여는 "이월됩니다. 분기는 동일한 프로세스에서 실행되므로 기존 권한이 계속 적용됩니다. --fork-session을 사용하여 별도의 프로세스로 포크하는 경우, 새 프로세스는 권한 없이 시작되므로 거기서 다시 승인해야 합니다."
거의 아무도 인용하지 않는 가장 흥미로운 두 개의 행이 있습니다. 실행 중인 백그라운드 서브에이전트 및 백그라운드 Bash 명령은 "계속 실행됩니다. 이들의 출력은 원래 세션이 아니라 전환한 새 분기에 나타납니다." 그리고 Remote Control 연결은 "연결된 상태를 유지합니다. 세션에 연결된 휴대폰이나 브라우저는 사용자를 따라 분기로 이동하여 거기서 계속 새 메시지를 받습니다."
이는 공급업체가 자체 문서에서 세션의 활성 부분이 이동한다고 명시한 것입니다. 원본은 기존 트랜스크립트를 유지하고, 여전히 실행 중인 작업과 모니터링 중이던 장치는 복사본과 함께 이동합니다.
이것이 바꾸는 것과 바꾸지 않는 것
저장되는 내용은 변경되지 않습니다. 문서에는 "원본은 디스크에서 변경되지 않고 세션 선택기(session picker)에 남아 있습니다"라고 명시되어 있으며, 분기된 세션은 "자체 세션 ID를 얻고 별도의 행으로 나타납니다." 언제든지 양쪽 중 하나로 돌아갈 수 있습니다.
포크를 미러(mirror)로 만들지 않습니다. 포크는 특정 순간에 생성된 복사본이며, 그 순간부터 두 트랜스크립트는 서로 다른 미래를 가진 별개의 파일이 됩니다. Anthropic은 서브에이전트에 대해서도 동일한 형태를 설명합니다. "서브에이전트는 포크가 아닌 한 새로 시작되며, 포크인 경우 지금까지의 대화 복사본으로 시작합니다." 지금까지의 대화 복사본일 뿐, 대화에 대한 링크가 아닙니다.
변화하는 것은 포크가 얼마나 쉽게 생성되는지, 그리고 결과적으로 얼마나 많은 포크가 생겨나는지입니다. 이전에는 세션을 분할하려면 세션을 실행 중인 터미널에 있어야 했습니다. 이제는 세션이 Remote Control을 통해 연결되어 있는 동안 휴대폰이나 브라우저에서 분할을 시작할 수 있으며, 그 결과는 컴퓨터의 백그라운드 세션으로 저장됩니다.
이는 Remote Control이 이미 다중 화면(multi-surface) 구조였기 때문에 중요합니다. Anthropic은 이를 "컴퓨터에서 실행 중인 Claude Code 세션에 claude.ai/code 또는 iOS 및 Android용 Claude 앱을 연결하는 것"으로 설명하며, 화면의 성격에 대해 신중하게 정의합니다. "웹 및 모바일 인터페이스는 해당 로컬 세션을 들여다보는 창(window)입니다." 단수형인 '창'입니다. 포킹은 두 개의 세션과 하나의 창을 제공하며, 창은 포크를 따릅니다.
동일한 릴리스 노트의 두 번째 줄도 이와 함께 다루어야 합니다. 다른 각도에서 발생하는 동일한 문제이기 때문입니다. "컨텍스트 미터 및 자동 압축(auto-compact)이 advisor-tool 턴을 실제 컨텍스트 크기의 약 두 배로 계산하여, 실제 창의 약 절반 크기에서 자동 압축이 실행되던 문제를 수정했습니다."
압축(compaction)은 복사 작업은 아니지만 재작성 작업이며, 문서에서는 그 비용을 다음과 같이 설명합니다. Claude Code는 "먼저 오래된 도구 출력을 지운 다음, 필요한 경우 대화를 요약합니다. 요청 사항과 핵심 코드 스니펫은 보존되지만, 대화 초반의 세부 지침은 손실될 수 있습니다." 일찍 실행되었다는 것은 이 재작성이 의도보다 일찍 일어났음을 의미하며, 이를 알아차릴 수 있는 유일한 곳은 그 자체로 잘못 계산되고 있던 미터뿐이었습니다. 우리는 이에 대한 일반적인 버전을 압축 패스에서 실제로 살아남는 것에서 다루었습니다.
두 줄 모두 사용자가 인지할 수 있는 이벤트 없이 대화의 형태가 바뀌는 현상을 설명합니다. 하나는 분할되고, 다른 하나는 단축됩니다. Anthropic은 두 번째 문제를 발견하여 수정했습니다. 첫 번째는 문서화된 의도된 동작입니다. 둘 다 도구를 불신할 이유는 아닙니다. 하지만 대화를 의사결정이 보관되는 장소로 취급하는 것을 중단해야 할 이유가 됩니다.
사람들이 오해하기 쉬운 점들
"포킹은 git 브랜치와 같아서 나중에 다시 병합(merge)할 수 있습니다." 이 비유가 가장 큰 오해를 불러일으킵니다. 버전 관리에서 브랜칭은 갈라진 작업을 다시 통합하기 위해 존재하며, 병합이 핵심입니다. 세션 문서에서는 브랜치를 생성하고 둘 중 하나로 돌아가는 것을 설명할 뿐, 두 세션 ID 간의 조율(reconciliation)은 설명하지 않습니다. 이 비교는 분할까지만 유효하며 거기서 끝납니다.
"원본은 손상되지 않으므로 손실되는 것은 없습니다." 디스크에서 손상되지 않는 것은 맞습니다. 하지만 문서에 따르면 실행 중인 백그라운드 작업은 원래 세션이 아니라 "전환한 새 분기"에 보고되며, 연결된 휴대폰이나 브라우저는 "사용자를 따라 분기로 이동"합니다. 포크하고 떠나버리면 원본은 이전 상태 그대로 완벽하게 유지되지만, 그만큼 오래된 상태로 멈춰 있게 됩니다.
"둘 다 열어두면 동기화 상태가 유지됩니다." 그렇지 않습니다. 수동 버전에 대해 문서화된 실패 모드가 있습니다. "포크하지 않고 두 터미널에서 동일한 세션을 재개하면, 양쪽의 메시지가 하나의 트랜스크립트로 인터리브(interleave)됩니다." 두 명의 작성자가 인터리브된 하나의 트랜스크립트는 동기화된 두 개의 대화가 아닙니다. 나중에 읽기 어려운 기록일 뿐입니다.
"휴대폰이 모든 것을 보여줍니다." Remote Control 페이지는 이 부분에서 신중합니다. 대화를 전환할 때 "연결된 장치는 전환된 대화의 제목이나 이전 기록을 받지 못하지만, 양방향의 새 메시지는 터미널에 열려 있는 대화로 전송되고 수신됩니다." 장치는 라이브 뷰일 뿐, 아카이브가 아닙니다.
해결책: 어느 복사본도 소유하지 않은 곳에 결론 기록하기
신뢰할 수 있는 방법은 올바른 세션을 선택하는 것이 아닙니다. 세션이 기록 보관소 역할을 하도록 요구하는 것을 중단하는 것입니다.
1단계: 포크를 생성하기 전에 목적을 결정하세요
이제 포크 비용이 저렴해졌으므로 신중해질 필요가 있습니다. 분할해야 하는 정당한 이유는 두 가지입니다. 버릴 수도 있는 접근 방식을 시도해보고 싶거나, 두 개의 작업 라인이 섞이지 않고 진행되기를 원할 때입니다. 두 경우 모두 다시 합쳐지지 않는 복사본이 생성됩니다.
브랜치 이름에 그 이유를 명확히 밝히세요. Anthropic은 이름을 생략하면 "Claude Code가 대화의 첫 번째 프롬프트를 따라 새 브랜치의 이름을 지정합니다"라고 명시하고 있습니다. 이는 유용하지만, 첫 번째 프롬프트는 시작한 위치를 설명할 뿐 분할한 이유를 설명하지는 못합니다.
2단계: 결정된 사항을 트랜스크립트에서 먼저 추출하세요
포크하기 전에 대화에서 확정된 사항을 한 번 짚어보세요. 내린 결정과 그 이유, 발견한 제약 조건, 배제한 접근 방식 등이 이에 해당합니다. 이것들이 바로 결론입니다. 그 외의 모든 것은 결론을 도출하기 위한 추론 과정입니다.
결론은 분할된 양쪽 모두에서 읽을 수 있어야 하므로, 곧 복제될 트랜스크립트 내부에만 존재해서는 안 됩니다. 압축에 대한 Anthropic의 조언도 동일한 방향을 가리킵니다. "대화 기록에 의존하기보다 영구적인 규칙은 CLAUDE.md에 작성하세요." 이는 하나의 리포지토리에 있는 하나의 파일에 적용되는 올바른 직관입니다. 이 직관을 작업 지식에 적용하는 것이 긴 컨텍스트와 메모리의 차이입니다.
3단계: 돌아올 복사본 하나를 지정하세요
분할 후 두 세션은 동일하게 실재하지만, 월요일에 재개할 세션은 단 하나뿐입니다. 어느 세션인지 결정하고 브랜치 이름, 프로젝트 파일 또는 작업 중인 이슈 등 눈에 잘 띄는 곳에 기록해 두세요.
여기서의 실패는 극적이지 않습니다. 세션 선택기를 열고 비슷해 보이는 두 개의 행을 보고, 더 최근 활동이 있는 것을 선택하여 이미 포기했던 추론을 계속 이어가는 식입니다. 선택기는 이름, 타임스탬프, 파일 크기만 제공할 뿐, 여러분이 의도했던 쪽이 어디인지 알려주지 못합니다. 이는 이전 명령의 스크롤백이 의사결정 기록을 대체하기에 부족한 이유와 동일한 한계입니다.
MemoryLake에서 설정하기
세 단계의 핵심은 결론이 그것이 도출된 컨테이너보다 오래 살아남는다는 것입니다. MemoryLake는 개별 트랜스크립트와 분리되어 이후에 여는 모든 세션에서 읽을 수 있도록 의도적으로 결론을 기록하는 저장소입니다. 여러분의 언어로 직접 항목을 작성합니다. Anthropic의 시스템에서 읽거나 쓰거나 삭제되는 것은 없습니다. 세션, 트랜스크립트, 체크포인트는 전적으로 Claude Code의 자체 제어 하에 유지됩니다.
1단계: API 키 생성
대시보드에서 키를 생성합니다. 이 키를 통해 포크된 세션, 원본 세션, 다음 달에 시작할 세션이 모두 동일한 사실 집합에 도달할 수 있습니다.

2단계: 첫 번째 메모리 업로드
다시 논쟁하고 싶지 않은 결정사항부터 시작하세요. 확정된 접근 방식, 명백한 옵션이 틀렸음을 증명한 제약 조건, 이미 시도해 본 것 등입니다. 보통 12개 정도의 짧은 항목이면 프로젝트 하나 분량의 확정된 내용을 다룰 수 있습니다. 서술형이 아닌 선언문 형태로 작성하세요.

3단계: AI & 에이전트 연결
Claude Code가 세션 시작 시 사실을 재구성하는 대신 해당 레이어에서 로드하도록 지정하세요. 그런 다음 확실한 방법으로 테스트해 보세요. 세션을 포크하고, 복사본을 열고, 사실 중 하나를 다시 물어보세요. 복사본이 대답한다면, 분할된 세션은 더 이상 지식의 포크가 아닙니다.

실무에서 변화하는 점
첫 번째 변화는 중요한 의미에서 포킹이 자유로워진다는 점입니다. 사람들은 세션이 메모 역할을 겸하고 있기 때문에 긴 세션을 분할하기를 주저하며, 메모를 분할하는 것을 무모하게 느낍니다. 확정된 부분이 세션 외부에 존재하게 되면, 작업이 요구하는 만큼 자주 분할할 수 있습니다.
두 번째는 세션 선택기가 더 이상 기억력 테스트가 되지 않는다는 점입니다. 같은 날 오후에 생성된 두 개의 행은 메타데이터만으로는 구별하기 어렵습니다. 결론이 다른 곳에 있다면, 잘못된 행을 선택하더라도 결정을 반복하는 대신 몇 분 동안 상황을 파악하는 비용만 치르면 됩니다.
세 번째는 여러 세션이 동시에 실행될 때 나타납니다. Anthropic은 백그라운드 세션, 에이전트 팀, 세션 간 메시징 등 이를 의도적으로 지원하며, 각각은 다른 세션이 알고 있는 내용 없이 시작되는 또 다른 컨텍스트입니다. 우리는 이 문제를 에이전트 팀이 작업 내용을 공유하는 방법과 Claude Code 세션 간 컨텍스트 공유에서 다루었습니다.
네 번째는 트랜스크립트가 트랜스크립트 본연의 역할을 하게 된다는 점입니다. 즉, 일어난 일에 대한 훌륭한 기록이자 결정된 사항에 대한 빈약한 인덱스가 되는 것입니다. 이것이 바로 검색 가능한 로그가 메모리를 원했던 사람들을 계속 실망시키는 이유입니다.
포크된 Claude Code 세션 작업을 위한 모범 사례
생성 시 모든 포크의 이름을 지정하세요. 기본 이름은 대화의 시작 부분을 설명합니다. 분할 이유를 설명하는 이름이 필요합니다.
실험이 잘못된 후가 아니라, 실험 전에 포크하세요. 의심이 드는 순간에 생성한 포크는 깨끗한 상태를 제공합니다. 세 번의 탐색적 턴이 지난 후에 생성한 포크는 탐색 과정을 양쪽에 모두 복사합니다.
별도의 프로세스는 다시 권한을 요청할 것임을 예상하세요. 문서에는 별도의 프로세스로 포크하는 경우 "권한 없이 시작되므로 거기서 다시 승인해야 합니다"라고 명시되어 있습니다. 실행 도중에 맞닥뜨리기보다 미리 프롬프트를 계획하세요.
장치가 어떤 대화에 연결되어 있는지 확인하세요. 포크 후 연결된 휴대폰이나 브라우저는 분기를 따릅니다. 원본을 계속 모니터링하려면 의도적으로 다시 전환하세요.
대화가 온전한지 확인하기 위해 미터에만 의존하지 마세요. 9월 15일의 수정 사항은 표시기와 그것이 측정하는 대상이 서로 다른 시스템임을 상기시켜 줍니다.
결정당 하나의 서면 답변을 모든 세션 외부에 보관하세요. 포크의 양쪽 모두에 필요한 사실이라면, 어느 쪽에도 속하지 않는 곳에 두어야 합니다.
결론
버전 2.1.273은 작고 합리적인 편의 기능을 추가했습니다. 이제 Claude 앱에서 Remote Control 세션을 포크할 수 있으며, 포크된 세션은 컴퓨터에서 백그라운드 세션으로 실행됩니다. 메커니즘은 처음부터 문서화되어 있었습니다. 포크는 "트랜스크립트를 복사"하고, 원본은 "디스크에서 변경되지 않으며", 진행 중인 작업은 "원래 세션이 아니라 전환한 새 분기"에 보고됩니다.
이 릴리스가 바꾸는 것은 셈법입니다. 이전에는 대화를 분할하려면 대화 앞에 앉아 있어야 했지만, 이제는 어디서나 탭 한 번으로 가능합니다. 이는 더 많은 포크, 비슷해 보이는 더 많은 세션 행, 그리고 학습한 내용이 두 곳 중 정확히 한 곳에만 존재하는 더 많은 순간을 의미합니다.
이 중 어느 것도 결함이 아니며, Anthropic이 여기서 메모리 기능을 발표하는 것도 아닙니다. 이는 공급업체가 자체 문서에서 정확하게 설명한 대로 작동하는 복사 작업일 뿐입니다. 여기서 도출할 결론은 포킹에 관한 것이 아닙니다. 대화는 이미 결정한 사항을 보관하기에 결코 적절한 장소가 아니었으며, 포킹은 단 하루 만에 이를 가시화해 준다는 점입니다.