← Claude Docs

Todo Lists - Claude Code Docs

Claude Docs · May 5, 2026
The Claude Agent SDK includes built-in todo functionality that provides a structured way to manage tasks and display progress in complex workflows. Todos follow a predictable lifecycle from pending to in_progress to completed and removed states, and are automatically created by the SDK for multi-step tasks requiring three or more actions, user-provided task lists, non-trivial operations, and explicit user requests.

Detailed Analysis

Claude Code's Agent SDK incorporates a native todo tracking system designed to manage task progression in structured, transparent workflows. According to the documentation, todos move through a defined lifecycle consisting of four states: pending (when tasks are first identified), in_progress (when active work begins), completed (upon successful task conclusion), and removed (once all tasks within a group are finished). This lifecycle is deterministic and sequential, ensuring that users and downstream systems can reliably interpret the state of any ongoing operation without ambiguity. The framework is surfaced across both TypeScript and Python SDK implementations, and its behavior differs depending on whether the agent is operating in streaming or single-response mode.

The SDK's todo system is designed to activate automatically under specific conditions rather than requiring explicit developer instrumentation for every use case. The documentation identifies four primary triggers: complex multi-step tasks requiring three or more distinct actions, user-provided task lists mentioning multiple items, non-trivial operations that benefit from progress visibility, and explicit user requests for todo-style organization. This conditional activation reflects a deliberate design philosophy — the SDK attempts to infer when structured tracking adds value rather than imposing overhead uniformly across all interactions. The mention of "real-time progress display" as a feature suggests the system is built for agentic contexts where tasks may run for extended durations and users require meaningful feedback during execution.

The inclusion of built-in todo management in the Claude Agent SDK is significant in the broader context of Anthropic's push toward long-horizon agentic AI systems. Traditional LLM interfaces are stateless and interaction-bound, but multi-step agentic workflows demand persistent task state, recoverable progress, and clear human-readable status signals. By embedding todo tracking at the SDK level rather than leaving it to application developers, Anthropic reduces implementation friction and encourages a standardized pattern for task visibility. This aligns with the broader industry trend of AI providers moving up the stack — from raw model APIs toward opinionated frameworks that encode best practices for reliability, observability, and user trust directly into the tooling layer.

The todo system also represents a user experience consideration as much as a technical one. Long-running AI agents that operate without feedback create uncertainty for users, who cannot easily determine whether the system is functioning, stalled, or approaching completion. Structured todo lists address this by transforming opaque computation into legible progress milestones. This is particularly relevant as AI agents are increasingly deployed in enterprise and productivity contexts — such as through the Claude Code developer tool — where accountability and auditability are not optional. The integration of custom tools alongside the todo system further suggests that Anthropic intends for developers to extend and compose these primitives into domain-specific workflows, positioning the SDK as a foundational layer for an ecosystem of agentic applications rather than a closed, prescriptive runtime.

Read original article →