Сразу к тексту
Терминалиум · Вики В приложение

Вики · Веер делегирования

Веер

Обновлено 29 августа 2026

Веер — это параллельная работа. Проблема веера не в том, чтобы запустить несколько агентов, а в том, что они правят одно дерево файлов. Рабочая копия git (worktree) — отдельный каталог со своими файлами и своей веткой, разделяющий с основным репозиторием историю и удалённые ветки. Правки в одной копии физически не задевают другую.

Запуск

bash
claude --worktree feature-auth     # или -w

Копия создаётся в .claude/worktrees/<имя>/ в корне репозитория, на новой ветке worktree-<имя>. Без имени оно сгенерируется само. Запустите команду с другим именем во втором терминале — получите вторую изолированную сессию.

Добавьте .claude/worktrees/ в .gitignore, иначе содержимое копий будет висеть в основном чекауте как неотслеживаемые файлы.

Копия — свежий чекаут, поэтому окружение в ней надо поднимать заново. Чтобы гитигнорируемые файлы вроде .env копировались автоматически, положите в корень проекта файл .worktreeinclude с шаблонами в синтаксисе .gitignore: копируется только то, что и совпало с шаблоном, и при этом гитигнорировано.

Агент умеет входить в копию сам, инструментом EnterWorktree — по просьбе «работай в отдельной копии». Выход из копии за пределы .claude/worktrees/ всегда спрашивает подтверждение, и это подтверждение не отключается ни правилом, ни «больше не спрашивать».

Что именно запрещено внутри копии

Пока сессия изолирована, Claude Code блокирует четыре класса действий, и знать их полезно, потому что отказы выглядят как ошибки инструмента:

  1. правка файлов по пути в основном чекауте;
  2. команда с рабочим каталогом в основном чекауте — или с каталогом, который нельзя проверить;
  3. перенаправление git в основной чекаут: через git -C, --git-dir, переменные GIT_DIR/GIT_WORK_TREE или cd перед вызовом git;
  4. непроверяемая форма команды — конструкции, которые нельзя проследить, не выполняя: раскрытие скобок, heredoc с неэкранированным разделителем. Эта проверка не отключается.

Те же проверки распространяются на всех субагентов изолированной сессии.

Субагенты в своих копиях

Субагент получает собственную копию, если попросить «используй worktree для агентов» или прописать в его описании:

markdown
---
name: refactorer
description: Механические правки по многим файлам
isolation: worktree
---

Пустая копия удаляется автоматически, когда субагент закончил. Копия с изменениями остаётся до периодической уборки, которая её не тронет, пока в ней есть работа (Тени).

База ветки

Новые копии ответвляются от ветки по умолчанию репозитория — так задумано, чтобы стартовать с чистого состояния, совпадающего с удалённым. Настройка worktree.baseRef принимает два значения: "fresh" (по умолчанию) и "head" — ответвиться от вашего текущего HEAD вместе с неотправленными коммитами. Имя ветки в этой настройке указать нельзя; для конкретной ветки создавайте копию руками через git worktree add.

Отдельная форма — ответвиться от пул-реквеста: claude --worktree "#1234". Кавычки обязательны, иначе оболочка примет # за начало комментария.

Что копии делят с основным чекаутом

  • Каталог .git — команды git из копии пишут в общий .git, и песочница это разрешает, поэтому git commit изнутри копии работает (Круг дозволенного).
  • Плагины проектного уровня — переустанавливать в каждой копии не нужно.
  • Сохранённые одобрения прав — ответ «да, больше не спрашивать» пишется в .claude/settings.local.json основного чекаута и действует во всех копиях, переживая удаление той, где вы его дали.

Уборка

При выходе из интерактивной сессии Claude Code смотрит, есть ли в копии работа: изменённые или неотслеживаемые файлы, новые коммиты. Чистая безымянная копия удаляется вместе с веткой автоматически; именованная спросит. Копия с работой всегда спрашивает.

У прогонов -p вопроса при выходе нет, поэтому их копии остаются. Убрать вручную: git worktree remove, а если git отказывается из-за блокировки — сначала git worktree unlock.

Веер — не единственный способ

Копии решают одну задачу: изоляцию файлов. Разделить работу внутри одной сессии — это Тени. Переключаться между несколькими разговорами и ветвить их — это Долгая сессия и точки возврата. Выбирайте по тому, что именно мешает: конфликт файлов, переполнение котла или потеря нити.

Сверено по

Прокачаться: юниты