Vanish is a lightweight macOS menu bar utility designed to give you total control over hidden files. It combines a global toggle for Finder visibility with a "Drop Zone" that allows you to hide specific files and folders instantly.
- Global Toggle: Instantly show or hide all system-hidden files in Finder with a single click.
- File-Specific Hiding: Use the
chflagssystem to make specific files or folders invisible, even when Finder visibility is toggled off. - Drop Zone: A floating, always-on-top window. Just drag and drop any file to "vanish" it.
- History & Search: A dedicated history window tracks everything you've hidden, allowing you to search and unhide items later.
- Menu Bar Native: Lives in your menu bar for quick, non-intrusive access.
Vanish uses standard macOS system flags and defaults:
- Global Toggle: Modifies
com.apple.finder AppleShowAllFilesand restarts Finder. - Specific Hiding: Applies the
hiddenflag to files usingchflags, which is the macOS native way to mark files as invisible to the UI.
- macOS 14.0 (Sonoma) or later.
- Full Disk Access: To hide/unhide files in protected system directories or external drives, Vanish requires Full Disk Access (Settings > Privacy & Security > Full Disk Access).
-
Clone the repository:
git clone https://github.com/yourusername/vanish.git cd vanish -
Build using Swift Package Manager:
swift build -c release
-
Alternatively, use the included build script to create a universal binary:
chmod +x build_universal.sh ./build_universal.sh
Vanish is built using SwiftUI and AppKit.
- Sources/VanishApp.swift: Main entry point and MenuBarExtra configuration.
- Sources/HiddenFilesManager.swift: The core engine handling shell commands and persistence.
- Sources/DropPanelController.swift: Logic for the HUD-style floating drop window.
- Sources/HistoryWindow.swift: Management of the searchable hidden items list.
This project is licensed under the MIT License - see the LICENSE file for details.
If you like Vanish, consider starring the repo.
Support or buy me a coffee at ko-fi.com/mnzel1