A terminal-native multiple clipboard. No X11, no Wayland, no GUI — just a fast CLI for storing, browsing, and recalling clipboard history in your terminal.
Dependencies (install via your package manager):
pcre2ncurses
macOS (Homebrew):
brew install pcre2 ncurses
makeLinux:
apt install libpcre2-dev libncurses-dev # Debian/Ubuntu
dnf install pcre2-devel ncurses-devel # Fedora/RHEL
makeThe binary lands at bin/mclip. Copy it anywhere on your $PATH.
Clips are stored as JSONL (one JSON object per line) at:
$MCLIP_PERSISTENCE_LOCATIONif set, or$HOME/.mclip.jsonlby default
Save a clip — pipe anything into mclip:
cat file.txt | mclip
echo "some text" | mclip
git diff | mclipList all clips:
mclip -lWhen stdout is a terminal, output includes an index prefix for readability. When piped or redirected, raw content is emitted — suitable for scripting:
mclip -l foo > saved.txt
mclip -l token | pbcopyFilter clips by regex:
mclip -l pattern
mclip -l TODO
mclip -l 2026-09Interactive browser:
mclip -i| Key | Action |
|---|---|
↑ / k |
Move up |
↓ / j |
Move down |
Enter |
Copy selected clip to clipboard |
Backspace |
Delete selected clip |
q / Esc |
Quit |
Clipboard copy uses OSC 52 — works in Ghostty, kitty, iTerm2, alacritty, and tmux (≥ 3.2 with set-clipboard on). On macOS, pbcopy is also invoked as a fallback so the system pasteboard is always set.
make
bash test/run_tests.sh