--local-links/--skip-links: Different behavior for the root path

What is the problem you are having with rclone?

Rclone handles symlink status of the local path root differently in --links/--local-links vs any other mode.

In all other modes, when symlink is given as a local root, it traverses it and handles any symlinks inside as instructed (ignores/copies).

This arrangement is typical e.g. when creating a Volume Shadow copy on Windows. It gets a kernel namespace name and you symlink it somewhere to make filesystem tools less confused.

In --local-links it immediately stops processing and complains:

need ".rclonelink" suffix to refer to symlink when using -l/--links

I argue:

  1. The behavior should not be different in these modes. Either the root is special, or is handled like any subpath.
  2. The old behavior is more intuitive. If you’re explicitly pointing to a path, you want that path synchronized, links or no.
  3. Ability to add “.rclonelink“ and synchronize that one link as a link is an edge case. Useful, can be kept but should not restrict default behavior.

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

rclone v1.72.1
- os/version: Microsoft Windows 10 Pro 21H2 21H2 (64 bit)
- os/kernel: 10.0.19044.1826 (x86_64)
- os/type: windows
- os/arch: amd64
- go/version: go1.25.5
- go/linking: static
- go/tags: cmount

Which cloud storage system are you using? (eg Google Drive)

local, ssh

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

rclone sync --local-links C:\Path\To\Symlink remote:

A log from the command with the -vv flag

2026/01/29 14:48:36 DEBUG : rclone: Version "v1.72.1" starting with parameters ["rclone" "sync" "--local-links" "-vv" "C:\\Temp\\rclone-symlink-test\\Src-Link\\" "C:\\Temp\\rclone-symlink-test\\Trg\\"]
2026/01/29 14:48:36 DEBUG : Creating backend with remote "C:\\Temp\\rclone-symlink-test\\Src-Link\\"
2026/01/29 14:48:36 DEBUG : Using config file from "[..]"
2026/01/29 14:48:36 DEBUG : local: detected overridden config - adding "{b6816}" suffix to name
2026/01/29 14:48:36 CRITICAL: Failed to create file system for "C:\\Temp\\rclone-symlink-test\\Src-Link\\": need ".rclonelink" suffix to refer to symlink when using -l/--links

Workaround:

Even though rclone normally groups junctions with symlinks (“Normally rclone will ignore symlinks and junction points“), not in this case. So if you make a junction to symlink, this will work.

If --local-links handles junctions too (as I would argue would be logical, given that other link handling does), then there’s an inconsistency here too. If it doesn’t, then it’s a problem where rclone complains about junctions and symlinks both, then you set a flag to change this behavior and it starts syncing only symlinks while silently ignoring junctions.