Overview
Feature flags allow you to enable experimental and optional functionality in Codex. Features progress through different stages: under development, experimental, stable, deprecated, and removed.Enabling Features
You can enable features in three ways:- Command Line
- Config File
- CLI Override
Use the
--enable flag:Disabling Features
Disable features that are enabled by default:- Command Line
- Config File
Use the
--disable flag:Managing Features
Thefeatures subcommand helps you manage feature flags:
List All Features
Enable a Feature
config.toml file to enable the feature.
Disable a Feature
config.toml file to disable the feature.
Experimental Features
Experimental features are accessible through the/experimental menu in the interactive TUI. Here are the currently available experimental features:
JavaScript REPL
Enable a persistent Node-backed JavaScript REPL for interactive website debugging and other inline JavaScript execution capabilities.Requirements:
- Node.js >= v22.22.0
Multi-Agents
Allow Codex to spawn multiple agents to parallelize work and improve efficiency.Example:
The legacy key
collab is also accepted but deprecated. Use multi_agent instead.Apps (ChatGPT Connectors)
Use connected ChatGPT Apps using ”$” mentions. Install Apps via the After enabling, restart Codex and use:
/apps command.Example:Bubblewrap Sandbox (Linux)
Use the new Linux sandbox based on bubblewrap for stronger filesystem and network controls.Platform: Linux onlyBenefits:
- Keeps
.gitand.codexread-only inside writable workspaces - Stronger controls than Landlock alone
Prevent Sleep While Running
Keep your computer awake while Codex is running a thread.Platforms: macOS, Linux, WindowsExample:
Stable Features
Stable features are production-ready and enabled by default:shell_tool - Shell Command Execution
shell_tool - Shell Command Execution
Enable the default shell tool for command execution.Default: EnabledDisable if you want to prevent all shell command execution:
unified_exec - Unified PTY Execution
unified_exec - Unified PTY Execution
Use the single unified PTY-backed exec tool for command execution.Default: Enabled (except on Windows)Provides better handling of interactive commands and consistent behavior across platforms.
shell_snapshot - Shell State Snapshots
shell_snapshot - Shell State Snapshots
Enable shell snapshotting to track environment changes.Default: EnabledHelps track shell state changes between commands.
sqlite - Local Database
sqlite - Local Database
Persist rollout metadata and session state to a local SQLite database.Default: EnabledLocation:
~/.codex/state.dbpersonality - Personality Selection
personality - Personality Selection
Enable personality selection in the TUI.Default: EnabledAllows customizing the agent’s communication style.
powershell_utf8 - PowerShell UTF-8
powershell_utf8 - PowerShell UTF-8
Enforce UTF-8 output in PowerShell.Default: Enabled (Windows only)Ensures consistent text encoding on Windows.
enable_request_compression - Request Compression
enable_request_compression - Request Compression
Compress request bodies (zstd) when sending streaming requests to codex-backend.Default: EnabledReduces bandwidth usage for large requests.
skill_mcp_dependency_install - MCP Dependency Install
skill_mcp_dependency_install - MCP Dependency Install
Allow prompting and installing missing MCP dependencies.Default: EnabledAutomatically handles MCP server dependencies.
undo - Ghost Commits
undo - Ghost Commits
Create a ghost commit at each turn for easy undo.Default: DisabledEnable with:When enabled, you can undo changes by resetting to the previous ghost commit.
Under Development Features
These features are actively being developed:js_repl_tools_only- Only expose js_repl tools directly to the modelshell_zsh_fork- Route shell tool execution through the zsh exec bridgeapply_patch_freeform- Include the freeform apply_patch toolrequest_permissions- Request additional filesystem permissions while sandboxedcodex_git_commit- Enable git commit attribution guidanceruntime_metrics- Enable runtime metrics snapshotsmemories- Enable startup memory extraction and file-backed consolidationchild_agents_md- Append additional AGENTS.md guidance to user instructionsapps_mcp_gateway- Route apps MCP calls through the configured gatewayskill_env_var_dependency_prompt- Prompt for missing skill env var dependenciesdefault_mode_request_user_input- Allow request_user_input in Default collaboration modevoice_transcription- Enable voice transcription in the TUI composerrealtime_conversation- Enable experimental realtime voice conversation moderesponses_websockets- Use Responses API WebSocket transport for OpenAI by defaultresponses_websockets_v2- Enable Responses API websocket v2 mode
Deprecated and Removed Features
Some features have been deprecated or removed:Deprecated
web_search_request- Use top-levelweb_search = "live"in config insteadweb_search_cached- Use top-levelweb_search = "cached"in config instead
Removed
search_tool- Superseded by web search functionalityrequest_rule- Removed in favor of improved approval systemexperimental_windows_sandbox- Removedelevated_windows_sandbox- Removedremote_models- Removedsteer- Now default behavior (Enter submits immediately)collaboration_modes- Now always enabled
Feature Lifecycle
Stage Descriptions
Under Development
Feature is incomplete and not ready for users. Not shown in
/experimental menu. Default: disabled.Experimental
Feature is ready for testing. Available in
/experimental menu. May have rough edges. Default: disabled.Configuration Precedence
When feature flags are specified in multiple places:--enable/--disableflags (highest priority)-c features.name=trueoverrides- Profile
[features]section - Base config.toml
[features]section - Built-in defaults (lowest priority)
Suppress Unstable Feature Warning
If you enable under-development features, Codex will show a warning. To suppress it:config.toml
Examples
Related
Global Options
Learn about command-line options
Configuration
Configure features in config.toml