{"version":"2.1.268","anchor":"artifact-read-permission-denial-path-unified-across-list-fil","canonical_anchor":"artifact-read-permission-denial-path-unified-across-list-fil","heading":"Artifact read-permission denial path unified across list_files\/read_file\/verify\/read actions","tier":"internal","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.268\/e\/artifact-read-permission-denial-path-unified-across-list-fil","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.268","markdown":"### Artifact read-permission denial path unified across list_files\/read_file\/verify\/read actions\n\nArtifact read-permission errors now use the same wording across list_files, read_file, verify, and read actions\n\n**What**\n\nPreviously, the `list_files` and `read_file` artifact actions produced a different error message when blocked by a read-permission deny rule than the `verify` and `read` actions did. Now all four actions route through the same shared error-handling logic, so a blocked read produces the same denial or target-changed message no matter which action triggered it.\n\n**Why**\n\nThis makes the behavior consistent and predictable: whichever way an artifact read is blocked, the resulting error message is now the same across the board.\n\n- Area: Artifacts\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}