{"version":"2.1.233","anchor":"duplicate-reply-guard-for-artifact-comment-threads","canonical_anchor":"duplicate-reply-guard-for-artifact-comment-threads","heading":"Duplicate-reply guard for artifact comment threads","tier":"notice","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.233\/e\/duplicate-reply-guard-for-artifact-comment-threads","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.233","markdown":"### Duplicate-reply guard for artifact comment threads\n\nClaude re-reads an artifact comment thread before posting so it does not repeat a reply it already gave.\n\n**What**\n\nBefore posting to an artifact comment thread, Claude Code re-reads it; if a Claude reply already stands after every \"sent to Claude\" request, the reply is refused and the draft discarded rather than repeating itself. A new `acknowledge_duplicate: true` parameter forces the post through, and the prompts now tell Claude to set it when posting a promised follow-up that genuinely adds something.\n\n**Details**\n\n- The refusal returns `already_answered: true` plus an optional `standing_reply_id`, and logs `already_answered_guard`.\n- `acknowledge_duplicate` is valid only for the `reply` action and errors on any other action.\n- The auto-react path passes a `recheck` payload (its own reply ids plus the scanned row ids) into each post so the guard can re-verify at publish time; the payload is omitted when the list of own reply ids is known to be incomplete, and that path reports `answered_post_time` when it stops.\n\n**Evidence**\n\n`reply only: post even though a Claude reply already stands after every \"sent to Claude\" request on the thread. Without it such a reply is refused as a likely duplicate. Pass true only for a deliberate follow-up that adds something new \u2014 never to restate what the standing reply said.`, `already_answered_guard`, `acknowledge_duplicate`, `acknowledge_duplicate` applies only to action \"reply\"`\n\n- Area: Artifacts\n- Names: `acknowledge_duplicate`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}