A lightweight, native macOS clipboard manager. Menu-bar only, built with Swift/AppKit/SwiftUI — no Electron, minimal memory footprint, and designed to hold an effectively unlimited clipboard history without the wheels coming off.
- Menu-bar app — no dock icon, lives quietly in the status bar
- Global hotkey —
⌘⇧Vfrom anywhere, no Accessibility permission required - Massive history, small footprint — clipboard text is indexed in SQLite with full-text search (FTS5); images and files are stored as content-hashed blobs on disk, not in memory or the database, so history size doesn't degrade UI performance
- Instant search across your entire history, with type filters (Text / Images / Links / Files)
- Quick paste — press
1–9while the popover is open to paste that row instantly - Pin items to keep them forever, exempt from any cleanup
- Configurable retention — unlimited by item count by default, capped only by total disk usage (default 2 GB, adjustable); pinned items are never auto-removed
- Privacy-aware — automatically ignores copies from password managers
(1Password, Bitwarden, etc.) via the
org.nspasteboard.ConcealedTypeconvention; per-app exclusion list in Preferences - Dedupes consecutive identical copies
- Launch at login (optional, via
SMAppService)
- macOS 13 (Ventura) or later
- Xcode Command Line Tools (for
swift/swiftc)
Preferred:
swift build -c releaseIf your local toolchain's SwiftPM is broken (mismatched Command Line Tools
install — a system issue unrelated to this code, shows up as a dyld: Symbol not found error from swift-package), use the bundled fallback build script,
which invokes swiftc directly and assembles the .app bundle by hand:
./build.shEither way, the resulting app can be run directly or copied into
/Applications:
open build/ClipVault.app
cp -R build/ClipVault.app /Applications/The app is ad-hoc code-signed (codesign --sign -) for local use. It is not
notarized, so if you move it to another Mac, Gatekeeper will block it on first
launch — right-click → Open to bypass.
- Click the clipboard icon in the menu bar, or press
⌘⇧V, to open the history popover - Type to search; use the filter chips to narrow by content type
- Double-click a row, or press its number key (
1–9), to paste it - Right-click a row for Copy / Pin / Delete
Esccloses the popover- Gear icon opens Preferences (launch at login, paste behavior, disk cap, excluded apps)
Core/ClipboardMonitor.swift— pollsNSPasteboard.general.changeCount(macOS has no push notification for pasteboard changes); this is the standard, App-Store-safe technique every clipboard manager usesCore/Database.swift— thin wrapper over the systemsqlite3C library; schema includes an FTS5 virtual table kept in sync via triggersCore/BlobStore.swift— content-addressed storage for images/files under~/Library/Application Support/ClipVault/Blobs, sharded by hash prefixCore/HistoryStore.swift— paginated view model backing the SwiftUI list, so the UI never has to hold the full history in memoryCore/HotKeyManager.swift— CarbonRegisterEventHotKey-based global hotkey (no Accessibility permission needed)UI/— SwiftUI views for the popover and preferences window
Data lives entirely locally in ~/Library/Application Support/ClipVault/ —
nothing leaves your machine.
MIT — see LICENSE.