Describe the bug
Firefox profile routing doesn't work in v4.2.2 because browsers.json (embedded in the binary) doesn't include Firefox entries. The profile property is silently ignored — resolveBrowserProfileArgs can't find Firefox in the browser list and returns false, so the -P flag is never added to the command.
Firefox was added to browsers.json on main but hasn't shipped in a release yet.
Even once Firefox is in browsers.json, there's a second issue: the generated command open -a Firefox -n --args -P ProfileName URL triggers Firefox's profile chooser dialog instead of directly opening the named profile. The only approach that works reliably is --profile /full/path/to/directory instead of -P ProfileName.
Additionally, the Configuration (v4) wiki only documents the profile property for Chromium browsers and doesn't mention the args property at all, leaving Firefox users without guidance.
I wrote up a detailed gist documenting the working solution and all the dead ends: https://gist.github.com/xrl/c07ab302cfefe4a94b91c16c99c55f93
Your configuration
What you'd expect to work (doesn't):
export default {
defaultBrowser: "Firefox",
handlers: [
{
match: ["github.com/orgA*"],
browser: {
name: "Firefox",
profile: "Work",
},
},
],
};
What actually works (using args to bypass the broken profile support):
export default {
defaultBrowser: "Firefox",
handlers: [
{
match: ["github.com/orgA*"],
browser: (url) => ({
name: "/Applications/Firefox.app",
appType: "path",
args: [
"-n",
"--args",
"--profile",
"/Users/USERNAME/Library/Application Support/Firefox/Profiles/abc12345.Profile 1",
url.href,
],
}),
},
],
};
To Reproduce
- Create multiple Firefox profiles (via Firefox's new profile UI)
- Configure Finicky with
browser: { name: "Firefox", profile: "MyProfile" }
- Run
open "https://example.com" from terminal
- Enable
logRequests: true and check ~/Library/Logs/Finicky/ — the debug log shows profile: "MyProfile" in "Final browser options" but the "Run command" line is just open -a Firefox https://example.com with no profile flag
Describe the bug
Firefox profile routing doesn't work in v4.2.2 because
browsers.json(embedded in the binary) doesn't include Firefox entries. Theprofileproperty is silently ignored —resolveBrowserProfileArgscan't find Firefox in the browser list and returnsfalse, so the-Pflag is never added to the command.Firefox was added to
browsers.jsononmainbut hasn't shipped in a release yet.Even once Firefox is in
browsers.json, there's a second issue: the generated commandopen -a Firefox -n --args -P ProfileName URLtriggers Firefox's profile chooser dialog instead of directly opening the named profile. The only approach that works reliably is--profile /full/path/to/directoryinstead of-P ProfileName.Additionally, the Configuration (v4) wiki only documents the
profileproperty for Chromium browsers and doesn't mention theargsproperty at all, leaving Firefox users without guidance.I wrote up a detailed gist documenting the working solution and all the dead ends: https://gist.github.com/xrl/c07ab302cfefe4a94b91c16c99c55f93
Your configuration
What you'd expect to work (doesn't):
What actually works (using
argsto bypass the brokenprofilesupport):To Reproduce
browser: { name: "Firefox", profile: "MyProfile" }open "https://example.com"from terminallogRequests: trueand check~/Library/Logs/Finicky/— the debug log showsprofile: "MyProfile"in "Final browser options" but the "Run command" line is justopen -a Firefox https://example.comwith no profile flag