[app][macOS] Existing text tasks cannot switch to live Voice without losing task context
Summary
A Codex task that was started in text mode cannot switch into live Voice. The user must create a new empty task and choose Start new voice chat before sending any text. In an existing text task, only dictation is available.
For long-running architecture and requirements discussions, this effectively forces the user to abandon or manually transfer substantial task context just to continue the same conversation by voice.
Environment
- Platform: macOS
- Codex desktop app:
26.721.41059(build5848) - Observed: 2026-07-27
Steps to reproduce
- Open Codex desktop on macOS.
- Start a normal text task.
- Exchange enough messages for the task to accumulate meaningful context.
- Try to start a live Voice conversation inside that same task.
Actual behavior
There is no way to start live Voice in the existing task. The available microphone interaction is dictation only. Starting live Voice requires a new empty task, so the active task's conversational context is not preserved in the Voice session.
Expected behavior
An existing text task should expose Start voice chat and transition into live Voice while preserving the same task/thread history, context, objective, and state. Ending Voice should return to the same text task without creating a disconnected conversation.
Why this matters
The need for Voice often becomes clear only after a discussion grows long or complex. Architecture interviews and requirement discovery may run for many turns before speaking becomes more efficient than typing. Requiring users to predict this before the first message makes Voice unavailable exactly when it becomes most useful.
This also creates an unnecessary distinction between:
- a task that started in Voice and can continue conversationally; and
- an otherwise identical task that started with one text message and can never enter live Voice.
Suggested direction
Allow an existing Codex task to attach a live Voice session to its current thread, preserving all existing context and task state.
Related broader proposal: openai/codex#33966 (duplex voice collaboration with an active Codex session). This report focuses on the narrower, currently reproducible UX gap of not being able to switch an already-started text task into Voice.
4 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
The behavior is identical on windows 11, but I didn't have to build up any meaningful context:
Steps to reproduce
Observed behavior
In Codex, conversations that start as text chats permanently lose access to Live Voice, while conversations that start with Live Voice retain the ability to switch freely between text and Live Voice.
Reproduced on a current macOS desktop build with a file attachment.
Environment
Additional reproduction path
Expected behavior
A task that already contains text and file/image context should be able to enter Live Voice without losing its thread history or attachment context.
This makes the issue particularly disruptive for visual architecture discussions: the need to switch to Voice often emerges only after the diagram has been uploaded and the written discussion has begun.
I am hitting this exact restriction, and there is another important workflow it breaks for me.
I use Advanced Voice heavily. I want ChatGPT/Codex to create a new task for me and preload it with the correct instructions, working state, and handover context. That automation necessarily sends a normal first message. The resulting task then cannot enter Advanced Voice.
This defeats the automation I need. I have to create the task manually and remember to start Advanced Voice before anything else is sent.
If I forget once and send a normal message first, the Advanced Voice button is missing or unavailable. I cannot get that task back into Advanced Voice, and there is no clear warning that the first message is an irreversible choice.
Starting another task is not an acceptable recovery for me. The existing task contains detailed instructions, corrections, decisions, current working state, issue history, and commands I have already given it. The exact context cannot simply be copied into a replacement. Something is always missed or forgotten.
This is not a minor inconvenience for me. It is f***ing stressful, especially when I am exhausted and trying to recover important work after Codex has crashed. The restriction turns an already stressful crash or handover into another problem I have to repair.
What I need:
Please remove this restriction. Advanced Voice should be a mode I can enter when I need it, not a hidden one-time choice tied to the first message.