It doesn’t work that way. Conflicts are resolved before any transfer starts. The flow is:
Scan both sides and compare (compute file hashes or just compare mtime, no data transferred)
Show conflicts if any → you resolve them
Show copy/delete summary → you approve
Only then does the actual transfer begin. So you never come back to find it halted mid-transfer. All decisions happen upfront while it’s just reading metadata, which is fast even for large trees.







Totally fair, Unison is solid and I was inspired by it a lot, but its also the reason why I started working on my own version. I was frustrated with it because on Synology/SMB filesystems it kept seeing changed timestamps as modified files, so I’d constantly get fake changes and transfers. Synchi only treats a file as changed if the content hash actually differs.
Also, I once managed to delete my entire home folder because I tried syncing it with Unison to a server and it synced the empty remote folder back to my home, wiping everything. That’s exactly the kind of human error Synchi tries to prevent by being very explicit and verbose about what it’s about to do.
Thank you for keeping an eye on it!