From 4643e65ad6334de3e4e68dedc201d5fbb828c9fe Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 13:23:26 -0500 Subject: [PATCH] fix(opencode): enable web search for Go (#42630) Co-authored-by: Aiden Cline --- packages/opencode/src/tool/registry.ts | 7 ++++++- packages/opencode/test/tool/websearch.test.ts | 3 ++- packages/web/src/content/docs/tools.mdx | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index 15acc757f3..9167cb3ea6 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -56,7 +56,12 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { McpCatalog } from "@/mcp/catalog" export function webSearchEnabled(providerID: ProviderV2.ID, flags = { exa: false, parallel: false }) { - return providerID === ProviderV2.ID.opencode || flags.exa || flags.parallel + return ( + providerID === ProviderV2.ID.opencode || + providerID === ProviderV2.ID.make("opencode-go") || + flags.exa || + flags.parallel + ) } type TaskDef = Tool.InferDef diff --git a/packages/opencode/test/tool/websearch.test.ts b/packages/opencode/test/tool/websearch.test.ts index 349606dec7..fd5849b790 100644 --- a/packages/opencode/test/tool/websearch.test.ts +++ b/packages/opencode/test/tool/websearch.test.ts @@ -37,8 +37,9 @@ describe("websearch provider", () => { expect(selectWebSearchProvider(SESSION_ID, { exa: false, parallel: true })).toBe("parallel") }) - test("is only enabled for opencode or explicit websearch provider flags", () => { + test("is enabled for OpenCode providers or explicit websearch provider flags", () => { expect(webSearchEnabled(ProviderV2.ID.opencode, { exa: false, parallel: false })).toBe(true) + expect(webSearchEnabled(ProviderV2.ID.make("opencode-go"), { exa: false, parallel: false })).toBe(true) expect(webSearchEnabled(ProviderV2.ID.openai, { exa: false, parallel: false })).toBe(false) expect(webSearchEnabled(ProviderV2.ID.openai, { exa: true, parallel: false })).toBe(true) expect(webSearchEnabled(ProviderV2.ID.openai, { exa: false, parallel: true })).toBe(true) diff --git a/packages/web/src/content/docs/tools.mdx b/packages/web/src/content/docs/tools.mdx index e8d5e0963a..9989b46756 100644 --- a/packages/web/src/content/docs/tools.mdx +++ b/packages/web/src/content/docs/tools.mdx @@ -257,7 +257,7 @@ Allows the LLM to fetch and read web pages. Useful for looking up documentation Search the web for information. :::note -This tool is only available when using the OpenCode provider or when the `OPENCODE_ENABLE_EXA` environment variable is set to any truthy value (e.g., `true` or `1`). +This tool is only available when using the OpenCode or OpenCode Go provider, or when the `OPENCODE_ENABLE_EXA` environment variable is set to any truthy value (e.g., `true` or `1`). To enable when launching OpenCode: