Skip to content

Plugins from config plugin array silently not loaded since v1.17.0 #33455

Closed as not planned

Description

@blackheaven

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 plugin

v1.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

  1. Config IS parsed correctly — opencode debug config shows all plugins and their origins:

    "plugin": ["opencode-gemini-auth@latest", "opencode-wakatime", ...],
    "plugin_origins": [{"spec": "opencode-gemini-auth@latest", "source": "~/.config/opencode", "scope": "global"}]
  2. Project-level auto-discovery still works — a .ts file in <project>/.opencode/plugins/ IS loaded and executed.

  3. Global auto-discovery does NOT work — ~/.config/opencode/.opencode/plugins/ is not scanned.

  4. No error messages at any log level — not even at DEBUG. The plugin loading code path appears to never execute.

  5. 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

Activity

  1. github-actions commented on Jun 22, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. blackheaven commented on Jun 22, 2026

    @blackheaven
    ContributorAuthor

    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 plugin eagerly), making it harder to diagnose plugin issues from logs alone.

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