From 59641f08012ebe6fb90cdcf29cc66edcd3b333a0 Mon Sep 17 00:00:00 2001 From: Ariane Emory Date: Wed, 20 May 2026 03:56:01 -0400 Subject: [PATCH] fix: bypass plugin compatibility check for integration branch versions Integration branches use YYYY-MM-DD-HH-MM version format which is not valid SemVer. The previous code detected integration versions but still called semver.satisfies() which always returned false, causing plugins to fail loading with 'plugin incompatible' errors. Since integration branches should act like full release builds with all features enabled, we now skip the compatibility check entirely for integration versions, allowing plugins to load normally. --- packages/opencode/src/plugin/shared.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/opencode/src/plugin/shared.ts b/packages/opencode/src/plugin/shared.ts index 1a519359bde6..86aa9294ebe8 100644 --- a/packages/opencode/src/plugin/shared.ts +++ b/packages/opencode/src/plugin/shared.ts @@ -192,6 +192,9 @@ export async function resolvePathPluginTarget(spec: string) { } export async function checkPluginCompatibility(target: string, opencodeVersion: string, pkg?: PluginPackage) { + // Allow integration branch versions (YYYY-MM-DD-HH-MM format) in addition to SemVer + const isIntegrationVersion = /^\d{4}-\d{2}-\d{2}-\d{2}-\d{2}$/.test(opencodeVersion) + if (isIntegrationVersion) return if (!semver.valid(opencodeVersion) || semver.major(opencodeVersion) === 0) return const hit = pkg ?? (await readPluginPackage(target).catch(() => undefined)) if (!hit) return