openai / openai/codex

Conversation mode forces cross-thread file saves and renders agent handoffs like user messages

Open
#44,139 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug model-behavior subagent
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)?

Unknown / not captured for the affected conversation.

What subscription do you have?

Not captured.

What platform is your computer?

macOS desktop app, including voice conversation. Current host uname -mprs: Darwin 25.5.0 arm64 arm

What issue are you seeing?

During an ongoing design discussion in the macOS desktop app, including voice conversation, a simple request to save notes became a disruptive cross-task workflow. The most serious UI problem is that information returned by other tasks/agents appeared in the current conversation in the same kind of message block as text I send from the input box. It looked like user-authored speech, making it difficult to distinguish my words from internal agent communication.

Actual behavior
  • I repeatedly asked to "save our discussion to a Markdown file in the current workspace". The assistant insisted that this session's execution routing/configuration required another task to perform the file write.
  • It reused an existing, unrelated conversation, waking that task and mixing the new save request into its history. After that work was interrupted, it sent a continuation request again.
  • I explicitly objected to involving unrelated conversations and asked for the save to happen in the current task. The assistant continued to cite the routing restriction. Eventually I had to agree to creating a dedicated task just to save the notes.
  • Despite my stated preference for quiet bookkeeping, the assistant repeatedly narrated delegation, waiting, and completion, and asked again about saving preferences I had already answered. These interruptions were especially disruptive during voice discussion.
  • Incoming information from other tasks/agents was presented in a user-message-like block in the current conversation. This report describes the visual attribution problem; it does not claim that the backend actually assigned those messages a user role.
Impact

This is extremely frustrating in a live conversation. A routine local file save turns into task management, waiting, and repeated corrections. It breaks the train of thought, pollutes unrelated conversation histories, and undermines trust in the transcript: I should be able to tell immediately which statements I authored. The combined workflow makes conversation mode difficult to use for sustained design work.

What steps can reproduce the bug?

The following is the sequence from my real session, not an independently validated deterministic reproducer:

  1. In the macOS Codex desktop app, begin an ongoing discussion in a task associated with a local workspace; use voice conversation during the discussion.
  2. Ask: "Save our discussion to a Markdown file in the current workspace."
  3. State that routine saves should happen quietly and should not interrupt the discussion.
  4. In the affected session, observe the assistant insist that saving requires another task and send the work to an existing conversation.
  5. Object to waking unrelated tasks, interrupt the delegated work, and ask for the save to happen in the current task. Observe the follow-up delegation/continuation and repeated explanations.
  6. When other tasks/agents return information, inspect how those messages appear in the current transcript alongside messages entered by the user.

Observed result: the simple save became a cross-task operation; bookkeeping repeatedly interrupted the discussion; returned agent information looked like messages authored by the user.

No screenshot or independent reproduction is included. Private conversation text, session/task identifiers, and local paths are omitted.

What is the expected behavior?
  • An authorized, simple local Markdown save should happen in the current task by default. If a mode genuinely requires delegation, explain that limitation clearly and obtain explicit opt-in to the task routing before dispatching work.
  • Never wake or reuse unrelated existing tasks for incidental bookkeeping. Respect interruptions and explicit objections instead of re-dispatching the same work.
  • Represent agent handoffs and returned results as distinct, clearly attributed internal events, with an explicit source task/agent and event type. Make routine internal traffic collapsible or hidden by default. It must never look authored by the user.
  • Honor the user's preference for quiet saving. Do not repeatedly ask already-answered preference questions or narrate every internal handoff, wait, and completion during voice discussion.
  • Keep the live conversation responsive so the user can continue thinking and speaking while authorized bookkeeping completes.
Additional information

Scope is uncertain: this report concerns the routing behavior/configuration of this particular session. I do not know whether it is a shipped default, mode-specific orchestration, or a configuration issue, and I am not claiming that all Codex installations prevent direct local file writes. Exact app version and model were not captured for the affected conversation.

I searched existing reports before filing. Related: #41430 concerns delegated-message contrast and expansion; #42131 concerns stale context after cross-task delegation. This report focuses on the connected voice/conversation workflow: forced delegation for a simple save, unwanted task reuse and interruptions, and the perceived authorship of returned agent messages. It does not assert that those reports share a root cause. Both routing behavior and message presentation need attention for this workflow to be usable.

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

No source files or tests are named. Start by reproducing the workflow in the macOS desktop app with voice conversation, then trace task routing, interruption handling, and transcript rendering for delegated results. Done means local saves stay in the current task when authorized, unrelated tasks are not reused, and agent handoffs have distinct attribution without resembling user messages.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos
Domain
desktop
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.