# fix\(desktop\): stop listing browsers that are not installed · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/2377fdbcf26970d3c584ae09929708280cbc5092)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: 2377fdbcf26970d3c584ae09929708280cbc5092

Requested commit: 2377fdbcf26970d3c584ae09929708280cbc5092

Commit: 2377fdbcf26970d3c584ae09929708280cbc5092

Tree: cb00927c72774ebe9c444b1f5af2531de903d4a5

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
fix(desktop): stop listing browsers that are not installed

Detection keyed off the browser's user-data directory, which is not evidence
the browser exists. Installers for native messaging hosts create an empty one
for every Chromium fork they know about, so a machine with only Chrome and
Helium listed Edge, Brave, Vivaldi, Opera and Arc as importable sources — each
holding nothing but a `NativeMessagingHosts` folder.

It now keys off the cookie database, which is the thing an import actually
needs. Existence is checked without opening the file, which matters for Safari:
TCC permits `stat` on the jar inside its container but refuses a read, so
Safari is still found and the user gets the Full Disk Access prompt instead of
Safari vanishing from the list.

A source that is not on the machine is now left out of the menu rather than
shown as a dead row. Every other unavailable reason stays visible, because each
names something the user can do — quit the browser, grant access.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

```

## Parents

- [d1ff9bf97e75db2b9ec72da9bb2aa930cdca32e8](https://git.cafe/pingdotgg/t3code/commit/d1ff9bf97e75db2b9ec72da9bb2aa930cdca32e8?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/2377fdbcf26970d3c584ae09929708280cbc5092?format=markdown)
