Skip to main content

Raycast Hotkeys for Apps vs a Dedicated App Switcher - SnapHotkey

Raycast hotkey open app mac works well, but has gaps. Learn what Raycast gets right and wrong for app switching, and when a dedicated tool fills the gap.

SnapHotkey April 16, 2026 10 min read
raycast app-switching productivity macOS comparison

You already use Raycast. Most developers do — it’s a genuinely excellent command palette, and for good reason. Snippet expansion, floating notes, window management, AI commands, clipboard history. It’s the Swiss Army knife of Mac productivity.

But here’s the friction you may have noticed: when you want to jump to a specific app, Raycast isn’t quite as fast as pressing one key and being there.

This article is about that gap — not a criticism of Raycast, but an honest look at what it’s optimized for and where a dedicated app switcher fits alongside it.

Mac developer using raycast hotkey to open app alongside a dedicated app switcher

How Raycast Hotkeys for Apps Actually Work

Raycast does support assigning hotkeys to open specific apps. The path goes like this:

  1. Open Raycast Settings → Extensions
  2. Find the app or command you want to assign
  3. Click “Record Hotkey” and press your shortcut

Once configured, pressing that hotkey opens Raycast and executes the command — or in many cases, launches the app directly without the full command palette appearing. For “No View” commands like app launching, this is reasonably fast.

This is a real feature. Raycast hotkey open app on Mac works, and if you’ve set it up for your five most-used apps, it feels fast.

But there are real trade-offs in how this system is built, and they matter if app switching is something you do 100+ times a day.

What Raycast Gets Right for App Switching

Before the critique, let’s be fair about what works well.

Global hotkey support. Raycast hotkeys are system-wide. You can trigger them from any app, any context — no need to switch focus to a launcher window first.

Broad command coverage. You’re not limited to apps. You can assign hotkeys to Raycast commands, AI presets, window management actions, Quicklinks, and scripts. One hotkey system for your whole workflow.

Extension ecosystem. The Raycast extension store has thousands of extensions, and many include hotkey-compatible commands. If your workflow involves GitHub PRs, Linear tickets, or Notion pages, you can assign hotkeys to those actions too.

Free tier covers it. Hotkey assignment is available in Raycast’s free tier. You don’t need the Pro plan ($8/month) for per-app hotkeys.

For developers who want a command palette and some app hotkeys in a single tool, Raycast is a reasonable choice.

Where Raycast Falls Short for App Switching

Here’s where the gaps appear — not because Raycast is bad, but because it wasn’t purpose-built for this specific workflow.

Per-App Hotkeys Live Inside the Extension System

Assigning a hotkey to an app in Raycast requires navigating into Settings → Extensions, finding the right command, and recording the hotkey. It’s not complex, but it’s not the first-class, dedicated interface you get from a tool built only for this purpose.

More importantly, Raycast organizes hotkeys as command shortcuts, not app shortcuts. The mental model is: “what command do I want to run?” rather than “what app do I want to reach?” For developers who think in apps — VS Code, Terminal, Chrome, Slack — that’s a friction point in the configuration, even if it’s small.

No Toggle Show/Hide

When you press a Raycast hotkey to open an app, the app comes to the front. Press the same hotkey again, and nothing happens — the app stays visible.

Toggle behavior (press once to show, press again to hide) is the kind of thing you don’t know you need until you’ve had it. It’s especially useful for Slack, music players, and terminals: you check a message, and the same key that brought Slack forward sends it back behind your work. Without toggle, you need a separate shortcut or Cmd+H to hide manually.

No Same-App Multi-Window Cycling

If you have three Terminal windows open, a Raycast hotkey will bring a Terminal to the front — probably the last one you used. Getting to a specific Terminal window still requires Cmd+~ or Mission Control.

A purpose-built app switcher can track all windows of the same app and cycle through them on repeated keypresses. That’s a meaningfully different capability when you’re juggling multiple projects in the same tool.

No Left/Right Modifier Distinction

macOS treats Left Cmd and Right Cmd as the same key. Most apps — and Raycast — don’t distinguish between them.

A dedicated app switcher can use Left Cmd as its modifier namespace (e.g., Left Cmd+1 through Left Cmd+9 for your nine core apps) while leaving Right Cmd completely free. That doubles your available shortcut space without adding a new modifier key.

If you’re trying to build a full app-switching layer alongside Raycast’s command palette, this distinction matters.

Raycast Is a Heavy Process

Raycast is a powerful app with many features — which means it consumes resources accordingly. For developers who want a lightweight, always-on app switcher that does one thing, running Raycast solely for per-app hotkeys is using a power tool for a finishing nail.

Diagram comparing raycast app switching limitations vs a dedicated app switcher for Mac

The Right Mental Model: Two Different Layers

Here’s the frame that makes this clear: Raycast is your command palette. A dedicated app switcher is your muscle memory layer.

These are different categories of tool, even though they overlap on hotkeys.

Your command palette handles things that require thinking: “Run this script, search this database, expand this snippet, send this text.” You invoke it, you see options, you choose.

Your muscle memory layer handles things that require zero thinking: “I need Terminal. I need Slack. I need Chrome.” You press a key, you’re there. No invocation, no scanning, no choosing.

When Raycast handles both, the command palette model wins — and the muscle memory layer suffers a little. Your per-app hotkeys live in the same configuration as your AI commands and clipboard history. The app-switching workflow gets the same UI treatment as every other Raycast feature.

That’s a design tradeoff Raycast made intentionally. It’s not a bug. It just means there’s room for a complementary tool.

Tool Comparison for Mac App Switching

Here’s how the main options stack up for direct app-switching specifically — not as a general tool comparison.

FeatureRaycastrcmdThorSnapHotkey
Per-app hotkeysYes (via extension system)Yes (auto-mapped)Yes (manual GUI)Yes (manual GUI)
Toggle show/hideNoNoNoYes
Same-app multi-window cyclingNoNoNoYes
Left/Right modifier distinctionNoRight Cmd onlyNoYes
Deep Launch (open with params)NoNoNoYes
Setup complexityMediumLow (zero-config)LowLow
PriceFree / Pro $8/moFreeFree$9.99 one-time

rcmd (free) is worth considering if you want zero-config app switching alongside Raycast. It auto-maps Right Cmd + first letter to each running app. The limitation: you’re stuck with Right Cmd, letter conflicts emerge with many apps open, and there’s no toggle or multi-window cycling.

Thor (free) lets you manually map shortcuts to apps — similar to a dedicated switcher, but development appears stalled and it lacks advanced features.

SnapHotkey ($9.99, one-time) is built specifically for the muscle memory layer problem. You map shortcuts to apps through a simple GUI, and it adds the features the others lack: toggle show/hide, same-app multi-window cycling, left/right modifier distinction, and Deep Launch. Many SnapHotkey users run it alongside Raycast — Raycast stays as the command palette, SnapHotkey handles the app-switching layer.

Karabiner-Elements (free) can technically do all of this, but requires JSON config and Lua scripting via Hammerspoon. If you want to compare the scripting approach vs dedicated tools, Karabiner & Hyper Key vs Dedicated App Switchers covers that tradeoff in detail.

A Real Developer Setup: Raycast + SnapHotkey

Here’s how a working combination looks in practice.

Raycast handles:

  • Command palette (search, AI, snippets, clipboard)
  • Script commands with hotkeys (e.g., a custom deployment trigger)
  • Quicklinks to specific URLs
  • Floating window for scratch notes
  • Window management shortcuts

SnapHotkey handles:

  • Left Cmd+1 → VS Code
  • Left Cmd+2 → Terminal
  • Left Cmd+3 → Chrome
  • Left Cmd+4 → Slack (with toggle — same key hides it)
  • Left Cmd+5 → Finder
  • Left Cmd+6 → Obsidian

The two tools don’t conflict. Raycast uses Option+Space as its main trigger and various hotkeys for commands. SnapHotkey uses Left Cmd+number for the app-switching layer. They operate in separate shortcut namespaces.

The result: you have a full command palette for everything that requires thought, and a zero-thought switching layer for everything that requires only muscle memory.

Split workflow: Raycast command palette and SnapHotkey app switching layer for Mac developers

When to Use Raycast Hotkeys vs a Dedicated Switcher

Stick with Raycast hotkeys only if:

  • You switch between 3-4 apps and per-app hotkeys cover your workflow
  • You don’t need toggle show/hide or multi-window cycling
  • You want to minimize the number of installed tools

Add a dedicated app switcher if:

  • You use 6+ apps regularly and want muscle memory access to all of them
  • Toggle show/hide matters for how you use communication apps or terminals
  • You work with multiple windows of the same app (multiple Terminal sessions, VS Code projects)
  • You want Left Cmd as a dedicated app-switching modifier, separate from Raycast’s namespace

Use rcmd alongside Raycast if:

  • You want zero-config automatic hotkeys and don’t mind Right Cmd as the fixed modifier
  • Your app names all start with different letters

The underlying question is whether app switching is a workflow you’ve optimized or just something you do. If you’ve never thought about it, Raycast’s built-in hotkeys are probably fine. If you’ve noticed the friction — too many apps to juggle, windows piling up, the same few keypresses repeated hundreds of times — that’s the signal that the muscle memory layer deserves its own tool.

The Bottom Line

Raycast is excellent. If you’re not using it yet, start there — it will improve your workflow meaningfully.

For app switching specifically, Raycast’s hotkey system works but is built around the command-palette model rather than the instant-muscle-memory model. The gaps — no toggle show/hide, no multi-window cycling, no left/right modifier distinction — aren’t bugs. They’re tradeoffs that come from building a general-purpose tool.

A dedicated app switcher closes those gaps without replacing Raycast. The two tools are complementary by design.

If you’re ready to eliminate Cmd+Tab cycling entirely and build a proper app-switching layer, Stop Using Cmd+Tab: Better App Switching for Developers walks through the full setup — from quick macOS fixes to the dedicated tool approach.

For a side-by-side comparison of all the dedicated hotkey app launchers available on Mac, see Best Mac Hotkey App Launchers Compared.


SnapHotkey is a dedicated Mac app switcher: one-time purchase at $9.99, no subscription. It handles the muscle memory layer so Raycast can stay focused on what it does best.

SnapHotkey configuration screen for assigning keyboard shortcuts to open specific apps on Mac


Related reading: