agentproto adapters
agentproto adapters list Show enabled adapters
agentproto adapters show <pkg> Print an adapter's manifest
agentproto adapters install <pkg> npm i -g + add to config
agentproto adapters uninstall <pkg> Remove from config (+ npm rm)
agentproto adapters enable <pkg> Add to config (assume installed)
agentproto adapters disable <pkg> Remove from config (keep installed)Manages runtime adapters. An adapter extends the swarm kernel's
registry with new kind strings — substrates, dispatchers,
participant executors, state stores. The enabled list lives in
~/.agentproto/config.json under adapters[].
For adapter authoring (manifest shape, factory signatures, publishing),
see ../../../PLUGINS.md. This page is the
user-facing CLI surface only.
Naming note: this verb was renamed from
pluginstoadaptersto free "plugin" for the cross-vendor Agent Plugins v1.0.0 standard (see@agentproto/plugin). That leaves two distinct things both called "adapter" in this CLI: a CLI-driver adapter (@agentproto/adapter-claude-code, selected viaagentproto sessions start <adapter>/ installed viainstall) drives a specific coding agent, while what this page manages is a swarm-kernel adapter (formerly "plugin", e.g.@guilde/agentproto-bridge) that extendsrun-swarmwith transport-specific substrates/dispatchers/executors. They're unrelated packages and registries; only the word collides.
Adapter load order
run-swarm loads adapters in this order:
- Built-ins via
registerBuiltins()—filesubstrate,mentiondispatcher,fsstate store,agent-cliexecutor. - Adapters listed in
config.json#adapters, in array order. - Adapters passed as
--adapter <module-id>on the verb, in flag order.
Last write wins. Registering the same kind twice overrides the
prior factory. This is intentional — drop an adapter at the end of the
list to override a built-in or another adapter's registration.
Subverbs
list
agentproto adapters list
agentproto adapters list --jsonWalks the adapters[] array, reads each adapter's manifest, prints
what it provides:
• @guilde/agentproto-bridge
substrates: guilde-mcp
executors: db-operator
• @acme/agentproto-slack
substrates: slack-threadWhen an adapter has no manifest (legacy side-effect-import style), the
listing shows (no manifest — legacy side-effect adapter) and the
kinds it registers won't appear here — they'll still show up at
load time via run-swarm --verbose's registered: … line.
--json emits the full manifests for scripting.
outdated
agentproto adapters outdated
agentproto adapters outdated --jsonRead-only freshness report for the installed agent-CLI adapter packages
(claude-code, opencode, …): the version actually in the global npm
tree vs the latest version published to the registry. Nothing is
installed, updated, or written — this only reports.
• claude-code @agentclientprotocol/claude-agent-acp 0.75.1 → 0.76.0 → update available
• opencode opencode-ai 1.18.18 → 1.18.18 ✓ up to dateBoth probes are time-bounded; offline or on a slow/404 registry a row
degrades to freshness unknown instead of guessing, and the verb still
exits 0. Packages not installed globally report (not global — version unknown).
--json emits { slug, package, installed, latest, status } rows where
status is current | behind | unknown.
show
agentproto adapters show @guilde/agentproto-bridge
agentproto adapters show @guilde/agentproto-bridge --jsonPrints the full manifest for one adapter:
@guilde/agentproto-bridge
schema: agentproto/adapter/v1
substrates:
• kind: guilde-mcp
entry: ./dist/index.mjs → guildeMcpSubstrateFactory
capabilities: mentions, reactions, identity
Reads/writes turns through Guilde's MCP server.
executors:
• kind: db-operator
entry: ./dist/index.mjs → dbOperatorExecutorFactory
Delegates to Mastra operators via run_operator.--json dumps the raw manifest.
install / uninstall
agentproto adapters install @guilde/agentproto-bridge
agentproto adapters install @your-org/agentproto-thing --local # npm i (no -g)
agentproto adapters install @your-org/agentproto-thing --skip-npm # add to config only
agentproto adapters uninstall @guilde/agentproto-bridge
agentproto adapters uninstall @guilde/agentproto-bridge --skip-npm # config onlyinstall runs npm install [-g] <pkg> then appends <pkg> to
config.json#adapters. uninstall removes it from the array then
runs npm uninstall [-g] <pkg>. Either side can be skipped:
| Flag | Effect |
|---|---|
--local | Use npm install (not -g). Useful for project-local adapters. |
--skip-npm | Don't touch npm — just edit the config. Use after installing the package yourself or in CI. |
If npm install fails, the config is not modified. If npm uninstall fails after the config edit, the warning is printed but
the adapter is already disabled.
enable / disable
agentproto adapters enable @your-org/agentproto-thing
agentproto adapters disable @your-org/agentproto-thingConfig-only operations — assume the package is already installed (or
deliberately keep it installed). Adds/removes from adapters[]
without running npm. Equivalent to install --skip-npm /
uninstall --skip-npm.
Overriding a built-in
If an adapter registers kind: "file", its factory replaces the
built-in file substrate from registerBuiltins(). Place it in the
adapters[] array (or pass --adapter) and you get the override on
the next run-swarm. Use run-swarm --verbose to confirm:
agentproto run-swarm: registered: substrates=[file,guilde-mcp] dispatchers=[mention,…] executors=[agent-cli,db-operator] stateStores=[fs]Where it lives
// ~/.agentproto/config.json
{
"adapters": [
"@guilde/agentproto-bridge",
"@acme/agentproto-slack"
]
}You can hand-edit this file too — agentproto adapters … is just a
managed wrapper. See config.md and
../concepts/plugins.md.