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.246 Home All releases olderv2.1.245 v2.1.247newer
Claude Code v2.1.246

Syncing plugins from your claude.ai account

Not switched on
Useful3 Signal4
Plugins Notable not in their notes

Plugins you enabled on claude.ai can be pulled to your machine, but only your account server can enable it.

Account plugin sync is fully built; syncClaudeAiPlugins only works as an off switch and enabling is decided remotely.

syncClaudeAiPlugins
What

Claude Code can now pull the plugins you enabled on claude.ai onto your machine, installing them alongside the account skills sync that already existed, and cleaning them up again when syncing stops. The whole path is present in this build but nothing in it turns itself on: the setting syncClaudeAiPlugins only works as an off switch, and whether the feature runs at all is decided per account by the remote rollout flag tengu_account_plugins_sync_enabled and the managed org policy allow_account_plugins_sync, both of which the build only reads. Setting syncClaudeAiPlugins to true does not enable it.

Details
  • Add { "syncClaudeAiPlugins": false } to your settings to stop synced plugins arriving; the key is not read from project settings, and in managed settings an explicit false is treated as the restrictive value, matching the equivalent skills setting.
  • A malformed value is treated as off, with the warning "syncClaudeAiPlugins" was present but invalid; treating it as false (claude.ai plugins sync off) until it is fixed.
  • The environment variable CLAUDE_CODE_SYNC_PLUGINS forces a sync round on its own.
  • Synced plugins land in ~/.claude/plugins/synced, are hidden from the plugin listing, and re-sync at each launch; a locally installed plugin of the same name wins over a synced one.
  • When the gate closes or org policy denies it, the next launch moves the synced directories to ~/.claude/plugins/.trash, rewrites the record of what is synced, and logs how many directories were moved versus kept under plugins_sync_pruned_for_closed_gate.
  • Each round opens with a gate check and bails out early recording plugins_sync_gate_closed, or plugins_sync_policy_verdict_pending if the managed-policy answer has not come back yet; every round is logged as a plugins_sync_round span carrying whether the account opted in.
  • Local preconditions still apply even with the flag on: a first-party API endpoint, a claude.ai login, and no ANTHROPIC_UNIX_SOCKET set.
  • Supporting pieces landed with it: session state tracking whether account plugin sync is enabled and whether it was vetoed, mirroring the skills fields, a first-sync promise chain, a lane for registering and clearing synced plugin directories, and an installation-preference field in plugin telemetry.
Evidence

settingKey: "syncClaudeAiPlugins",, allow_account_plugins_sync, "syncClaudeAiPlugins" was present but invalid; treating it as false (claude.ai plugins sync off) until it is fixed., Set to false to turn off syncing of the plugins you have enabled on claude.ai., plugins_sync_pruned_for_closed_gate

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

See this entry in the whole of v2.1.246 →