[DOCS] Agent SDK TodoWrite docs still require `activeForm` after v2.1.69 made it optional for task creation
Documentation Type
Incorrect/outdated documentation
Documentation Location
https://code.claude.com/docs/en/headless
Section/Topic
Todo/task creation input schema in Agent SDK docs (activeForm requirement).
Current Documentation
Platform Agent SDK docs still show activeForm as required in TodoWrite inputs:
type TodoWriteInput = { todos: Array<{ content: string; status: "pending" | "in_progress" | "completed"; activeForm: string; }>; };
And Python docs similarly show:
"activeForm": str, # Active form of the description
What's Wrong or Missing?
Changelog v2.1.69 says task creation no longer requires activeForm and now falls back to task subject text.
Current SDK docs still imply activeForm is required, which is outdated and can cause unnecessary validation requirements in client code.
Suggested Improvement
Update Agent SDK docs to:
- Mark
activeFormas optional for task creation input - Document fallback behavior when
activeFormis omitted - Keep output examples explicit about when
activeFormis present
Impact
Medium - Makes feature difficult to understand
Additional Context
Affected Pages:
| Page | Context |
|------|---------|
| https://code.claude.com/docs/en/headless | Primary documentation location for CLI Agent SDK usage |
| https://platform.claude.com/docs/en/agent-sdk/typescript | Agent SDK cross-reference: TodoWrite schema currently shows activeForm as required |
| https://platform.claude.com/docs/en/agent-sdk/python | Agent SDK cross-reference: Python TodoWrite input examples still imply required activeForm |
| https://platform.claude.com/docs/en/agent-sdk/todo-tracking | Agent SDK cross-reference: examples and guidance should align with optional activeForm semantics |
Total scope: 4 pages affected
Source: Changelog v2.1.69
Exact changelog entry:
[SDK] Changed task creation to no longer require the activeForm field — the spinner falls back to the task subjectThis issue has 5 comments on GitHub. Read the full discussion on GitHub ↗