Interlinked.

Features · Apr 9 2026 · 6 min

Twenty editors.
Zero missed saves.

Every save pattern we could find, timed end to end. 7.5 to 8.9 seconds from Ctrl+S to searchable. The tightness of that distribution is the proof that the watcher isn't getting lucky.

Direct write7.5s7.6sAtomic rename7.7s8.4sCreate + delete8.6s8.9sBulk mutation8.5s8.6sFASTESTSLOWEST

TL;DR

The short version, up front.

01

Twenty editors, one budget. Every editor we tested (Notepad, VS Code, Vim, JetBrains, Word, Excel, even agents like Claude Code and Cursor) was searchable within 7.5 to 8.9 seconds of hitting save.

02

Three save patterns, all handled. Direct write, atomic rename, and create-new + delete-old each break naive watchers differently. Interlinked's USN-journal handler catches all three: reacquiring by path, reconciling by content-hash, debouncing overlapping events.

03

Bulk mutations stay in budget. A git checkout of ~2,000 files or an rsync of ~10,000 lands in the same window as a single Ctrl+S: no dropped events, no panic rebuild.

04

Agent edits look like a human's. There's no “agent mode.” When Claude Code or Cursor writes a file, the watcher indexes it exactly like a Ctrl+S, so an agent can save a helper and instantly query what should import it.

05

Detection is the wait; search is instant. Once merged, the file is fully searchable: content queries return in 7 to 9 ms, and a scan that takes ripgrep 93.8 s comes back in 16 ms.

Editors Tested

20/20

every one detected within budget

Latency spread

1.4s

7.5s fastest · 8.9s slowest

Every editor, ranked by latency

The distribution is the proof.

Bars anchored at 7.0 seconds to magnify differences. The fastest editor and the slowest editor are separated by 1.4 seconds. Every one lands inside the eight-second budget.

Notepad
7.5s
Claude Code
7.5s
Notepad++
7.6s
Sublime Text
7.7s
Zed
7.8s
Vim
7.9s
Neovim
8.0s
Obsidian
8.1s
VS Code
8.2s
Typora
8.2s
Cursor
8.2s
WebStorm
8.3s
Rider
8.3s
IntelliJ IDEA
8.4s
PyCharm
8.4s
rsync / robocopy
8.5s
PowerPoint
8.6s
git checkout
8.6s
Excel
8.7s
Microsoft Word
8.9s

The numbers

Twenty editors, three save patterns, one watcher.

Test protocol: type a unique string, save, wait, run a fresh content-search query for the unique string, record time from save to first hit. Sort by latency to see the ranking.

EditorSave patternTime to searchableStatus
NotepadDirect write7.5 sDetected
Claude CodeDirect write7.5 sDetected
Notepad++Direct write7.6 sDetected
Sublime TextAtomic rename7.7 sDetected
ZedAtomic rename7.8 sDetected
VimAtomic rename7.9 sDetected
NeovimAtomic rename8.0 sDetected
ObsidianAtomic rename8.1 sDetected
VS CodeAtomic rename8.2 sDetected
TyporaAtomic rename8.2 sDetected
CursorAtomic rename8.2 sDetected
WebStormAtomic rename8.3 sDetected
RiderAtomic rename8.3 sDetected
IntelliJ IDEAAtomic rename8.4 sDetected
PyCharmAtomic rename8.4 sDetected
rsync / robocopyDirect write (batch)8.5 sDetected
PowerPointCreate-new + delete-old8.6 sDetected
git checkoutBulk mutation8.6 sDetected
ExcelCreate-new + delete-old8.7 sDetected
Microsoft WordCreate-new + delete-old8.9 sDetected

Why this test is hard

Three save patterns. Three chances to break.

Editors don't save files the same way. A watcher that handles one pattern correctly will miss the others entirely. Direct write is the easy case: one modify event, reindex, done. Atomic rename replaces the file's inode entirely: the file being watched no longer exists. Create-new + delete-old produces three separate events in an order that can vary with the filesystem.

Most file watchers handle one. A few handle two. The USN journal handler in Interlinked Files reacquires by path, reconciles by content-hash, and debounces overlapping events. All three patterns, every time.

Direct write

7.5s

Notepad, Claude Code, cat-style tools

Atomic rename

7.7 to 8.4s

VS Code, Vim, JetBrains, Sublime, Zed

Create-new + delete-old

8.6 to 8.9s

Word, Excel, PowerPoint

One file or a thousand. Ctrl+S or git checkout. The latency is always eight seconds.

The watcher doesn't care what caused the write.

Bulk mutations

Thousands of files in under a second.

A git checkout on a medium repo touches thousands of files in under a second. The watcher must not drop events, not panic-rebuild, and coalesce overlapping updates so the same file isn't reindexed three times.

OperationScaleLatencyResult
git checkout / branch switch~2,000 files8.6 sAll changed files searchable
rsync / robocopy batch copy~10,000 files8.5 sAll copied files searchable
Single file Ctrl+S1 file7.5 to 8.4 sSame budget

Why this matters for agents

The agent's edits are indistinguishable from a human's.

Claude Code and Cursor both appear in the table. When the agent writes a file, the watcher picks it up the same way it picks up a Ctrl+S. There is no “agent mode” and no special plumbing.

An AI coding agent that generates a new file or edits an existing one is doing exactly what a human with Ctrl+S is doing, only faster and in larger batches. The agent can generate a helper function, save it, and immediately query “which files should import this new helper?” And the query will include the just-saved file.

Claude Code

7.5s

Direct write · fastest category

Cursor

8.2s

Atomic rename · VS Code fork

The bigger picture

Live indexing is an infrastructure promise.

Most file search tools rebuild their entire index on a schedule: every few minutes, every hour, on startup. If you save a file and immediately search for it, you get nothing. The index is stale.

Interlinked Files watches the NTFS USN journal in real time. Every filesystem event (create, modify, rename, delete) gets processed as it happens. The eight-second latency is the time it takes to read the changed file, tokenize it, and merge the new trigrams into the content index.

That's why twenty editors all land in the same narrow window. The watcher isn't polling. It isn't debouncing on a timer. It's processing events as the filesystem produces them. The editor doesn't matter. The filesystem is the source of truth.

Common questions

Questions, answered.

QWhich editors did you test, and did any fail?

Twenty, spanning every save pattern we could find: Notepad, Notepad++, Sublime Text, Zed, Vim, Neovim, Obsidian, VS Code, Typora, Cursor, WebStorm, Rider, IntelliJ IDEA, PyCharm, Word, Excel and PowerPoint, plus bulk operations like git checkout and rsync/robocopy. All twenty were detected and searchable within 7.5 to 8.9 seconds. None failed.

QWhy does save-to-searchable take about 8 seconds if the search itself is instant?

They're two different clocks. Nearly all of that window is the editor's own fsync plus a short debounce that absorbs the overlapping create, rename and delete events a single save can emit. The actual index update is about 1 ms of freshness, and querying the finished index takes 1 to 10 ms. You're waiting on the write to settle on disk, not on the indexer.

QDoes this work the same for AI coding agents like Claude Code and Cursor?

Yes. There's no separate “agent mode.” Both appear in the test, and when either writes a file the watcher indexes it exactly like a manual Ctrl+S, so an agent can save a helper and immediately search for what should import it. Handing the agent a prebuilt index also collapses search itself: one task that took an agent 6m57s across 71 tool calls becomes a single 16 ms query.

QHow fast is search once a file is indexed, and how much memory does it use?

A filename lookup resolves in about 85 µs and content queries return in 7 to 9 ms. A machine-wide search that takes ripgrep 93.8 seconds comes back in 16 ms (roughly 58,625× faster) across 4.47M files on a Ryzen 9 9950X3D. The background service idles at about 44 MB.

QIs it free, and how do I get it?

Everything local is free forever, no card. Hosting starts at $5.99/mo. No per-query fees, because there's no model to run.

All latencies measured on a Ryzen 9 9950X3D, 64 GB DDR5-6000, NVMe Gen 4. Content index size: ~446,000 code files. Save-to-searchable measured from fsync completion to first query hit. April 2026.