Profiles do not seem to work with Brave Browser or Google Chrome
Describe the bug Finicky 4.2.1 with the following in the configuration:
match: /employer.com/,
browser: "Brave Browser",
profile: "Employer",
Since Brave Browser is based on Chromium IIRC, I was expecting this to work. Same problem with Google Chrome AFAICT.
Your configuration Please add a link to or paste the relevant parts of your configuration here
match: /employer.com/,
browser: "Brave Browser",
profile: "Employer",
To Reproduce Steps to reproduce the behavior: open a matching URL. The URL opens in the current profile, not in the selected on. No error is shown on the troubleshooting section.
Relevant note: Chromium is not a possible choice anymore, it does not pass the Mac Gatekeeper tests, so you cannot launch it.
Hi, is there any plan to address this issue? This was the main reason I started using Finicky — I use Chrome with both personal and work profiles on the same machine, and this bug prevents me from writing rules that select the appropriate profile based on the URL. Is there a known workaround? Would downgrading to a previous version help? If so, could you let me know which is the latest version that doesn’t have this issue? Thanks in advance!
Hey!
Sharing your logs would help troubleshooting a lot.
This is what I see when testing. I've configured finicky to open chrome in two different profiles for example.com and example.org. Chrome successfully opens in two different windows, with different profiles selected. Is this not what you are seeing?
[2025-11-10T19:35:26.874Z] [INFO ] URL received | url: https://example.com
[2025-11-10T19:35:26.874Z] [DEBUG] Setting opener | name: | bundleId: | path:
[2025-11-10T19:35:26.888Z] [DEBUG] Final browser options | name: Google Chrome | openInBackground: null | profile: Garbage | args: | appType: appName
[2025-11-10T19:35:26.888Z] [INFO ] Starting browser | name: Google Chrome | url: https://example.com/
[2025-11-10T19:35:26.888Z] [DEBUG] Browser found in browsers.json | identifier: Google Chrome | type: Chromium
[2025-11-10T19:35:26.889Z] [INFO ] Found profile by name | name: personalprofile | path: Profile 6
[2025-11-10T19:35:26.889Z] [DEBUG] Run command | command: open -a 'Google Chrome' -n --args '--profile-directory=Profile 6' https://example.com/
[2025-11-10T19:35:26.929Z] [DEBUG] Time taken evaluating URL and opening browser | duration: 55.23ms
[2025-11-10T19:35:38.413Z] [INFO ] URL received | url: https://example.org
[2025-11-10T19:35:38.413Z] [DEBUG] Setting opener | name: | bundleId: | path:
[2025-11-10T19:35:38.428Z] [DEBUG] Final browser options | name: Google Chrome | openInBackground: null | profile: soundtrackyourbrand.com | args: | appType: appName
[2025-11-10T19:35:38.428Z] [INFO ] Starting browser | name: Google Chrome | url: https://example.org/
[2025-11-10T19:35:38.428Z] [DEBUG] Browser found in browsers.json | identifier: Google Chrome | type: Chromium
[2025-11-10T19:35:38.429Z] [INFO ] Found profile by name | name: workprofile | path: Default
[2025-11-10T19:35:38.430Z] [DEBUG] Run command | command: open -a 'Google Chrome' -n --args --profile-directory=Default https://example.org/
[2025-11-10T19:35:38.475Z] [DEBUG] Time taken evaluating URL and opening browser | duration: 61.81ms
Hi! Thanks for looking into this
My settings (~/.finicky.js) are
export default {
defaultBrowser: "Google Chrome",
handlers: [
{
match: "/mycompany.net/",
browser: "Google Chrome",
profile: "Work",
},
],
};
I have two profiles on Chrome one of which is called Work
I clicked on URL in my Outlook (on macOS) and I get these logs
[2025-11-10T21:35:33.721Z] [INFO ] Listening for events...
[2025-11-10T21:35:33.731Z] [DEBUG] Checking update schedule...
[2025-11-10T21:35:33.739Z] [DEBUG] Skipping update check - last checked | duration: 5h 35m ago (check interval: 24h)
[2025-11-10T21:35:33.739Z] [DEBUG] Current version is up to date | currentVersion: 4.2.2 | latestVersion: v4.2.2
[2025-11-10T21:35:33.847Z] [DEBUG] Showing window
[2025-11-10T21:36:25.751Z] [INFO ] URL received | url: https://subdomain.mycompanydomain.net/<more path here>
[2025-11-10T21:36:25.752Z] [DEBUG] Setting opener | name: Microsoft Outlook | bundleId: com.microsoft.Outlook | path: /Applications/Microsoft Outlook.app
[2025-11-10T21:36:25.760Z] [DEBUG] Final browser options | name: Google Chrome | openInBackground: null | profile: | args: | appType: appName
[2025-11-10T21:36:25.761Z] [INFO ] Starting browser | name: Google Chrome | url: https://subdomain.mycompanydomain.net/<more path here>
[2025-11-10T21:36:25.761Z] [DEBUG] Browser found in browsers.json | identifier: Google Chrome | type: Chromium
[2025-11-10T21:36:25.761Z] [DEBUG] Run command | command: open -a 'Google Chrome' 'https://subdomain.mycompanydomain.net/<more path here>'
[2025-11-10T21:36:25.838Z] [DEBUG] Time taken evaluating URL and opening browser | duration: 86.60ms
So no profile it seems. And it seems very similar to what @c3d is reporting above. If it works for you we must be missing something, but what :) ?
Downloaded Brave tonight and tested too, and it appears to be working. This is my relevant config (excuse the silly profile names 🍌):
{
match: "http://example.com/*",
browser: () => {
console.log("with banana 1");
return {
name: "Brave Browser",
profile: "banana 1",
};
},
},
{
match: "http://example.org/*",
browser: () => {
console.log("with banana 2");
return {
name: "Brave Browser",
profile: "banana 2",
};
},
},
Maybe try adding the function style browser config with a console log? That way you can tell if your matcher is working properly.
The suggestion above worked for me on Chrome. Thanks @johnste !
Realized tonight that the original error was defining the profile at the same level as the browser key.
This is not correct:
match: /employer.com/,
browser: "Brave Browser",
profile: "Employer",
this is the correct way:
match: /employer.com/,
browser: {
name: "Brave Browser",
profile: "Employer"
}
By enabling type checking you would get warnings about this invalid configuration, but it should be improved without opting in to type checking in #411