Drive
Your Drive as paths. Files are encrypted before they leave your machine and decrypted after they arrive, block by block, with your keys.
Every command and flag is in the proton drive reference. This page is the things people actually do.
Look around
Section titled “Look around”proton drive items list # the rootproton drive items list /Documentsproton drive items list /Build --pattern "*.tmp" --recursiveproton drive items get /Documents/report.pdf # type, size, checksum, sharing stateUpload and download
Section titled “Upload and download”proton drive items upload ./report.pdf /Documentsproton drive items upload --recursive ./project /Backuppg_dump mydb | proton drive items upload - /Backups/db.sql
proton drive items download /Documents/report.pdf --output-dir ./downloads/proton drive items download /Documents/report.pdf --output - | lessUploads show progress on stderr. A name already taken is refused, so nothing is overwritten by accident; --if-exists answers the question instead:
proton drive items upload --if-exists replace ./report.pdf /Documents # a new revision of itproton drive items upload --if-exists rename ./report.pdf /Documents # keeps both, as "report (1).pdf"proton drive items upload --if-exists skip ./report.pdf /Documents # leaves what is there aloneWith --recursive the answer is about the folder the tree lands in. replace merges it file by file, rename puts the whole tree beside the old one as project (1), and skip writes none of it.
A file standing where a folder must go, or a folder where a file must go, is refused before anything is written.
Move, rename, copy, organize
Section titled “Move, rename, copy, organize”proton drive items update /Documents/old.txt --name new.txtproton drive items move /Documents/report.pdf --into /Archiveproton drive items copy /Documents/report.pdf --into /Archiveproton drive items create /Documents/2026/Q1/receipts # makes 2026 and Q1 on the wayA path names every folder along it, so the ones above the last are made too: Created 3 folders down to /Documents/2026/Q1/receipts. The folder you asked for is the exception - a name Drive already holds is refused, as is a path running through a file.
Trash and delete
Section titled “Trash and delete”proton drive items trash /Documents/old.pdf # reversibleproton drive items delete /Documents/old.pdf # permanentproton drive trash listproton drive trash restore 7Kd91mQxproton drive trash empty # permanent, across all volumestrash, delete, move and copy all take filters instead of paths - --pattern, --larger-than, --smaller-than, --older-than, --newer-than, --scope, --recursive, --all. Try them with list or --dry-run first:
proton drive items list /Build --pattern "*.tmp" --recursive # see what matchesproton drive items trash --scope /Build --pattern "*.tmp" --recursiveproton drive items delete --larger-than 100MB --scope /Downloads --recursive --dry-runA trashed item has no place in the tree, so it has no path and is addressed by the ID its listing showed.
Earlier versions
Section titled “Earlier versions”Uploading over a file with --if-exists replace keeps what was there as a revision.
proton drive items revisions list /Documents/report.pdfproton drive items revisions download /Documents/report.pdf 8f3a1c22 --output ./earlier.pdfproton drive items revisions restore /Documents/report.pdf 8f3a1c22download reads an old version out and leaves the file alone; restore puts one back in place.
Proton restores in the background, so the file changes a moment after the command returns. The version it replaces stays in the history, so a restore can itself be undone.
Neither command touches the version the file is at now. Restoring it would do nothing, and deleting it would be deleting the file.
Share it
Section titled “Share it”proton drive items share link /Documents/report.pdf --expires 7d --password hunter2proton drive items share get /Documents/report.pdf # who has access, plus the linkproton drive items share unlink /Documents/report.pdf
proton drive items share add /Documents/project bob@proton.me --edit --message "Draft for review"proton drive items share update /Reports jane@proton.me --edit=falseproton drive items share remove /Documents/report.pdf bob@proton.meshare update applies whether they have accepted yet or not. Nothing is re-encrypted - the key they hold still opens the share, and only what they may do with it changes. share resend sends an unanswered invitation again rather than cancelling and inviting afresh.
proton drive shared list # what other people have shared with youproton drive sharing list # what you have left openproton drive invitations listproton drive invitations accept INVITATION_IDAn item somebody shared with you does not live in your tree, so it has no path. Address it by the ID the listing shows. One whose name cannot be read is still listed - knowing it is there is what lets you act on it.
Photos
Section titled “Photos”proton drive photos list --tag favoritesproton drive photos upload ./IMG_0001.jpgproton drive photos download 3Ns8pT2v --output-dir ./photos/proton drive photos favorite 3Ns8pT2vTags are favorites, screenshots, videos, live-photos, motion-photos, selfies, portraits, bursts, panoramas and raw. Photos have no path either, so they are addressed by ID.
proton drive photos albums create --name Holidayproton drive photos albums add ALBUM_ID PHOTO_ID...proton drive photos list --album ALBUM_IDproton drive photos albums delete Holiday --delete-photosSettings
Section titled “Settings”proton drive settings set version-history 30dversion-history is off, 7d, 30d, 180d, 1y or 10y - how long previous versions are kept. Keeping more than the default is a paid feature.