Skip to content

Support discovered worktrees and continuing existing branches #1624

Description

@ryanbbrown

Problem

Thread creation only lists worktrees that belong to active bb environments.
It does not discover persistent Git worktrees that users manage themselves.

New managed worktrees also always create a generated bb branch. Selecting an
existing remote branch uses it as a base instead of checking it out directly.
This makes reopening an existing pull request awkward.

Requested behavior

  • List every Git worktree for the selected project and machine.
  • Show its branch, path, and machine.
  • Treat discovered user worktrees as unmanaged workspaces.
  • Keep user worktrees after their threads are archived.
  • Add New branch and Continue branch modes inside the existing branch picker.
  • Continue a local or remote branch directly in a temporary managed worktree.
  • Configure remote tracking so a normal push updates the existing branch.
  • Remove the temporary worktree after its threads are archived.
  • Preserve the continued branch during cleanup.
  • Reject branches that another worktree already checks out.

This should not change the default managed-worktree cleanup policy.

Reference implementation

A complete implementation is available here:

ryanbbrown@499533b

It includes the app, server, daemon, SDK, CLI, plugin, guide, and test surfaces.

AGENT GENERATED: by GPT-5.6

Metadata

Metadata

Assignees

No one assigned

    Labels

    workspacesWorktrees, environments, git, shells

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions