What It Does

Browser Commander adds consistent keyboard navigation to any web browser on macOS. Press backspace to go back, shiftbackspace to go forward, and a hotkey to open a searchable list of every link on the page. The same keyboard shortcuts apply to every browser, allowing that muscle memory to kick in.

It works via the macOS Accessibility API — no browser extensions, no JavaScript injection, no per-browser configuration. If it’s a browser, Commander can drive it.

Keyboard Shortcuts

KeyAction
backspaceGo back
shiftbackspaceGo forward
controloptionshiftcommandLOpen Link Navigator

All shortcuts are fully configurable in Settings, and each can be cleared as well as changed. Clearing one turns that feature off: nothing is bound, so nothing is intercepted.

A shortcut you record must include command, control or option, unless it is a function key: F1 to F20 can be recorded on their own.

Link Navigator

The Link Navigator is a floating HUD that scrapes every link from the current page via the Accessibility API. Type to filter by title or URL, navigate with arrow keys, and press Return to go.

  • Up to 1,000 links per page, deduplicated by URL
  • Real-time filtering as you type
  • Shows link title and shortened URL for each result
  • Centres itself on your browser window

Features

  • Smart suppression — shortcuts don’t fire when you’re typing in a text field, search bar, or overlay panel
  • Any browser — works with Safari, Chrome, Edge, Firefox, Arc, Brave, Opera, Vivaldi, and more
  • Configurable shortcuts — remap Go Back, Go Forward, and Link Navigator to whatever you like
  • Enable/Disable toggle — quickly pause interception from the menu bar
  • No extensions — pure Accessibility API, no browser plugins needed
  • Companion app — pairs with Browser Notes for page annotations — both apps coexist without conflicts

Settings

Right-click the globe icon in the menu bar and choose Settings… to configure:

  • Go Back shortcut — customise the go back hotkey
    (default: backspace)
  • Go Forward shortcut — customise the go forward hotkey
    (default: shiftbackspace)
  • Link Navigator shortcut — customise the link navigator hotkey
    (default: controloptionshiftcommandL)
  • Accessibility permission — status display and grant button
  • Show icon in menu bar — hide the globe status icon while Browser Commander keeps running (still reachable via its keyboard shortcut); the choice persists across launches, including login auto-start. Shown only on macOS 14–15; on macOS 26 (Tahoe) and later, use System Settings → Menu Bar, which provides this natively.
  • Menu bar icon pill — optional grey background for stronger contrast on busy or wallpaper-tinted menu bars (off by default)
  • Launch at Login — start automatically when you log in

If you’ve hidden the status icon and want it back, just re-open Browser Commander from your Applications folder — it reappears immediately.

Auto-updates are handled by Sparkle. Use the “Check for Updates…” menu item to check on demand; Sparkle’s prompt offers an “Automatically download and install updates in the future” checkbox the first time an update is available. BrowserCommander checks for new versions automatically once a day in the background.

Installation

Two formats on every release — both signed and notarised, pick whichever suits:

  • Installer (.pkg) — recommended for first-time installs. Double-click to run; macOS Installer places the app in /Applications without quarantine or App Translocation.
  • Download (.zip) — unzip and drag BrowserCommander.app to your Applications folder.

Or install it with Homebrew: brew install --cask perpetualbeta/jorvik/browsercommander

On first launch, grant Accessibility permission when prompted.

Building from Source

Browser Commander uses Swift Package Manager. No Xcode project is required.

  1. Clone the repo: git clone https://github.com/PerpetualBeta/BrowserCommander.git
  2. Run gmake build
  3. Launch with open .build/BrowserCommander.app

Requirements

macOS 14 (Sonoma) or later. Universal binary (Apple Silicon and Intel).