- Create and manage a list of subtasks for complex requests
- Displays ordered todo items with status and optional note to the user

## When to use

Use FREQUENTLY to plan and track multi-step tasks:

1. Create a plan with ordered steps at the start of complex tasks.
2. Mark steps as `in_progress` when starting them.
3. Mark steps as `completed` immediately after finishing each one — do not batch multiple completions.
4. The plan is automatically displayed to the user; do not repeat it in your response.

Skip this tool for trivial single-step requests. Use it whenever a task has 2+ distinct steps, risks scope drift, or would benefit from visible progress.

## Usage tips

- Keep descriptions concise, imperative verbs (e.g. "Add auth middleware", not "I will add the auth middleware").
- Update the todos whenever scope changes or new tasks emerge.
- Mark items `completed` as soon as each one is done — not at the end of the whole task.

## Examples

<example>
user: Run the build and fix any type errors
assistant:
[calls update_todos with:
  - Run the build
  - Fix any type errors]

[runs build; discovers 10 type errors]
[calls update_todos to expand into 10 numbered fix items]
[marks item 1 in_progress, fixes it, marks completed]
[...continues through all items]
</example>

<example>
user: Help me add a usage metrics tracking feature with export to multiple formats
assistant:
[calls update_todos with:
  1. Research existing metrics tracking in the codebase
  2. Design the metrics collection system
  3. Implement core metrics tracking
  4. Create export for different formats]

[marks item 1 in_progress, searches codebase...]
[finishes research, marks item 1 completed, marks item 2 in_progress...]
</example>
