Repository navigation
Description
Problem
Since v1.17.0, plugins listed in the plugin config array are silently not loaded. No error, no warning, no log entry — the plugin loading step is completely absent from the startup sequence. This affects ALL plugins (npm packages and local file paths).
Environment
- opencode 1.17.9 (also confirmed on 1.17.7)
- NixOS, binary built with
bun build --compile --single - Config at
~/.config/opencode/config.json
Reproduction
Config:
{
"plugin": [
"opencode-gemini-auth@latest",
"opencode-wakatime",
"./plugins/my-plugin/index.ts"
]
}Run:
opencode run --log-level DEBUG --print-logs "hi" 2>&1 | grep -i pluginv1.16.2 (WORKS) — plugins load:
INFO service=plugin path=opencode-gemini-auth@latest loading plugin
INFO service=plugin path=opencode-wakatime loading plugin
INFO service=plugin path=file:///home/black/.config/opencode/plugins/my-plugin/index.ts loading plugin
v1.17.9 (BROKEN) — zero output, no plugin loading at all:
(empty)
The v1.17.9 startup sequence goes straight from config loading to LSP/formatter init, skipping plugin loading entirely:
INFO message=loading path=/home/black/.config/opencode/config.json
INFO message=loading path=/home/black/.config/opencode/opencode.json
INFO message=loading path=/home/black/.config/opencode/opencode.jsonc
INFO message="all LSPs are disabled"
INFO message="all formatters are disabled"
INFO message=init
Key observations
-
Config IS parsed correctly —
opencode debug configshows all plugins and their origins:"plugin": ["opencode-gemini-auth@latest", "opencode-wakatime", ...], "plugin_origins": [{"spec": "opencode-gemini-auth@latest", "source": "~/.config/opencode", "scope": "global"}]
-
Project-level auto-discovery still works — a
.tsfile in<project>/.opencode/plugins/IS loaded and executed. -
Global auto-discovery does NOT work —
~/.config/opencode/.opencode/plugins/is not scanned. -
No error messages at any log level — not even at DEBUG. The plugin loading code path appears to never execute.
-
The
opencode plugin install <module>command also appears non-functional (shows help instead of installing).
Expected behavior
Plugins from the plugin config array should be loaded during startup, as they were in v1.16.2 and earlier.
Workaround
Project-level .opencode/plugins/ auto-discovery works but is per-project and impractical for global plugins.
Related issues
- Failed to load plugin file:///real/path/to/plugins/my-plugin.js: Cannot find module '@opencode-ai/plugin' #23553 — symlink resolution breaks plugin loading (Cannot find module '@opencode-ai/plugin')
- readV1Plugin detect mode throws TypeError for TUI-only plugins loaded as server plugins #31610 — readV1Plugin detect mode throws TypeError (V1 plugin errors silently swallowed)
- [FEATURE]: plugins/ folder only auto-discovers flat files, not plugin directories #33390 — plugins/ folder auto-discovery limitations
Activity
github-actions commentedon Jun 22, 2026
This issue might be a duplicate of existing issues. Please check:
pluginconfig array being silently skipped, though attributed to a specific plugin (oh-my-opencode) breaking the loop rather than a version regression. The symptom (config-array plugins not loading) overlaps with what you describe.blackheaven commentedon Jun 22, 2026
Closing — this is not a bug. Plugin loading in v1.17.x is lazy: plugins initialize on first
Plugin.trigger()call (i.e., when a tool actually executes), not during startup.My test (
opencode run "hi") didn't trigger any tool execution, so the lazy initialization never ran, making it appear as though plugins weren't loading. When the AI actually executes a bash command, plugins load on-demand and work correctly.The only minor observability concern is that startup DEBUG logs no longer show plugin loading entries (unlike v1.16.2 which logged
service=plugin path=... loading plugineagerly), making it harder to diagnose plugin issues from logs alone.