Two parallel threads running with the same thread id

Open 💬 4 comments Opened Jul 18, 2026 by nbros
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

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

26.715.31925

What subscription do you have?

Pro

What platform is your computer?

Darwin 25.5.0 arm64 arm

What issue are you seeing?

While using Remote SSH in Codex Desktop, I started a thread on one machine and tried to steer it from another. But instead of them staying in sync, they seem to "fork" while keeping the same conversation name and same thread id, which is very confusing both to me and the agents.

Oh and also, messages I sent to a main thread also appeared in a subagent thread, and the subagent started acting on it, duplicating the work between the two and stepping on each other!

What steps can reproduce the bug?

Start a thread on one machine, and send a message to it from another machine connected to the same Codex through remote ssh.

What is the expected behavior?

_No response_

Additional information

_No response_

View original on GitHub ↗

4 Comments

github-actions[bot] contributor · 1 month ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #33241
  • #32980
  • #32976

Powered by Codex Action

nbros · 1 month ago

It's really bad! I started a goal in a thread from Codex Desktop (in a local thread) and it was progressing normally.
Then I just opened the thread in ChatGPT Remote on my Android phone and immediately (without me prompting anything), it started doing parallel work from what my desktop was doing and stepping on each other!

nbros · 1 month ago

ChatGPT thinks that the issue is that concurrent turns are being created in the same thread when steering from another Remote SSH client.

Additional diagnostic details from the local session log:

Thread/session id:
019f78a1-a176-7a73-bcfa-3cb05f93e6cd

Two turns were running concurrently inside that same thread:

  • 04:29:11Z — turn 019f78a2-9f21-71a1-9f9b-fc08e3cc70da started a long-running command.
  • 04:30:03Z — while that turn was still active, a message sent from the other client started a separate turn:

019f78a3-6c50-7883-9229-658765ef425d

  • 04:30:07Z — the second turn completed.
  • 04:30:26Z — the first turn continued producing output.
  • 04:30:55Z — the first turn was eventually aborted.

The UI merged the streamed output from both turns chronologically, but later model context did not contain the same history shown in the UI.

The two concurrent turns also received different contexts/settings:

  • different personality settings;
  • different workspace root lists;
  • developer instructions present in one turn but absent from the other.

Expected behavior:

  • A thread should have only one active turn, unless parallel turns are explicitly supported and represented as separate branches.
  • A message sent from another client should either steer the active turn or be queued for the next turn.
  • All clients viewing the same thread should receive the same canonical transcript and turn state.
  • Messages addressed to the main thread must never be routed to a subagent thread.

Codex App version: 26.715.31925
Embedded CLI/app-server version from the session log: 0.145.0-alpha.18

phulin · 1 month ago

I am also seeing this issue. Quite frustrating. I then stopped the main thread, while the thread started from my phone continued working without me (and ended up using my entire weekly limit).