From 7d257e1b853e52bbe27ef41473912434e6415cdc Mon Sep 17 00:00:00 2001 From: shuv Date: Wed, 7 Jan 2026 15:08:05 -0800 Subject: [PATCH 1/2] feat: enable AskQuestion tool by default Remove experimental flag gating for the AskQuestion tool so it's available to all users without configuration. Update documentation and fork-features.json to reflect this change. --- README.md | 14 ++------------ packages/opencode/src/config/config.ts | 1 - packages/opencode/src/tool/registry.ts | 2 +- script/sync/fork-features.json | 12 +++--------- 4 files changed, 6 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 91b38fae5e3..85606261f4d 100644 --- a/README.md +++ b/README.md @@ -213,19 +213,9 @@ Toggle density from the command palette or set in config: --- -### AskQuestion Tool (Experimental) +### AskQuestion Tool -Enable the AI to pause and ask structured questions via a wizard UI. Available in both TUI and web app. - -Enable in `opencode.json`: - -```jsonc -{ - "experimental": { - "askquestion_tool": true, - }, -} -``` +The AI can pause and ask structured questions via a wizard UI. Available in both TUI and web app. This tool is enabled by default. Features: - Wizard-style multi-question dialogs with single/multi-select options diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index 0b437a201a4..d45b09c85bc 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -977,7 +977,6 @@ export namespace Config { chatMaxRetries: z.number().optional().describe("Number of retries for chat completions on failure"), disable_paste_summary: z.boolean().optional(), batch_tool: z.boolean().optional().describe("Enable the batch tool"), - askquestion_tool: z.boolean().optional().describe("Enable the askquestion tool for LLM to ask clarifying questions"), openTelemetry: z .boolean() .optional() diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index 386c4da24bd..a671ef0146b 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -108,7 +108,7 @@ export namespace ToolRegistry { SkillTool, ...(Flag.OPENCODE_EXPERIMENTAL_LSP_TOOL ? [LspTool] : []), ...(config.experimental?.batch_tool === true ? [BatchTool] : []), - ...(config.experimental?.askquestion_tool === true ? [AskQuestionTool] : []), + AskQuestionTool, ...custom, ] } diff --git a/script/sync/fork-features.json b/script/sync/fork-features.json index baa54758966..a991c7a500c 100644 --- a/script/sync/fork-features.json +++ b/script/sync/fork-features.json @@ -192,8 +192,7 @@ "title": "AskQuestion tool for user input", "author": "iljod", "status": "open", - "description": "Interactive tool that allows AI to pause and solicit structured feedback via TUI/web wizard with single/multi-select and confirm dialogs. Fixes race conditions from PR 5563. Disabled by default - enable with experimental.askquestion_tool config. v1.1.4 improvements: callID validation, fallback scan detection for delayed messages, getMetadata/findInParts helpers.", - "experimentalConfig": "askquestion_tool", + "description": "Interactive tool that allows AI to pause and solicit structured feedback via TUI/web wizard with single/multi-select and confirm dialogs. Fixes race conditions from PR 5563. Enabled by default. v1.1.4 improvements: callID validation, fallback scan detection for delayed messages, getMetadata/findInParts helpers.", "files": [ "packages/opencode/src/askquestion/index.ts", "packages/opencode/src/tool/askquestion.ts", @@ -235,15 +234,10 @@ "description": "API endpoints for askquestion respond and cancel", "markers": ["/askquestion/respond", "/askquestion/cancel", "AskQuestion.respond", "AskQuestion.cancel"] }, - { - "file": "packages/opencode/src/config/config.ts", - "description": "Experimental config flag to enable askquestion tool", - "markers": ["askquestion_tool: z.boolean().optional()"] - }, { "file": "packages/opencode/src/tool/registry.ts", - "description": "Conditional tool registration based on experimental config", - "markers": ["config.experimental?.askquestion_tool === true ? [AskQuestionTool]"] + "description": "AskQuestionTool registration (enabled by default)", + "markers": ["AskQuestionTool"] }, { "file": "packages/app/src/components/askquestion-wizard.tsx", From bcb1d299df2d1357b676e3c019537d4bd1dc2791 Mon Sep 17 00:00:00 2001 From: shuv Date: Wed, 7 Jan 2026 15:12:57 -0800 Subject: [PATCH 2/2] fix: remove askquestion_tool from SDK types\n\nApply Greptile suggestion to sync SDK types with config schema change. --- packages/sdk/js/src/v2/gen/types.gen.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts index 0da7cdfd922..ecd112744cd 100644 --- a/packages/sdk/js/src/v2/gen/types.gen.ts +++ b/packages/sdk/js/src/v2/gen/types.gen.ts @@ -1824,10 +1824,6 @@ export type Config = { * Enable the batch tool */ batch_tool?: boolean - /** - * Enable the askquestion tool for LLM to ask clarifying questions - */ - askquestion_tool?: boolean /** * Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag) */