From 419983c0f1dcffc4fae28f844e7658326e2ee5aa Mon Sep 17 00:00:00 2001 From: Ben Vargas Date: Sat, 6 Dec 2025 13:29:34 -0700 Subject: [PATCH] feat: restore experimental flag for websearch/codesearch tools (#5132) Co-authored-by: opencode-agent[bot] Co-authored-by: rekram1-node --- packages/opencode/src/flag/flag.ts | 2 ++ packages/opencode/src/tool/registry.ts | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/flag/flag.ts b/packages/opencode/src/flag/flag.ts index 9a3d0437b..924f585c4 100644 --- a/packages/opencode/src/flag/flag.ts +++ b/packages/opencode/src/flag/flag.ts @@ -18,6 +18,8 @@ export namespace Flag { export const OPENCODE_EXPERIMENTAL = truthy("OPENCODE_EXPERIMENTAL") export const OPENCODE_EXPERIMENTAL_WATCHER = OPENCODE_EXPERIMENTAL || truthy("OPENCODE_EXPERIMENTAL_WATCHER") export const OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT = truthy("OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT") + export const OPENCODE_ENABLE_EXA = + truthy("OPENCODE_ENABLE_EXA") || OPENCODE_EXPERIMENTAL || truthy("OPENCODE_EXPERIMENTAL_EXA") function truthy(key: string) { const value = process.env[key]?.toLowerCase() diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index 33a54675f..7e440a78a 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -113,7 +113,10 @@ export namespace ToolRegistry { const result = await Promise.all( tools .filter((t) => { - if (t.id === "codesearch" || t.id === "websearch") return providerID === "opencode" + // Enable websearch/codesearch for zen users OR via enable flag + if (t.id === "codesearch" || t.id === "websearch") { + return providerID === "opencode" || Flag.OPENCODE_ENABLE_EXA + } return true }) .map(async (t) => ({