What
When Claude Code combines options passed through the SDK (the kit for driving Claude Code from your own program):
disallowedToolsis now read alongsideallowedTools- The check that
maxThinkingTokensis a whole number now looks at the value you passed, not a different one
Why
Tools you list in disallowedTools are picked up in this step, and an invalid maxThinkingTokens value is checked against what you actually supplied.
Names in the bundledisallowedToolsmaxThinkingTokens
Documented inclaude-code/agent-sdk/typescript
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Confirmed since
Anthropic's documentation has since written up disallowedTools, on Create custom subagents.
* **[Frontmatter fields](#supported-frontmatter-fields)**: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd`…sub-agents see the edit
Confirmed since
Anthropic's documentation has since written up maxThinkingTokens, on Agent SDK reference - TypeScript.
| `claimed` | Resolves with the session's working directory and ID once Claude Code accepts the claim. Rejects when Claude Code refuses the claim, when the process exited or was closed first, and, with a message that starts with `option_no…agent-sdk/typescript see the edit
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agrees
Anthropic's documentation has since written up maxThinkingTokens, on Agent SDK reference - TypeScript.