{"version":"2.1.295","anchor":"sdk-spawns-cli-with-flagvalue-form-and-guards-values-st","canonical_anchor":"sdk-spawns-cli-with-flagvalue-form-and-guards-values-st","heading":"Agent SDK passes options so values starting with a dash are not misread","tier":"notice","area":"SDK","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.295\/e\/sdk-spawns-cli-with-flagvalue-form-and-guards-values-st","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.295","markdown":"### Agent SDK passes options so values starting with a dash are not misread\n\nThe Agent SDK now passes many options as `--flag=value`, so a value starting with a dash is no longer mistaken for another flag\n\n**What**\n\nThe Agent SDK is the library that lets you run Claude Code from your own code. It starts the `claude` program with a list of options, called flags. It now passes many of those flags with the value joined on, such as `--thinking=adaptive`, instead of as two separate pieces. For flags including `--model`, `--max-turns`, `--effort`, `--mcp-config` and `--managed-settings`:\n\n- A value longer than one character that starts with `-` is joined to its flag, as in `--max-turns=-1`.\n\n- Any other value is still passed as a separate piece.\n\nAn empty `--tools` list is now passed as `--tools=` instead of `--tools ''`.\n\n**Why**\n\nA value such as a negative number or a string starting with a dash could be mistaken for a separate flag. That can no longer happen. If you wrap or inspect the `claude` command the SDK runs, expect both spellings.\n\n- Area: SDK\n- Names: `--model`, `--effort`, `--mcp-config`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}