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 Zoo 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 Zoo to "use the update_todo_list tool" or "create a todo list".

See When Zoo 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: Zoo 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 Zoo 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 Zoo Creates Todo Lists

Zoo 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, Zoo maintains control over the todo list content and workflow. You provide feedback during approval dialogs, but Zoo 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 Zoo next updates the list
    • View the progression as Zoo 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. Note: If the todoListEnabled setting is disabled, the reminders section will not appear in environment details.

Expanded Todo View

When you click on the collapsed todo summary in the task header, a floating panel appears with enhanced functionality:

  • Backdrop overlay: Click outside the panel to close it
  • Full todo list display: Shows all todos with their current status indicators
  • Auto-scroll: Automatically scrolls to the current in-progress task
  • Smooth animations: Collapse and expand transitions for better user experience
  • Persistent state: Maintains your scroll position when reopening

Understanding Task Status

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

Pending: Shows an empty circle with a border, indicating the task hasn't been started yet Pending todo item with empty circle

In Progress: Displays a filled yellow circle, showing the task is currently being worked on In progress todo item with yellow circle

Completed: Features a filled green circle, confirming the task is fully finished Completed todo item with green circle

Editing Todo Lists During Approval

When Zoo 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: Your edits are staged and only applied when Zoo processes the next todo list update. This maintains Zoo's control over the workflow while giving you input on task details.


FAQ

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

"Can I use todo lists for simple tasks?" Zoo 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 Zoo Code maintains authority over task management. You provide guidance and feedback, but Zoo controls the workflow to ensure consistent task progression and accurate status tracking.


Configuration

Todo List Settings

Zoo Code provides VS Code settings to control todo list behavior. These settings can be configured in your VS Code settings.json file (Ctrl/Cmd + Shift + P → "Preferences: Open User Settings (JSON)").

Require Todo Lists for New Tasks

Setting: roo-cline.newTaskRequireTodos

  • Type: Boolean
  • Default: false

When enabled, this setting requires a todo list when creating new tasks via boomerang or subtask delegation. This ensures structured planning for complex work by mandating that new tasks include a checklist of steps to complete.

Example configuration:

{
"roo-cline.newTaskRequireTodos": true
}

Prevent Completion with Open Todos

Setting: roo-cline.preventCompletionWithOpenTodos

  • Type: Boolean
  • Default: false

When enabled, this setting prevents task completion when there are uncompleted todo items. Zoo Code will not allow you to mark a task as complete if the todo list still has pending items, ensuring all planned work is finished before closing the task.

Example configuration:

{
"roo-cline.preventCompletionWithOpenTodos": true
}

Disabling Todo Lists

You can disable todo lists entirely through the todoListEnabled setting. When disabled:

  • Zoo will not create todo lists for any tasks
  • The REMINDERS section will not appear in environment details
  • Existing todo lists will remain visible but won't be updated