File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -480,8 +480,8 @@ their corresponding top-level category object in your `settings.json` file.
480480#### ` useWriteTodos `
481481
482482- ** ` useWriteTodos ` ** (boolean):
483- - ** Description:** Enable the write_todos_list tool.
484- - ** Default:** ` false `
483+ - ** Description:** Enable the write_todos tool.
484+ - ** Default:** ` true `
485485
486486#### ` security `
487487
Original file line number Diff line number Diff line change @@ -6,7 +6,8 @@ This document describes the `write_todos` tool for the Gemini CLI.
66
77The ` write_todos ` tool allows the Gemini agent to create and manage a list of
88subtasks for complex user requests. This provides you, the user, with greater
9- visibility into the agent's plan and its current progress.
9+ visibility into the agent's plan and its current progress. It also helps with
10+ alignment where the agent is less likely to lose track of its current goal.
1011
1112### Arguments
1213
@@ -49,8 +50,8 @@ write_todos({
4950
5051## Important notes
5152
52- - ** Enabling:** This tool is disabled by default. To use it, you must enable it
53- in your ` settings.json ` file by setting ` "useWriteTodos": true ` .
53+ - ** Enabling:** This tool is enabled by default. You can disable it in your
54+ ` settings.json ` file by setting ` "useWriteTodos": false ` .
5455
5556- ** Intended Use:** This tool is primarily used by the agent for complex,
5657 multi-turn tasks. It is generally not used for simple, single-turn questions.
Original file line number Diff line number Diff line change @@ -1080,8 +1080,8 @@ const SETTINGS_SCHEMA = {
10801080 label : 'Use Write Todos' ,
10811081 category : 'Advanced' ,
10821082 requiresRestart : false ,
1083- default : false ,
1084- description : 'Enable the write_todos_list tool.' ,
1083+ default : true ,
1084+ description : 'Enable the write_todos tool.' ,
10851085 showInDialog : false ,
10861086 } ,
10871087 security : {
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ const createTodoHistoryItem = (todos: Todo[]): HistoryItem =>
2020 id : '1' ,
2121 tools : [
2222 {
23- name : 'write_todos_list ' ,
23+ name : 'write_todos ' ,
2424 callId : 'tool-1' ,
2525 status : ToolCallStatus . Success ,
2626 resultDisplay : {
Original file line number Diff line number Diff line change @@ -200,7 +200,7 @@ export const INFORMATIVE_TIPS = [
200200 'Set the number of lines to keep when truncating outputs (/settings)...' ,
201201 'Enable policy-based tool confirmation via message bus (/settings)...' ,
202202 'Enable smart-edit tool for more precise editing (/settings)...' ,
203- 'Enable write_todos_list tool to generate task lists (/settings)...' ,
203+ 'Enable write_todos tool to generate task lists (/settings)...' ,
204204 'Enable model routing based on complexity (/settings)...' ,
205205 'Enable experimental subagents for task delegation (/settings)...' ,
206206 //Settings tips end here
Original file line number Diff line number Diff line change @@ -514,7 +514,7 @@ export class Config {
514514 params . truncateToolOutputLines ?? DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES ;
515515 this . enableToolOutputTruncation = params . enableToolOutputTruncation ?? true ;
516516 this . useSmartEdit = params . useSmartEdit ?? true ;
517- this . useWriteTodos = params . useWriteTodos ?? false ;
517+ this . useWriteTodos = params . useWriteTodos ?? true ;
518518 this . initialUseModelRouter = params . useModelRouter ?? false ;
519519 this . useModelRouter = this . initialUseModelRouter ;
520520 this . disableModelRouterForAuth = params . disableModelRouterForAuth ?? [ ] ;
Original file line number Diff line number Diff line change @@ -173,14 +173,48 @@ export class WriteTodosTool extends BaseDeclarativeTool<
173173 } ,
174174 } ,
175175 required : [ 'description' , 'status' ] ,
176+ additionalProperties : false ,
176177 } ,
177178 } ,
178179 } ,
179180 required : [ 'todos' ] ,
181+ additionalProperties : false ,
180182 } ,
181183 ) ;
182184 }
183185
186+ override get schema ( ) {
187+ return {
188+ name : this . name ,
189+ description : this . description ,
190+ parametersJsonSchema : this . parameterSchema ,
191+ responseJsonSchema : {
192+ type : 'object' ,
193+ properties : {
194+ todos : {
195+ type : 'array' ,
196+ items : {
197+ type : 'object' ,
198+ properties : {
199+ description : {
200+ type : 'string' ,
201+ } ,
202+ status : {
203+ type : 'string' ,
204+ enum : TODO_STATUSES ,
205+ } ,
206+ } ,
207+ required : [ 'description' , 'status' ] ,
208+ additionalProperties : false ,
209+ } ,
210+ } ,
211+ } ,
212+ required : [ 'todos' ] ,
213+ additionalProperties : false ,
214+ } ,
215+ } ;
216+ }
217+
184218 protected override validateToolParamValues (
185219 params : WriteTodosToolParams ,
186220 ) : string | null {
Original file line number Diff line number Diff line change 978978 },
979979 "useWriteTodos" : {
980980 "title" : " Use Write Todos" ,
981- "description" : " Enable the write_todos_list tool." ,
982- "markdownDescription" : " Enable the write_todos_list tool.\n\n - Category: `Advanced`\n - Requires restart: `no`\n - Default: `false `" ,
983- "default" : false ,
981+ "description" : " Enable the write_todos tool." ,
982+ "markdownDescription" : " Enable the write_todos tool.\n\n - Category: `Advanced`\n - Requires restart: `no`\n - Default: `true `" ,
983+ "default" : true ,
984984 "type" : " boolean"
985985 },
986986 "security" : {
You can’t perform that action at this time.
0 commit comments