multica-ai/multica · error

unresolve comment: %w

Error message

unresolve comment: %w

What it means

`multica issue comment unresolve <comment-id>` sends DELETE to /api/comments/{id}/resolve. This error wraps that call failing: unknown comment, comment not currently resolved, permission denied, or network/server errors.

Source

Thrown at server/cmd/multica/cmd_issue.go:2070

func runIssueCommentResolution(cmd *cobra.Command, commentID string, resolve bool) error {
	client, err := newAPIClient(cmd)
	if err != nil {
		return err
	}

	ctx, cancel := cli.APIContext(context.Background())
	defer cancel()

	path := "/api/comments/" + url.PathEscape(commentID) + "/resolve"
	var result map[string]any
	if resolve {
		if err := client.PostJSON(ctx, path, nil, &result); err != nil {
			return fmt.Errorf("resolve comment: %w", err)
		}
		fmt.Fprintf(os.Stderr, "Comment %s resolved.\n", commentID)
	} else {
		if err := client.DeleteJSONResponse(ctx, path, &result); err != nil {
			return fmt.Errorf("unresolve comment: %w", err)
		}
		fmt.Fprintf(os.Stderr, "Comment %s unresolved.\n", commentID)
	}

	output, _ := cmd.Flags().GetString("output")
	if output == "table" {
		return nil
	}
	return cli.PrintJSON(os.Stdout, result)
}

// ---------------------------------------------------------------------------
// Execution history commands
// ---------------------------------------------------------------------------

func runIssueRuns(cmd *cobra.Command, args []string) error {
	client, err := newAPIClient(cmd)
	if err != nil {

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Confirm the comment is currently resolved via `multica issue comment list`.
  2. Treat 'not resolved' outcomes as idempotent success in automation.
  3. Fix auth/permissions for 401/403; retry transient failures.
Defensive patterns

Strategy: try-catch

Validate before calling

# bash: only unresolve comments that are resolved
state=$(multica issue comment list "$ISSUE" --output json | jq -r --arg c "$CID" '.[] | select(.id == $c) | .resolved')
[[ "$state" == "true" ]] || { echo "comment $CID is not resolved" >&2; exit 2; }

Try / catch

# bash: idempotent unresolve
multica issue comment unresolve "$CID" 2>/tmp/err || {
  grep -qE '404|not (resolved|found)' /tmp/err && exit 0
  cat /tmp/err >&2; exit 1;
}

Prevention

When it happens

Trigger: Unresolving a comment that is not resolved; mistyped ID; missing rights; API unreachable. The comment ID is URL-escaped into the path, so odd characters are safe but wrong IDs still 404.

Common situations: Batch scripts unresolving already-unresolved comments; copied IDs from a different workspace.

Related errors


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