Skip to content

v0.26.2

Choose a tag to compare

@github-actions github-actions released this 05 Sep 17:37
· 336 commits to main since this release

workbench v0.26.2

2026-09-06

Headline: Every plugin loaded from a directory reported zero tools. The
portal listed all 25 apps correctly and each showed 0 tools; only the two
built-in plugins, which are imported statically, showed real counts. The tools
were never registered, so agents could not call them.

Fixes

  • Plugin tools are found when the module arrives CJS-wrapped. filterTools
    searched only the top level of the imported module. That is the right shape
    when the graph stays ESM — which is why loading from source in development
    worked and hid this — but the shipped server is compiled to CJS and imports
    each plugin's .ts through tsx, so the namespace it actually receives holds
    default and module.exports with the tools nested inside. Nothing matched,
    every directory-loaded plugin registered with an empty tool list, and the
    failure was silent because an empty array is indistinguishable from a plugin
    that legitimately exports nothing. The search now unwraps that shape, the
    same way unwrapDefault already did for the manifest, and de-duplicates
    tools reachable by more than one path.

Verified inside the built image: 211 tools across 19 plugins, none reporting
zero. Before the fix, 14 of them did.

Full diff: v0.26.1...v0.26.2