curl -fsSL https://raw.githubusercontent.com/roman-16/proton-cli/main/scripts/install.sh | sh
brew install --cask roman-16/tap/proton-cli
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://roman-16.github.io/proton-cli/gpg.key | sudo tee /etc/apt/keyrings/proton-cli.asc > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/proton-cli.asc] https://roman-16.github.io/proton-cli stable main" | sudo tee /etc/apt/sources.list.d/proton-cli.list
sudo apt update && sudo apt install proton-cli
irm https: // raw.githubusercontent.com / roman - 16 / proton - cli / main / scripts / install.ps1 | iex
winget install Roman-16.ProtonCLI
npm install -g @roman-16/proton-cli
environment . systemPackages = [ pkgs . proton-cli ] ;
Real end-to-end encryption SRP login and the full PGP key hierarchy, handled on your machine with Proton's own go-srp and gopenpgp. No bridge, no proxy, no browser in the middle.
Five apps, one binary Mail, Drive, Calendar, Pass and Contacts, in a single static executable on Linux, macOS and Windows. One grammar and one output shape across all five.
Built for pipes and cron JSON and YAML with one envelope shape for every list, streaming stdin and stdout, exit codes that mean something, and --dry-run on everything that changes state.
What you can do Every command reads the same way, proton <app> <collection> <verb>, and anywhere one wants an ID, a subject, name or URL works too.
MailThreads, attachments, filters, snoozing, block and allow lists, and auto-reply.
proton mail messages list --unread
proton mail messages get "Invoice #2291"
proton mail messages send --to alice@proton.me --subject Report --body "See attached."
proton mail messages reply "Invoice #2291" --body "Thanks, paid today."
DriveRevisions, sharing with people, what others shared with you, and photo albums.
proton drive items list /Documents
proton drive items upload --recursive ./project /Backup
proton drive items download /Documents/report.pdf --dest-dir .
proton drive links create /Documents/report.pdf --expires 7d
CalendarRecurring events occurrence by occurrence, all-day events, attendees, and .ics in and out.
proton calendar events list --after 2026-04-15 --before 2026-04-30
proton calendar events create --title Standup --start 2026-04-16T09:00 --duration 15m
proton calendar events respond "Team sync" --answer accept
proton calendar events export --after 2026-01-01 --before 2026-12-31 --dest year.ics
PassNotes, cards, SSH keys, identities, two-factor codes, attachments, item history, and backups.
proton pass items list --vault Work
proton pass items get github.com
proton pass items create --name GitHub --username roman --url github.com --generate-password
proton pass items totp github.com
ContactsTyped addresses and phones, the full vCard field set, duplicate merging, and vCard import and export.
proton contacts create --name "Jane Roe" --email jane@example.com
proton contacts export --dest-dir ./address-book
Common questions Proton ships a CLI for Drive and one for Pass, and Bridge for mail in a desktop client. This is one binary across all five apps.