The TODO list feature enables Kiro to automatically create and modify task lists, while providing you with commands to view and manage existing TODO lists.
TODO lists are automatically created when Kiro breaks down complex tasks. You can then manage these lists using the /todo command.
kiro-cli settings chat.enableTodoList true
/todo view # View existing TODO lists /todo resume # Resume a TODO list
Kiro automatically creates TODO lists when:
- You ask for help with multi-step tasks
- A complex problem needs to be broken down
- You explicitly request a TODO list
Example:
> Make a todo list with 3 read-only tasks. I'll create a todo list with 3 read-only tasks for you. 🛠️ Using tool: todo_list (trusted) ⋮ ● TODO: [ ] Review project documentation [ ] Check system status [ ] Read latest updates ⋮ ● Completed in 0.4s
Kiro can:
- Create TODO lists
- Mark tasks as complete
- Add/remove tasks
- Load TODO lists by ID
- Search for existing TODO lists
You can:
- View TODO lists
- Resume TODO lists
- Delete TODO lists
Display and select a TODO list to view its contents, showing task descriptions and completion status.
/todo view
Interactive selection shows:
- ✓ Completed lists (green checkmark)
- ✗ In-progress lists with completion count (red X with progress)
Example:
> /todo view ? Select a to-do list to view: › ❯ ✗ Unfinished todo list (0/3) ✔ Completed todo list (3/3)
Show an interactive menu of available TODO lists with their current progress status. Selecting a list loads it back into your chat session, allowing Kiro to continue where it left off.
/todo resume
Example:
> /todo resume ⟳ Resuming: Read-only tasks for information gathering 🛠️ Using tool: todo (trusted) ⋮ ● TODO: [x] Review project documentation [ ] Check system status [ ] Read latest updates ⋮ ● Completed in 0.1s
Remove all completed TODO lists from storage. This helps clean up your workspace by removing lists where all tasks have been completed.
/todo clear-finished
Delete specific TODO lists or all lists at once.
/todo delete # Interactive selection to delete one list /todo delete --all # Delete all TODO lists
Options:
--all- Delete all TODO lists without interactive selection
TODO lists are persisted across sessions
Each list is saved as a JSON file with:
- Unique timestamp-based ID
- Task descriptions and completion status
- Context updates from completed tasks
- Modified file paths
- Overall list description
my-project/ ├── .kiro/ │ └── cli-todo-lists/ │ ├── 1234567890-task-list.json │ └── 1234567891-another-list.json └── src/ └── main.py
All commands use interactive selection allowing you to:
- Navigate with arrow keys
- Press Enter to select
- Press Esc to cancel
> I need to migrate our database from MySQL to PostgreSQL Let me create a TODO list for this migration: 🛠️ Using tool: todo ● TODO: Database Migration [ ] Backup current MySQL database [ ] Set up PostgreSQL instance [ ] Create schema migration scripts [ ] Test migration on staging [ ] Perform production migration [ ] Verify data integrity
> Help me implement user authentication I'll break this down into manageable steps: 🛠️ Using tool: todo ● TODO: User Authentication Implementation [ ] Set up authentication library [ ] Create user model and database schema [ ] Implement registration endpoint [ ] Implement login endpoint [ ] Add password hashing [ ] Create JWT token generation [ ] Add authentication middleware [ ] Write tests for auth flow
> /todo resume ? Select a to-do list to resume: › ❯ ✗ User Authentication Implementation (3/8) ✗ Database Migration (1/6) ✔ Code Refactoring (5/5) # Select "User Authentication Implementation" ⟳ Resuming: User Authentication Implementation Let's continue with the authentication implementation. We've completed the first 3 tasks. Next up is implementing the login endpoint...
- Use
clear-finishedregularly to remove completed lists - Resume lists to continue complex multi-step tasks
- Check
viewto see progress without resuming
- Let Kiro create TODO lists for complex tasks automatically
- Use
resumeto pick up where you left off in previous sessions - Check
viewto see what tasks remain before resuming work
- Work in project directories where TODO lists are relevant
- Complete tasks in order for better context
- Delete old lists when no longer needed
- Cannot manually edit TODO list files
- Cannot merge or split TODO lists
- Cannot reorder tasks after creation
If task completion isn't being tracked:
- Ensure TODO list is active: Resume the list first
- Let Kiro mark tasks: Don't manually edit JSON files
- Check for errors: Look for error messages in chat
The todo tool is for Kiro to call. Kiro can:
- Create TODO lists
- Mark tasks as complete
- Add/remove tasks
- Load TODO lists with given ID
- Search for existing TODO lists
The /todo command is for you to manage existing TODO lists. You can:
- View TODO lists
- Resume TODO lists
- Delete TODO lists
- Clear finished lists
> I need to set up CI/CD for our project
🛠️ Using tool: todo_list ● TODO: CI/CD Setup [ ] Choose CI/CD platform [ ] Create pipeline configuration [ ] Set up build stage [ ] Add test stage [ ] Configure deployment stage [ ] Set up environment variables [ ] Test pipeline
Kiro works through tasks, marking them complete as you go.
> /todo resume ? Select a to-do list to resume: › ❯ ✗ CI/CD Setup (4/7) # Continue where you left off
> /todo clear-finished
TODO lists