No ribbon toolbars. No "site manager wizard". The things a working developer needs, and a couple of things no other client has.
⇅SFTP first, FTP still there
Key auth with your existing ssh-agent, or a password if you must. FTPS and plain FTP for the shared hosts that never upgraded.
#Hash-based deploys
A manifest on the server records the SHA-256 of every file it has. Deploys upload only what changed, even if timestamps lie.
⎇Deploy history with git
Each deploy stores the commit, branch, dirty flag, message, byte count and which agent ran it. "What is live right now?" has an answer.
◆Live agent feed
In the desktop app, every call an agent makes shows up as it happens, with a progress card for the deploy, and expands to show where every file went. A Windows notification tells you how it ended while you are in another window.
⌘MCP server built in
Eighteen typed tools for Claude Code and any MCP client. Sites, diff, deploy, undo, verify, rollback, ls, stat, read, write, upload, download, rename, delete, history.
∅Ignore rules that make sense
.git, node_modules, .env and logs never go up. Add a .coolftpignore for the rest, gitignore syntax.
↶Undo without git, rollback with it
Every deploy moves the files it overwrites into a backup on the server first, so coolftp undo puts them back even from a dirty tree. coolftp rollback restores any commit in history. Your working tree is never touched.
✓Deploys that verify themselves
Give a site its public URL and every deploy fetches the homepage and the changed pages, compares static files byte for byte with what you uploaded, and exits non-zero when the site does not answer. Agents stop guessing.
!A human click for destructive changes
With the desktop app open, when an agent asks to delete, deploy with --delete, or roll back, the app pops a yes/no on your screen. Two minutes with no answer means no.
▶Build before deploy
Set "build": "npm run build" in the project file and every deploy runs it first, agent-triggered or not.
⌫Stale file cleanup, opt-in and guarded
Files you deleted locally are listed as stale and left alone until you pass --delete. A first deploy into a folder with other files refuses to delete them at all.
⚿Pinned host keys, encrypted passwords
SFTP host keys are remembered on first use and a changed key is refused. Passwords are encrypted with the Windows user account, never plain text.
▤Two panes, no clutter
In the desktop app: local on the left, remote on the right, drag and drop from Explorer, preview text files in place, keyboard driven.
⇄Confirmed, parallel, resumable
Big FTP deploys use four connections. Every upload's size is read back from the server, changed files are swapped into place rather than overwritten, and if a deploy dies halfway the next run finishes the rest.
⌂Runs without the app too
Close the desktop app and the CLI and MCP server keep working in-process. Same commands, same config, on a headless box or in CI.