Skip to content

plugin list: git-spec entries display is environment-dependent — 'No plugins found' ×5 on 2.2.5 while the entry existed and the plugin loaded; row enumerated on 2.2.6 #62945

Open

Description

@tusk23

Summary

opencode plugin list displays an installed git-spec plugin entry inconsistently: on OpenCode 2.2.5 (2026-11-05) it printed No plugins found in five distinct forms while the config entry existed and the plugin was loading; on OpenCode 2.2.6 (2026-11-09) the same spec string is enumerated as a normal row. Display appears environment-dependent — cause not measured.

Measurement 1 — 2026-11-05, OpenCode v2.2.5: no row (×5), entry present

All five runs were opencode plugin list → exit 0, printing No plugins found:

# Form Config read-back in the same window
1 isolated HOME + XDG_CONFIG_HOME entry present (JSON read-back)
2 HOME-only override entry present
3 --builtin flag entry present
4 fresh env, online: opencode plugin add 'github:tusk23/opencode-agent-teams#v0.1.0' → exit 0 ['github:tusk23/opencode-agent-teams#v0.1.0']
5 fresh env, offline: opencode plugin add 'git+file://…' → exit 0 ['git+file:///…']

In the same windows the plugin did load — server log excerpt:

message="loading plugin" id=github:tusk23/opencode-agent-teams#v0.1.0 entrypoint=file:///…/src/index.ts role=server

So on 2.2.5: entry written by the CLI + plugin loads + plugin list says No plugins found.

Measurement 2 — 2026-11-09, OpenCode v2.2.6: row present

$ opencode plugin list
ID                    VERSION  SOURCE
opencode-agent-teams  73f044c  github:tusk23/opencode-agent-teams#v0.1.0

Same spec string (github:tusk23/opencode-agent-teams#v0.1.0) as form 4 above.

Differences between the two runs (measured, not a cause claim)

2026-11-05 2026-11-09
OpenCode v2.2.5 v2.2.6
Config environment sandboxed HOME/XDG overrides (fresh per run) long-lived live config
OS Linux Linux

The version and the config environment both differ; which one (if either) explains the display difference was not measured.

Expected

opencode plugin list should enumerate a git-spec entry whenever the entry is present in the config and the plugin loads — or, if a display condition exists, it should be documented. The current behaviour (silently No plugins found next to a loading plugin) makes the list unusable as install proof.

Environment

  • OpenCode CLI v2.2.5 and v2.2.6, Linux
  • Spec forms used: github:<owner>/<repo>#<ref> and git+file://<path>

Activity

  1. opencodejr commented on Nov 9, 2026

    @opencodejr

    Thanks for the careful measurements. I think this is a duplicate of #54654.

    In all five 2.2.5 runs you started from a fresh sandboxed HOME/XDG, so each plugin list hit a service and location that hadn't loaded any plugins yet. The server's plugin.list handler reads the plugin list without waiting for plugins to finish loading. On that first, cold call it returns an empty list, so the CLI prints No plugins found, while the plugin finishes loading in the same window. That matches the loading plugin line in your log. Your 2.2.6 run used a long-lived config where the plugin had already loaded, which is why the row appeared. This handler code is the same in 2.2.5 and 2.2.6, so the environment, not the version, most likely explains the difference. Git-spec plugins probably make it easier to hit because the clone and install take longer. A quick check: on a fresh environment, run opencode plugin list twice a few seconds apart. The second call should list the plugin.

    Possible duplicates and related items, ordered from most to least likely:

    The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions