{"version":"2.1.317","anchor":"native-installer-cleans-up-old-app-bundles","canonical_anchor":"native-installer-cleans-up-old-app-bundles","heading":"Native installs now clean up old app bundles","tier":"notice","area":"Installation","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/native-installer-cleans-up-old-app-bundles","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### Native installs now clean up old app bundles\n\nThe native installer now removes old app bundles, keeps locked versions, and can keep every bundle when the launcher is managed by something else\n\n**What**\n\nThe native install of Claude Code keeps older versions on disk. Its cleanup now also covers app bundles:\n\n- A new cleanup step removes old app bundles and counts how many it removed.\n\n- It takes a `keepEveryBundle` option. Unless that is set, it checks the launcher path and whether a version is locked, so a locked version is kept.\n\n- When a particular entry (`ezr`) is present, cleanup no longer stops early just because there are no old versions to remove.\n\n- When the launcher is externally managed, Claude Code still skips version cleanup, as before, because it cannot tell which versions the launcher needs. It now first runs the bundle cleanup with `keepEveryBundle` set.\n\n**Why**\n\nOld app bundles no longer have to pile up on disk, while versions that are locked, or may be needed by a launcher Claude Code does not control, are left in place.\n\n- Area: Installation\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}