Install filefling
Download the macOS beta ZIP, unzip it, and move filefling into Applications. Launch it from Applications; it will appear in your menubar. The current beta is unsigned, so macOS Gatekeeper may ask you to approve the first launch.
setup guide
filefling sends files from your Mac to a remote AI coding machine using SSH/SFTP. If you can SSH into the server, you can usually get filefling working in a few minutes.
Prefer plain text? Agents and humans can use /docs.md and /llms.txt.
Getting started
Before you start
Download the macOS beta ZIP, unzip it, and move filefling into Applications. Launch it from Applications; it will appear in your menubar. The current beta is unsigned, so macOS Gatekeeper may ask you to approve the first launch.
filefling uses your existing SSH access. Before configuring the app, confirm that you can connect to the destination manually.
ssh your-user@your-host If your server is already in ~/.ssh/config, choose that host during setup to fill HostName, User, Port, and IdentityFile. Otherwise enter the values by hand.
Host devbox
HostName 100.64.1.2
User brad
Port 22
IdentityFile ~/.ssh/id_ed25519 Pick the folder where screenshots and files should land. filefling can create it during the connection test if your SSH user has permission.
~/shared The first-run setup flow saves your destination and runs a real test upload. It verifies SSH auth, host-key trust, remote directory creation, writability, upload, and cleanup.
By default filefling copies the raw remote path, but you can use a template for AI prompts, Markdown, or any text you paste often.
Please inspect this screenshot: {{remotePath}} Use the menubar button, preview the latest screenshot, drag a file into the window, or press the global hotkey.
⌘⇧F After a successful upload, the rendered clipboard output is ready to paste into your shell, editor, chat, or AI session.
Please inspect this screenshot: /home/brad/shared/2026-06-26_203015.png Configuration
{{remotePath}}Configuration
filefling can store multiple named destinations. Each destination keeps its own SSH connection fields, remote path, SSH config alias, and clipboard template. When more than one destination exists, the main window shows a destination picker above the drop zone.
In Settings, create a destination copied from the current connection, rename it, then adjust host, path, key, and clipboard output.
The active destination is used for hotkey sends, drag-and-drop uploads, test uploads, and history retry/send-again actions.
Configuration
The default template copies the raw remote path. You can replace it with an AI-agent prompt, Markdown image syntax, or any multiline text you paste often. Unknown placeholders are left visible so mistakes are easy to spot.
{{remotePath}}
Please inspect this uploaded file: {{remotePath}}
 Daily use
Press the hotkey or click “Send.” filefling uploads the newest image in your screenshot folder. The main window shows a thumbnail, filename, time, and size before sending.
Open the menubar window and drag a file onto the drop zone. filefling preserves the filename, with unsafe characters cleaned up.
Search recent sends, copy rendered output, copy the raw path, retry failures, send a local file again, reveal it in Finder, or delete one item.
SSH
filefling can read concrete hosts from ~/.ssh/config and simple Include files. It imports HostName, User, Port, and the first IdentityFile into the destination fields.
Host devbox
HostName 100.64.1.2
User brad
Port 22
IdentityFile ~/.ssh/id_ed25519 Advanced OpenSSH options such as ProxyJump, ProxyCommand, Match, and agent forwarding are not applied yet. Wildcard hosts are ignored in the picker.
Security
filefling uses trust-on-first-use host-key verification. It stores host, port, algorithm, SHA256 fingerprint, and trust time. If a server key changes, filefling shows a mismatch warning with the old and new fingerprints. Trusted keys can be reviewed and forgotten in Settings. For background, see the OpenSSH known_hosts format.
Help
Check the Screenshot Directory setting. It needs to point at the folder where macOS saves screenshots. Use the Refresh action in the preview area after changing it.
Confirm the username, host, and SSH key path. Also make sure the public key is installed in authorized_keys on the server.
Check the private key path. It should point to a key file such as ~/.ssh/id_ed25519, not a directory. Also check local file permissions.
filefling is protecting you from a possible server identity change. Verify the server, then use Settings → Trusted Host Keys → Forget if you intentionally rebuilt or replaced the server.
Create the folder on the server or choose a path your SSH user can write to. The connection test checks this directly.
Only concrete Host aliases are shown. Wildcard patterns such as Host *.internal are ignored because they are patterns, not destinations.
Older history entries may not have local file metadata. Retry, Send again, and Reveal require the original local path to be stored.
Reference
Stable links for people and agents reading about filefling, SSH-based file sharing, macOS screenshots, AI coding agents, and remote developer workflows.
Evergreen guide to sending macOS screenshots and files to remote AI coding agents over SSH/SFTP.
The full filefling documentation as Markdown for humans, agents, and search snippets.
A short agent-facing guide to the site, canonical pages, and product constraints.
Reference for Host, HostName, User, Port, IdentityFile, Include, and advanced SSH config options.
Background on known host keys and why filefling verifies server identity.
Apple’s guide to taking screenshots and screen recordings on macOS.
Useful if your remote destination is a private devbox reachable over a tailnet.