summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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) => ({