Send and receive files across your Tailscale network, from a desktop app or straight from your file manager on a Linux device.
Tailscale's file transfer works well on macOS and Windows, where the official
client quietly saves incoming files for you. On Linux there is no receiver at
all — files sit in the Tailscale inbox until you remember to run
tailscale file get. Chute fixes that, and makes sending a right-click instead
of a command.
- Receives automatically. A supervised background receiver drops arrivals into a folder you choose, with a desktop notification. Click a received file to reveal it in your file manager.
- Sends by right-click. A Send with Chute submenu appears in Nautilus and Dolphin with one entry per online device, so sending is two clicks and no window. The entries regenerate as devices come and go.
- Sends from a window. Pick a device, drag files in or browse for them.
- Stays out of the way. Lives in the tray, starts on login if you want.
Tailscale must be installed and running on the host, Chute is a front end for it, not a replacement. Everything else ships with the app.
Auto-updating (recommended)
flatpak remote-add --user chute https://jeffawe.github.io/chute/chute.flatpakrepo
flatpak install --user chute io.github.jeffawe.Chuteflatpak update picks up new versions from then on.
One-off
Download the bundle from Releases and install it:
flatpak install --user io.github.jeffawe.Chute.flatpakNo updates with this route — reinstall a newer bundle to upgrade.
Nothing special: it is an ordinary Linux machine and the commands above work
unchanged. Use Desktop Mode, and make sure Tailscale is already running on the
Deck first. Everything installs under $HOME, so SteamOS updates leave it
alone.
packaging/install.sh wraps the bundle route with preflight checks that
Tailscale is reachable from inside the sandbox, on any distro.
Needs flatpak and flatpak-builder (or org.flatpak.Builder from Flathub):
./packaging/build.shThis produces packaging/io.github.jeffawe.Chute.flatpak and an ostree repo in
packaging/repo/. Dependencies are fetched during the build.
For development outside Flatpak you need Rust, Node, and the Tauri system libraries, then:
npm install
npm run tauri devNote that frontend changes only appear via tauri dev, a bare cargo build
loads the dev server URL rather than the embedded assets.
Chute shells out to the tailscale CLI rather than reimplementing anything:
| Need | Command |
|---|---|
| List devices | tailscale file cp --targets |
| Send | tailscale file cp <files> <device>: |
| Receive | tailscale file get --loop --conflict=rename <dir> |
Every invocation lives in src-tauri/src/tailscale.rs, so a change to the
CLI's output format is a one-file fix.
The Flatpak bundles its own copy of the statically linked tailscale binary,
because the sandbox cannot see the host's /usr/bin. It talks to the host's
tailscaled over /run/tailscale/tailscaled.sock — there is only ever one
daemon and one inbox, and the bundled CLI is just another client of it.
MIT. Bundles the Tailscale CLI, which is BSD-3-Clause.
Not affiliated with or endorsed by Tailscale Inc. "Tailscale" and "Taildrop" are trademarks of Tailscale Inc., used here only to describe compatibility.