{"version":"2.1.247","anchor":"artifact-deletion-goes-through-the-relay-and-can-refuse-in-c","canonical_anchor":"artifact-deletion-goes-through-the-relay-and-can-refuse-in-c","heading":"Artifact deletion goes through the relay and can refuse in cloud sessions","tier":"use","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247\/e\/artifact-deletion-goes-through-the-relay-and-can-refuse-in-c","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247","markdown":"### Artifact deletion goes through the relay and can refuse in cloud sessions\n\nArtifact deletion now uses a verified relay route and still needs the delete environment variable.\n\n**What**\n\nDeleting an artifact no longer talks to the frame client directly; it uses a relay-only DELETE route that recognises when the relay is unavailable or not serving this session, verifies that 404s and success statuses really came from the Artifact service rather than an intercepting proxy, and shows a refusal message in cloud sessions that cannot delete. Delete itself still requires the `CLAUDE_CODE_ARTIFACT_DELETE` environment variable or the flag `tengu_cobalt_plinth_alder`, whose fallback is off.\n\n**Details**\n\n- New outcomes handled on the relay leg: `relay-unavailable` and `relay-not-served`.\n- The provenance check means a proxy answering on the service's behalf cannot be read as a completed deletion.\n\n**Evidence**\n\n`Deleting Artifacts isn't available in this cloud session right now`\n\n- Flag `tengu_cobalt_plinth_alder`: Off in both readings (read for one account on one subscription tier against v2.1.247; this account: off, anonymous baseline: off, compiled default: off)\n- Area: Artifacts\n- Names: `CLAUDE_CODE_ARTIFACT_DELETE`, `tengu_cobalt_plinth_alder`\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 3\/5"}