Microsoft 365 OneDrive Photos (personal account)

What is the problem you are having with rclone?

When using and connecting to Microsoft 365 OneDrive Personal Account, I cannot see the directory named Photos. Microsoft OneDrive Web Portal shows the Photos directory, see attached screenshot. When listing directories on rclone, I do not see the Photos folder. I am going to assume that either there is a different connection method is OneDrive Photos, or that OneDrive photos are not supported. NOTE: In the log file below I removed any references to files listed in the root of the OneDrive Folders. All that remains are directory and rclone logging entries.

I am a moderately seasoned Linux user and am comfortable using terminal commands. rclone was of interest as I am ditching Microsoft Windows due to constant Windows 11 issues with my own application development projects. Microsoft 365 products are useful for people I work with, so I would like to see this work.

This issue may be my limitations, and not the rclone project.

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

rclone --version
rclone v1.69.3
- os/version: linuxmint 22.1 (64 bit)
- os/kernel: 6.8.0-60-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.24.3
- go/linking: static
- go/tags: none

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

Microsoft 365 OneDrive

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

rclone lsd OneDrive:

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

[OneDrive]
type = onedrive
token = XXX
drive_id = XXX
drive_type = personal
copy-dest = /media/data/OneDriveTest

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

cat ~/.log/rclone/rclone-mount-20250613-1115.log
2025/06/13 11:15:30 DEBUG : rclone: Version "v1.69.3" starting with parameters ["rclone" "--log-file" "/home/creese/.log/rclone/rclone-mount-20250613-1046.log" "-vv" "--vfs-cache-mode" "writes" "mount" "OneDrive:" "/home/creese/OneDrive"]
2025/06/13 11:15:30 DEBUG : Creating backend with remote "OneDrive:"
2025/06/13 11:15:30 DEBUG : Using config file from "/home/creese/.config/rclone/rclone.conf"
2025/06/13 11:15:31 DEBUG : OneDrive root '': Next delta token is: ### REDACTED TOKEN ###
2025/06/13 11:15:31 DEBUG : OneDrive root '': vfs cache: root is "/home/creese/.cache/rclone"
2025/06/13 11:15:31 DEBUG : OneDrive root '': vfs cache: data root is "/home/creese/.cache/rclone/vfs/OneDrive"
2025/06/13 11:15:31 DEBUG : OneDrive root '': vfs cache: metadata root is "/home/creese/.cache/rclone/vfsMeta/OneDrive"
2025/06/13 11:15:31 DEBUG : Creating backend with remote ":local,encoding='Slash,Dot',links=false:/home/creese/.cache/rclone/vfs/OneDrive/"
2025/06/13 11:15:31 DEBUG : :local: detected overridden config - adding "{8un-i}" suffix to name
2025/06/13 11:15:31 DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot',links=false:/home/creese/.cache/rclone/vfs/OneDrive/" to be canonical ":local{8un-i}:/home/creese/.cache/rclone/vfs/OneDrive"
2025/06/13 11:15:31 DEBUG : Creating backend with remote ":local,encoding='Slash,Dot',links=false:/home/creese/.cache/rclone/vfsMeta/OneDrive/"
2025/06/13 11:15:31 DEBUG : :local: detected overridden config - adding "{8un-i}" suffix to name
2025/06/13 11:15:31 DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot',links=false:/home/creese/.cache/rclone/vfsMeta/OneDrive/" to be canonical ":local{8un-i}:/home/creese/.cache/rclone/vfsMeta/OneDrive"
2025/06/13 11:15:31 INFO  : OneDrive root '': vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2025/06/13 11:15:31 DEBUG : OneDrive root '': Mounting on "/home/creese/OneDrive"
2025/06/13 11:15:31 DEBUG : : Root: 
2025/06/13 11:15:31 DEBUG : : >Root: node=/, err=<nil>
2025/06/13 11:15:31 DEBUG : /: Lookup: name=".Trash"
2025/06/13 11:15:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2025/06/13 11:15:31 DEBUG : /: Lookup: name=".xdg-volume-info"
2025/06/13 11:15:31 DEBUG : /: Attr: 
2025/06/13 11:15:31 DEBUG : /: Lookup: name="autorun.inf"
2025/06/13 11:15:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2025/06/13 11:15:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2025/06/13 11:15:31 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:15:31 DEBUG : /: Lookup: name=".Trash-1000"
2025/06/13 11:15:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2025/06/13 11:15:31 DEBUG : /: ReadDirAll: 
2025/06/13 11:15:31 DEBUG : /: >ReadDirAll: item=122, err=<nil>
2025/06/13 11:15:31 DEBUG : /: Lookup: name="autorun.inf"
2025/06/13 11:15:31 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2025/06/13 11:16:14 DEBUG : /: Attr: 
2025/06/13 11:16:14 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:14 DEBUG : /: ReadDirAll: 
2025/06/13 11:16:14 DEBUG : /: >ReadDirAll: item=122, err=<nil>
2025/06/13 11:16:14 DEBUG : /: Lookup: name="Attachments"
2025/06/13 11:16:14 DEBUG : /: >Lookup: node=Attachments/, err=<nil>
2025/06/13 11:16:14 DEBUG : Attachments/: Attr: 
2025/06/13 11:16:14 DEBUG : Attachments/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:14 DEBUG : /: Lookup: name="Business"
2025/06/13 11:16:14 DEBUG : /: >Lookup: node=Business/, err=<nil>
2025/06/13 11:16:14 DEBUG : Business/: Attr: 
2025/06/13 11:16:14 DEBUG : Business/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:14 DEBUG : /: Lookup: name="Desktop"
2025/06/13 11:16:14 DEBUG : /: >Lookup: node=Desktop/, err=<nil>
2025/06/13 11:16:14 DEBUG : Desktop/: Attr: 
2025/06/13 11:16:14 DEBUG : Desktop/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:14 DEBUG : /: Lookup: name="Documents"
2025/06/13 11:16:14 DEBUG : /: >Lookup: node=Documents/, err=<nil>
2025/06/13 11:16:14 DEBUG : Documents/: Attr: 
2025/06/13 11:16:14 DEBUG : Documents/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:14 DEBUG : /: Lookup: name="Personal"
2025/06/13 11:16:14 DEBUG : /: >Lookup: node=Personal/, err=<nil>
2025/06/13 11:16:14 DEBUG : Personal/: Attr: 
2025/06/13 11:16:14 DEBUG : Personal/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:14 DEBUG : /: Lookup: name="Public"
2025/06/13 11:16:14 DEBUG : /: >Lookup: node=Public/, err=<nil>
2025/06/13 11:16:14 DEBUG : Public/: Attr: 
2025/06/13 11:16:14 DEBUG : Public/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:14 DEBUG : /: Lookup: name="Shared favorites"
2025/06/13 11:16:14 DEBUG : /: >Lookup: node=Shared favorites/, err=<nil>
2025/06/13 11:16:14 DEBUG : Shared favorites/: Attr: 
2025/06/13 11:16:14 DEBUG : Shared favorites/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:14 DEBUG : /: Lookup: name="Videos"
2025/06/13 11:16:14 DEBUG : /: >Lookup: node=Videos/, err=<nil>
2025/06/13 11:16:14 DEBUG : Videos/: Attr: 
2025/06/13 11:16:14 DEBUG : Videos/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:14 DEBUG : /: Lookup: name="src"
2025/06/13 11:16:14 DEBUG : /: >Lookup: node=src/, err=<nil>
2025/06/13 11:16:14 DEBUG : src/: Attr: 
2025/06/13 11:16:14 DEBUG : src/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:24 DEBUG : /: Attr: 
2025/06/13 11:16:24 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:27 DEBUG : /: Attr: 
2025/06/13 11:16:27 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxrwxr-x, err=<nil>
2025/06/13 11:16:31 DEBUG : OneDrive root '': Checking for changes on remote
2025/06/13 11:16:31 INFO  : OneDrive root '': vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2025/06/13 11:17:31 DEBUG : OneDrive root '': Checking for changes on remote
2025/06/13 11:17:31 INFO  : OneDrive root '': vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2025/06/13 11:17:31 INFO  : Signal received: terminated
2025/06/13 11:17:31 DEBUG : OneDrive root '': vfs cache: cleaner exiting
2025/06/13 11:17:31 ERROR : /home/creese/OneDrive: Unmounted rclone mount
2025/06/13 11:17:31 INFO  : Exiting...

welcome to the forum,

afiak, that is a global flag. therefore, which cannot be used inside the config file.
and in addition, not sure the flag works at all with rclone mount


i think that is correct.
at the onedrive website, the url for photos is different than the other folders. photos appears to be a virtual folder.
which would be the same as gdrive, where need to create a gphotos remote.

1 Like

In my initial testing I inserted the copy-dest option. FWIW, the docs are a bit hard to follow when building the config file. I may want to assist with that but I assume that is a different topic that we can take offline.
I am unsure what you are referring to with the comment:

which would be the same as gdrive, where need to create a gphotos remote

Is there a command for rclone to create a "remote"?

yeah, rclone has a lot of flags
only flags that apply to remote can go into the config file. in your case, https://rclone.org/onedrive/

as for --copy-dest, that is documented more than once


much discussed in the forum and at github


https://rclone.org/commands/rclone_config_create/
also, the config file a simple, plain text .ini format.
in most cases, i create remotes on the fly without using a config file at all.

:100:I want to thank you for your quick responses! I appreciate that. Over the last 40 in business, finding folks that communicate well is the exception than the norm. :heart_eyes:

I guess I am not following on the create a remote for Photos. Is there a way to create this by looking at the URI returned by MS when opening the OneDrive Photos "folder" (I assume that is a SharePoint/Azure Blob storage item). I have some familiarity with SharePoint, as a previous heavy SharePoint Business user. But my experience with building connection strings is limited. I assume you are leveraging MSGraph or other API calls.

afiak, not possible. what other non-micro$oft products support Photos?

my point is that with google, rclone has two backends for google, drive and photos.
each has its own api.

I believe Apple iCloud, but uber proprietary, so . . . I will just move on from this issue with Photos. again I appreciate the quick assistance. I am retired now, and have a lot of free time :wink: Maybe I can play around with it some more.

As for now, please close the ticket.