What
- Plugins gain a new function hook,
register_agent(alongside the existing hooks for registering commands and tools), letting a plugin define a custom agent. - The plugin SDK exposes an
agent.registercall that takes a name, description, and prompt (plus other fields), validating that the name only contains letters, digits, underscores, or hyphens and is no longer than 64 characters. - Agents registered this way at runtime are merged into the session's list of available agents, tagged as coming from a plugin (
source: "plugin",registeredAtRunTime: true). - The session/engine layer gains a
refreshAgentsmethod, mirroring the existingrefreshCommands, to re-read custom agent definitions on demand.
Why This lets plugins extend Claude Code with their own specialized agents without requiring a restart, the same way plugins can already register custom commands and tools.
Names in the bundleagent.register
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Confirmed since
Anthropic's documentation has since written up agent.register, on Claude Code changelog.
* Fixed `$.agent.register` succeeding from a mod's hook that was still running after the mod was reloaded or removed; the call is now refusedchangelog see the edit
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agrees
Anthropic's documentation has since written up agent.register, on Claude Code changelog.