When a batch of plugin installs fails and is undone, Claude Code now writes back the earlier install record of an affected plugin. This happens when that earlier record for the same scope and project path is known. It only happens if the current record still has the installPath and lastUpdated values the installer wrote, so a record changed by something else is left alone. The cached list of installed plugins is then cleared and a debug line is logged.
Why
A plugin you already had installed keeps its previous record after a failed update or reinstall, instead of losing it.
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's release notes agreeImproved screen-reader output in /mcp: a disabled server is read as "off" instead of "pending"