Zombie "Working" subagent tasks cannot be stopped or dismissed

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Subagent tasks spawned by a previous AI model version persist indefinitely in the “Working” panel, showing as actively running (“1 Working” / “2 Working”) even though:

  • The subagents have fully terminated (their transcripts contain turn_ended: success)
  • No actual processes are running
  • “Stop All” button does nothing
  • Individual stop buttons do nothing
  • Developer: Reload Window does not clear them
  • Full Cursor quit and restart does not clear them
  • Resuming the subagents via the Task tool (which successfully terminates them) does not clear the UI
  • Manually editing the conversation JSONL transcript to remove the tool_use entries does not clear the UI

The zombie tasks appear to be tracked in an internal renderer state store (possibly IndexedDB) that is not reconciled with the actual subagent transcript state or the conversation JSONL.

Steps to Reproduce

Steps to Reproduce

  1. Start a conversation with an AI model that spawns background subagents (e.g., run_in_background: true with resume: "self")
  2. Interrupt the subagent mid-execution by sending a new user message
  3. Continue using the conversation across model changes (e.g., when Cursor updates the underlying model)
  4. The interrupted subagent will show permanently in the “Working” panel

Expected Behavior

Expected Behavior

  • “Stop All” should terminate and dismiss zombie tasks
  • Individual stop buttons should work
  • At minimum, Developer: Reload Window or full Cursor restart should clear orphaned “Working” entries that have no corresponding running process
  • The UI should reconcile with the subagent transcript’s turn_ended status

Actual Behavior

The “Working” panel permanently displays zombie tasks that cannot be dismissed by any means. This persists across:

  • Stop All clicks
  • Developer: Reload Window
  • Full Cursor quit and restart
  • Subagent resumption and termination
  • Direct transcript JSONL editing

Operating System

Windows 10/11

Version Information

Where does the bug appear?

Cursor IDE (Desktop, Windows)

Environment

Cursor version: 3.9.8 (also reproduced on 3.8.23)
OS: Windows 11 24H2 (build 26100)
Workspace: Empty window / no-folder workspace

Additional Information

Impact

  • Users who cannot delete conversations are permanently stuck with zombie UI elements
  • The “Working” indicator is misleading (suggests active computation when none exists)
  • No user-accessible mechanism exists to clear this state

Suggested Fix

The “Working” panel state should be reconciled on load with:

  1. The subagent transcript’s completion status (turn_ended)
  2. The absence of an actually running process
  3. A timeout mechanism for tasks that haven’t produced output in N minutes

Additionally, “Stop All” should force-clear ALL entries from the Working panel regardless of internal state.


Note: This bug was diagnosed and documented with the assistance of a Cursor AI agent (Claude Opus 4.6) within the affected conversation itself. The agent confirmed the subagents are terminated (transcripts show turn_ended: success), attempted all available remediation steps (resuming/interrupting subagents, editing the JSONL transcript, Developer: Reload Window, full restart), and none cleared the zombie UI state.

Does this stop you from using Cursor

No - Cursor works, but with this issue

A stale “Working” state is more than a cosmetic bug because it breaks the user’s mental model of what is still consuming attention or compute.

Even if the backend task already ended, the UI needs some reconciliation path: transcript says completed, no process is alive, so the working entry should become dismissible at minimum.

Thanks @Cassio_Sasaya! Our devs ran into this last week and raised an internal bug report. I’ve attached your report as well and will follow-up when progress is made.