Will Brave EVER be fixed when it comes to opening mailto links properly?

I am running Linux Fedora 42 Workstation. I installed Brave properly using your command line install instructions. I use Thunderbird for mail.

Tried for hours, using ChatGPT for instructions, but can’t find any solution that works. If I click a mailto link on any webpage, it prompts for permission (only for that site). I agree, and tick to save it for future. refresh SAME page, and it asks again. the permission never sticks.

More importantly, I want to set Brave to ALWAYS open mailto links with the OS default mail handler (Thunderbird).

Before I accept it’s not just possible and take ChatGPT’s advice to ‘just use Firefox’ (no thanks!), I wondered if it’s worth asking here in case this will ever be fixed?

Thanks

1 Like

@NoMoreFirefox

Read all of:

How to configure the mailto: protocol?

For comparison, Chrome, scroll down to ‘How to get email links to open in Google Chrome’ at:

https://www.indeed.com/career-advice/career-development/how-to-get-email-links-to-open-in-chrome

Seems that you need at the same time:

  • Brave Browser already set as default browser
  • Brave Browser New Window > Settings adjustments (brave://settings/handlers Enable Sites can ask to handle protocols)
  • Brave Browser New Window open at webmail account

Let us say, that your e-mail service is at https://mail.some_email.com Then, in the Brave Browser New Window at that webmail page:

In the right end area of the URL address bar, there should be an icon with two intertwined-diamonds

Click on that icon to get a pop-up menu that asks, “Allow mail.some_email.com to open all links?”

Select Allow

Bit confused by that, but sounds like you got the wrong impression. I do NOT want to use webmail, that’s the problem, I want mailto links to open THUNDERBIRD, my local email program

Thanks

@NoMoreFirefox

You may not find a specific e-mail handler listed in Brave Browser settings. The solution is in the e-mail application’s settings:

Set Thunderbird as your Operating System’s default mail application.

Make sure, in those settings, to Enable Always check to see if Thunderbird is the default mail client on startup

IF, in a Brave Browser New Window at brave://settings/handlers you see anything like:

THEN delete/remove that/them.

Exit / Quit everything and Restart computer.

Ref. from June 2025: ‘Brave opens a browser instead of mail app when clicking on a mailto link

More ref.:

https://support.mozilla.org/en-US/kb/make-thunderbird-default-mail-client?lang=en-US/

https://kb.mozillazine.org/Default_mail_client#Windows

I have the same problem on macOS: there is no way to get Brave to stop asking me about the mailto links. I keep ticking the checkbox and Brave keeps on asking me. Bother.

I have tried to look under `brave://settings/handlers` but all I have there are two radio buttons. No list of allowed applications.

I am trying to invoke the default mail reader – nothing fancy here – and the reader gets launched OK when I click through the persmissions dialogue so there is no problem there.

From what I can tell can Brave not store this call to the default mail reader. I have tried to fully remove and then re-install Brave but to no avail.

For me is this very annoying. I prefer Brave any day but am right now forced to have a second browser just to interact with my web based CRM system.

Please fix this. Pretty please with spam on top and egg?

MacOS users

Set Safari to be the default Internet browser. And scroll down to “Change the default email app” in the following instructions:

https://support.apple.com/en-us/102362

Where you will learn about an Apple Mail setting.

Spark e-mail:

https://sparkmailapp.com/help/general/set-spark-as-a-default-email-client

After making changes, Exit / Quit everything and Restart computer.

That is my setup - no change needed. I have Safari as default browser (and have had since donkey’s years). Mail is correctly set up and I have set the default mail handler through Mail for about as long time as I have had this Mac.

So, to summarise: I have Safari (default) and Brave (preferred). I have Spark as default mail client and all the macOS defaults are setup properly – I still have the problem of Brave not remembering the check box setting but keeps asking me for permission every single time… :pensive_face:

I searched around, online, and did not find a “preferred” browser setting for MacOS. Can you supply a screenshot?

Also, please provide a screenshot of the Brave Browser settings checkbox - where your choice does not stick.

“Preferred” in this context is not a setting, it was just a semantical marker that I prefer Brave as opposed to Safari or the others. I’m sorry for the confusion.

Here is the dialog I mentioned (in Swedish due to localisation in Brave but you get the idea):

The link the webpage is trying to open is a “mailto:” link. This behaviour is not limited to this particular website.

@koenig

Your screenshot, translated to English (via ‘deepl.com’)

The source of that prompt, is Brave Browser. Please check the Brave Browser settings, to make sure that both of the following switches are Disabled

  • Forget me when I close this site ← a Brave Shields setting
  • Cookies and other site data ← a Delete browsing data ‘On exit’ setting


I asked Alter.systems a question, that I followed up with reference to the prompt produced by Brave Browser:

“A checkmark in the checkbox - when using Brave Browser, is not sticking.”

Answer:

When you click “Always allow [site] to open this type of link in the associated app”, Brave should save that permission in its handlers settings, but . . .

Why the checkbox doesn’t “stick” in Brave

There are four common causes (and one obscure one) for this behavior:

1) Brave’s privacy shielding or site isolation resets the handler permission

Brave’s privacy model is more aggressive than Chrome’s.

When “Cross-site trackers blocked,” “strict fingerprinting,” or “ephemeral storage” is enabled for a domain, Brave doesn’t persist protocol handler permissions across sessions.

Fix:

Open the CRM site (e.g. https://account.lessannoyingcrm.com)

Click the Brave lion icon (Shields) in the address bar.

Temporarily lower protection for that site:

Turn off “Block cross-site cookies” just for that site.

Make sure “Clear cookies and site data when you close all windows” (global setting) is off under brave://settings/clearBrowsingData → On exit.

Re-try the mailto link and check “Always allow…” again.

2) Brave may not actually store mailto handler preferences

Brave historically (through versions up to ~v1.63) has a known bug:

It doesn’t persist mailto: handler permissions to the Protocol Handlers list, even though it claims to.

You can see this yourself:

Go to brave://settings/handlers

You’ll probably notice it stays empty after checking “Always allow.”

That’s Brave’s issue.

Workaround: Manually add or edit a handler:

Open brave://settings/handlers

Enable “Allow sites to ask to become default handlers”

Visit a site that registers itself as a mail handler again (the CRM or Gmail)

When the dialog appears, choose “Allow” (not just check). That often forces Brave to write the entry.

If that still doesn’t persist — this is a Brave bug (several threads on their GitHub confirm it).

3) MacOS permission confusion when multiple browsers or mail handlers are registered

If both Spark and Apple Mail are in your login items or registered as mailto handlers, Brave might fail to decide which protocol handler ID to store — leading it to discard the permission silently.

Fix:

Go to Apple Mail → Preferences → General → Default email reader → Set Spark Desktop explicitly.

Relaunch Brave, then click a mailto link again, check “Always allow.”

4) Clearing site data or using a private window

If you use Private windows by default, or auto-clear cookies upon Brave exit,
the permission cannot persist — Brave treats every session as stateless.

Fix:

Check under:

brave://settings/privacy → Site and Shields Settings → Handlers → ensure “Sites can ask” is enabled.

Also ensure “Clear cookies and site data when you close all windows” is disabled.

5) Brave bug (2024–2025 series)

The Chromium-base permissions database occasionally gets corrupted. Symptoms: handler boxes that never stick, even for Zoom/Slack URLs.

Fix (advanced):

Reset site permissions cache:

Quit Brave completely.

Navigate to:

~/Library/Application Support/BraveSoftware/Brave-Browser/Default/

Delete the files:

ProtocolHandlers

Preferences (you can back this up first)

Restart Brave and reattempt the “Always allow” action.

Yea so I think 289wk isn’t quite understanding the issue here. This isn’t a default app issue, shield issue,as in both @NoMoreFirefox and @koenig case, it is selecting Thunderbird, so Thunderbird’s defaults are correct. (However, clearing “other site data” might be?)

They clearly however are both stating the same thing:

and

Both of these users are clearly referring to this popup:


…and that checkmark I highlighted in orange.

Here’s the issue, this isn’t stored in brave://settings/handlers as it certainly isn’t stored in chrome://settings/handlers either on Chromium. It’s also not stored under Site Settings in Brave nor Chromium either. So the issue both users are saying, is that the highlighted checkbox is not being stored for that domain like it should be.

Now, I tried to replicate the issue on Windows and could not. My Linux VM is hasn’t been fixed since VirtualBox crashed during a Kubuntu update. Just haven’t had time.

So I’ll tag @Mattches and see if her perhaps might know? Or more importantly, they’ll know who to ask (as I’m not familiar with many of the Brave staff, just Mattches and at least one other and always forget their name, lol).

(I am curious as to if other URI Schemas are being remembered correctly or not as well, and not just mailto: Schemas).

1 Like

Well to start, can anyone share what they actually see in brave://settings/handlers?

Nothing, same with Chromium.

It’s exactly as they described, and it’s honestly across every machine I have. There’s nothing here. And I’ll be honest, there absolutely should be one on both Brave and Chromium for the “arr matey” site. (I mean, last night I did check that box to “Remember” and it never appeared here in Chromium or Brave. It’s why I asked, where should those remembered sites even be?)

That’s why I asked, ARE they supposed to be saved here? Because in Chromium and Brave, nothing at all is. (Edge doesn’t have this page since they rewrote Settings and don’t use the Chromium one).

Yes – here is mine, showing several that were not allowed to be handlers and then I just allowed gmail to be the default here to demonstrate:

I am seeing a change in behavior though. Typically if you login to an email client via the browser, you should see the protocol button appear in the address bar which can be clicked and it will allow you to set the client as the handler. However testing just now, it looks like I’m only seeing the initial prompt to add it as a handler, not the one that stays in the address bar until an option is selected:

That said, clicking Allow in the above prompt did add it to the list in brave://settings/hanlders.

To be clear I do understand that the goal here is to open the OS default email client/app and not the in-browser email page but there does seem to be something fishy going on with the handlers here. I’m also seeing this open issue from a while back that people are posting on recently, which may be relevant:

Will look into this.

Sorry – need to clarify/correct my post above. When you set a default app on the OS to open certain types of links (such as mailto or torrent files/magnets) when clicked it will not show up in the brave://settings/handlers page. It should be visible here imo – or there should be somewhere where these selections are listed – but that’s not the case.

I just tested on macOS and Windows and when I check the Always open this app... box when prompted, the setting does save for me.

Still looking into this.

Okay – this is actually the relevant issue:

Pinging some devs to take a look at this because this should have been fixed long ago.

1 Like

Ok yea this isn’t working for me whatsoever. Not MAILTO schemas, they won’t save. However, on one site, MAGNET: is actually remembered and properly remembered as it always opens my Torrent utility in Brave, however it too is not even under the Handlers page, it’s just not there, but it is/was remembered.

@MasterLink yeah if you read my clarification the behavior should be that:

  • If you elect an web-client to open email/mailto links in the browser, these protocol handlers will be shown in brave://settings/handlers (as shown in my previous images).
  • If you set an application installed on your machine to open certain links (such as mailto, .torrent, etc) files, this will not be shown in the brave://settings/handlers page. It’s supposed to be saved in ~\BraveSoftware\Brave-Browser\User Data\Default\Preferences

Here are the relevant issues – relinking in this reply just for clarity: https://github.com/brave/brave-browser/issues/16927
https://github.com/brave/brave-browser/issues/52140

@MasterLink can you actually check ~\BraveSoftware\Brave-Browser\User Data\Default\Preferences and look and see if its added at all for you? Using the torrent magnet file example, I was able to find it in the file here:

I’m hitting a snag here, Preferences is not formatting in VS Code like it should be, it just…locks it up, makes the fans rev, but is stuck as 1-line, so this is becoming challenging when everything is condensed like this.

Best I can do is from one-line and not tell it to format document.
image

This tells me, despite in the video earlier where it seemingly wasn’t remembering the MAILTO on the Brave page, it did actually save it.

As for MAGNET, it’s there as well, kind of? It doesn’t specify a site:

But if I go to the arr matey site, it’s not asking for permission, it IS opening Transmission Qt. (And it remembered, so I’m not sure why it’s not at all looking like yours.)

(I truly have no idea why even opening Preferences in VS Code is causing VS Code to stall, be unclickable, and act so weird, it’s making me think this file is corrupt a little.)

EDIT: Ok VS Code truly is NOT properly opening Preferences. In Notepad, my saved MAGNET URI Schema actually is there. But VS Code never found it, nor could format it.
image

Weird that VS Code isn’t formatting for you – works fine on my end.

So it looks like the check box is working insofar that it updates the preferences file correctly but the browser isn’t respecting it for some reason. Can you confirm by going to a different torrent site and see if the prompt appears there again? If it does, check the box and open your torrent client. Then close/relaunch the browser and try opening another file from the site – do you get prompted again?

To me it doesn’t seem like this is specific to any one handler, since the issue occurs for some users for certain types but not for others. Additionally since the preferences file is being updated it looks like there’s a check that’s getting skipped here for some reason.