Codex Desktop macOS: Voice input, Realtime voice, Reasoning Effort, and Experimental Features missing — Statsig feature gates incorrectly disabled
Description
I'm experiencing missing features in the Codex Desktop app on my Mac. Specifically:
- Voice Input — Ctrl+M does nothing, no microphone button in the thread composer
- Reasoning Effort selector — not available in model picker or anywhere else
- Experimental Features section — completely absent from Settings → General (the "Realtime voice" toggle is not shown)
/realtimeslash command — not available
These features ARE available on another device under the same account, which confirms this is not an account-level or subscription restriction.
Environment
- Codex version: 26.325.31654 (build 1272)
- macOS: Darwin 23.6.0 (Apple Silicon)
- Subscription: ChatGPT Plus
What I've already tried (all unsuccessful):
- Full uninstall + reinstall (including
~/Library/Application Support/Codex, Caches, Preferences, Keychain entries for "Codex Safe Storage", HTTPStorages, Saved Application State) - System reboot between uninstall and reinstall
- Proper installation into
/Applications(was previously running via App Translocation from DMG — fixed this) - Removing macOS quarantine flag (
xattr -cr /Applications/Codex.app) - Verified microphone permission is granted (
auth_value=2in TCC database) - Multiple clean installs (4 attempts total)
Technical findings
Statsig feature flags
The app receives 51 feature gates from the Statsig service. 14 gates are set to false (disabled). On the other device where all features work, presumably more gates are enabled.
Disabled gate IDs: 571945504, 1230000863, 1547407102, 2239678350, 2302560359, 2357796820, 2392211390, 2761175068, 2761268526, 2777274066, 2929104770, 3066662636, 3189729426, 3902016271
App logs
experimentalFeature/listandexperimentalFeature/enablement/setare called during startup, but the experimental features list appears to be empty in the UI.- Log warning:
load_remote_control_unauthed: "Sign in to ChatGPT in Codex Desktop to load remote control environments"— appears even when signed in. - Patching the Statsig cache in Local Storage (
leveldb) to flipfalsegates totruehad no effect — the app re-fetches flags from the Statsig server on each launch and overwrites the cache.
Source code analysis
In the app's bundled JS (general-settings-BDzOb98k.js), the "Realtime voice" feature is defined under settings.general.experimentalFeatures.threadRealtime and should appear in Settings → General. The entire Experimental Features section is gated — if the feature list from the server is empty, the section is not rendered.
Expected behavior
Voice input (Ctrl+M), Realtime voice mode, Reasoning Effort selector, and Experimental Features should be available — as they are on another device with the same account.
Actual behavior
All of the above features are missing. The Statsig feature flag evaluation for this device returns 14 gates as disabled, which hides these features from the UI.
Request
Could you please investigate the Statsig rollout configuration? It appears the feature flag evaluation is incorrectly disabling features for this device that should be available based on my subscription plan.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗