Skip to content
proton-cli

proton drive items

Files and folders.

Every command under proton drive items, with the arguments and flags it takes. For these commands in use, see the drive guide.

Holds abuse, copy, create, delete, download, get, list, move, revisions, share, trash, update and upload.

Report something shared with you to Proton.

PATH is inside –shared REF, something somebody shared with you, or inside –link URL, a public link. Proton receives the key to the whole of what was shared, not only PATH. Copyright and stolen-data reports need –message and –email. Nothing withdraws a report, and the item stays where it is.

proton drive items abuse PATH
Terminal window
proton drive items abuse /invoice.exe --shared Project --category malware --good-faith
proton drive items abuse / --link 'https://drive.proton.me/urls/7X2K9M3N1P#kQ81mDx4T9wL' --category copyright --message 'My photos, published without permission' --email jane@proton.me --good-faith
Flag Description
--category string What the report is about: spam, copyright, child-abuse, non-consensual-intimate, stolen-data, malware, other
--email string Where Proton can reach you about the report; required for copyright and stolen-data
--good-faith Confirm, in good faith, that what the report says is correct and complete
--link string Work inside a public link somebody sent you, by URL
--link-password-file string Read the public link’s password from a file, or - for stdin
--message string What Proton should know; required for copyright and stolen-data
--shared string Work inside an item shared with you, by name or ID

Copy files into another folder.

proton drive items copy [PATH...]
Terminal window
proton drive items copy /Documents/report.pdf --into /Archive
proton drive items copy --pattern '*.pdf' --scope /Documents --into /Backup
Flag Description
--all Act on everything in scope, rather than a subset
--computer string Work inside this computer’s files, by name or ID
--into string Destination folder
--keyword string Match text in the name, and in a file’s contents once a drive index exists
--larger-than string Match files above SIZE (e.g. 100MB, 2GB)
--limit int Most items to affect; 0 for no cap (default 150)
--newer-than string Match files newer than DURATION
--older-than string Match files older than DURATION (e.g. 30d, 2w, 1h)
--pattern string Match names against a shell glob, e.g. *.tmp
--recursive Descend into subfolders when filtering
--scope string Look only inside this folder (default: the whole drive)
--shared string Work inside an item shared with you, by name or ID
--smaller-than string Match files below SIZE

Create a folder, and any missing folder above it.

PATH is in your own files. –computer REF creates inside a computer instead, –shared REF inside something somebody shared with you, and –link URL inside a public link. A share or a link has to allow editing.

proton drive items create PATH
Terminal window
proton drive items create /Documents/2026
proton drive items create /2026 --link 'https://drive.proton.me/urls/7X2K9M3N1P#kQ81mDx4T9wL'
Flag Description
--computer string Work inside this computer’s files, by name or ID
--link string Work inside a public link somebody sent you, by URL
--link-password-file string Read the public link’s password from a file, or - for stdin
--shared string Work inside an item shared with you, by name or ID

Delete files or folders permanently.

PATH is in your own files. –computer REF deletes inside a computer instead, –shared REF inside something somebody shared with you, and –link URL inside a public link. In a link, you can delete only what you uploaded yourself, signed in, within the last hour. A link has no trash.

proton drive items delete [PATH...]
Terminal window
proton drive items delete /Documents/report.pdf
proton drive items delete --pattern '*.tmp' --scope /Build --recursive --yes
proton drive items delete /photo.jpg --link 'https://drive.proton.me/urls/7X2K9M3N1P#kQ81mDx4T9wL'
Flag Description
--all Act on everything in scope, rather than a subset
--computer string Work inside this computer’s files, by name or ID
--keyword string Match text in the name, and in a file’s contents once a drive index exists
--larger-than string Match files above SIZE (e.g. 100MB, 2GB)
--limit int Most items to affect; 0 for no cap (default 150)
--link string Work inside a public link somebody sent you, by URL
--link-password-file string Read the public link’s password from a file, or - for stdin
--newer-than string Match files newer than DURATION
--older-than string Match files older than DURATION (e.g. 30d, 2w, 1h)
--pattern string Match names against a shell glob, e.g. *.tmp
--recursive Descend into subfolders when filtering
--scope string Look only inside this folder (default: the whole drive)
--shared string Work inside an item shared with you, by name or ID
--smaller-than string Match files below SIZE

Download a file or folder.

A folder is refused without –recursive. With it, the folder lands as a directory of its own name inside –dest-dir, subfolders and all, and –dest is refused: one path cannot take a tree.

Behind a public link, a file is / when the link points at the file itself, and a path inside the folder when it points at a folder. A link with a password takes it from –link-password-file, which takes - for stdin.

proton drive items download PATH
Terminal window
proton drive items download /Documents/report.pdf --dest-dir .
proton drive items download /Documents --recursive --dest-dir .
proton drive items download /Documents/report.pdf --dest - > report.pdf
proton drive items download /report.pdf --shared Project --dest-dir .
proton drive items download / --link 'https://drive.proton.me/urls/7X2K9M3N1P#kQ81mDx4T9wL' --dest-dir .
proton drive items download / --link 'https://drive.proton.me/urls/7X2K9M3N1P#kQ81mDx4T9wL' --link-password-file /run/secrets/q3-link --dest-dir .
Flag Description
--computer string Work inside this computer’s files, by name or ID
--dest string Write to this path, or - for stdout
--dest-dir string Write into this directory, keeping each item’s own name
--force Overwrite a file that already exists
--link string Work inside a public link somebody sent you, by URL
--link-password-file string Read the public link’s password from a file, or - for stdin
--recursive Download a folder and everything under it
--shared string Work inside an item shared with you, by name or ID

Show a file or folder’s details.

Reached through a public link, the details include the link, whether it allows editing and, for a link saved with shared add, the password its owner set on it. Behind a link, Created By names you on what you uploaded there yourself, signed in. Anything else names nobody and Signature reads anonymous.

proton drive items get PATH
Terminal window
proton drive items get /Documents/report.pdf
proton drive items get / --shared Q3-report.pdf
Flag Description
--computer string Work inside this computer’s files, by name or ID
--link string Work inside a public link somebody sent you, by URL
--link-password-file string Read the public link’s password from a file, or - for stdin
--shared string Work inside an item shared with you, by name or ID

List what is in a folder.

Takes the same filters as move, copy, trash and delete, so you can preview a selection here before acting on it. What PATH is here, those commands call –scope. A filtered listing shows each item’s full path.

–keyword matches names, and the contents of your text files once proton index create drive has downloaded them. Elsewhere - a computer, a share, a link - it matches names alone, and says so.

PATH is in your own files. –computer REF lists inside a computer instead, –shared REF inside something somebody shared with you, and –link URL inside a public link somebody sent you. In the last two, / is the item itself.

proton drive items list [PATH]
Terminal window
proton drive items list
proton drive items list /Documents
proton drive items list /Notes --keyword 'parking permit' --recursive
proton drive items list / --computer 'Work laptop'
proton drive items list / --shared Project
proton drive items list / --link 'https://drive.proton.me/urls/7X2K9M3N1P#kQ81mDx4T9wL'
Flag Description
--computer string Work inside this computer’s files, by name or ID
--desc Reverse the order
--keyword string Match text in the name, and in a file’s contents once a drive index exists
--larger-than string Match files above SIZE (e.g. 100MB, 2GB)
--limit int How many items per page; 0 for all of them (default 50)
--link string Work inside a public link somebody sent you, by URL
--link-password-file string Read the public link’s password from a file, or - for stdin
--newer-than string Match files newer than DURATION
--older-than string Match files older than DURATION (e.g. 30d, 2w, 1h)
--page int Which page of results, counting from zero
--pattern string Match names against a shell glob, e.g. *.tmp
--recursive Descend into subfolders when filtering
--shared string Work inside an item shared with you, by name or ID
--smaller-than string Match files below SIZE
--sort string Order by: name, size, modified (default name)

Move files or folders into another folder.

proton drive items move [PATH...]
Terminal window
proton drive items move /Documents/report.pdf --into /Archive
proton drive items move --pattern '*.log' --scope /Build --recursive --into /Archive
Flag Description
--all Act on everything in scope, rather than a subset
--computer string Work inside this computer’s files, by name or ID
--into string Destination folder
--keyword string Match text in the name, and in a file’s contents once a drive index exists
--larger-than string Match files above SIZE (e.g. 100MB, 2GB)
--limit int Most items to affect; 0 for no cap (default 150)
--newer-than string Match files newer than DURATION
--older-than string Match files older than DURATION (e.g. 30d, 2w, 1h)
--pattern string Match names against a shell glob, e.g. *.tmp
--recursive Descend into subfolders when filtering
--scope string Look only inside this folder (default: the whole drive)
--shared string Work inside an item shared with you, by name or ID
--smaller-than string Match files below SIZE

Earlier versions of a file.

Uploading over a file with --if-exists replace keeps what was there as a revision. You can read any revision back, restore it, or delete it.

Holds abuse, delete, download, list and restore.

Report an earlier version of a shared file to Proton.

PATH is inside –shared REF, something somebody shared with you. Proton receives the key to the whole of what was shared, not only this version. Copyright and stolen-data reports need –message and –email. Nothing withdraws a report.

proton drive items revisions abuse PATH REVISION_REF
Terminal window
proton drive items revisions abuse /report.pdf 5bH2mQxK --shared Project --category malware --good-faith
Flag Description
--category string What the report is about: spam, copyright, child-abuse, non-consensual-intimate, stolen-data, malware, other
--email string Where Proton can reach you about the report; required for copyright and stolen-data
--good-faith Confirm, in good faith, that what the report says is correct and complete
--message string What Proton should know; required for copyright and stolen-data
--shared string Work inside an item shared with you, by name or ID

Delete an earlier version permanently.

proton drive items revisions delete PATH REVISION_REF
Terminal window
proton drive items revisions delete /Documents/report.pdf 5bH2mQxK
Flag Description
--computer string Work inside this computer’s files, by name or ID
--shared string Work inside an item shared with you, by name or ID

Download an earlier version of a file.

The file itself is not changed. To put an old version back in place, use revisions restore.

proton drive items revisions download PATH REVISION_REF
Terminal window
proton drive items revisions download /Documents/report.pdf 5bH2mQxK --dest-dir .
Flag Description
--computer string Work inside this computer’s files, by name or ID
--dest string Write to this path, or - for stdout
--dest-dir string Write into this directory, keeping each item’s own name
--force Overwrite a file that already exists
--shared string Work inside an item shared with you, by name or ID

List a file’s earlier versions.

proton drive items revisions list PATH
Terminal window
proton drive items revisions list /Documents/report.pdf
Flag Description
--computer string Work inside this computer’s files, by name or ID
--shared string Work inside an item shared with you, by name or ID

Restore a file to an earlier version.

proton drive items revisions restore PATH REVISION_REF
Terminal window
proton drive items revisions restore /Documents/report.pdf 5bH2mQxK
Flag Description
--computer string Work inside this computer’s files, by name or ID
--shared string Work inside an item shared with you, by name or ID

The people you share a file or folder with.

Holds add, confirm, get, remove, resend and update.

Invite someone to a file or folder.

EMAIL may be an address outside Proton. Proton emails them an invitation to create an account, and nothing reaches them until they have one and you run share confirm.

proton drive items share add PATH EMAIL
Terminal window
proton drive items share add /Documents jane@example.com
proton drive items share add /Documents jane@example.com --access editor --message 'Have a look'
Flag Description
--access string What they may do with it: viewer, editor (default viewer)
--computer string Work inside this computer’s files, by name or ID
--message string Note to include in the invitation email
--shared string Work inside an item shared with you, by name or ID

Let somebody in once they join Proton.

Use it for an address that had no Proton account when you invited it. It is refused until the account exists, and share get says who is ready. Afterwards they hold an ordinary invitation, which they still have to accept.

proton drive items share confirm PATH EMAIL
Terminal window
proton drive items share confirm /Documents jane@example.com
Flag Description
--computer string Work inside this computer’s files, by name or ID
--shared string Work inside an item shared with you, by name or ID

Show how a file or folder is shared.

proton drive items share get PATH
Terminal window
proton drive items share get /Documents/report.pdf
Flag Description
--computer string Work inside this computer’s files, by name or ID
--shared string Work inside an item shared with you, by name or ID

Revoke someone’s access, or cancel their invitation.

proton drive items share remove PATH EMAIL
Terminal window
proton drive items share remove /Documents jane@example.com
Flag Description
--computer string Work inside this computer’s files, by name or ID
--shared string Work inside an item shared with you, by name or ID

Send an unanswered invitation again.

proton drive items share resend PATH EMAIL
Terminal window
proton drive items share resend /Reports jane@proton.me
Flag Description
--computer string Work inside this computer’s files, by name or ID
--shared string Work inside an item shared with you, by name or ID

Change what somebody may do with a file or folder.

Name them by address. It works whether they have accepted the share or still have it pending.

proton drive items share update PATH EMAIL
Terminal window
proton drive items share update /Reports jane@proton.me --access editor
proton drive items share update /Reports jane@proton.me --access viewer
Flag Description
--access string What they may do with it: viewer, editor (default viewer)
--computer string Work inside this computer’s files, by name or ID
--shared string Work inside an item shared with you, by name or ID

Move files or folders to the trash.

A public link has no trash. What you uploaded into one is removed with delete.

proton drive items trash [PATH...]
Terminal window
proton drive items trash /Documents/report.pdf
proton drive items trash --pattern '*.tmp' --scope /Build --recursive
proton drive items trash --older-than 1y --scope /Downloads --dry-run
Flag Description
--all Act on everything in scope, rather than a subset
--computer string Work inside this computer’s files, by name or ID
--keyword string Match text in the name, and in a file’s contents once a drive index exists
--larger-than string Match files above SIZE (e.g. 100MB, 2GB)
--limit int Most items to affect; 0 for no cap (default 150)
--newer-than string Match files newer than DURATION
--older-than string Match files older than DURATION (e.g. 30d, 2w, 1h)
--pattern string Match names against a shell glob, e.g. *.tmp
--recursive Descend into subfolders when filtering
--scope string Look only inside this folder (default: the whole drive)
--shared string Work inside an item shared with you, by name or ID
--smaller-than string Match files below SIZE

Rename a file or folder.

Renaming is update --name; there is no rename verb. To put something somewhere else, use move.

PATH names something inside a tree, never the tree itself: to rename a computer, use computers update.

PATH is in your own files. –computer REF renames inside a computer instead, –shared REF inside something somebody shared with you, and –link URL inside a public link. In a link, you can rename only what you uploaded yourself, signed in, within the last hour.

proton drive items update PATH
Terminal window
proton drive items update /Documents/report.pdf --name summary.pdf
proton drive items update /photo.jpg --name holiday.jpg --link 'https://drive.proton.me/urls/7X2K9M3N1P#kQ81mDx4T9wL'
Flag Description
--computer string Work inside this computer’s files, by name or ID
--link string Work inside a public link somebody sent you, by URL
--link-password-file string Read the public link’s password from a file, or - for stdin
--name string New name, without a path
--shared string Work inside an item shared with you, by name or ID

Upload a file or directory.

A name already taken is refused. –if-exists answers instead:

replace a new revision, keeping the file’s history rename keep both, numbering the one being uploaded skip leave what is there alone

With –recursive that answer is about the folder the tree lands in.

SRC of - reads standard input, and then DEST has to name the file.

DEST is in your own files. –computer REF uploads into a computer instead, –shared REF into something somebody shared with you, and –link URL into a public link. In the last two, / is the item itself. A share or a link has to allow editing, and a link takes no new revisions: –if-exists replace is refused there.

proton drive items upload SRC [DEST]
Terminal window
proton drive items upload ./report.pdf /Documents
proton drive items upload --recursive ./project /Backup
proton drive items upload --if-exists replace ./report.pdf /Documents
proton drive items upload ./photo.jpg / --link 'https://drive.proton.me/urls/7X2K9M3N1P#kQ81mDx4T9wL'
pg_dump mydb | gzip | proton drive items upload - /Backups/db.sql.gz
Flag Description
--computer string Work inside this computer’s files, by name or ID
--if-exists string What to do when the folder already has that name: rename, replace, skip
--link string Work inside a public link somebody sent you, by URL
--link-password-file string Read the public link’s password from a file, or - for stdin
--recursive Upload a directory and everything under it
--shared string Work inside an item shared with you, by name or ID

Every command also takes the flags that work everywhere.