Recovery & Sessions

What to do when a file changes on disk on Mac

Note My has stopped and asked you about a file that changed underneath you. Here is what each button on that sheet does, which one throws work away, and why the safe choice still survives a restart.

You were editing a file. Something else touched it — a build script, a formatter, a colleague's sync client, a pull that rewrote the branch — and now a sheet is asking whether you want to reload. You have unsaved edits, or you think you might, and the choice in front of you decides which text survives. This page walks you through both buttons, and through the routine that lets you keep both versions if you want them.

The short version, and the reason Note My words the sheet the way it does: Keep My Version never throws anything away, and Reload does. If you are unsure, choose Keep My Version and decide afterwards, in your own time, with both versions still recoverable.

Note

Note My keeps an eye on the files you have open, and everything here happens on your Mac. There is no account and nothing is uploaded, so neither the file nor the conflict ever leaves the machine.

The two messages, and why the wording changes

There are two versions of the sheet, and the difference is not cosmetic — it tells you how much is at stake.

The two external-change messages and what each one means
What the sheet saysWhat it means
"«Report.md» was modified outside the app."You had no unsaved edits. Nothing of yours is at risk either way.
"«Report.md» changed on disk while you have unsaved edits."Two versions now exist and they disagree. This is the one to read slowly.

Both offer the same two buttons — Reload and Keep My Version — and both appear as a sheet attached to the window rather than as a free-floating dialogue you might click away by accident.

Reload: what it replaces, and when to choose it

Reload gives you the version that is now on disk. Whatever you had typed and not yet saved is replaced by what the other program wrote. Reload is the correct choice in the ordinary case — you had not typed anything, a build step regenerated the file, and you simply want the current text.

It is the wrong choice when the second message appeared, unless you have already decided your edits are disposable. Treat it as the discard option, because that is what it is.

Warning

Each button settles the tab on one version outright: Reload takes the file, Keep My Version takes your text. When you want to weigh the two against each other, choose Keep My Version — your work is protected the moment you do, the one-minute routine at the end of this page puts both texts side by side, and you can still reload once you have looked.

Reload is careful with the awkward case as well: if the file cannot be opened at the moment you ask for it — a share dropped, permissions changed — your text stays on screen exactly as it was. A reload that cannot complete leaves your work where you left it, so you can fix the share and ask again.

Keep My Version: your text becomes the one that counts

Keep My Version is not simply "dismiss". It is a decision that sticks, and it does four things.

  • Your text stays. Nothing is written to the file, and nothing on screen is replaced.
  • The tab gains a leading *. Your text is now unsaved work, and it is marked as such in the tab title and the title bar.
  • Our auto-recovery safety net takes your version straight away, so it is protected from that moment on.
  • The question is settled. The same change does not come back and ask you a second time.

The last point is the one that makes the feature usable. Without it, a file rewritten every few seconds by a build watcher would ask you the same question every few seconds, and you would learn to click it away without reading it.

Why Keep My Version still survives a relaunch

This is the part worth trusting. Our auto-recovery safety net looks after unsaved work in every tab, and it is what brings your tabs back the next time you open the app. Choosing Keep My Version hands your text to it immediately, so your kept text is what returns — not the version you just rejected.

The safety net is always on. It asks nothing of you and needs no setting, which is deliberate: a safety net with an off switch is not a safety net. It works whether or not you have ever saved the file, it works on a document that has never had a name, and it works on your Mac alone.

Important

Recovered work is held privately on your Mac and never leaves it: no account, nothing uploaded, no copy anywhere but your own disk. Treat the safety net as what it is — protection against the accident, the crash and the wrong button, holding your text until you decide where it belongs.

Writing your kept version back over the file

Keeping your version does not write it. To make it the file, press ⌘S as usual. Until you do, your text is unsaved work in a tab, and our auto-recovery safety net is what stands behind it — on your Mac, with no account and nothing uploaded. Saving is the moment your version becomes the file every other program will see, so it is worth a second's thought. If you are not certain your version is the one that should win, take the copy described next before you save. It costs one keystroke and it settles the question without closing any doors.

If you would rather not overwrite anything yet, use File ▸ Save a Copy As… (⌥⇧⌘S) and put your version somewhere new. The original stays exactly as the other program left it, you now have both texts as real files, and Compare Files… will set them against each other in our comparison view and mark what actually differs, line by line, before you decide which wording deserves to win. The one-minute routine at the end of this page is that whole sequence written out, so the first time you meet a conflict that matters you can simply follow along.

That is the calm way through a conflict: keep your version, save a copy under a new name, compare the two, then merge by hand. It costs a minute and loses nothing.

Reloading on purpose, without waiting to be asked

File ▸ Reload from Disk (⌘R) discards your unsaved changes and loads the file as it now stands, whenever you want it. It is the manual form of what the sheet offers, for when you already know something regenerated the file. It discards, so treat it with the same care as Reload.

The status bar also carries a file-monitor badge for the active tab. Click it for the watching options for the file in front of you, without a trip through Settings.

Your own saves never set off the warning

A worthwhile piece of reassurance, because it is a classic annoyance in editors that watch files. When you press ⌘S the file on disk really does change, and a less careful app would turn round and ask whether you want to reload the text you just wrote.

Note My does not. Your own saves pass without a word, however often you save and however large the file. What that buys you matters more than the silence: a prompt here always means something you did not do, which is what makes the sheet worth stopping to read. If you ever do see it immediately after your own ⌘S, take it seriously.

Prompts that wait: background tabs and the orange dot

If the change lands on a tab you are not looking at, no sheet appears. The question waits, and the tab gets an orange dot. You get the question when you switch to that tab, not while you are typing in another one.

Two things make the deferral trustworthy. A difference that resolved itself while you were away never interrupts you at all — if the file matches your text again by the time you look, there is nothing left to ask about. And however many times the file changed while your back was turned, you answer once: there is no stack of stale questions to click through when you return to a busy tab.

Note

The orange dot means changed on disk. It does not mean unsaved. Unsaved work is the leading * on the tab title — two different signals, two different marks.

Choosing what happens next time

Settings ▸ File Monitor (⌘,) holds the behaviour. Watching open files is on by default, deletion detection is on, and the change mode is one of three:

The three external-change modes and what each does
ModeBehaviour
Ask (default)The sheet described above.
Auto-ReloadThe tab reloads silently when the file changes.
NeverNo prompt and no reload. The tab keeps showing your text and leaves you alone until you ask for the file yourself.

A conflict always prompts, whatever the mode. If you have unsaved edits when the file changes, you are asked — Auto-Reload will not silently overwrite work you have not saved. The unsaved-edits warning in the same settings pane is what guarantees it, and it is on by default. Leave it on and Auto-Reload is safe to choose: generated files refresh themselves, and the one case that could cost you something still stops and asks. If your tabs are mostly build output, that saves you a stream of prompts you would always answer the same way; if they are mostly things you write yourself, stay on Ask.

One narrower exception runs the other way. In Ask mode, a .log or .out file you have not edited reloads quietly rather than nagging — the sensible behaviour for something being appended to constantly, and it means watching a log never buries you in prompts. Ordinary text files are not treated that way, so a file called notes.txt still asks.

Troubleshooting

I chose Reload and my edits are gone

Reload replaces what is in the tab with the version on disk, and the text you had typed but never saved was, by definition, never on disk. Two habits keep you out of this situation for good. The first is to treat the critical wording — "changed on disk while you have unsaved edits" — as a stop sign, and to reach for Keep My Version by default: it costs you nothing, your text is protected the moment you choose it, and you can still reload a minute later once you have looked. The second is to reach for ⌥⇧⌘S whenever a version matters to you. A copy under a new name takes one keystroke and turns a passing draft into a file you can reopen next week.

Nothing warned me that the file changed

Watching follows the file, so start by checking that the tab has one. An untitled document, or a tab restored from recovery, is being looked after by our auto-recovery safety net rather than watched on disk; save it once with ⌘S and it is watched from that moment, badge and all. Then confirm in Settings ▸ File Monitor that watching open files is enabled and the change mode is set to Ask, which is where a fresh installation leaves it.

The file is on a network share and changes are slow to appear

A change written on another machine takes a little longer to reach you than one written on the disk inside your Mac, and how quickly Note My reacts is yours to set: Settings ▸ File Monitor holds a check interval, and shortening it makes a slow share feel more responsive. The prompt reaches you either way — it simply arrives sooner. If you work on a share all day, shorten the interval once and forget about it; everything else on this page behaves exactly as it does on a local file, conflict rule included.

The file was replaced rather than edited

A replacement — the file being swapped out from underneath, as a checkout or a sync client does — always prompts, regardless of the mode you chose. That is intentional: a wholesale replacement is a bigger event than an in-place edit and should not pass silently.

Something changed but the text is identical

Changes to a file's attributes alone — permissions, flags, dates — do not produce a prompt. You are asked only when the text itself is different, so a script that touches timestamps across a folder will not interrupt you.

The file disappeared instead of changing

You get a different sheet: "«X» was deleted from disk.", with Keep in Editor and Close Tab. Keep in Editor makes the text in front of you the surviving copy and protects it like any other unsaved work.

Keeping both versions: the one-minute routine

When two texts disagree and both look worth having, this is the sequence that ends with everything intact. It is worth learning once, because it turns the most alarming sheet in the app into a minor administrative task.

  1. Choose Keep My Version. Your text stays on screen, our auto-recovery safety net takes it there and then, and the file on disk is left exactly as the other program wrote it. Nothing has been decided yet, and nothing has been lost.
  2. Save a copy under a new name. File ▸ Save a Copy As… (⌥⇧⌘S) writes your text somewhere new and leaves the tab you are in exactly where it was. Both texts now exist as real files, which is the whole trick.
  3. Open the copy you have just written. ⌘O, or drag it from the Finder onto the tab bar. Your version now has a tab of its own, and a name you chose.
  4. Bring the other program's version into the first tab. ⌘R for File ▸ Reload from Disk. This is the one moment when reloading costs you nothing, because the text it replaces is sitting safely in the copy you saved a breath ago. The two versions are now open as two tabs.
  5. Compare them. Compare Files… puts the two in our comparison view, which marks every line that differs so you can see at a glance whether the other program touched one paragraph or rewrote the lot.
  6. Take the lines you want. Copy from one, paste into the other. Both panes stay editable while the comparison is on screen, and paste always arrives as plain text, so nothing you lift out of a comparison drags formatting in with it.
  7. Save the version that won with ⌘S. Keep the spare copy for as long as you want it and delete it in the Finder when you no longer do.

The same routine covers the case where you simply want a snapshot before letting a build script have its way: keep your version, save a copy, then reload with a clear conscience. Our comparison view is equally happy telling you that two files are identical, which is often exactly the reassurance you were after.

If the file being written to is a log rather than a document, there is a better tool for it. View ▸ Follow Tail pins the view to the end of the file and appends new lines as they arrive, per tab, so you can watch output land while you work in another window. Pair it with Auto-Reload on a machine that is mostly running build output, and generated files quietly keep themselves current while any tab you have been typing in still stops and asks.

Frequently asked questions

Does Keep My Version write anything to the file?

It keeps your text in the tab and leaves the file on disk exactly as the other program wrote it. Your version is held by our auto-recovery safety net from the moment you choose it, and ⌘S is the keystroke that makes it the file.

Will my kept version survive quitting the app?

Yes. Choosing Keep My Version hands your text to our auto-recovery safety net there and then and marks the tab as unsaved, so the next launch brings back your text rather than the version you rejected.

What is the orange dot on a tab?

It marks a background tab whose file changed on disk. It is not an unsaved indicator — unsaved work is shown by a leading * on the tab title.

Can I make files reload automatically without being asked?

Yes, in Settings ▸ File Monitor, by setting the change mode to Auto-Reload. A file you have unsaved edits in still prompts, so the setting cannot silently discard your work.

Why did the sheet appear the moment I saved the file myself?

Your own saves pass in silence, however often you save and however large the file, so a sheet straight after ⌘S is telling you something genuinely happened: the file was touched by something else in the same moment. That is the one to read carefully rather than dismiss.

Does the app check the file against anything online?

Every check described here happens on your Mac, against the file on your own disk. There is no account and nothing is uploaded, and your files never leave the machine.