openai / openai/codex

[macOS] Forked task rejects Realtime Voice while the parent task starts successfully

Open
#43,836 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app app-server bug
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using (From “About Codex” dialog)?

Installed macOS application bundle: 26.901.51231 (build 8109). Bundled Codex CLI: 0.153.4.

What subscription do you have?

ChatGPT Pro.

What platform is your computer?

macOS 26.5.2 (build 25F84), Apple Silicon. uname -mprs: Darwin 25.5.0 arm64 arm.

What issue are you seeing?

Starting Realtime Voice in a manually forked task fails immediately with:

Voice chat couldn’t start
thread <fork-thread-id> does not support realtime conversation

Starting Voice in the original parent task succeeds in the same running desktop app. The distinction here is acceptance of the voice connection; the parent also has a separate transcript/tool-delivery problem described in #39686.

This concerns starting Voice after an ordinary task fork, rather than Voice unexpectedly creating a fork.

What steps can reproduce the bug?

Observed sequence on September 8, 2026:

  1. Fork an existing local project task using the desktop app.
  2. Continue the fork with ordinary text messages. Text turns complete normally.
  3. Start Voice in the fork. The error above appears.
  4. Return to the original parent task and start Voice. The call opens successfully.

The affected fork was verified to reference that parent in its persisted metadata. The fork used the OpenAI provider and gpt-6-astra. Voice startup selected gpt-live-1-codex, protocol v3, WebRTC, on the local host.

This is one observed parent/fork comparison, not a claim that every fork is affected.

What is the expected behavior?

A fork should remain eligible for Voice when the parent is eligible. The desktop app should preserve or initialize the required voice capability before offering to start the call.

Additional information

Sanitized desktop-log excerpts, UTC:

2026-09-08T15:08:02.295Z  fork: thread/realtime/start -> errorCode=-32600
2026-09-08T15:08:02.309Z  fork: "thread <fork-thread-id> does not support realtime conversation"
2026-09-08T15:14:15.440Z  parent: thread/realtime/start -> errorCode=null
2026-09-08T15:14:16.443Z  parent: realtime_session_started

The exact error matches the !thread.enabled(Feature::RealtimeConversation) check in the public 0.153.1 source. This is a diagnostic lead, not proof of why the installed 0.153.4 fork lost or failed to initialize the capability.

In-app feedback was submitted for the failed fork. Feedback ID: 01a08185-1a99-7041-8de9-4130e8f36d6e.

Related but different: #39269 concerns the context/model of a Voice-created fork; #36050 concerns the Voice shortcut creating a fork and archiving the original. Here an ordinary fork exists and works in text, but rejects Voice startup.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with codex-rs/app-server/src/request_processors/turn_processor.rs at the mentioned Feature::RealtimeConversation check, then trace how an ordinary fork initializes or preserves that capability. Reproduce the parent/fork sequence and compare the realtime startup logs; done means an eligible fork accepts Voice without regressing the parent behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
audio-video-rtc, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.