{"version":"2.1.283","anchor":"installed-pluginsjson-the-file-is-checked-before-migration","canonical_anchor":"installed-pluginsjson-the-file-is-checked-before-migration","heading":"Plugin cache cleanup no longer runs when the installed plugins list cannot be read","tier":"notice","area":"Plugins","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283\/e\/installed-pluginsjson-the-file-is-checked-before-migration","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283","markdown":"### Plugin cache cleanup no longer runs when the installed plugins list cannot be read\n\nClaude Code now checks `installed_plugins.json` before migrating or saving it, and skips old cache cleanup when the file cannot be read\n\n**Unclear.** Exactly what the new check tests in the file is not stated.\n\n**What**\n\n`installed_plugins.json` is the file where Claude Code keeps its list of installed plugins. Claude Code now runs a check on this file when migrating it and before saving it.\n\n- Migration: when the new file cannot be checked, the older `installed_plugins_v2.json` is no longer renamed over it. Before, that rename always happened.\n\n- Old cache cleanup: when `installed_plugins.json` could not be read, Claude Code skips cleaning up leftover plugin folders, because it cannot tell which ones are still in use. Before, cleanup ran regardless.\n\n- Some failures to load the file are no longer reported as errors.\n\n**Why**\n\nThis guards against losing data. Before, if the plugin list was unreadable or corrupt, plugin folders that were still in use could be deleted during cleanup.\n\n- Area: Plugins\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5"}