Plugins
Tools from a DLL you drop in a folder, without rebuilding cxagent. Every plugin here declares what it offers before it runs, and cxagent asks you before it does.
Loading the catalog…
Installing one
Press F2 in cxagent, or type /plugin browse, to open the plugin
manager: it lists this catalog, installs a plugin with its hash checked, and offers updates. Already
know the one you want? /plugin get csharp-lsp downloads it into your global plugins
folder.
Installing is not loading. A plugin runs when you load it — /plugin load csharp-lsp.dll
for this session, or a config entry
to load it at every start — and the first load asks, showing you what it is about to run.
Publishing one
A plugin declares what it offers in a sidecar file cxagent reads before loading its assembly, so the load prompt can say what a plugin claims without running it.
Trusting a plugin
cxagent asks before loading any plugin, showing a hash of everything it would load. Nothing in your config file can pre-approve one, and if a single byte of the load set changes, the question comes back. Past that point a plugin is not sandboxed: a .NET plugin runs inside cxagent's own process, a native one in a host process of its own, and either can do what its process can. What cxagent enforces is the decision to load it — trusting a plugin is trusting its author, exactly as installing any other software is.
What the checksum proves
Where a catalog entry carries a sha256, it is over the artifact you download.
The checksum here proves the file you downloaded is the file this release published. It does not prove who built it.
Who built it is the publisher and repository on each entry below — claims you judge for yourself, not facts a client can verify. The separate hash cxagent shows at load time answers a third question again: has anything changed since you last approved it.