The following commit: https://git.busybox.net/busybox/commit/?id=75703eb8d5bd0d8d9ef0a8abaf25b421ca668ab5 makes diff not recurse into dirs which do not exist on the "other side." Which gives a false sense that what differs is only what is reported. You should at least give some warning, I believe. Also the following comment https://git.busybox.net/busybox/commit/?id=f18a82d9b320146e367217aba6664b1efb1be68c Initially I thought that diffutils skips such dirs too, but apparently it doesn't. I'm running busybox-1.36.0, just in case. It's not in the list of the versions.