Флаг Codex CLI --enable применяется для включения отдельных возможностей командного интерфейса Codex, которые управляются системой feature flags — переключателей функций. Он позволяет активировать экспериментальную или отключённую по умолчанию возможность прямо при запуске команды, не изменяя основной файл конфигурации проекта или пользователя.
--enableне «даёт Codex больше прав» сам по себе: он включает указанную функцию, но не отменяет ограничения песочницы, режим подтверждения опасных действий и другие настройки безопасности.
Это особенно важно в ситуациях, когда новая возможность уже есть в установленной версии Codex CLI, но ещё не стала стандартной для всех пользователей. Флаг удобен для разовой проверки, автоматизированных сценариев и сравнения поведения CLI до и после включения функции. При этом название доступной возможности зависит от версии Codex CLI, поэтому перед использованием конкретного идентификатора стоит проверить справку команды и документацию именно своей версии.
- Как использовать
- Один флаг для одного запуска
- Несколько включаемых возможностей
- Запуск с профилем
- Когда применять
- Примеры использования
- Проверка доступности флага
- Разовый запуск экспериментальной функции
- Сравнение обычного и экспериментального запуска
- Включение двух функций
- Применение в режиме выполнения задачи
- Использование с профилем
- Использование в shell-скрипте
- Условное включение в автоматизации
- Проверка ошибки неизвестного feature flag
- Фиксация команды для воспроизводимого эксперимента
- Откат к обычному режиму
- Чем отличается от…
- От --disable
- От --sandbox
- От --ask-for-approval
- От --full-auto
- Типичные ошибки
- Использование вымышленного или устаревшего имени
- Ожидание, что --enable отключит безопасность
- Неверный порядок или уровень передачи аргумента
- Одновременное включение несовместимых функций
- Краткая памятка
Как использовать
Флаг --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 без проверки в продуктивной автоматизации, если функция обозначена как экспериментальная. В экспериментальном режиме возможны изменения формата вывода, дополнительные запросы, нестабильные ошибки и несовместимость с другими параметрами.
Практически полезный порядок действий выглядит так:
- Узнать версию Codex CLI.
- Открыть справку и найти описание
--enable. - Проверить точное имя нужного feature flag.
- Запустить функцию на небольшом или тестовом проекте.
- Сравнить результат с обычным запуском.
- Только после этого добавлять параметр в скрипт или постоянную конфигурацию.
| Признак | Можно использовать сразу | Нужна дополнительная проверка |
|---|---|---|
| Функция указана в официальной справке установленной версии | Да, после тестового запуска | Проверить совместимость с другими параметрами |
| Название найдено только в старом обсуждении | Нет | Сверить с текущей документацией и --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 "Тестовая задача"
А для рабочего сценария полезно придерживаться четырёх правил:
- Использовать только известные и проверенные имена feature flags.
- Тестировать экспериментальную функцию отдельно от критически важного проекта.
- Не путать включение функции с выдачей прав или отключением песочницы.
- Фиксировать версию Codex CLI и команду, если результат должен воспроизводиться.
Безопасная последовательность: 1. Узнать версию. 2. Проверить справку. 3. Включить одну функцию. 4. Выполнить небольшой тест. 5. Сравнить результат с обычным режимом. 6. Только затем использовать параметр в автоматизации.
Так --enable становится не случайным переключателем из документации, а управляемым инструментом для проверки и подключения новых возможностей Codex CLI.

