MemoryLake
모든 글로 돌아가기
Tutorial2026년 10월 12일·11 분 소요

VS Code에서 사라진 GitHub Copilot 채팅 기록 복구하는 방법 (2026년 가이드)

어제 진행하던 Copilot 세션을 이어가기 위해 VS Code에서 채팅 뷰를 열었는데 목록에 보이지 않는 경우가 있습니다. 목록이 기억보다 짧아졌거나, 특정 프로젝트의 대화 전체가 사라진 것처럼 보일 수도 있습니다. 절반쯤 진행 중이던 계획이 담긴 세션이었다면 정말 난감한 순간일 것입니다.

보통은 세션이 여전히 존재합니다. VS Code의 세션 목록은 작업 영역(workspace), 상태, 세션이 생성된 위치 등에 따라 필터링되고 범위가 지정되므로 놓치기 쉽습니다. 물론 세션을 영구적으로 삭제하는 몇 가지 문서화된 경로도 있으므로, 어떤 경우에 해당하는지 알면 계속 찾아봐야 할지 판단할 수 있습니다.

이 가이드에서는 VS Code에서 Copilot 채팅 기록이 사라지는 문서화된 모든 원인, 복구 가능한 세션을 다시 가져오는 방법, 중요한 내용을 백업해 두는 방법을 다룹니다. 만약 질문이 세션 목록에 표시되는 내용이 아니라 Copilot이 기억하는 정보에 관한 것이라면, VS Code에서 Copilot Memory 설정 가이드에서 메모리 측면을 다루고 있으니 참고하시기 바랍니다.

VS Code에서 Copilot 채팅 기록이 사라지는 이유

채팅 뷰는 현재 열려 있는 작업 영역만 표시합니다

VS Code에는 세션을 나열하는 두 가지 위치가 있으며, 표시되는 내용이 다릅니다. 채팅 뷰의 경우, Microsoft 문서에 따르면 "세션 목록은 현재 작업 영역으로 범위가 제한되며 세션을 기간별로 그룹화합니다"라고 설명되어 있습니다. 여기에 한 가지 예외가 추가됩니다. "작업 영역이 열려 있지 않은 경우 목록에는 모든 작업 영역의 모든 세션이 표시됩니다."

Agents 창은 더 넓은 범위를 다룹니다. 이 창의 세션 목록은 "모든 작업 영역의 세션을 표시하므로 한 곳에서 여러 프로젝트의 작업을 모니터링할 수 있습니다."

따라서 한 프로젝트에서 세션을 시작하고 다른 프로젝트에서 VS Code를 열면 채팅 뷰에 해당 세션이 표시되지 않습니다. 다른 폴더에서 동일한 코드를 여는 경우, 채팅 뷰는 현재 열려 있는 작업 영역을 따르므로 Agents 창도 함께 확인해 보세요.

기본적으로 목록에는 활성 세션만 표시됩니다

두 목록 모두 기본적으로 필터링된 상태로 시작됩니다. 문서에 따르면 "기본적으로 목록은 활성 세션만 표시하도록 필터링됩니다. 필터를 변경하여 완료됨(completed) 또는 보관됨(archived)과 같은 다른 상태의 세션을 표시할 수 있습니다."

완료한 세션이나 다른 이유로 활성 상태에서 벗어난 세션은 필터를 변경하기 전까지는 나타나지 않습니다.

보관되거나 완료된 세션은 삭제된 것이 아니라 숨겨진 것입니다

보관(Archiving)은 VS Code가 목록을 깔끔하게 유지하는 방법이며, 이 기능은 세션의 마우스 오버 메뉴에 바로 위치해 있습니다. Microsoft는 이에 대해 명확히 설명합니다. "세션을 보관해도 삭제되지 않습니다. 언제든지 세션 보관을 취소하여 활성 세션 목록으로 복구할 수 있습니다."

보관된 세션을 보려면 채팅 뷰에서 Archived 필터를 사용하거나 Agents 창에서 Done 필터를 사용하세요. 세션 내부의 개별 채팅도 동일하게 작동합니다. "채팅을 완료(done)로 표시하면 활성 세션 목록에서 숨겨지고 탭이 닫히지만 삭제되지는 않습니다." Done 필터에서 이를 찾아 복구할 수 있으며, 문서에 따르면 "제목과 대화 기록이 그대로 유지된 채" 복구됩니다.

다른 앱의 세션은 필터를 변경하기 전까지 숨겨집니다

VS Code는 Copilot CLI, GitHub Copilot 앱, Claude Code, Codex에서 시작한 세션을 표시할 수 있습니다. 하지만 "기본적으로 다른 애플리케이션에서 생성된 세션은 숨겨집니다." External 필터를 사용하여 None(없음)부터 Recent(최근), Last 24 Hours(지난 24시간), Last 7 Days(지난 7일), All(전체) 중 원하는 범위를 선택해 표시할 수 있습니다.

Copilot 세션에는 시간 제한도 있습니다. "Copilot 세션의 경우, 탐색 대상에는 리포지토리와 연결되어 있고 지난 7일 이내에 업데이트된 세션이 포함됩니다." 3주 전의 CLI 세션은 탐색을 통해 나타나지 않습니다. CLI와 에디터를 넘나들며 작업하는 경우, Copilot CLI 지침 연결 가이드에서 두 환경을 일관되게 유지하는 방법을 다루고 있습니다.

자동 정리 기능이 세션을 완료로 표시한 후 삭제할 수 있습니다

VS Code에는 풀 리퀘스트(PR)가 병합된 세션에 대한 선택적 정리 기능이 있습니다. "두 설정 모두 기본적으로 비활성화되어 있으므로" 사용자나 조직이 직접 활성화한 경우에만 적용됩니다. 이 기능이 켜져 있으면, 첫 번째 설정은 일정 기간 동안 활동이 없는 대상 세션을 완료(done)로 표시하고, 두 번째 설정은 추가 유예 기간이 지난 후 영구 삭제합니다.

문서에서는 삭제 범위를 신중하게 제한합니다. "영구 삭제는 VS Code가 자동으로 완료로 표시한 세션에만 적용됩니다. 사용자가 수동으로 완료로 표시한 세션은 자동으로 삭제되지 않습니다." 또한 유예 기간 동안 복구할 수 있는 방법이 있습니다. "자동으로 완료된 세션을 복구하면 삭제 대상에서 제외됩니다."

Worktree 정리도 비슷한 방식으로 작동합니다. 이를 실행하면 "정리 작업이 선택한 각 세션을 완료로 표시하고 해당 worktree를 제거하도록 예약합니다." 세션과 브랜치 기록은 보존되므로 해당 세션들은 Done 필터 아래에 남게 됩니다.

로컬 세션 인덱스를 재구축해야 할 수 있습니다

VS Code는 Copilot 세션의 로컬 인덱스를 유지합니다. Microsoft의 세션 기록 문서에 따르면 "세션이 누락되었거나 데이터베이스가 손상된 경우 인덱스를 재구축하십시오"라고 명시되어 있습니다. 일반적인 재구축 실행 조건으로는 "백업에서 세션 파일을 복구한 후, 예기치 않은 충돌이 발생한 후, 세션 디렉터리를 수동으로 삭제한 후, 또는 세션 동기화에 다시 동의한 후" 등이 있습니다.

삭제된 세션은 영구히 사라집니다

삭제는 위의 모든 케이스와 다릅니다. "세션을 삭제하면 영구적으로 제거되며 되돌릴 수 없습니다." 동기화된 데이터의 경우, 양쪽 모두에서 삭제하도록 선택하면 "사용자 컴퓨터와 GitHub.com에서 세션 데이터가 모두 제거됩니다. 이 작업은 되돌릴 수 없습니다."

세션을 단지 보이지 않게 숨기고 싶었던 것이라면 보관(archiving)이 올바른 선택이었습니다. Microsoft의 공식 가이드에서도 그렇게 권장하고 있습니다.

다른 기기에서는 동기화 설정에 따라 표시 여부가 결정됩니다

VS Code는 기본적으로 세션을 동기화합니다. 문서에 따르면 "로컬 에이전트 세션을 GitHub 계정에 동기화하여 기기 간에 액세스할 수 있도록 합니다." 이 기능 덕분에 다른 컴퓨터에서도 세션을 찾을 수 있습니다.

몇 가지 설정으로 이 기능을 끌 수 있습니다. chat.sessionSync.enabled를 false로 설정하면 "세션 데이터가 로컬 컴퓨터에만 유지되며 로컬에서만 쿼리할 수 있습니다." chat.sessionSync.excludeRepositories에 나열된 리포지토리는 제외됩니다. "일치하는 리포지토리의 세션은 로컬에만 저장됩니다." 또한 Copilot Business 및 Enterprise에서는 조직 정책에 의해 동기화가 비활성화될 수 있으며, 이 경우 상태에 정책에 의해 비활성화되었다고 표시되며 사용자가 이를 무시하고 변경할 수 없습니다.

동기화는 기본적으로 비공개입니다. "동기화된 세션은 명시적으로 공유하지 않는 한 비공개로 유지됩니다." Microsoft는 또한 "정책을 활성화해도 관리자가 사용자의 세션 데이터에 액세스할 수 있는 권한은 부여되지 않습니다"라고 명시하고 있습니다.

흔히 하는 잘못된 시도들

다른 프로젝트에서 채팅 뷰 검색하기. 채팅 뷰는 현재 작업 영역만 나열합니다. 모든 작업 영역을 보려면 Agents 창을 확인해야 합니다.

보관된 세션이 삭제되었다고 생각하기. 보관은 세션을 숨길 뿐입니다. 보관을 취소하면 다시 가져올 수 있습니다.

에디터에서 CLI 세션 찾기. 외부 세션은 필터를 변경하기 전까지 숨겨지며, 탐색 기능은 최근 세션만 지원합니다.

새 노트북에서 세션이 나타나기를 기대하기. 이는 본인 계정 및 해당 리포지토리에 대해 동기화가 활성화되어 있는지에 따라 달라집니다.

목록 누락을 해결하기 위해 VS Code 재설치하기. 인덱스에서 세션이 누락되었을 때 공식 문서에서 권장하는 단계는 인덱스 재구축(Reindexing)입니다.

삭제된 세션이 다시 나타나기를 기다리기. 삭제는 영구적입니다.

해결 방법: 목록 범위 넓히기, 동기화 및 인덱스 확인, 중요한 내용 백업하기

1단계: 범위 및 필터 확장하기

모든 작업 영역의 세션을 보려면 Agents 창을 여세요. 어떤 목록을 사용하든, 채팅 뷰에서는 완료됨(completed) 및 보관됨(archived) 세션을 포함하도록 상태 필터를 변경하고, Agents 창에서는 Done 세션을 포함하도록 변경하세요.

세션이 Copilot CLI, GitHub Copilot 앱, Claude Code, Codex에서 생성된 경우 External 필터를 All로 설정하세요. 세션 내부에서 완료로 표시된 개별 채팅의 경우, Done 필터를 사용하거나 해당 세션의 완료된 채팅을 표시한 다음 복구하세요.

자동 정리 기능을 사용하는 경우, chat.agentSessions.autoMarkAsDoneMergedSessionsAfterDays 및 chat.agentSessions.autoDeleteMarkedAsDoneMergedSessionsAfterDays 두 설정을 확인하세요. 유예 기간이 끝나기 전에 여전히 필요한 세션을 복구해 두어야 합니다.

2단계: 동기화 확인 후 인덱스 재구축하기

채팅 뷰의 Copilot 상태 표시줄에서 세션 동기화 상태를 확인하세요. 동기화가 활성화되어 있는지, 몇 개의 세션이 동기화되었는지, 또는 정책에 의해 비활성화되었는지 알려줍니다. 다른 기기에서 진행하던 세션을 찾고 있다면 이 부분을 가장 먼저 확인해야 합니다.

그 다음 로컬 인덱스를 재구축합니다. 커맨드 팔레트(Command Palette)에서 'Reindex Sessions'를 실행하거나 채팅 입력창에 /chronicle:reindex를 입력하세요. 완료되면 /chronicle:search를 사용하여 검색할 수 있습니다. Microsoft는 이를 "키워드, 파일 경로, 풀 리퀘스트 또는 이슈 참조로 세션을 검색하는 방법"으로 설명합니다.

이 방법으로도 세션이 나타나지 않고 직접 삭제한 적도 없다면, 세션이 실행되었던 기기에서 동기화되지 않았을 수 있습니다. 해당 기기를 확인해 보세요.

3단계: 중요한 세션 내보내기 및 결정 사항 기록하기

찾을 수 있는 세션을 모두 확보했다면, 세션 목록 외부의 안전한 곳에 복사본을 보관하세요. 세션을 연 상태에서 커맨드 팔레트에서 'Chat: Export Chat'을 실행합니다. Microsoft는 "채팅 세션을 내보내면 세션의 모든 프롬프트와 응답이 포함된 JSON 파일이 생성됩니다"라고 설명합니다. 더 읽기 쉬운 형식을 원한다면, 'Copy All' 옵션을 사용하여 "모든 프롬프트, 응답, 생각 단계(thinking steps), 도구 호출을 포함한 전체 채팅 세션을 Markdown 형식으로 복사"할 수 있습니다.

그런 다음 실제로 나중에 다시 필요할 만한 내용을 추출하세요. 긴 에이전트 세션은 대부분 중간 과정들입니다. 정말 유용한 부분은 접근 방식을 선택한 이유, 제외된 대안, 여전히 해결되지 않은 문제 등 몇 가지 핵심 결정 사항들입니다. 대화 기록과는 별개로 이러한 내용을 본인의 언어로 직접 기록해 두세요. 인덱싱된 세션 로그와 메모리 비교 글에서 검색 가능한 로그가 '현재 여전히 유효한 사실'이 아니라 '과거에 했던 말'을 기억하는 이유를 설명해 줍니다.

MemoryLake에서 설정하기

세션 기록은 작업이 어떻게 진행되었는지 보여주는 기록입니다. 이전 세션이 목록에 남아 있든 없든, 다음 세션에 필요한 것은 결국 마지막에 내려진 결정 사항들입니다. MemoryLake는 이러한 결정 사항들을 직접 관리하는 하나의 목록으로 유지하여 Copilot 및 사용하는 다른 에이전트들이 활용할 수 있도록 돕는 메모리 레이어입니다.

사용자가 직접 본인의 언어로 항목을 작성합니다. VS Code 세션, GitHub 계정 또는 타사 저장소에서 데이터를 읽거나 쓰거나 삭제하지 않습니다. 코드가 회사나 고객의 소유인 경우, 프로젝트 세부 정보를 다른 곳에 복사하기 전에 보안 정책을 확인하세요.

1단계: API 키 생성하기

로그인한 후 대시보드에서 키를 생성합니다. 이 키는 MemoryLake 작업 영역에 속하며 GitHub 계정과는 별개입니다.

에이전트에서 사용할 새 키를 생성하고 복사하는 API 키 화면을 보여주는 MemoryLake 콘솔
에이전트에서 사용할 새 키를 생성하고 복사하는 API 키 화면을 보여주는 MemoryLake 콘솔

2단계: 첫 번째 메모리 업로드하기

방금 복구하거나 내보낸 세션의 결정 사항부터 시작해 보세요. 항목당 하나의 결정 사항을 날짜, 리포지토리, 이유와 함께 기록합니다.

첫 번째 문서들이 업로드되어 각 파일이 검색 가능한 메모리로 나열된 MemoryLake 작업 영역
첫 번째 문서들이 업로드되어 각 파일이 검색 가능한 메모리로 나열된 MemoryLake 작업 영역

3단계: AI 및 에이전트 연결하기

사용 중인 코딩 에이전트를 연결하세요. 그러면 결정을 내렸던 원래 세션이 보관되거나 삭제되었거나 동기화되지 않았더라도, 새 세션에서 동일한 결정 사항들을 바로 활용할 수 있습니다.

메모리 레이어에 연결할 수 있는 AI 클라이언트 및 에이전트 프레임워크를 나열하는 MemoryLake 연동 화면
메모리 레이어에 연결할 수 있는 AI 클라이언트 및 에이전트 프레임워크를 나열하는 MemoryLake 연동 화면

실제 작업에서 달라지는 점

첫 번째 차이점은 더 빠른 검색입니다. 문서화된 원인들을 알고 나면 단 몇 분 만에 범위를 넓히고, 두 개의 필터를 변경하고, 동기화를 확인하고, 인덱스를 재구축할 수 있습니다.

두 번째는 보관(archiving)이 더 이상 위험하지 않다는 점입니다. 결정 사항을 따로 기록해 두면 세션 목록을 정리하더라도 필요한 정보가 사라지지 않습니다.

세 번째는 새 기기에서도 즉시 컨텍스트(context)를 가지고 시작할 수 있다는 점입니다. 세션 동기화 여부와 관계없이, 별도로 보관해 둔 결정 사항은 언제나 사용할 수 있습니다.

네 번째는 기록(history)과 메모리(memory)의 명확한 구분입니다. 라이선스별 Copilot Memory 관리 가이드에서 설명하듯이, Copilot Memory는 라이선스 하에 관리되며 Copilot이 학습한 내용을 담습니다. 지침(instruction) 파일은 규칙을 담고 있으며, 이는 우선순위가 높은 Copilot 지침 파일 가이드에서 다룹니다. Copilot Space는 Copilot Space 최신 상태 유지하기에서처럼 참조 자료를 담을 수 있습니다. 그리고 여러분만의 결정 로그(decision log)는 코드 뒤에 숨겨진 의도와 이유를 담습니다. 이 마지막 공백에 대해 더 자세히 알아보려면 Copilot이 코드베이스 컨텍스트를 잊지 않도록 방지하는 방법을 참고하세요.

Copilot 채팅 기록을 쉽게 찾기 위한 모범 사례

Agents 창을 사용하여 검색하세요. 모든 작업 영역의 세션이 나열됩니다.

필터를 먼저 확인하세요. 기본값은 활성 세션만 표시하는 것입니다.

삭제 대신 보관을 활용하세요. 보관된 세션은 언제든지 복구할 수 있습니다.

CLI를 사용하는 경우 External 필터를 켜세요. 다른 앱의 세션은 기본적으로 숨겨집니다.

동기화 상태를 파악해 두세요. 다른 기기에서 표시되는 내용을 결정합니다.

세션이 누락되면 인덱스를 재구축하세요. 충돌이나 복구 후 공식 문서에서 권장하는 단계입니다.

중요한 내용은 내보내고 결정 사항을 기록해 두세요. 대화 기록은 백업일 뿐, 앞으로의 계획이 아닙니다.

결론

VS Code에서 Copilot 채팅 기록이 사라지는 현상은 대개 문서화된 명확한 원인이 있습니다. 채팅 뷰는 현재 작업 영역만 나열하고, 두 목록 모두 기본적으로 활성 세션만 표시하며, 보관되거나 완료된 세션은 삭제된 것이 아니라 숨겨집니다. 또한 다른 앱의 세션은 External 필터를 변경하기 전까지 숨겨진 상태로 유지됩니다. 선택적인 정리 기능이 병합된 세션을 완료로 표시한 후 나중에 삭제할 수도 있고, 동기화 설정에 따라 다른 기기로 전달되는 세션이 결정되며, 손상된 인덱스는 재구축할 수 있습니다.

삭제된 세션은 예외입니다. 로컬 컴퓨터와 (선택한 경우) GitHub.com에서 영구히 사라집니다.

범위를 넓히고, 필터, 동기화, 인덱스를 확인한 다음, 필요한 세션을 내보내고 그 결정 사항들을 특정 목록에 의존하지 않는 안전한 곳에 보관해 두세요.

자주 묻는 질문

VS Code에서 Copilot 채팅 기록은 어디에 있나요?

세션 목록에 있습니다. 채팅 뷰는 현재 작업 영역의 세션을 보여주며, 기본적으로 활성 세션만 표시하도록 필터링되어 있습니다. Agents 창은 모든 작업 영역의 세션을 보여줍니다.

왜 Copilot 채팅 기록이 사라졌나요?

가장 흔한 원인은 다른 작업 영역이 열려 있거나, 기본 필터가 활성 세션만 표시하도록 설정되어 있거나, 세션이 보관 또는 완료 상태이거나, External 필터로 인해 다른 앱의 세션이 숨겨져 있거나, 선택적 자동 정리 기능이 작동했기 때문입니다. 또한 세션 인덱스가 손상되어 인덱스를 재구축하기 전까지 세션이 숨겨질 수도 있습니다.

VS Code에서 삭제된 Copilot 채팅 세션을 복구할 수 있나요?

아니요. Microsoft는 세션을 삭제하면 영구적으로 제거되며 되돌릴 수 없다고 명시하고 있습니다. 보관된 세션은 다릅니다. 언제든지 보관을 취소할 수 있습니다.

Copilot 채팅 기록이 기기 간에 동기화되나요?

기본적으로 VS Code는 로컬 에이전트 세션을 GitHub 계정에 동기화합니다. 동기화를 해제하거나, 특정 리포지토리를 제외하거나, 조직 정책에 의해 동기화가 비활성화될 수 있으며, 이 경우 세션은 실행된 기기에만 유지됩니다.

VS Code에서 Copilot 채팅 기록을 내보내려면 어떻게 해야 하나요?

세션을 열고 커맨드 팔레트에서 'Chat: Export Chat'을 실행하여 JSON 파일로 저장할 수 있습니다. 또는 'Copy All'을 사용하여 전체 세션을 Markdown 형식으로 복사할 수도 있습니다.

VS Code에서 Copilot CLI 세션을 볼 수 있나요?

네, 가능합니다. 세션 목록에서 External 필터를 설정하여 다른 애플리케이션의 세션을 표시하도록 하세요. Copilot 탐색 기능은 리포지토리와 연결되어 있고 지난 7일 이내에 업데이트된 세션을 지원합니다.