anomalyco / anomalyco/opencode

tui: local plugins silently fail to load on Windows since beta-18721 upgrade (cli.json migration regression)

Open
#46,408 4 comments 0 reactions 1 assignee View on GitHub

@simonklee is already working on this.

Since Aug 31, 2026.

2.0
Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Description

Summary

Local TUI/CLI plugins do not load at all on opencode2 beta-18721 (Windows). Configured exactly per official docs (cli.json plugins with a file:// directory entry + <global-config>/plugins/<name>/index.tsx layout), the sidebar shows nothing; opencode.log has no plugin load/failure records at any log level; plugin-meta.json does not exist. Downgrading to the previous build beta-18707 restores loading.

Environment

  • opencode version: 0.0.0-beta-18721 (npm global @opencode-ai/cli, dist-tag beta)
  • OS: Windows_NT 10.0.26200 (win32 x64)
  • Terminal: Windows Terminal (terminal env vars unavailable in service context)
  • Shell: powershell 7 / cmd
  • Install/channel: npm global install, beta channel
  • Active plugins: ~/.config/opencode/plugins/tui/opencode-tui-usage.tsx + sibling directory (installed 2026-08-29; worked fine on earlier builds)

Reproduction

  1. Install a plugin in the official layout: ~/.config/opencode/plugins/opencode-tui-usage/index.tsx (Plugin.define + context.ui.slot({append:"sidebar.content"}); includes model/quota/shared/view sub-folders with a complete relative import chain).
  2. Configure global ~/.config/opencode/cli.json: "plugins": ["file:///C:/Users/<user>/.config/opencode/plugins/opencode-tui-usage"] (official file:// directory form from the docs).
  3. Restart opencode2.
  4. Sidebar renders nothing. ~/.local/share/opencode/log/opencode.log role=cli section contains only cli starting / event stream / update check — no plugin load or error entries; plugin-meta.json is absent.

Expected Behavior

Local TUI plugin loads per the official configuration shape and renders in the sidebar.

Actual Behavior

Silently not loaded, with zero diagnostics at any log level (matches #41574).

Additional Context

Variants tried, all failed (config reverted afterwards):

  • cli.json plugins: file:// directory, file:// explicit .tsx file, relative path ./plugins/tui/opencode-tui-usage.tsx
  • Project-level .opencode/tui.json plugin array
  • Zero-dependency probe plugin (no business logic; only Plugin.define + slot rendering "PROBE-LOADED") — also not loaded, ruling out plugin runtime errors
  • Both the directory layout (plugins/<name>/index.tsx) and single-file layout

Version timeline:

  • 2026-08-29: plugin installed; earlier beta build loads it fine
  • 2026-08-31 01:12 build beta-18707: works (verified during the day, sidebar shows the plugin)
  • 2026-08-31 07:28 build beta-18721 (auto-upgraded 19:32 local): plugin disappears
  • Downgrading to beta-18707 restores the sidebar plugin

Likely related issues:

  • #42051 (OPEN): tui: plugins no longer load after cli.json config migration — symptoms match exactly
  • #41574 (OPEN): plugin load/init failures produce no diagnostics at any log level
  • #42763 / #43644 (OPEN/dup): Windows local plugin path import fails in compiled binary (file:// works around it — this report already used file:// and still fails, indicating a config-ignored layer above the import issue)
  • #46095 (OPEN): transient first import failure permanently poisons plugin resolution until restart (Windows)

Workaround: none; only recovery is downgrading: npm install -g @opencode-ai/cli@0.0.0-beta-18707

Plugins

No response

OpenCode version

beta-18721

Steps to reproduce

No response

Screenshot and/or share link

No response

Operating System

No response

Terminal

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.