paste | anywhere
Pipe remote terminal output straight to your local clipboard.
// how it works
Any command, any machine
Pipe stdout from any shell command into cinch push. It accepts stdin, so it fits any existing pipeline.
git diff | cinch push
echo "$(hostname)" | cinch push
server
SQLite persistence
WebSocket delivery
Self-hostable binary
Instant on the other end
Run cinch pull to read from stdout, or let cinchd write incoming clips straight to your Mac clipboard.
cinch pull | pbpaste # → pipe
cinchd # → tray, auto
// primitives
Cinch reads stdin and writes stdout. No SDK, no clipboard API — just pipes. Drop it anywhere in an existing shell workflow.
cinch pull | xargs open
cinch pull | jq .
Run the relay binary anywhere — VPS, Fly.io, Docker. A public image is available on GHCR so deployment is one command.
cinchd lives in your menu bar. Every push lands in your system clipboard before you reach for Cmd+V.
Token-based pairing. Run cinch auth pair once on each machine and you're done.
Full CLI reference, relay setup, and architecture overview →
// why cinch
OSC 52 works.
Until it doesn't.
Modern terminals support clipboard sharing via escape sequences. But it breaks in tmux, screen, Docker, CI/CD, and older terminals. Cinch skips the terminal — it's just HTTP.
Works everywhere
Old terminals, nested tmux, screen, Docker containers, CI runners. If it has curl, it works.
Bidirectional
Not just push. cinch pull reads your local clipboard from any remote machine.
Async-native
Push from shell scripts, CI pipelines, cron jobs. No interactive terminal session required.
Self-hosted
Your data stays on your server. Single Go binary. Deploy on any VPS, Fly.io, or Docker.