Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open
#497 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
74/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
frontend

Research direction

Start in ui-web/src/features/subagents/ and inspect the desk's agents lane, using ui-tui/src/components/agentsOverlay.tsx as the existing stop-control reference. Confirm the generated client entry for subagent.cancel_instance in ui-web/src/rpc/generated.ts and wire each running instance row's agent and handle to it. Done means every running instance row can stop only its own rendered spawn without affecting other sub-agents.

Written by the indexing model from the issue text.

Description

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:

  • a direct instance chat cannot be stopped because the global stop sends turn.cancel without a target -- #459;
  • the go button goes inert while a delegated result re-enters the conversation -- #496.

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 6d8c3638 (2026-09-18), web page served by raven web
  • macOS 15, Apple Silicon

Logs or screenshots

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

Dominant language
Python
Stars
4.1k
Forks
94
Avg merge
10h 2m
Merged PRs (30d)
376

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from EverMind-AI/Raven

All issues in EverMind-AI/Raven

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.