Skip to content

Commit 09306cb

Browse files
committed
🤖 fix: Remove premature commitment from todo_write description
1 parent 033eccc commit 09306cb

File tree

1 file changed

+6
-15
lines changed

1 file changed

+6
-15
lines changed

src/utils/tools/toolDefinitions.ts

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -144,26 +144,17 @@ export const TOOL_DEFINITIONS = {
144144
todo_write: {
145145
description:
146146
"Create or update the todo list for tracking multi-step tasks (limit: 7 items). " +
147-
"Use this for ALL complex, multi-step plans to keep the user informed of progress. " +
148-
"Replace the entire list on each call - the AI should track which tasks are completed. " +
149-
"\n\n" +
150-
"Structure the list with high precision at the center:\n" +
151-
"- Old completed work: Summarize into 1 overview item (e.g., 'Set up project infrastructure (4 tasks)')\n" +
152-
"- Recent completions: Keep detailed (last 1-2 items)\n" +
153-
"- Current work: One in_progress item with clear description\n" +
154-
"- Immediate next steps: Detailed pending items (next 2-3 actions)\n" +
155-
"- Far future work: Summarize into phase items (e.g., 'Testing and polish (3 items)')\n" +
147+
"The TODO list is prominently displayed to the user at the bottom of the chat. " +
148+
"Replace the entire list on each call - the AI tracks which tasks are completed.\n" +
156149
"\n" +
157-
"Update frequently as work progresses. As tasks complete, older completions should be " +
158-
"condensed to make room. Similarly, summarized future work expands into detailed items " +
159-
"as it becomes immediate. " +
160-
"\n\n" +
161150
"Mark ONE task as in_progress at a time. " +
162151
"Order tasks as: completed first, then in_progress (max 1), then pending last. " +
163-
"Before finishing your response, ensure all todos are marked as completed. " +
164152
"Use appropriate tense in content: past tense for completed (e.g., 'Added tests'), " +
165153
"present progressive for in_progress (e.g., 'Adding tests'), " +
166-
"and imperative/infinitive for pending (e.g., 'Add tests').",
154+
"and imperative/infinitive for pending (e.g., 'Add tests').\n" +
155+
"\n" +
156+
"Update the list as work progresses. If work fails or the approach changes, update " +
157+
"the list to reflect reality - only mark tasks complete when they actually succeed.",
167158
schema: z.object({
168159
todos: z.array(
169160
z.object({

0 commit comments

Comments
 (0)