What
installed_plugins.json is the file where Claude Code keeps its list of installed plugins. Claude Code normally syncs it with your enabledPlugins setting, which turns plugins on or off.
- Unreadable content: if the file holds data this version cannot read, such as a record written by a newer version, the sync is skipped and the file is left as it is. Before, the sync always ran and rewrote the file from what it could read.
- Rewrites: when the file is rewritten, parts this version could not read are now kept.
Why
Switching between Claude Code versions should no longer wipe out plugin records written by a newer one. When the sync is skipped, plugins that a policy requires are not synced either.
Names in the bundleenabledPlugins
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 enabledPlugins, on Error reference.
When Claude Code removed the plugin's entry from `enabledPlugins` and read that scope's settings files back, either the plugin was still switched on there, or a file that could switch it on couldn't be read or checked. Deleting the plugin'…errors see the edit
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
Whether you are told when policy-required plugins go unsynced is not stated.
Anthropic's documentation agrees
Anthropic's documentation has since written up enabledPlugins, on Error reference.
Anthropic's release notes agree
Fixed claude plugin uninstall removing the other of two installed plugins whose ids differ only in case, with its options and secrets, when…