GitHub - johnste/finicky: A macOS app for customizing which browser to start · GitHub
/" data-turbo-transient="true" />
Skip to content
Type / to search
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
johnste
finicky
Public
Uh oh!
There was an error while loading. Please reload this page.
Notifications<br>You must be signed in to change notification settings
Fork<br>203
Star<br>5k
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>559 Commits<br>559 Commits
.github
.github
.vscode
.vscode
apps
apps
example-config
example-config
packages
packages
scripts
scripts
testdata
testdata
.env.example
.env.example
.gitignore
.gitignore
LICENSE
LICENSE
README.md
README.md
View all files
Repository files navigation
Always open the right browser
Finicky is a macOS application that allows you to set up rules that decide which browser is opened for every url. With Finicky as your default browser, you can tell it to open Bluesky or Reddit in one browser, and LinkedIn or Google Meet in another.
Route any URL to your preferred browser with powerful matching rules
Automatically edit URLs before opening them (e.g., force HTTPS, remove tracking parameters)
Write rules in JavaScript or TypeScript for complete control
Create complex routing logic with regular expressions and custom functions
Handle multiple browsers and apps with a single configuration
Keep your workflow organized by separating work and personal browsing
Table of Contents
Installation
Basic configuration
Configuration
Migrating from Finicky 3
Installation
Download from releases
Or install via homebrew: brew install --cask finicky
Create a JavaScript or TypeScript configuration file at ~/.finicky.js. Have a look at the example configuration below, or in the example-config folder.
Start Finicky (in Applications, or through Spotlight/Alfred/Raycast) and allow it to be set as the default browser. Starting Finicky manually opens the configuration/troubleshooting window.
Basic configuration
Here's a short example configuration that can help you get started
url.host = "xcancel.com";<br>return url;<br>},<br>},<br>],<br>handlers: [<br>// Open all bsky.app urls in Firefox<br>match: "bsky.app/*",<br>browser: "Firefox",<br>},<br>// Open google.com and *.google.com urls in Google Chrome<br>match: [<br>"google.com/*", // match google.com urls<br>"*.google.com*", // also match google.com subdomains<br>],<br>browser: "Google Chrome",<br>},<br>],<br>};">// ~/.finicky.js<br>export default {<br>defaultBrowser: "Google Chrome",<br>rewrite: [<br>// Redirect all x.com urls to use xcancel.com<br>match: "x.com/*",<br>url: (url) => {<br>url.host = "xcancel.com";<br>return url;<br>},<br>},<br>],<br>handlers: [<br>// Open all bsky.app urls in Firefox<br>match: "bsky.app/*",<br>browser: "Firefox",<br>},<br>// Open google.com and *.google.com urls in Google Chrome<br>match: [<br>"google.com/*", // match google.com urls<br>"*.google.com*", // also match google.com subdomains<br>],<br>browser: "Google Chrome",<br>},<br>],<br>};
See the configuration for all the features Finicky supports.
Configuration
Finicky has extensive support for matching, rewriting and starting browsers or other application that handle urls. See the wiki for the full configuration documentation explaining available, APIs and options as well as detail information on how to match on urls.
The wiki has some good configuration ideas.
Visit discussions to discuss supporting specific apps.
Migrating from Finicky 3
Please see the wiki page for updating info and migrating your configuration
Other
Browser extensions
Finicky has browser extensions for Chrome and Firefox. They add an "open with Finicky" on links, and alt-clicking links opens them in Finicky directly.
Firefox Add-ons
Chrome Web Store
Building Finicky from source
See Building Finicky from source
Works well with
If you are looking for something that lets you pick the browser to activate in a graphical interface, check out Browserosaurus by Will Stone, an open source browser prompter for macOS. It works really well together with Finicky!
Questions
Have any other questions or need help? Please feel free to reach out to me on Bluesky or post an issue here
License
MIT
Icon designed by @uetchy
About<br>A macOS app for customizing which browser to start<br>Topics<br>browsergohandlermacosmenuproductivitytypescripturl<br>Resources<br>Readme<br>MIT license<br>Activity<br>Stars<br>5.0k stars<br>Watchers<br>24 watching<br>Forks<br>203 forks<br>Report repository
Releases
Sponsor this project
Used by
Contributors
Languages
You can’t perform that action at this time.