Unclear Whether plugin tool calls now end up allowed or asked more often than before is not shown.
What
A plugin is an add-on that extends Claude Code, and it can make tool calls of its own. A tool call is one action, such as running a command or editing a file. Auto mode is a setting where a safety classifier, a check run by a model, decides whether to allow actions instead of asking you. How plugin-made calls are handled has been reworked:
- A plugin call is allowed only if nothing requires asking for approval. Allowed calls carry the reason
plugin-origin: ${h}. - If the call would need approval, it is refused with the message "wasn't run: this call needs a person's approval, and a mod's own call can't ask for it."
- In auto mode, when plugin policy allows a plugin call, the classifier is skipped. Claude Code logs
Skipping auto mode classifier for ${e.name}: called by plugin ${xe}. This replaces the oldpluginOriginallow branch. - Ask rules served by hooks or set by your organization are still honored.
- A separate
harnessSynthesizedfast path handles calls that Claude Code itself generated through its observer check, with the reasonharness-synthesized: ${H.synthesizedBy}.
Before, the old helper either gave a pluginOrigin allow decision with the reason plugin-origin: ${pl}, or returned the ask decision when an internal flag was set.
Why
A plugin's own call has no person behind it to answer an approval prompt. So instead of waiting on a question nobody will see, such a call is now refused outright when it needs approval. When it is allowed, it no longer goes through the auto-mode classifier. If a plugin action you expected does not run, this message tells you it needed approval that a plugin cannot ask for.
Whether plugin tool calls now end up allowed or asked more often than before is not shown.
[VSCode] Fixed a plugin's permission request showing a name with hidden characters: it now reads "a plugin"