diff --git a/.gitignore b/.gitignore
index e236846..888a310 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.release-notes/
# Dependencies
/node_modules
diff --git a/docs/basic-usage/task-todo-list.md b/docs/basic-usage/task-todo-list.md
new file mode 100644
index 0000000..11ebf4e
--- /dev/null
+++ b/docs/basic-usage/task-todo-list.md
@@ -0,0 +1,93 @@
+# Task Todo List
+
+**The big picture**: Never lose track of complex development tasks again. Task Todo Lists create interactive, persistent checklists that live right in your chat interface.
+
+**Why it matters**: Complex workflows have lots of moving parts. Without structure, it's easy to miss steps, duplicate work, or forget what comes next.
+
+
+
+## How to trigger todo lists
+
+**Automatic triggers**:
+- Complex tasks with multiple steps
+- Working in Architect mode
+- Multi-phase workflows with dependencies
+
+**Manual triggers**:
+- Ask Kilo to "use the [update_todo_list tool](/features/tools/update-todo-list)"
+- Say "create a todo list"
+
+**The bottom line**: Kilo decides what goes in the list, but you can provide feedback during approval dialogs.
+
+---
+
+## The old way vs. the new way
+
+**Before**: You juggled task steps in your head or scattered notes, constantly wondering "what's next?"
+
+**Now**: Kilo creates structured checklists that update automatically as work progresses. You see exactly where you are and what's coming up.
+
+---
+
+## Where todo lists appear
+
+**1. Task Header Summary**
+Quick progress overview with your next important item
+
+
+
+**2. Interactive Tool Block**
+Full todo interface in chat where you can:
+- See all items and their status
+- Edit descriptions when Kilo asks for approval
+- Stage changes using the "Edit" button
+
+**3. Environment Details**
+Background "REMINDERS" table that keeps Kilo informed about current progress
+
+## Task status decoded
+
+**Pending** → Empty checkbox (not started)
+
+
+
+---
+
+**In Progress** → Yellow dot (currently working)
+
+
+
+---
+
+**Completed** → Green checkmark (finished)
+
+
+
+---
+
+## Common questions
+
+**"Can I create my own todo lists?"**
+Yes, just ask Kilo to use the update_todo_list tool. But Kilo stays in control of the content and workflow.
+
+**"What about simple tasks?"**
+Kilo typically skips todo lists for simple tasks. The overhead isn't worth it.
+
+**"Why can't I directly edit the list?"**
+Design choice. Kilo maintains authority over task management to ensure consistent progress tracking. You provide input, Kilo executes.
+
+---
+
+:::tip
+
+## Pro tip: Auto-approval
+
+**What it does**: Automatically approves todo list updates without confirmation prompts.
+
+**When to use it**: Long workflows where constant interruptions slow you down.
+
+**How to enable it**: Check the [Update Todo List auto-approval settings](/features/auto-approving-actions#update-todo-list).
+
+**The catch**: Less control, but faster execution.
+
+:::
\ No newline at end of file
diff --git a/docs/features/auto-approving-actions.md b/docs/features/auto-approving-actions.md
index 4c460c0..3d858f3 100644
--- a/docs/features/auto-approving-actions.md
+++ b/docs/features/auto-approving-actions.md
@@ -34,6 +34,8 @@ Click the toolbar to expand it and configure individual permissions:
| **Switch modes** | Changes between Kilo Code modes automatically | Low |
| **Create & complete subtasks** | Manages subtasks without confirmation | Low |
| **Retry failed requests** | Automatically retries failed API requests | Low |
+| **Answer follow-up questions** | Selects default answer for follow-up questions| Low |
+| **Update todo list** | Automatically updates task progress | Low |
## Master Toggle for Quick Control
@@ -222,3 +224,60 @@ This setting allows terminal command execution with controls. While risky, the w
- "Add" button to add new prefixes
- Clickable command buttons with X to remove them
:::
+
+### Follow-Up Questions
+
+:::info Follow-Up Questions (Risk: Low)
+
+**Setting:** `Always default answer for follow-up questions`
+
+**Description:** Automatically selects the first AI-suggested answer for a follow-up question after a configurable timeout. This speeds up your workflow by letting Roo proceed without manual intervention.
+
+**Visual countdown:** When enabled, a countdown timer appears on the first suggestion button, showing the remaining time before auto-selection. The timer is displayed as a circular progress indicator that depletes as time passes.
+
+**Timeout slider:** Use the slider to set the wait time from 1 to 300 seconds (Default: 60s).
+
+**Override options:** You can cancel the auto-selection at any time by:
+- Clicking a different suggestion
+- Editing any suggestion
+- Typing your own response
+- Clicking the timer to pause it
+
+**Risk level:** Low
+
+**Use cases:**
+- Overnight runs where you want Roo to continue working
+- Repetitive tasks where the default suggestions are usually correct
+- Testing workflows where interaction isn't critical
+:::
+
+### Update Todo List
+
+:::info Update Todo List (Risk: Low)
+
+**Setting:** "Always approve todo list updates"
+
+**Description:** "Automatically update the to-do list without requiring approval"
+
+**Risk level:** Low
+
+This setting allows Roo to automatically update task progress and todo lists during work sessions. This includes:
+- Marking tasks as completed
+- Adding new discovered tasks
+- Updating task status (pending, in progress, completed)
+- Reorganizing task priorities
+
+**Benefits:**
+- Maintains real-time task progress visibility
+- Reduces interruptions during multi-step workflows
+- Keeps project status accurately reflected
+- Helps track complex task dependencies
+
+**Use cases:**
+- Long-running development sessions
+- Multi-step refactoring projects
+- Complex debugging workflows
+- Feature implementation with many subtasks
+
+This is particularly useful when combined with the Subtasks permission, as it allows Roo to maintain a complete picture of project progress without constant approval requests.
+:::
diff --git a/docs/features/tools/tool-use-overview.md b/docs/features/tools/tool-use-overview.md
index 7bc9c1c..9783605 100644
--- a/docs/features/tools/tool-use-overview.md
+++ b/docs/features/tools/tool-use-overview.md
@@ -15,7 +15,7 @@ Tools are organized into logical groups based on their functionality:
| **Browser Group** | Web automation | [browser_action](/features/tools/browser-action) | Web testing and interaction |
| **Command Group** | System command execution | [execute_command](/features/tools/execute-command) | Running scripts, building projects |
| **MCP Group** | External tool integration | [use_mcp_tool](/features/tools/use-mcp-tool), [access_mcp_resource](/features/tools/access-mcp-resource) | Specialized functionality through external servers |
-| **Workflow Group** | Mode and task management | [switch_mode](/features/tools/switch-mode), [new_task](/features/tools/new-task), [ask_followup_question](/features/tools/ask-followup-question), [attempt_completion](/features/tools/attempt-completion) | Context switching and task organization |
+| **Workflow Group** | Mode and task management | [switch_mode](/features/tools/switch-mode), [new_task](/features/tools/new-task), [ask_followup_question](/features/tools/ask-followup-question), [attempt_completion](/features/tools/attempt-completion), [update_todo_list](/features/tools/update-todo-list) | Context switching and task organization |
### Always Available Tools
@@ -25,6 +25,7 @@ Certain tools are accessible regardless of the current mode:
- [attempt_completion](/features/tools/attempt-completion): Signal task completion
- [switch_mode](/features/tools/switch-mode): Change operational modes
- [new_task](/features/tools/new-task): Create subtasks
+- [update_todo_list](/features/tools/update-todo-list): Manage step-by-step task tracking
## Available Tools
@@ -65,6 +66,7 @@ These tools help manage the conversation and task flow:
- [attempt_completion](/features/tools/attempt-completion) - Presents final results
- [switch_mode](/features/tools/switch-mode) - Changes to a different mode for specialized tasks
- [new_task](/features/tools/new-task) - Creates a new subtask
+- [update_todo_list](/features/tools/update-todo-list) - Tracks task progress with step-by-step checklists
## Tool Calling Mechanism
@@ -207,6 +209,11 @@ Tools are made available based on the current mode:
[new_task](/features/tools/new-task) → [switch_mode](/features/tools/switch-mode) → [execute_command](/features/tools/execute-command)
```
+4. **Progress Tracking**
+ ```
+ [update_todo_list](/features/tools/update-todo-list) → [execute_command](/features/tools/execute-command) → [update_todo_list](/features/tools/update-todo-list)
+ ```
+
## Error Handling and Recovery
### Error Types
diff --git a/docs/features/tools/update-todo-list.md b/docs/features/tools/update-todo-list.md
new file mode 100644
index 0000000..9fd1e88
--- /dev/null
+++ b/docs/features/tools/update-todo-list.md
@@ -0,0 +1,159 @@
+# update_todo_list
+
+The `update_todo_list` tool replaces the entire TODO list with an updated checklist reflecting the current state. It provides step-by-step task tracking, allowing confirmation of completion before updating and dynamic addition of new todos discovered during complex tasks.
+
+## Parameters
+
+The tool accepts these parameters:
+
+- `todos` (required): A markdown checklist with task descriptions and status indicators
+
+## What It Does
+
+This tool manages a comprehensive TODO list that tracks task progress through different status states. It replaces the entire list with each update, ensuring the current state accurately reflects all pending, in-progress, and completed tasks. The system displays the TODO list as reminders in subsequent messages.
+
+## When is it used?
+
+- When tasks involve multiple steps requiring systematic tracking
+- When new actionable items are discovered during task execution
+- When updating the status of several todos simultaneously
+- When complex projects benefit from clear, stepwise progress tracking
+- When organizing multi-phase workflows with dependencies
+
+## Key Features
+
+- Maintains a single-level markdown checklist with three status states
+- Updates multiple task statuses in a single operation
+- Dynamically adds new todos as they're discovered during execution
+- Provides visual progress tracking through status indicators
+- Integrates with the reminder system for persistent task visibility
+- Supports task reordering based on execution priority
+- Preserves all unfinished tasks unless explicitly removed
+- Enables efficient batch status updates
+
+## Limitations
+
+- Limited to single-level checklists (no nesting or subtasks)
+- Cannot remove tasks unless they're completed or no longer relevant
+- Requires complete list replacement rather than incremental updates
+- Status changes must be explicitly managed through tool calls
+- No built-in task dependency tracking
+- Cannot schedule tasks for future execution
+- Limited to three status states (pending, in-progress, completed)
+
+## Status Indicators
+
+The tool uses three distinct status indicators:
+
+- `[ ]` **Pending**: Task not yet started
+- `[-]` **In Progress**: Task currently being worked on
+- `[x]` **Completed**: Task fully finished with no unresolved issues
+
+## How It Works
+
+When the `update_todo_list` tool is invoked, it follows this process:
+
+1. **Status Validation**:
+ - Parses the markdown checklist format
+ - Validates status indicators are properly formatted
+ - Ensures task descriptions are clear and actionable
+
+2. **List Replacement**:
+ - Completely replaces the existing TODO list
+ - Preserves task order as specified in the update
+ - Maintains task descriptions and status states
+
+3. **Reminder Integration**:
+ - Integrates updated list with the reminder system
+ - Displays current tasks in subsequent message headers
+ - Provides persistent visibility of task progress
+
+4. **Progress Tracking**:
+ - Tracks completion status across multiple updates
+ - Maintains task history for reference
+ - Supports workflow continuation across sessions
+
+## Best Practices
+
+### Task Management Guidelines
+
+- Mark tasks as completed immediately after all work is finished
+- Start the next task by marking it as in-progress
+- Add new todos as soon as they are identified during execution
+- Use clear, descriptive task names that indicate specific actions
+- Order tasks by logical execution sequence or priority
+
+### Status Update Patterns
+
+- Update multiple statuses simultaneously when transitioning between tasks
+- Confirm task completion before marking as finished
+- Keep in-progress tasks focused on current work
+- Add blocking tasks when dependencies are discovered
+
+### When to Use
+
+Use this tool when:
+- The task involves multiple steps or requires ongoing tracking
+- New actionable items are discovered during task execution
+- Multiple todos need status updates simultaneously
+- Complex tasks benefit from clear progress visualization
+
+Avoid using when:
+- There is only a single, trivial task
+- The task can be completed in one or two simple steps
+- The request is purely conversational or informational
+
+## Examples When Used
+
+- When implementing a multi-component feature requiring frontend, backend, and database changes
+- When debugging issues that reveal multiple related problems requiring fixes
+- When setting up development environments with multiple configuration steps
+- When documenting systems that require research, writing, and review phases
+- When refactoring code that affects multiple files and requires testing
+
+## Usage Examples
+
+Initial task breakdown:
+```
+
+
+[-] Analyze requirements and create technical specification
+[ ] Design database schema and API endpoints
+[ ] Implement backend authentication service
+[ ] Create frontend login components
+[ ] Write comprehensive tests
+[ ] Update documentation
+
+
+```
+
+Updating progress and adding discovered tasks:
+```
+
+
+[x] Analyze requirements and create technical specification
+[x] Design database schema and API endpoints
+[-] Implement backend authentication service
+[ ] Create frontend login components
+[ ] Write comprehensive tests
+[ ] Update documentation
+[ ] Add password reset functionality
+[ ] Implement rate limiting for login attempts
+
+
+```
+
+Completing multiple tasks and transitioning focus:
+```
+
+
+[x] Analyze requirements and create technical specification
+[x] Design database schema and API endpoints
+[x] Implement backend authentication service
+[x] Create frontend login components
+[-] Write comprehensive tests
+[ ] Update documentation
+[ ] Add password reset functionality
+[ ] Implement rate limiting for login attempts
+
+
\ No newline at end of file
diff --git a/sidebars.ts b/sidebars.ts
index ce7a5f8..9dfa215 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -28,6 +28,7 @@ const sidebars: SidebarsConfig = {
label: 'Basic Features',
items: [
'basic-usage/orchestrator-mode',
+ 'basic-usage/task-todo-list',
'basic-usage/git-commit-generation',
'features/browser-use',
'features/code-actions',
@@ -159,6 +160,7 @@ const sidebars: SidebarsConfig = {
'features/tools/read-file',
'features/tools/search-files',
'features/tools/switch-mode',
+ 'features/tools/update-todo-list',
'features/tools/use-mcp-tool',
'features/tools/write-to-file',
],
diff --git a/static/img/task-todo-list/complete.png b/static/img/task-todo-list/complete.png
new file mode 100644
index 0000000..3946ce7
Binary files /dev/null and b/static/img/task-todo-list/complete.png differ
diff --git a/static/img/task-todo-list/in-progress.png b/static/img/task-todo-list/in-progress.png
new file mode 100644
index 0000000..e1e7dbf
Binary files /dev/null and b/static/img/task-todo-list/in-progress.png differ
diff --git a/static/img/task-todo-list/not-started.png b/static/img/task-todo-list/not-started.png
new file mode 100644
index 0000000..41001cd
Binary files /dev/null and b/static/img/task-todo-list/not-started.png differ
diff --git a/static/img/task-todo-list/task-header.png b/static/img/task-todo-list/task-header.png
new file mode 100644
index 0000000..96119b3
Binary files /dev/null and b/static/img/task-todo-list/task-header.png differ
diff --git a/static/img/task-todo-list/task-todo-list-1.png b/static/img/task-todo-list/task-todo-list-1.png
new file mode 100644
index 0000000..a5600c9
Binary files /dev/null and b/static/img/task-todo-list/task-todo-list-1.png differ