A native macOS menu bar app that remembers everything you copy.
Lightweight clipboard manager built entirely with system frameworks.
No account. No subscription. No telemetry. Just your clipboard.
| Paste | Maccy | macOS Built-in | Recopy | |
|---|---|---|---|---|
| Price | $30 | Free | N/A | Free |
| Menu bar native | Yes | Yes | No | Yes |
| Search history | Yes | Yes | No | Yes |
| Full-fidelity images | Yes | No | No | Yes |
| Rich text paste | Yes | No | No | Yes |
| Pin clips | Yes | No | No | Yes |
| Excluded apps | Yes | Yes | No | Yes |
| Source app tracking | No | No | No | Yes |
| Keyboard navigation | Yes | Yes | No | Yes |
| Zero dependencies | No | No | Yes | Yes |
| Open source | No | Yes | No | Yes |
- Automatic capture -- Starts monitoring at launch, no interaction required. Polls the system pasteboard every 0.5s using only public APIs
- Text, images, rich text -- Captures plain text, RTF formatting, and PNG/TIFF images at full fidelity
- Smart deduplication -- Recopying the most recent text updates its timestamp instead of creating a duplicate
- Source app tracking -- Records which app each clip was copied from, with icon and name
- Self-capture suppression -- The app's own pasteboard writes (paste/copy actions) are never re-captured into history
- Instant access -- Click the menu bar icon or press
ββ§Vglobally to toggle the popover - Real-time search -- Filter clips instantly by substring match
- Pinned section -- Pin important clips to the top of the list
- Timestamps -- Relative time ("3 min ago") and clock time on every entry, plus source app name
- Single-click paste -- Click a clip to paste it directly into the frontmost app via
βVsimulation - Context menu -- Right-click for Copy, Pin/Unpin, and Delete
- Liquid glass design -- NSVisualEffectView vibrancy, glassy cards, smooth hover animations
- Arrow keys -- Move selection up/down through the clip list
- Return -- Paste the selected clip into the frontmost app
- Backspace -- Delete the selected clip (edits search when search has text)
- Escape -- Clear search text, or close the popover
- Typing -- Automatically enters the search field
- Password manager exclusion -- Auto-skips clips from 1Password, KeePassXC, and other vaults
- Concealed content -- Respects
org.nspasteboard.ConcealedTypefor sensitive fields - Excluded apps list -- Add any app's bundle ID prefix to block clipboard capture
- Fully offline -- Zero network calls, ever
- History limit -- Keep 50 to 1,000 clips (default 200), auto-prunes oldest non-pinned
- Launch at login -- Native
SMAppServiceintegration - Sound on copy -- Optional audio feedback when a clip is captured
- Global hotkey --
ββ§Vto toggle the popover from anywhere - Clear all history -- Inline confirmation, preserves pinned clips
| Shortcut | Action |
|---|---|
ββ§V |
Toggle clipboard history popover |
β β |
Navigate clip list |
β΅ |
Paste selected clip |
β« |
Delete selected clip / edit search |
β |
Clear search / close popover |
Click |
Paste clip into frontmost app |
Right-click |
Context menu (Copy, Pin, Delete) |
git clone https://github.com/huntermeherin/cliphist.git
cd cliphist/Recopy
xcodebuild -scheme Recopy -configuration Release buildcd cliphist/Recopy
open Recopy.xcodeproj
# Set signing to "Sign to Run Locally"
# Build and run (Cmd+R)- macOS 14 (Sonoma) or later
- Xcode 15+ (for building)
- Accessibility permission (for paste simulation -- prompted on first use)
Recopy/Recopy/
RecopyApp.swift App entry + AppDelegate (NSStatusItem + NSPopover)
Models/
ClipItem.swift SwiftData model with full-fidelity image storage
Services/
ClipboardMonitor.swift NSPasteboard polling, dedup, pruning, self-suppression
PasteService.swift Pasteboard write + CGEvent βV simulation
HotkeyManager.swift Global ββ§V via NSEvent monitors
AppDetector.swift Frontmost app detection + icon resolution
Views/
ClipboardPopoverView.swift Main popover with keyboard handling + vibrancy
ClipRowView.swift Clip row with glassy hover/selection states
SearchBar.swift Glass-styled search input
SettingsView.swift Card-based preferences panel
Utilities/
TimeFormatter.swift Relative date strings
ImageUtils.swift Background-safe thumbnail compression
graph TD
A[AppDelegate] --> B[NSStatusItem]
A --> C[NSPopover]
A --> D[ClipboardMonitor]
A --> E[HotkeyManager]
D --> F[NSPasteboard Polling]
D --> G[SwiftData Store]
C --> H[ClipboardPopoverView]
H --> I[SearchBar]
H --> J[ClipRowView]
H --> K[SettingsView]
J -->|Click/Enter| L[PasteService]
L --> M[CGEvent βV]
E -->|ββ§V| C
| Layer | Technology |
|---|---|
| UI Framework | SwiftUI + AppKit |
| Data Persistence | SwiftData |
| Clipboard | NSPasteboard |
| Paste Simulation | CGEvent (Accessibility API) |
| Global Hotkey | NSEvent (global + local monitors) |
| Launch at Login | SMAppService |
| Image Processing | NSBitmapImageRep (background thread) |
| Vibrancy | NSVisualEffectView |
Recopy makes zero network calls. All clipboard data is stored locally in a SwiftData database on your Mac. No accounts, no analytics, no tracking. Your data never leaves your machine.
Pull requests welcome. Please open an issue first to discuss larger changes.
MIT -- free for personal and commercial use.
Built with Swift, SwiftUI, and AppKit. Zero dependencies. No compromises.