diff --git a/packages/opencode/src/plugin/shared.ts b/packages/opencode/src/plugin/shared.ts index 1a519359bde6..59d4f97fcdbe 100644 --- a/packages/opencode/src/plugin/shared.ts +++ b/packages/opencode/src/plugin/shared.ts @@ -281,6 +281,9 @@ export function readV1Plugin( throw new TypeError(`Plugin ${spec} must default export an object with ${kind}()`) } if (mode === "detect" && !("id" in value) && !("server" in value) && !("tui" in value)) return + // detect: skip plugins that don't have the requested kind + if (mode === "detect" && kind === "server" && !("server" in value)) return + if (mode === "detect" && kind === "tui" && !("tui" in value)) return const server = "server" in value ? value.server : undefined const tui = "tui" in value ? value.tui : undefined