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로 배포되며, 출처 표시 없이 자유롭게 사용·수정·공유할 수 있음.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요