macOS menu bar browser picker — choose which browser, profile, or app opens every link with one click or hotkey.
Stop copy-pasting URLs between browsers. Stop launching the wrong profile. BrowserCat gives you instant control over where every link opens.
Problem: You have Chrome Personal, Chrome Work, and constantly open links in the wrong profile. Solution: BrowserCat shows all profiles in the picker. One click → right profile, every time.
Click a link → Picker appears → Choose "Chrome (Work)" → Done
Problem: Opening banking links, medical results, or private searches requires manually launching incognito mode.
Solution: Hold Option/Shift or set a URL rule to auto-open in private mode.
Click banking URL → Auto-opens in Safari Private
Or: Option + Hotkey → Any browser in incognito
Problem: Slack/Figma/Zoom links open in browser instead of the native app. Solution: BrowserCat detects matching apps and prioritizes them in the picker.
slack.com/archives/... → Opens in Slack.app (not browser)
figma.com/file/... → Opens in Figma.app
zoom.us/j/... → Opens in Zoom.app
Problem: GitHub links should always open in Arc, Jira in Chrome Work, YouTube in Safari. Solution: Set URL rules by host, substring, or regex.
github.com/* → Arc Browser
*.atlassian.net/* → Chrome (Work Profile)
youtube.com/* → Safari
Problem: QA/Dev workflow requires checking the same URL in 5+ browsers. Solution: Keyboard hotkeys let you open the same link instantly in any browser.
1. Copy URL
2. Press ⌘+1 → Opens in Chrome
3. Press ⌘+2 → Opens in Firefox
4. Press ⌘+3 → Opens in Safari
(All from the same clipboard URL)
Problem: Personal emails → Personal browser. Work docs → Work browser. Manual switching is tedious. Solution: Set domain-based rules and profiles to auto-route.
mail.google.com → Chrome Personal
docs.google.com/a/company.com → Chrome Work
brew install --cask rmarinsky/tap/browsercat- Download the latest
.dmgfrom Releases - Drag BrowserCat to Applications
- Launch and set as default browser in Settings
-
Set BrowserCat as default browser: Settings → General → Default Browser → BrowserCat
-
Configure hotkeys (optional): BrowserCat → Settings → Apps → Assign keyboard shortcuts
-
Add URL rules (optional): Settings → Rules → Add rule for auto-routing specific domains
- Floating panel near cursor with all installed browsers
- Grid layout with icons and names
- Keyboard navigation (arrow keys + Return)
- Instant dismiss (Escape or click outside)
Auto-detects all installed browsers:
- Chromium-based: Chrome, Edge, Brave, Arc, Vivaldi, Opera, Zen, Chromium
- WebKit-based: Safari, Orion (Kagi)
- Gecko-based: Firefox, Waterfox, Tor Browser
- Others: SigmaOS, Whale, Yandex
Pick specific browser profiles before opening:
- Chrome/Edge/Brave profiles
- Firefox profiles
- Arc spaces (if supported)
Links auto-open in matching native apps:
- Communication: Slack, Teams, Discord, Telegram, WhatsApp, Zoom
- Productivity: Figma, Notion, Miro, Linear, Jira, Obsidian
- Dev Tools: VS Code, GitHub Desktop
- Media: Spotify, YouTube Music
- Security: 1Password
Auto-route links by pattern:
- Host match:
github.com→ Arc - Substring match:
*atlassian.net*→ Chrome Work - Regex match:
^https://meet\.google\.com/.*→ Chrome Personal
| Action | Shortcut |
|---|---|
| Open with hotkey | Assign per-browser (e.g., ⌘+1 for Chrome) |
| Private mode | Option/Shift + Hotkey |
| Navigate picker | Arrow Keys |
| Confirm | Return |
| Cancel | Escape |
- No tracking — zero analytics, zero telemetry
- No network calls — fully offline
- Lightweight — lives in menu bar, no dock icon
- Launch at login — optional
Access via menu bar icon → Settings:
- General: Default browser, launch at login
- Apps: Hotkey assignments, browser/app order
- Rules: URL routing patterns
- Advanced: Private mode defaults, picker position
# Work-related domains → Chrome Work Profile
*.atlassian.net/* → Chrome (Work)
*.slack.com/client/* → Chrome (Work)
# Personal browsing → Safari Private
*banking.example.com* → Safari (Private)
# Development → Arc
github.com/* → Arc Browser
localhost:* → Arc Browser
- macOS 14.0+ (Sonoma)
- Xcode 15+
- XcodeGen
# Install dependencies
brew install xcodegen
# Clone repository
git clone https://github.com/rmarinsky/BrowserCat.git
cd BrowserCat
# Generate Xcode project
xcodegen generate
# Open and build
open BrowserCat.xcodeprojBuild schemes:
- BrowserCat → Release build
- BrowserCat DEV → Debug build with logging
Q: Does BrowserCat collect any data? A: No. Zero analytics, zero telemetry, zero network calls. Fully offline.
Q: Why does the picker appear in the wrong position? A: The picker tries to center near the cursor. If it's off-screen, it auto-adjusts. Check Settings → Advanced to tweak behavior.
Q: Can I disable the picker and use only hotkeys? A: Not yet, but this is planned. For now, set hotkeys and press them immediately.
Q: Does this work with Raycast/Alfred URL handlers? A: Yes, if they trigger the system default browser, BrowserCat will intercept.
Q: How do I uninstall? A: Drag BrowserCat from Applications to Trash, then reset your default browser in System Settings.
- Hotkey-only mode (skip picker UI)
- Link history (recent URLs with search)
- Per-domain browser profiles (auto-select profile based on URL)
- iCloud sync (rules & settings across Macs)
- Browser tab detection (open in existing tab if possible)
- Custom app support (add unlisted apps manually)
- Picker animation could be smoother (refactoring in progress)
- Some Electron apps don't pass URLs correctly (investigating)
- Browser profile detection may miss custom Firefox profiles
Report bugs via GitHub Issues.
MIT License — use it, fork it, sell it, whatever.
Built by @rmarinsky because copy-pasting URLs between browsers is annoying.
Inspired by tools like Choosy, Browserosaurus, and Velja — but free, open-source, and actually maintained.
If BrowserCat saves you 30+ context switches per day, consider:
- ⭐ Starring this repo
- 🐛 Reporting bugs
- 💡 Suggesting features
- 📢 Sharing with other multi-browser users
Links: