CLT · macOS desktop app
Collate
A local-only, keyboard-driven tool for consolidating a large number of small plain-text files into a small number of larger ones. One keystroke per file.
“Apple could not verify Collate is free of malware”
You will see that on first launch, and it is expected. This build is not code-signed — that warning is what macOS says about any app without a paid Apple developer certificate. It is a statement about the certificate, not about the app.
On macOS 15 and later, the old right-click → Open trick no longer works — Apple removed that bypass. Use one of these instead.
1 · System Settings. Drag Collate to Applications and try to open it once; let it be blocked. Then open System Settings → Privacy & Security, scroll down to the Security section, and click Open Anyway next to the message about Collate. Confirm with Touch ID or your password.
2 · Terminal. One command, no dialogs:
xattr -dr com.apple.quarantine /Applications/Collate.app
Either way it is a one-time step. Both clear the same thing: the quarantine flag macOS attaches to anything a browser downloaded.
What it does
You have a thousand small text files. They need to become five or ten. Collate puts a source tree, two editors, and a destination tree side by side, and reduces the per-file cost to a single keystroke: read the file, press ⌘↩, and it appends the whole thing to your chosen destination with a separator recording where it came from, moves the original into a processed folder, and loads the next file.
The left half of the window is cool-toned and the right half warm. That is how you know which side has focus after two hours of work — and focus is what decides which way content flows. The copy controls sit between the two editors, each tinted with the colour of the side it sends to.
Nothing leaves your machine
Collate was built for sensitive files, so it makes no network connections of any kind. No telemetry, no crash reporting, no update check, no web fonts, no analytics. The fonts are bundled into the app, the auto-updater is simply absent, and the content-security policy permits no remote origin at all.
That is enforced rather than promised: a script audits the full dependency graph of both shipped architectures on every build and fails the release if anything capable of opening a socket appears. Because there is no update check, new versions are downloaded from this page — the app will never tell you one exists.
It cannot delete your files
There is no delete command anywhere in the app. Marking a file processed moves it into a folder you choose; deleting anything for good is yours to do in Finder, after you have checked the consolidated output.
Nothing is ever overwritten either. Two files with the same name both survive the move — the second gets a numbered suffix. And every append is written to disk immediately, via a temporary file that is renamed into place, so killing the app mid-write leaves your destination file either fully old or fully new, never half-truncated.
There is deliberately no undo. The processed folder is the safety net: your original is intact, just moved, and the confirmation message tells you exactly where it went.
Good to know before you start
- It reads
.txt,.md,.csv,.jsonand.log— all genuinely plain text. No other file type appears, and nothing is ever reinterpreted or reformatted. - A file that isn’t valid UTF-8 is shown but marked, and Collate refuses to open it. Decoding it would replace the bytes it can’t read and quietly damage your original.
- Your processed folder has to sit outside your source folder, or processed files reappear in the source tree. Collate will tell you if you pick one.
- It is macOS only. There are no Windows or Linux builds and none are planned.