{"version":"2.1.296","anchor":"task-failures-carry-failurekind","canonical_anchor":"task-failures-carry-failurekind","heading":"SDK task messages carry a failure kind and have paths and errors scrubbed","tier":"notice","area":"Task List","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/task-failures-carry-failurekind","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### SDK task messages carry a failure kind and have paths and errors scrubbed\n\nTask update and notification messages in the SDK stream now include a `failureKind` and have output paths and raw error text sanitized\n\n**Unclear.** It is not clear exactly where the failure kind appears in these messages.\n\n**What**\n\nWhen Claude Code runs under the SDK (the programming interface other software uses to drive it), it streams system messages about background tasks. This release changes two things about those messages:\n\n- `failureKind`: `task_updated` and task notification messages now pass through a wrapper that adds the task's `failureKind`, so they carry what kind of failure occurred.\n\n- Scrubbing: a new transform blanks `output_file` in `task_notification` messages. It replaces the summaries of failed tasks, and the `error` in a `task_updated` patch, with a sanitized string, falling back to `error`.\n\n**Why**\n\nPrograms reading the SDK stream may get a clearer reason when a task fails, while local file paths and raw error text are kept out of the streamed events. Anything that parsed the old error text or `output_file` value should be checked.\n\n- Area: Task List\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}