Автор: abavyka
Посеред задачі вилазить побічна, і її можна відгалузити, щоб основна сесія лишалась про одну таску.
Навіщо
Коли в одній сесії мішаються теми, модель плутається і фокус розмазується. У доці Claude Code це навіть має назву — kitchen sink session: почав з однієї задачі, спитав щось стороннє, повернувся, а контекст уже забитий нерелевантним (чому довга сесія тупить, було в Контекст і кеш).
Нова сесія з нуля теж не завжди варіант: якщо побічна задача залежить від того, що вже зібрано, доведеться все пояснювати заново. Розгалуження дає копію розмови з усім контекстом, а основна сесія лишається чистою.
Мій кейс
Правив наш MCP, і по ходу треба було поправити Copilot-агента. Щоб не розмазувати фокус, зробив /fork і там окремо розібрався з копайлотом.
Несподіванка, що fork працює у своєму worktree, і він висів у фоні в agent view. Тоді й дізнався про /branch: у монорепо можна було просто ним. Потім спробував /branch на тому ж кейсі, і для цієї задачі він підійшов краще, бо потрібні були інпути від мене і тестування Copilot-агента.
/branch
Копіює розмову до цієї точки і перемикає тебе в копію. Оригінал лишається як був, повернутись — /resume <name>.
/branch copilot-agent- без імені — гілку назве за першим промптом
- з терміналу —
claude --continue --fork-session - гілкує розмову, а не файли: тека та сама, правки з обох гілок лягають в ті самі файли
/fork
Копіює розмову в нову фонову сесію, а ти лишаєшся в поточній. Копія забирає модель, permission mode, effort і дозволи, які ти вже дав у сесії, і зʼявляється окремим рядком в agent view (claude agents).
- з промптом (
/fork розберись з конфігом copilot агента) — одразу береться до роботи, без промпта — чекає першої інструкції вclaude agents - перед правками коду створює собі worktree в
.claude/worktrees/— окрему робочу копію репо на своїй гілці, тож твої файли не чіпає - наприкінці комітить свою гілку і пушить, якщо є remote (у
mainніколи). Якщо вCLAUDE.mdнаписано, що git робиш ти, лишає його тобі - результат сам назад не приходить, після форку сесії незалежні
- worktree, який створив Claude, видаляється разом із сесією в agent view, тож спершу коміт
Ще є /subtask
Запускає forked subagent: фоновий субагент, який успадковує всю розмову і працює, поки ти продовжуєш. Його tool calls у твій контекст не потрапляють, назад приходить тільки результат.
/subtask допиши тести на парсер, який ми змінилиІ /btw — спитати щось по сесії, не засмічуючи історію. Tools у нього нема, відповідає тільки з того, що вже є в контексті.
Як вибрати
/branch— сам йдеш в інший бік, той самий код/fork— побічна таска живе окремо, зі своїми правками/subtask— побічна таска, результат якої потрібен тут- нова сесія чи
/clear— коли в сесії купа сміття, яке побічній задачі не потрібне: форк тягне весь контекст, разом зі сміттям. Дока радить те саме після двох невдалих виправлень:/clearі кращий промпт
Токени
Форк починає з того самого префікса, тож його перший запит читає кеш оригіналу, і кеш оригіналу не ламається. Але далі кожна копія їсть свої токени зі спільного ліміту.
Почитати
- Branching a session (англ.)
- /branch vs /fork vs /subtask (англ.)
- One task per session (англ.)
- Managing context (англ.)
- Контекст і кеш
- Токени і ліміти
- Дока: Branch a session (англ.)
- Дока: Copy the session with /fork, How file edits are isolated (англ.)
- Дока: Fork the current conversation (англ.)
- Дока: Commands (англ.)
- Дока: Side questions with /btw (англ.)
- Дока: Subagents and the cache (англ.)
- Дока: Manage your session (англ.)