gastownhall/beads · error

issue '%s' not found: %v

Error message

issue '%s' not found: %v

What it means

Error from runSwarmStatusProxiedServer in cmd/bd/swarm_proxied_server.go:116. Fires when utils.ResolvePartialID cannot resolve the argument passed to `bd swarm status` in proxied-server mode into a concrete issue ID. The resolver's own error is appended after the colon, distinguishing not-found from ambiguous-prefix cases.

Source

Thrown at cmd/bd/swarm_proxied_server.go:116

// runSwarmStatusProxiedServer ports `bd swarm status` to proxied-server mode.
func runSwarmStatusProxiedServer(_ *cobra.Command, ctx context.Context, args []string) error {
	evt := metrics.NewCommandEvent("swarm-status")
	defer func() {
		if c := metrics.Global(); c != nil {
			c.CloseEventAndAdd(evt)
		}
	}()

	if uowProvider == nil {
		return HandleErrorRespectJSON("proxied-server UOW provider not initialized")
	}

	status, err := uow.RunTxRead(ctx, uowProvider, func(ctx context.Context, uw uow.UnitOfWork) (*SwarmStatus, error) {
		r := uowMolReader{uw: uw}

		issueID, err := utils.ResolvePartialID(ctx, r, args[0])
		if err != nil {
			return nil, fmt.Errorf("issue '%s' not found: %v", args[0], err)
		}

		issue, err := uw.IssueUseCase().GetIssue(ctx, issueID)
		if gateProxiedNotFound(err) || (err == nil && issue == nil) {
			return nil, fmt.Errorf("issue '%s' not found", issueID)
		}
		if err != nil {
			return nil, fmt.Errorf("failed to get issue: %v", err)
		}

		var epic *types.Issue

		if issue.IssueType == "molecule" && issue.MolType == types.MolTypeSwarm {
			deps, err := r.GetDependencyRecords(ctx, issue.ID)
			if err != nil {
				return nil, fmt.Errorf("failed to get swarm dependencies: %v", err)
			}
			for _, dep := range deps {

View on GitHub (pinned to 71377f2769)

Solutions

  1. Confirm the exact ID with `bd list` or `bd show <full-id>`.
  2. Use the full ID to eliminate prefix ambiguity.
  3. Sync if the issue may exist remotely: `bd dolt pull`.
  4. Read the resolver message after the colon — "multiple matches" means lengthen the prefix.

Example fix

// before
bd swarm status bd-1   // matches many issues

// after
bd swarm status bd-1237
Defensive patterns

Strategy: validation

Validate before calling

bd show "$ISSUE_ID" >/dev/null 2>&1 && bd swarm status "$ISSUE_ID" || echo "resolve the full ID: bd list"

Try / catch

if err != nil && strings.Contains(err.Error(), "not found") {
    // lengthen the prefix or look up the full ID via bd list
}

Prevention

When it happens

Trigger: `bd swarm status <prefix-or-id>` where the prefix matches nothing, is ambiguous, or the resolver's backing lookup errors in proxied-server mode.

Common situations: Typo'd or truncated ID; prefix collision between multiple issues; issue exists only on another machine / not yet synced; issue deleted after being noted in a plan.

Related errors


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