Skip to main content

Installation

HopTab is distributed as a macOS app bundle. You can download a prebuilt release or build from source.

Download from releases

The easiest way to get HopTab is to download the latest prebuilt release.
1

Download the latest release

Grab the latest .zip from GitHub Releases.
2

Unzip and move to Applications

Unzip the downloaded file and drag HopTab.app to /Applications.
3

Clear Gatekeeper quarantine

HopTab is ad-hoc signed (not Apple notarized), so macOS will show “Apple could not verify…” when you try to open it. Clear the quarantine flag:
xattr -d com.apple.quarantine /Applications/HopTab.app
This is safe — you can verify the source code yourself on GitHub.
4

Launch HopTab

Open HopTab from /Applications. You’ll see a menu bar icon (arrow icon) appear at the top of your screen.
Why the xattr command? HopTab is ad-hoc signed (not Apple notarized) so macOS shows “Apple could not verify…”. The command above clears the quarantine flag so it opens normally. This is safe — you can verify the source code yourself.

One-line install

If you prefer automation, use this one-liner to download, unzip, and clear the quarantine flag:
curl -sL "$(curl -s https://api.github.com/repos/royalbhati/HopTab/releases/latest \
  | grep -o '"browser_download_url": *"[^"]*"' \
  | head -1 \
  | cut -d '"' -f 4)" -o /tmp/HopTab.zip \
  && unzip -o /tmp/HopTab.zip -d /Applications \
  && xattr -d com.apple.quarantine /Applications/HopTab.app
Then launch HopTab from /Applications.

Build from source

If you want to build HopTab yourself, you’ll need Xcode 15+ and macOS 14+.
1

Clone the repository

git clone https://github.com/royalbhati/HopTab.git
cd HopTab
2

Open in Xcode

open HopTab.xcodeproj
3

Build and run

Press Cmd+R to build and run. HopTab will launch and appear in your menu bar.
The source code is available at github.com/royalbhati/HopTab. The release workflow automatically builds and packages releases when a new tag is pushed.

First launch setup

After installing HopTab, you’ll need to grant Accessibility permission for the global hotkey to work.
1

Open HopTab

Launch HopTab from /Applications. You’ll see a menu bar icon appear.
2

Grant Accessibility permission

HopTab will prompt you to grant Accessibility permission. This is required to detect global keyboard shortcuts (Option+Tab, etc.).Click Open System Settings in the prompt, or go to:System Settings > Privacy & Security > AccessibilityEnable the toggle next to HopTab.
3

Verify permission

Return to HopTab. If the permission was granted successfully, you’ll see a green checkmark in the Settings window.
Without Accessibility permission, HopTab cannot detect keyboard shortcuts. The app will not function until you grant this permission.

Why Accessibility permission?

HopTab uses CGEvent.tapCreate to intercept keyboard events globally. This allows it to:
  • Detect Option+Tab (or your configured shortcut) system-wide
  • Swallow the event so it doesn’t reach other apps
  • Cycle through pinned apps and activate the selected one
The Accessibility permission is required by macOS for any app that uses event taps. HopTab does not collect or transmit any data — it only monitors the specific keyboard shortcuts you configure. Here’s the relevant code from HopTab/Services/PermissionsService.swift:21-23:
let opts = [kAXTrustedCheckOptionPrompt.takeUnretainedValue(): true] as CFDictionary
isTrusted = AXIsProcessTrustedWithOptions(opts)
UserDefaults.standard.set(true, forKey: Self.hasPromptedKey)
And the event tap setup from HopTab/Services/HotkeyService.swift:69-82:
guard let tap = CGEvent.tapCreate(
    tap: .cgSessionEventTap,
    place: .headInsertEventTap,
    options: .defaultTap,
    eventsOfInterest: mask,
    callback: hotkeyCallback,
    userInfo: Unmanaged.passUnretained(self).toOpaque()
) else {
    NSLog("[HotkeyService] Failed to create event tap — Accessibility not granted?")
    DispatchQueue.main.async { [weak self] in
        self?.onTapFailed?()
    }
    return
}

Next steps

Now that HopTab is installed and configured, head to the quick start guide to learn how to pin apps and start hopping.

Build docs developers (and LLMs) love