{"version":"2.1.281","anchor":"artifact-publish-per-file-precondition-conflicts-precondit","canonical_anchor":"artifact-publish-per-file-precondition-conflicts-precondit","heading":"Artifact publish: per-file precondition conflicts (precondition_failed)","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/artifact-publish-per-file-precondition-conflicts-precondit","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Artifact publish: per-file precondition conflicts (precondition_failed)\n\nArtifact patch publishes can send per-file checks, and a conflict now reports which files differ from what was expected\n\n**Unclear.** The finding does not say what the extra upload parameter does.\n\n**What**\n\nWhen Claude Code publishes changes to an artifact as a patch (only the changed parts), it can now send a precondition for each file. A precondition is a check saying \"only apply this if the file still looks the way I expect.\"\n\nIf the server refuses with a conflict (HTTP status 409) and the reason `precondition_failed`, Claude Code now works out which files caused it. For each conflicting path it records:\n\n- the expected sha256, a fingerprint of the file contents Claude Code thought was there\n\n- the actual sha256, the fingerprint of what the server really had\n\nThe conflicting paths are also reported in usage data as `conflict_paths`. Upload calls take one extra parameter as well.\n\n**Why**\n\nA failed publish can now name the exact files that changed underneath it, instead of failing as a whole with no detail. This makes it easier to see which files someone else edited in the meantime."}