[BUG] Old version binaries not cleaned up on update, pollute macOS TCC/Full Disk Access list
Resolved 💬 3 comments Opened Apr 4, 2026 by altonplace Closed Apr 4, 2026
Description
Claude Code's auto-updater creates a new binary at ~/.local/share/claude/versions/X.X.XX for each release but never removes old versions. Over time this causes:
- Disk space waste — 5 old binaries = 942MB on my machine
- macOS TCC pollution — each version binary creates separate entries in Full Disk Access (Privacy & Security), resulting in 20+ stale entries
Steps to Reproduce
- Use Claude Code CLI over several weeks with auto-updates
- Check
ls -la ~/.local/share/claude/versions/— multiple old binaries present - Check System Settings → Privacy & Security → Full Disk Access — one entry per version
Current State
$ ls -la ~/.local/share/claude/versions/
-rwxr-xr-x 196638704 Mar 28 2.1.87
-rwxr-xr-x 196886384 Mar 31 2.1.89
-rwxr-xr-x 197828752 Apr 1 2.1.90
-rwxr-xr-x 198092944 Apr 2 2.1.91
-rwxr-xr-x 198736976 Apr 3 2.1.92
Total: 942MB of binaries, only 2.1.92 is active
The symlink at ~/.local/bin/claude points to the latest version. Old binaries are never referenced.
The macOS TCC database (~/Library/Application Support/com.apple.TCC/TCC.db) accumulates entries for every version:
/Users/mike/.local/share/claude/versions/2.1.69
/Users/mike/.local/share/claude/versions/2.1.71
/Users/mike/.local/share/claude/versions/2.1.72
... (20+ entries)
Expected Behavior
- The updater should delete old version binaries after successfully updating
- Ideally, use a stable binary path (not version-numbered) so macOS TCC grants persist across updates
Environment
- macOS 14 (Sonoma), Apple Silicon
- Claude Code CLI installed via
curl - Auto-updates enabled
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗