[app][macOS][26.810.41047] Realtime voice leaves an orphan thread that cannot be opened, archived, or deleted
App version
ChatGPT/Codex Desktop 26.810.41047 (build 6570)
Subscription
ChatGPT Pro
Platform
macOS 26.4.1 (25E253), Apple Silicon arm64
Issue
A realtime voice conversation left a visible orphan entry in the Codex task sidebar. The entry cannot be opened, archived, or deleted.
Opening it shows:
Failed to resume conversation
failed to resolve rollout path `<CODEX_HOME>/sessions/2026/08/14/rollout-...jsonl`: file does not exist
Local inspection confirms an inconsistent state:
- no matching rollout exists under
sessions/orarchived_sessions/; - no matching row exists in
state_5.sqlite.threads; - the app's global UI state still contains the thread ID in the projectless-thread list, permission state, thread-reference capability, and output-directory map;
- the desktop logs repeatedly report
failureReason=rollout_not_foundandthread not loaded; - removing those stale UI references while the app is running does not work because the app writes them back.
Steps to reproduce
- Start a new realtime voice conversation in Codex Desktop.
- End or leave the voice conversation.
- Observe that the voice-created task remains in the sidebar.
- Try to open, archive, or delete the task.
The exact creation condition may be intermittent. Multiple realtime voice conversations have shown similar cleanup problems.
Actual behavior
The sidebar retains a task whose backing rollout and database record do not exist. Selecting it repeatedly attempts hydration and shows a recovery error. Because the thread cannot be loaded, normal archive/delete controls cannot clean it up.
Expected behavior
Realtime voice startup and shutdown should be transactional:
- materialize the thread, database row, and rollout before exposing it as a normal task; or
- if creation or shutdown fails, remove all provisional UI/index state;
- when hydration detects
rollout_not_found, offer a safe "Remove stale entry" action rather than leaving an undeletable sidebar item.
Related issue
This appears related to #35252, which reports failed cleanup of an unmaterialized provisional realtime voice thread on Windows. This report covers a macOS variant where the provisional entry survives as an orphan after both the rollout and database row are absent.
Privacy
The public report intentionally omits the account ID, full local username/path, conversation contents, exact thread ID, and contact email. These can be provided privately to OpenAI Support if required.
1 Comment
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action