Spotlight/QuickLook/DNS/font caches

Spotlight Stuck on 'Indexing' Forever in 2026? 7 Fixes That Actually Work

If you have ever opened Spotlight and watched the spinning progress bar sit at "Indexing…" for hours — or even days — you are not alone. Spotlight stuck indexing on Mac is one of those maddening problems that affects everything from file search to Siri suggestions, and it has followed macOS through Ventura, Sonoma, Sequoia, and now Tahoe on both Apple Silicon and Intel machines. The good news is that the root causes are well understood, and the fixes below are real, tested, and arranged from least to most disruptive so you can stop as soon as yours starts working.

Why Does Spotlight Get Stuck?

Spotlight is powered by mds (metadata server) and its worker process mds_stores. When indexing stalls, the usual culprits are:

  • A corrupt .Spotlight-V100 metadata store on a volume
  • An enormous folder — ~/Library/Developer/Xcode/DerivedData, ~/.m2/repository, or node_modules trees — being re-indexed after a software update
  • A Privacy exclusion that was added then removed, leaving the index in a partial rebuild state
  • A Time Machine backup volume triggering constant re-indexing
  • Permissions problems on ~/Library/Metadata/ or on /var/folders/

Fix 1 — Check Whether It Is Actually Stuck (Not Just Busy)

Before resorting to nuclear options, confirm the index is truly stalled and not simply chugging through a large volume for the first time.

  1. Open Terminal and run:
sudo mdutil -s /

A healthy response looks like Indexing enabled. A stuck one often reports Indexing and searching disabled. or returns no progress change after several minutes.

  1. Check CPU load from the indexer:
top -o cpu | grep -E "mds|mdworker"

If mds_stores is pegged above 90% CPU for more than 20 minutes without decreasing, the index is likely looping on a problem file or folder.

Fix 2 — Exclude Problem Folders, Then Re-Enable Them

Developer directories and dependency caches are the biggest offenders. Adding a folder to Spotlight's Privacy list pauses indexing on it immediately, which often breaks a loop.

  1. Go to System Settings → Siri & Spotlight → Spotlight Privacy.
  2. Click + and add the folder that is causing grief. Common candidates:
  • ~/Library/Developer/Xcode/DerivedData
  • ~/.m2/repository
  • ~/.cargo/registry
  • Any external drive or network share
  1. Wait 30 seconds, then remove the folder from the Privacy list to let Spotlight index it cleanly.

This forces mds to restart indexing on that location from scratch, usually resolving the stall.

Fix 3 — Reindex a Specific Volume

If the Macintosh HD volume itself is the problem, you can trigger a targeted reindex without wiping everything:

sudo mdutil -E /

The -E flag erases the current index and begins a fresh rebuild. On a typical 512 GB SSD with normal usage, this takes 15–45 minutes. On machines with large node_modules or DerivedData directories it can take a few hours — which is why Fix 2 (excluding those folders first) is worth trying before this step.

Fix 4 — Restart the mds Daemon

Sometimes mds just needs a kick. This does not erase the index — it simply stops and restarts the daemon so it can resume from where it left off:

sudo launchctl stop com.apple.metadata.mds
sudo launchctl start com.apple.metadata.mds

After restarting, open Activity Monitor and watch the mds_stores CPU usage for a couple of minutes. If it begins ticking down gradually, the restart fixed the loop.

How to Delete and Rebuild the Entire Spotlight Index (Step-by-Step)

This is the most reliable fix when nothing else works. It deletes the metadata store and forces macOS to rebuild from scratch.

  1. Open Terminal.
  2. Disable Spotlight indexing:
sudo mdutil -a -i off
  1. Delete the existing index store:
sudo rm -rf /.Spotlight-V100
  1. Re-enable indexing:
sudo mdutil -a -i on
  1. Trigger a rebuild explicitly:
sudo mdutil -E /
  1. Reboot your Mac. After login, Spotlight will show "Indexing…" again — but this time it will complete.

If you are dealing with an external SSD or Time Machine drive, repeat step 3 with that volume's path, e.g. /Volumes/MyDrive/.Spotlight-V100.

Fix 5 — Check Permissions on the Metadata Folder

On some machines — especially those that have been migrated from an older Mac — the ~/Library/Metadata/ folder ends up with wrong ownership that prevents mds from writing to it.

ls -la ~/Library/Metadata/

The folder should be owned by your user account, not root. If it is owned by root, fix it:

sudo chown -R $(whoami) ~/Library/Metadata/

Then restart mds as shown in Fix 4.

Fix 6 — Clear Related Caches That Can Block Indexing

Spotlight relies on several caches beyond its own index. Stale Quick Look thumbnails and font caches have both been known to make mds spin. Clearing them is safe and fast.

To reset the Quick Look cache:

qlmanage -r cache

To reset the font cache (which can cause mdworker to loop on font files):

sudo atsutil databases -remove
sudo atsutil server -shutdown
sudo atsutil server -ping

You can find these caches — along with dozens of others — at ~/Library/Caches/ and /Library/Caches/. A tool like Crumb can audit all of these at once and show what is safe to remove before you delete anything. For a deeper look at what accumulates in these folders, see our guide on what cache files are on a Mac.

Fix 7 — Identify Disk-Space Pressure Blocking the Index

Spotlight needs free space to write its index. On volumes with less than 5 GB free, mds will stall silently without any useful error message. Check your free space first:

df -h /

If you are running tight, the fastest wins are usually large developer caches. The table below shows typical sizes on a developer machine after a year of active use:

Folder Typical Size Safe to Delete? How to Reclaim
~/Library/Developer/Xcode/DerivedData 10–80 GB Yes — rebuilt on next build rm -rf ~/Library/Developer/Xcode/DerivedData
~/.m2/repository 2–20 GB Yes — re-downloaded on next Maven build rm -rf ~/.m2/repository
~/.cargo/registry 1–10 GB Yes — re-downloaded on next Cargo build cargo cache --autoclean
~/Library/Caches/ 2–15 GB Mostly yes — app-specific entries may need care Audit per-app before deleting
/Library/Caches/ 0.5–5 GB Mostly yes Audit per-app before deleting
node_modules trees 1–30 GB Yes if project is inactive See our node_modules cleanup guide

Freeing up 10–20 GB is often enough to unblock a stalled Spotlight index immediately.

When to Expect Indexing to Complete

After a full reindex (mdutil -E /), how long should you wait? It depends on the volume size and the number of files, not just raw gigabytes. A 1 TB drive with mostly video files indexes far faster than a 256 GB drive packed with millions of small source files.

  • Typical consumer Mac: 20–60 minutes
  • Developer Mac with Xcode and multiple runtimes: 1–4 hours
  • Mac with an excluded DerivedData folder: 15–30 minutes

During this period, Spotlight searches still work — they just return incomplete results. Battery drain and fan activity will be elevated. Plug in if you can, especially on a MacBook.

Reclaim your disk in one click

Crumb audits your whole Mac, tells you what's safe to delete, and frees the space in seconds — private, local, and Apple-notarized.

Download Crumb for macOS

Frequently asked questions

Is it safe to delete the .Spotlight-V100 folder?
Yes. The .Spotlight-V100 folder contains only the search index, not your actual files. Deleting it causes macOS to rebuild the index from scratch, which takes 30 minutes to a few hours depending on your drive size. No files are lost.
Will reindexing Spotlight delete any of my files?
No. The mdutil -E command erases the metadata index only, not the files the index points to. Your documents, photos, and apps are untouched.
Why does Spotlight keep getting stuck after every macOS update?
Major macOS updates change how metadata is stored, which triggers a full rebuild of the Spotlight index. This is normal. If the rebuild loops indefinitely rather than completing, one of the fixes above — especially excluding large developer directories first — usually resolves it.
How much disk space does the Spotlight index use?
The Spotlight index stored in .Spotlight-V100 typically uses between 0.5 GB and 4 GB depending on the number of files on your volume. It lives on the same volume it indexes and should not be treated as reclaimed space you can take back permanently.
Can I turn Spotlight off completely to save CPU and battery?
You can disable it with sudo mdutil -a -i off, which stops all indexing and Spotlight search. However, this also breaks Siri file suggestions, Quick Look previews in some contexts, and any app that relies on the metadata API. Most users are better off just excluding noisy folders.