Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/zotero/zotero-connectors/llms.txt

Use this file to discover all available pages before exploring further.

There are two ways to install the Zotero Connector: from your browser’s official extension store (recommended for most users), or by loading a development build manually as an unpacked extension. Store installs receive automatic updates and are fully signed; development builds are unsigned, give you access to the latest in-progress code, and let you modify the extension locally.

Install from Official Stores

The Zotero Connector is published on the Chrome Web Store and works in any Chromium-based browser, including Google Chrome and Microsoft Edge.Chrome Web StoreVisit the extension page and click Add to Chrome:https://chrome.google.com/webstore/detail/zotero-connector/ekhagklcjbdpajgpjgmbionohlpdbjgcMicrosoft Edge Add-onsEdge supports Chrome Web Store extensions natively, but the Zotero Connector is also listed on the Edge Add-ons store. You can install it directly from the Edge Add-ons store or by enabling “Allow extensions from other stores” and using the Chrome Web Store link above.Once installed, the Save to Zotero button appears in your browser toolbar. The default keyboard shortcut is Ctrl+Shift+S (Windows/Linux) or Cmd+Shift+S (macOS).

Loading a Development Build

If you have built the connectors locally (see the Quickstart), you can sideload the unpacked output directly into your browser without going through an extension store.
Development builds are not code-signed. Browsers will display a warning that the extension is running in developer mode and may show periodic reminders to remove unverified extensions. Do not use development builds as your primary extension — install the store version alongside it or use a separate browser profile for development.
1

Build the extension

From the repository root, run the build script with the -d (debug) flag:
./build.sh -d
This produces unpacked builds in:
  • build/manifestv3/ — for Chrome and Edge (Manifest V3)
  • build/firefox/ — for Firefox (Manifest V2)
2

Load in your browser

Follow the steps for your target browser:
# 1. Navigate to chrome://extensions/
# 2. Toggle on "Developer Mode" (top-right corner)
# 3. Click "Load unpacked"
# 4. Select the build/manifestv3 directory
Firefox temporary add-ons are removed when the browser is closed. You must reload the extension each time you restart Firefox. For a persistent installation during development, consider using Firefox Developer Edition with xpinstall.signatures.required set to false in about:config.
3

Confirm the extension is active

The Save to Zotero toolbar button should appear after loading. Navigate to any page with bibliographic metadata (a journal article, book listing, etc.) and verify that the icon changes to reflect the detected reference type.

Permissions

The Zotero Connector requests the following permissions, as declared in the extension manifests:

Manifest V2 (Firefox) — src/browserExt/manifest.json

"permissions": [
  "http://*/*", "https://*/*",
  "tabs", "contextMenus", "cookies", "storage", "scripting",
  "webRequest", "webRequestBlocking", "webNavigation", "declarativeNetRequest"
]

Manifest V3 (Chrome / Edge) — src/browserExt/manifest-v3.json

"host_permissions": ["http://*/*", "https://*/*"],
"permissions": [
  "tabs", "contextMenus", "cookies", "scripting", "offscreen",
  "webRequest", "declarativeNetRequest", "webNavigation", "storage"
]
The table below explains why each permission is required:
PermissionPurpose
http://*/*, https://*/*Inject content scripts and intercept network requests on all web pages to detect and save bibliographic references
tabsRead the active tab’s URL to trigger translator detection and update the toolbar button icon
contextMenusAdd a right-click context menu entry for saving selected text or links to Zotero
cookiesPass session cookies to the Zotero client so it can authenticate requests on the user’s behalf
storagePersist connector preferences (selected library, proxy settings, etc.) across browser sessions
scriptingProgrammatically inject translation scripts into page contexts (Manifest V3)
webRequest / webRequestBlockingIntercept and modify HTTP requests and responses, e.g. to handle proxy authentication
webNavigationDetect page navigations to re-run translator detection on single-page applications
declarativeNetRequestApply declarative network rules (e.g. for stylesheet interception) in Manifest V3
offscreen (MV3 only)Create an offscreen document to run sandboxed translation code outside the service worker
Optional permissions (management, clipboardWrite) are requested only when the corresponding features are used and are not granted at install time.

Build docs developers (and LLMs) love