{"version":"2.1.274","anchor":"cli-too-old-failure-now-emits-structured-json-in-stream-json","canonical_anchor":"cli-too-old-failure-now-emits-structured-json-in-stream-json","heading":"CLI-too-old failure now emits structured JSON in stream-json\/SDK mode","tier":"internal","area":"SDK","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.274\/e\/cli-too-old-failure-now-emits-structured-json-in-stream-json","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.274","markdown":"### CLI-too-old failure now emits structured JSON in stream-json\/SDK mode\n\nVersion-mismatch startup failures now return structured JSON for SDK-driven sessions\n\n**What**\n\nWhen Claude Code's CLI is too old to talk to a newer workspace or server, and it's running with `--output-format stream-json` plus `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` set, the version-mismatch failure is now emitted as a structured JSON result object with `startup_failure_reason: 'cli_version_too_old'`, instead of only printing a human-readable error to the console before exiting.\n\n**Why**\n\nTools and SDKs that drive Claude Code programmatically can now detect and handle this specific failure reason directly from the output stream, rather than having to parse plain-text error messages.\n\n- Area: SDK\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}