TL;DR

  • macOS에서 여러 계정을 사용하는 경우, 비공식 스크립트가 Claude Code 세션을 모든 계정에 복사해 각 계정에서 전체 세션을 표시함.
  • 계정 간 세션 내용이 다르면 가장 최근 사본이 우선하며, 삭제한 세션도 다른 계정에서 제거됨. 단, 삭제 후 다시 사용한 세션은 유지됨.
  • 변경 전 전체 세션 폴더를 ~/.claude/backups/claude-code-sessions-<date>-<time>/에 백업하며, 변경 사항이 없으면 아무 작업도 하지 않음.
  • 병합 대상은 세션 파일뿐이며, 예약 작업과 기타 계정별 데이터는 그대로 유지됨.
  • macOS 내장 zsh만 필요하며, 앱 버전 2.9939.2에서 테스트됨. 직장 계정 세션을 병합하기 전 허용 여부 확인이 필요함.

개요

  • GitHub 저장소의 merge-sessions-across-accounts는 macOS용 Claude 데스크톱 앱을 위한 소규모 스크립트임.
  • 비공식 도구이며 Anthropic과 제휴 관계가 없음.
  • 앱은 계정별로 별도의 Claude Code 세션 목록을 유지하므로, 같은 Mac에서 여러 계정을 사용하면 각 계정에는 해당 계정의 세션만 표시됨. 스크립트는 세션을 병합해 모든 계정에서 전체 세션을 표시함.

실행 방법

  • 저장소를 git clone https://github.com/saikiran-rs/merge-sessions-across-accounts.git으로 복제하고, cd merge-sessions-across-accounts로 디렉터리를 이동함.
  • Claude 데스크톱 앱을 ⌘Q로 종료함.
  • ./merge-sessions.zsh -n을 실행해 변경 사항을 미리 확인함. 이 단계에서는 실제 변경이 발생하지 않음.
  • ./merge-sessions.zsh를 실행해 세션을 병합한 뒤 앱을 다시 열면 모든 계정에 전체 세션이 표시됨.
  • 다른 계정을 사용한 뒤에는 스크립트를 다시 실행함.

동작 방식

  • 모든 세션을 모든 계정에 복사하며, 같은 세션이 여러 계정에서 변경된 경우 가장 최근 사본을 사용함.
  • 한 계정에서 세션을 삭제하면 다른 계정에서도 제거함. 단, 삭제 후 다시 사용된 세션은 제거하지 않음.
  • 변경 전에 전체 세션 폴더를 ~/.claude/backups/claude-code-sessions-<date>-<time>/에 백업하며, 변경할 내용이 없으면 아무 작업도 하지 않음.
  • 세션 파일만 병합하며 예약 작업과 기타 계정별 데이터는 그대로 둠.

참고 사항

  • macOS 전용이며 내장 zsh 외에는 별도 요구 사항이 없음.
  • 세션 저장 위치는 ~/Library/Application Support/Claude/claude-code-sessions/<account>/<org>/임.
  • 실행을 되돌리려면 앱을 종료한 뒤 백업 폴더의 파일을 원래 세션 폴더로 복사함.
  • 앱의 세션 저장 방식에 의존하므로 업데이트에 따라 동작이 달라질 수 있으며, 앱 버전 2.9939.2에서 테스트됨.
  • 직장 계정의 세션을 다른 계정으로 복사하게 되므로, 병합 전에 허용되는지 확인이 필요함.
  • ./test.zsh는 실제 세션이 아닌 임시 폴더에서 테스트를 실행함.

라이선스

  • 퍼블릭 도메인인 Unlicense로 배포되며, 출처 표시 없이 자유롭게 사용·수정·공유할 수 있음.