{"record":{"id":"2c28543acaf0e0bc","repo":"gastownhall/beads","slug":"parent-issue-q-not-found","errorCode":null,"errorMessage":"parent issue %q not found","messagePattern":"parent issue %q not found","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/bd/list_show_filter_modes.go","lineNumber":270,"sourceCode":"\n\tdepsByIssueID, err := loadDepsForIssues(ctx, uw, treeIssues)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Hierarchical --parent walks use an unlimited per-level query; never page-truncated.\n\tdisplayPrettyListWithDepsMode(treeIssues, false, depsByIssueID, in.depsMode, false, in.ReadyFlag)\n\tprintSkipLabelsFooter(in.SkipLabels)\n\treturn nil\n}\n\nfunc gatherProxiedHierarchical(ctx context.Context, uw uow.UnitOfWork, parentID string, baseFilter types.IssueFilter) ([]*types.Issue, error) {\n\tparent, err := uw.IssueUseCase().GetIssue(ctx, parentID)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"error checking parent issue: %w\", err)\n\t}\n\tif parent == nil {\n\t\treturn nil, fmt.Errorf(\"parent issue %q not found\", parentID)\n\t}\n\n\tdescendants, err := uw.IssueUseCase().GetDescendants(ctx, parentID, baseFilter)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"error finding descendants: %w\", err)\n\t}\n\tif len(descendants) == 0 {\n\t\treturn nil, nil\n\t}\n\n\tout := make([]*types.Issue, 0, len(descendants)+1)\n\tout = append(out, parent)\n\tout = append(out, descendants...)\n\treturn out, nil\n}\n\ntype currentIssueSearcher interface {\n\tSearchIssues(context.Context, string, types.IssueFilter) ([]*types.Issue, error)","sourceCodeStart":252,"sourceCodeEnd":288,"githubUrl":"https://github.com/gastownhall/beads/blob/71377f276968b452ee607177637970a4ff888584/cmd/bd/list_show_filter_modes.go#L252-L288","documentation":"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.","triggerScenarios":"`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.","commonSituations":"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.","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"],"exampleFix":"// before\nbd list --parent bd-1234  # if bd-1234 was deleted\n// after\nbd show bd-1234           # confirms 'not found'\nbd list --parent bd-5678  # use a valid parent","handlingStrategy":"validation","validationCode":"if out, err := exec.Command(\"bd\", \"show\", parentID).Run(); err != nil {\n    return fmt.Errorf(\"parent %s not found on remote\", parentID)\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Verify IDs exist on the current remote before filtering","Confirm which remote you are pointed at (staging vs prod)","Sync before reusing cached IDs"],"tags":["cli","proxied-mode","parent-lookup"],"backgroundTag":"parent-issue-not-found","analyzedSha":"71377f276968b452ee607177637970a4ff888584","analyzedAt":"2026-08-30T18:55:39.744Z","schemaVersion":2},"datasetVersion":"2026-08-30T23:17:21.991Z"}