gastownhall/beads · error
load blocking info: %w
Error message
load blocking info: %w
What it means
renderProxiedListText decorates listed issues with blocking info via the BlockingAnnotator; this wraps AnnotateBlocking failures. The core list query succeeded, but fetching which issues block the listed ones failed while rendering text output.
Source
Thrown at cmd/bd/list_proxied_server.go:267
labelsMap := make(map[string][]string, len(issues))
for i, issue := range issues {
issueIDs[i] = issue.ID
if len(issue.Labels) > 0 {
labelsMap[issue.ID] = issue.Labels
}
}
// The decoration, onto issueops.BlockingAnnotator. This route FAILS on the
// read where the direct one swallows it, and both are kept exactly as they
// were: converging them is a behavior decision recorded for the owner
// (AMBIGUITIES.md, A-blk-1) rather than taken here.
annotator, err := proxiedBlockingAnnotator()
if err != nil {
return err
}
result, err := annotator.AnnotateBlocking(ctx, issueops.BlockingRequest{IDs: issueIDs})
if err != nil {
return fmt.Errorf("load blocking info: %w", err)
}
blocking := newListBlocking(result)
var buf strings.Builder
switch {
case ui.IsAgentMode():
for _, issue := range issues {
formatAgentIssue(&buf, issue, blocking.blockedBy[issue.ID], blocking.blocks[issue.ID], blocking.parent[issue.ID])
}
fmt.Print(buf.String())
printTruncationHint(truncated, in.effectiveLimit)
return nil
case in.longFormat:
buf.WriteString(fmt.Sprintf("\nFound %d issues:\n\n", len(issues)))
for _, issue := range issues {
formatIssueLong(&buf, issue, labelsMap[issue.ID], in.SkipLabels)
}
default:View on GitHub (pinned to 71377f2769)
Solutions
- Retry the command — often transient
- Check daemon/storage health (`bd doctor`)
- Reduce --limit so fewer IDs are annotated per request
- Use --json output, which may skip text-only blocking decoration
Defensive patterns
Strategy: retry
Validate before calling
# Check storage/daemon health before large annotated lists
bd doctor >/dev/null 2>&1 || exit 1
bd list --limit 500 >/dev/null 2>&1 || { echo "list backend failing"; exit 1; } Try / catch
for i in 1 2 3; do bd list --status open && break sleep $((i*i)) # 'load blocking info' is often transient done
Prevention
- Retry text-mode lists before diagnosing deeper
- Lower --limit to shrink AnnotateBlocking batch size
- Keep client/daemon versions matched
When it happens
Trigger: Any proxied text-mode list render (pretty/agent/compact) where annotator.AnnotateBlocking(ctx, BlockingRequest{IDs: ...}) errors — storage/daemon failure during the blocking-relationship query for the listed IDs.
Common situations: Daemon connection lost mid-command, large ID batches timing out, or backend storage errors while reading dependency/blocking relationships.
Related errors
- proxied-server provider %T does not offer the dependency-edg
- proxied-server provider %T does not offer the neighbor-query
- no store is open for this workspace
- no absolute native user directory is available
- ExternalDoltConfig: set either Socket OR (Host, Port), not b
AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30).
Data as JSON: /api/errors/97b3de01fa81558a.
Report an issue: GitHub.