{"version":"2.1.119","anchor":"sdk-enhancements","canonical_anchor":"sdk-enhancements","heading":"SDK Enhancements","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.119\/e\/sdk-enhancements","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.119","markdown":"### SDK Enhancements\n\nSeveral new options are available for the Agent SDK:\n\n- `askUserQuestion.previewFormat` exposed via `CLAUDE_CODE_QUESTION_PREVIEW_FORMAT` env var\n- `canUseTool` callback for dynamic tool permission decisions (mutually exclusive with `permissionPromptToolName`)\n- `getOAuthToken` callback for custom OAuth token provision\n- Input\/output validation with structured error messages: \"Input validation error: Invalid arguments for tool\" \/ \"Output validation error: Invalid structured content for tool\"\n- Tool annotations support via Zod schemas\n- `taskSupport` for tools: `\"required\"` (needs task augmentation) vs `\"forbidden\"` (must use `registerTool()` instead)\n\n**Evidence**\n\nSDK enhancements (search for `\"CLAUDE_CODE_QUESTION_PREVIEW_FORMAT\"`, `\"canUseTool callback\"`, `\"Output validation error\"`)"}