{"version":"2.1.281","anchor":"sdk-local-command-messages-now-carry-a-commandoutcome-faile","canonical_anchor":"sdk-local-command-messages-now-carry-a-commandoutcome-faile","heading":"SDK local-command messages now carry a commandOutcome (failed \/ unavailable_headless \/ ...)","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/sdk-local-command-messages-now-carry-a-commandoutcome-faile","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### SDK local-command messages now carry a commandOutcome (failed \/ unavailable_headless \/ ...)\n\nSDK results for local slash commands now include a `commandOutcome` saying whether the command failed or was unavailable\n\n**What**\n\nThe SDK is the kit that lets other programs drive Claude Code. Slash commands are commands typed with a leading `\/`. When a slash command runs locally, its result message now carries a `commandOutcome` field next to `commandRun`. The outcome has one of these kinds, and can also carry an optional suggestion:\n\n- `failed`: set when the command wrote error output.\n\n- `unavailable_headless`: set when the command cannot run in headless mode, meaning without the interactive screen.\n\n- `unknown`\n\n- `restart_required`\n\nThe field is sent in the SDK stream and read back from `local_command_outcome`.\n\n**Why**\n\nA program using the SDK can now tell a failed or unavailable command apart from one that worked, without parsing the output text."}