Every link, cleared for the right browser.
TrafficControl sits between your apps and your browsers. Each link you click goes to the right browser, Chrome profile or desktop app, by rule or by your pick.
- LNRlinear.app/acme/issue/ENG-142→ LinearAPP
- DOCdocs.google.com/document/d/1x…→ open tabTAB
- GHBgithub.com/acme/api/pull/88→ Chrome · WorkRULE
- HNWnews.ycombinator.com/item?id=4…→ your pickASK
Five checks, in this order
Each click goes down this list and stops at the first step that knows where the link belongs.
Desktop app
Linear, Notion, Zoom and Spotify links open in their app when it's running.
Open tab
If the page is already open in Safari or a Chrome-based browser, that tab comes to the front.
Your rules
Matched on domain, URL, path or the app you clicked in. The first match wins.
Default
Your primary browser, the only one running, or the one you used last. You decide.
Picker
Anything left appears at your cursor. Your usual choice for the domain is already selected.
Hold ⇧ while clicking to go straight to the picker. Prefer ⌥ or ⌘? Pick the key in Settings, and use held keys in rules too.
Built for people with too many browsers
Choose at the cursor
1–9 or a browser's first letter opens it. ⇧ opens in the background, ⌘C copies the link.
Work and personal, kept apart
Every Chrome profile is its own choice, with its account picture. Also Brave, Edge, Vivaldi and Chromium.
Set it once
Send github.com/acme to your work profile and the rest of GitHub to your personal one, or everything from Slack to work. Wildcards and regex too.
Linear opens in Linear
Issues, docs and meetings land in the app you already have open instead of another browser tab.
No duplicate tabs
A link you already have open brings that tab forward. Tracking parameters and #anchors don't count as a different page.
Rules from your habits
TrafficControl lists the domains you open and where they went. One click turns a domain into a rule.
Up and running in a minute
brew install --cask hakubo/tap/trafficcontrol
- Download TrafficControl.dmg, open it and drag TrafficControl into Applications.
- Open TrafficControl. It lives in the menu bar, not the Dock.
- In Settings, click Make Default and confirm the macOS prompt. Click a link anywhere to try it.
After that it keeps itself up to date: TrafficControl checks for new versions daily and installs them for you.
macOS says it can't verify the app?
Releases aren't notarized by Apple yet. After the first attempt to open it, go to System Settings → Privacy & Security and click Open Anyway. Or run this in Terminal:
xattr -dr com.apple.quarantine /Applications/TrafficControl.app
TrafficControl is free. If it saves you some tab juggling, you can buy me a coffee.
Stays on your Mac
TrafficControl makes no network requests of its own. Settings and the list of domains you've opened are plain JSON files in ~/Library/Application Support/TrafficControl. History lives in history.json there and never leaves your Mac: each domain with how often you opened it and where its links went, and a link's first path segment (like a GitHub username) only when you picked a different browser for it than that domain usually gets. Switch off Remember in Settings → History, or clear the list, any time. It reads your browsers' open tabs only to switch to one, and only after macOS asks for your permission.
This page is self-contained: fonts are served from the same place as the page, and the only outside request it makes is to GitHub, to show the latest version number next to the download button.