From 60d2c2cc904ea6ba51c99e09b287c05b12e7d631 Mon Sep 17 00:00:00 2001 From: anj-s <32556631+anj-s@users.noreply.github.com> Date: Mon, 3 Nov 2025 15:40:20 -0800 Subject: [PATCH] Enable WriteTodos tool by default (#12500) --- docs/get-started/configuration.md | 2 +- docs/tools/todos.md | 7 ++++--- packages/cli/src/config/settingsSchema.ts | 2 +- packages/core/src/config/config.ts | 2 +- schemas/settings.schema.json | 4 ++-- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/get-started/configuration.md b/docs/get-started/configuration.md index 155e5943fb..f926c8dd62 100644 --- a/docs/get-started/configuration.md +++ b/docs/get-started/configuration.md @@ -467,7 +467,7 @@ their corresponding top-level category object in your `settings.json` file. - **`useWriteTodos`** (boolean): - **Description:** Enable the write_todos_list tool. - - **Default:** `false` + - **Default:** `true` #### `security` diff --git a/docs/tools/todos.md b/docs/tools/todos.md index b345094412..4c11482089 100644 --- a/docs/tools/todos.md +++ b/docs/tools/todos.md @@ -6,7 +6,8 @@ This document describes the `write_todos` tool for the Gemini CLI. The `write_todos` tool allows the Gemini agent to create and manage a list of subtasks for complex user requests. This provides you, the user, with greater -visibility into the agent's plan and its current progress. +visibility into the agent's plan and its current progress. It also helps with +alignment where the agent is less likely to lose track of its current goal. ### Arguments @@ -49,8 +50,8 @@ write_todos({ ## Important notes -- **Enabling:** This tool is disabled by default. To use it, you must enable it - in your `settings.json` file by setting `"useWriteTodos": true`. +- **Enabling:** This tool is enabled by default. You can disable it in your + `settings.json` file by setting `"useWriteTodos": false`. - **Intended Use:** This tool is primarily used by the agent for complex, multi-turn tasks. It is generally not used for simple, single-turn questions. diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index 1ec59060e1..558c3fba52 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -1047,7 +1047,7 @@ const SETTINGS_SCHEMA = { label: 'Use Write Todos', category: 'Advanced', requiresRestart: false, - default: false, + default: true, description: 'Enable the write_todos_list tool.', showInDialog: false, }, diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 3dffa488e4..483a53760d 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -532,7 +532,7 @@ export class Config { params.truncateToolOutputLines ?? DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES; this.enableToolOutputTruncation = params.enableToolOutputTruncation ?? true; this.useSmartEdit = params.useSmartEdit ?? true; - this.useWriteTodos = params.useWriteTodos ?? false; + this.useWriteTodos = params.useWriteTodos ?? true; this.initialUseModelRouter = params.useModelRouter ?? false; this.useModelRouter = this.initialUseModelRouter; this.disableModelRouterForAuth = params.disableModelRouterForAuth ?? []; diff --git a/schemas/settings.schema.json b/schemas/settings.schema.json index b1c945e470..0c7686a638 100644 --- a/schemas/settings.schema.json +++ b/schemas/settings.schema.json @@ -675,8 +675,8 @@ "useWriteTodos": { "title": "Use Write Todos", "description": "Enable the write_todos_list tool.", - "markdownDescription": "Enable the write_todos_list tool.\n\n- Category: `Advanced`\n- Requires restart: `no`\n- Default: `false`", - "default": false, + "markdownDescription": "Enable the write_todos_list tool.\n\n- Category: `Advanced`\n- Requires restart: `no`\n- Default: `true`", + "default": true, "type": "boolean" }, "security": {