{"version":"2.1.323","anchor":"sandbox-settings-passed-via-settings-validated-failure-bl","canonical_anchor":"sandbox-settings-passed-via-settings-validated-failure-bl","heading":"Bad sandbox settings passed with --settings now stop startup","tier":"notice","area":"Sandbox","scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/sandbox-settings-passed-via-settings-validated-failure-bl","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### Bad sandbox settings passed with --settings now stop startup\n\nSandbox settings passed with --settings or the SDK that fail validation are now dropped and reported at startup\n\n**What**\n\nThe sandbox is a restricted environment that limits what commands Claude runs can reach. If the settings you pass with `--settings`, or through the SDK, configure the sandbox but fail validation, none of them apply and Claude Code reports an error when it starts. This sits behind a server-side switch that is on unless it is switched off remotely.\n\nSeparately, if Claude Code cannot read its settings, the sandbox now stays on, and its automatic approval is turned off until the settings can be read. Before, whether the sandbox was on followed the settings alone.\n\n**Why**\n\nA mistake in sandbox settings no longer leaves you running with less protection than you asked for. Check startup errors if Claude Code refuses your settings.\n\n- Flag `tengu_mossy_karp`: Not enough to say (read for one account on one subscription tier against v2.1.323; this account: no value returned, anonymous baseline: no value returned, compiled default: on) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: Sandbox\n- Names: `--settings`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5\n- Scope: both\n- Heads-up: yes"}