diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 7192ffacd8..8489971235 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -606,8 +606,15 @@ void openConfigfile() fs::path pathConfig = GetConfigFile(gArgs.GetArg("-conf", BITCOIN_CONF_FILENAME)); /* Open dash.conf with the associated application */ - if (fs::exists(pathConfig)) - QDesktopServices::openUrl(QUrl::fromLocalFile(boostPathToQString(pathConfig))); + if (fs::exists(pathConfig)) { + bool res = QDesktopServices::openUrl(QUrl::fromLocalFile(boostPathToQString(pathConfig))); +#ifdef Q_OS_MAC + // Workaround for macOS-specific behavior; see #15409. + if (!res) { + res = QProcess::startDetached("/usr/bin/open", QStringList{"-t", boostPathToQString(pathConfig)}); + } +#endif + } } void showBackups()