gastownhall/beads · error

error checking parent issue: %w

Error message

error checking parent issue: %w

What it means

gatherProxiedHierarchical is the proxied (server/unit-of-work) counterpart of the hierarchical --parent listing. It first calls uw.IssueUseCase().GetIssue to verify the parent; any error returned by that remote/use-case call is wrapped with 'error checking parent issue'.

Source

Thrown at cmd/bd/list_show_filter_modes.go:267

		fmt.Printf("Issue '%s' has no children\n", in.ParentID)
		return nil
	}

	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
}

View on GitHub (pinned to 71377f2769)

Solutions

  1. Inspect the wrapped error to identify the network vs storage cause
  2. Verify connectivity and credentials for the configured remote
  3. Run `bd doctor` to check server-mode configuration
  4. Retry once connectivity/auth issues are fixed
Defensive patterns

Strategy: retry

Try / catch

out, err := exec.Command("bd", "list", "--parent", id).CombinedOutput()
if err != nil && strings.Contains(string(out), "error checking parent issue") {
    time.Sleep(backoff)
    // retry; if persistent, check server health/auth
}

Prevention

When it happens

Trigger: Running `bd list --parent <id>` when the UOW topology routes through a server/proxy: GetIssue fails due to network errors, auth failures, server unavailability, or a storage error on the remote — anything that returns err rather than a nil issue.

Common situations: Server down or unreachable; expired or missing credentials for the shared Dolt server; wrong remote host configured in config.yaml/metadata.json; timeout on large remote databases.

Related errors


AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30). Data as JSON: /api/errors/03a8a8ae10d3c151. Report an issue: GitHub.