Desktop thread can enter persistent conversation-state desync after request_user_input in Default mode
Open 💬 2 comments Opened Feb 6, 2026 by ramarivera
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
What issue are you seeing?
In Codex Desktop (macOS), a conversation can enter a persistent broken state after the assistant tries to call request_user_input while the session is in Default collaboration mode.
Observed behavior in one thread:
- Conversation ID:
019c3526-0054-7052-a09b-281d913fd8f7 - Date: February 6, 2026
- Session transcript:
~/.codex/sessions/2026/02/06/rollout-2026-02-06T23-50-08-019c3526-0054-7052-a09b-281d913fd8f7.jsonl
Relevant symptoms from app logs:
Turn 1 does not match latest turn for conversation ...Received item/started for unknown conversation ...Conversation state for ... not foundReceived item/completed for unknown conversation ...[ErrorBoundary:LocalConversationPage] error(name=Error)
Example references:
~/Library/Logs/com.openai.codex/2026/02/06/codex-desktop-448bd53b-ffae-4e6e-8de1-ff4d3c994da7-54773-t0-i1-230019-0.log:128~/Library/Logs/com.openai.codex/2026/02/06/codex-desktop-448bd53b-ffae-4e6e-8de1-ff4d3c994da7-54773-t0-i1-230019-0.log:162~/Library/Logs/com.openai.codex/2026/02/06/codex-desktop-448bd53b-ffae-4e6e-8de1-ff4d3c994da7-54773-t0-i1-230019-0.log:163~/Library/Logs/com.openai.codex/2026/02/06/codex-desktop-448bd53b-ffae-4e6e-8de1-ff4d3c994da7-54773-t0-i1-230019-0.log:138
Transcript shows the session is in Default mode where request_user_input is unavailable, but the assistant still emits multiple request_user_input calls, and those calls appear unresolved in the transcript.
What steps can reproduce the bug?
- Start Codex Desktop conversation in Default collaboration mode.
- Use a prompt that leads the assistant toward structured planning with multiple preference choices.
- Let the assistant run.
- In this case, the assistant issued multiple
request_user_inputcalls even though Default mode states this tool is unavailable. - Continue interacting/retry/reopen thread.
- The thread repeatedly falls into conversation-state errors (
turn mismatch,unknown conversation,conversation state not found) and LocalConversationPage error boundary.
Prompt from the affected thread (PII already minimal):
so for the codex only instructions, not the main template, I want to add smth like:
Keep your memories about the proejct you are working on in `.codex/MEMORIES.md` ...
I want you to help me prompt it in the right way and susbscribe a structure for the md file ...
What is the expected behavior?
- In Default mode, assistant should not call
request_user_input. - If such a call is attempted, the UI/runtime should fail gracefully and keep thread state valid.
- Conversation should remain usable across retries/reopen/restart, without persistent state desync.
Additional information
- Environment: macOS, Codex Desktop
- Transcript metadata includes
cli_version: 0.99.0-alpha.5 - This looked persistent for the same thread ID after restart attempts.
- There are also repeated workspace/git-origin warnings in logs, but the conversation-state failures are the main blocker.
🤖 This content was generated with AI assistance using GPT-5.3 Codex.
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Adding a +1 with a reproducible case from my machine. This still happens repeatedly for me when my Mac crashes or I force-close Codex mid-turn.
Environment:
26.226.940(build720)0.105.026.2(Darwin25.2.0, arm64)Affected thread:
codex://threads/019c96d3-ec53-7a90-ab42-b171d31fd6b6~/.codex/sessions/2026/02/26/rollout-2026-02-26T00-03-16-019c96d3-ec53-7a90-ab42-b171d31fd6b6.jsonlWhat I see after restart/resume:
... maybe_resume_success ... latestTurnStatus=completed markedStreaming=true(log...-28670-..., line 82)latestTurnStatus=inProgress markedStreaming=true(log...-96699-..., line 87)turn/startappears to succeed, but then the thread enters a desync loop:Turn does not match latest turn ...(line 133 and then spam)Received item/started for unknown conversation ...(line 203)Conversation state not found ...(line 218 and then spam)Received broadcast but no handler is configured method=thread-stream-state-changedmethod=turn/interrupt ... durationMs=89304(and many 78–89s interrupts)User-visible behavior:
Current workaround:
If helpful, I can share the full relevant log files privately:
~/Library/Logs/com.openai.codex/2026/02/26/codex-desktop-6e191a37-5dbc-4777-8a2e-2f3f81c32b7c-28670-t0-i1-115819-0.log~/Library/Logs/com.openai.codex/2026/02/26/codex-desktop-91c2e41e-637c-46ea-8807-98b7686262eb-96699-t0-i1-150449-0.log