Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.248 Home All releases olderv2.1.247 v2.1.250newer
Claude Code v2.1.248

Plugin sync cleans up per plugin group instead of one global directory

You'll notice
Useful3 Signal3
Plugins

Plugin sync prunes per group and trashes stray directories under the plugins root.

What

Plugin synchronisation now resolves a group for the session, walks the directories belonging to it, and prunes each separately. Anything under the plugins root that is neither a recognised group nor a known file is moved to the trash as a stray. New events report the outcomes: plugins_sync_bucket_unresolved, plugins_sync_stray_entry_trashed, plugins_sync_orphan_dir_deferred and plugins_sync_deferred_removals_completed with moved and retained counts.

Details
  • In some conditions an orphaned plugin directory is recorded as stale and removed by a later pass instead of immediately; the condition that triggers this deferral is decided by an internal check that the build does not spell out.
Evidence

plugins_sync_deferred_removals_completed

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.248 →