General
What is HopTab?
What is HopTab?
How is this different from Cmd+Tab?
How is this different from Cmd+Tab?
- Fewer apps to cycle through (typically 2-3 instead of 10+)
- Faster switching (one or two presses instead of holding Tab 5 times)
- Context-aware (you can have different pinned apps for different workflows)
Is HopTab free?
Is HopTab free?
Does HopTab replace Cmd+Tab?
Does HopTab replace Cmd+Tab?
- Cmd+Tab for switching to any open app
- Option+Tab for switching between your pinned apps
Installation
Why does macOS say 'Apple could not verify HopTab'?
Why does macOS say 'Apple could not verify HopTab'?
Do I need to build from source or can I use the pre-built binary?
Do I need to build from source or can I use the pre-built binary?
Can I install HopTab with Homebrew?
Can I install HopTab with Homebrew?
.zip from GitHub Releases and drag it to /Applications.If you’d like a Homebrew cask, please open an issue or submit a PR.Permissions
Why does HopTab need Accessibility permission?
Why does HopTab need Accessibility permission?
- Detect global keyboard shortcuts (Option+Tab, Option+`)
- Intercept and swallow the shortcut so it doesn’t reach other apps
- Switch between your pinned apps
- Raise windows to the front when activated
Can I use HopTab without Accessibility permission?
Can I use HopTab without Accessibility permission?
Does HopTab log my keystrokes?
Does HopTab log my keystrokes?
HotkeyService.swift:115.Usage
How do I pin an app?
How do I pin an app?
- Open Settings from the menu bar icon
- Go to Pinned Apps
- Click the app you want to pin (it will show a checkmark)
- Close Settings
Can I pin apps that aren't currently running?
Can I pin apps that aren't currently running?
How do I change the shortcut?
How do I change the shortcut?
- Open Settings from the menu bar icon
- Go to Shortcut
- Select a preset: Option+Tab (default), Control+Tab, or Option+`
- The shortcut changes immediately
Can I use a custom shortcut (e.g. Cmd+Space)?
Can I use a custom shortcut (e.g. Cmd+Space)?
- Option+Tab (default)
- Control+Tab
- Option+`
How do I cycle backward through apps?
How do I cycle backward through apps?
- Option+Tab cycles forward
- Shift+Option+Tab cycles backward
How do I cancel the switcher without switching apps?
How do I cancel the switcher without switching apps?
Profiles
What are profiles?
What are profiles?
- Coding profile: Xcode, Simulator, Terminal
- Design profile: Figma, Safari, Preview
- Writing profile: Notion, Safari, ChatGPT
How do I create a profile?
How do I create a profile?
- Open Settings > Profiles
- Click Add
- Name your profile (e.g. “Coding”, “Design”, “Writing”)
- Switch to the new profile
- Go to Pinned Apps and pin the apps for this workflow
How do I switch profiles?
How do I switch profiles?
- Press Option+` (or Control+` if your app switcher uses Option+`)
- Use the dropdown in the menu bar
- Go to Settings > Profiles and click a profile
Can I assign a profile to a macOS desktop (Space)?
Can I assign a profile to a macOS desktop (Space)?
- Swipe to the desktop you want to assign
- Open Settings > Profiles
- Click Assign to this desktop next to the profile you want
- Desktop 1 → “Coding” profile → Xcode + Simulator + Terminal
- Desktop 2 → “Design” profile → Figma + Safari + Preview
Why do desktop assignments stop working after reboot?
Why do desktop assignments stop working after reboot?
CGSGetActiveSpace API to identify Spaces. This is the only way to detect desktop switches, but the IDs are not persistent.To fix:- Swipe to each desktop
- Open Settings > Profiles
- Click Assign to this desktop
Technical
Why doesn't HopTab use the App Sandbox?
Why doesn't HopTab use the App Sandbox?
CGEvent.tapCreate(.defaultTap) to intercept global keyboard events. This requires raw event access, which is incompatible with the macOS App Sandbox.The App Sandbox would prevent the event tap from starting, making HopTab non-functional.Why use CGEvent tap instead of NSEvent.addGlobalMonitorForEvents?
Why use CGEvent tap instead of NSEvent.addGlobalMonitorForEvents?
NSEvent.addGlobalMonitorForEvents can listen to global events, but it cannot swallow them. That means the shortcut would still reach other apps, and the native Cmd+Tab would still trigger alongside HopTab.CGEvent.tapCreate is the only API that lets you intercept and suppress keyboard events, which is critical for a custom app switcher.How does HopTab raise windows to the front?
How does HopTab raise windows to the front?
AXUIElement with kAXRaiseAction) to force-raise windows.This is more aggressive than NSRunningApplication.activate() and works with stubborn apps like Simulator that don’t always respond to standard activation.See AppSwitcherService.swift:activateApp() for the implementation.What happens if the event tap is disabled by timeout?
What happens if the event tap is disabled by timeout?
HotkeyService.swift:117.Does HopTab work on Apple Silicon?
Does HopTab work on Apple Silicon?
What macOS versions are supported?
What macOS versions are supported?
Troubleshooting
The app switcher doesn't appear when I press Option+Tab
The app switcher doesn't appear when I press Option+Tab
- Open System Settings > Privacy & Security > Accessibility
- Make sure HopTab is in the list and toggled on
- If it’s not there, click + and add HopTab from
/Applications
Some apps don't raise to the front when I switch to them
Some apps don't raise to the front when I switch to them
- Make sure the app is actually running (not just in the Dock)
- Click the app in the switcher overlay instead of using the keyboard
- Activate it from the macOS menu bar first
Where can I get more help?
Where can I get more help?
- Check the Troubleshooting guide
- File an issue on GitHub Issues
- Include your macOS version, HopTab version, and steps to reproduce the issue