Codex /goal действительно есть в ветке 0.128.0, но перед использованием нужно проверить установленную версию CLI и ту поверхность Codex, в которой вы работаете.
На 4 мая 2026 года публичная страница OpenAI с CLI slash commands все еще не перечисляет /goal; более сильные доказательства дают release/source tree 0.128.0 и experimental app-server goal APIs.
Используйте /goal только для ограниченной задачи с deliverables, файлами, тестами, бюджетом и правилом остановки; если команды нет или цель еще нельзя проверить, сначала используйте /plan.
Короткий ответ: /goal реален, но зависит от версии и поверхности
/goal не является более длинным вариантом обычного промпта. В ветке Codex 0.128.0 это способ прикрепить к текущему потоку долгосрочную цель, чтобы агент продолжал работать вокруг одного и того же результата при continuation, pause, resume, budget limit и completion check. В release 0.128.0 упоминаются persisted /goal workflows, app-server APIs, model tools, runtime continuation и TUI controls для create, pause, resume и clear.
Но практическая граница важнее рекламного впечатления. На 4 мая 2026 года публичная страница CLI slash commands показывает /plan, /status, /resume, /compact, /ps, /stop и другие команды, но не показывает /goal. Публичная страница IDE slash commands тоже не описывает /goal как IDE-команду. Это не отменяет функцию, но заставляет разделять release/source evidence, публичные документы, локальную версию и конкретный UI.
Начните с таблицы:
| Что видно | Что это обычно значит | Что делать |
|---|---|---|
codex --version показывает 0.128.0 или новее, а slash menu содержит /goal | Можно проверять goal workflow | Запустите маленькую задачу с явными критериями |
| Локальная версия ниже 0.128.0 | Бинарь может быть старым | Обновите Codex и проверьте снова |
Документы не показывают /goal, но CLI показывает | Документы могут отставать | Используйте локальную поверхность, но датируйте утверждения |
| IDE или app surface не показывает команду | CLI и другая поверхность не обязаны совпадать | Не переносите CLI-инструкции на все продукты |
| Цель нельзя выразить файлами, тестами и stop rule | Работа еще не готова к persisted goal | Сначала разберите задачу через /plan |
В ходе проверки на этой машине codex --version вернул codex-cli 0.125.0, поэтому локальная среда не доказывает доступность /goal. Это полезная иллюстрация: функция может быть настоящей в новой ветке, но отсутствовать в терминале, которым вы пользуетесь сегодня.
Что делает /goal по evidence 0.128.0

Наблюдаемая минимальная форма в TUI:
text/goal <objective>
Исходный файл slash command описывает Goal как команду, которая может "set or view the goal for a long-running task". В исходниках также видно, что команда принимает inline args и доступна во время активной задачи. В другом TUI source path, когда текущей цели нет и текст цели не передан, возвращается Usage: /goal <objective>.
Отсюда следует жесткое правило: не придумывайте дополнительные subcommands. Не закладывайте в процессы /goal set, /goal audit или /goal complete, если ваша установленная версия явно не показывает такие формы. Доказательство 0.128.0 поддерживает минимальную форму и managed lifecycle за ней, а не произвольную грамматику.
Механика похожа на сохраняемый контракт работы:
- У потока появляется текущая цель.
- Runtime continuation может продолжать движение к этой цели.
- Token и wall-clock accounting участвуют в бюджетной логике.
- При budget limit агент должен подвести итог, а не начинать новый объем работы.
- App-server API включает
thread/goal/set,thread/goal/get,thread/goal/clear. - TUI controls дают действия вроде create, pause, resume и clear.
Continuation template особенно важен для безопасности: objective рассматривается как untrusted user data, а перед завершением требуется проверка реальных артефактов и deliverables. Budget-limit template требует wrap up. Значит, /goal не обещает бесконечную автономность; он дает persistence, continuation, audit и budget stop.
Почему команда может отсутствовать
Если /goal не находится, не начинайте с обходных приемов. Сначала проверьте версию:
bashcodex --version
Версия ниже codex-cli 0.128.0 означает, что локальная установка может просто не содержать функцию. Обновите Codex, перезапустите терминал или сессию и снова откройте slash menu.
Затем проверьте поверхность. CLI, IDE, desktop app и app-server integration отличаются. Публичная документация помогает понять общий контракт, но исполняемая command list внутри текущего бинаря решает, что можно набрать прямо сейчас.
Третья граница связана с app-server. В app-server API overview есть thread/goal/set, thread/goal/get, thread/goal/clear, и они стоят за capabilities.experimentalApi. Это подтверждает, что goal является реальным thread concept, но не делает experimental API стабильной заменой CLI-команды для обычного пользователя.

Рабочая последовательность:
- Выполнить
codex --version. - Открыть CLI slash menu и найти
/goal. - Уточнить, где вы находитесь: CLI, IDE, app или app-server integration.
- Если команды нет, сформулировать задачу через
/planи повторить проверку после обновления. - Если команда нужна для интеграции, сначала проверить experimental capability.
Корректный вывод: текущая поверхность не подтверждена. Это отличается от вывода, что функции не существует.
Как написать цель для /goal
/goal полезен только тогда, когда objective можно проверить. Нечеткая цель дает длинную активность без надежного результата. Хорошая цель заранее говорит, какой пользовательский результат нужен, какие файлы можно менять, какие проверки выполнить, какие доказательства вернуть и когда остановиться.
Шаблон:
text/goal Реализовать <конкретный результат> в <файлах или модулях>. Acceptance criteria: - User-visible behavior: <что должно измениться> - Files in scope: <разрешенные пути> - Verification: <тесты, команды, screenshot, log или ручная проверка> - Evidence to report: <diff summary, test output, risks, remaining work> - Stop rule: <budget, missing credential, blocked dependency, unclear decision>
Слабая цель:
text/goal улучшить dashboard
Рабочая цель:
text/goal Добавить CSV export в billing usage table. Acceptance criteria: - Кнопка export находится рядом с существующими filters. - Изменения ограничены app/billing и shared CSV utilities. - CSV содержит account id, period, model, tokens, cost, status. - Запустить npm test -- billing и npm run lint. - Остановиться, если billing API не отдает raw row data.
Вторая форма дает Codex достаточно контекста, но не позволяет ему принимать продуктовые решения за вас. Если цель нельзя сделать такой конкретной, используйте /plan. Для вопросов о входе, billing route и API key смотрите Codex API-ключ или подписка ChatGPT. Для бюджета и лимитов держите рядом гайд по лимитам OpenAI Codex. Для локальных настроек используйте Codex config.toml.
Безопасный lifecycle для долгих задач

Здоровый порядок выглядит так: plan, set, monitor, verify, clear or continue. Кнопки могут отличаться между поверхностями, но модель проверки должна оставаться одной.
| Этап | Что сделать | Какие доказательства нужны |
|---|---|---|
| Plan | Перевести запрос в scope, acceptance criteria, verification и stop rules | Текст objective и границы scope |
| Set | Выполнить /goal <objective> только после подготовки | Версия, command surface, objective record |
| Monitor | Следить за active, paused, resumed, budget-limited | Progress notes, changed files, command output |
| Verify | Сравнить результат с deliverables | Tests, screenshots, logs, diff summary |
| Clear or continue | Очистить goal после выполнения или изменить objective | Remaining risks и next action |
Главная ошибка — принять длинный transcript за доказательство завершения. Перед acceptance проверьте:
- Измененные файлы соответствуют scope?
- Обещанные тесты запущены или объяснено, почему нет?
- Есть реальные artifacts, а не только уверенное резюме?
- Нет несвязанных refactors и скрытых продуктовых решений?
- Budget-limited state привел к wrap up, а не к новой работе?
- Есть причина продолжать, или goal нужно clear?
Если ответ слабый, задача не завершена. Попросите доказательство, уточните objective или остановите процесс. /goal должен повысить continuity, а не снизить планку review.
Когда /goal лучше не использовать
Не начинайте с /goal, если проблема еще не сформулирована. Он плохо подходит для brainstorming, исследования незнакомого кода без success condition, работы с production permissions без явного разрешения, затратных задач без budget и операций, завершение которых вы сами не сможете распознать.
Избегайте его, когда:
- нужны credentials, production access или policy decision, но границы не подтверждены;
- scope пересекает слишком много модулей;
- нет stop rule;
- completion нельзя проверить;
- длинный run должен компенсировать слабый prompt.
Для маленькой задачи достаточно обычного prompt. Для декомпозиции сначала /plan. Для продолжения контекста используйте /resume или /compact. /goal лучше подходит для работы, которая достаточно крупная для persistence и достаточно конкретная для audit.
Более широкий выбор agent workflow разобран в Claude Code vs Codex. Здесь важна не иллюзия автономности, а способность доказать, что финальное состояние совпадает с критериями.
Часто задаваемые вопросы
Codex /goal уже доступен?
Он есть в release/source evidence 0.128.0, проверенном 4 мая 2026 года. Но публичные страницы CLI и IDE commands отставали, поэтому сначала проверяйте локальную версию и command surface.
Какой синтаксис у /goal?
Надежная минимальная форма: /goal <objective>. Дополнительные subcommands не стоит предполагать без подтверждения в вашей версии.
Почему в моем CLI нет /goal?
Чаще всего причина в старой версии, другой поверхности или отставании документации. Проверьте codex --version, обновитесь и посмотрите slash menu в текущем CLI.
/goal заменяет /plan?
Нет. /plan нужен для разбиения задачи. /goal стоит использовать после того, как objective стал достаточно конкретным для persistence, continuation и audit.
Можно оставить /goal работать без присмотра на ночь?
Не как базовый режим. Нужны budget, acceptance criteria, file scope и reviewable evidence. Budget-limited wrap-up не равен успешному завершению.
Стоит ли использовать app-server goal APIs?
Только если вы сознательно строите experimental app-server integration и проверили capabilities.experimentalApi. Обычный путь начинается с CLI command surface.
