Worktree в Codex: управляемые Git-worktree, шаг за шагом
Включите функцию worktrees, запустите чат в управляемом Git-worktree, превратите результат в ветку через Work here и запустите codex --worktree прямо из терминала — 10 шагов из чистой записи экрана.
TL;DR
- Git-worktree — это второй чекаут того же репозитория — у каждого worktree свои файлы, но общая папка .git, поэтому параллельные чаты Codex никогда не перезаписывают друг друга.
- Worktree скрыты за фича-флагом: выполните codex features enable worktrees в терминале, перезапустите приложение — и в композере появится опция New local worktree.
- Готовый worktree становится веткой в два клика — Create branch называет её codex/your-branch, затем лист коммита пушит её, и вы открываете PR, не покидая worktree.
- Управляемые worktree живут в $CODEX_HOME/worktrees как папки с хеш-именами. Codex держит 15 самых свежих, сохраняет снапшот перед очисткой и умеет восстанавливать его из чата. Инструменты создания/списка появились в Codex 0.162.0.
Codex Worktrees: The Best Feature Most Developers Ignore
Канал:Software Engineer Meets AI4:56
Worktrees — official Codex documentation
Документация:developers.openai.com/codex
Кадры взяты из чистой записи экрана; команды и подписи интерфейса сверены с официальной документацией Codex по worktrees. Инструменты управляемых worktree появились в Codex 0.162.0 (октябрь 2026): "Add tools for creating and listing managed Git worktrees from trusted local projects when the worktrees feature is enabled."
Авторские права на видео принадлежат его создателю, ссылка дана для указания авторства. Названия продуктов и элементы интерфейса принадлежат OpenAI.
Как работают worktree в Codex, шаг за шагом
Включаем worktrees и запускаем первый
- 1
Прежде чем что-то включать, поймите, что такое worktree
Git-worktree — это полная вторая копия вашего репозитория в отдельной папке — у каждого worktree своя копия каждого файла, но все они делят одни и те же метаданные .git. Именно поэтому несколько параллельных чатов Codex могут править свои папки, не спотыкаясь о чужие незакоммиченные изменения. Worktree — обычная функция Git; Codex лишь автоматизирует хозяйственные хлопоты вокруг неё.

Запись открывается определением в одно предложение: несколько ветвей одного репозитория, чекаутнутых в разных папках одновременно.Смотреть с 0:28 - 2
Включите функцию worktrees один раз
Worktree в Codex всё ещё за флагом, так что первый шаг делается в терминале. Как показано на записи, докладчик открывает встроенный терминал приложения и выполняет codex features enable worktrees — это переключает флаг в config.toml, — затем перезапускает приложение. После перезапуска в композере появляется опция New local worktree.

Приложение Codex с открытой терминальной панелью под композером — именно там перед перезапуском выполняется команда включения.Смотреть с 1:58 - 3
Начните чат на New local worktree
В новом чате чипы композера читаются так: имя проекта, New local worktree, No environment, main — режим worktree и ветка, с которой worktree стартует. Оставьте выбранным New local worktree и main как стартовую ветку, введите задачу (в записи — "change the background color to be blue") и отправьте.

Композер с выбранными New local worktree и main, пока вводится промпт.Смотреть с 3:00 - 4
Дайте агенту работать внутри его worktree
Codex отвечает "Worktree created" и начинает работать в изолированной копии — в треде видно, как он гоняет npm run type-check && git diff --check, пока вы продолжаете пользоваться приложением для других чатов. Ваш основной чекаут не тронут, а счётчик Changes (+2 -2 на записи) отслеживает, что агент правит внутри worktree.

Заголовок треда показывает Worktree created, пока агент гоняет type-check и diff внутри worktree.Смотреть с 3:17
Превращаем worktree в ветку и PR
- 5
Найдите, где Codex держит worktree
Управляемые worktree не сваливаются рядом с проектом. Официальная документация помещает их в $CODEX_HOME/worktrees, и запись это подтверждает: после cd в .codex/worktrees команда ls печатает по одной папке с хеш-именем на worktree (09bd, 09ec, 7b3a, d021, dd4e). Перенести корень можно в Settings > Worktrees настройкой Worktree root.

Терминал внутри .codex/worktrees перечисляет пять папок worktree с хеш-именами.Смотреть с 3:41 - 6
Откройте меню треда и создайте ветку
Новый worktree стартует отсоединённым — Codex создаёт его без привязанной ветки. Чтобы сохранить работу, откройте меню Environment на треде: Changes (+2 -2), Worktree, Create branch, Commit or push и Create pull request. Create branch — то самое действие, что превращает эту папку в настоящую именованную ветку.

Меню Environment треда: Changes, Worktree, Create branch, Commit or push и Create pull request.Смотреть с 3:25 - 7
Подтвердите ветку в диалоге Work here
Create branch открывает диалог Work here: "Create a branch to commit changes, push, and create a PR from this worktree." Поле Branch name уже заполнено префиксом codex/ — на записи codex/change-background-color — нажмите Create, и ветка прикрепится к worktree. Git позволяет держать ветку чекаутнутой только в одном worktree за раз — именно поэтому Codex ведёт эту пару за вас.

Диалог Work here с предзаполненным именем ветки codex/change-background-color и кнопкой Create.Смотреть с 3:52 - 8
Коммитьте и пушьте из worktree
Вернувшись в тред, Commit or push открывает лист коммита на ветке codex/change-background-color: введите сообщение, оставьте включённым Include unstaged changes (+2 -2) и выберите Commit, Commit and push или Push. Затем запись создаёт пул-реквест в main — весь поток ни разу не покинул папку worktree.

Лист коммита на ветке codex/change-background-color с опциями Include unstaged changes и Commit and push.Смотреть с 4:04
Путь через CLI и правила, которые кусаются
- 9
Без приложения: запустите worktree из CLI
Та же функция работает и без интерфейса. На записи докладчик набирает codex --worktree "Implement the new feature" в приглашении zsh внутри репозитория — Codex создаёт управляемый worktree для этого чата и запускает задачу там же, как это делает приложение. Инструменты создания и списка появились в Codex 0.162.0 для доверенных локальных проектов.

Терминал на main-ветке репозитория выполняет codex --worktree "Implement the new feature".Смотреть с 4:38 - 10
Знайте правила очистки и лимит одной ветки
Codex держит ваши 15 самых свежих управляемых worktree и подрезает старые по мере прихода новых — никогда не трогает закреплённый чат, чат в процессе или постоянный worktree, и всегда после сохранения снапшота, который можно восстановить из чата. Два жёстких края из документации: ветка может быть чекаутнута только в одном worktree за раз (используйте Handoff вместо второго чекаута), а игнорируемые файлы вроде .env не переезжают в worktree, пока вы не перечислите их в файле .worktreeinclude.

Официальная документация Worktrees: что такое worktree, терминология и поведение очистки.Смотреть с 4:47
Worktree в Codex не работает? Проверьте это первым делом
Большинство отказов worktree — это настройка, а не Git. Запись и официальная документация указывают на один и тот же короткий список — пройдите его сверху вниз, прежде чем трогать .git руками.
- 1Фича-флаг выключен. Worktree под флагом: выполните codex features enable worktrees в терминале, затем полностью перезапустите приложение Codex. Отсутствие опции New local worktree в композере почти всегда значит, что этот шаг — или перезапуск — не случились.
- 2Проект — не Git-репозиторий. Worktree работают только в проектах, входящих в Git-репозиторий, а заметки к 0.162.0 ограничивают инструменты "trusted local projects" — простая папка или недоверенный новый репозиторий не предложат опцию worktree.
- 3Стартовая ветка уже чекаутнута в другом месте. Git допускает один worktree на ветку, поэтому выбор занятой ветки падает с fatal: 'branch' is already used by worktree at .... Стартуйте с main или другой свободной ветки, либо переместите чат через Handoff.
- 4Ваши env-файлы не появились в worktree. Git не отслеживает .env и им подобных, поэтому они не копируются. Перечислите их в файле .worktreeinclude в корне репозитория (по одному пути на строку), и Codex скопирует их в новые worktree.
- 5Устаревшее приложение. Запись начинается со слов "make sure you update yours to the latest version" — инструменты управляемых worktree существуют только в свежих сборках (для CLI-инструментов создания/списка — 0.162.0 и новее). Обновите, включите флаг, перезапустите и повторите.
Если worktree уже удалён, а работа была важной, сначала откройте его чат — Codex сохраняет снапшот перед очисткой worktree и умеет его восстанавливать. А если вся модель кажется тяжёлой, обычный git worktree add по-прежнему работает: Codex лишь автоматизирует ту же базовую функцию Git.
