You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I searched existing issues and did not find a duplicate.
I am describing a concrete problem or use case, not just a vague idea.
Area
apps/server
Problem or use case
When using the Cursor provider (cursor-agent / ACP), native Cursor subagents / Task children are effectively invisible and hard to supervise in T3 Code:
They do not appear in the Agents panel (roster stays empty / “No agents yet”), so there is no way to track status, progress, model, tokens, or completion the way Claude Task and Codex collab children do after feat: native subagent & workflow observability #5219.
Bug-shaped symptom (even more painful): when those children finish, the parent/spawner does not wake (resume) correctly. The parent turn can settle or look finished while delegated Cursor child work is still the logical next step, and child completion does not reliably bring the spawner back. The overall multi-agent run then stalls unless the user manually nudges the parent.
Net: Cursor fleets are both unobservable and unreliable to complete, which makes parallel Task/subagent workflows on Cursor much worse than on Claude/Codex.
Proposed solution
Bring Cursor to the same subagent observability + lifecycle parity Claude/Codex already have:
Map Cursor-native subagent / Task child lifecycle onto the existing persisted task.started / task.progress / task.updated / task.completed activity stream (with TaskAgentLinkage), so the Agents panel can show live roster rows.
Fix the completion path so child terminal states wake / resume the parent spawner (or keep correct backgroundLiveness until the overall run settles), instead of leaving the thread looking done while the logical fleet is incomplete.
No nested-thread UX required for a first pass (#538 can stay separate).
Why this matters
Cursor is a first-class provider, and native subagent / Task fan-out is a normal Cursor workflow. Without Agents-panel membership and parent wake-on-completion, users cannot supervise fleets or trust that delegated work will finish the parent turn. That forces manual babysitting and burns the value of parallel agents.
Smallest useful scope
Cursor adapter only:
emit task.* for Cursor-native subagent/Task children
show stable Agents-panel rows through running → terminal states
on child completion, resume the parent / preserve correct background liveness so the spawner continues without a manual nudge
Observed on this environment while using Cursor threads that spawn subagents (including threads titled along the lines of “Spawn Subagents for Testing” / “Spawn Agents During Testing”):
T3 Code:0.0.34-nightly.20260813.1085 (systemd user service / local server)
Surface: web/desktop Agents panel for Cursor provider threads
Likely cause / prior art: #5219 populated Agents from task.* for Claude + Codex only. task.started emission appears in those adapters today; Cursor ACP paths do not appear to project child-agent lifecycle onto task.*, which would explain both the empty Agents roster and broken parent wake / background-liveness for Cursor fleets. Same adapter-parity class as #5952 / #6468.
Closure signal: a Cursor thread that spawns ≥1 native subagent should (a) show stable Agents-panel rows through running → terminal states, and (b) resume the parent / keep correct liveness when children complete without a manual nudge.
Before submitting
Area
apps/server
Problem or use case
When using the Cursor provider (
cursor-agent/ ACP), native Cursor subagents / Task children are effectively invisible and hard to supervise in T3 Code:Net: Cursor fleets are both unobservable and unreliable to complete, which makes parallel Task/subagent workflows on Cursor much worse than on Claude/Codex.
Proposed solution
Bring Cursor to the same subagent observability + lifecycle parity Claude/Codex already have:
task.started/task.progress/task.updated/task.completedactivity stream (withTaskAgentLinkage), so the Agents panel can show live roster rows.backgroundLivenessuntil the overall run settles), instead of leaving the thread looking done while the logical fleet is incomplete.No nested-thread UX required for a first pass (#538 can stay separate).
Why this matters
Cursor is a first-class provider, and native subagent / Task fan-out is a normal Cursor workflow. Without Agents-panel membership and parent wake-on-completion, users cannot supervise fleets or trust that delegated work will finish the parent turn. That forces manual babysitting and burns the value of parallel agents.
Smallest useful scope
Cursor adapter only:
task.*for Cursor-native subagent/Task childrencursor-agentBash children ([Feature]: Agents panel should also show CLI-delegated child agents (codex exec / opencode run / etc.), not only provider-native subagents #5479)Alternatives considered
Taskmissing from Agentscodex exec,opencode run, etc.), not Cursor provider-native Task/subagent lifecycleRisks or tradeoffs
Examples or references
Observed on this environment while using Cursor threads that spawn subagents (including threads titled along the lines of “Spawn Subagents for Testing” / “Spawn Agents During Testing”):
0.0.34-nightly.20260813.1085(systemd user service / local server)2026.08.11-e8db854(~/.local/bin/cursor-agent, ACP mode)providerInstances.cursor, binarycursor-agent)runtime_mode: full-access, model selection{ instanceId: "cursor", model: "default" }Likely cause / prior art: #5219 populated Agents from
task.*for Claude + Codex only.task.startedemission appears in those adapters today; Cursor ACP paths do not appear to project child-agent lifecycle ontotask.*, which would explain both the empty Agents roster and broken parent wake / background-liveness for Cursor fleets. Same adapter-parity class as #5952 / #6468.Closure signal: a Cursor thread that spawns ≥1 native subagent should (a) show stable Agents-panel rows through running → terminal states, and (b) resume the parent / keep correct liveness when children complete without a manual nudge.
Contribution