multica-ai/multica · error
unset property: %w
Error message
unset property: %w
What it means
Returned by `runIssuePropertyUnset` when the DELETE to `/api/issues/<issueID>/properties/<propertyID>` fails. Both refs were already resolved locally, so the wrapped error reflects server-side rejection or transport failure.
Source
Thrown at server/cmd/multica/cmd_property.go:686
ctx, cancel := cli.APIContext(context.Background())
defer cancel()
issueRef, err := resolveIssueRef(ctx, client, args[0])
if err != nil {
return fmt.Errorf("resolve issue: %w", err)
}
properties, err := fetchProperties(ctx, client)
if err != nil {
return err
}
property, err := resolvePropertyRef(properties, name)
if err != nil {
return err
}
path := "/api/issues/" + issueRef.ID + "/properties/" + property.ID
if err := client.DeleteJSON(ctx, path); err != nil {
return fmt.Errorf("unset property: %w", err)
}
output, _ := cmd.Flags().GetString("output")
if output == "json" {
return cli.PrintJSON(os.Stdout, map[string]any{"deleted": true})
}
fmt.Fprintf(os.Stdout, "Property %q unset.\n", property.Name)
return nil
}
View on GitHub (pinned to 2c0912b6ec)
Solutions
- Parse the wrapped status: 404 → the property or issue changed server-side, re-fetch lists and retry with fresh IDs.
- 401/403 → refresh credentials or check permissions.
- Network failure → confirm server health and retry.
Example fix
// before multica issue property unset ISS-1 --name Priority // error: unset property: request failed: 404 ... // after multica property list && multica issue list # refresh refs multica issue property unset <issue-key> --name <current-property-name>
Defensive patterns
Strategy: try-catch
Validate before calling
# bash: confirm both refs are current before the delete
multica issue list | grep -qw "$ISSUE" && multica property list | grep -qw "$PROP" || { echo 'stale ref' >&2; exit 1; } Try / catch
if err := client.DeleteJSON(ctx, path); err != nil {
if isNotFound(err) { /* treat as success or refresh refs */ }
if isAuthError(err) { reauth(); retry once }
return fmt.Errorf("unset property: %w", err)
} Prevention
- Tolerate 404 on unset — the property may already be gone, which is the desired end state.
- Re-fetch issue/property IDs when operating on data that can change concurrently.
When it happens
Trigger: Server refuses the delete (permissions, protected property, or the property value/definition vanished server-side returning 404/409), expired token, or connectivity loss.
Common situations: Property deleted concurrently by another client; role lacks edit permission on the issue; automation running against a restarted server.
Related errors
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/027823ec0f23c880.
Report an issue: GitHub.