iCloud on Linux as a desktop app
Apple has no iCloud app for Linux, and iCloud.com in a browser is the only first-party way in. Pake CLI can wrap www.icloud.com in a window of its own, with its own launcher entry and download folder, in one build command. It is still the website: Mail, Calendar, Notes and the rest work as on the web, but nothing syncs in the background, so a Pake window makes iCloud.com feel like an app and adds no file sync.
What Apple offers
Apple's system requirements for iCloud list the browsers for iCloud.com: Safari 13.1 or later, Firefox 128 or later, Chrome 130 or later, Opera, or Edge 130 or later on Mac, and Firefox 128 or later, Chrome 130 or later (desktop mode only) or Edge 130 or later on a PC. The page does not mention Linux. For other systems it says some Android devices can use iCloud.com, and that the site works best in supported browsers on macOS, iOS, iPadOS and Windows. A Pake window on Linux runs WebKitGTK, which is on none of those lists, so Apple has not promised it will work.
Apple's iCloud User Guide names these apps on iCloud.com: Mail, Calendar, Contacts, Notes, Reminders, Photos, iCloud Drive, Pages, Numbers, Keynote, Apple Invites, Hide My Email and Find Devices. Find My is also available on the web. iCloud for Windows is Apple's route for syncing folders, and nothing equivalent exists for Linux.
What the web cannot do
iCloud Drive on iCloud.com is upload and download. Apple's guide has you select the upload button or drag files in, and download with the Download button, and downloaded files go "to the location specified in your web browser's settings". A file you edit locally stays local until you upload it again.
That is the gap against iCloud for Windows, which puts iCloud Photos in C:\Users\[username]\Pictures\iCloud Photos\Photos and shows iCloud Drive in File Explorer. On Linux, a Pake window gives you neither a mounted Drive folder nor a Photos library on disk. If you need files kept in sync, rclone's iCloud Drive backend can read and write iCloud Drive and, read-only, Photos. Its docs mark it Experimental ("expect gaps/changes"), require your regular Apple Account password plus two-factor authentication, and refuse app-specific passwords. Trust tokens expire after 30 days, after which you reconnect.
When a Pake window makes sense
If you mostly read mail, check a calendar, jot in Notes or fetch an occasional file, a dedicated window beats losing iCloud among thirty browser tabs. You get a launcher entry, an alt-tab slot, and a separate login. If you want the installed-app feature of your browser, that covers the same ground.
What you need
Pake CLI needs Node.js 20.9 or later, Rust 1.85 or later and your distribution's WebKitGTK development packages, listed in the CLI FAQ. The getting started guide covers the rest, and ChatGPT and Claude on Linux walks through the same build with more detail on package formats.
Build it
npm install -g pake-cli
pake https://www.icloud.com --name iCloud --width 1200 --height 800 --new-window --hide-on-close --download-dir '~/Downloads/iCloud'
--name sets the app name, lowercased on Linux, so the package is icloud. --width and --height set the starting window, 1200 by 780 by default. --new-window allows the site to open new windows, which helps when a flow depends on a popup. --hide-on-close keeps the app running after you close the window; it is off by default on Linux. --download-dir puts downloads in a folder you choose; use an absolute path or a quoted ~/path, as the options reference explains, and the directory is created on the first download. Leave it out and downloads go to the system Downloads folder. Add --targets deb, --targets rpm, --targets appimage or, on Arch, --targets zst for one format. The first build compiles dependencies and takes several minutes.
--multi-window is a different thing: it opens extra windows from one running process, which suits having Mail and Photos side by side. The docs say it can improve popup-based sign-in but cannot bypass provider policy.
If you run Arch or Omarchy
The Pake desktop app builds the same kind of window without Node.js or Rust. It supports Arch-based distributions such as Omarchy on x86_64, installed with pacman as described in Install. In Create, paste www.icloud.com, click Create from this website, set the name, and click Create App. The matching options are Hide to tray on close, which also turns on Tray icon, Multiple windows and Open new windows in the app. It has no download folder setting, so downloads go to the system Downloads folder. On Ubuntu, Fedora or any other distribution, use the CLI.
How it works underneath
On Linux a Pake app is a Tauri shell that draws the page in the system's WebKitGTK instead of a bundled Chromium. The window loads www.icloud.com like any page, so each iCloud web app runs as Apple built it, and your sign-in lives in the app's own WebView profile, separate from your browser. Quit and reopen once to confirm it stays signed in; a build with --incognito would ask every time. See how Pake works for the longer version.
Sign in and check it
Open the app and sign in with your Apple Account. Apple's sign-in page says you may need to enter a code sent to a trusted device or phone number, or use a security key. Then test in order: open Mail, create a Calendar event, open Notes, upload a small file to iCloud Drive and download it, and open Photos and scroll.
What goes wrong
- The sign-in page rejects the window or loops. Apple lists no WebKitGTK browser, so this can happen.
--user-agentchanges what the app reports (guide), and on Linux Pake sends a Safari-style string by default. Changing the string does not change the engine, and if iCloud still refuses, use Firefox or Chrome. - Passkey sign-in. Apple's sign-in page also offers Sign in with Passkey, which needs iCloud Keychain and an iPhone or iPad on iOS 17 or iPadOS 17 or later, and finishes with a QR code on that device. The Pake FAQ says passkeys and Touch ID are not available in Pake apps on macOS; it does not say the same for Linux, so test it, and fall back to a password and a two-factor code.
- Advanced Data Protection. Apple says that turning it on switches off data access from iCloud.com. To get back in, turn on Allow Data Access or Access iCloud Data on the Web in iCloud settings on your device, sign in, and approve on a trusted device. For the next hour your device approves each new category of data you open, such as photos, notes or files; after that hour a new category needs approval again, and a category you already opened stays available until you sign out or close the session. Health data and iCloud Keychain passwords are not on iCloud.com at all, and you can still find your devices at iCloud.com/find.
- Popups and downloads. The Pake FAQ says that on macOS and Linux most sign-in popups open in the current window instead, because the WebKit view can crash on them or drop them. That can change how Drive or Photos flows behave, so watch for a window that navigates away without a way back. Downloads go to
--download-diror the system Downloads folder, and an unwritable directory makes the download fail rather than go elsewhere. - Blank window or dead clicks under Wayland. The FAQ suggests
PAKE_LINUX_WEBKIT_SAFE_MODE=0when clicks do not reach the page and=1when the window is blank.
FAQ
Is there an official iCloud app for Linux?
Not from Apple. Apple's pages cover iCloud.com in a browser, and iCloud for Windows, but not Linux. Check Apple's requirements page for changes.
Will my iCloud Drive folder sync?
No. Pake shows the website, which offers upload and download only. For sync, look at rclone's iCloud Drive backend, which its docs call experimental.
Can I run two Apple Accounts?
Build a second app under a different name; each keeps its own data. The two accounts guide shows the pattern.
