Флаг Codex CLI —enable: как включить экспериментальную функцию

Флаг Codex CLI --enable применяется для включения отдельных возможностей командного интерфейса Codex, которые управляются системой feature flags — переключателей функций. Он позволяет активировать экспериментальную или отключённую по умолчанию возможность прямо при запуске команды, не изменяя основной файл конфигурации проекта или пользователя.

--enable не «даёт Codex больше прав» сам по себе: он включает указанную функцию, но не отменяет ограничения песочницы, режим подтверждения опасных действий и другие настройки безопасности.

Это особенно важно в ситуациях, когда новая возможность уже есть в установленной версии Codex CLI, но ещё не стала стандартной для всех пользователей. Флаг удобен для разовой проверки, автоматизированных сценариев и сравнения поведения CLI до и после включения функции. При этом название доступной возможности зависит от версии Codex CLI, поэтому перед использованием конкретного идентификатора стоит проверить справку команды и документацию именно своей версии.

Как использовать

Флаг --enable передаётся в командной строке при запуске Codex CLI. Обычно после него указывают имя функции, которую требуется включить. Если нужно активировать несколько возможностей, флаг можно повторить несколько раз либо использовать синтаксис, поддерживаемый конкретной версией CLI.

Практическое правило: сначала проверьте имя feature flag, затем включайте его в минимальном сценарии и только после этого добавляйте в рабочие скрипты или профиль конфигурации.

Базовая форма команды выглядит так:

codex --enable FEATURE_NAME

Здесь FEATURE_NAME — условное обозначение. Это не универсальное имя, а пример места, куда нужно подставить реальный идентификатор функции, поддерживаемый установленной версией Codex CLI.

Элемент команды Назначение Пример
codex Запуск командного интерфейса Codex codex
--enable Включение функции или экспериментального режима --enable
FEATURE_NAME Имя функции, зарегистрированной в текущей версии CLI web_search_request
Текст запроса Задача, которую Codex должен выполнить "Проверь структуру проекта"

Например, общий запуск с запросом может выглядеть так:

codex --enable FEATURE_NAME "Проверь структуру проекта и предложи улучшения"

Если требуется включить две функции, часто используется повторение параметра:

codex --enable FEATURE_ONE --enable FEATURE_TWO "Проанализируй проект"

Однако поддержка нескольких значений и точный порядок аргументов могут различаться между версиями. Поэтому надёжнее всего начать с проверки встроенной справки:

codex --help
Задача Команда для проверки Что выясняет
Проверить наличие флага codex --help Поддерживает ли CLI параметр --enable
Узнать версию codex --version Какая версия установлена
Проверить справку конкретной команды codex exec --help Какие параметры доступны в режиме выполнения без интерактивного интерфейса
Проверить конфигурацию codex config или просмотр файла конфигурации Какие постоянные настройки уже действуют

Один флаг для одного запуска

Такой вариант подходит, когда нужно быстро протестировать возможность и не менять настройки надолго. После завершения процесса включение не обязательно сохраняется: при следующем запуске его придётся указать снова.

codex --enable FEATURE_NAME

Это безопасный способ эксперимента: если функция ведёт себя неожиданно, достаточно закрыть текущий запуск и продолжить работу без дополнительного параметра.

Несколько включаемых возможностей

Если текущая версия поддерживает повторение аргумента, функции можно перечислить отдельно. Такой синтаксис легче читать и изменять в скриптах.

codex --enable FEATURE_ONE --enable FEATURE_TWO "Выполни задачу"

Не следует автоматически считать, что любые два флага совместимы. Экспериментальные возможности могут конфликтовать, требовать друг друга или влиять на один и тот же участок поведения CLI.

Запуск с профилем

В больших проектах удобно отделять обычные настройки от экспериментальных. Для этого можно использовать профиль, если такая возможность доступна в вашей версии Codex CLI, а --enable применять только к нужному запуску.

codex --profile experimental --enable FEATURE_NAME "Проверь тесты"

Такой подход помогает не смешивать стабильную рабочую среду и настройки для экспериментов.

Подход Когда удобен Основной риск
Флаг только в командной строке Разовая проверка или локальный эксперимент Можно забыть повторить его при следующем запуске
Повторяющийся --enable Нужно включить несколько функций Одна из функций может быть несовместима с другой
Отдельный профиль Есть стабильный и экспериментальный режимы Нужно контролировать, какой профиль выбран
Постоянная настройка в конфигурации Функция проверена и используется регулярно Она начнёт действовать во всех подходящих запусках

Когда применять

Флаг --enable полезен не просто «на всякий случай», а в конкретных сценариях: при проверке новой функции, воспроизведении поведения из документации, подготовке автоматизации или временном включении возможности для одного проекта. Его сильная сторона — точечность: эксперимент можно провести без немедленного изменения глобальной конфигурации.

Включайте feature flag там, где понимаете его эффект; неизвестный переключатель — это не магический ускоритель, а потенциально нестабильная настройка.

Первый распространённый случай — тестирование новой функции. Разработчики CLI могут выпускать возможность поэтапно: сначала она скрыта или отключена, затем становится доступной через feature flag, а позже включается по умолчанию. Пользователь получает возможность проверить функцию заранее, но должен учитывать, что её интерфейс и поведение могут измениться.

Второй случай — диагностика. Если проблема возникает только при включённой конкретной функции, можно сравнить два запуска: обычный и с --enable. Это помогает понять, связана ли ошибка с экспериментальным поведением, проектом, моделью или правами доступа.

Третий случай — автоматизированные процессы. В CI или локальном скрипте флаг позволяет явно зафиксировать, какую возможность использует команда. Но здесь особенно важно закрепить версию Codex CLI: один и тот же идентификатор может исчезнуть, переименоваться или начать работать иначе после обновления.

Сценарий Почему подходит --enable Что проверить заранее
Разовый эксперимент Не требуется менять постоянную конфигурацию Название функции и совместимость с текущей версией
Сравнение режимов Можно быстро запустить CLI с переключателем и без него Одинаковы ли модель, каталог и входные данные
Отладка Помогает изолировать влияние отдельной возможности Логи, код завершения и текст ошибки
CI/CD Настройка видна прямо в команде автоматизации Фиксацию версии CLI и обработку отказа
Демонстрация функции Удобно показать поведение без изменения окружения всех пользователей Безопасность операций и воспроизводимость результата

Не стоит использовать --enable без проверки в продуктивной автоматизации, если функция обозначена как экспериментальная. В экспериментальном режиме возможны изменения формата вывода, дополнительные запросы, нестабильные ошибки и несовместимость с другими параметрами.

Практически полезный порядок действий выглядит так:

  1. Узнать версию Codex CLI.
  2. Открыть справку и найти описание --enable.
  3. Проверить точное имя нужного feature flag.
  4. Запустить функцию на небольшом или тестовом проекте.
  5. Сравнить результат с обычным запуском.
  6. Только после этого добавлять параметр в скрипт или постоянную конфигурацию.
Признак Можно использовать сразу Нужна дополнительная проверка
Функция указана в официальной справке установленной версии Да, после тестового запуска Проверить совместимость с другими параметрами
Название найдено только в старом обсуждении Нет Сверить с текущей документацией и --help
Функция меняет доступ к внешним ресурсам Только в контролируемой среде Проверить сеть, секреты и политику безопасности
Функция влияет на выполнение команд На тестовом проекте Проверить sandbox и режим подтверждений

Примеры использования

В этом разделе показаны типовые схемы работы с --enable. Имена вроде FEATURE_NAME или FEATURE_ONE являются заполнителями: их нужно заменить на реальные идентификаторы, доступные в вашей версии Codex CLI. Это важное ограничение, потому что список feature flags не является вечным и одинаковым для всех выпусков.

Хороший пример с --enable всегда отвечает на два вопроса: какую функцию включаем и зачем она нужна именно в этом запуске.

Проверка доступности флага

До включения конкретной возможности полезно убедиться, что установленная программа вообще знает параметр --enable.

codex --help

codex --version

Если в справке нет --enable, установка может быть слишком старой, команда может использовать другой бинарный файл или документация относится к иной версии.

Разовый запуск экспериментальной функции

Этот сценарий подходит для локальной проверки без изменения конфигурации.

codex --enable FEATURE_NAME "Проанализируй структуру текущего проекта"

После завершения можно повторить задачу без флага и сравнить результат.

Сравнение обычного и экспериментального запуска

Чтобы сравнение было честным, используйте одинаковый запрос, каталог проекта и входные файлы.

codex "Найди потенциальные проблемы в конфигурации проекта"

codex --enable FEATURE_NAME "Найди потенциальные проблемы в конфигурации проекта"

Разница между результатами не всегда означает, что функция улучшила ответ: на результат могут влиять модель, состояние файлов и случайность генерации.

Включение двух функций

Повторение параметра делает команду более явной и обычно лучше читается в скрипте.

codex --enable FEATURE_ONE --enable FEATURE_TWO "Проверь тесты и подготовь отчёт"

Если CLI не принимает повторяющийся параметр, обратитесь к справке: конкретная версия может ожидать список, разделённый запятыми, или поддерживать только один идентификатор.

Применение в режиме выполнения задачи

В некоторых версиях Codex CLI есть отдельный режим выполнения, например exec. Флаг нужно передавать на том уровне команды, где его ожидает CLI.

codex exec --enable FEATURE_NAME "Запусти проверку проекта и сообщи о результатах"

Точный синтаксис следует сверить через codex exec --help, поскольку набор параметров основной и дочерней команд может отличаться.

Использование с профилем

Отдельный профиль удобен, если экспериментальная функция нужна группе задач, но не должна влиять на обычную работу.

codex --profile experimental --enable FEATURE_NAME "Проверь экспериментальный сценарий"

Профиль не заменяет проверку безопасности: он лишь помогает организовать настройки.

Использование в shell-скрипте

Переменная делает скрипт гибче: feature flag можно включать или отключать без редактирования всей команды.

FEATURE_FLAG="FEATURE_NAME"

codex --enable "$FEATURE_FLAG" "Проверь проект перед сборкой"

Перед добавлением такого скрипта в CI проверьте, что переменная не может получить произвольное значение из непроверенного внешнего источника.

Условное включение в автоматизации

Иногда эксперимент включают только для ручного запуска или специальной ветки. Это снижает риск случайного применения нестабильной функции ко всем сборкам.

if [ "$CODEX_EXPERIMENTAL" = "1" ]; then
  codex --enable FEATURE_NAME "Выполни проверку"
else
  codex "Выполни проверку"
fi

Такой подход позволяет сравнивать два режима, сохраняя один и тот же основной сценарий.

Проверка ошибки неизвестного feature flag

Если вы подозреваете, что имя функции указано неправильно, запускайте команду отдельно и сохраняйте текст ошибки.

codex --enable UNKNOWN_FEATURE "Проверь проект"

Ожидаемый результат: CLI сообщает, что функция неизвестна или недоступна.

Не следует заменять неизвестное имя случайным похожим вариантом: сначала проверьте документацию и версию.

Фиксация команды для воспроизводимого эксперимента

Для отчёта или задачи в системе отслеживания удобно сохранить версию, команду и результат.

codex --version
codex --enable FEATURE_NAME "Проверь воспроизводимость результата"

Зафиксируйте: версию CLI, имя функции, модель, каталог проекта и текст ошибки или результата.

Откат к обычному режиму

Самый простой откат при разовом использовании — повторить команду без --enable.

codex "Выполни ту же задачу в обычном режиме"

Если функция была сохранена в конфигурации, удалите соответствующую настройку или отключите её способом, предусмотренным вашей версией CLI.

Цель эксперимента Минимальная команда Что сравнивать
Проверить доступность функции codex --help Описание и формат --enable
Проверить влияние на ответ codex --enable FEATURE_NAME "..." Результат обычного и экспериментального запуска
Проверить совместимость функций codex --enable FEATURE_ONE --enable FEATURE_TWO "..." Ошибки запуска и изменение поведения
Подготовить автоматизацию Команда в shell-скрипте или CI Код завершения, логи и стабильность повторного запуска

Чем отличается от…

--enable часто путают с параметрами, которые тоже меняют поведение Codex CLI. Но эти параметры решают разные задачи: один включает конкретную функцию, другой выбирает режим подтверждений, третий меняет среду выполнения, а четвёртый отключает функцию.

От --disable

Флаг --disable является противоположностью --enable: он отключает указанную функцию или принудительно запрещает её использование в текущем запуске.

codex --disable FEATURE_NAME "Выполни задачу без экспериментальной функции"

Если одна и та же возможность включена в конфигурации, а в командной строке одновременно указаны --enable и --disable, результат зависит от правил конкретной версии. Не стоит рассчитывать на порядок аргументов без проверки документации.

Параметр Действие Типичный сценарий
--enable Включает функцию Тестирование нового поведения
--disable Отключает функцию Обход проблемной или нежелательной возможности
Оба параметра Создают потенциально неоднозначную конфигурацию Использовать только при понятных правилах приоритета

От --sandbox

--sandbox определяет ограничения среды, в которой Codex может выполнять действия: например, насколько свободно он может работать с файлами или внешними ресурсами. --enable сам по себе таких ограничений не меняет.

codex --sandbox read-only --enable FEATURE_NAME "Проанализируй файлы без внесения изменений"

Даже если включённая функция связана с выполнением команд, режим песочницы продолжает иметь самостоятельное значение.

Параметр Что контролирует Чего не делает
--enable Доступность конкретной функции Не выдаёт автоматически доступ к файлам или сети
--sandbox Ограничения среды выполнения Не включает экспериментальные возможности

От --ask-for-approval

Параметр --ask-for-approval связан с тем, когда Codex должен запрашивать подтверждение пользователя перед действием. Это политика согласования, а не переключатель функциональности.

codex --ask-for-approval on-request --enable FEATURE_NAME "Подготовь изменения и запроси подтверждение перед применением"

Включение функции не означает автоматического согласия на опасные операции. Эти настройки нужно рассматривать отдельно.

От --full-auto

--full-auto обычно обозначает более автоматизированный режим с заранее установленными правилами подтверждений и песочницы. Это широкий режим работы, тогда как --enable касается конкретного feature flag.

codex --full-auto --enable FEATURE_NAME "Выполни проверку в тестовом проекте"

Использовать такие параметры вместе следует осторожно: расширенная автоматизация может увеличить последствия ошибки экспериментальной функции.

Команда или параметр Уровень воздействия Главный вопрос перед использованием
--enable Одна функция Что именно включает этот идентификатор?
--disable Одна функция Не требуется ли она другой функции?
--sandbox Среда выполнения Какие файлы, команды и ресурсы доступны?
--ask-for-approval Подтверждение действий В каких ситуациях CLI остановится и спросит пользователя?
--full-auto Общий режим автоматизации Допустим ли такой уровень самостоятельности для текущего проекта?

Типичные ошибки

Большинство проблем с --enable связано не с самим синтаксисом, а с неверным пониманием feature flags. Пользователь может указать имя из старой статьи, ожидать от переключателя изменения прав доступа или включить экспериментальную функцию в неподходящем окружении.

Ошибка «не работает» часто означает не сбой функции, а несовпадение версии, имени параметра или уровня команды.

Использование вымышленного или устаревшего имени

Названия feature flags не являются универсальным API на все времена. Функцию могли переименовать, удалить, включить по умолчанию или заменить другой настройкой.

codex --enable OLD_FEATURE_NAME "Проверь проект"

Проблема: идентификатор отсутствует в текущей версии.

Что делать:

  • проверить codex --help;
  • сверить версию через codex --version;
  • обратиться к документации текущего выпуска;
  • не копировать название из случайного старого сообщения или форума.

Ожидание, что --enable отключит безопасность

Флаг не должен рассматриваться как способ обойти подтверждения или песочницу. Если Codex не может выполнить действие из-за ограничений среды, включение feature flag обычно не решает проблему.

codex --enable FEATURE_NAME "Удалите все временные файлы проекта"

Проблема: доступ функции не равен разрешению на опасную операцию.

Проверьте отдельно режим песочницы, права пользователя и правила подтверждений. Не расширяйте доступ только потому, что функция кажется полезной.

Неверный порядок или уровень передачи аргумента

В CLI могут существовать основная команда и подкоманды. Параметр, допустимый для одного уровня, не всегда принимается на другом.

codex exec "Проверь проект" --enable FEATURE_NAME

Если команда завершается ошибкой, сравните её с вариантом из справки:

codex exec --help

Не переносите синтаксис между codex, codex exec и другими подкомандами автоматически.

Одновременное включение несовместимых функций

Два feature flag могут менять один и тот же механизм. В результате CLI способен выдать ошибку, проигнорировать один из параметров или вести себя непредсказуемо.

codex --enable FEATURE_ONE --enable FEATURE_TWO "Выполни задачу"

Проблема: совместимость функций не проверена.

Включайте возможности по одной, фиксируйте результат, а затем добавляйте следующую. Такой метод похож на сборку шкафа: если прикрутить все детали одновременно, потом трудно понять, откуда взялся лишний винт.

Ошибка Симптом Исправление
Старое имя функции Unknown feature или неизвестный аргумент Проверить текущую справку и версию
Неверное ожидание от безопасности Доступ к файлам или командам всё ещё ограничен Проверить --sandbox и подтверждения отдельно
Неправильный уровень аргумента Подкоманда не принимает параметр Открыть справку конкретной подкоманды
Конфликт функций Ошибка или нестабильное поведение Проверить каждую возможность отдельно

Краткая памятка

--enable — это точечный переключатель функций Codex CLI. Он помогает включить доступную в текущей версии возможность для конкретного запуска, не превращая весь рабочий процесс в экспериментальный. Но перед использованием важно установить точное имя функции, понять её назначение и проверить последствия.

Сначала справка и тестовый проект, потом автоматизация и рабочие данные.

Вопрос Короткий ответ
Что делает --enable? Включает указанный feature flag.
Нужно ли указывать имя функции? Да, после флага указывается поддерживаемый идентификатор.
Меняет ли он песочницу? Нет, ограничения среды задаются отдельными параметрами.
Можно ли включить несколько функций? Часто да, но синтаксис и совместимость нужно проверить в справке.
Сохраняется ли настройка навсегда? При передаче в командной строке обычно речь идёт о текущем запуске; постоянное поведение зависит от конфигурации.
Что делать при неизвестном имени? Проверить версию, codex --help и документацию текущего выпуска.
Безопасен ли флаг сам по себе? Он не отменяет безопасность, но включённая функция может изменить поведение CLI, поэтому нужен тест.

Итоговая схема использования проста:

codex --version
codex --help
codex --enable FEATURE_NAME "Тестовая задача"

А для рабочего сценария полезно придерживаться четырёх правил:

  1. Использовать только известные и проверенные имена feature flags.
  2. Тестировать экспериментальную функцию отдельно от критически важного проекта.
  3. Не путать включение функции с выдачей прав или отключением песочницы.
  4. Фиксировать версию Codex CLI и команду, если результат должен воспроизводиться.
Безопасная последовательность:
1. Узнать версию.
2. Проверить справку.
3. Включить одну функцию.
4. Выполнить небольшой тест.
5. Сравнить результат с обычным режимом.
6. Только затем использовать параметр в автоматизации.

Так --enable становится не случайным переключателем из документации, а управляемым инструментом для проверки и подключения новых возможностей Codex CLI.

CIO-NAVIGATOR