gastownhall/beads · error
parent issue %q not found
Error message
parent issue %q not found
What it means
In the proxied hierarchical path, GetIssue returning (nil, nil) — i.e. the parent does not exist — triggers this error with the parent ID quoted via %q. It mirrors error 990 but for the server/proxy code path.
Source
Thrown at cmd/bd/list_show_filter_modes.go:270
depsByIssueID, err := loadDepsForIssues(ctx, uw, treeIssues)
if err != nil {
return err
}
// Hierarchical --parent walks use an unlimited per-level query; never page-truncated.
displayPrettyListWithDepsMode(treeIssues, false, depsByIssueID, in.depsMode, false, in.ReadyFlag)
printSkipLabelsFooter(in.SkipLabels)
return nil
}
func gatherProxiedHierarchical(ctx context.Context, uw uow.UnitOfWork, parentID string, baseFilter types.IssueFilter) ([]*types.Issue, error) {
parent, err := uw.IssueUseCase().GetIssue(ctx, parentID)
if err != nil {
return nil, fmt.Errorf("error checking parent issue: %w", err)
}
if parent == nil {
return nil, fmt.Errorf("parent issue %q not found", parentID)
}
descendants, err := uw.IssueUseCase().GetDescendants(ctx, parentID, baseFilter)
if err != nil {
return nil, fmt.Errorf("error finding descendants: %w", err)
}
if len(descendants) == 0 {
return nil, nil
}
out := make([]*types.Issue, 0, len(descendants)+1)
out = append(out, parent)
out = append(out, descendants...)
return out, nil
}
type currentIssueSearcher interface {
SearchIssues(context.Context, string, types.IssueFilter) ([]*types.Issue, error)View on GitHub (pinned to 71377f2769)
Solutions
- Run `bd show <parentID>` to verify existence on the current remote
- Check the parent ID for typos
- Sync (`bd dolt pull`) or verify you are on the correct remote
- Re-run the command in the intended repository
Example fix
// before bd list --parent bd-1234 # if bd-1234 was deleted // after bd show bd-1234 # confirms 'not found' bd list --parent bd-5678 # use a valid parent
Defensive patterns
Strategy: validation
Validate before calling
if out, err := exec.Command("bd", "show", parentID).Run(); err != nil {
return fmt.Errorf("parent %s not found on remote", parentID)
} Prevention
- Verify IDs exist on the current remote before filtering
- Confirm which remote you are pointed at (staging vs prod)
- Sync before reusing cached IDs
When it happens
Trigger: `bd list --parent <id>` against a server-mode UOW where the parent ID does not exist in the remote database: deleted issue, mistyped ID, or querying a remote whose data set lacks that issue.
Common situations: Typo in parent ID; issue deleted remotely before your sync; pointing at the wrong remote (e.g. staging vs production); scripts caching IDs from another project.
Related errors
- parent issue '%s' not found
- error checking parent issue: %w
- ErrAmbiguousID
- 'bd admin %s' is not yet supported in embedded mode
- cannot use multiple conflict resolution flags
AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30).
Data as JSON: /api/errors/2c28543acaf0e0bc.
Report an issue: GitHub.