From 290550358a37708c7951f9a87d89f1f2a7de9e5f Mon Sep 17 00:00:00 2001 From: Jack Wotherspoon Date: Tue, 3 Feb 2026 14:14:05 -0500 Subject: [PATCH] chore: disable ask_user tool (#18215) --- packages/core/src/config/config.ts | 2 -- packages/core/src/core/__snapshots__/prompts.test.ts.snap | 2 -- packages/core/src/core/prompts.test.ts | 4 +--- packages/core/src/policy/policies/plan.toml | 6 ------ packages/core/src/prompts/snippets.ts | 3 --- packages/core/src/tools/tool-names.ts | 2 -- 6 files changed, 1 insertion(+), 18 deletions(-) diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index d432086155..6f4380b7aa 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -33,7 +33,6 @@ import { WriteFileTool } from '../tools/write-file.js'; import { WebFetchTool } from '../tools/web-fetch.js'; import { MemoryTool, setGeminiMdFilename } from '../tools/memoryTool.js'; import { WebSearchTool } from '../tools/web-search.js'; -import { AskUserTool } from '../tools/ask-user.js'; import { GeminiClient } from '../core/client.js'; import { BaseLlmClient } from '../core/baseLlmClient.js'; import type { HookDefinition, HookEventName } from '../hooks/types.js'; @@ -2073,7 +2072,6 @@ export class Config { registerCoreTool(ShellTool, this); registerCoreTool(MemoryTool); registerCoreTool(WebSearchTool, this); - registerCoreTool(AskUserTool); if (this.getUseWriteTodos()) { registerCoreTool(WriteTodosTool); } diff --git a/packages/core/src/core/__snapshots__/prompts.test.ts.snap b/packages/core/src/core/__snapshots__/prompts.test.ts.snap index 41766a91d4..6106718b0c 100644 --- a/packages/core/src/core/__snapshots__/prompts.test.ts.snap +++ b/packages/core/src/core/__snapshots__/prompts.test.ts.snap @@ -185,8 +185,6 @@ The following read-only tools are available in Plan Mode: ### Phase 1: Requirements Understanding - Analyze the user's request to identify core requirements and constraints -- If critical information is missing or ambiguous, ask clarifying questions using the \`ask_user\` tool -- When using \`ask_user\`, prefer providing multiple-choice options for the user to select from when possible - Do NOT explore the project or create a plan yet ### Phase 2: Project Exploration diff --git a/packages/core/src/core/prompts.test.ts b/packages/core/src/core/prompts.test.ts index 9842558667..497bb4f33e 100644 --- a/packages/core/src/core/prompts.test.ts +++ b/packages/core/src/core/prompts.test.ts @@ -274,11 +274,10 @@ describe('Core System Prompt (prompts.ts)', () => { it('should only list available tools in PLAN mode', () => { vi.mocked(mockConfig.getApprovalMode).mockReturnValue(ApprovalMode.PLAN); - // Only enable a subset of tools, including ask_user + // Only enable a subset of tools vi.mocked(mockConfig.getToolRegistry().getAllToolNames).mockReturnValue([ 'glob', 'read_file', - 'ask_user', ]); const prompt = getCoreSystemPrompt(mockConfig); @@ -286,7 +285,6 @@ describe('Core System Prompt (prompts.ts)', () => { // Should include enabled tools expect(prompt).toContain('`glob`'); expect(prompt).toContain('`read_file`'); - expect(prompt).toContain('`ask_user`'); // Should NOT include disabled tools expect(prompt).not.toContain('`google_web_search`'); diff --git a/packages/core/src/policy/policies/plan.toml b/packages/core/src/policy/policies/plan.toml index 5e8f51f793..308465e20c 100644 --- a/packages/core/src/policy/policies/plan.toml +++ b/packages/core/src/policy/policies/plan.toml @@ -64,12 +64,6 @@ decision = "allow" priority = 50 modes = ["plan"] -[[rule]] -toolName = "ask_user" -decision = "allow" -priority = 50 -modes = ["plan"] - # Allow write_file for .md files in plans directory [[rule]] toolName = "write_file" diff --git a/packages/core/src/prompts/snippets.ts b/packages/core/src/prompts/snippets.ts index 38ba82624e..e28f37a551 100644 --- a/packages/core/src/prompts/snippets.ts +++ b/packages/core/src/prompts/snippets.ts @@ -6,7 +6,6 @@ import { ACTIVATE_SKILL_TOOL_NAME, - ASK_USER_TOOL_NAME, EDIT_TOOL_NAME, GLOB_TOOL_NAME, GREP_TOOL_NAME, @@ -313,8 +312,6 @@ ${options.planModeToolsList} ### Phase 1: Requirements Understanding - Analyze the user's request to identify core requirements and constraints -- If critical information is missing or ambiguous, ask clarifying questions using the \`${ASK_USER_TOOL_NAME}\` tool -- When using \`${ASK_USER_TOOL_NAME}\`, prefer providing multiple-choice options for the user to select from when possible - Do NOT explore the project or create a plan yet ### Phase 2: Project Exploration diff --git a/packages/core/src/tools/tool-names.ts b/packages/core/src/tools/tool-names.ts index ee3eb8f930..cf755ff095 100644 --- a/packages/core/src/tools/tool-names.ts +++ b/packages/core/src/tools/tool-names.ts @@ -46,7 +46,6 @@ export const ALL_BUILTIN_TOOL_NAMES = [ LS_TOOL_NAME, MEMORY_TOOL_NAME, ACTIVATE_SKILL_TOOL_NAME, - ASK_USER_TOOL_NAME, ] as const; /** @@ -60,7 +59,6 @@ export const PLAN_MODE_TOOLS = [ READ_FILE_TOOL_NAME, LS_TOOL_NAME, WEB_SEARCH_TOOL_NAME, - ASK_USER_TOOL_NAME, ] as const; /**