블로그
여러 Claude Code 세션 관리: 파워 유저 팁
여러 프로젝트에서 Claude Code 세션을 동시에 실행하세요. 혼란 없이 관리하는 방법을 알려드립니다.
이 카테고리의 제품 및 엔지니어링 업데이트를 확인하세요.
카테고리 보기하나의 Claude Code 세션도 유용하지만, 여러 세션을 병렬로 실행하면 생산성이 배가됩니다.
한 프로젝트에서 Claude가 테스트를 수정하고, 다른 프로젝트에서 코드를 리팩토링하고, 세 번째 프로젝트에서 문서를 작성하게 할 수 있습니다. 이 모든 작업이 Mac에서 동시에 실행되는 동안 iPhone으로 모니터링하면 됩니다. 핵심은 컨텍스트를 잃지 않고 잘못된 세션에 명령을 보내지 않는 것입니다.
세션의 내부 동작 원리
Tactic Remote의 모든 Claude Code 세션은 Mac의 tmux 세션 안에서 실행됩니다. tmux가 프로세스 격리를 담당합니다:
각 세션은 다음을 독립적으로 가집니다:
- 작업 디렉토리(프로젝트 경로)
- 자체 대화 컨텍스트를 가진 Claude Code 인스턴스
- 스크롤백 버퍼(기본 50,000줄)
- 독립된 입출력 스트림
iPhone에서 세션을 전환하면 서버가 하나의 tmux 세션에서 분리되어 다른 세션에 연결됩니다. 떠난 세션은 계속 실행됩니다 — 전환했다고 Claude Code가 멈추지 않습니다.
병렬 세션 설정
이름 전략
세션 이름은 프로젝트 폴더명에서 자동 생성됩니다. /Users/you/code/my-api 디렉토리의 세션 이름은 my-api가 됩니다. 비슷한 이름의 프로젝트가 여러 개일 때 문제가 될 수 있습니다.
팁:
- 프로젝트 폴더명을 구별되게 지정
- 같은 프로젝트의 브랜치에서 작업할 때는 별도 세션 대신 프롬프트에 브랜치 컨텍스트 포함
- 세션 이름은 짧게 — iPhone 목록에서 보게 됩니다
프로젝트 경로 선택
세션 생성 시 iPhone에서 Mac의 파일시스템을 탐색합니다. Tactic Remote에서 보여주는 항목:
- 최근 사용 경로(최대 10개, 최신 순)
- 즐겨찾기로 고정한 경로
- 새 위치로 이동할 수 있는 전체 디렉토리 브라우저
속도를 위해 자주 사용하는 프로젝트 디렉토리를 미리 즐겨찾기에 등록하세요. 폰에서 깊이 중첩된 디렉토리를 탐색하는 것은 번거롭습니다.
병렬 워크플로
세 개의 병렬 세션을 관리하는 구체적인 예시입니다:
세션 1: API 버그 수정
세션 2: 프론트엔드 기능
세션 3: 문서 작업
iPhone에 세션 목록이 표시됩니다. 세션 2에 주의가 필요한 것(승인 요청)이 보입니다. 탭해서 전환하고, Claude가 추가하려는 의존성을 검토한 뒤, Y 또는 N을 탭하고 다시 모니터링으로 돌아갑니다.
세션 관리 패턴
패턴 1: 파이프라인 의존성
때로는 세션 간 논리적 의존성이 있습니다: API 변경 완료 → 프론트엔드 업데이트 → 문서 업데이트.
접근 방식:
- 세션 1(API)에서 주요 작업 시작
- 세션 1 완료 알림 수신
- 세션 1의 변경사항 검토
- 완료된 API 변경을 참조하여 세션 3(문서) 시작
- 그 동안 세션 2(프론트엔드)는 독립적으로 실행
핵심: 상위 작업이 완료될 때까지 의존 작업을 시작하지 마세요. Claude Code는 다른 세션에 대해 모릅니다 — 각각 독립적으로 동작합니다.
패턴 2: 독립 병렬 작업
작업이 완전히 독립적이라면 모두 동시에 시작하세요:
- 세션 1 생성, 작업 전송
- 세션 2 생성, 작업 전송
- 세션 3 생성, 작업 전송
- 알림 대기
이 방법이 처리량을 극대화합니다. Mac이 병렬 실행을 처리합니다(각 Claude Code 인스턴스는 별도 프로세스). 세션 목록을 모니터링하며 아직 실행 중인 것을 확인하세요.
패턴 3: 탐색 + 생산
하나의 세션은 탐색용, 다른 하나는 실제 작업용으로 사용합니다:
- 탐색 세션: "결제 모듈을 읽고 아키텍처를 설명해 주세요. 주요 클래스와 각 역할을 나열해 주세요."
- 작업 세션: (탐색 결과를 읽은 후) "PaymentProcessor에서 유효성 검증 로직을 별도 ValidationService 클래스로 추출하도록 리팩토링하세요."
이렇게 하면 작업 세션이 탐색적 컨텍스트로 채워져 Claude의 집중도가 떨어지는 것을 방지합니다.
실전 팁
세션의 목적을 명확하게
각 세션은 하나의 명확한 목적을 가져야 합니다. 작업이 끝난 세션을 완전히 다른 용도로 재사용하고 싶은 유혹을 피하세요 — 이전 작업에서 축적된 대화 컨텍스트가 새 작업에서 Claude를 혼란시킬 수 있습니다.
대신: 각 독립된 작업에 새 세션을 만드세요. 세션은 저렴합니다(tmux 세션일 뿐).
긴 세션에는 /compact 사용
세션이 오래 실행되며 많은 대화가 오갔다면 대화 컨텍스트가 늘어납니다. 이는 Claude를 느리게 하고 토큰 비용을 증가시킵니다. /compact 슬래시 명령은 중요한 컨텍스트를 유지하면서 대화를 압축합니다.
/cost로 비용 모니터링
여러 세션을 병렬로 실행하면 토큰 비용이 배가됩니다. 각 세션에서 /cost 명령으로 지출을 확인하세요. 하루 끝에 활성 세션마다 /cost를 확인하는 습관을 들이세요.
완료된 세션은 정리
유휴 tmux 세션은 최소한의 리소스를 사용하지만 세션 목록을 어지럽힙니다. 완료된 작업의 출력을 검토한 후 다시 참조할 필요가 없다면 세션을 종료하세요.
반복 작업에 스니펫 활용
세션마다 같은 설정 명령을 자주 실행한다면(예: "테스트 실행", "git 상태 확인") 커스텀 스니펫으로 저장하세요. 매번 타이핑 대신 한 번 탭으로 실행.
내장 스니펫이 일반적인 패턴을 이미 포함합니다:
- Claude 카테고리: 세션 시작, compact, 비용 확인
- Git 카테고리: 상태, 커밋, 푸시
- System 카테고리: 파일 목록, 디스크 확인
리소스 고려사항
여러 Claude Code 인스턴스를 병렬로 실행하면 다음을 소모합니다:
- Mac의 CPU와 메모리 — 각 Claude Code 프로세스와 tmux 세션이 리소스를 사용합니다. 최신 Mac은 3-5개의 동시 세션을 무리 없이 처리합니다. 그 이상은 Activity Monitor를 확인하세요.
- API 토큰 — 각 세션의 AI 모델과의 대화에 토큰이 소모됩니다. 병렬 세션은 이를 선형적으로 증가시킵니다.
- 네트워크 대역폭 — 최소 수준. 터미널 텍스트는 비디오나 대용량 파일 전송에 비해 매우 작습니다.
Mac 앱은 서버 실행 중 슬립을 방지합니다. 이는 장시간 병렬 세션에 필수적입니다. 다만 많은 세션을 동시에 실행할 때는 Mac의 온도와 배터리(노트북의 경우)를 모니터링하세요.
위치를 잃지 않고 컨텍스트 전환
iPhone에서 세션 A에서 세션 B로 전환할 때:
- 세션 A는 계속 실행됩니다(Claude가 계속 작업)
- 세션 B의 최신 출력이 상태 하이드레이션과 함께 로드됩니다
- iPhone에 세션 B의 터미널이 가장 최근 위치부터 표시됩니다
세션 A로 돌아가면:
- 세션 B는 계속 실행됩니다
- 세션 A의 출력이 다시 로드되어, 부재 중 Claude가 진행한 내용을 보여줍니다
다단계 하이드레이션(0.2초, 0.7초, 1.5초 간격 새로고침)은 초기 로드가 부분적이더라도 완전한 현재 상태를 받을 수 있도록 보장합니다.
피해야 할 안티패턴
병렬 세션을 마이크로매니징하지 마세요. 진행 상황을 확인하려고 세션 사이를 끊임없이 전환하면 생산성 이점을 얻지 못합니다. 알림 시스템을 신뢰하세요 — 주의가 필요할 때 알려줍니다.
하나의 세션으로 모든 것을 처리하지 마세요. 하나의 세션에서 작업을 계속 실행하면 컨텍스트가 축적되어 결국 성능이 저하됩니다. 별도 작업에는 새 세션을 만드세요.
유휴 세션을 많이 남겨두지 마세요. 최소한의 리소스를 사용하지만 긴 세션 목록은 iPhone에서 활성 세션을 찾기 어렵게 만듭니다. 작업 후 정리하세요.
의존 작업을 섣불리 시작하지 마세요. 세션 2가 세션 1의 결과에 의존한다면, 세션 1이 완료될 때까지 기다리세요. 세션 1이 어떤 결과를 낼지 가정하고 세션 2를 먼저 시작하면 낭비가 됩니다.