Cmd. /branch (구 /fork)
현재 대화를 분기하여 새로운 세션을 만드는 명령
명령어 원본 선언
/branch공식 설명 요약
/branch(구 /fork)는 현재 대화 컨텍스트를 그대로 복사해 새로운 분기 세션을 생성하는 명령입니다.
하나의 작업 흐름에서 여러 방향을 탐색하거나 실험할 때 유용합니다.
이름 변경 (v2.1.77)
/fork가 /branch로 이름이 변경되었습니다. /fork는 별칭으로 계속 사용 가능합니다.
최소 지원 버전
v2.1.69: 줄바꿈이 포함된 대화에서 fork 시 multi-line 세션 제목 문제 수정v2.1.71: fork된 대화가 동일한 plan 파일을 공유하는 문제 수정v2.1.77:/fork→/branch이름 변경 (/fork는 별칭으로 유지)v2.1.116: transcript가 50MB를 넘는 conversation에서/branch가 거부되던 문제 수정v2.1.129:/branch성공 메시지에 새 branch session id가 포함되어/resume로 찾기 쉬워짐
사용법
/branch별도 인자 없이 실행하면 현재 대화의 전체 컨텍스트가 새 세션으로 복사됩니다.
/fork도 동일하게 동작합니다(별칭).
좋은 사용 예
- 리팩터링 방법 A와 B를 각각 다른 분기에서 실험
- 현재 작업을 보존하면서 대안적 접근법 탐색
- 디버깅 중 가설별로 분기 세션 생성
비슷한 명령어 추천
| 명령어 | 차이점 | 언제 선택 |
|---|---|---|
/branch | 현재 대화 분기 복사 | 실험·탐색 목적 |
/resume | 이전 세션 재개 | 중단된 작업 이어가기 |
/clear | 대화 초기화 | 완전히 새로 시작 |
활용 사례
- 구현 방식 비교: 한 분기는 ORM 사용, 다른 분기는 raw SQL 사용
- 위험한 변경 전 현재 상태를 fork로 백업
- 코드 리뷰에서 제안받은 여러 수정안을 분기별로 적용·비교
주의사항
- v2.1.71 이전에는 fork된 대화가 동일한 plan 파일을 공유하는 버그가 있었음 — 반드시 최신 버전 사용 권장
- fork 시점의 컨텍스트가 복사되므로, fork 후 원본 세션의 변경사항은 반영되지 않음
- 다수의 fork를 생성하면 세션 관리가 복잡해질 수 있으므로
/rename으로 구분 권장 CLAUDE_CODE_FORK_SUBAGENT=1을 켜면/fork가/branchalias가 아니라 forked subagent 동작으로 바뀔 수 있으므로, 팀 문서에는/branch를 표준 명령으로 적으세요.
출처
- Commands: https://code.claude.com/docs/en/commands
- Changelog: https://code.claude.com/docs/en/changelog