Skip to content
DuoBolt

Sync Folders

Sync Folders compares two folders, A and B, shows every difference side by side, and brings them in line in the direction you choose. It is the third section of the app, beside Duplicates and Similars: ⌘+4 on a Mac, Ctrl+4 on Windows.

Nothing is copied or removed while it compares. Nothing runs until you press Sync… and confirm.


The Sync Folders setup screen: Recent Setups down the left, led by a session in progress for Client Work and Client Work Dupe — Both ways, 1 decision of yours — and a list of earlier pairs, each with its direction and how many times it was used. On the right, folder A, Client Work, and folder B, Client Work Dupe, both in /Volumes/Archive, with a swap button between them; the Direction row set to Both ways, reading A and B trade their changes, Deletions go to the Trash; a Filters row with All file types and Cloud-only files Not downloaded; and Ready to compare 2 folders above the Compare button.

Choose folder A and Choose folder B, or pick a pair from Recent Setups, which keeps each pair with its direction and how often you used it. The button between the two folders swaps them.

Then a direction. The line beside it says what it will do:

Direction What it does
Mirror to B B becomes a copy of A. Files only in B go to the Trash.
Mirror to A A becomes a copy of B. Files only in A go to the Trash.
Both ways A and B trade their changes. Deletions go to the Trash.

The Filters row works as it does in Duplicates: a chip per thing that decides what is compared, and Customize… for the Sync parameters dialog — file types, size, ignore options, folders to skip, and whether cloud-only files are downloaded.

Press Compare.


Every path under A is paired with the same path under B. Then:

  • Different sizes settle the pair without reading either file.
  • The same size is decided by the bytes, never by the dates. The hash cache is the one the duplicate scan fills, so comparing the same trees again does not read them twice.

Dates are not used to decide because they are not reliable enough: volumes keep them at different precisions — a nanosecond on APFS, 10 milliseconds on exFAT, 2 seconds on FAT — and a copy that does not preserve them writes the time of the copy instead. Two files with the same size and date but different contents are reported as different.


Sync Folders results set to Both ways: chips reading Only in A 5, Only in B 4, Different 0, Conflicts 5 and Same 27 above two trees, Client Work and Client Work Dupe, side by side, with an arrow button between each pair and a conflict mark on Budget 2025.csv. The inspector on the right shows Invoices Q2.csv — Never synced, and the two differ — with both sizes and dates, the actions Copy to B, Copy to A and leave alone, and the line Copy to B replaces the version from 2 Jul 2025. The footer reads 19.6 MiB to copy, 6 files to B, 4 files to A, 0 to trash, 4 to decide, beside Reset plan and Sync…

The two folders are shown as trees side by side, and the button between each pair says what will happen to it. The chips across the top count and filter the pairs: Only in A, Only in B, Different, Conflicts and Same. Search files… narrows the list by name.

The inspector (⌥+⌘+I) shows the pair under the cursor: both files, their sizes and dates, what will happen, and why — in sentences such as “Changed in A since the last sync. B still holds what was synced.” Space opens the preview, with photos, video, audio and PDFs.

The footer adds up the plan — what will be copied each way, what goes to the Trash, and how many pairs are waiting for you to decide. Reset plan puts every pair back to what the direction would do on its own.

Click the button between the two sides to open its menu:

  • Copy to A or Copy to B
  • Move to the Trash
  • Leave both sides alone

On a folder, the same menu decides for everything inside it: Copy all to A, Copy all to B, Move all to the Trash, Leave all alone.

Right-click a row to ignore it — that one path, every file named the same, or every folder named the same, anywhere on both sides. The Ignored menu in the toolbar lists what is ignored, and Stop ignoring all clears it.


Both ways, and the record of the last sync

Section titled “Both ways, and the record of the last sync”

A mirror imposes one side, so it never asks. Both ways has to know which side changed, and it does not guess from the dates. After every sync, DuoBolt keeps a record of what the two folders held when they matched. On the next comparison it asks that record:

What happened since the last sync What Both ways does
Changed on one side Copies it to the other
Deleted on one side Moves the other side’s copy to the Trash
Changed on both sides Conflict — waits for you
Deleted on one side, changed on the other Conflict — waits for you
Only on one side, never synced Copies it to the other
On both sides, never synced, and different Conflict — waits for you

The first sync of a pair has no record, so any file that exists on both sides and differs is a conflict: DuoBolt cannot tell which side moved. After that first sync, it can.

Newer wins settles conflicts by date, but only when you press it — for one pair in the inspector, or Newer wins for all N conflicts at once. It copies the newer file over the older one wherever the dates can decide. The dates are never applied on their own.


Some pairs would act on their own by the rules above, but are held back instead, because the situation looks like a mistake. Each says why in the inspector, and nothing happens to it until you pick.

  • A side that lost most of its files. A side that has lost more than half of what it held at the last sync looks exactly like an unmounted drive, so its deletions are not carried over.
  • A mirror that would empty its target. A mirror that would move more than half of what the other side holds to the Trash waits. Trash all N held back in the inspector goes ahead once you have looked.
  • Nearly everything changed. When almost every file on one side looks changed since the last sync — a wrong folder, a restored backup, a damaged disk — those changes wait.
  • A deleted folder with changes inside. A folder deleted on one side while something in it changed on the other is not trashed until you pick.
  • A sync service’s conflict copy. A file named like the copy Dropbox, Nextcloud or another service makes when two edits collide is a leftover to resolve, not a file to spread.
  • Names that differ only in case or accents. On a disk that does not tell them apart they are one file, so neither is copied until you rename one.
  • A file on one side, a folder of the same name on the other.

App bundles and other packages are synced whole or not at all: if part of one waits, the rest of it waits too.

A file kept only in iCloud Drive, Dropbox or OneDrive is not downloaded to compare it, unless Download cloud-only files is on in Sync parameters. The pair is listed as not compared, and waits — it is never copied over on a guess. Download and compare, in the inspector or the row’s menu, fetches it and compares again.

A pair where one side could not be read waits the same way.


Sync… opens the run dialog, and before anything runs it spends a moment checking what would fail.

The run dialog, titled Sync 10 files, with the line What a copy replaces goes to the Trash first, so it can be restored. Its summary reads 4 conflicts stay as they are, Nothing is copied for them; Copy 6 files to B, 14.7 MiB; Copy 4 files to A, 4.9 MiB; and Clones on one disk: no space taken, and no backup. Cancel and Sync sit at the bottom.

The summary starts with anything undecided — conflicts you have not settled stay as they are, and nothing is copied for them — then lists what will be copied to each side and what goes to the Trash. It says when a side has no Trash, such as many network shares, where removing a file would delete it for good. Those files are left alone unless you tick Delete them for good.

Stop after this file is safe at any point: it finishes the file it is on. When the sync ends, DuoBolt reads both sides again, so the list shows what is actually on the disk.

On a Mac, files a sync moved to the Trash, and files a copy replaced, can be restored from Operations History.


A plan you have started deciding is kept as a sync session — the folders, the direction and every choice you made. It is offered back on the Dashboard and at the top of Recent Setups, with Resume and Discard. Resuming compares again and keeps your choices.


Comparing is not limited, and every difference is shown. The free version carries out up to 25 files and 500 MiB per sync; what is left stays in the list for the next one. A license removes the cap. See Tiers.