Skip to content

Add timemachine-snapshot-manager extension#24478

Closed
mattiacolombomc wants to merge 3 commits intoraycast:mainfrom
mattiacolombomc:ext/timemachine-snapshot-manager
Closed

Add timemachine-snapshot-manager extension#24478
mattiacolombomc wants to merge 3 commits intoraycast:mainfrom
mattiacolombomc:ext/timemachine-snapshot-manager

Conversation

@mattiacolombomc
Copy link

@mattiacolombomc mattiacolombomc commented Jan 14, 2026

Description

Time Machine Snapshot Manager - A utility to reclaim disk space by bulk-deleting local Time Machine snapshots.

macOS creates local APFS snapshots when your backup disk is disconnected, silently consuming 50-200GB+ on Macs with limited storage. This extension lets you:

  • List all local snapshots with size and date information
  • Batch select individual or all snapshots at once
  • Parallel deletion with configurable 1-5 concurrent threads for faster cleanup
  • Real-time progress tracking during deletion
  • Secure authentication - admin password required for tmutil deletelocalsnapshots, never stored

Keyboard Shortcuts

Action Shortcut
Toggle selection Enter
Delete selected ⌘ + D
Select all ⌘ + ⇧ + S
Deselect all ⌘ + ⇧ + A

Screencast

CleanShot.2026-01-14.at.15.35.43-converted.mp4

Checklist

@raycastbot raycastbot added new extension Label for PRs with new extensions platform: macOS labels Jan 14, 2026
@raycastbot
Copy link
Collaborator

Congratulations on your new Raycast extension! 🚀

Due to our current reduced availability, the initial review may take up to 10-15 business days.

Once the PR is approved and merged, the extension will be available on our Store.

@mattiacolombomc mattiacolombomc marked this pull request as ready for review January 14, 2026 14:38
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 14, 2026

Greptile Summary

This PR adds a new Time Machine Snapshot Manager extension that helps users reclaim disk space by listing and bulk-deleting local APFS snapshots. The implementation includes:

  • Parallel deletion with configurable concurrency (1-5 threads)
  • Secure password handling with proper escaping for special characters
  • Real-time progress tracking with a dedicated progress view
  • Support for Time Machine and third-party backup snapshots (Arq, Backblaze, etc.)
  • Comprehensive error handling and user feedback

The extension follows Raycast standards with proper configuration, documentation, and keyboard shortcuts. Previous issues with manual Preferences interface and changelog format have been resolved.

Confidence Score: 5/5

  • This PR is safe to merge with no blocking issues
  • The extension is well-implemented with proper error handling, secure password management, and follows all Raycast conventions. Previous feedback from reviewers has been addressed (auto-generated Preferences type, correct CHANGELOG format). The code demonstrates good practices with parallel execution control, comprehensive logging, and user-friendly progress tracking.
  • No files require special attention

Important Files Changed

Filename Overview
extensions/timemachine-snapshot-manager/src/clean-snapshots.tsx New extension with solid implementation - parallel snapshot deletion with proper password handling and progress tracking
extensions/timemachine-snapshot-manager/package.json Properly configured extension manifest with dropdown preferences for concurrency control
extensions/timemachine-snapshot-manager/CHANGELOG.md Changelog follows correct format with PR_MERGE_DATE placeholder

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

8 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@pernielsentikaer
Copy link
Collaborator

Hi 👋

Thanks for your contribution 🔥

How is this compared wit hRaycast Store: Time Machine by @SuoweiHu

@pernielsentikaer pernielsentikaer marked this pull request as draft January 15, 2026 21:38
@mattiacolombomc
Copy link
Author

mattiacolombomc commented Jan 15, 2026

Hey @pernielsentikaer, thanks for the review! 👋

Good question — I'm aware of the guidelines around not duplicating existing extensions, but I submitted this because I believe they serve fundamentally different purposes.

The existing "Time Machine" extension is a controller — toggle backups, start a backup, open System Preferences. Quick-access to Time Machine's controls.

This extension is a snapshot cleaner. It lists all local APFS snapshots (Time Machine, CCC, Arq, Backblaze) and lets you selectively delete them to reclaim disk space. It also handles parallel deletion with configurable threads, since operations like tmutil deletelocalsnapshots on large catalogs can be slow.

Different use cases: one controls the backup process, this one cleans up what's already on disk.

Happy to rename to "Time Machine Snapshot Cleaner" if that makes the distinction clearer! (or if you have any suggestions, I'm here to listen 😉 )

@mattiacolombomc mattiacolombomc marked this pull request as ready for review January 15, 2026 22:27
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 15, 2026

Greptile found no issues!

From now on, if a review finishes and we haven't found any issues, we will not post anything, but you can confirm that we reviewed your changes in the status check section.

This feature can be toggled off in your Code Review Settings by deselecting "Create a status check for each PR".

@raycastbot
Copy link
Collaborator

This pull request has been automatically marked as stale because it did not have any recent activity.

It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊

@raycastbot raycastbot added the status: stalled Stalled due inactivity label Jan 30, 2026
@mattiacolombomc
Copy link
Author

mattiacolombomc commented Jan 30, 2026

hey @pernielsentikaer , any chance you could review this please? 🙏 I also opened #24539
thanks in advance!

@mattiacolombomc mattiacolombomc mentioned this pull request Jan 30, 2026
5 tasks
@raycastbot raycastbot removed the status: stalled Stalled due inactivity label Jan 30, 2026
@pernielsentikaer
Copy link
Collaborator

Thanks for your contribution  🔥

We already have an extension in the Store that deals with TimeMachine. Could we consider enhancing the existing extension below instead of creating another one?

Raycast Store: Time Machine by @SuoweiHu

If there are unique features or workflows you’re aiming to add, we’d love to hear them and see if they can be integrated into this to avoid duplication and improve discoverability.

This would help avoid duplication and keep related functionality consolidated in one place.
As mentioned in our extension guidelines here

@pernielsentikaer pernielsentikaer marked this pull request as draft February 10, 2026 07:06
@raycastbot
Copy link
Collaborator

This pull request has been automatically marked as stale because it did not have any recent activity.

It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊

@raycastbot raycastbot added the status: stalled Stalled due inactivity label Feb 24, 2026
@raycastbot
Copy link
Collaborator

This pull request has been automatically closed due to inactivity.

Feel free to comment in the thread when you're ready to continue working on it 🙂

You can also catch us in Slack if you want to discuss this.

@raycastbot raycastbot closed this Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new extension Label for PRs with new extensions platform: macOS status: stalled Stalled due inactivity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants