{"version":"2.1.318","anchor":"headless-startup-failure-result-now-always-written-for-three","canonical_anchor":"headless-startup-failure-result-now-always-written-for-three","heading":"Three organization and config startup failures now always report a result","tier":"notice","area":"Headless Mode","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.318\/e\/headless-startup-failure-result-now-always-written-for-three","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.318","markdown":"### Three organization and config startup failures now always report a result\n\nEvery stream-json run now writes a startup-failure result for three org and config failures, without needing an opt-in variable\n\n**What**\n\nStream-json is the output format programs use when they run Claude Code without a person at the keyboard. When such a run fails at startup, it can write a result explaining why. Before, that result was only written when the host set `CLAUDE_CODE_STARTUP_FAILURE_RESULTS`. Three reasons are now written by every stream-json run:\n\n- `org_config_required_unavailable`\n\n- `org_config_refused`\n\n- `config_file_invalid`\n\nAll other startup failures still need `CLAUDE_CODE_STARTUP_FAILURE_RESULTS`.\n\n**Why**\n\nPrograms that run Claude Code get a structured error for these organization and configuration problems without opting in, so they can react to them rather than seeing a run end with no explanation.\n\n- Area: Headless Mode\n- Names: `CLAUDE_CODE_STARTUP_FAILURE_RESULTS`, `stream-json`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}