Вы видите историю Codex в VS Code, но агент предлагает изменить не тот worktree или внезапно получил доступ к терминалу и MCP.
Быстрое решение: разрешите только ограниченный пилот; перед продолжением проверьте подписку, рабочую область, инструменты, хост, desktop-действия и восстановление. Сама межприложенческая передача Codex в VS Code 1.138 сохраняет разговор, но не доказывает, что среда безопасно продолжит задачу.
Эта проверка предназначена для вас, если вы:
- продолжаете одну Codex-сессию между ChatGPT и VS Code;
- отвечаете за права Copilot, ChatGPT, MCP и Agent Host в команде;
- запускаете длительные задачи на удалённом Mac и хотите довести их до проверки в Xcode.
Последнее обновление: 19 сентября 2026 года. Данные сверены с официальными материалами VS Code, документацией Agent Host, руководством по approvals, описанием harnesses и журналом изменений GitHub Copilot.
Что именно изменилось, а что осталось отдельным
Согласно официальному описанию выпуска VS Code 1.138, версия опубликована 16 сентября 2026 года. В разделе об расширенной поддержке Codex говорится о продолжении сессии между приложением ChatGPT и VS Code, переключении источника подписки и использовании настроенных возможностей взаимодействия с приложениями рабочего стола при выполнении необходимых условий.
Из этого нельзя делать более широкий вывод. Передача истории не равна:
- синхронизации файлов между двумя компьютерами;
- переносу всех approvals;
- переносу прав пользователя или секретов;
- транзакционному восстановлению после обрыва;
- гарантии, что Agent Host снова подключён к тому же процессу;
- разрешению на полностью автономные действия в Xcode или другом desktop-приложении.
Архитектурно здесь нужно разделять несколько сущностей. ChatGPT и VS Code — клиенты, подписка определяет источник модели и доступности функций, Codex harness управляет запуском агента, Agent Host маршрутизирует инструменты, а рабочая область и удалённый Mac предоставляют фактическое окружение исполнения. Если смешать эти уровни, успешное открытие чата легко принять за успешное продолжение задачи.
| Объект проверки | Что вы подтверждаете | Какой вывод допустим |
|---|---|---|
| Сессия Codex | Историю, текущий шаг и ожидающие действия | Можно продолжать только после сверки состояния |
| Источник модели | Copilot или ChatGPT, учётную запись и доступные функции | Понятно, кто предоставляет модель |
| Agent Host | Хост, рабочую область и маршрут инструментов | Понятно, где выполняется команда |
| Рабочее дерево | Путь, ветку, commit и незакоммиченные изменения | Снижен риск изменения соседнего проекта |
| Desktop-инструменты | Список разрешённых приложений и тип операций | Определён предел автономности |
| Восстановление | Поведение при отключении, перезапуске и тайм-ауте | Понятно, можно ли безопасно вернуть задачу |
Оценка допуска: пилот вместо общего включения
Для предварительного решения используйте не ощущение «чат продолжился», а шесть независимых оценок. Поставьте каждой метрике статус «пройдено», «ограниченно» или «не пройдено». Общий допуск для команды появляется только тогда, когда нет провала по идентичности хоста, правам и восстановлению.
| Метрика | Пройдено | Ограниченно | Не пройдено |
|---|---|---|---|
| Состояние сессии | История и незавершённый шаг совпадают | История есть, но шаг нужно восстановить вручную | Агент повторяет или теряет действие |
| Идентичность | Учётная запись и подписка записаны | Источник понятен только оператору | Нельзя установить, кто запустил задачу |
| Инструменты | Набор прав совпадает | Часть инструментов отключена для пилота | Появились новые права без согласования |
| Рабочая область | Путь и commit подтверждены | Есть ручная сверка перед каждой задачей | Хост или каталог не определены |
| Desktop-действия | Проверены на безопасном приложении | Только чтение или ручное подтверждение | Есть внешний эффект без журнала |
| Восстановление | Обрыв и возврат отрепетированы | Возврат возможен только оператором | Повторное подключение меняет состояние |
Если первые четыре строки пройдены, а desktop-действия и восстановление ограничены, выбирайте индивидуальный или командный пилот с ручным подтверждением. Если не пройдена идентичность рабочей области либо обнаружено автоматическое расширение прав, откатите сценарий к обычному локальному запуску.
Условия выбора режима
- Если история, текущий шаг, модель и ожидаемые approvals совпадают, то переходите к проверке инструментов; иначе не разрешайте повторный запуск действий.
- Если источник подписки и учётная запись зафиксированы, а удалённый хост однозначно идентифицирован, то допускайте ограниченный пилот; иначе используйте одну заранее выбранную учётную запись.
- Если набор инструментов после передачи не расширился, то проверяйте рабочее дерево; иначе возвращайте ручное подтверждение для записи, сети и MCP.
- Если путь, ветка, commit и незакоммиченные изменения совпадают, то можно продолжать диагностику; иначе создайте новую изолированную рабочую область.
- Если изменения обратимы и есть журнал результата, то разрешайте desktop-проверку; иначе оставляйте приложение только для чтения.
- Если после отключения вы можете остановить, восстановить и проверить задачу без повторного побочного эффекта, то расширяйте пилот; иначе не переводите его на длительные задачи.
Сессия и подписка: видимая история против реального состояния
Первый тест не должен менять код. До передачи сохраните идентификатор задачи, последний запрос, список уже выполненных действий, ожидаемое действие и изменённые файлы. После открытия Codex в VS Code попросите его описать текущую точку, но не принимайте текстовый ответ за доказательство. Сверьте ответ с журналом Git и фактическим состоянием рабочей папки.
Проверяйте также источник модели. Документация Codex harnesses и выбора подписки описывает работу с разными источниками, однако для команды важна не только доступность переключателя. Нужно записать:
- какая учётная запись вошла в ChatGPT;
- какая учётная запись используется в VS Code;
- предоставляется ли доступ через Copilot или ChatGPT;
- какая модель выбрана после переключения;
- кто отвечает за выполнение инструментальной команды на хосте.
Смена Copilot и ChatGPT может оставить разговор читаемым, но изменить доступные инструменты, правила подтверждения или лимиты. Поэтому фраза «контекст не пропал» недостаточна для передачи ответственности.
Сохраните снимок до и после: текст последнего задания, список изменённых файлов, имя модели, имя пользователя и время проверки. Если агент после передачи предлагает снова применить уже внесённый patch, остановите задачу, восстановите состояние из Git и проведите передачу заново.
Инструменты и approvals: сравнение фактических прав
Agent Host не является универсальным контейнером безопасности. По описанию маршрутизации инструментов на extension host, часть возможностей зависит от того, какие расширения и процессы доступны конкретному окну VS Code. Значит, одинаковая история может оказаться подключённой к разным фактическим инструментам.
Проведите инвентаризацию до и после передачи:
- чтение файлов;
- запись и удаление файлов;
- выполнение команд в терминале;
- расширения VS Code;
- MCP-серверы и их сетевые возможности;
- взаимодействие с приложениями рабочего стола;
- сохранённые или автоматически применяемые approvals.
Официальное описание инструментов VS Code помогает составить список доступных операций, а документация approvals — определить, где требуется подтверждение. Для MCP отдельно сверяйте конфигурацию и область действия по руководству MCP-серверов.
Важное ограничение: если после передачи агент получил запись в новый каталог, сетевой инструмент или автоматическое подтверждение, не пытайтесь объяснить это «особенностями продолжения». Зафиксируйте расхождение как провал приёмки и верните ручное одобрение до выяснения причины.
| Сценарий | Минимальное разрешение | Допуск к пилоту |
|---|---|---|
| Просмотр репозитория | Чтение файлов и Git-метаданных | Да, если путь подтверждён |
| Исправление теста | Запись только в изолированный worktree | Да, с проверкой diff |
| Запуск MCP | Только перечисленные серверы и операции | Да, после отдельной сверки |
| Изменение desktop-приложения | Обратимое действие, ручное approval | Ограниченно |
| Публикация, отправка данных или работа с секретами | Человек выполняет финальный шаг | Не передавать агенту без отдельного допуска |
Рабочая область и Agent Host: правильный каталог важнее названия репозитория
Самая неприятная ошибка — продолжить задачу в каталоге, который называется так же, как исходный репозиторий, но находится на другом хосте или содержит другую ветку. Перед передачей сохраните абсолютный путь, имя машины, пользователя, тип среды, branch, commit и список незакоммиченных изменений.
Затем откройте проект в целевом VS Code и выполните безопасную сверку:
- проверьте абсолютный путь рабочей папки;
- проверьте имя и идентификатор удалённого хоста;
- сравните активную ветку и последний commit;
- зафиксируйте
git statusдо запуска агента; - определите, используется ли локальная папка, отдельный worktree, Dev Container или удалённый Agent Host;
- создайте временный диагностический файл только в изолированной области и удалите его после проверки.
Для длительных задач применяйте отдельный worktree, а не общий каталог команды. Официальные рекомендации по изоляции кода описывают выбор между вариантами изоляции; для вашей приёмки важен не сам переключатель, а доказательство, что изменения не попадут в соседнюю задачу.
Удалённый Mac особенно полезен, когда процесс должен оставаться доступным после закрытия локального клиента или когда требуется Apple-инструментальный стек. Но удалённый хост не исправляет неверный путь. Перед долгим запуском убедитесь, что Agent Host, macOS-пользователь, рабочее дерево и набор переменных окружения относятся к одному проекту.
Desktop-операции: три границы риска
Возможность повторно использовать настроенное взаимодействие с приложениями рабочего стола не означает, что любое приложение готово к безнадзорной работе. Примите операции по трём границам.
Только чтение. Агент получает состояние окна, список проектов, логи или параметры сборки, но ничего не меняет. Это подходящий первый тест для удалённого Mac.
Обратимое изменение. Разрешаются действия, которые можно отменить или восстановить из репозитория: изменение файла проекта в изолированном worktree, запуск теста или подготовка локальной конфигурации без публикации.
Внешний эффект. Отправка данных, изменение подписей, публикация сборки, работа с ключами, удаление ресурсов и действия в чувствительных приложениях требуют человека на финальном шаге. Естественное описание Codex не заменяет системный журнал, diff, артефакт сборки или запись операции.
Для команды разработки мобильных приложений добавьте отдельную проверку Xcode: проект должен открываться на том же Mac, зависимости должны разрешаться из зафиксированного окружения, а результат сборки нужно подтвердить самим артефактом и логом, а не фразой агента «сборка завершена». Если после передачи изменились переменные окружения или путь к SDK, это отдельный дефект среды, а не нормальное продолжение сессии.
Выпуск и восстановление: доказательства вместо обещаний
Финальный тест проводите на представительной задаче, а не на демонстрационном файле. Последовательность может быть такой:
- подготовьте отдельную ветку или worktree;
- передайте короткую задачу из ChatGPT в VS Code;
- выполните изменение и локальные тесты;
- подготовьте diff и pull request без автоматической публикации;
- запустите сборку на реальном удалённом Mac, если проект зависит от Xcode;
- отключите клиент, перезапустите Agent Host или временно остановите хост;
- проверьте, может ли оператор безопасно остановить, продолжить или откатить задачу;
- сравните итоговые файлы, зависимости, переменные окружения и артефакты с ожидаемыми.
Отдельно проведите сценарии потери клиента, перезапуска хоста, истечения approval, открытия неправильного worktree и недоступности MCP-сервера. После каждого события ответьте на три вопроса: что изменилось, как это обнаруживается, кто имеет право возобновить задачу.
Для многопользовательской передачи не храните единственную информацию в чате. Сохраните в журнале исходную учётную запись, хост, рабочую область, commit, список approvals, последнего оператора и итоговый артефакт. Если восстановление невозможно без повторного выполнения неизвестных действий, сценарий остаётся индивидуальным пилотом.
Переход к команде: итоговая граница
Решение можно оформить так:
- Индивидуальное использование — история продолжалась, но часть прав или восстановление проверяются вручную.
- Ограниченный командный пилот — все шесть метрик подтверждены, рабочие деревья изолированы, desktop-действия обратимы, а финальный внешний эффект выполняет человек.
- Расширение на команду — только после повторяемой проверки на нескольких типах задач и хостов с сохранёнными доказательствами.
- Отложенное внедрение — если неизвестен источник подписки, рабочая область, набор инструментов или поведение после отключения.
Такой порог важнее удобства продолжения диалога. VS Code 1.138 делает передачу Codex полезной для рабочего процесса, но не превращает сессию в защищённую транзакцию между ChatGPT, редактором, Agent Host и Mac.
Частые вопросы
Как продолжить сессию Codex из ChatGPT в VS Code?
Сначала откройте целевой проект в VS Code и убедитесь, что выбран правильный Agent Host. Затем запустите Codex через поддерживаемый harness, проверьте источник подписки и сопоставьте последние действия, изменённые файлы и ожидающие подтверждения с исходным окном ChatGPT. Если история видна, но рабочая область или список инструментов отличаются, продолжать выполнение нельзя.
Пропадёт ли контекст при смене Copilot и ChatGPT?
Сам факт доступной истории не доказывает сохранение полного состояния задачи. При смене источника подписки отдельно проверьте модель, доступные инструменты, лимиты подтверждений и идентичность учётной записи. Сохраните снимок исходной задачи и сравните его с новой сессией. При расхождении не поручайте агенту повторно выполнять уже завершённые действия.
Какие права получает Codex после передачи между приложениями?
Нужно сравнить фактически доступные операции, а не только текстовое описание сессии: чтение и запись файлов, терминал, расширения, MCP и взаимодействие с приложениями рабочего стола. Отдельно проверьте сохранённые approvals. Новое право на запись, сетевой доступ или автоматическое подтверждение считается провалом приёмки и требует возврата к ручному согласованию.
Можно ли через VS Code Codex управлять приложениями на удалённом Mac?
Это зависит от настроек Agent Host, подключённых инструментов и конкретного приложения, поэтому универсального допуска нет. Для удалённого Mac начните с чтения состояния, затем проверяйте обратимые изменения и только потом действия с внешним эффектом. Доступ к секретам, публикации и чувствительным приложениям оставляйте за человеком, а результат подтверждайте журналом или артефактом.
Как убедиться, что межприложенческая сессия открыла правильную рабочую область?
Сверьте абсолютный путь, имя хоста, ветку, commit, наличие незакоммиченных изменений и тип среды: локальная папка, worktree, Dev Container или удалённый Agent Host. Для проверки создайте безопасный диагностический артефакт и удалите его после сверки. Совпадение имени репозитория недостаточно: одинаковые каталоги на разных Mac могут привести к изменению не того проекта.
Если сейчас вы используете локальный Mac, связка VS Code и ChatGPT удобна для коротких задач, но у неё есть три реальных ограничения: закрытие клиента может оборвать длительный процесс, общий каталог повышает риск перепутать рабочие деревья, а Xcode-проверка требует постоянно доступной macOS-среды. Отдельный удалённый Mac добавляет стоимость и требует контроля доступа, зато лучше подходит для продолжительных запусков, изоляции worktree и повторяемой сборки Apple-проектов. Для оценки такого сценария можно начать с информации о доступных вариантах MacPull и затем сверить условия аренды Mac. Если шесть метрик ещё не пройдены, не расширяйте права ради удобства; сначала создайте изолированную среду и проведите восстановление на ограниченной задаче.
Частые вопросы
Как продолжить сессию Codex из ChatGPT в VS Code?
Сначала откройте целевой проект в VS Code и убедитесь, что выбран правильный Agent Host. Затем запустите Codex через поддерживаемый harness, проверьте источник подписки и сопоставьте последние действия, изменённые файлы и ожидающие подтверждения с исходным окном ChatGPT. Если история видна, но рабочая область или список инструментов отличаются, продолжать выполнение нельзя.
Пропадёт ли контекст при смене Copilot и ChatGPT?
Сам факт доступной истории не доказывает сохранение полного состояния задачи. При смене источника подписки отдельно проверьте модель, доступные инструменты, лимиты подтверждений и идентичность учётной записи. Сохраните снимок исходной задачи и сравните его с новой сессией. При расхождении не поручайте агенту повторно выполнять уже завершённые действия.
Какие права получает Codex после передачи между приложениями?
Нужно сравнить фактически доступные операции, а не только текстовое описание сессии: чтение и запись файлов, терминал, расширения, MCP и взаимодействие с приложениями рабочего стола. Отдельно проверьте сохранённые approvals. Новое право на запись, сетевой доступ или автоматическое подтверждение считается провалом приёмки и требует возврата к ручному согласованию.
Можно ли через VS Code Codex управлять приложениями на удалённом Mac?
Это зависит от настроек Agent Host, подключённых инструментов и конкретного приложения, поэтому универсального допуска нет. Для удалённого Mac начните с чтения состояния, затем проверяйте обратимые изменения и только потом действия с внешним эффектом. Доступ к секретам, публикации и чувствительным приложениям оставляйте за человеком, а результат подтверждайте журналом или артефактом.
Как убедиться, что межприложенческая сессия открыла правильную рабочую область?
Сверьте абсолютный путь, имя хоста, ветку, commit, наличие незакоммиченных изменений и тип среды: локальная папка, worktree, Dev Container или удалённый Agent Host. Для проверки создайте безопасный диагностический артефакт и удалите его после сверки. Совпадение имени репозитория недостаточно: одинаковые каталоги на разных Mac могут привести к изменению не того проекта.