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
- Treat 404 as already-deleted in scripts (idempotent delete)
- List labels first and only delete ones that exist
- 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
- Treat 404 deletes as success
- List before delete in automation
- Retry transient failures once with backoff
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.