Back to writing
Rust · Tools · Desktop

I replaced Spotlight with Raycast, then replaced Raycast with look

/ / 9 min read

I moved from Spotlight to Raycast to fix app launching, then moved to look because Raycast's file search kept getting in my way. Here is the honest trade.

On this page

I have changed the thing behind Cmd+Space twice in about a year. Both times for one reason: the launcher was fast at half my work and slow at the other half.

Spotlight was good at finding files and bad at opening apps. Raycast flipped it. It opened apps instantly and made finding a file feel like using a database. Then I found look, an open-source launcher out of Vietnam, and it is the first one that has been fast at both. It also cost me something real, and I want to be straight about what.

What Spotlight actually gets right

Let me defend Spotlight for a second, because most people who dunk on it have not thought about why it works.

Spotlight indexes the contents of your files, not just their names. That is the whole point of the thing. Apple's own docs cover this under searching with Spotlight: it will find a PDF because of a sentence inside it, find text inside an image with Live Text, find an email by a phrase in the body. No third-party launcher I have used does that as well, because none of them have a system-level index sitting under them.

So for files, Spotlight was fine. I typed part of a filename, it appeared, I hit Enter.

Apps were the problem. I would type "sla" for Slack and get a folder called "slack-exports", a Safari suggestion, and a Wikipedia entry above the actual application. Worse, the ranking moved while I was typing. I would hit Enter on what I saw a moment ago and open the wrong thing. When you launch apps thirty times a day, a result list that reshuffles under your fingers is not a small annoyance.

You can trim the categories in Spotlight settings, and I did. It helped a bit. It did not fix the reordering.

Raycast fixed apps and broke files

Raycast solved the app problem on day one. Type three letters, the app is first, Enter opens it. It is deterministic. It learns what you actually pick. In a year of using it I do not think I opened the wrong app once.

The plugin ecosystem is the real reason people stay, and it is genuinely good. The Raycast Store has extensions for basically every tool a developer touches: GitHub, Linear, Jira, Docker, npm, password managers, window management, snippets. Building your own extension is a React project. That is a serious piece of engineering and I am not going to pretend otherwise.

Here is what I could never get past.

File search in Raycast is a command, not the default. Files do not show up in the main result list the way apps do. You open File Search first, then type. That is one extra step, which sounds trivial written down and is not trivial when you do it forty times a day. Every time I wanted a file, my hands had to remember which mode I was in. Spotlight never made me think about mode. I typed, the file was there.

So I ended up with two habits. Cmd+Space for apps, and then Finder or a terminal for files, because that was faster than getting Raycast into file mode. A launcher that I route around for half its job is a launcher with a hole in it. Related pain: this is also why I built a better file explorer for VS Code, because Finder was never going to be the answer either.

Then look showed up

look came across my feed through a post in r/tauri about its motion work. I installed it expecting a weekend project. It is not.

The thing that changed my workflow is one design decision: everything is fuzzy, and everything is in the same list.

Fuzzy matching means the letters you type have to appear in order, but not next to each other. Type dwnrpt and it finds Downloads/report.pdf. Type vsc and it finds Visual Studio Code. You are not spelling anything correctly. You are giving it a shape and it finds the shape. Apps, files, and folders all come back in that same list, ranked together, no mode switch.

That sounds small. It removed the split in my head between "app search" and "file search", and that split was the actual cost of the last two launchers.

Speed backs it up. The project's README puts typical search under 1 ms on a 2,000-item index and an empty-query browse under 30 µs. Those are the maintainer's numbers, not mine, but the felt experience matches: I have never seen it lag behind my typing, and I type fast.

The scoped prefixes are what I use most:

a"safari          apps only
f"note            files only
d"documents       folders only
r"^Visual.*       regex
git/project/read  path-style search
c"meeting         clipboard history
rc"               recently opened and recently downloaded (macOS)
t"hello           translate
tw"word           dictionary

And Cmd+/ opens command mode, which has the four things I actually reach for: calc (type 2^10 or 200*15% straight into the bar, no mode needed), kill :3000 to kill whatever is squatting on a port with a confirm step, todo, and pomo.

The port one has quietly replaced a shell alias I have had for six years.

What it is under the hood

Worth knowing if you care about what you install.

On macOS it is a native SwiftUI app with a Rust core underneath. On Windows and Linux it is a separate shared app built on Tauri v2, Rust backend with a plain HTML, CSS and JS frontend. No Electron anywhere. The repo is roughly a third Rust and a third Swift, which tells you where the work is.

The index is a local SQLite file holding names and metadata. Not file contents. That is an explicit v1 scope decision, and it matters (more on that below).

No account, no telemetry, no plugin marketplace to manage. The only network calls are the ones you trigger on purpose (t", tw", Cmd+Enter web search) plus the optional answer cards from DuckDuckGo and Wikipedia, which you can switch off in settings. On macOS it can also fall back to the on-device Apple Intelligence model, which runs locally.

It is GPLv3, at v0.6.7 as I write this, with 56 releases and around 430 stars. Small project, shipping steadily.

What I gave up

This is the part most switching posts skip.

The plugin ecosystem is gone. look has no extension store. Raycast's Jira, Linear, GitHub and window-management extensions do not have an equivalent. If your day runs through a Raycast extension, look will feel bare. The repo lists plugin exploration as near-term, which means it does not exist yet, so plan for what is shipped.

No content search. look indexes names and metadata only. Spotlight will find a document because of a sentence buried inside it. look will not. I kept Spotlight's index alive for exactly this and drop into it maybe twice a week. If your job is finding documents by what they say rather than what they are called, look is not a replacement for you.

Windows and Linux are behind macOS. macOS is the design source of truth and it is stable. The Tauri app for the other two is under active development. Linux and Windows releases are x86_64 only, no ARM builds published. The Windows hotkey is fixed to Alt+Space and not configurable yet.

It is a small project. 430 stars and a dozen open issues. That is a bus-factor conversation you should have with yourself before you make it the front door to your machine. The mitigation is that it is GPLv3 and local-first, so nothing you have is trapped.

Installing it and rebinding Cmd+Space

On macOS:

brew tap kunkka19xx/tap
brew install --cask look

Builds are signed and notarised, so no Gatekeeper dance.

Then the part everybody misses: go to System Settings, Keyboard, Keyboard Shortcuts, Spotlight, and turn off the Spotlight shortcut. Otherwise both open and it is a mess. Bind Cmd+Space to look. Spotlight still exists and still works, you just get to it deliberately now.

On Linux and Windows the hotkey is Alt+Space, because the OS usually owns Super+Space. Linux has AUR, a Debian package, an AppImage and a Nix flake. Windows is a PowerShell one-liner that verifies the installer's SHA256 against the published checksums, which is more care than a lot of shipped installers take.

Themes are built in: Catppuccin, Tokyo Night, Rose Pine, Gruvbox, Dracula, Kanagawa. If you already themed your Neovim setup, yours is probably in there.

Who should actually switch

Switch to look if you open apps and files constantly, you type fast, you want one list with no modes, and you do not depend on a specific Raycast extension.

Stay on Raycast if your workflow lives inside extensions. That store is a real moat and nothing else has one.

Stay on Spotlight if you search documents by their contents, or if you do not want to think about this at all. That is a completely reasonable position.

I am on look for daily use and I still keep Spotlight's index around for content search. Two tools, clear boundary, no thinking required at the moment I need one.

The wider point, and this is the thing I keep relearning when I move tools: the tool that wins is the one that removes a decision, not the one with the most features. Raycast has more features than look by an enormous margin. look removed the "which mode am I in" decision, and that turned out to be worth more to me than everything in the store. Same reason I moved editors last year.

What to do now

Install it, rebind Cmd+Space, and give it two weeks. Two weeks is roughly how long it takes for fuzzy typing to stop feeling like a trick and start feeling like the normal way to type. If it has not clicked by then, brew uninstall --cask look and re-enable Spotlight's shortcut, and you have lost an evening.

If you are picking tools for a team rather than yourself, the calculation is different: ecosystem, support and a company behind it start to matter more than raw speed. That is the kind of call we make constantly at dsrpt, and the honest answer for a team is usually the boring one.

And star the repo if you use it. Small projects live or die on that.

Frequently asked questions

Is look a real replacement for Raycast?

For launching apps, opening files and folders, clipboard history, quick calculations and killing a process on a port, yes. For anything that depends on a Raycast extension, no. Raycast's store covers GitHub, Linear, Jira, window management, snippets and hundreds more. look has no extension store at all, and the repo only lists plugin support as near-term exploration. Check which Raycast extensions you actually use before switching.

Does look search inside file contents like Spotlight?

No. look indexes file names and metadata in a local SQLite database. Full content indexing is explicitly out of scope for v1, along with semantic and vector search. Spotlight indexes the contents of documents, emails and even text inside images with Live Text. If you find files by what they say rather than what they are called, keep Spotlight around alongside look.

Is look free, and is it open source?

Yes to both. look is licensed under GPLv3 and the source is on GitHub. There is no account, no paid tier and no telemetry. The only network requests are ones you trigger yourself, plus optional web answer cards from DuckDuckGo and Wikipedia that you can switch off in settings.

Does look work on Windows and Linux?

Yes, but macOS is further ahead. macOS runs a native SwiftUI app with a Rust core and is the design source of truth. Windows and Linux share a newer Tauri v2 app that is under active development, with core search, clipboard, command mode and settings already done. Released builds for both are x86_64 only, and the Windows hotkey is fixed to Alt+Space for now.

How do I stop Spotlight opening at the same time as look?

Turn off the Spotlight shortcut in System Settings, Keyboard, Keyboard Shortcuts, Spotlight, then bind Cmd+Space to look. Spotlight itself keeps running and keeps its index, so you can still reach it from the menu bar icon when you need content search.

What does fuzzy search actually mean here?

It means the letters you type have to appear in the result's name in order, but not next to each other. Typing dwnrpt matches Downloads/report.pdf, and vsc matches Visual Studio Code. You do not have to spell anything correctly or remember where a file lives. look ranks apps, files and folders together in one list using this, which is why there is no separate file-search mode.

FAQ

Frequently asked

For launching apps, opening files and folders, clipboard history, quick calculations and killing a process on a port, yes. For anything that depends on a Raycast extension, no. Raycast's store covers GitHub, Linear, Jira, window management, snippets and hundreds more. look has no extension store at all, and the repo only lists plugin support as near-term exploration. Check which Raycast extensions you actually use before switching.

No. look indexes file names and metadata in a local SQLite database. Full content indexing is explicitly out of scope for v1, along with semantic and vector search. Spotlight indexes the contents of documents, emails and even text inside images with Live Text. If you find files by what they say rather than what they are called, keep Spotlight around alongside look.

Yes to both. look is licensed under GPLv3 and the source is on GitHub. There is no account, no paid tier and no telemetry. The only network requests are ones you trigger yourself, plus optional web answer cards from DuckDuckGo and Wikipedia that you can switch off in settings.

Yes, but macOS is further ahead. macOS runs a native SwiftUI app with a Rust core and is the design source of truth. Windows and Linux share a newer Tauri v2 app that is under active development, with core search, clipboard, command mode and settings already done. Released builds for both are x86_64 only, and the Windows hotkey is fixed to Alt+Space for now.

Turn off the Spotlight shortcut in System Settings, Keyboard, Keyboard Shortcuts, Spotlight, then bind Cmd+Space to look. Spotlight itself keeps running and keeps its index, so you can still reach it from the menu bar icon when you need content search.

It means the letters you type have to appear in the result's name in order, but not next to each other. Typing dwnrpt matches Downloads/report.pdf, and vsc matches Visual Studio Code. You do not have to spell anything correctly or remember where a file lives. look ranks apps, files and folders together in one list using this, which is why there is no separate file-search mode.

Enjoyed this? Start a project.

Start a conversation →