Rclone resolves Google Drive Symlinks by default

What is the problem you are having with rclone?

I’m running the below command in a PowerShell on a Win 11 machine.

hf is a personal Google Drive remote.
eco is a Google Workspace remote.

symlink-test directory contains a gdoc and a symlink to a directory outside symlink-test.

expected behaviour: symlink-test directory is created in eco including a copy of the gdoc; a notice about the skipped symlink in the shell.

observed behaviour: symlink-test directory is created in eco including a copy of the gdoc and a copy of the linked directory (including copy of the content).

I’m new to rclone so please bear with me. As far as I understood from reading through the docs and some posts I found on this topic in the forums, rclone does not follow symlinks by default and normally throughs a notice for every symlink it encounters during a copy process. In my scenario symlinks should be excluded and I’m struggling with reaching this goal as even with --links option the symlinks are treated like actual directories and being copied.

My question is: How can I make rclone ignore the symlinks and only copy actual files and directories?

Run the command 'rclone version' and share the full output of the command.

rclone v1.71.2

  • os/version: Microsoft Windows 11 Pro 25H2 25H2 (64 bit)
  • os/kernel: 10.0.26200.6899 (x86_64)
  • os/type: windows
  • os/arch: amd64
  • go/version: go1.25.3
  • go/linking: static
  • go/tags: cmount

The command you were trying to run (eg rclone copy /tmp remote:tmp)

´´´rclone copy hf:symlink-test/copy-src eco:symlink-test -P´´´

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

´´´
[eco]
type = drive
client_id = XXX
client_secret = XXX
scope = drive
token = XXX
team_drive = XXX
root_folder_id =

[hf]
type = drive
client_id = XXX
client_secret = XXX
scope = drive
token = XXX
team_drive =
### Double check the config for sensitive info before posting publicly
´´´

A log from the command that you were trying to run with the -vv flag

´´´
PS C:\Users\henry> rclone copy hf:symlink-test/copy-src eco:symlink-test -P -vv
2025/10/28 19:51:19 DEBUG : rclone: Version "v1.71.2" starting with parameters ["C:\\Users\\henry\\AppData\\Local\\Microsoft\\WinGet\\Links\\rclone.exe" "copy" "hf:symlink-test/copy-src" "eco:symlink-test" "-P" "-vv"]
2025/10/28 19:51:19 DEBUG : Creating backend with remote "hf:symlink-test/copy-src"
2025/10/28 19:51:19 DEBUG : Using config file from "C:\\Users\\henry\\AppData\\Roaming\\rclone\\rclone.conf"
2025/10/28 19:51:20 DEBUG : Google drive root 'symlink-test/copy-src': 'root_folder_id = 0ABDoaY2N14ImUk9PVA' - save this in the config to speed up startup
2025/10/28 19:51:20 DEBUG : Creating backend with remote "eco:symlink-test"
2025/10/28 19:51:22 DEBUG : Added delayed dir = "symlink-target", newDst=<nil>
2025/10/28 19:51:22 DEBUG : test doc.docx: Need to transfer - File not found at Destination
2025/10/28 19:51:22 DEBUG : symlink-target/another test doc.docx: Need to transfer - File not found at Destination
2025/10/28 19:51:22 DEBUG : Google drive root 'symlink-test': Waiting for checks to finish
2025/10/28 19:51:22 DEBUG : Google drive root 'symlink-test': Waiting for transfers to finish
2025/10/28 19:51:25 DEBUG : test doc.docx: Sending chunk 0 length 951358
2025/10/28 19:51:27 DEBUG : test doc.docx: md5 = f58760f001fcd175a0742e027f5b22e0 OK
2025/10/28 19:51:27 DEBUG : test doc.docx: Size and md5 of src and dst objects identical
2025/10/28 19:51:27 DEBUG : test doc.docx: Updating size of doc after download to 951358
2025/10/28 19:51:27 DEBUG : test doc.docx: Src hash empty - aborting Dst hash check
2025/10/28 19:51:27 INFO  : test doc.docx: Copied (Rcat, new)
2025/10/28 19:51:27 DEBUG : symlink-target/another test doc.docx: Sending chunk 0 length 951363
2025/10/28 19:51:29 DEBUG : symlink-target/another test doc.docx: md5 = 83699fe06b9382dbfd6abcbec5968340 OK
2025/10/28 19:51:29 DEBUG : symlink-target/another test doc.docx: Size and md5 of src and dst objects identical
2025/10/28 19:51:29 DEBUG : symlink-target/another test doc.docx: Updating size of doc after download to 951363
2025/10/28 19:51:29 DEBUG : symlink-target/another test doc.docx: Src hash empty - aborting Dst hash check
2025/10/28 19:51:29 INFO  : symlink-target/another test doc.docx: Copied (Rcat, new)
2025/10/28 19:51:30 INFO  : symlink-target: Set directory modification time (using DirSetModTime)
Transferred:        1.815 MiB / 1.815 MiB, 100%, 265.446 KiB/s, ETA 0s
Checks:                 0 / 0, -, Listed 3
Transferred:            2 / 2, 100%
Elapsed time:         8.9s
2025/10/28 19:51:30 INFO  :
Transferred:        1.815 MiB / 1.815 MiB, 100%, 265.446 KiB/s, ETA 0s
Checks:                 0 / 0, -, Listed 3
Transferred:            2 / 2, 100%
Elapsed time:         8.9s

2025/10/28 19:51:30 DEBUG : 13 go routines active
´´´

Maybe --drive-skip-shortcuts flag is what you need?

–links flag only applies to local location. Remote locations in general do not support links. Google is an only exception I can think of - but what hey support is not exactly “link“. It is this remote unique feature you can read more in the link I included.

nice! this was very helpful information. thanks for pointing me in the right direction.

best regards

1 Like