SDK docs now guarantee the pending-request lists in the initialize response are always present from v2.1.268 onward
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.
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.
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.
| `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
Anthropic's documentation has since written up can_use_tool, on Agent SDK reference - Python.