From 729d6c224ed73d636f7ee11b2aed5eb220f6ff90 Mon Sep 17 00:00:00 2001 From: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com> Date: Fri, 16 Oct 2026 19:36:11 -0700 Subject: [PATCH] fix(llms): pin OpenCode Go base URL to the shared inference root (#15154) models.dev now lists https://opencode.ai/inference/go/openai/v1, which only serves OpenAI routes: /messages returns 404 there, so every Anthropic-protocol OpenCode Go model would fail after a catalog regen. Routing appends per-model protocol endpoints to the base URL, so keep the shared /inference/go/v1 root that serves chat, responses and messages. --- sdk/packages/llms/src/providers/builtins.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sdk/packages/llms/src/providers/builtins.ts b/sdk/packages/llms/src/providers/builtins.ts index cfdbf54659..5da4681bca 100644 --- a/sdk/packages/llms/src/providers/builtins.ts +++ b/sdk/packages/llms/src/providers/builtins.ts @@ -778,7 +778,13 @@ const OPENAI_COMPATIBLE_SPEC_OVERRIDES: BuiltinSpecOverride[] = [ { id: "opencode-go", docsUrl: "https://opencode.ai/docs/go/", - defaults: { headers: { "User-Agent": "Cline/SDK" } }, + defaults: { + // models.dev lists the OpenAI-only path (/inference/go/openai/v1), + // which 404s on /messages. Routing appends per-model protocol + // endpoints, so pin the shared root that serves all of them. + baseUrl: "https://opencode.ai/inference/go/v1", + headers: { "User-Agent": "Cline/SDK" }, + }, metadata: { routing: { modelApiProtocol: true }, stickySession: {