Claude Code 멀티환경 설정 공유 가이드
문제
Claude Code의 커스텀 설정은 각 계정의 ~/.claude/ 에 저장된다.
여러 계정을 쓰면 동일한 설정을 각각 복사해야 하고, 하나를 수정하면 나머지도 직접 업데이트해야 한다.
| 계정 | 경로 | 상태 |
|---|---|---|
| 계정 A | ~/.claude/skills/plan/SKILL.md | 수정함 |
| 계정 B | ~/.claude/skills/plan/SKILL.md | 반영 안 됨 |
| WSL | ~/.claude/skills/plan/SKILL.md | 반영 안 됨 |
해결: Junction Point로 실시간 공유
핵심 아이디어: 설정 파일을 공유 폴더 하나에 모으고, 각 계정에서 Junction(디렉토리) / Symlink(파일) 로 연결한다.
공유 폴더에 실체를 두고, 각 환경의 ~/.claude/ 하위 디렉토리를 Junction으로 연결하는 구조다:
| 환경 | 연결 방식 | 대상 |
|---|---|---|
| 공유 폴더 (실체) | — | skills/, agents/, hooks/, plugins/, settings.json, CLAUDE.md |
계정 A ~/.claude/skills/ | Junction | → 공유 폴더/skills/ |
계정 B ~/.claude/skills/ | Junction | → 공유 폴더/skills/ |
WSL ~/.claude/skills/ | Symlink | → 공유 폴더/skills/ |
어느 환경에서 수정해도 즉시 나머지에 반영된다.
공유 대상 vs 격리 대상
| 공유 (Junction 연결) | 격리 (각 계정 독립) |
|---|---|
| skills/, agents/, hooks/ | .credentials.json (인증 토큰) |
| plugins/, settings.json | settings.local.json (개인 설정) |
| CLAUDE.md | sessions/, projects/ (세션 기록) |
세팅 방법
1단계: 공유 폴더 생성 + 파일 이동
mkdir "C:\Shared\claude-config"
robocopy "%USERPROFILE%\.claude\skills" "C:\Shared\claude-config\skills" /E /MOVE
robocopy "%USERPROFILE%\.claude\agents" "C:\Shared\claude-config\agents" /E /MOVE
:: hooks, plugins도 동일하게
2단계: Junction / Symlink 생성 (반드시 CMD에서!)
:: 디렉토리 → Junction (관리자 권한 불필요)
mklink /J "%USERPROFILE%\.claude\skills" "C:\Shared\claude-config\skills"
:: 파일 → Symlink (Developer Mode 필요)
mklink "%USERPROFILE%\.claude\settings.json" "C:\Shared\claude-config\settings.json"
3단계: 다른 계정에도 동일하게 Junction 생성
4단계: WSL에서는 ln -s 사용
ln -sfn /mnt/c/Shared/claude-config/skills ~/.claude/skills
주의:
mklink는 반드시 Windows CMD에서 실행해야 한다. Git Bash에서 실행하면 경로가/mnt/c/...형태로 저장되어 Windows에서 인식하지 못한다. 잘못 생성된 Junction은fsutil reparsepoint delete후 삭제 가능하다.
다른 방법과의 비교
왜 플러그인 마켓플레이스가 아닌가?
| 기준 | Junction | GitHub 마켓플레이스 | 공식 마켓플레이스 |
|---|---|---|---|
| 반영 속도 | 즉시 | update 2회 필요 | 재심사 필요 |
| 커맨드 이름 | /plan 그대로 | /my-config:plan | /marketplace:plan |
| settings.json 공유 | 가능 | 불가 | 불가 |
| CLAUDE.md 공유 | 가능 | 불가 | 불가 |
| 다른 머신 배포 | Junction 재설정 | git clone | plugin install |
동일 머신 내 공유에는 Junction이 압도적으로 편리하다. 다른 머신으로 확장이 필요하면 GitHub 관리를 추가하면 된다.
chezmoi 등 dotfile 관리 도구
chezmoi, GNU stow, yadm 등도 선택지다. 다만 Claude Code 설정 공유만이 목적이라면 Junction으로 충분하고, 설정이 여러 머신에 분산될 때 chezmoi를 도입하는 게 적절하다.
향후 확장: GitHub 버전 관리
공유 폴더를 Git 저장소로 만들면 변경 이력 추적 + 롤백 + 다른 머신 배포가 가능하다.
cd /path/to/shared-config
git init
git remote add origin https://github.com/yourname/claude-config.git # private repo
.gitignore 예시
# 민감 정보
discord-config.json
*.secret
# 런타임 생성
plugins/cache/
plugins/data/
plugins/marketplaces/
plugins/install-counts-cache.json
# 의존성
hooks/discord-bot/node_modules/
민감 정보 분리
Discord webhook URL 등은 settings.local.json (gitignore 대상)의 환경 변수로 분리:
{
"env": {
"DISCORD_WEBHOOK_URL": "https://discord.com/api/webhooks/..."
}
}
다른 머신에서 복원
git clone https://github.com/yourname/claude-config.git /shared/claude-config
# 이후 각 계정에서 Junction/Symlink 연결
자동 동기화 (선택)
Claude Code의 Stop 훅으로 세션 종료 시 자동 커밋:
{
"hooks": {
"Stop": [{
"hooks": [{
"type": "command",
"command": "cd /path/to/shared-config && git add -A && git diff --cached --quiet || git commit -m 'auto: config updated'"
}]
}]
}
}
단계별 로드맵
| 단계 | 내용 | 난이도 |
|---|---|---|
| 1. Junction 공유 | 동일 머신 내 실시간 공유 | 낮음 |
| 2. GitHub 관리 | 이력 추적 + 다른 머신 배포 | 낮음 |
| 3. 자동 동기화 | Stop 훅으로 auto-commit | 보통 |
| 4. 플러그인 배포 | 팀원에게 install 1회로 배포 | 높음 |
대부분의 경우 1~2단계만으로 충분하다.
참고 자료
| 자료 | 링크 |
|---|---|
| Claude Code Settings 공식 문서 | code.claude.com/docs/en/settings.md |
| Claude Code Memory & CLAUDE.md 공식 문서 | code.claude.com/docs/en/memory.md |
| Claude Code Plugins 공식 문서 | code.claude.com/docs/en/plugins.md |
| Claude Code Skills 공식 문서 | code.claude.com/docs/en/skills.md |
| Windows mklink 명령 참조 | Microsoft Learn |
| Hard Links and Junctions | Microsoft Learn |
| WSL 파일시스템 상호운용 | Microsoft Learn |