Agent view в Claude Code — как сессии идут параллельно и где протекает изоляция
Agent view в Claude Code, открываемый командой claude agents, — это функция, позволяющая одну за другой запускать независимые фоновые сессии и управлять ими с одного экрана. Официальная документация называет выполняемую там операцию словом dispatch, и это название пересекается с отдельной функцией десктопного приложения, носящей то же имя, поэтому первое дело — научиться их различать. Документация описывает agent view как функцию, которая позволяет диспетчеризовать множество сессий Claude Code с одного экрана и управлять ими; это research preview, требующий версии v2.1.139 или новее. Статья держится механики и модели безопасности. Первая неожиданность в том, что каждый введённый в поле промпт запускает собственную новую сессию: наберёте второй — получите вторую сессию рядом с первой, а не дополнительное указание к первой. Дополнительные указания идут через панель быстрого просмотра, открываемую клавишей Space, где показывается последний вывод или вопрос, ответа на который ждёт сессия, а не вся переписка целиком. Ядро модели безопасности — изоляция через worktree. Перед редактированием любого файла фоновая сессия переходит в изолированный git worktree внутри .claude/worktrees/, поэтому параллельные сессии читают один и тот же checkout, но каждая пишет в свой собственный: чтение общее, запись разделена. Всё, что дотянулось бы до основного checkout, отсекается тремя проверками — правки файлов через Edit, Write и NotebookEdit; рабочие каталоги команд, которые разрешаются в основной checkout или про которые нельзя проверить, что они останутся снаружи; и попытки перенаправить git через git -C, --git-dir, GIT_DIR, GIT_WORK_TREE или через cd, поставленный перед вызовом git. Решение сознательно принято в пользу безопасности: то, что нельзя проверить, не выполняется, и та же защита наследуется каждым субагентом, которого породит сессия. При этом стеной уровня ОС это не является: файлы за пределами репозитория и сеть в область действия не входят, а к командам PowerShell применяется только проверка рабочего каталога. Разрешения тоже не выбираются в момент диспетчеризации — они наследуются из defaultMode этого каталога или из permissionMode во фронтматтере диспетчеризованного субагента, а значит, чем свободнее ваша обычная конфигурация, тем больше беспризорных сессий с широкими правами вы создаёте разом. Дальше три вещи утекают из изоляции наружу. Выбор варианта «Да, больше не спрашивать» сохраняет правило в .claude/settings.local.json основного checkout, поэтому оно действует и в основном checkout, и во всех остальных worktree, и переживает удаление того worktree, в котором было принято. Удаление сессии в agent view удаляет вместе с ней созданный Claude worktree, так что незакоммиченная работа исчезает, а Ctrl+X останавливает на первое нажатие и удаляет на второе. А .worktreeinclude копирует попавшие в gitignore файлы вроде .env в каждый новый worktree, умножая ваши учётные данные на число диспетчеризованных сессий. Вдобавок квота расходуется пропорционально параллелизму (десять агентов тратят её примерно в десять раз быстрее), а сессии выполняются локально: они переживают спящий режим, но останавливаются при выключении машины. В конце статья ставит agent view в один ряд с четырьмя официальными способами распараллелить работу — рядом с субагентами, командами агентов и динамическими рабочими процессами — и даёт конкретный порядок действий до, во время и после диспетчеризации.