multica-ai/multica · error

delete label: %w

Error message

delete label: %w

What it means

Wraps a failed DELETE /api/labels/{labelID} in `multica label delete`. After a successful delete the command prints either JSON ({id, deleted:true}) or a human line, so this error strictly means the DELETE request itself failed.

Source

Thrown at server/cmd/multica/cmd_label.go:260

	}
	return cli.PrintJSON(os.Stdout, result)
}

func runLabelDelete(cmd *cobra.Command, args []string) error {
	client, err := newAPIClient(cmd)
	if err != nil {
		return err
	}
	ctx, cancel := cli.APIContext(context.Background())
	defer cancel()

	labelRef, err := resolveLabelID(ctx, client, args[0])
	if err != nil {
		return fmt.Errorf("resolve label: %w", err)
	}

	if err := client.DeleteJSON(ctx, "/api/labels/"+labelRef.ID); err != nil {
		return fmt.Errorf("delete label: %w", err)
	}
	// JSON consumers get machine-readable output; humans get natural language.
	if output, _ := cmd.Flags().GetString("output"); output == "json" {
		return cli.PrintJSON(os.Stdout, map[string]any{"id": labelRef.ID, "deleted": true})
	}
	fmt.Fprintf(os.Stdout, "Label %s deleted.\n", labelRef.Display)
	return nil
}

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Treat 404 as already-deleted in scripts (idempotent delete)
  2. List labels first and only delete ones that exist
  3. Re-login on 401; retry once on transient errors
Defensive patterns

Strategy: try-catch

Validate before calling

# bash: confirm existence before deleting
multica label list --output json | jq -e --arg n "$LABEL" '.[] | select(.name == $n or .id == $n)' >/dev/null \
  || { echo "already absent"; exit 0; }

Try / catch

if err := client.DeleteJSON(ctx, "/api/labels/"+id); err != nil {
	if isNotFound(err) { /* treat as success for idempotent scripts */ }
	if isUnauthorized(err) { hint re-login }
	return fmt.Errorf("delete label: %w", err)
}

Prevention

When it happens

Trigger: Label already deleted (404) — common with re-run scripts; 401/403 from expired token or missing permission; server 5xx; network failure mid-request.

Common situations: Non-idempotent automation re-deleting labels; permission-restricted service accounts; flaky connectivity.

Related errors


AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15). Data as JSON: /api/errors/8cfaf9725f02b60c. Report an issue: GitHub.