[BUG] Desktop task panel: subagent resumed via SendMessage has no Running card — original card stays Completed while the execution runs

Status Fixed / completed
Reported on v2.1.210
Maintainer reply None cached
Activity 2 comments · opened Jul 16, 2026 · closed Jul 17, 2026

What's Wrong?

In the Claude Desktop (macOS) task panel, a subagent that is resumed via SendMessage (addressed to its agentId after its original run finished) gets no representation at all while the resumed execution runs:

  • The original card stays in the Finished section as Agent · Completed (truthful for execution #1).
  • No new Running card is created for the resumed execution, and the old card is not flipped back to Running.
  • Meanwhile the harness tracks the resumed execution correctly as a live task — TaskOutput on the same ID reports status: running.

Net effect: a long, token-heavy live execution (~200k tokens in our case) is completely invisible in the panel until its completion notification arrives, orphaned from any card. The operator watching the panel reasonably concludes the agent is done.

Steps to Reproduce

  1. In Claude Code inside the Claude Desktop macOS app, spawn a subagent with the Agent tool and let it complete. Its card appears under Finished (Agent · Completed).
  2. Have the main session call SendMessage with to: <that agent's agentId> and a follow-up message. The tool result confirms a new live execution:

``
Agent "ab2ecf4c713a72310" had no active task; resumed from transcript in the
background with your message. You'll be notified when it finishes.
``

  1. While it runs, check harness state:

``
TaskOutput(task_id: "ab2ecf4c713a72310", block: false)
→ task_type: local_agent, status: running
``

  1. Look at the Desktop task panel: the original card still reads Completed in Finished; there is no Running entry for the resumed execution anywhere in the panel.

Evidence (session of 2026-07-16)

  • Execution #1: Draft plan: land-failure-recovery — Agent · Completed · 8m 56s · 171.8k tokens · 25 tool uses (Finished card, correct).
  • SendMessage resume at ~22:34 UTC → result quoted above (new background execution under the same agentId).
  • TaskOutput polled minutes later → status: running, task_type: local_agent (harness state correct while the panel showed nothing running).
  • Screenshot of the Finished card while the resumed execution was live is available on request.

What Should Happen?

Either representation works; having neither is the bug:

  • flip the existing card back to Running (if cards are keyed on agent identity), or
  • mint a new Running card for the resumed execution (if cards are keyed on executions).

A task the harness reports as running should be visible somewhere in the panel.

Environment

  • Claude Desktop, macOS (Darwin 25.5.0)
  • claude --version2.1.210 (Claude Code); the session process stamps transcript entries version: 2.1.209, entrypoint: claude-desktop
  • Task type: local_agent (Agent tool subagent, resumed via SendMessage)

Related issues

  • #76271 — Desktop workflow panel: per-agent tokens/tools/time stay empty during long parallel runs (progress-only batches omit workflowProgress). Same family: the desktop panel's event bridge missing live-state transitions; this report is the subagent-resume variant.
  • #78224 — [FEATURE] Pause-and-resume background subagents on recoverable failures — adjacent feature area; if that ships, resumed executions will be more common and this invisibility more painful.
  • #78135 — Session/agent transcripts intermittently unresolvable, breaking background-agent resume — adjacent resume plumbing (different failure: resume fails; here resume succeeds but is invisible).
  • #78215 — Workflow tool: resumeFromRunId never hits the journal cache — adjacent resume-surface issue on the workflow side.

Dup-check caveat

GitHub's issue full-text search API was returning 503 for every query when this was filed, so duplicate-checking was limited to grepping the newest ~300 open issue titles (no match). Apologies if this duplicates an older report the title grep missed.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗