"Allow this site to open the obsidian link with Obsidian?"

On Zotero 7.0.0-beta.47+f012a348a running Zotlit and BetterBibtex (latest updates of both), all is working fine except that every time Zotlit calls Obsidian from Zotero (open/update/create literature note) I get a permissions dialog box about allowing 'this site' (Zotero??) to open the link in Obsidian. There's a brief delay before the 'open' button becomes active, and then it works fine.

The obsidian:// url protocol works fine in browsers/elsewhere on my mac - it's only Zotero that is presenting the dialog box.

I'd just like to make it the default behaviour so I don't have to click the permission button everytime. Any advice?
  • I had the same problem. If short, you could set "security.external_protocol_requires_permission" to false.

    Step-by-step:
    1) Open the zotero settings
    2) Open the advanced tab
    3) Click "config editor" button at the bottom
    4) Click "Accept Risk and Continue" at a popup window
    5) Enter "security.external_protocol_requires_permission" as search input
    6) Double click on the string to change value to false

  • Thank you so much! Worked perfectly :-)
  • thank you for your question, the solution also helped me!
  • Any idea how we might implement this on the Zotero 8 beta? I've gotten the prompt again, and the original config option is no longer there.
  • I just upgrade to 8.0.1 and the permission pop up appeared again. I still have the previous entry in the config editor - set to 'false' - but it's not doing it (and since others don't have the entry, perhaps it's redundant in Zotero 8? Is there an equivalent setting I can change in Zotero 8 config?
  • edited January 29, 2026
    Yes, same here.

    macOS Sequoia v15.7
    Zotero v8.0.1

    Every time the permission request pops up.

    In the profiles folder, I deleted the handlers.json file and started fresh, but same result.

    I also have the "security.external_protocol_requires_permission" as false.

    I also found something called:
    "security.data_uri.block_toplevel_data_uri_navigations" and have that set as false, too.

    All to no avail.

    This is slowing me down to a crawl, unfortunately.

    Any tips / help greatly appreciated, if there is some data I can collect, let me know.

    Thanks.

    -- madison

    Also: cross reference the following older entry:
    https://forums.zotero.org/discussion/126717/open-note-in-obsidian-fails-to-launch-obsidian-despite-generating-a-valid-uri#latest
  • Just bumping this thread again.

    Anyone found a solution?

    It still requires me to pass through a pop-up window to open the link in Obsidian, unlike in Zotero 7 versions once the advanced pref ""security.external_protocol_requires_permission" had been set as "false".

    Again, please let me know if there is any data I need to collect to help diagnose.
  • I have the same problem after I upgraded from zotero7 to zotero8.0.3.
    I created a Web Link attachment to an item. The link is a Siyuan (a note taking app similar as Obsidian) link which starts with "siyuan://". When I click the link attachment, this annoying window pops up.

    The content presented in this window is:
    "Allow this site to open the siyuan link with Refactor your thinking?
    Choose a different application."

    The common "http://" link works fine without this pop up window.

    I checked the "security.external_protocol_requires_permission" option is false in my zotero.
  • I had the same problem, so I had Claude Code dig through the configs to solve it for me, figured I'd post it here to save others the trouble:

    Fix for Zotero 8: external app protocol links always prompting (obsidian://, x-devonthink-item://, siyuan://, etc.)

    The security.external_protocol_requires_permission = false fix from Zotero 7 no longer works in Zotero 8. Zotero 8 requires two separate things: per-protocol config prefs and explicit handler registration in a JSON file. Without both, you either get the prompt every time, or nothing opens at all.

    Part 1 — Config Editor

    Go to Settings → Advanced → Config Editor. For each protocol you want to open silently, create two new boolean preferences. Right-click anywhere in the editor → New → Boolean:

    network.protocol-handler.external.obsidian: true
    network.protocol-handler.warn-external.obsidian: false

    The scheme name is everything before ://. So for x-devonthink-item:// use x-devonthink-item; for siyuan:// use siyuan; etc.

    You can also leave security.external_protocol_requires_permission: false from the Zotero 7 fix in place — it doesn't hurt, just no longer sufficient on its own.

    Part 2 — Register the application in handlers.json

    The config prefs suppress the dialog; this step tells Zotero what to actually open. Quit Zotero completely first, then find:

    Mac: ~/Library/Application Support/Zotero/Profiles//handlers.json
    Windows: %APPDATA%\Zotero\Profiles\\handlers.json
    Linux: ~/.zotero/zotero//handlers.json
    Open it in any text editor and find the "schemes" section. Add or replace the entry for your protocol. Examples:

    Obsidian (Mac):


    "obsidian": {"action": 4, "ask": false, "handlers": [{"name": "Obsidian", "path": "/Applications/Obsidian.app"}]}
    DEVONthink (Mac):


    "x-devonthink-item": {"action": 4, "ask": false, "handlers": [{"name": "DEVONthink", "path": "/Applications/DEVONthink.app"}]}
    On Windows, use the full path to the .exe. On Linux, use the full path to the binary.

    Save the file, then restart Zotero. Links should now open the target app directly without prompting.

    The config prefs tell Zotero not to warn; the handlers.json entry tells Zotero which application to launch. If you only do Part 1, Zotero suppresses the dialog but has nothing to invoke and silently does nothing.
Sign In or Register to comment.