Desktop app hides task interruption/stall, making an inactive Codex run appear to still be working
Summary
Since updating to the new Windows desktop app experience, long-running Codex tasks no longer expose enough execution progress to distinguish active work from an interrupted or stalled run.
This has happened multiple times: the UI looked as if Codex was still working, but the underlying run had already stopped or become stuck. Because there was no clear terminal state or useful progress signal, I waited unnecessarily and could not steer the task at the point where intervention was needed.
The affected runs occurred in other task windows. This issue is being filed from a separate task, so the current conversation/session should not be treated as the failing sample.
Steps to reproduce
- Start a long-running, tool-heavy Codex task in the Windows desktop app.
- Let it run for an extended period.
- Encounter an interruption, agent stop, tool failure, or stalled execution.
- Observe that the UI continues to look like a task is working, or provides too little information to distinguish the stopped/stalled state from active reasoning.
Actual behavior
- Useful thinking/progress summaries are hidden or absent.
- An interrupted or stalled run may remain visually indistinguishable from an active run.
- There is no sufficiently prominent "stopped", "failed", "blocked", "needs input", or last-activity indication.
- Mid-run steering becomes impractical because the user cannot tell what stage the task reached or whether new instructions can still affect the active run.
Expected behavior
The desktop app should expose an observable execution state independently of private chain-of-thought, for example:
- active reasoning vs. active tool execution vs. waiting;
- last successful activity and elapsed time since that activity;
- explicit stopped/interrupted/failed/blocked/needs-input states;
- concise milestone or tool-status summaries;
- a clear indication of whether a follow-up message will steer the current run or be queued for a later run.
This request is not for raw chain-of-thought. It is for reliable operational visibility so users can distinguish genuine progress from a dead or interrupted run and steer Codex effectively.
Environment
- Surface: ChatGPT/Codex desktop app
- OS: Windows
- Timing: observed repeatedly after the recent desktop app update/merge
- Exact app version and affected session IDs: not available in this reporting task
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I can reproduce a post-tool continuation stall on Codex Desktop for macOS.
This appears to be more specific than a UI visibility problem: in at least one confirmed occurrence, the persisted rollout itself stopped
immediately after a successful tool result, without any subsequent model continuation or terminal turn event.
## Environment
Codex Desktopvscodegpt-5.6-solI am not claiming that the problem is model-specific. The model information is included only to help correlate the affected runtime path.
## Impact
Multiple independent turns have stalled immediately after a tool result was successfully recorded.
The user-visible result is:
The Codex Desktop window remains responsive during the stall. The user can switch views and manually interrupt the turn, so this is not a full
application freeze or an operating-system-level process hang.
## Recurring event sequence
The recurring sequence is:
custom_tool_call_outputis persisted to the rollout.token_countevent may be persisted immediately afterward.agent_reasoningevent appears.task_complete, failure, or interruption event appears.The suspected failing boundary is:
```text
tool result accepted
-> next model continuation request
-> continuation stream
-> terminal turn state
The failure is not inside the shell command itself.
## Sanitized confirmed timeline
The following is a sanitized timeline from one confirmed occurrence. Session IDs, turn IDs, tool payloads, paths, account information, and
command output have been removed.
04:38:02.605Z event_msg agent_reasoning
04:38:03.859Z response_item custom_tool_call
04:38:05.765Z response_item custom_tool_call_output
tool reported successful completion
wall time approximately 1.9 seconds
04:38:05.766Z event_msg token_count
<no additional event for more than six minutes>
<no agent_reasoning>
<no assistant message>
<no task_complete>
<no failed event>
<no interrupted event>
When the rollout was checked more than six minutes later, its modification time and final event were still unchanged.
In a separate affected turn, the observable state remained equivalent to:
thread status: active
latest turn status: inProgress
completedAt: null
error: none
active flags: none
The last command in that turn had already completed successfully.
## Additional minimal user-visible recurrence
The same user-visible symptom also occurred during a much smaller operation:
This smaller occurrence is important because it did not involve:
It suggests that large output may increase the probability of the problem, but large output is probably not the only possible trigger.
## Reproduction matrix
The same boundary failure has been observed after different tool workloads:
Tool workload Command completed Post-tool continuation Recovery
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━
Read-only local text search Yes Did not appear Manual interruption
─────────────────────────────── ────────────────────────── ───────────────────────────────────────────────────── ─────────────────────
Small local Markdown read Yes, approximately 0.5 s Did not appear for approximately 2 minutes Manual interruption
─────────────────────────────── ────────────────────────── ───────────────────────────────────────────────────── ─────────────────────
GitHub API metadata query Yes, approximately 1.9 s No subsequent rollout event for more than 6 minutes Manual interruption
─────────────────────────────── ────────────────────────── ───────────────────────────────────────────────────── ─────────────────────
ADB screenshot/log collection Yes No subsequent assistant continuation Manual interruption
The issue is intermittent rather than deterministically reproducible on every tool call.
## What has been ruled out
For the confirmed occurrences:
## Possible triggers
The following are hypotheses, not confirmed root causes:
The timing is notable: this began on July 14, 2026 and was not observed during the preceding several days.
## Expected behavior
After a successful tool result, one of the following must happen:
The following state should not be possible indefinitely:
tool result persisted
The Desktop UI should also expose:
## Suggested engineering investigation
It may be useful to correlate the following app-server boundaries for an affected turn:
A watchdog around the interval between persisted tool output and the next model event may also prevent an orphaned turn from remaining active
indefinitely.
## Related issue
This may be related to:
That issue describes a Windows occurrence. This report adds a macOS occurrence and a sanitized rollout timeline showing that the event stream
itself stopped after the persisted tool result.
## Privacy and diagnostic availability
The following have intentionally been omitted from this public comment:
If an OpenAI maintainer provides an official private diagnostic channel, the exact affected session IDs, turn IDs, and narrowly scoped redacted
event tails can be provided privately for server-side correlation.
Please do not request that those identifiers be posted publicly.
Additional macOS/Remote data point on Codex Desktop
26.803.61601(build6396):209,356 ms, the turn was recorded asinterruptedwitherror: null.This appears consistent with the post-tool continuation/terminalization failure described in this issue's macOS corroboration. A separate sidebar visibility bug then hid the idle task, making the interruption look like lost work.