Repository navigation
Adds Linux clients and makes password-only SSH hosts work with no setup.
Added
- Linux clients (beta). The clipboard is read through
wl-pasteon Wayland orxclipon X11, coveringtext/uri-listplus the GNOME and legacy Nautilus flavors, and PNG screenshots. Copy a file in Files or Dolphin and paste it into the terminal exactly as on macOS. - Password-only hosts work without configuration. When ssh rejects the upload for lack of credentials, clip2remote asks for the password once and opens a background master connection;
ControlPersistkeeps it warm so later pastes reuse it silently. The password is never written to disk and never placed in an environment variable — it travels through a 0600 FIFO in a 0700 directory, read once by a generated askpass helper, and the directory is removed immediately. Requires OpenSSH 8.4+ on the client (forSSH_ASKPASS_REQUIRE); tunable viaclip2remote.masterPersistSeconds. Ctrl+Shift+Valso triggers the paste, the conventional terminal paste on Linux.- A missing
wl-clipboard/xclip, or no graphical session, is reported once per session with the install command instead of failing silently on every paste.
Fixed
- Uploads no longer demand a second authentication on a password-only host.
reuseSshConnectionused to impose its ownControlPath, overriding any multiplexing the user had configured — so an ssh master already authenticated for the window (the one Remote-SSH holds open) was ignored, and the upload tried to open a fresh connection thatBatchMode=yescannot authenticate. clip2remote now consultsssh -G <host>and inherits the user's master. Affects every client platform, not just Linux. - A remote window with no resolvable SSH target no longer inserts client-side paths. Connecting to a host without opening a folder leaves no authority to read, so the window looked local and (with
enableInLocalWindowson) injected the client's own paths into a terminal on the remote, where they do not exist. Such a window now reports the problem instead. - Staged screenshots live under the OS temp dir rather than a hardcoded
/tmp.
Verified
- macOS client — macOS 26.5.2 (25F84), VS Code 1.131.0, Node 24.11.1. Unit suite 67/67. Live: a Finder-copied file pasted into a Remote-SSH terminal — uploaded, deduplicated on repeat, remote path inserted — against both a Linux and a macOS remote.
- Linux client (beta) — Ubuntu 24.04.4 LTS, Node 24.11.1, wl-clipboard 2.2.1 and xclip 0.13 present. Unit suite 67/67. The clipboard backend has not been run against a live desktop session. That is what beta means here.
- Windows client — not supported in this release;
Ctrl+Vfalls through to VS Code's own paste.
Full notes: CHANGELOG.md