Found during the v0.11.1 release review (End User persona). Deferred because: pre-existing behavior (v0.11.0's unconditional install had the same target-directory logic), not a regression, and the fix needs a decision on where dependencies for out-of-tree plugins should live.
A plugin declared as "plugin": ["file:///abs/path/outside/any/config/dir/plugin.ts"] never gets @opencode-ai/plugin installed anywhere: ConfigPlugin.needsDependencies (packages/opencode/src/config/plugin.ts) only installs into config directories that contain the plugin file, and Bun resolves the plugin's import "@opencode-ai/plugin" by walking up from the plugin file's own path, which nothing populates. The import fails unless the user happens to have the package on an ancestor path.
Options: install into the plugin file's own directory (or nearest package root), document that out-of-tree file plugins must provide their own node_modules, or resolve @opencode-ai/plugin from the CLI's bundled copy via an import map.
Found during the v0.11.1 release review (End User persona). Deferred because: pre-existing behavior (v0.11.0's unconditional install had the same target-directory logic), not a regression, and the fix needs a decision on where dependencies for out-of-tree plugins should live.
A plugin declared as
"plugin": ["file:///abs/path/outside/any/config/dir/plugin.ts"]never gets@opencode-ai/plugininstalled anywhere:ConfigPlugin.needsDependencies(packages/opencode/src/config/plugin.ts) only installs into config directories that contain the plugin file, and Bun resolves the plugin'simport "@opencode-ai/plugin"by walking up from the plugin file's own path, which nothing populates. The import fails unless the user happens to have the package on an ancestor path.Options: install into the plugin file's own directory (or nearest package root), document that out-of-tree file plugins must provide their own
node_modules, or resolve@opencode-ai/pluginfrom the CLI's bundled copy via an import map.