openai / openai/codex

Codex desktop: idle task composer routes input into subtask mode

Open
#39,692 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

app bug session subagent
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Summary

In the ChatGPT/Codex desktop app, some Codex tasks can get stuck in a UI state where typing into the composer is treated as input for a subtask/active run, even though the task backend reports the task as idle and the most recent turn is completed.

This has been happening repeatedly for several days on long-running multi-agent/project workflows. It currently reproduces on a pinned QA task and has also happened intermittently with coder tasks.

Environment

  • macOS: 26.5 (25F71)
  • ChatGPT desktop app: 26.818.21641 (build 6849)
  • Codex framework/process version visible in process args: 151.0.7922.170
  • Codex app-server running with features.code_mode_host=true

Observed behavior

  1. Open an existing Codex task that previously ran QA/coder work.
  2. The task appears as if it is still in a subtask/active-work input mode when typing in the composer.
  3. User input does not behave like a normal new top-level prompt to the idle task.
  4. Switching tasks and navigating back does not clear the state. The issue persists across days for at least one QA task.

Expected behavior

If the task status is idle and its latest turn is completed, the composer should accept a new top-level user prompt for that task, not route input as though an active subtask/run is still waiting.

Evidence from local inspection

The affected QA tasks report idle from Codex task metadata, and their latest turns are completed successfully. There is no active QA subprocess associated with the affected task. A separate orchestrator/release test process was running at the time of inspection, but that process belongs to a different task and should not cause the QA task composer to remain in subtask mode.

Refreshing/navigating directly back to the task did not resolve the stuck composer state.

Impact

This makes long-lived agent tasks unreliable: the user cannot confidently resume or prompt the correct QA/coder task because the composer behaves as if it is still attached to unfinished child work. It is especially disruptive in multi-agent coordination workflows where several pinned Codex tasks are reused over time.

Notes

The official task/backend state and the desktop UI composer state appear to diverge. A likely area to inspect is task hydration or cleanup of active child-run/subtask composer state after a turn completes, especially for long-lived tasks with context compaction, tool calls, or prior browser/node_repl activity.

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

Reproduce the pinned QA task and inspect task hydration or cleanup of active child-run/subtask composer state. Compare the Codex task metadata and completed latest turn with the desktop composer state, including long-lived tasks with compaction or tool calls. Done means an idle task accepts a new top-level prompt rather than routing input to subtask mode.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.