Claude Code 세션 5개 동시에 굴리는 법 - 입문 끝낸 사람을 위한 멀티 세션 실전
결론부터. Claude Code를 진짜 빠르게 쓰는 사람들은 터미널을 여러 개 띄워 세션을 병렬로 돌립니다. 단, 그냥 창만 여러 개 띄우면 파일이 서로 충돌해서 오히려 느려집니다. 정답은 git worktree(2026년 초 Claude Code에 정식 내장)와 서브에이전트 격리예요. 이 글은 설치·기초를 뗀 사람이 "한 번에 한 작업"에서 "동시에 여러 작업"으로 넘어가는 실전 세팅을 다룹니다.
설치하고 claude 한 번 쳐본 글은 이미 많습니다. 그런데 정작 헤비유저들이 생산성을 끌어올리는 핵심—여러 세션을 충돌 없이 동시에 굴리는 법—은 한국어로 정리된 게 거의 없더군요. 매일 멀티 세션으로 일하면서 정리한 내용을 공유합니다.

1. 왜 그냥 터미널 두 개로는 안 되나
가장 흔한 시도: 터미널 두 개 열고, 같은 폴더에서 Claude Code를 두 개 띄운다. 이렇게 하면 대부분 작업이 망가집니다.
- 파일 충돌: 두 세션이 같은 작업 디렉터리의 같은 파일을 읽고 씁니다. A 세션이 수정 중인 파일을 B 세션이 건드리면 서로의 작업이 덮어써집니다.
- 컨텍스트 오염: 한 세션이 파일을 고치는 순간, 다른 세션이 들고 있던 "이 파일은 이렇게 생겼다"는 맥락이 깨집니다. 존재하지 않는 코드를 참조하거나 어긋난 줄 번호를 인용하기 시작해요.
- git 브랜치 싸움: 일반 체크아웃은 한 번에 한 브랜치만 활성화됩니다. 작업 도중 브랜치를 바꾸면 진행 중이던 상태가 날아가거나 꼬입니다.
핵심 원인은 하나예요. 하나의 작업 디렉터리를 여러 세션이 공유하기 때문입니다. 그러니 디렉터리 자체를 분리해주면 됩니다.
2. 핵심 도구: git worktree (이제 Claude Code에 내장)
git worktree는 같은 저장소(히스토리·원격은 공유)인데 작업 디렉터리와 브랜치는 따로인 별도 체크아웃입니다. 세션마다 자기 worktree에서 돌면, 한 세션의 수정이 다른 세션 파일을 절대 건드리지 않아요. 한 터미널에서 기능을 만들고, 다른 터미널에서 버그를 잡는 게 동시에 됩니다.
예전엔 이걸 수동으로 했지만, 2026년 초부터 Claude Code가 네이티브로 지원합니다.
# 터미널 1 — 기능 개발
claude --worktree feature-auth
# 터미널 2 — 버그 수정
claude --worktree bugfix-login
# 터미널 3 — 리팩터링 실험
claude --worktree refactor-api
- --worktree(또는 -w)를 붙이면 .claude/worktrees/<이름>/ 아래에 격리된 작업 디렉터리가 생기고, worktree-<이름> 브랜치가 새로 만들어집니다.
- 세 세션이 동시에 돌면서 각자 읽고 쓰고 커밋해도 서로를 안 건드립니다.
- 세션 중간에 Claude에게 "worktree에서 작업해줘"라고 말해도 알아서 하나 만들어줍니다.
데스크톱 앱을 쓴다면 새 세션마다 worktree를 자동으로 만들어줘서 이 과정을 신경 쓸 필요가 거의 없습니다.
환경 파일(.env 등) 자동 복사 worktree는 새 체크아웃이라 gitignore된 .env 같은 파일이 안 따라옵니다. 프로젝트 루트에 .worktreeinclude 파일(.gitignore 문법)을 두면 새 worktree마다 자동 복사됩니다.
.env
.env.local
config/secrets.json
3. 한 단계 위: 서브에이전트가 알아서 병렬로 일하게🔥
위는 "내가 직접 여러 세션을 모는" 방식입니다. 더 강력하고 쉬운 건 하나의 세션 안에서 Claude가 스스로 보조 일꾼(서브에이전트)을 띄워 병렬로 처리하게 하는 거예요.
서브에이전트는 YAML 헤더가 붙은 마크다운 파일입니다. 프로젝트용은 .claude/agents/, 전역용은 ~/.claude/agents/에 둡니다.
---
name: feature-builder
description: 새 기능을 격리된 브랜치에서 구현. 기능 추가 요청 시 사용.
isolation: worktree
tools: [Read, Write, Edit, Bash]
---
기능을 독립적으로 구현합니다. 깔끔하고 집중된 코드를 작성하고,
끝내기 전에 테스트를 돌립니다.
핵심은 isolation: worktree 한 줄입니다. 이걸 넣으면 이 에이전트가 호출될 때마다 자기 worktree를 자동으로 받아서 다른 에이전트와 파일 충돌 없이 병렬로 일합니다. 변경 없이 끝나면 worktree는 자동 정리됩니다. 코드를 쓰는 에이전트라면 이 옵션을 기본값으로 켜두세요. 비용은 없고, 병렬 충돌이 사라집니다.
4. 언제 쓰고, 언제 쓰면 안 되나 (이게 제일 중요)
병렬이 항상 빠른 게 아닙니다. 잘못 쓰면 관리 비용이 절약한 시간을 잡아먹어요.
worktree가 빛나는 경우
- 작업들이 서로 다른 파일을 건드릴 때 (백엔드 / 프론트 / 문서처럼 영역이 갈릴 때)
- 한 작업이 몇 분 이상 걸릴 때 (짧으면 세팅 비용이 더 큼)
- 리뷰하기 좋은 독립된 히스토리가 필요할 때 (worktree마다 브랜치 = PR마다 깔끔한 diff)
오히려 독이 되는 경우
- 두 작업이 같은 파일을 고쳐야 할 때 → 충돌만 늘어남. 그냥 순차로 하세요.
- DB 마이그레이션처럼 공유 상태의 순서가 중요한 작업 → 동시에 돌리면 데이터가 엉킵니다.
- 한 줄짜리 빠른 수정 → 세팅 비용이 작업보다 큼.
현실적인 규칙: 2개로 시작하세요. 3개를 넘어가면 "각 세션이 뭘 했는지" 추적하는 오버헤드가 생산성 이득을 갉아먹기 시작합니다. "5개 동시에"는 영역이 완전히 갈리는 큰 작업일 때의 상한선이지, 일상 기본값이 아닙니다.
5. 놓치기 쉬운 함정 — MCP와 공유 상태
worktree는 파일은 격리하지만 프로세스·환경은 격리하지 않습니다. 모든 세션이 같은 환경 변수, 같은 로컬 DB, 같은 네트워크를 공유해요. 특히 주의할 곳:
- 상태가 있는 MCP 서버(DB 연결, 파일 인덱스, 캐시 등)를 여러 세션이 같은 인스턴스로 물면, 한 에이전트의 작업이 다른 에이전트로 새어 들어갑니다. → worktree마다 MCP 서버 인스턴스를 따로 띄우고, 각 worktree의 CLAUDE.md에 어떤 서버를 물지 명시하세요. (순수 함수형·무상태 MCP는 해당 없음.)
- 메모리: worktree들은 프로젝트 레벨 메모리(CLAUDE.md)는 공유하지만, 대화·플랜·최근 출력 같은 세션 상태는 따로입니다.
6. 운영 팁 — 안 쓰면 디렉터리가 쌓인다
- .gitignore에 .claude/worktrees/ 를 추가해 worktree 디렉터리가 버전 관리에 안 잡히게 합니다.
- 변경 없이 끝난 worktree는 자동 삭제됩니다. 변경이 남아있으면 "유지할까 버릴까"를 물어봅니다.
- 주 1회 git worktree list 로 떠도는 worktree를 점검하세요. 5초면 되고 디렉터리 비대화를 막습니다. 남은 건 git worktree remove <경로>.
- 긴 작업을 백그라운드 서브에이전트에 맡기기 전, 메인 세션에서 같은 파일을 동시에 편집하지 마세요. 서브에이전트가 절반만 반영된 상태를 읽고 헛다리를 짚습니다.
7. 정리 — "터미널 = 메인 스레드"라고 생각하기
병렬 세션을 잘 다루는 멘탈 모델은 이겁니다. 내가 앉은 터미널은 메인 스레드(조율자)이고, 각 worktree/서브에이전트는 워커 스레드다. 영역이 갈리는 일은 워커에 분산하고, 순서가 중요한 일은 메인에서 직렬로. 멀티스레딩에서 공유 자원에 락을 거는 것과 똑같은 사고방식이에요.
요약하면:
- 직접 병렬 → claude --worktree <이름> 를 터미널마다
- 자동 병렬 → 코드 쓰는 서브에이전트에 isolation: worktree
- 영역이 갈릴 때만, 2개부터, 공유 상태는 직렬로
- MCP 상태 누수 주의, worktree 주기적 청소
이 세팅 하나로 Claude Code는 "한 번에 한 작업하는 비서"에서 "동시에 여러 갈래를 미는 병렬 개발 엔진"으로 바뀝니다.
이 글이 팀에 도움이 됐다면 공유해 주세요. 사내에서 Claude Code를 본격적으로 굴리기 시작했다면, 비개발 직군까지 안전하게 확산하는 방법은 다음 글에서 다룹니다 → "비개발자 수십 명에게 바이브코딩을 시킨 회사의 Starter Kit 전부 공개"
댓글