You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Plugins could contribute 7 things but only hooks were wired into the live
session; contributed skills/commands/agents/mcpServers were parsed and ignored.
Now the trusted+enabled plugins' contributions load:
core:
- collectPluginContributions({home,disabled}) → { dirs, mcpServers } for the
trusted+enabled plugins (untrusted ones excluded — same security gate as
discoverPlugins). One place both hosts reuse.
- loadSlashCommands gains `pluginDirs` (+ a 'plugin' command source); plugin
`<dir>/commands/*.md` load, overridable by user/project.
- runAgent gains `pluginDirs`, threaded into the Task tool's loadSubAgents so
plugin-bundled sub-agents resolve. (loadSkills already supported pluginDirs.)
cli (repl.ts + headless.ts):
- collect contributions early; pass pluginDirs to loadSkills + loadSlashCommands
+ runAgent; merge plugin-contributed mcpServers into the MCP connect set
(user settings win on a name clash).
Now wired: hooks + skills + commands + sub-agents + mcpServers (5 of 7).
statusLines + modes remain (they need live registries that don't exist yet).
Tests: +3 — loadSlashCommands plugin source (+ project override),
collectPluginContributions returns dirs+mcpServers for trusted / excludes
untrusted. Core 604 green.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments