Cannot Edit Android FTP-Served Files

I've researched and tried various methods but could not come up with a solution. Can anyone help?

What is the problem you are having with rclone?

I want to use “rclone” on Windows to access files on my Android phone. Some of my use cases work fine, but other do not. One use case that does NOT work – I can NOT edit a file. Here are the details:

1. Start FTP Server on Android.
2. Mount Android FTP-served files with this command on Windows:
```rclone.exe mount "LG_V60_FTP":" "*" --volname "\V60-FTP\ALL" --vfs-cache-mode writes```
3. Open desired [mounted] Android file [in this example, “foo.txt”] in Windows Notepad and make edits.
4. Save changes to file made in Notepad.
5. Get these errors from “rclone”:

2025/11/25 18:25:13 ERROR : device/Documents//foo.txt.voxukog0.partial: partial file rename failed: Move Rename failed: 550 Rename failed
2025/11/25 18:25:13 ERROR : device/Documents/foo.txt: vfs cache: failed to upload try #1, will retry in 10s: vfs cache: failed to transfer file from cache to remote: Move Rename failed: 550 Rename failed

After googling around, found problem could be an Android FTP Server renaming issue. I’m assuming here that when I edit my file on Windows in Notepad, “rclone” uploads a copy of my edited file to Android as “foo.txt.voxukog0.partial“ and then attempts to rename that to “foo.txt“. This does seem to be the problem. I’ve tested 3 different Android FTP servers and NONE would allow the rename of a file to that of an already-existing file [in this case “foo.txt”].

So then I tried using “--vfs-cache-mode off“ on my “rclone” mount command. But I still can NOT edit the Android file. Now I get this “rclone” error:

2025/11/26 12:28:47 ERROR : device/Documents/foo.txt: WriteFileHandle: Can't open for write without O_TRUNC on existing file without --vfs-cache-mode >= writes

Is there some solution to this issue?

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

C:\Users\Bob>rclone --version
rclone v1.66.0

  • os/version: Microsoft Windows 10 Pro 22H2 (64 bit)
  • os/kernel: 10.0.19045.5854 (x86_64)
  • os/type: windows
  • os/arch: amd64
  • go/version: go1.22.1
  • go/linking: static
  • go/tags: cmount

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

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

rclone.exe mount "LG_V60_FTP":" "*" --volname "\V60-FTP\ALL" --vfs-cache-mode writes

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

C:\Users\Bob>rclone config redacted
[LG_V60_FTP]
type = ftp
host = XXX
user = XXX
port = 4355
pass = XXX

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

2025/11/25 18:25:13 ERROR : device/Documents//foo.txt.voxukog0.partial: partial file rename failed: Move Rename failed: 550 Rename failed
2025/11/25 18:25:13 ERROR : device/Documents/foo.txt: vfs cache: failed to upload try #1, will retry in 10s: vfs cache: failed to transfer file from cache to remote: Move Rename failed: 550 Rename failed
2025/11/26 12:28:47 ERROR : device/Documents/foo.txt: WriteFileHandle: Can't open for write without O_TRUNC on existing file without --vfs-cache-mode >= writes

should rclone selfupdate and test again


try --inplace


fwiw, i run rclone on android using termux.
then can run rclone serve ftp or better yet rclone server sftp

i have a howto about it
Rclone on termux - Turn your android phone into a media server

Thanks for your suggestions @asdffdsa. Updating to “rclone” v1.72.0 did not help. And I thought of trying the –inplace option during my initial debugging, but it is not a valid option on the “rclone” mount command, is it? That is the only “rclone” command I am issuing here in this use case.

The problem you’re seeing happens because your Android FTP server doesn’t allow renaming a file over an existing one. When you edit a file in Windows, rclone writes a temporary file (like foo.txt.voxukog0.partial) and then tries to rename it to the original name. Since the FTP server blocks that, you get the 550 Rename failed error.

Using --vfs-cache-mode writes or turning it off doesn’t fix it because rclone still needs to rename the file when uploading. Unfortunately, --inplace isn’t available for rclone mount, so that option won’t help here.

The easiest solutions are either:

  1. Use an SFTP server on your Android instead of FTP, which allows overwriting files safely. Termux makes this easy to set up.

  2. Edit files locally and then copy them back to the Android device using rclone copy.

Switching to SFTP is the most reliable way if you want to edit files directly from Windows without errors.

as i suggested, run rclone serve sftp on android and your issue should be resolved.
rclone support for sftp is much better than ftp.


well, should be valid, just give it a try...

Thanks for your reply @sanjay_kumar. Just tested renaming a file to that of an already-existing file via Windows “command line” connection to Android SFTP server “SSH/SFTP Server - Terminal” and it FAILED too. :confused: In googling around, seems this is standard behavior for the “rename” command on SFTP servers too. Perhaps my only solution is to try the “rclone sftp server” in Termux?

Happy Thanksgiving everyone! :turkey:

Hi,

I use & recommend using sftp server. If you would rather not play around with turmux there is a good SFTP server in the Google Play app store.

@LeoW, thanks for your response. That is the exact Android SFTP server I tested. When I log in to that server using the Windows “sftp” command in “cmd.exe” and attempt to rename one file to that of another, already-existing file, it FAILS [ie. server does NOT allow rename to EXISTING file]. I figured why test further using an actual “rclone connection”, but perhaps I should give it a try.

@asdffdsa, thanks for prompting me to “just give it a try”! I added the--inplace option to my rclone mount command and problem solved – NO more “rename failed“ errors! Now, I realize there could be some “risk” in using this option instead of the “safer” copy-and-rename default rclone behavior, so I look into that before I stick with this solution. And as many of you have suggested, I can also try using the rclone SFTP server in Termux.

i access the sftp server inside termux using tailscale. so i can access my cellphone anytime, anywhere.
without always having to connect to a local wifi.

Hi,

Thanks for the information. I will attempt to duplicate your situation on my own phone and computer and see if I get similar results. I will test with Windows and linux.

If you use rclone instead of Windows cmd, you should be better off. I will compare with Windows.

I don't know that I've ever tried renaming files on the phone from the computer but I will.

Question. Why? I use the tail scale Android app and connect directly to the tail scale Network giving me remote access to my phone and I don't need to run turmux.

I have to say I almost never access my phone over tailscale.

I have a 25 ft ethernet cable running around my room and use a small ethernet to USB C adapter to give my phone 1 GB ethernet on my local network at home. This gives me more than double the performance of Wi-Fi. The phone immediately gets an IP address from the DHCP server.

When I go out I almost never go out without my phone and leave it at home so I have no need really to access my phone remotely. It's typically my phone accessing my network remotely. I have a router with a VPN server running on it. I use VPN client software on my phone to connect to my home.

Yes. I use my phone to remote into my devices at home I don't ever leave my phone at home or anywhere else and remote into it.

I was using tail scale to remote into my machines at home until I got a new router recently that has a built-in VPN server running wire guard.

Now my phone computer laptop tablets Etc that are away from home can use the wire guard client to connect to my home network.

My PC'S all run SFTP server.