Brave PWAs on Linux do not appear in application menu and require manual launch via brave://apps

Brave Issue Report

Description of the issue:
Web apps (PWAs) installed using Brave on Linux do not integrate properly with the system application menu. Installed apps do not appear in the “All Applications” list and cannot be pinned to the Dash/Dock. To open a web app, Brave must be launched first and the app must be manually executed from brave://apps/, which defeats the purpose of having a standalone web application.

Additionally, attempting to create a shortcut from brave://apps/ results in a non-executable .txt file on the desktop instead of a proper application launcher.

How can this issue be reproduced?

  1. Open Brave Browser on Linux

  2. Visit any website that supports installation as a web app (PWA)

  3. Install the web app using Brave’s “Install app” option

  4. Open the system All Applications / Show Applications menu

  5. Observe that the installed Brave web app is missing

  6. Open brave://apps/

  7. Manually click the installed app to launch it

  8. Right-click the app in brave://apps/ and select Create shortcut

  9. Observe that a .txt file is created on the Desktop, which is non-executable and not a valid application launcher

Expected result:

  • Installed Brave web apps should appear in the system application list

  • Apps should be launchable directly without opening Brave first

  • Creating a shortcut should generate a proper executable .desktop launcher

  • Behavior should be consistent with how PWAs work in Microsoft Edge on Linux

Actual result:

  • Brave web apps do not appear in the application list

  • Apps can only be launched by opening Brave and navigating to brave://apps/

  • “Create shortcut” produces a .txt file that is not executable

  • Web apps behave more like bookmarks rather than standalone applications

Brave Version (check brave://settings/help):
Brave 1.85.118 (Official Build) (64-bit)
Chromium: 143.0.7499.169

Additional Information:

  • Operating System: Ubuntu (Linux)

  • Desktop Environment: GNOME

  • Display Server: Wayland

  • Comparison: Same web apps installed using Microsoft Edge appear correctly in the application list and generate proper launchers

  • Workaround: None practical — requiring manual launch via brave://apps/ defeats the purpose of PWAs

  • Screenshot: Attached (version info)

@Linux98 hmm not seeing this on my end. When testing on my Ubuntu VM, I was able to install reddit as an app. The app shows up on my desktop – however, I did notice that I needed to right-click it and select Allow launching before it became executable. From there I can launch the app without Brave loaded and also pin it to the dash/dock:

Can you show me what the installed app file looks like on your desktop when you right-click it and select Properties?

Thanks for checking this on your end and for the detailed explanation.

Sharing what I’m seeing on my system for clarity. When I create a PWA from Brave, the file that appears on my Desktop is named something like:

brave-dlgohimglaoopajpllciaecdpmnepmga-Default.desktop

As shown in the screenshot, it is detected as a Desktop entry and I do have “Executable as Program” enabled in the file properties. However, the icon itself still looks like a generic document, and the experience isn’t very intuitive for a new Linux user.

Additionally, the app does not appear in the application menu, and without knowing to manually look for this file (or toggle launch permissions), the only obvious way to open the PWA is still via brave://apps/. From a user perspective, this makes PWAs feel more like exported files than installed applications.

When you right-click on the desktop icon, you don’t see an option to Allow running?

I do see the “Allow Launching” option when I right-click the desktop icon, and I’ve enabled it. However, even after that, when I try to open the file—whether by double-clicking it or choosing Open With → Brave—nothing happens. The PWA does not launch at all.

Small update: I recently tried installing Spotify, Todoist, and YouTube as web apps. Out of these, only Spotify was installed successfully and behaved as expected — it appeared in the application menu and could be pinned to the Dash.

I’m not sure if this distinction is useful, but I thought it was worth sharing in case it helps narrow down the issue.

I think it may be similar or directly related to this:

Can you please try going to brave://flags and setting the value for the Preferred ozone platform flag to Auto and then see if this makes any difference?

I’m from a commerce background, so the thread you shared earlier was honestly a bit hard for me to follow, as it went into fairly technical details.

That said, I still tried to look for the flag you mentioned on my end, but I couldn’t find it anywhere. I’ve gone through the relevant settings and options, and it simply doesn’t seem to be available.

I’ve attached a few screenshots for reference so you can see exactly what I’m seeing.
Please let me know if I’m missing something obvious, or if the option has been moved/removed in the current version.

@Linux98 apologies it looks like that particular flag has been depreciated – that’s my bad.

We can test see if this is the cause of the issue still. It’s slightly involved but a lot easier than it looks. Can you please try the following:

  1. Right-click on one of the PWA/.desktop files you have
  2. Select to open w/Text editor
  3. In the file, add the line --ozone-platform=wayland at the end of the Exec line here. It should look something like this:

Note that you’ll want a space between the --app-id=anjloch[...] and the line you’re adding. Once done test and see if the app launches.

I tried following the steps you mentioned, but unfortunately the outcome is still not what I expected — the application is still not launching.

I’ve attached a screenshot of the .desktop file opened in a text editor. Could you please check if everything in it looks correct?

Based on this file, the behavior I’m seeing is as follows:

  • A text/desktop file is created on the Desktop

  • I have Allowed Launching for the file

  • If I choose Open With → Brave, I get the output shown in the screenshot above

  • If I save the file and try to execute it again (double-click or run), the result is the same — the PWA does not launch

Let me know if there’s anything specific I should modify in the file or any additional logs/debug output that would help troubleshoot this further.

@Linux98 yeah everything looks correct. Very strange – can you try running update-desktop-datababse in the terminal and see if this makes any difference?

Looking back again I’m seeing that you appear to have installed via Snap. Not sure why I didn’t clock this initially. There’s another user here having a similar issue and I think their solution will work for you.

First, reopen the PWA w/TextEdit and change the following:

  • The file location of the brave-dlgohimglaoopajpllciaecdpmnepmga-Default.desktop file needs to be moved to .local/share/applications
  • Change the Exec= line in the PWA file (using text edit) to /snap/bin/brave

Ideally, Brave will handle all this by default.

Just wanna point out that the snap version of Vivaldi is able to handle all this smoothly

Thank you for your time and effort — really appreciate it.

I followed your instructions and the web app is now functioning smoothly. I’ve attached the text editor output for reference.

One thing I noticed is that the web app icon is showing as a gear/settings icon. For example, I created a web app for YouTube, but instead of the YouTube logo, it displays the gear icon.

If I create multiple web apps this way, all of them will end up having the same icon, which will make it very difficult to recognize and differentiate between them.

Is there any way to change or customize the web app icon as well?

Thanks for the update but I can’t really switch from Brave I am enjoying my experience over here.

@Linux98 glad that did the trick. I’m not super clear on why it’s not pulling the icon. There is an Icon= entry in the file that you can manually change but you would have to do it for each PWA. But it’s at least worth testing.

Can you please let me know what should be the entry in icon = ??? I will try that out

Current entry Icon = brave-agimnkijcaahngcdmfeangaknmldooml-Default

You should be able to just use any .png file to display as the icon.

You can try “teams”.

That’s how mine worked. It’ll reference the icon pack you’re using

Could you please elaborate? is teams an application that i need to use??