---
title: "iCloud Drive"
description: "Rclone docs for iCloud Drive"
versionIntroduced: "v1.69"
status: Beta
---

# {{< icon "fa fa-cloud" >}} iCloud Drive


## Configuration

The initial setup for an iCloud Drive backend involves getting a trust token/session. This can be done by simply using the regular iCloud password, and accepting the code prompt on another iCloud connected device. 

**IMPORTANT**: At the moment an app specific password won't be accepted. Only use your regular password and 2FA.

`rclone config` walks you through the token creation. The trust token is valid for 30 days. After which you will have to reauthenticate with `rclone reconnect` or `rclone config`.

Here is an example of how to make a remote called `iclouddrive`.  First run:

     rclone config

This will guide you through an interactive setup process:

```
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> iclouddrive
Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
[snip]
XX / iCloud Drive
   \ (iclouddrive)
[snip]
Storage> iclouddrive
Option apple_id.
Apple ID.
Enter a value.
apple_id> APPLEID  
Option password.
Password.
Choose an alternative below.
y) Yes, type in my own password
g) Generate random password
y/g> y
Enter the password:
password:
Confirm the password:
password:
Edit advanced config?
y) Yes
n) No (default)
y/n> n
Option config_2fa.
Two-factor authentication: please enter your 2FA code
Enter a value.
config_2fa> 2FACODE
Remote config
--------------------
[koofr]
- type: iclouddrive
- apple_id: APPLEID
- password: *** ENCRYPTED ***
- cookies: ****************************
- trust_token: ****************************
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
```

## Advanced Data Protection

ADP is currently unsupported and need to be disabled

{{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/iclouddrive/iclouddrive.go then run make backenddocs" >}}
### Standard options

Here are the Standard options specific to iclouddrive (iCloud Drive).

#### --iclouddrive-apple-id

Apple ID.

Properties:

- Config:      apple_id
- Env Var:     RCLONE_ICLOUDDRIVE_APPLE_ID
- Type:        string
- Required:    true

#### --iclouddrive-password

Password.

**NB** Input to this must be obscured - see [rclone obscure](/commands/rclone_obscure/).

Properties:

- Config:      password
- Env Var:     RCLONE_ICLOUDDRIVE_PASSWORD
- Type:        string
- Required:    true

#### --iclouddrive-trust-token

Trust token (internal use)

Properties:

- Config:      trust_token
- Env Var:     RCLONE_ICLOUDDRIVE_TRUST_TOKEN
- Type:        string
- Required:    false

#### --iclouddrive-cookies

cookies (internal use only)

Properties:

- Config:      cookies
- Env Var:     RCLONE_ICLOUDDRIVE_COOKIES
- Type:        string
- Required:    false

### Advanced options

Here are the Advanced options specific to iclouddrive (iCloud Drive).

#### --iclouddrive-client-id

Client id

Properties:

- Config:      client_id
- Env Var:     RCLONE_ICLOUDDRIVE_CLIENT_ID
- Type:        string
- Default:     "d39ba9916b7251055b22c7f910e2ea796ee65e98b2ddecea8f5dde8d9d1a815d"

#### --iclouddrive-encoding

The encoding for the backend.

See the [encoding section in the overview](/overview/#encoding) for more info.

Properties:

- Config:      encoding
- Env Var:     RCLONE_ICLOUDDRIVE_ENCODING
- Type:        Encoding
- Default:     Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot

#### --iclouddrive-description

Description of the remote.

Properties:

- Config:      description
- Env Var:     RCLONE_ICLOUDDRIVE_DESCRIPTION
- Type:        string
- Required:    false

{{< rem autogenerated options stop >}}
