{"record":{"id":"8cfaf9725f02b60c","repo":"multica-ai/multica","slug":"delete-label-w","errorCode":null,"errorMessage":"delete label: %w","messagePattern":"delete label: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/cmd/multica/cmd_label.go","lineNumber":260,"sourceCode":"\t}\n\treturn cli.PrintJSON(os.Stdout, result)\n}\n\nfunc runLabelDelete(cmd *cobra.Command, args []string) error {\n\tclient, err := newAPIClient(cmd)\n\tif err != nil {\n\t\treturn err\n\t}\n\tctx, cancel := cli.APIContext(context.Background())\n\tdefer cancel()\n\n\tlabelRef, err := resolveLabelID(ctx, client, args[0])\n\tif err != nil {\n\t\treturn fmt.Errorf(\"resolve label: %w\", err)\n\t}\n\n\tif err := client.DeleteJSON(ctx, \"/api/labels/\"+labelRef.ID); err != nil {\n\t\treturn fmt.Errorf(\"delete label: %w\", err)\n\t}\n\t// JSON consumers get machine-readable output; humans get natural language.\n\tif output, _ := cmd.Flags().GetString(\"output\"); output == \"json\" {\n\t\treturn cli.PrintJSON(os.Stdout, map[string]any{\"id\": labelRef.ID, \"deleted\": true})\n\t}\n\tfmt.Fprintf(os.Stdout, \"Label %s deleted.\\n\", labelRef.Display)\n\treturn nil\n}\n","sourceCodeStart":242,"sourceCodeEnd":269,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/cmd/multica/cmd_label.go#L242-L269","documentation":"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.","triggerScenarios":"Label already deleted (404) — common with re-run scripts; 401/403 from expired token or missing permission; server 5xx; network failure mid-request.","commonSituations":"Non-idempotent automation re-deleting labels; permission-restricted service accounts; flaky connectivity.","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"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"# bash: confirm existence before deleting\nmultica label list --output json | jq -e --arg n \"$LABEL\" '.[] | select(.name == $n or .id == $n)' >/dev/null \\\n  || { echo \"already absent\"; exit 0; }","typeGuard":null,"tryCatchPattern":"if err := client.DeleteJSON(ctx, \"/api/labels/\"+id); err != nil {\n\tif isNotFound(err) { /* treat as success for idempotent scripts */ }\n\tif isUnauthorized(err) { hint re-login }\n\treturn fmt.Errorf(\"delete label: %w\", err)\n}","preventionTips":["Treat 404 deletes as success","List before delete in automation","Retry transient failures once with backoff"],"tags":["cli","http","labels"],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}