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
Put the plugin's file in your plugins folder — ~/.config/cxagent/plugins on Linux,
%APPDATA%\cxagent\plugins on Windows,
~/Library/Application Support/cxagent/plugins on macOS. cxagent notices it and says so,
without loading it. Turn it on for one session with /plugin load csharp-lsp.dll, or keep
it in config.json:
"plugins": { "csharp-lsp": { "file": "csharp-lsp.dll" } }
Either way it asks once, on first load, and shows 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: it runs inside cxagent's own process and can do what that 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.