Rclone WebDAV server (Termux) logs stat errors after file operations

What is the problem you are having with rclone?

I'm running an Rclone WebDAV server inside Termux on Android. Whenever I rename, move, or delete a file via an Rclone mount (on my desktop), the WebDAV server logs the following error:

ERROR : Failed to stat node: file does not exist

This occurs consistently with any rename/move/delete, but not when creating new files. The file operations themselves succeed — it's just this error that gets logged on the server side.

I'm trying to understand:

  • What exactly triggers this error?
  • Is it expected behavior?
  • Can it (or should it) be avoided?

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

Rclone client (desktop):

rclone v1.70.3
- os/version: fedora 42 (64 bit)
- os/kernel: 6.15.6-200.fc42.x86_64 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.24.5
- go/linking: dynamic
- go/tags: none

Rclone server (Termux/Android):

rclone v1.70.3-termux
- os/version: unknown
- os/kernel: 6.1.141-android14-11-gea8ad5e8b2c4 (aarch64)
- os/type: android
- os/arch: arm64 (ARMv8 compatible)
- go/version: go1.24.4
- go/linking: dynamic
- go/tags: noselfupdate

Which cloud storage system are you using?

I'm using Rclone to mount a WebDAV server hosted by Rclone itself on Termux (Android). So this is a self-hosted setup using Rclone for both client and server.

Please run 'rclone config redacted' and share the full output.

[mobile]
type = webdav
url = http://mobile:8080
vendor = rclone

(Note: I access the server using Tailscale’s MagicDNS, hence the http://mobile:8080 address.)

The commands you were trying to run

To start the WebDAV server on Termux:

rclone serve webdav "$SERVER_POINT" --addr mobile:8080

To mount it on my Fedora desktop:

rclone mount mobile: "$MOUNT_POINT" \
  --vfs-case-insensitive \
  --vfs-cache-mode full \
  --umask 022 \
  --allow-other \
  --daemon

As mentioned, file rename/move/delete operations trigger the error on the WebDAV server. Creating a file does not trigger it.


Let me know if you'd like me to test with different flags or logging levels. Happy to help debug further.

welcome to the forum,

fwiw, need to debug logs on the client and on the server to look for issues.


instead of complex rclone mount, test using simlpe command such as rclone delete.
post the full debug log and use --retries=1 to keep the logs smaller.


i do the same, tailscale + termux. works great

check out my howto guide

1 Like

You are right. Using Rclone built-in command on the remote will provide a more meaningful output and I didn't think about that.

Here is a command where I rename a test file named blabla.txt:

rclone moveto mobile:/blabla.txt mobile:/newfilename.txt -vv

Output on the client:

2025/07/25 15:47:40 DEBUG : rclone: Version "v1.70.3" starting with parameters ["rclone" "moveto" "mobile:/blabla.txt" "mobile:/newfilename.txt" "-vv"]
2025/07/25 15:47:40 DEBUG : Creating backend with remote "mobile:/blabla.txt"
2025/07/25 15:47:40 DEBUG : Using config file from "/home/slimhk/.config/rclone/rclone.conf"
2025/07/25 15:47:40 DEBUG : found headers: 
2025/07/25 15:47:40 DEBUG : fs cache: renaming child cache item "mobile:/blabla.txt" to be canonical for parent "mobile:"
2025/07/25 15:47:40 DEBUG : Creating backend with remote "mobile:/"
2025/07/25 15:47:40 DEBUG : found headers: 
2025/07/25 15:47:40 DEBUG : fs cache: renaming cache item "mobile:/" to be canonical "mobile:"
2025/07/25 15:47:40 DEBUG : blabla.txt: Need to transfer - File not found at Destination
2025/07/25 15:47:40 INFO  : blabla.txt: Moved (server-side) to: newfilename.txt
2025/07/25 15:47:40 INFO  : 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Renamed:                1
Transferred:            1 / 1, 100%
Server Side Moves:      1 @ 0 B
Elapsed time:         0.1s

2025/07/25 15:47:40 DEBUG : 5 go routines active

Output on the server:

2025/07/25 15:47:41 ERROR : Failed to stat node: file does not exist

so far, i cannot replicate that.

on the client

[mobile]
type = webdav
url = http://100.74.196.55:8080
vendor = rclone
rclone touch mobile:/file.ext -v 

rclone delete mobile:/file.ext -v 
INFO  : file.ext: Deleted

on the server, using termux and tailscale

DEBUG : rclone: Version "v1.70.3-termux" starting with parameters ["rclone" "serve" "webdav" "/data/data/com.termux/files/home/zork" "->2025/07/25 18:05:07 DEBUG : Creating backend with remote "/data/data/com.termux/files/home/zork"
DEBUG : Using config file from "/data/data/com.termux/files/home/.config/rclone/rclone.conf"
INFO  : Local file system at /data/data/com.termux/files/home/zork: poll-interval is not supported by this remote
NOTICE: Local file system at /data/data/com.termux/files/home/zork: WebDav Server started on [http://100.74.196.55:8080/]
INFO  : //file.ext: PROPFIND from 100.109.123.23:5607
DEBUG : /file.ext: OpenFile: flags=O_RDWR|O_CREATE|O_TRUNC, perm=-rw-rw-rw-
DEBUG : file.ext: Open: flags=O_RDWR|O_CREATE|O_TRUNC
DEBUG : Added virtual directory entry vAddFile: "file.ext"
DEBUG : file.ext: >Open: fd=file.ext (w), err=<nil>
DEBUG : /file.ext: >OpenFile: fd=file.ext (w), err=<nil>
DEBUG : Added virtual directory entry vAddFile: "file.ext"
DEBUG : Local file system at /data/data/com.termux/files/home/zork: File to upload is small (0 bytes), uploading instead of streaming
DEBUG : file.ext: md5 = d41d8cd98f00b204e9800998ecf8427e OK
DEBUG : file.ext: Size and md5 of src and dst objects identical
DEBUG : Added virtual directory entry vAddFile: "file.ext"
INFO  : //file.ext: PUT from 100.109.123.23:5607
DEBUG : file.ext: Applied pending mod time 2025-07-25 18:05:13 +0000 UTC OK
DEBUG : file.ext: Remove:
DEBUG : Added virtual directory entry vDel: "file.ext"
DEBUG : file.ext: >Remove: err=<nil>
INFO  : //file.ext: DELETE from 100.109.123.23:5608

Thanks for running the test, @asdffdsa! :grinning_face_with_smiling_eyes:

I repeated it on my end and can confirm: only rename operations consistently trigger the error ERROR : Failed to stat node: file does not exist on the server side. Other commands like rclone touch and rclone delete work without issue.

Example with a rename:

rclone -vv moveto mobile:file.ext mobile:newfilename.txt

Server output:

2025/07/25 18:32:18 INFO  : file.ext: Moved (server-side) to: newfilename.txt
2025/07/25 18:32:18 DEBUG : newfilename.txt: Updating file with newfilename.txt 0x4000650480
2025/07/25 18:32:18 DEBUG : Added virtual directory entry vDel: "file.ext"
2025/07/25 18:32:18 DEBUG : Added virtual directory entry vAddFile: "newfilename.txt"
2025/07/25 18:32:18 INFO  : //file.ext: MOVE from 100.69.156.45:47944
2025/07/25 18:32:18 ERROR : Failed to stat node: file does not exist

Interestingly, when deleting files or folders from a mounted WebDAV share, the error can appear too — but that’s because the files are moved to a .Trash-1000 directory, which is effectively a rename operation.

For example, when I delete a folder named Test using Dolphin:

2025/07/25 18:54:05 DEBUG : Added virtual directory entry vDel: "Test"
2025/07/25 18:54:05 DEBUG : .Trash-1000/files: Added virtual directory entry vAddDir: "Test"
2025/07/25 18:54:05 INFO  : //Test/: MOVE from 100.69.156.45:59360
2025/07/25 18:54:05 ERROR : Failed to stat node: file does not exist

Dolphin is simply moving the deleted item into .Trash-1000 on the remote, so it triggers the same stat error as a normal rename.

:warning: So we’ve now narrowed the issue down specifically to rename (MOVE) operations
:folded_hands: Thanks again for your help!

I get that exactly same error with a same setup when using rclone on external SD-card storage ie ./storage/external-1/ (SD-card formatted exfat). there are multiple caveats with sdcard storage (like not able to execute files directly from sdcard) and I think this is one of them.
Please also note that exfat (or fat32) does not have the timestamp granularity of a real ext4 filesystem

No I use the internal storage of my Pixel 8 with GrapheneOS (Android 16). Newest Pixel devices don't support external SD card.

Now that we clarified how this bug occurs (when renaming/moving files on Termux/Android), I think we should report this bug upstream on the GitHub issue tracker. What do you think?

Hi @slimhk45

Instead of using turmox which can be a little difficult there is a program posted on GitHub that is an implementation of rclone on Android and you can serve any files on your phone over webdav easily.

You can't create a WebDAV server with that implementation. My goal is to use my mobile as a server, not as a client.

Also Termux is not difficult to use. It is a bug in Rclone itself.

I don't think so. I have used rclone for many years and this only happens on termux (or at least with using rclone as a webdav server as I have never used rclone as a webdav server outside termux)

Hi @slimhk45

I mentioned roundsync in a post above.

Have you tried it yet? It will turn your phone into a webdav server. You can serve up local files or any files for any remotes that you configure and you can also import your existing rclone.conf

You won't need to mess around at a command line on a cell phone screen you just run this nice Simple app that incorporates rclone. One of the features that it supports is the serve feature.

I will see about taking a screen capture of that feature and attaching it here so you can see it. It's very simple compared to what you're trying to do.