A macOS menu bar app that intercepts links and lets you pick which browser profile to open them in.
When you click a link anywhere on your Mac, Profile Navigator shows a small picker instead of opening your default browser directly. Select a profile, optionally save the choice for that domain, and the link opens in the right browser profile.
- Auto-detects profiles from Chrome, Brave, Edge, Vivaldi, Arc, and Chromium
- Keyboard-driven picker (number keys, arrows, Enter, Esc)
- Remembers domain → profile rules
- Reorder and rename profiles
- CLI tool for scripting
- macOS 13+
- At least one Chromium-based browser installed (Chrome, Brave, Edge, etc.)
- Install XcodeGen:
brew install xcodegen - Clone the repo and generate the Xcode project:
git clone https://github.com/kristoffer88/ProfileNavigator cd ProfileNavigator xcodegen - Open
ProfileNavigator.xcodeprojand build (⌘B) - Copy
Profile Navigator.appto/Applications
Open System Settings → Desktop & Dock → Default web browser and select Profile Navigator.
Click any link — the picker appears. Use the keyboard or click to choose a profile.
| Key | Action |
|---|---|
↑ / ↓ |
Navigate |
1–9 |
Open profile directly |
Enter |
Confirm selection |
R or Tab |
Toggle "Remember for this domain" |
Esc |
Cancel |
Click the Profile Navigator icon in the menu bar to set a default profile or remove remembered rules. Open Settings (⌘,) to manage visible profiles and rename them.
A companion CLI tool is included for scripting:
profilenavigator profiles # list detected profiles
profilenavigator default get # show current default
profilenavigator default set <id> # set default profile
profilenavigator rules list # show remembered domain rules
profilenavigator rules remove <host> # remove a rule
profilenavigator filter set <id> [<id>...] # show only specific profiles
profilenavigator filter clear # show all profiles
Profile Navigator registers itself as the handler for http:// and https:// URLs. When a link is opened, it reads browser profile data from ~/Library/Application Support/<browser>/Local State, presents the picker, then launches the chosen browser via /usr/bin/open -a <browser> --args --profile-directory=<dir>.
Config is stored at ~/Library/Application Support/ProfileNavigator/config.json.
MIT