TodoWriteTool:待办清单
2026/8/2 14:50:28 · 来源
#state-management#skill#todo#task-management#claudes-code
`TodoWriteTool` is a lightweight task management tool in Claude Code that explicitly tracks session-level work through AppState updates, automatically cleans completed tasks and triggers verification prompts for complex workflows.
它不是普通 checklist,而是会话内任务外显
TodoWriteTool 是 Claude Code 经典的轻量任务管理工具。
它的作用不是替代正式任务系统,而是让模型在当前会话里把工作拆成一串可见的 todo。
你可以把它理解成:
TodoWriteTool:轻量、会话内、快速追踪TaskCreateTool系列:结构化、正式任务系统
关键源码
tools/TodoWriteTool/TodoWriteTool.ts:
const inputSchema = z.strictObject({
todos: TodoListSchema().describe('The updated todo list'),
})
而真正的状态写回是:
context.setAppState(prev => ({
...prev,
todos: {
...prev.todos,
[todoKey]: newTodos,
},
}))
这说明它本质上是一个 AppState 写入工具。
调用链
模型拆分当前工作 > TodoWriteTool > 更新 AppState.todos > UI 展示清单 > 模型按清单推进下一步
实现重点
它有两个很有意思的设计:
- 所有 todo 都完成时,会直接把列表清空
- 如果结束的是一个 3 项以上的复杂任务,而且没有验证步骤,会提醒生成 verification nudge
源码里这段很关键:
if (
allDone &&
todos.length >= 3 &&
!todos.some(t => /verif/i.test(t.content))
) {
verificationNudgeNeeded = true
}
这说明它并不只是“写清单”,还会在任务收尾时推动更严谨的验证。
一次典型使用路径
- 用户给一个中等复杂任务
- 模型先写 3-5 个 todo
- 每做完一项就更新状态
- 最后一项关闭时,如果没有验证,会被提醒补验证
它和相邻工具的关系
TodoWriteTool > 会话内轻量任务追踪
TaskCreate/Update/List > 正式任务系统
小结
TodoWriteTool 的价值是:
用最低成本把模型当前计划显式化,并把“做完就清单消失、复杂任务别忘验证”这种流程约束接进会话状态。
学习地图
应用能力培养
- 基础层:理解任务分解的核心理念,掌握轻量级跟踪与会话状态维护的实践方式
- 中级层:通过
TodoWriteTool实现动态任务视图的构建和状态管理逻辑 - 高级层:将待办工具集成进复杂工作流,并在关键节点添加验证机制的系统性思维
动手实践——分步指南
- 环境准备:确保Claude Code已部署并具备开发环境
- 创建TodoWriteTool实例:
import { TodoWriteTool } from 'claudes-code/tools'; const todoTool = new TodoWriteTool(); - 任务创建与维护:
- 调用
todoTool.addTask('Implement UI') - 每项完成后调用
todoTool.complete('UI Task')
- 调用
- 完成验证提示设置:
- 修改配置使工具在完成5+任务时不自动清理
- 添加自定义验证条件
- 验证流程测试:执行完整任务流,观察待办消失与验证提示触发时机
三大推荐资源
- 1
- 2
- 3
链接由 AI 推荐——使用前建议快速核实。