Paste screenshots on your remote machine.

Take a screenshot on your Mac, then hit ⌘V in your remote terminal, exactly like you would locally.

Paste2SSH ships the screenshot to your VPS over SSH and swaps your clipboard for the remote path in the background.

Download for Mac

Free · No cloud · No account · No telemetry

Paste2SSH with paste mode on, showing recent uploads to hetzner-cx23

The old way

You know the dance.

Your agent is brilliant, but it lives on a VPS and can't see the button rendering wrong on your Mac. Every screenshot means:

  1. Save the screenshot.
  2. scp it to the server.
  3. Invent a filename that won't collide.
  4. Copy the remote path.
  5. Paste it into the agent.

None of it is hard. It's just enough friction that you skip the screenshot and instead you type a paragraph to describe what the agent could see in one glance.

Paste2SSH does steps one through four in the background. You just hit ⌘V.

The new way

Paste. It's already there.

Paste2SSH sits in your menu bar and watches the clipboard. The moment an image lands on it, the upload starts, using the SSH config, keys, and ssh-agent you already have. By the time you switch to the terminal, your clipboard holds the remote path.

All six screens ↓

Take a screenshot
Press ⌘V in your terminal
$ claude
> Why does the layout break at 768px?
> /root/.paste2ssh/screenshot-20260610-233316.png

Inside the app

Six screens. Nothing to learn.

Paste2SSH with paste mode on, one big power button
On / off One switch. On: every copied image ships. Off: the app does nothing.
Host picker dropdown for switching the upload target
Switch hosts Change projects, change hosts. One click, here or in the menu bar.
Recent Paths overlay with previously uploaded screenshots
Recent paths Your last hundred uploads. Click to re-copy when the agent loses context.
The Hosts tab listing three saved remotes
Hosts Your ~/.ssh/config is already loaded. You just pick a host.
Add a remote form with name, server, user, port, and folder fields
Add a remote Name, server, user, port, folder. Writes a normal Host block to your SSH config.
Settings page with folder, filename pattern, cleanup, and connection test
Settings Folder, filename pattern, opt-in cleanup, connection test. That's all of it.

Not just screenshots

Drag in any file.

Drop a PDF, a log, a CSV, a database dump, anything, onto the window. It goes up to the same remote folder and the path lands on your clipboard, ready to paste.

Dragging a document onto the Paste2SSH window; it uploads to the remote folder and copies the path

Privacy

I couldn't read your screenshots if I wanted to.

There's no Paste2SSH cloud. The app connects straight from your Mac to your server and uploads the file. Nothing routes through me, phones home, or gets counted.

  • No cloud, no account, no subscription
  • No license key, no in-app payment check
  • No analytics, no telemetry
  • No image storage by me

The only thing you can ever send me is the feedback form.

A letter from the developer

Why this exists.

Hey—

I'm Norbert. Paste2SSH is the first Mac app I've ever shipped.

I'm not a career Mac developer. I have an economics degree, I'm finishing a master's in data science in Basel, and I properly taught myself to code in 2024. This year I set myself a public challenge: ship twelve tiny internet products in twelve months. Paste2SSH is one of them.

Here's the honest origin. I run Claude Code on a Hetzner box, and getting a screenshot over to it was just annoying enough that I mostly didn't. I'd type out a description of the bug instead of showing it. More work for me, worse input for the agent.

So I hacked together a command-line tool that could push images over SSH. It helped, but toggling it on and off, and re-pointing it at a different host every time I switched projects, was its own little chore.

One weekend in June I turned it into a proper Mac app. I've used it every day since, and I've stopped typing descriptions of things I can just show.

Now I'm making it available to everyone.

It's free. It uses the SSH setup you already have. It uploads to your server, never mine. There's no backend, no account, no license check. Just the one thing, done well.

If it saves you real time and you feel like sending five dollars to the person who built it, the button below does exactly that. No obligation. The app is identical either way. But every $5 gets me a step closer to building small useful things like this full-time.

If something doesn't fit your setup, write me at [email protected]. I read everything.

— Norbert

P.S. Ten more of these are coming this year. The list lives at norbertkiss.com.

Quick answers

Before you ask.

Does it upload to a cloud?

No. It uploads only to the SSH server you configured. Nothing routes through me.

Does it work with Claude Code?

Yes, that's why it exists. The screenshot lands where Claude Code runs; you paste the remote path and the agent reads the file.

Does it work with Codex?

Yes. Anything running on the remote that can read a file path works: Codex, Gemini CLI, aider, or your own scripts. Paste2SSH just gets the image onto the server and hands you the path.

Does it use my existing SSH keys?

Yes. Your keys, your ssh-agent, your ~/.ssh/config. If you can scp from Terminal, Paste2SSH can use the same host.

Is it really free?

Yes. No license key, no account, no in-app payment check. The $5 button is optional support.

Do I have to open the app every time?

No. There's a menu bar icon: toggle paste mode, switch hosts, and re-copy the last path without opening the window.

What if the SSH connection drops?

The upload fails, you see the error, your clipboard is unchanged. Reconnect and try again.

Will it pile up screenshots on my server forever?

Only if you let it. Opt in to remote cleanup and pick a retention (7 to 90 days), scoped strictly to the folder you chose. Off by default.

Windows or Linux?

Not yet. Mac first, because that's the workflow I needed. Ask and I'll think about it.

Take the next screenshot the easy way.

Free · ~5 MB · macOS 14+