[DOCS] Agent SDK TodoWrite docs still require `activeForm` after v2.1.69 made it optional for task creation

Open 💬 5 comments Opened Mar 5, 2026 by coygeek

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 activeForm as optional for task creation input
  • Document fallback behavior when activeForm is omitted
  • Keep output examples explicit about when activeForm is 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 subject

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗