{"version":"2.1.292","anchor":"artifact-deploy-later-sends-fail-with-clearer-errors","canonical_anchor":"artifact-deploy-later-sends-fail-with-clearer-errors","heading":"Artifact publishing gains a frame-routed content fetch and clearer gateway errors","tier":"notice","area":"Artifacts","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292\/e\/artifact-deploy-later-sends-fail-with-clearer-errors","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292","markdown":"### Artifact publishing gains a frame-routed content fetch and clearer gateway errors\n\nArtifact deploys can fetch content through a frame route with retries, and failed later sends now give a clearer cloud gateway error\n\n**What**\n\nArtifacts are files or pages Claude can publish for you. Publishing them changed in two connected ways:\n\n- New helpers fetch artifact content from `\/api\/frame\/content\/...` with an `x-frame-asset-token` header. They retry on 429 and 503 errors and accept the response only when `x-frame-content-route` is \"served\".\n\n- This path is used when `contentVia === \"frame\"` and is skipped when `CLAUDE_CODE_REMOTE` is set.\n\n- The deploy function takes a new flag. When a later send of a publish is cancelled or the cloud session's gateway fails, it now reports 'a later send of this publish could not go through the cloud session's gateway'. Before, failures only said 'relay request failed' or 'deploy request failed'.\n\n- The relay code now uses a shared helper for working out content types, which used to be defined locally.\n\n**Why**\n\nWhen publishing an artifact from a cloud session fails part way, the message now says where it went wrong. Busy or briefly unavailable servers are retried instead of failing straight away.\n\n- Area: Artifacts\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}