Skip to main content

Task Todo List

Keep your tasks on track with integrated todo management that helps you stay organized and focused on your development goals. Task Todo Lists provide interactive, persistent checklists that track your progress through complex, multi-step workflows directly within the chat interface.

Task Todo List overview showing interactive checklist in Roo Code
Todo List Triggers

Todo lists are automatically created for complex tasks, multi-step workflows, or when using Architect mode. You can also manually trigger them by asking Roo to "use the update_todo_list tool" or "create a todo list".

See When Roo Creates Todo Lists for detailed information about automatic and manual triggers.



Use Case

Before: Manually tracking steps for a complex task in your head or a separate notes file, making it easy to lose track of progress and next steps.

With Task Todo Lists: Roo Code automatically creates and manages a structured checklist embedded in the conversation. You can see the status of each item, watch as the AI marks items complete, and provide feedback when Roo presents updates for approval.


How It Works

The Task Todo List feature is powered by the update_todo_list tool, which enables dynamic task management within the chat interface.

When Roo Creates Todo Lists

Roo creates todo lists through both automatic detection and manual requests:

  • Task complexity detected - Multiple steps, phases, or dependencies identified in your request
  • Working in Architect mode - Always creates todo lists as the primary planning tool for structuring work
  • Direct tool request - Say "use the update_todo_list tool" or "please use update_todo_list"

Remember: Even when manually triggered, Roo maintains control over the todo list content and workflow. You provide feedback during approval dialogs, but Roo manages the list based on task needs.

Display and Interaction

Todo lists appear in multiple places:

  1. Task Header Summary: A compact, read-only display showing progress and the next important item via the TodoListDisplay component

    Task header summary showing todo list progress
  2. Interactive Tool Block: An interface within the chat via the UpdateTodoListToolBlock component that allows you to:

    • View all todo items with their current status
    • Click the "Edit" button to enter edit mode where you can:
      • Modify task descriptions directly
      • Change task status using dropdown selectors
      • Delete tasks with the × button
      • Add new tasks with the "+ Add Todo" button
    • Stage changes that are applied when Roo next updates the list
    • View the progression as Roo manages the todo workflow
    Interactive todo list tool block in chat
  3. Environment Details: Todo lists appear as a "REMINDERS" table in the environment_details section, giving the AI persistent access to current todo state.

Expanded Todo View

Click the todo summary in the task header to expand/collapse an inline list of all todo items. When expanded, Roo auto-scrolls the list to the current in-progress item (or the first incomplete item).

Understanding Task Status

Roo Code automatically manages status progression based on task progress. Each todo item has one of three states:

Pending: Dashed square icon, indicating the task hasn’t been started yet

In Progress: Arrow icon (highlighted), showing the task is currently being worked on

Completed: Check icon, confirming the task is finished

Editing Todo Lists During Approval

When Roo presents a todo list update for approval, you have full control through the Edit mode:

  1. Click "Edit" to enter edit mode
  2. Make your changes:
    • Edit task descriptions inline
    • Change status using the dropdown menu (Pending/In Progress/Completed)
    • Remove tasks with the × button
    • Add new tasks with the "+ Add Todo" button at the bottom
  3. Save or Cancel your changes
  4. Approve or Reject the overall update

Note: Edits you make in the approval UI are sent back immediately and will be applied if you approve the update.


FAQ

"Can I create my own todo lists?" Yes, you can manually trigger todo list creation by asking Roo to "use the update_todo_list tool" or "create a todo list". However, Roo maintains control over the todo list content and workflow - you provide feedback during approval dialogs, but Roo manages the list based on task needs.

"Can I use todo lists for simple tasks?" Roo Code typically only creates todo lists for complex, multi-step tasks where they provide clear value. For simple tasks, the overhead of list management isn't necessary.

"Why can't I directly control the todo list?" This is an architectural design decision where Roo Code maintains authority over task management. You provide guidance and feedback, but Roo controls the workflow to ensure consistent task progression and accurate status tracking.


Configuration

Disabling Todo Lists

Todo-related behavior can be influenced by settings such as roo-cline.newTaskRequireTodos and roo-cline.preventCompletionWithOpenTodos.