Skip to main content
Powerful and performant filtering throughout your file system with ease.

What is Monarch Ignore for?

Monarch Ignore is a feature that gives you granular control over what files and folders appear in your search. It works by defining a set of patterns, and files or folders that match those patterns will be excluded from search. This is useful for people with more complex file systems like designers and engineers. Because Monarch indexes everything it can find, common directories like build outputs, caches, cloud storage mirrors, and media folders can quickly flood your search results with files you never need. Monarch Ignore fixes this problem without compromising control.

Changing Monarch Ignore Settings

To access your Monarch Ignore settings, open Monarch Settings, click File Search, and scroll to the bottom. Be sure to click Save Changes after editing Monarch Ignore settings so that Monarch knows you’re ready to apply the changes.
Re-indexing takes time. After saving changes, Monarch will re-index your files. If you have a very large file system, allow a moment for the new rules to take full effect.

Monarch Ignore Basics

Patterns follow ignore style syntax. Each line is one rule. You do not need to specify the full path to a file or folder. down*.png will match that pattern anywhere on your system, not just in a specific directory.
  • Environment variables such as $HOME, $USER, or ~ are not supported. Do not use them in your patterns — they will be interpreted as literal text and will not match anything.
  • A trailing / at the end of a pattern indicates a directory (not a file).
  • The * wildcard matches any sequence of characters within a single path segment (i.e., it does not cross directory boundaries).
  • The ** wildcard matches across directory boundaries, allowing you to match nested paths at any depth.

Pattern Reference

On the left is what you would write in your Monarch Ignore. On the right is the effect it will have on your file search results.
PatternWhat this pattern does
designsFilters out any file or folder named exactly “designs” anywhere on the system
*.txtFilters out every file with the extension .txt, regardless of the file’s name
(example: Journal.txt)
final*.psdFilters out every file that starts with “final” and has the extension .psd
(example: final_presentation.psd)
*_final.psdFilters out every file that ends with “_final.psd”
(example: design_final.psd)
drafts/Filters out any folder that has the name “drafts” (trailing slash signals directory)
folderA/**/folderB/Filters out any folder named “folderB” that is nested inside of a folder named “folderA”

Example Monarch Ignore

Below is a real-world example, followed by an explanation of what each rule does. It’s the Monarch Ignore that I use myself! It won’t be useful to you, but I share it to show the power that you have over your file search with Monarch.
down.*
down*.png
Down*.png
*.webp
target
src-*
src
icons
Library/**/Downloads/
Library/Mobile Documents/**/

Why I have these rules

down.* down*.png and Down*.png
Matches any file named down with any extension — for example down.html, down.txt, or down.json. I have a surprising number of files like this, and they got in the way of accessing the Downloads folder.
*.webp
Excludes all .webp image files from search results, regardless of their name or location. I’m just never looking for these kinds of files.
target
Matches any file or folder named exactly target anywhere on the system. In Rust programming, the target/ directory is where the compiler places all build artifacts and compiled outputs. These directories can contain hundreds of thousands of files and I never need to search for any of them.
src, src-* and icons
Matches any file or folder named exactly src or that starts with src- or any folder named icons. The src directory is a near-universal convention in software projects, and since its contents tend to be indexed through project-level searches anyway, excluding the folder itself reduces noise in general file search while still letting me easily find projects by their root folder name.
Library/**/Downloads/
Matches any folder named Downloads nested at any depth inside the Library directory. On macOS, cloud services and apps often create their own Downloads subdirectories inside Library — particularly within iCloud Drive. Without this rule, multiple redundant Downloads folders would appear in search results alongside my local Downloads folder that I open hundreds of times per day. Notice that this rule applies to the Library directory, not the ~/Downloads folder in my home directory, so my actual Downloads folder is unaffected!
Library/Mobile Documents/**/
Filters everything in Library/Mobile Documents/ at any depth. On macOS, Mobile Documents is the on-disk location for iCloud Drive. When iCloud Drive is indexed, things can get cluttered very quickly — everything I’ve stored in iCloud over the years will appear in my search. Excluding this directory prevents those iCloud-mirrored files from appearing.

I just want to filter out a specific kind of file

Most people just have one or two kinds of files that they want to filter out. For example DEVONthink may add metadata files to your file system that the app will update regularly as you use it. This would clutter your search results pretty badly. Thankfully to filter out this metadata file entirely, all you would need to do is add *.dtMeta to your Monarch Ignore and save it!