pub enum Feature {
Show 96 variants
ShellTool,
CodexHooks,
SecretAuthStorage,
CodeMode,
CodeModeBufferedExec,
CodeModeHost,
CodeModeOnly,
UnifiedExec,
ShellZshFork,
UnifiedExecZshFork,
TerminalResizeReflow,
TerminalVisualizationInstructions,
ApplyPatchStreamingEvents,
ExecPermissionApprovals,
RequestPermissionsTool,
WebSearchRequest,
WebSearchCached,
StandaloneWebSearch,
UseLegacyLandlock,
ShellSnapshot,
DeferredExecutor,
RuntimeMetrics,
MemoryTool,
ExternalAgentMemoryImport,
LocalThreadStoreCompression,
Chronicle,
EnableRequestCompression,
NetworkProxy,
RespectSystemProxy,
Collab,
MultiAgentV2,
MultiAgentMode,
SpawnCsv,
Apps,
EnableMcpApps,
AppsMcpPathOverride,
ToolSearch,
ToolSearchAlwaysDeferMcpTools,
NonPrefixedMcpToolNames,
ToolSuggest,
Plugins,
ExecutorCapabilityDiscovery,
PluginHooks,
InAppBrowser,
BrowserUse,
BrowserUseFullCdpAccess,
BrowserUseExternal,
ComputerUse,
RemotePlugin,
PluginSharing,
ExternalMigration,
ImageGeneration,
ResizeAllImages,
ItemIds,
ConcurrentReasoningSummaries,
SkillMcpDependencyInstall,
SkillSearch,
SkillEnvVarDependencyPrompt,
MentionsV2,
DefaultModeRequestUserInput,
GuardianApproval,
Goals,
TokenBudget,
RolloutBudget,
CurrentTimeReminder,
ToolCallMcpElicitation,
AuthElicitation,
Personality,
Artifact,
FastMode,
RealtimeConversation,
PreventIdleSleep,
RemoteCompactionV2,
UseAgentIdentity,
WorkspaceDependencies,
GhostCommit,
JsRepl,
JsReplToolsOnly,
SearchTool,
UseLinuxSandboxBwrap,
RequestRule,
WindowsSandbox,
WindowsSandboxElevated,
RemoteModels,
CodexGitCommit,
Sqlite,
ApplyPatchFreeform,
UnavailableDummyTools,
Steer,
CollaborationModes,
RemoteControl,
ImageDetailOriginal,
TuiAppServer,
WorkspaceOwnerUsageNudge,
ResponsesWebsockets,
ResponsesWebsocketsV2,
}Expand description
Unique features toggled via configuration.
Variants§
ShellTool
Enable the default shell tool.
CodexHooks
Enable Claude-style lifecycle hooks loaded from hooks.json files.
SecretAuthStorage
Store CLI auth in the encrypted local secrets backend when keyring storage is selected.
CodeMode
Enable JavaScript code mode backed by the in-process V8 runtime.
CodeModeBufferedExec
Use a 30-second default yield timeout for code mode exec calls.
CodeModeHost
Run JavaScript code mode in the standalone host process.
CodeModeOnly
Restrict model-visible tools to code mode entrypoints (exec, wait).
UnifiedExec
Use the single unified PTY-backed exec tool.
ShellZshFork
Route shell tool execution through the zsh exec bridge.
UnifiedExecZshFork
Allow unified exec to compose with the zsh exec bridge.
This flag is only a composition gate. Enabling it by itself must not turn
on either unified_exec or shell_zsh_fork because those features have
separate rollout and enterprise controls.
TerminalResizeReflow
Removed compatibility flag. Transcript scrollback reflow on terminal resize is always on.
TerminalVisualizationInstructions
Add terminal-specific visualization guidance to TUI developer instructions.
ApplyPatchStreamingEvents
Stream structured progress while apply_patch input is being generated.
ExecPermissionApprovals
Allow exec tools to request additional permissions while staying sandboxed.
RequestPermissionsTool
Expose the built-in request_permissions tool.
WebSearchRequest
Allow the model to request web searches that fetch live content.
WebSearchCached
Allow the model to request web searches that fetch cached content.
Takes precedence over WebSearchRequest.
StandaloneWebSearch
Expose the extension-backed standalone web search tool.
UseLegacyLandlock
Use the legacy Landlock Linux sandbox fallback instead of the default bubblewrap pipeline.
ShellSnapshot
Experimental shell snapshotting.
DeferredExecutor
Allow turns to start while selected executors are still starting.
RuntimeMetrics
Enable runtime metrics snapshots via a manual reader.
MemoryTool
Enable startup memory extraction and file-backed memory consolidation.
ExternalAgentMemoryImport
Enable importing project-scoped memory from external agents.
LocalThreadStoreCompression
Compress cold local thread-store rollout files.
Chronicle
Enable the Chronicle sidecar for passive screen-context memories.
EnableRequestCompression
Compress request bodies (zstd) when sending streaming requests to codex-backend.
NetworkProxy
Start the managed network proxy for sandboxed sessions.
RespectSystemProxy
Respect host system proxy settings for Codex-owned network clients.
Collab
Enable collab tools.
MultiAgentV2
Enable task-path-based multi-agent routing.
MultiAgentMode
Removed compatibility flag retained as a no-op.
SpawnCsv
Removed compatibility flag for the deleted agent-job tools.
Apps
Enable apps.
EnableMcpApps
Enable MCP apps.
AppsMcpPathOverride
Removed compatibility flag for the legacy Apps MCP path override.
ToolSearch
Removed compatibility flag retained as a no-op now that tool_search is always enabled.
ToolSearchAlwaysDeferMcpTools
Removed compatibility flag. MCP tools are always deferred when tool_search is available.
NonPrefixedMcpToolNames
Expose MCP model-visible namespaces without the legacy mcp__ prefix.
ToolSuggest
Enable discoverable tool suggestions for apps.
Plugins
Enable plugins.
ExecutorCapabilityDiscovery
Discover selected-root plugin and skill manifests through one high-level exec-server RPC.
PluginHooks
Removed compatibility flag for plugin-bundled lifecycle hooks.
InAppBrowser
Allow the in-app browser pane in desktop apps.
Requirements-only gate: this should be set from requirements, not user config.
BrowserUse
Allow Browser Use agent integration in desktop apps.
Requirements-only gate: this should be set from requirements, not user config.
BrowserUseFullCdpAccess
Allow Browser Use integration to access the full Chrome DevTools Protocol surface.
Requirements-only gate: this should be set from requirements, not user config.
BrowserUseExternal
Allow Browser Use integration with external browsers.
Requirements-only gate: this should be set from requirements, not user config.
ComputerUse
Allow Codex Computer Use.
Requirements-only gate: this should be set from requirements, not user config.
RemotePlugin
Enable the PS-backed remote plugin catalog.
PluginSharing
Enable remote plugin sharing flows.
ExternalMigration
Removed compatibility flag retained as a no-op.
ImageGeneration
Enable extension-backed image generation.
ResizeAllImages
Removed compatibility flag for always-on centralized image preparation.
ItemIds
Removed compatibility flag for always-on response item IDs.
ConcurrentReasoningSummaries
Request sequential cutoff reasoning summary delivery.
SkillMcpDependencyInstall
Allow prompting and installing missing MCP dependencies.
SkillSearch
Run cheap skill-search methods in shadow mode and emit experiment metrics.
SkillEnvVarDependencyPrompt
Removed compatibility flag for deleted skill env var dependency prompting.
MentionsV2
Enable the unified mention popup used by default in the TUI.
DefaultModeRequestUserInput
Allow request_user_input in Default collaboration mode.
GuardianApproval
Enable automatic review for approval prompts.
Goals
Enable persisted thread goals and automatic goal continuation.
TokenBudget
Add current context-window metadata to model-visible context.
RolloutBudget
Track and report a shared token budget across a session’s agent threads.
CurrentTimeReminder
Add current-time reminders to model-visible context.
ToolCallMcpElicitation
Route MCP tool approval prompts through the MCP elicitation request path.
AuthElicitation
Prompt Codex Apps connector auth failures through MCP URL elicitations.
Personality
Enable personality selection in the TUI.
Artifact
Enable native artifact tools.
FastMode
Enable Fast mode selection in the TUI and request layer.
RealtimeConversation
Enable experimental realtime voice conversation mode in the TUI.
PreventIdleSleep
Prevent idle system sleep while a turn is actively running.
RemoteCompactionV2
Enable remote compaction v2 over the normal Responses API.
UseAgentIdentity
Use Agent Identity for ChatGPT-authenticated sessions.
WorkspaceDependencies
Enable workspace dependency support.
GhostCommit
Removed compatibility flag retained as a no-op so old configs can
still parse undo.
JsRepl
Removed compatibility flag for the deleted JavaScript REPL feature.
JsReplToolsOnly
Removed compatibility flag for the deleted JavaScript REPL tool-only mode.
SearchTool
Legacy search-tool feature flag kept for backward compatibility.
UseLinuxSandboxBwrap
Removed legacy Linux bubblewrap opt-in flag retained as a no-op so old wrappers and config can still parse it.
RequestRule
Allow the model to request approval and propose exec rules.
WindowsSandbox
Enable Windows sandbox (restricted token) on Windows.
WindowsSandboxElevated
Use the elevated Windows sandbox pipeline (setup + runner).
RemoteModels
Legacy remote models flag kept for backward compatibility.
CodexGitCommit
Removed legacy git commit attribution guidance flag.
Sqlite
Persist rollout metadata to a local SQLite database.
ApplyPatchFreeform
Removed compatibility flag for the deleted apply_patch fallback feature.
Removed compatibility flag for the deleted unavailable-tool placeholder backfill.
Steer
Steer feature flag - when enabled, Enter submits immediately instead of queuing. Kept for config backward compatibility; behavior is always steer-enabled.
CollaborationModes
Enable collaboration modes (Plan, Default). Kept for config backward compatibility; behavior is always collaboration-modes-enabled.
RemoteControl
Removed compatibility flag for the deleted remote control feature.
ImageDetailOriginal
Removed compatibility flag retained as a no-op so old wrappers can
still pass --enable image_detail_original.
TuiAppServer
Removed compatibility flag. The TUI now always uses the app-server implementation.
WorkspaceOwnerUsageNudge
Removed compatibility flag retained as a no-op now that workspace owner usage nudges are always enabled.
ResponsesWebsockets
Legacy rollout flag for Responses API WebSocket transport experiments.
ResponsesWebsocketsV2
Legacy rollout flag for Responses API WebSocket transport v2 experiments.
Implementations§
Trait Implementations§
impl Copy for Feature
impl Eq for Feature
Source§impl Ord for Feature
impl Ord for Feature
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Feature
impl PartialOrd for Feature
impl StructuralPartialEq for Feature
Auto Trait Implementations§
impl Freeze for Feature
impl RefUnwindSafe for Feature
impl Send for Feature
impl Sync for Feature
impl Unpin for Feature
impl UnsafeUnpin for Feature
impl UnwindSafe for Feature
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request