A Decky Loader plugin that brings LocalSend functionality to Steam Deck gaming mode.
Related Backend Repo: MoYoez/localsend-go
- Full LocalSend protocol support (except Web LocalSend)
- "Shared Via Link" for one-way file transfer via link
- Upload and browse screenshots
- Some unique LocalSend features (e.g., accepting previous transfer list, PINs, handling HTTP/HTTPS in certain environments)
This plugin requires Decky Loader 3.0 or above.
- On your Steam Deck, install the plugin:
-
Get the version from the Decky store (Decky Localsend 0.45)
-
Or, download the latest release from the releases page
-
Or, install using a URL in Decky by entering:
-
Decky not installed?| Refer to Decky-Loader for help | If necessary, search Youtube for help.
- Open the plugin from the Quick Access menu
- The LocalSend server will start automatically when clicking start Backend
- Your Steam Deck will now be discoverable by other LocalSend clients
- Send files from any device running LocalSend to your Steam Deck
The plugin uses the following default settings:
- Port: 53317
- Protocol: HTTPS
- Upload Directory:
~/homebrew/data/decky-localsend/uploads - Config File:
~/homebrew/settings/decky-localsend/localsend.yaml
You can customize these settings through the plugin interface.
.
├── backend/ # Go backend implementation
│ └── localsend/ # LocalSend protocol implementation
├── src/ # Frontend React components
│ ├── index.tsx # Main plugin entry
│ └── utils/ # Utility functions
├── main.py # Python backend bridge
├── plugin.json # Plugin metadata
└── package.json # Node.js dependencies
- None
-
Sometimes plugin cannot detect other machine ( (30s a time automaticlly , default timeout is 500s, can use Scan Now To Detect other client ) .If not found, consider restarting remote localsend client.)
-
Plugins can only work in same transfer protocol sometimes, although it has detect method to prevent transfer connection failed.
-
When transferring a very large number of files (tested with 3000+ files) to the Deck, the sending side of LocalSend may appear to stutter or become choppy due to multiple running threads. However, this does not affect the actual file transfer.
-
HTTP scanning may cause increased latency. HTTP timeout has been set to 60 seconds and runs every 30 seconds by default. Devices are updated via Notify, so you do not need to manually refresh to see remote devices.
-
please consider not to transfer too much files(selected), which may cause UI crash,folder dont' effect.
| Communication Method | Decky-Localsend Supported | Discoverable Remote Localsend Devices | Notes |
|---|---|---|---|
| UDP Scan | HTTP/HTTPS | HTTP, HTTPS | UDP can discover devices with any protocol. |
| HTTP Communication | HTTP | HTTP | Only devices with HTTP protocol are supported. |
| HTTPS Communication | HTTPS | HTTPS | Only devices with HTTPS protocol are supported. |
With UDP communication, Decky-Localsend can discover remote devices regardless of whether their protocol is HTTP or HTTPS.
# Fork YOURSELF REPO, replace {username} as your "username"
git clone --recurse-submodules git@github.com:{username}/Decky-Localsend.git
cd Decky-Localsend/backend/localsend
# require Golang >= 1.25.7
go mod tidy
cd Decky-Localsend/backend/localsend/web
# require NodeJS > 20
npm i
npm build
Please refer to Github Action Build
This Plugin is based on Localsend Protocol, so pls give a star to this!




