Skip to content

fix(ui-web): a running sub-agent has no stop control on the page, though the backend exposes one #497

Description

@Handsome-wzw

Summary

The page shows the sub-agents a conversation has running -- the desk's agents lane, the roster, the instance surface -- and none of those surfaces can stop one. The backend already exposes the verbs: subagent.cancel_instance { session_key, agent, handle } stops the spawns behind one rendered (agent, handle) pair, subagent.interrupt { subagent_id } stops one spawn by id, and subagent.cancel_session { session_key } sweeps the session. ui-web/src calls none of them; the TUI's agents overlay does (ui-tui/src/components/agentsOverlay.tsx, the interrupt helper posts subagent.interrupt).

Steps to reproduce

  1. Open a session and have the main agent spawn two sub-agents (or run a DAG with two nodes).
  2. Open the Subagents page or the desk's agents lane while both are running.
  3. Look for a way to stop one of them without stopping the other.

Expected behavior

Each running instance row offers a stop, the way the TUI overlay does, wired to subagent.cancel_instance for the (agent, handle) the row already holds.

Actual behavior

There is no stop on any instance row. The only stop on the page is the composer's go button, which is the main agent's turn.cancel; with the fix that pairs it with cancel_by_session it stops every spawn of the session at once, which is the right meaning for that button and still leaves "stop this one" with no control.

Two related but distinct gaps are filed separately:

Waiting on the ui-web/ freeze to lift; the fix is a row control under ui-web/src/features/subagents/ (and the desk's agents lane) calling an RPC the generated client already carries -- subagent.cancel_instance is in ui-web/src/rpc/generated.ts today.

Environment

  • Raven main at 6d8c363 (2026-09-18), web page served by raven web
  • macOS 15, Apple Silicon

Logs or screenshots

N/A -- the defect is a missing control.

Activity

  1. 0xKT commented on Oct 9, 2026

    @0xKT
    Member

    Closing as fixed on main. The tasks tab replaced the desk's agents lane this issue describes (#488). Since #509, every running spawn or graph there opens a task pane whose header has a Stop button: it calls subagent.cancel_instance with the row's agent and handle for a spawn, or subagent.interrupt with the run id for a graph, which stops the whole run as the TUI does. #764 and #805 settled the button in the pane header, the transcript's spawn and graph cards open that same pane, the features/subagents roster is no longer rendered on the page, and stopping a direct instance chat is still tracked in #459.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions