Browse the handbook

Launcher

How Cleat finds apps, files and commands on a Mac, how frecency decides what comes first, and how aliases and per item hotkeys skip the search entirely.

Cleat basicsUpdated

The root of the palette searches five things at once: applications, files from the Spotlight index, Cleat’s own tools, your script commands, and window positions. Bookmarks, notes, Shortcuts and app actions join them, and each source has its own switch in Search settings.

Ranking

Matching is fuzzy. xco finds Xcode, sfr finds Safari, vsc finds Visual Studio Code. Letters at the start of words and consecutive runs score higher than scattered ones, and for anything with a long title (bookmarks, notes, files, commands) scattered letters do not count at all: saf will not match a headline that happens to contain an s, an a and an f ninety characters apart. Acronyms still work, because every letter of one starts a word.

On top of that comes frecency: how often and how recently you opened each result. The first time you type x you may get several things. After you open Xcode from it twice, Xcode is the first row for x from then on. Usage counts live in a local SQLite file and never leave the Mac, and you can turn the whole thing off in Search settings, which also stops anything being recorded.

Apps come before files, and files come before window positions unless the query is long enough to be clearly about a window.

Files

File results come from the same index Spotlight uses, so they appear without Cleat scanning anything. They sit under a “Files” heading, below everything Cleat holds in memory, because Spotlight answers a beat later. Folders, documents and projects show with their parent folder as the subtitle.

The search waits until the query is three characters long, skips generated folders like node_modules and DerivedData, and returns eight rows. All three numbers, the folder list and the heading itself are settings. Press ⌘ Y for Quick Look, ⌘ ⏎ to reveal in Finder, or ⌘ K for the full actions menu.

Aliases

Type sf and Safari opens, if you told Cleat so. Select any row, press ⌘ K, choose Set Alias and type a short word. Aliases always win over fuzzy matches. They are listed in Settings › Hotkeys.

Recents

With an empty field, the palette shows the tools you reach for most. There is no separate recents list to manage.

Keys in the list

Key Action
↑ ↓ Move the selection
⌘ 1 … ⌘ 9 Pick a row directly
⏎ Open or run
⌘ ⏎ Secondary action, usually reveal in Finder or copy
⌘ K Actions for the selected row
⌘ Y Quick Look
Esc Clear, then close

Snippets and emoji in the list

Snippets match by name or keyword from the root field, so sig finds the signature without the snippet mode. A query of two letters or more also brings up to two emoji, ranked below apps and commands. Both are switches in Settings › Search.

Nothing until you type

Settings › Search › Empty field has a second mode, Nothing until I type: the field, the dashboard cards if they have something to show, and no list. It is for people who find the recents distracting.

Search operators

kind:pdf, kind:image, kind:folder or any extension such as kind:swift narrow a file search by type. in: or content: followed by words finds files whose text contains them, from the same index Spotlight keeps. -word leaves out anything whose path contains it. With an operator the three-letter minimum no longer applies, so kind:pdf alone lists recent PDFs.

It learns what you mean

Besides how often you open things, Cleat remembers what you picked for what you typed. Choose Safari for s twice and s shows Safari first from then on, marked “Learned”. An alias still wins over anything learned. Settings › Usage lists every learned query with a Forget button for one, and Forget Usage History clears all of them along with the counts.

Verbs on apps

The ⌘K actions on an app can be typed as a sentence: quit safari, hide music, kill xcode or force quit xcode, restart finder, reveal slack (in Finder), uninstall zoom. The best three matching apps are offered, running ones only for quit, hide, kill and restart. kill safari in the process killer puts Safari itself first, ahead of its helpers.

Recalling what you typed

↑ in the empty field brings back the previous query, and each further ↑ goes one older; ↓ comes forward again. Fifty queries are kept, most recent first, with no duplicates. Forget Usage History does not touch them; they are a separate list under queryHistory in the app’s defaults.

Deliberate matches for destructive rows

Shut Down, Restart, Log Out, Empty Trash, Quit All, Force Quit, Eject All Disks, Clear Clipboard and Clear Notifications only appear when the typed text starts the title, a word of it, or one of their keywords. sudo no longer surfaces Shut Down; shut, shutdown, restart mac and power off still do.

The web row does more

When nothing else answers, the last row searches the web with your engine. ⌘K on it offers the same words on YouTube, Wikipedia, Apple Maps, the App Store and GitHub, in Apple Notes, in your files (the same as find) and in Mail, which opens Mail and types the search for you.

Rescan Apps

A freshly installed app is picked up by the next scan; Rescan Apps does it now and reports how many apps the index holds.

Other names and other folders

Some apps declare alternate names in their bundle; the ChatGPT app is also “Codex”. Cleat matches those too and says “Also known as” on the row, the way Spotlight does. Apps are indexed from the Applications folders, but an app you run from somewhere else, a build folder or Downloads, is in the list while it runs and leaves when it quits.