Problem
OpenCode Desktop on Windows logs repeated config dependency install failures because it tries to install @opencode-ai/plugin@local.
@opencode-ai/plugin is a valid official package, but local is not a published npm version or dist-tag, so npm resolution fails.
This looks related to #20891, but this report is for an installed official Windows Desktop release, not a locally built preview binary.
Environment
- OS: Windows 11
- Client: OpenCode Desktop
- Desktop executable version:
1.14.39
- Workspace: normal git repository with an
.opencode directory
- Current project
.opencode contents: only .gitignore, empty agents/, empty commands/; no project plugin files and no .opencode/package.json
Observed log
From C:\Users\USER\.local\share\opencode\log\2026-05-06T075806.log:
WARN 2026-05-06T07:58:08 +999ms service=config dir=D:\Github\OpencodeScratch\.opencode error=Cause([Fail(NpmInstallFailedError (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))]) background dependency install failed
The same warning repeated across several recent startup logs:
2026-05-06T075806.log
2026-05-06T075017.log
2026-05-06T055553.log
2026-05-06T040512.log
2026-05-06T035703.log
2026-05-06T035536.log
Expected
Official Desktop builds should install a published @opencode-ai/plugin version matching the running OpenCode release, or skip pinning to a version when the runtime is treated as local/dev.
They should not try to install @opencode-ai/plugin@local in a released Desktop build.
Investigation / suspected root cause
The config dependency installer adds @opencode-ai/plugin with InstallationVersion unless InstallationLocal is true:
npmSvc.install(dir, {
add: [
{
name: "@opencode-ai/plugin",
version: InstallationLocal ? undefined : InstallationVersion,
},
],
})
Code reference in current dev:
packages/opencode/src/config/config.ts
InstallationVersion falls back to "local" if the compile-time OPENCODE_VERSION define is absent:
export const InstallationVersion = typeof OPENCODE_VERSION === "string" ? OPENCODE_VERSION : "local"
export const InstallationChannel = typeof OPENCODE_CHANNEL === "string" ? OPENCODE_CHANNEL : "local"
export const InstallationLocal = InstallationChannel === "local"
Code reference:
packages/core/src/installation/version.ts
The standalone Bun CLI build defines both OPENCODE_VERSION and OPENCODE_CHANNEL:
packages/opencode/script/build.ts
But the Node server build used by Desktop appears to define only OPENCODE_CHANNEL, not OPENCODE_VERSION:
define: {
OPENCODE_MIGRATIONS: JSON.stringify(migrations),
OPENCODE_CHANNEL: `'${Script.channel}'`,
}
Code reference:
packages/opencode/script/build-node.ts
Desktop imports that Node server build via ../opencode/dist/node:
packages/desktop/electron.vite.config.ts
So the Desktop server bundle may end up with:
InstallationVersion === "local"
InstallationChannel !== "local"
InstallationLocal === false
That combination makes config dependency installation request @opencode-ai/plugin@local.
Why this matters
For workspaces without local plugins this may be a noisy background warning only. For workspaces with local plugins or custom tools that import @opencode-ai/plugin, this can break dependency preparation and lead to confusing plugin loading behavior.
Notes
npm view @opencode-ai/plugin version dist-tags shows latest: 1.14.39, but no local dist-tag.
Problem
OpenCode Desktop on Windows logs repeated config dependency install failures because it tries to install
@opencode-ai/plugin@local.@opencode-ai/pluginis a valid official package, butlocalis not a published npm version or dist-tag, so npm resolution fails.This looks related to #20891, but this report is for an installed official Windows Desktop release, not a locally built preview binary.
Environment
1.14.39.opencodedirectory.opencodecontents: only.gitignore, emptyagents/, emptycommands/; no project plugin files and no.opencode/package.jsonObserved log
From
C:\Users\USER\.local\share\opencode\log\2026-05-06T075806.log:The same warning repeated across several recent startup logs:
Expected
Official Desktop builds should install a published
@opencode-ai/pluginversion matching the running OpenCode release, or skip pinning to a version when the runtime is treated as local/dev.They should not try to install
@opencode-ai/plugin@localin a released Desktop build.Investigation / suspected root cause
The config dependency installer adds
@opencode-ai/pluginwithInstallationVersionunlessInstallationLocalis true:Code reference in current dev:
InstallationVersionfalls back to"local"if the compile-timeOPENCODE_VERSIONdefine is absent:Code reference:
The standalone Bun CLI build defines both
OPENCODE_VERSIONandOPENCODE_CHANNEL:But the Node server build used by Desktop appears to define only
OPENCODE_CHANNEL, notOPENCODE_VERSION:Code reference:
Desktop imports that Node server build via
../opencode/dist/node:So the Desktop server bundle may end up with:
InstallationVersion === "local"InstallationChannel !== "local"InstallationLocal === falseThat combination makes config dependency installation request
@opencode-ai/plugin@local.Why this matters
For workspaces without local plugins this may be a noisy background warning only. For workspaces with local plugins or custom tools that import
@opencode-ai/plugin, this can break dependency preparation and lead to confusing plugin loading behavior.Notes
npm view @opencode-ai/plugin version dist-tagsshowslatest: 1.14.39, but nolocaldist-tag.