How file locking works with LucidLink

  • Updated

When several people work in the same filespace, sooner or later, two of them are going to open the same file at the same time. This article explains how LucidLink handles file locking to help prevent overwrites keeping the team aligned.

The short version

LucidLink's file locking is a distributed lock manager built natively into the Lucid daemon. When a client opens a file and acquires a lock, that lock is propagated to and enforced across every other connected client, anywhere in the world.

But the experience of locking depends heavily on three things:

  • Your operating system. Windows supports full native locking. macOS only supports Adobe InDesign file locking. Linux currently has no locking support.
  • The file's extension. "On open" locking is applied selectively and configured in your filespace's Global Defaults.
  • The application you're using. Locking only does its job if the application asks the OS for the lock in the first place.

How locking works on Windows

On Windows, the daemon hooks native OS locking rules and enforces them globally across your filespace.

Two types of locking apply:

On-open locking. When a supported file opens, the lock is applied instantly. This applies only to files in the locking extensions list.

Byte-range locking. Some applications (databases, Microsoft Office) lock specific byte ranges within a file. This applies to all file extensions, regardless of the locking list.

How locking works on macOS

macOS is a different story since it has no native file-locking API, and so the application cannot request locks and pass them through to the LucidLink daemon. The daemon literally never sees the lock requests from the application, so it can't enforce them.

This means standard "on open" locking doesn't exist on macOS. A macOS user opening a .docx from the filespace has no lock applied at the LucidLink level. If a Windows user is editing the same file with a lock active, the Mac user's application will follow whatever the application itself decides to do, which is usually "open it anyway."

The InDesign exception

There is one specific exception: Adobe InDesign documents (.indd).

Because InDesign is so heavily used in production environments where multi-user editing would be catastrophic, LucidLink developed a proprietary mechanism into the daemon. Instead of waiting for locking flags that will never arrive, the daemon makes the opposite assumption: any open call on a .indd file is treated as an exclusive lock request.

The file-locking workflow operates as follows:

  1. User A opens an InDesign document, and the daemon grants an exclusive lock.
  2. User B tries to open the same document the daemon denies the lock request.
  3. User B may briefly see a "file is damaged" warning. On reopening, the file is presented in read-only mode (This is dependent on the InDesign version).

lucid lock will confirm that User A holds an exclusive lock.

A point worth knowing for InDesign-heavy teams: LucidLink's InDesign locking does not use .idlk sidecar files — the lock is managed entirely by the daemon. The .idlk extension is on the default locking list for the Windows side of things, but the macOS InDesign behaviour is implemented separately and doesn't depend on sidecar files appearing in the filespace.

One important configuration note: if .indd is removed from FileSystem.LockingExtensions, this also disables the macOS InDesign locking mechanism. Don't strip it out unless you mean to.

Another quirk of InDesign is that opening an older project with a newer version will open the project in a "Converted" state. When this happens, you will see "Converted" in the project title tab in InDesign. Locking does not function as expected in this case because InDesign loads the project into memory and closes the file on the filesystem layer I.E. as far as macOS is concerned, the file on the filespace is not open.

The locking extensions list

The FileSystem.LockingExtensions setting defines which file types are subject to "on open" locking. This is a Windows-side configuration, with the InDesign macOS exception noted above.

The default list:

indd, idlk, dbl, dwl, dwl2, dwt, dwg, ppt, pptx, xls, xlsx, doc, docx, rvt, revit:dat

Which covers:

  • Adobe InDesign (.indd, .idlk)
  • AutoCAD and Autodesk Revit (.dwg, .dwl, .dwl2, .dwt, .rvt, revit:dat)
  • Microsoft Office (.doc, .docx, .xls, .xlsx, .ppt, .pptx)

If your team uses an application that isn't on this list — Bluebeam Revu, QuickBooks, a custom CAD tool — on-open locking will not happen for those files until you add the extension.

Configuring the list

Locking extensions can be managed directly through the desktop client and web client UI.

Screenshot 2026-05-01 at 15.05.03.png

If you prefer the CLI, or need to script it:

# Add an extension globally (must include all existing defaults)
lucid config --set --global --FileSystem.LockingExtensions \
  indd,idlk,dbl,dwl,dwl2,dwt,dwg,ppt,pptx,xls,xlsx,doc,docx,rvt,revit:dat,pdf

# Reset to defaults
lucid config --global --delete --FileSystem.LockingExtensions

# View the currently effective list (without truncation)
lucid config --no-trim | grep FileSystem.LockingExtensions

Important: the set command replaces the list, it doesn't append to it. Always include the existing defaults plus your new extension, or you'll quietly turn locking off for everything you used to have it on.

The lucid lock CLI

The lucid lock command is the primary tool for inspecting locks across the filespace.

# List currently held file locks
lucid lock

Output shows the OS-specific path of each locked file, who holds the lock, and what type.

Lock types

Under the hood, LucidLink uses the standard Distributed Lock Manager model. There are four lock types you might see, viewable via the lucid lock CLI command:

Lock typeDescription
ExclusiveFull exclusive access — no other user can read or write
ConcurrentReadMultiple users can read simultaneously
ProtectedReadRead access is protected; write access is restricted
ProtectedWriteWrite access is protected

Troubleshooting

Some quick points to look through if you're running into issues:

  1. Is this extension on the locking list? (lucid config --no-trim | grep LockingExtensions)
  2. What OS is the user on? (Windows — full locking. macOS — InDesign only. Linux — no locking.)
  3. Does this application use real OS lock calls or sidecar files? (If sidecar files: assume locking is unreliable.)
  4. Is there a stuck lock from a disconnected user? (Check lucid lock and wait 60 seconds.)

If you are still experiencing issues at this point, be sure to raise a ticket with our support team for further review!

Was this article helpful?

0 out of 0 found this helpful