Skip to content

Kristoffer88/ProfileNavigator

Repository files navigation

Profile Navigator

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.

Features

  • 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

Requirements

  • macOS 13+
  • At least one Chromium-based browser installed (Chrome, Brave, Edge, etc.)

Install

Build from source

  1. Install XcodeGen: brew install xcodegen
  2. Clone the repo and generate the Xcode project:
    git clone https://github.com/kristoffer88/ProfileNavigator
    cd ProfileNavigator
    xcodegen
    
  3. Open ProfileNavigator.xcodeproj and build (⌘B)
  4. Copy Profile Navigator.app to /Applications

Set as default browser

Open System Settings → Desktop & Dock → Default web browser and select Profile Navigator.

Usage

Click any link — the picker appears. Use the keyboard or click to choose a profile.

Key Action
/ Navigate
19 Open profile directly
Enter Confirm selection
R or Tab Toggle "Remember for this domain"
Esc Cancel

Menu bar

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.

CLI

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

How it works

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.

License

MIT

About

macOS menu bar app that routes links to the right browser profile

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors