Skip to content

Show a parent/child link when one chat spawns another #221

Description

@exAClior

Before filing

  • I searched open and closed issues for duplicates.
  • I am using a recent release and this doesn't already exist.
  • This is one request, not several bundled together.

Closest existing issue

none found

Is this new, or an improvement?

New capability — Berd can't do this at all today

The problem, in your terms

I use Goose as the harness. Builder jobs often run longer than Goose's in-process delegate time limit, so the workable pattern is to have the parent chat spawn a new Berd session (berdctl session) and hand the long job to that.

The spawn works. The new chat then shows up in the session list as an unrelated item. There is no indication it came from the parent, so the relationship exists only in my head. Once a few of these are in flight, I cannot tell which child belongs to which conversation.

What you do today

Whoever would have delegated to Builder creates a new session instead. The work gets done. There is no linking — I just remember which chat is the child, or I don't.

What you'd like to see

A visual parent/child relationship in the session list, directory-tree style: a session spawned from another one nests under (or is otherwise clearly tied to) the session that created it. Enough to see lineage at a glance. I am asking for the visual link, not a new way to spawn the session.

Why this belongs in Berd itself

This is session-list UI and session metadata. A skill or agent can already create the child session; it cannot draw the relationship in the sidebar. An automation cannot either. If the parent pointer needs to be recorded when berdctl session create runs from inside another chat, that still has to live in Berd.

Non-goals

  • Not asking to raise Goose delegate timeouts or change how delegate works.
  • Not asking Berd to automatically route Builder (or any subagent) into a new session.
  • Not asking for a full file-explorer of every session, grouping, or project tree — just a visual link for spawned children.
  • Not asking to change berdctl session create beyond whatever parent pointer the UI would need.

Alternatives you considered

  • Keep using Goose delegate and accept the hard time cap. Rejected: Builder jobs regularly exceed it.
  • Name child sessions by hand so I can find them later. Rejected: still no structural link, and names drift.
  • berdctl session fork. Different thing — I want a spawned worker chat, not a forked copy of the parent transcript.

Mockups, prior art, or other context

Something as simple as indenting the child under the parent in the session list (like a collapsed directory) would be enough. I do not have a mockup.

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