What
The documentation for the initialize response used by SDK and control-protocol clients now states that the pending-request lists for request_user_dialog and can_use_tool are always present, even if empty, as of Claude Code v2.1.268 or later.
Why
This lets SDK clients reliably tell the difference between an older CLI version that could simply omit the field and a newer one reporting that nothing is currently pending.
Names in the bundlerequest_user_dialogcan_use_tool
Documented inapi/managed-agents/migration
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.
Added since
A small documentation edit on Agent SDK reference - Python touched a line naming can_use_tool after this was published.
| `allowed_tools` | `list[str]` | `[]` | Tools to auto-approve without prompting, apart from reads from [network paths](/docs/en/permissions#network-paths). This does not restrict Claude to only these tools. If you name one of the [task-tr…agent-sdk/python see the edit
Confirmed since
Anthropic's documentation has since written up can_use_tool, on Agent SDK reference - Python.
| `allowed_tools` | `list[str]` | `[]` | Tools to auto-approve without prompting. This does not restrict Claude to only these tools. If you name one of the [task-tracking tools](/docs/en/agent-sdk/todo-tracking#model-availability) here, Cl…agent-sdk/python 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 can_use_tool, on Agent SDK reference - Python.