One shortcut
⌘' by default, rebindable to anything with a modifier. The popup opens on the screen your pointer is on, and closes when you click away.
Pastiche keeps your clipboard history and brings it up on ⌘ '. Arrow to the snippet or screenshot you copied an hour ago, press Return, and it lands in the app you were just in.
The Pastiche popup: a searchable list of recent clipboard entries, text and images, navigated with the arrow keys.
Pastiche does one job. There is no sync, no snippet library, and no stack of settings to work through before it is useful.
⌘' by default, rebindable to anything with a modifier. The popup opens on the screen your pointer is on, and closes when you click away.
Arrows to move, ←→ to switch between All, Text and Images, Return to paste, ⌘1–⌘0 to jump straight to a row.
Snippets show as text. Images show as large previews sized to their own aspect ratio, so a screenshot looks like a screenshot. Filter to either type.
Start typing and the list narrows. Every word has to match, so “png kong” finds what you would expect. Tab jumps into the field if you prefer.
Hands focus back to the app you came from and presses ⌘V for you. That needs the Accessibility permission; without it, Pastiche just loads the clipboard.
Delete an entry with ⌫ as you navigate, or clear everything. History is saved to disk, capped at 500 items by default, and survives restarts.
The paste key and the delete key are configurable. Everything else works as listed.
Bare ⌫ only deletes while the caret is outside the search field, where it has to stay ordinary text editing. ⌘⌫ deletes from either place.
It is where passwords, tokens and half-written messages pass through. Pastiche is designed around that, and it tells you where the limits are.
grep -rnE "URLSession|NWConnection" Sources~/Library/Application Support. Treat that folder like any file of your own notes. “Clear history” deletes both.The full policy is on the privacy page.
Thirteen Swift files and about 2,200 lines, with no third-party dependencies. It links Apple frameworks and nothing else, which is a one-line check:
otool -L /Applications/Pastiche.app/Contents/MacOS/*
# AppKit, SwiftUI, Carbon, CryptoKit,
# ServiceManagement… all Apple's.
You need macOS 14 or later and the Xcode command-line tools. Signed and notarized downloads will be published on the releases page.
git clone https://github.com/bcollard/pastiche.git
cd pastiche && make run
# make install → copies it to /Applications
Builds run on the architecture of the Mac that made them, so one from an Apple silicon Mac is arm64-only.
Only to press ⌘V in the app you came from. macOS treats posting keystrokes to another app as controlling the computer. The popup, the shortcut and the history all work without it; turn off “Paste into the active app automatically” and Pastiche will simply put the item on your clipboard.
Not from any app that marks its copies as concealed, which is the convention password managers use on the pasteboard; 1Password does. An app that does not mark its secrets is recorded like any other copy. That is what the ignored-apps list is for: 1Password, Bitwarden and Keychain Access are pre-filled, and you can add any other app by its bundle ID. You can also delete an entry with ⌫.
In ~/Library/Application Support/Pastiche/: text in history.json, images as PNGs. It is not encrypted. If that matters for your threat model, FileVault covers the disk and the ignored-apps list covers the sources you care about.
No. Pastiche keeps plain text and images. Rich text, files and other pasteboard types are not stored, and text pastes back as plain text.
Yes. Settings has a recorder for the global shortcut, a choice between Return and ⌘Return for pasting, and a choice for the delete key. The history cap is adjustable from 10 to 10,000 items.
No, and it is not planned. Everything stays on the Mac that copied it.
The code is not Apple-silicon specific, but a build made on an Apple silicon Mac is arm64-only. Build on an Intel Mac, or open an issue if you would like universal binaries published.