Your passwords never leave Ferry.
Credentials stay encrypted inside Ferry’s config. The command loads them in-process and uses them directly — never typed on the command line, printed, or written to any log.
New · For Claude & the terminal
Ferry includes a small ferry command that Claude — or you — can use to move files over the connections you’ve already saved. You refer to a connection by name; Ferry keeps the credentials. No password ever reaches Claude, the command line, or a log.
Zero-trust by design Passwords stay encrypted inside Ferry — Claude only sees connection names.
# Claude, using your saved connections — no password needed $ ferry conn ls NAME TYPE DETAILS webserver sftp deploy@example.com:22 backups s3 acme-backups $ ferry put ./release.zip webserver:/var/www/releases/ Uploaded ./release.zip → webserver:/var/www/releases/ (4.2 MB) $ ferry ls backups:/2026/ --json [ { "name": "jan.tar.gz", "size": 91813423, … } ]
Ferry loads the credentials in-process — they never reach Claude.
The whole point: Claude can do the busywork of moving files, and still never touch a secret.
Credentials stay encrypted inside Ferry’s config. The command loads them in-process and uses them directly — never typed on the command line, printed, or written to any log.
You say “upload this to my web server”; Claude runs ferry put … webserver:/…. It only ever sees the name you gave the connection — not the host, the username, or the secret.
The ferry command is bundled inside Ferry itself — signed and notarized with the app. One click in Settings installs it for your terminal and for Claude.
Like the app, the CLI records what it did in Ferry’s plain-text activity log. Passwords and keys are never part of that record.
The same ferry command works across FTP, SFTP, Amazon S3, Google Cloud and any S3-compatible storage — because it drives the exact same engine as the app.
ferry conn ls |
List your saved connections — names and types only, never passwords. |
ferry ls myserver:/path |
List the files in a remote folder. |
ferry tree myserver:/ --depth 2 |
See the folder structure at a glance. |
ferry get myserver:/report.pdf |
Download a file (add -r for a whole folder). |
ferry put ./report.pdf myserver:/uploads/ |
Upload a file (add -r for a whole folder). |
ferry cat myserver:/notes.txt |
Print a remote file without downloading it. |
ferry mkdir myserver:/new-folder |
Create a remote folder. |
ferry rm myserver:/old.txt --yes |
Delete a remote file (or folder with -r). |
ferry doctor |
Show where Ferry stores its config and how many connections you have. |
… --json |
Add --json to any command for machine-readable output Claude can parse. |
Remote paths use simple connection:/path syntax. Destructive actions always need --yes.
Add your FTP, SFTP, S3 or cloud connections in the app once. Their credentials are encrypted and stay on your machine.
Open Ferry → Settings → Command-line tool and click “Install ferry command.” The app already knows exactly where it lives, so there’s nothing to configure.
With the Ferry skill enabled, ask Claude in plain language — “download the latest logs from my server” — and it uses ferry with the right connection, never needing a password.
Download Ferry, save your connections, and install the ferry command — then let Claude take it from there.