{"version":"2.1.284","anchor":"malformed-image-blocks-become-a-text-placeholder-instead-of","canonical_anchor":"malformed-image-blocks-become-a-text-placeholder-instead-of","heading":"A broken image in a prompt no longer crashes the turn","tier":"notice","area":"Images","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.284\/e\/malformed-image-blocks-become-a-text-placeholder-instead-of","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.284","markdown":"### A broken image in a prompt no longer crashes the turn\n\nA malformed image in a submitted prompt is replaced by a short text note saying it could not be processed, instead of causing an error\n\n**Unclear.** It is not known whether images arriving by other routes than prompt submission get the same check.\n\n**What**\n\nWhen a prompt includes an image, Claude Code now checks the image before resizing it. If the image is malformed, it is replaced with a text note reading \"[Image could not be processed: ...]\" and the turn carries on. This covers an image that:\n\n- has no source data attached\n\n- has source data that is not in the expected form\n\n- has a file type that is not written as text\n\n- contains data that cannot be decoded\n\n- fails during resizing\n\nBefore, most of these cases stopped the turn with an error.\n\n**Why**\n\nThis matters most for programs that drive Claude Code and send it messages directly, for example through the SDK (the toolkit developers use to build on Claude Code). A bad image block from such a program now costs one image rather than the whole turn.\n\n- Area: Images\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 1\/5"}