summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBen Vargas <[email protected]>2025-12-06 13:29:34 -0700
committerGitHub <[email protected]>2025-12-06 14:29:34 -0600
commit419983c0f1dcffc4fae28f844e7658326e2ee5aa (patch)
tree2d89aeb52b5367237e16e7139264ebbe81bf2af6
parenta59c80e076446cd151e3293f62f602d5c76d3950 (diff)
downloadopencode-419983c0f1dcffc4fae28f844e7658326e2ee5aa.tar.gz
opencode-419983c0f1dcffc4fae28f844e7658326e2ee5aa.zip
feat: restore experimental flag for websearch/codesearch tools (#5132)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: rekram1-node <[email protected]>
-rw-r--r--packages/opencode/src/flag/flag.ts2
-rw-r--r--packages/opencode/src/tool/registry.ts5
2 files changed, 6 insertions, 1 deletions
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) => ({