My X feed has been a steady drip of launcher launches for months now. Supercmd. Supermac. A handful of smaller ones I won't bother naming. Each one promises to be the Raycast killer. Each one demos a beautiful command palette, a few clever built-in commands, an AI integration that's almost identical to the previous AI integration. Each one is, in some real sense, very impressive, and almost completely missing the point.
The point of a launcher was never the launcher. The point was the ecosystem of things people could build on top of it. Raycast figured this out years ago, and it's the reason every new entrant in the space is shipping a beautifully polished product that nobody who actually uses Raycast seriously will switch to.
Why everyone is suddenly building one
The launcher gold rush is downstream of a simple fact: AI made the cost of building a launcher trivially low. The hard parts of a command palette (fuzzy matching, keyboard handling, transparent overlays, the visual polish of the popup) are well-understood, well-documented, and can be vibe-coded into existence in a long weekend if you have Cursor or Claude Code open. Add a few hardcoded actions, an AI prompt box, maybe a clipboard manager, and you have a launcher you can put on Product Hunt.
The launcher itself is no longer a moat. It can be cloned. It is being cloned. What can't be cloned, at least not quickly, is the community of people who've built thousands of extensions for one particular launcher and aren't going to rebuild them for yours.
The launcher is the cheapest part now. The extension ecosystem is the part that's actually expensive to build, and almost nobody is building it.
The 90/10 reality
Here's the thing that every launcher startup seems to be ignoring. Most users (and I mean a clear majority) touch maybe 10% of any launcher's features in their daily work. The clipboard history. The app switcher. A handful of specific extensions that match their specific workflow. Everything else is decoration. Beautiful, well-designed, perfectly-animated decoration that nobody opens twice.
So when a new launcher ships with twenty built-in commands and demos all of them in the launch video, the message I'm hearing is: "we built the 10% of features that everyone already has, and we built it well." That's a respectable engineering achievement. It is not a reason for me to switch.
The reason I might switch is if the launcher let me build the specific 5% of functionality that's unique to my workflow in a way that's better than how I can build it on the current launcher. That's a much higher bar, and almost nobody is clearing it.
Where even Raycast falls short
To be fair to the new entrants, Raycast itself has real ceilings. Last week I was building a custom extension to list my GitHub PRs and trigger AI-powered code reviews directly from the launcher. The whole thing should be obvious: type a command, see PRs, hit enter, get a review streamed back. Raycast's Detail view is exactly the right primitive for displaying that streamed output.
Except two things break the experience badly enough that I almost gave up:
Clicking outside the Detail view kills the process
If you accidentally lose focus on the Raycast window (switch to another app, click on a different monitor, fat-finger a tap on the desktop) the Detail view dismisses. Worse, it SIGKILLs the running background command. There's no way to recover the output. There's no way to recover the work the command was doing.
For a five-second command this is mildly annoying. For an AI-powered code review that takes 90 seconds and streams output gradually, it's catastrophic. One misclick and the whole thing is gone.
The Detail view is too small to actually read
Raycast's window has a fixed size. For most use cases that's fine. For a Detail view showing a verbose code review, a build log, a test runner output, or a git diff, the height is constrained enough that you're scrolling continuously through small text in a small window. It's the wrong shape for the content. There's no resize, no expand, no fullscreen toggle. You're stuck.
What this looks like in practice:
These are not edge cases. They're the default behavior. Any extension developer trying to do something more sophisticated than "show a static list and respond to enter" runs into them within an hour.
What I think the right fix looks like
Detail view, but actually useful
Pin-to-top / detachable Detail view
Let the Detail view be popped out into a floating window that stays on top of other apps and persists until explicitly closed. Lifecycle independent of Raycast focus.
Resizable Detail view
Drag-resize the window, or at minimum provide an "expanded" / fullscreen toggle in the Detail view component. For long output, the constrained default just doesn't work.
Neither of these is an exotic ask. They're the kinds of things that any serious extension developer trying to wrap CLI tools (AI assistants, build runners, test suites, anything that streams output over seconds or minutes) needs. The fact that they don't exist tells me something about how Raycast's product team has prioritized the extension ecosystem versus the polished built-in features. The built-in side has gotten more love. The extension side, where the long-term moat actually lives, has not.
I get why some things are held back. Raycast keeps certain capabilities locked behind their Pro tier because free software is genuinely hard to maintain, and they need a revenue model. I'm fine with that. What I'm less fine with is when those decisions affect what extension developers can build, because that's where the platform's long-term value actually compounds.
The way forward isn't more launchers
The new launchers chasing Raycast are mostly playing the wrong game. They're building polished versions of features Raycast already has. They're not building the extension primitives that would let users build the workflows Raycast hasn't gotten to yet. They're competing on the 10% everyone uses, not the 5% everyone wants to customize.
The way forward, if you're starting a launcher in 2026, isn't to build the most beautiful command palette. It's to build the most extensible one. To treat the launcher itself as a minimum viable shell and pour all of the engineering into the API surface, the documentation, the templates, the dev experience for people building extensions. The launcher is the cheap part now. The platform is everything.
Build the kernel, let the community build the OS.
There are existing software projects that already understand this philosophy. They build a small, sharp, opinionated core, and they invest disproportionately in making it easy for everyone else to extend it.
libghostty, so embedders can build their own terminals on top of it.The lesson from both: ship a small, well-designed core with a strong public API, and let the ecosystem do the work of finding all the use cases you didn't think of. A launcher that did this, really did this and didn't just pay lip service to "extensibility," would have a moat that no amount of AI-assisted vibe coding can replicate.
What I actually want
I don't want another beautiful launcher. The one I have is beautiful enough. I want one that lets me write an extension to list my PRs and stream an AI code review without that review getting killed when I accidentally click on the wrong monitor. I want a Detail view I can resize. I want background processes that don't die when I lose focus. I want a platform built like an actual platform, not a polished closed-box app with a sprinkling of extensions on top.
If you're building a Raycast competitor, that's where the real opportunity is. Not in shipping the same features faster. In shipping the primitives that make all the features users haven't asked for yet actually possible.
Every era of personal computing has had its breakout extensibility platform. Emacs. Vim. VS Code. Obsidian. The launchers are the next category waiting for the same treatment. Whoever builds it well will win for the next decade. Whoever ships the prettiest command palette won't. Thanks for reading ✦
Comments