Skip to content

.opencode/package.json references non-existent @opencode-ai/plugin@local causing warnings and ~30s startup delay #27676

Description

@gotspatel

Description

Environment

Field Value
OpenCode Version 1.15.0 (also reproduced on 1.14.50)
OS Windows 10/11 (win32, Git Bash)
Node.js v22.12.0
Shell bash (Git Bash)

Description

OpenCode auto-creates .opencode/ directories inside project folders to store session state and plugin dependencies. Each .opencode/ directory contains an auto-generated package.json with a dependency on @opencode-ai/plugin@local.

The @local version tag does not exist on the npm registry. This causes an NpmInstallFailedError for every project OpenCode has visited, producing WARN-level log entries and introducing an ~30 second cumulative startup delay (each failed install attempt takes ~4-9 seconds, and 8+ projects means ~30s total delay).

The .opencode/.gitignore intentionally excludes package.json (confirming it is a generated file), but the @local tag is clearly a build artifact from OpenCode's own monorepo — within the monorepo, @opencode-ai/plugin@local resolves correctly via workspace links, but the released binary generates package.json files that reference a tag that doesn't resolve on the public npm registry.

Log Output

WARN  2026-05-15T06:20:12 +73566ms service=config dir=D:\PROJECTS\Spectro XML\.opencode error=Cause([Fail(NpmInstallFailedError (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))]) background dependency install failed
WARN  2026-05-15T06:20:19 +7751ms service=config dir=D:\PROJECTS\GST_Auto\.opencode error=Cause([Fail(NpmInstallFailedError (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))]) background dependency install failed
WARN  2026-05-15T06:20:24 +4834ms service=config dir=D:\PROJECTS\LCF Test\.opencode error=Cause([Fail(NpmInstallFailedError (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))]) background dependency install failed
WARN  2026-05-15T06:20:29 +4572ms service=config dir=D:\PROJECTS\BME-WA\.opencode error=Cause([Fail(NpmInstallFailedError (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))]) background dependency install failed
WARN  2026-05-15T06:20:33 +4510ms service=config dir=D:\PROJECTS\ICICI\.opencode error=Cause([Fail(NpmInstallFailedError (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))]) background dependency install failed
WARN  2026-05-15T06:20:38 +4365ms service=config dir=D:\PROJECTS\FXOnline\.opencode error=Cause([Fail(NpmInstallFailedError (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))]) background dependency install failed
WARN  2026-05-15T06:20:46 +8435ms service=config dir=D:\PROJECTS\METALOnline\.opencode error=Cause([Fail(NpmInstallFailedError (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))]) background dependency install failed
WARN  2026-05-15T06:20:52 +6019ms service=config dir=D:\PROJECTS\Customs_FX\.opencode error=Cause([Fail(NpmInstallFailedError (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))]) background dependency install failed

.opencode Dir Structure (after v1.15.0 cleanup — package.json was auto-removed on this version)

.opencode/
├── .gitignore       (contents: node_modules, package.json, package-lock.json, bun.lock, .gitignore)
├── state/           (session state files)
└── (package.json was present in v1.14.50 but cleaned up by v1.15.0 after failed install)

Plugins Installed

Plugin Description
superpowers@git+https://github.com/obra/superpowers.git 48 curated skills from obra/superpowers
opencode-claude-memory Persistent file-based memory across sessions
envsitter-guard@latest .env file safety and validation
@tarquinen/opencode-dcp Dynamic context pruning for token optimization
@mohak34/opencode-notifier Desktop notifications for events
opencode-background-agents Async background agent delegation
opencode-vibeguard PII/secret redaction into placeholders
opencode-immune Protection/monitoring plugin
opencode-skills-collection Auto-downloads and keeps skills updated
opencode-codebase-index Codebase vector indexing
opencode-plan-manager Structured plan creation/tracking
./plugin/opencode-skill-forge/dist/index.js Local plugin for skill creation/editing

Plugins

No response

OpenCode version

1.15.0

Steps to reproduce

Steps to Reproduce

  1. Install OpenCode v1.14.50 or v1.15.0 on Windows
  2. Open any project directory with opencode (creates .opencode/ dir)
  3. Close and reopen to trigger the background dependency install
  4. Observe ~30s cumulative startup delay and WARN log entries:
    WARN ... service=config dir=<project>/.opencode
      error=Cause([Fail(NpmInstallFailedError
      (cause: @opencode-ai/plugin: No matching version found for @opencode-ai/plugin@local.))])
      background dependency install failed
    
  5. (Verification) Check the generated package.json:
    cat <project>/.opencode/package.json
    
    Expected content (from v1.14.50 — v1.15.0 auto-cleaned):
    { "dependencies": { "@opencode-ai/plugin": "local" } }

Expected Behavior

No WARN entries during startup. The .opencode/package.json should either:

  • Reference a real npm version (e.g., "@opencode-ai/plugin": "1.15.0")
  • Use "latest" tag instead of "local"
  • Or skip the npm install entirely if the dependency is optional

Workaround

Manually edit each affected .opencode/package.json to replace "local" with a real version ("1.4.7" or whatever matches the current install) and run npm install inside the directory. This clears the warnings for that specific project but doesn't prevent OpenCode from regenerating @local for new projects.

Suggested Fix

The .opencode/package.json template in OpenCode's source code should reference a real published version tag instead of "local". Check the code that generates these directories (likely in a config or fs module) — the version template literal should use the current release version or "latest".

Screenshot and/or share link

No response

Operating System

No response

Terminal

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions