Codex Desktop controls become unclickable when hidden/stale turn state exists
Summary
Codex Desktop can enter a state where top-level controls appear clickable but do not open, including the model/reasoning selector and project folder selector. The UI does not show an obvious active conversation or running turn, so it looks like the buttons are broken.
This may be related to stale or hidden turn state. Logs show turn lifecycle events for a conversation that was not visibly active, plus Received turn/started for unknown conversation / Received turn/completed for unknown conversation.
Environment
- App: Codex Desktop
- Version:
26.519.31651 - Platform: macOS
- Date observed: May 22, 2026
Symptoms
- Clicking the model/reasoning selector does nothing.
- Clicking the project folder selector does nothing.
- The controls do not clearly appear disabled.
- There is no visible running conversation/turn explaining why these controls are blocked.
- Restarting the app appears to be the likely workaround.
Expected Behavior
If a turn is running and blocks model/project changes:
- The UI should clearly show the active/running turn.
- Controls should appear disabled, not clickable-but-dead.
- Hover/click should explain why the control is unavailable.
- Ideally, setup controls for a new conversation should remain usable, or the lock should be clearly scoped to the current active thread.
Actual Behavior
The controls appear interactive but do not open. The user cannot tell whether the app is busy, blocked, or broken.
Relevant Sanitized Logs
[time] info thread/start ... conversationId=[conversation-a]
[time] info Conversation created conversationId=[conversation-a]
[time] info turn/start ... conversationId=[conversation-a]
[time] error Received turn/started for unknown conversation conversationId=[conversation-b]
[time] error Received turn/completed for unknown conversation conversationId=[conversation-b]
[time] info model/list ... errorCode=null
[time much later] info show turn-complete conversationId=[conversation-a] turnId=[turn-a]
Also repeatedly observed:
Failed to sync experimental feature enablement
unsupported feature enablement `auth_elicitation`
Notes
model/list succeeds in the log, so this does not appear to be a backend/model-list failure. It looks more like the renderer or app state believes a turn is active, while the visible UI does not expose that state to the user.
4 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Additional context: this Codex Desktop session also had Codex CLI remote connections to two Linux servers over SSH. So the hidden/stale turn state may involve multiple parallel remote Codex CLI/app-server projects or turn streams, not just the currently visible local thread/workspace. That might be relevant to the
unknown conversationlifecycle messages and the controls being blocked by a turn that was not visible in the active UI.Closing this for now: after removing the Desktop remote connections and doing a full Mac restart, the UI controls started working again. Leaving the issue and comments here as reference because the failure mode was confusing: Desktop controls appeared clickable but did nothing, and the logs showed hidden/stale turn and remote connection state. The practical workaround was to remove Desktop-managed remotes and fully restart macOS if quitting/reopening Codex is not enough.
Resolved locally by removing Desktop-managed remote connections and fully restarting macOS. Keeping details in the thread for reference.